summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnthony Green <green@moxielogic.com>2012-03-19 23:07:35 -0400
committerAnthony Green <green@moxielogic.com>2012-03-19 23:07:35 -0400
commit84d3253f86dad6b4f261231935675d35fd964b05 (patch)
tree7f6c2c97f595b907c38953b1e797954d7d16d457
parent964c5b93f80dcaacf73056b7d15a4d2b4b7a217c (diff)
downloadlibffi-84d3253f86dad6b4f261231935675d35fd964b05.tar.gz
Rebase post GCC merge
-rw-r--r--.pc/aix-ibm-xlc/.timestamp0
-rw-r--r--.pc/aix-ibm-xlc/ChangeLog4556
-rwxr-xr-x.pc/aix-ibm-xlc/configure16028
-rw-r--r--.pc/aix-ibm-xlc/configure.ac479
-rw-r--r--.pc/aix-ibm-xlc/include/ffi.h.in404
-rw-r--r--.pc/aix-ibm-xlc/src/powerpc/aix.S324
-rw-r--r--.pc/aix-ibm-xlc/src/powerpc/aix_closure.S443
-rw-r--r--.pc/alpha/.timestamp0
-rw-r--r--.pc/alpha/ChangeLog4749
-rw-r--r--.pc/alpha/src/alpha/ffi.c284
-rw-r--r--.pc/amiga/.timestamp0
-rw-r--r--.pc/amiga/ChangeLog4744
-rw-r--r--.pc/amiga/README345
-rwxr-xr-x.pc/amiga/configure16062
-rw-r--r--.pc/amiga/configure.ac499
-rw-r--r--.pc/applied-patches46
-rw-r--r--.pc/autoconf-archive-update/.timestamp0
-rw-r--r--.pc/autoconf-archive-update/Makefile.in1836
-rw-r--r--.pc/autoconf-archive-update/aclocal.m41866
-rwxr-xr-x.pc/autoconf-archive-update/configure16065
-rw-r--r--.pc/autoconf-archive-update/m4/ax_cc_maxopt.m4176
-rw-r--r--.pc/autoconf-archive-update/m4/ax_cflags_warn_all.m4195
-rw-r--r--.pc/autoconf-archive-update/m4/ax_compiler_vendor.m463
-rw-r--r--.pc/autoconf-archive-update/m4/ax_enable_builddir.m4300
-rw-r--r--.pc/autoconf-archive-update/m4/ax_gcc_archflag.m4215
-rw-r--r--.pc/bad-abi-fix/.timestamp0
-rw-r--r--.pc/bad-abi-fix/ChangeLog4641
-rw-r--r--.pc/bad-abi-fix/include/ffi_common.h122
-rw-r--r--.pc/bad-abi-fix/src/arm/ffi.c726
-rw-r--r--.pc/bad-abi-fix/src/avr32/ffi.c421
-rw-r--r--.pc/bad-abi-fix/src/ia64/ffi.c584
-rw-r--r--.pc/bad-abi-fix/src/mips/ffi.c1029
-rw-r--r--.pc/bad-abi-fix/src/pa/ffi.c716
-rw-r--r--.pc/bad-abi-fix/src/powerpc/ffi.c1442
-rw-r--r--.pc/bad-abi-fix/src/prep_cif.c188
-rw-r--r--.pc/bad-abi-fix/src/x86/ffi64.c640
-rw-r--r--.pc/copyright-updates/.timestamp0
-rw-r--r--.pc/copyright-updates/LICENSE21
-rw-r--r--.pc/darwin-EH-fix/.timestamp0
-rw-r--r--.pc/darwin-EH-fix/ChangeLog4668
-rw-r--r--.pc/darwin-EH-fix/src/powerpc/darwin.S383
-rw-r--r--.pc/darwin-EH-fix/src/powerpc/darwin_closure.S576
-rw-r--r--.pc/darwin11/.timestamp0
-rw-r--r--.pc/darwin11/ChangeLog4678
-rwxr-xr-x.pc/darwin11/configure16030
-rw-r--r--.pc/darwin11/configure.ac499
-rw-r--r--.pc/debug-build/.timestamp0
-rw-r--r--.pc/debug-build/ChangeLog4537
-rw-r--r--.pc/debug-build/Makefile.am192
-rwxr-xr-x.pc/debug-build/configure15954
-rw-r--r--.pc/debug-build/configure.ac467
-rw-r--r--.pc/ffi_last_abi/.timestamp0
-rw-r--r--.pc/ffi_last_abi/ChangeLog4511
-rw-r--r--.pc/ffi_last_abi/src/avr32/ffitarget.h50
-rw-r--r--.pc/ffi_last_abi/src/cris/ffi.c383
-rw-r--r--.pc/ffi_last_abi/src/cris/ffitarget.h51
-rw-r--r--.pc/ffi_last_abi/src/frv/ffitarget.h61
-rw-r--r--.pc/ffi_last_abi/src/ia64/ffitarget.h50
-rw-r--r--.pc/ffi_last_abi/src/m32r/ffitarget.h48
-rw-r--r--.pc/ffi_last_abi/src/m68k/ffitarget.h49
-rw-r--r--.pc/ffi_last_abi/src/mips/ffitarget.h243
-rw-r--r--.pc/ffi_last_abi/src/moxie/ffitarget.h56
-rw-r--r--.pc/ffi_last_abi/src/pa/ffitarget.h77
-rw-r--r--.pc/ffi_last_abi/src/prep_cif.c176
-rw-r--r--.pc/ffi_last_abi/src/s390/ffitarget.h62
-rw-r--r--.pc/ffi_last_abi/src/sh/ffitarget.h49
-rw-r--r--.pc/ffi_last_abi/src/sh64/ffitarget.h53
-rw-r--r--.pc/ffi_last_abi/src/sparc/ffitarget.h68
-rw-r--r--.pc/ffi_last_abi/src/x86/ffitarget.h122
-rw-r--r--.pc/ffitarget-include-fix/.timestamp0
-rw-r--r--.pc/ffitarget-include-fix/src/alpha/ffitarget.h48
-rw-r--r--.pc/ffitarget-include-fix/src/arm/ffitarget.h66
-rw-r--r--.pc/ffitarget-include-fix/src/avr32/ffitarget.h50
-rw-r--r--.pc/ffitarget-include-fix/src/cris/ffitarget.h51
-rw-r--r--.pc/ffitarget-include-fix/src/frv/ffitarget.h57
-rw-r--r--.pc/ffitarget-include-fix/src/ia64/ffitarget.h50
-rw-r--r--.pc/ffitarget-include-fix/src/m32r/ffitarget.h48
-rw-r--r--.pc/ffitarget-include-fix/src/m68k/ffitarget.h49
-rw-r--r--.pc/ffitarget-include-fix/src/mips/ffitarget.h242
-rw-r--r--.pc/ffitarget-include-fix/src/moxie/ffitarget.h52
-rw-r--r--.pc/ffitarget-include-fix/src/pa/ffitarget.h78
-rw-r--r--.pc/ffitarget-include-fix/src/powerpc/ffitarget.h135
-rw-r--r--.pc/ffitarget-include-fix/src/s390/ffitarget.h62
-rw-r--r--.pc/ffitarget-include-fix/src/sh/ffitarget.h49
-rw-r--r--.pc/ffitarget-include-fix/src/sh64/ffitarget.h53
-rw-r--r--.pc/ffitarget-include-fix/src/sparc/ffitarget.h68
-rw-r--r--.pc/ffitarget-include-fix/src/x86/ffitarget.h124
-rw-r--r--.pc/fix-grammar/.timestamp0
-rw-r--r--.pc/fix-grammar/ChangeLog4569
-rw-r--r--.pc/fix-grammar/src/powerpc/asm.h125
-rw-r--r--.pc/fix-ppc32/.timestamp0
-rw-r--r--.pc/fix-ppc32/ChangeLog4663
-rw-r--r--.pc/fix-ppc32/src/powerpc/ffi.c1445
-rw-r--r--.pc/fix-xfails/.timestamp0
-rw-r--r--.pc/fix-xfails/ChangeLog4607
-rw-r--r--.pc/fix-xfails/src/prep_cif.c177
-rw-r--r--.pc/fix-xfails/src/x86/ffi64.c627
-rw-r--r--.pc/fix-xfails/testsuite/libffi.call/err_bad_abi.c35
-rw-r--r--.pc/fix-xfails/testsuite/libffi.call/err_bad_typedef.c25
-rw-r--r--.pc/fix_maxopt/.timestamp0
-rw-r--r--.pc/fix_maxopt/ChangeLog4658
-rw-r--r--.pc/fix_maxopt/m4/ax_cc_maxopt.m4180
-rw-r--r--.pc/hpux-mallinfo/.timestamp0
-rw-r--r--.pc/hpux-mallinfo/ChangeLog4579
-rw-r--r--.pc/hpux-mallinfo/src/dlmalloc.c5158
-rw-r--r--.pc/interix-patch/.timestamp0
-rw-r--r--.pc/interix-patch/src/closures.c615
-rw-r--r--.pc/interix/.timestamp0
-rw-r--r--.pc/interix/ChangeLog4613
-rwxr-xr-x.pc/interix/configure16030
-rw-r--r--.pc/interix/configure.ac491
-rw-r--r--.pc/interix/src/closures.c615
-rw-r--r--.pc/ios-fixes/.timestamp0
-rw-r--r--.pc/ios-fixes/ChangeLog4641
-rwxr-xr-x.pc/ios-fixes/build-ios.sh12
-rw-r--r--.pc/ios/.timestamp0
-rw-r--r--.pc/ios/ChangeLog4584
-rw-r--r--.pc/ios/Makefile.am200
-rw-r--r--.pc/ios/Makefile.in1827
-rw-r--r--.pc/ios/configure.ac481
-rw-r--r--.pc/ios/fficonfig.h.in193
-rw-r--r--.pc/ios/src/arm/ffi.c504
-rw-r--r--.pc/ios/src/arm/sysv.S471
-rw-r--r--.pc/ios/src/closures.c610
-rw-r--r--.pc/irix/.timestamp0
-rw-r--r--.pc/irix/ChangeLog4628
-rw-r--r--.pc/irix/include/ffi.h.in421
-rw-r--r--.pc/irix/src/java_raw_api.c356
-rw-r--r--.pc/irix/src/mips/ffitarget.h242
-rw-r--r--.pc/kfreebsd-mmap/.timestamp0
-rw-r--r--.pc/kfreebsd-mmap/ChangeLog4697
-rw-r--r--.pc/kfreebsd-mmap/configure.ac499
-rw-r--r--.pc/m68k-patches/.timestamp0
-rw-r--r--.pc/m68k-patches/src/m68k/ffi.c288
-rw-r--r--.pc/m68k-patches/testsuite/libffi.call/return_sc.c36
-rw-r--r--.pc/ml64-safeseh/.timestamp0
-rw-r--r--.pc/ml64-safeseh/ChangeLog4533
-rwxr-xr-x.pc/ml64-safeseh/msvcc.sh195
-rw-r--r--.pc/more-openbsd-mips/.timestamp0
-rw-r--r--.pc/more-openbsd-mips/configure.ac499
-rw-r--r--.pc/more-openbsd-mips/src/mips/ffi.c1032
-rw-r--r--.pc/more-openbsd-mips/src/mips/ffitarget.h242
-rw-r--r--.pc/more-openbsd/.timestamp0
-rw-r--r--.pc/more-openbsd/ChangeLog4673
-rw-r--r--.pc/more-openbsd/configure.ac499
-rw-r--r--.pc/msvcc-warning/.timestamp0
-rw-r--r--.pc/msvcc-warning/ChangeLog4506
-rwxr-xr-x.pc/msvcc-warning/msvcc.sh183
-rw-r--r--.pc/msvcc/.timestamp0
-rw-r--r--.pc/msvcc/Makefile.am197
-rw-r--r--.pc/msvcc/Makefile.in1832
-rw-r--r--.pc/no-undefined-fix/.timestamp0
-rw-r--r--.pc/no-undefined-fix/ChangeLog4758
-rwxr-xr-x.pc/no-undefined-fix/configure17294
-rw-r--r--.pc/no-undefined-fix/configure.ac502
-rw-r--r--.pc/powerpc-ffi-softfloat/.timestamp0
-rw-r--r--.pc/powerpc-ffi-softfloat/ChangeLog4722
-rw-r--r--.pc/powerpc-ffi-softfloat/src/powerpc/ffi.c1444
-rw-r--r--.pc/powerpc-ffi-softfloat/src/powerpc/ffitarget.h139
-rw-r--r--.pc/powerpc-ffi-softfloat/src/powerpc/ppc_closure.S327
-rw-r--r--.pc/powerpc-ffi-softfloat/src/powerpc/sysv.S214
-rw-r--r--.pc/powerpc-sysv-without-string-ops/.timestamp0
-rw-r--r--.pc/powerpc-sysv-without-string-ops/ChangeLog4686
-rw-r--r--.pc/powerpc-sysv-without-string-ops/src/powerpc/ffi.c1448
-rw-r--r--.pc/powerpc-sysv-without-string-ops/src/powerpc/sysv.S219
-rw-r--r--.pc/ppc64-darwin/.timestamp0
-rw-r--r--.pc/ppc64-darwin/ChangeLog4624
-rwxr-xr-x.pc/ppc64-darwin/configure16030
-rw-r--r--.pc/ppc64-darwin/configure.ac491
-rw-r--r--.pc/remove-debug-code/.timestamp0
-rw-r--r--.pc/remove-debug-code/ChangeLog4702
-rw-r--r--.pc/remove-debug-code/Makefile.am199
-rw-r--r--.pc/remove-debug-code/Makefile.in1833
-rw-r--r--.pc/remove-debug-code/libtool-version29
-rw-r--r--.pc/sparc-abi-check/.timestamp0
-rw-r--r--.pc/sparc-abi-check/ChangeLog4636
-rw-r--r--.pc/sparc-abi-check/src/sparc/ffi.c667
-rw-r--r--.pc/sparc-v8-aggregate-returns/.timestamp0
-rw-r--r--.pc/sparc-v8-aggregate-returns/ChangeLog4573
-rw-r--r--.pc/sparc-v8-aggregate-returns/src/sparc/ffi.c625
-rw-r--r--.pc/stand-alone/LICENSE20
-rw-r--r--.pc/stand-alone/Makefile.am9
-rw-r--r--.pc/stand-alone/Makefile.in (renamed from .pc/debug-build/Makefile.in)3
-rw-r--r--.pc/stand-alone/README324
-rwxr-xr-x.pc/stand-alone/config.guess1501
-rwxr-xr-x.pc/stand-alone/config.sub1705
-rwxr-xr-x.pc/stand-alone/configure4
-rw-r--r--.pc/stand-alone/configure.ac4
-rw-r--r--.pc/stand-alone/include/Makefile.in (renamed from .pc/autoconf-archive-update/include/Makefile.in)67
-rw-r--r--.pc/stand-alone/m4/ax_cc_maxopt.m4 (renamed from .pc/ungccify/m4/ax_cc_maxopt.m4)0
-rw-r--r--.pc/stand-alone/m4/ax_cflags_warn_all.m4 (renamed from .pc/ungccify/m4/ax_cflags_warn_all.m4)0
-rw-r--r--.pc/stand-alone/m4/ax_check_compiler_flags.m4 (renamed from .pc/ungccify/m4/ax_check_compiler_flags.m4)0
-rw-r--r--.pc/stand-alone/m4/ax_compiler_vendor.m4 (renamed from .pc/ungccify/m4/ax_compiler_vendor.m4)0
-rw-r--r--.pc/stand-alone/m4/ax_configure_args.m4 (renamed from .pc/ungccify/m4/ax_configure_args.m4)0
-rw-r--r--.pc/stand-alone/m4/ax_enable_builddir.m4 (renamed from .pc/ungccify/m4/ax_enable_builddir.m4)0
-rw-r--r--.pc/stand-alone/m4/ax_gcc_archflag.m4 (renamed from .pc/ungccify/m4/ax_gcc_archflag.m4)0
-rw-r--r--.pc/stand-alone/m4/ax_gcc_x86_cpuid.m4 (renamed from .pc/ungccify/m4/ax_gcc_x86_cpuid.m4)0
-rw-r--r--.pc/stand-alone/man/Makefile.am (renamed from .pc/variadic/man/Makefile.am)0
-rw-r--r--.pc/stand-alone/man/Makefile.in (renamed from .pc/autoconf-archive-update/man/Makefile.in)17
-rw-r--r--.pc/stand-alone/testsuite/Makefile.in (renamed from .pc/autoconf-archive-update/testsuite/Makefile.in)81
-rw-r--r--.pc/stdcall-x86-closure-fix/.timestamp0
-rw-r--r--.pc/stdcall-x86-closure-fix/ChangeLog4525
-rw-r--r--.pc/stdcall-x86-closure-fix/src/prep_cif.c177
-rw-r--r--.pc/stdcall-x86-closure-fix/src/x86/ffi.c813
-rw-r--r--.pc/stdcall-x86-closure-fix/src/x86/ffitarget.h124
-rw-r--r--.pc/ungccify/.timestamp0
-rw-r--r--.pc/ungccify/Makefile.am200
-rw-r--r--.pc/ungccify/Makefile.in1834
-rw-r--r--.pc/ungccify/configure.ac491
-rw-r--r--.pc/unlikely/.timestamp0
-rw-r--r--.pc/unlikely/ChangeLog4739
-rw-r--r--.pc/unlikely/include/ffi_common.h128
-rw-r--r--.pc/variadic/.timestamp0
-rw-r--r--.pc/variadic/ChangeLog4728
-rw-r--r--.pc/variadic/doc/libffi.texi600
-rw-r--r--.pc/variadic/include/ffi.h.in427
-rw-r--r--.pc/variadic/include/ffi_common.h126
-rw-r--r--.pc/variadic/man/ffi.331
-rw-r--r--.pc/variadic/man/ffi_prep_cif.366
-rw-r--r--.pc/variadic/man/ffi_prep_cif_var.30
-rw-r--r--.pc/variadic/src/arm/ffi.c740
-rw-r--r--.pc/variadic/src/arm/ffitarget.h65
-rw-r--r--.pc/variadic/src/cris/ffi.c383
-rw-r--r--.pc/variadic/src/prep_cif.c182
-rw-r--r--.pc/variadic/testsuite/libffi.call/cls_double_va.c60
-rw-r--r--.pc/variadic/testsuite/libffi.call/cls_longdouble_va.c60
-rw-r--r--.pc/variadic/testsuite/libffi.call/float_va.c0
-rw-r--r--.pc/win64-struct-args/.timestamp0
-rw-r--r--.pc/win64-struct-args/ChangeLog4517
-rw-r--r--.pc/win64-struct-args/doc/libffi.info591
-rw-r--r--.pc/win64-struct-args/doc/libffi.texi598
-rw-r--r--.pc/win64-struct-args/src/x86/ffi.c832
-rw-r--r--.pc/win64-underscore/.timestamp0
-rw-r--r--.pc/win64-underscore/ChangeLog4544
-rw-r--r--.pc/win64-underscore/aclocal.m41055
-rwxr-xr-x.pc/win64-underscore/configure15972
-rw-r--r--.pc/win64-underscore/configure.ac472
-rw-r--r--.pc/win64-underscore/src/x86/win64.S460
-rw-r--r--.pc/windows-ce-arm/.timestamp0
-rw-r--r--.pc/windows-ce-arm/ChangeLog4692
-rw-r--r--.pc/windows-ce-arm/src/arm/ffi.c728
-rw-r--r--.pc/x32-abi/.timestamp0
-rw-r--r--.pc/x32-abi/ChangeLog4768
-rw-r--r--.pc/x32-abi/README349
-rw-r--r--.pc/x32-abi/src/x86/ffi64.c635
-rw-r--r--.pc/x32-abi/src/x86/ffitarget.h128
-rw-r--r--.pc/x86_abi_check_fix/.timestamp0
-rw-r--r--.pc/x86_abi_check_fix/ChangeLog4764
-rw-r--r--.pc/x86_abi_check_fix/src/prep_cif.c216
-rw-r--r--.pc/x86_pcrel_test/.timestamp0
-rw-r--r--.pc/x86_pcrel_test/ChangeLog4551
-rwxr-xr-x.pc/x86_pcrel_test/configure16028
-rw-r--r--.pc/x86_pcrel_test/configure.ac479
-rw-r--r--ChangeLog12
-rw-r--r--LICENSE2
-rw-r--r--Makefile.in1
-rwxr-xr-xconfig.guess222
-rwxr-xr-xconfig.sub178
-rwxr-xr-xconfigure22
-rw-r--r--configure.ac30
-rw-r--r--doc/libffi.info78
-rw-r--r--include/Makefile.in2
-rw-r--r--libtool-version2
-rw-r--r--man/Makefile.in6
-rw-r--r--patches/series48
-rw-r--r--patches/stand-alone6794
-rw-r--r--src/moxie/ffitarget.h14
-rw-r--r--src/powerpc/aix_closure.S4
-rw-r--r--src/sh/ffi.c5
-rw-r--r--src/sh64/ffi.c5
-rw-r--r--testsuite/Makefile.in2
271 files changed, 9743 insertions, 394336 deletions
diff --git a/.pc/aix-ibm-xlc/.timestamp b/.pc/aix-ibm-xlc/.timestamp
deleted file mode 100644
index e69de29..0000000
--- a/.pc/aix-ibm-xlc/.timestamp
+++ /dev/null
diff --git a/.pc/aix-ibm-xlc/ChangeLog b/.pc/aix-ibm-xlc/ChangeLog
deleted file mode 100644
index 38795ee..0000000
--- a/.pc/aix-ibm-xlc/ChangeLog
+++ /dev/null
@@ -1,4556 +0,0 @@
-2012-02-10 Kai Tietz <ktietz@redhat.com>
-
- * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
- windows target.
- * configure: Regenerated.
-
-2012-02-08 Kai Tietz <ktietz@redhat.com>
-
- * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
- also FFI_THISCALL.
- * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
- (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
- (ffi_prep_closure_loc): Add FFI_THISCALL support.
- * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
- * src/x86/win32.S (ffi_closure_THISCALL): New closure code
- for thiscall-calling convention.
- * testsuite/libffi.call/closure_thiscall.c: New test.
-
-2012-01-28 Kai Tietz <ktietz@redhat.com>
-
- * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
- argument to prototype for specify calling-convention.
- (ffi_call): Add support for stdcall/thiscall convention.
- (ffi_prep_args): Likewise.
- (ffi_raw_call): Likewise.
- * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
- FFI_FASTCALL.
- * src/x86/win32.S (_ffi_call_win32): Add support for
- fastcall/thiscall calling-convention calls.
- * testsuite/libffi.call/fastthis1_win32.c: New test.
- * testsuite/libffi.call/fastthis2_win32.c: New test.
- * testsuite/libffi.call/fastthis3_win32.c: New test.
- * testsuite/libffi.call/strlen2_win32.c: New test.
- * testsuite/libffi.call/many2_win32.c: New test.
- * testsuite/libffi.call/struct1_win32.c: New test.
- * testsuite/libffi.call/struct2_win32.c: New test.
-
-2012-01-23 Andreas Schwab <schwab@linux-m68k.org>
-
- * src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
- mc68000. Test for __HAVE_68881__ in addition to __MC68881__.
-
-2012-01-19 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/48496
- * src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
-
-2012-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (i?86-*-*): Set TARGET to X86_64.
- * configure: Regenerate.
-
-2011-12-07 Andrew Pinski <apinski@cavium.com>
-
- PR libffi/50051
- * src/mips/n32.S: Add ".set mips4".
-
-2011-11-21 Andreas Tobler <andreast@fgznet.ch>
-
- * configure: Regenerate.
-
-2011-11-10 Richard Henderson <rth@redhat.com>
-
- * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
- * configure, aclocal.m4: Rebuild.
-
-2011-09-04 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/49594
- * src/powerpc/darwin_closure.S (stubs): Make the stub binding
- helper reference track the architecture pointer size.
-
-2011-08-25 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
- instructions.
- * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
-
-2011-07-11 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46660
- * testsuite/libffi.call/cls_double_va.c: xfail dg-output on
- mips-sgi-irix6*.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
- PRId8 instead of %hhu, %hhd.
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
- PRIu8): Define.
- [__sgi__] (PRId8, PRIu8): Define.
-
-2011-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
- Define.
- Use them to handle ELF vs. ECOFF differences.
- [__osf__] (_GLOBAL__F_ffi_call_osf): Define.
-
-2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46661
- * testsuite/libffi.call/cls_pointer.c (main): Cast void * to
- uintptr_t first.
- * testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
-
-2011-02-08 Rafael Avila de Espindola <respindola@mozilla.com>
-
- * configure.ac: Fix x86 test for pc related relocs.
- * confifure: Rebuilt.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
- Handle case when CPU variant does not have long double support.
- * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
- and cores with soft floating point.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * configure.ac: Add mips*-*-rtems* support.
- * configure: Regenerate.
- * src/mips/ffitarget.h: Ensure needed constants are available
- for targets which do not have sgidefs.h.
-
-2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR target/40125
- * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
- * configure: Regenerate.
-
-2010-12-18 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/29152
- PR libffi/42378
- * src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
- (FFI_TRAMPOLINE_SIZE): Update for Darwin64.
- * src/powerpc/darwin.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
- backslashes.
- (libffi_cv_as_string_pseudo_op): Likewise.
- * configure: Regenerate.
-
-2010-12-03 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
- (ffi_closure_VFP): Same.
- (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
- directive.
-
-2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
- (PRIuPTR): Define.
-
-2010-11-29 Richard Henderson <rth@redhat.com>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
- (.eh_frame): Use FDE_ENCODING.
- (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
-
-2010-11-22 Jacek Caban <jacek@codeweavers.com>
-
- * configure.ac: Check for symbol underscores on mingw-w64.
- * configure: Rebuilt.
- * src/x86/win64.S: Correctly access extern symbols in respect to
- underscores.
-
-2010-11-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp: Rename ...
- * testsuite/lib/libffi.exp: ... to this.
- * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
- * libffi/testsuite/libffi.special/special.exp: Likewise.
-
-2010-10-28 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
- code, new parameter, and return value. Update comments.
- (ffi_prep_cif_machdep): Add case for VFP struct return values. Add
- call to layout_vfp_args().
- (ffi_call_SYSV): Update declaration.
- (ffi_call_VFP): New declaration.
- (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
- when ABI is FFI_VFP.
- (ffi_closure_VFP): New declaration.
- (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
- ffi_prep_incoming_args_SYSV().
- (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
- case handling.
- (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
- construction under VFP hard-float.
- (rec_vfp_type_p): New function.
- (vfp_type_p): Same.
- (place_vfp_arg): Same.
- (layout_vfp_args): Same.
- * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
- based on __ARM_PCS_VFP.
- (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
- fields.
- (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
- (FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
- * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
- direct call. Move function pointer load upwards.
- (ffi_call_VFP): New function.
- (ffi_closure_VFP): Same.
-
- * testsuite/lib/libffi-dg.exp (check-flags): New function.
- (dg-skip-if): New function.
- * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
- and compiler options include -mfloat-abi=hard.
- * testsuite/libffi.call/cls_longdouble_va.c: Same.
-
-2010-10-01 Jakub Jelinek <jakub@redhat.com>
-
- PR libffi/45677
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
- a multiple of 8.
- * testsuite/libffi.call/many2.c: New test.
-
-2010-08-20 Mark Wielaard <mjw@redhat.com>
-
- * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
- returns NULL.
-
-2010-08-09 Andreas Tobler <andreast@fgznet.ch>
-
- * configure.ac: Add target powerpc64-*-freebsd*.
- * configure: Regenerate.
- * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
- -mlong-double-128 only to linux targets.
- * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
- * testsuite/libffi.call/cls_longdouble.c: Likewise.
- * testsuite/libffi.call/huge_struct.c: Likewise.
-
-2010-08-05 Dan Witte <dwitte@mozilla.com>
-
- * Makefile.am: Pass FFI_DEBUG define to msvcc.sh for linking to the
- debug CRT when --enable-debug is given.
- * configure.ac: Define it.
- * msvcc.sh: Translate -g and -DFFI_DEBUG appropriately.
-
-2010-08-04 Dan Witte <dwitte@mozilla.com>
-
- * src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64
- platforms.
- * src/x86/ffi.c: Remove redundant ifdef checks.
- * src/prep_cif.c: Push stack space computation into src/x86/ffi.c
- for X86_ANY so return value space doesn't get added twice.
-
-2010-08-03 Neil Rashbrooke <neil@parkwaycc.co.uk>
-
- * msvcc.sh: Don't pass -safeseh to ml64 because behavior is buggy.
-
-2010-07-22 Dan Witte <dwitte@mozilla.com>
-
- * src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
- * src/prep_cif.c: Fix ABI assertion.
- * src/cris/ffi.c: Ditto.
-
-2010-07-10 Evan Phoenix <evan@fallingsnow.net>
-
- * src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
-
-2010-07-07 Dan Horák <dan@danny.cz>
-
- * include/ffi.h.in: Protect #define with #ifndef.
- * src/powerpc/ffitarget.h: Ditto.
- * src/s390/ffitarget.h: Ditto.
- * src/sparc/ffitarget.h: Ditto.
-
-2010-07-07 Neil Roberts <neil@linux.intel.com>
-
- * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
- 16-bytes.
-
-2010-07-02 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
- * Makefile.in: Regenerated.
-
-2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
- output, too.
- (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
- (libffi_cv_as_string_pseudo_op): Check for .string.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
-
-2010-05-11 Dan Witte <dwitte@mozilla.com>
-
- * doc/libffi.tex: Document previous change.
-
-2010-05-11 Makoto Kato <m_kato@ga2.so-net.ne.jp>
-
- * src/x86/ffi.c (ffi_call): Don't copy structs passed by value.
-
-2010-05-05 Michael Kohler <michaelkohler@live.com>
-
- * src/dlmalloc.c (dlfree): Fix spelling.
- * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
- * configure.ac: Ditto.
- * configure: Rebuilt.
-
-2010-04-13 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Build with -W3 instead of -Wall.
- * src/powerpc/ffi_darwin.c: Remove build warnings.
- * src/x86/ffi.c: Ditto.
- * src/x86/ffitarget.h: Ditto.
-
-2010-04-12 Dan Witte <dwitte@mozilla.com>
- Walter Meinl <wuno@lsvw.de>
-
- * configure.ac: Add OS/2 support.
- * configure: Rebuilt.
- * src/closures.c: Ditto.
- * src/dlmalloc.c: Ditto.
- * src/x86/win32.S: Ditto.
-
-2010-04-07 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
-
-2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2010-03-30 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Disable build warnings.
- * README (tested): Clarify windows build procedure.
-
-2010-03-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * libffi/src/x86/unix64.S (.eh_frame)
- [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
-
-2010-03-14 Matthias Klose <doko@ubuntu.com>
-
- * src/x86/ffi64.c: Fix typo in comment.
- * src/x86/ffi.c: Use /* ... */ comment style.
-
-2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/libffi.texi (The Closure API): Fix typo.
- * doc/libffi.info: Remove.
-
-2010-02-15 Matthias Klose <doko@ubuntu.com>
-
- * src/arm/sysv.S (__ARM_ARCH__): Define for processor
- __ARM_ARCH_7EM__.
-
-2010-01-15 Anthony Green <green@redhat.com>
-
- * README: Add notes on building with Microsoft Visual C++.
-
-2010-01-15 Daniel Witte <dwitte@mozilla.com>
-
- * msvcc.sh: New file.
-
- * src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
- * src/x86/ffi.c: Tweak function declaration and remove excess
- parens.
- * include/ffi.h.in: Add __declspec(align(8)) to typedef struct
- ffi_closure.
-
- * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
- function ffi_call_win32 on X86_WIN32.
- * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
- (ffi_call_STDCALL): Remove.
-
- * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
- to ffi_prep_cif_machdep for x86.
- * src/x86/ffi.c (ffi_prep_cif_machdep): To here.
-
-2010-01-15 Oliver Kiddle <okiddle@yahoo.co.uk>
-
- * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
- Sun Studio compiler compatibility.
-
-2010-01-12 Conrad Irwin <conrad.irwin@gmail.com>
-
- * doc/libffi.texi: Add closure example.
-
-2010-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40701
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
- PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
- * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
- alpha*-dec-osf*.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/return_ll1.c: Likewise.
- * testsuite/libffi.call/stret_medium2.c: Likewise.
- * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
- MAP_FAILED to char *.
-
-2010-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
-
-2009-12-31 Anthony Green <green@redhat.com>
-
- * README: Update for libffi 3.0.9.
-
-2009-12-27 Matthias Klose <doko@ubuntu.com>
-
- * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
- appropriate.
- * configure: Rebuilt.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
- avr32*-*-*.
- * testsuite/libffi.call/cls_double_va.c: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
- and inttypes.h.
- * testsuite/libffi.special/unwindtest.cc: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-openbsd*.
- * configure: Rebuilt.
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
- openbsd programs with -lpthread.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
- mips*-*-* and arm*-*-*.
- * testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c,
- testsuite/libffi.call/stret_medium2.c,
- testsuite/libffi.call/stret_medium.c,
- testsuite/libffi.call/stret_large.c,
- testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
-
-2009-12-31 Kay Tietz <ktietz70@googlemail.com>
-
- * testsuite/libffi.call/ffitest.h,
- testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
- definitions.
-
-2009-12-31 Carlo Bramini <carlo.bramix@libero.it>
-
- * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
- * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
-
-2009-12-31 Anthony Green <green@redhat.com>
- Blake Chaffin.
-
- * testsuite/libffi.call/huge_struct.c: New test case from Blake
- Chaffin @ Apple.
-
-2009-12-28 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
- local variables.
- (aix_adjust_aggregate_sizes): New function.
- (ffi_prep_cif_machdep): Call it.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
- * configure: Regenerate.
- * fficonfig.h.in: Likewise.
- * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
- Solaris/x86.
-
-2009-12-26 Andreas Schwab <schwab@linux-m68k.org>
-
- * 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.
-
-2009-12-25 Matthias Klose <doko@ubuntu.com>
-
- * man/ffi_call.3: Fix #include in examples.
- * doc/libffi.texi: Add dircategory.
-
-2009-12-25 Frank Everdij <f.p.x.everdij@tudelft.nl>
-
- * include/ffi.h.in: Placed '__GNUC__' ifdef around
- '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
- IRIX MIPSPro c99.
- * include/ffi_common.h: Added '__sgi' define to non
- '__attribute__((__mode__()))' integer typedefs.
- * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
- ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
- (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
- FFI_LONGDOUBLE support and alignment(N32 only).
- * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
- fixed non '__attribute__((__mode__()))' integer typedefs.
- * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
- since they are Linux/GNU Assembler specific.
-
-2009-12-25 Bradley Smith <brad@brad-smith.co.uk>
-
- * configure.ac, Makefile.am, src/avr32/ffi.c,
- src/avr32/ffitarget.h,
- src/avr32/sysv.S: Add AVR32 port.
- * configure, Makefile.in: Rebuilt.
-
-2009-12-21 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
- * configure: Regenerate.
-
-2009-12-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
- type on HP-UX.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
- double' arguments.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40700
- * src/closures.c [X86_64 && __sun__ && __svr4__]
- (FFI_MMAP_EXEC_WRIT): Define.
-
-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.
-
-2009-12-07 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
- typo.
-
-2009-12-05 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
- code.
- * src/powerpc/aix_closure.S: Same.
-
-2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
- linux64_closure.S.
-
-2009-12-04 Uros Bizjak <ubizjak@gmail.com>
-
- 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.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
- pfr for long double split between fpr13 and stack.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
- fparg_count twice for long double.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- PR libffi/42243
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03 Uros Bizjak <ubizjak@gmail.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
- Remove xfails for x86 linux targets.
-
-2009-12-02 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
- case.
-
-2009-12-01 David Edelsohn <edelsohn@gnu.org>
-
- * 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.
-
-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.
-
-2009-11-02 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/41908
- * testsuite/libffi.call/testclosure.c: New test.
-
-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.
-
-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.
-
-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.
-
-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.
-
-2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.am (install-html, install-pdf): Remove.
- * Makefile.in: Regenerate.
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24 Dave Korn <dave.korn.cygwin@gmail.com>
-
- 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.
-
-2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
-
- 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.
-
-2009-07-01 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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 "".)
-
-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.
-
-2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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.
-
-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.
-
-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.
-
-2009-06-16 Andrew Haley <aph@redhat.com>
-
- * configure.ac (TARGETDIR): Add missing blank lines.
- * configure: Regenerate.
-
-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.
-
-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.
-
-2009-06-12 Andrew Haley <aph@redhat.com>
-
- * Makefile.am: Remove info_TEXINFOS.
-
-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-11 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * 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.
-
-2009-06-09 Andrew Haley <aph@redhat.com>
-
- * src/x86/freebsd.S: Add missing file.
-
-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).
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * README: Import from libffi 3.0.8.
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Add xfails.
- * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
- * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
- * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
- * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
- * testsuite/libffi.call/stret_medium.c: Likewise.
- * testsuite/libffi.call/stret_large2.c: Likewise.
- * testsuite/libffi.call/stret_large.c: Likewise.
-
-2008-12-26 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_align_longdouble.c,
- testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
- failures on x86_64 cygwin/mingw.
-
-2008-12-22 Timothy Wall <twall@users.sf.net>
-
- * 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_loc_fn0.c,
- testsuite/libffi.call/closure_stdcall.c,
- testsuite/libffi.call/cls_align_pointer.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
- pointer to integer (intptr_t).
- * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_dbls_struct.c,
- testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c,
- testsuite/libffi.call/err_bad_abi.c: Clean up failures from
- compiler warnings.
-
-2008-03-04 Anthony Green <green@redhat.com>
- Blake Chaffin
- hos@tamanegi.org
-
- * testsuite/libffi.call/cls_align_longdouble_split2.c
- testsuite/libffi.call/cls_align_longdouble_split.c
- testsuite/libffi.call/cls_dbls_struct.c
- testsuite/libffi.call/cls_double_va.c
- testsuite/libffi.call/cls_longdouble.c
- testsuite/libffi.call/cls_longdouble_va.c
- testsuite/libffi.call/cls_pointer.c
- testsuite/libffi.call/cls_pointer_stack.c
- testsuite/libffi.call/err_bad_abi.c
- testsuite/libffi.call/err_bad_typedef.c
- testsuite/libffi.call/stret_large2.c
- testsuite/libffi.call/stret_large.c
- testsuite/libffi.call/stret_medium2.c
- testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
- libffi.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
- stdcall changes.
-
-2008-02-26 Anthony Green <green@redhat.com>
- Thomas Heller <theller@ctypes.org>
-
- * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
- comment.
-
-2008-02-03 Timothy Wall <twall@users.sf.net>
-
- * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
- offset based on code pointer, not data pointer.
-
-2008-01-31 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
- closures.
- * src/x86/ffitarget.h: Increase size of trampoline for stdcall
- closures.
- * src/x86/win32.S: Add assembly for stdcall closure.
- * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Change void (*)() to void (*)(void).
- * src/x86/ffi.c: Likewise.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ppc_closure.S: Insert licence header.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/m68k/sysv.S: Likewise.
-
- * src/sh64/ffi.c: Change void (*)() to void (*)(void).
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/m32r/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi64.c: Likewise.
- * src/alpha/ffi.c: Likewise.
- * src/alpha/osf.S: Likewise.
- * src/frv/ffi.c: Likewise.
- * src/s390/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/pa/hpux32.S: Likewise.
- * src/ia64/unix.S: Likewise.
- * src/ia64/ffi.c: Likewise.
- * src/sparc/ffi.c: Likewise.
- * src/mips/ffi.c: Likewise.
- * src/sh/ffi.c: Likewise.
-
-2008-02-15 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
- Define (conditionally), and use it to include cachectl.h.
- (ffi_prep_closure_loc): Fix cache flushing.
- * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- include/ffi.h.in,
- src/arm/ffitarget.h,
- src/arm/ffi.c,
- src/arm/sysv.S,
- src/powerpc/ffitarget.h,
- src/closures.c,
- src/sh64/ffitarget.h,
- src/sh64/ffi.c,
- src/sh64/sysv.S,
- src/types.c,
- src/x86/ffi64.c,
- src/x86/ffitarget.h,
- src/x86/win32.S,
- src/x86/darwin.S,
- src/x86/ffi.c,
- src/x86/sysv.S,
- src/x86/unix64.S,
- src/alpha/ffitarget.h,
- src/alpha/ffi.c,
- src/alpha/osf.S,
- src/m68k/ffitarget.h,
- src/frv/ffitarget.h,
- src/frv/ffi.c,
- src/s390/ffitarget.h,
- src/s390/sysv.S,
- src/cris/ffitarget.h,
- src/pa/linux.S,
- src/pa/ffitarget.h,
- src/pa/ffi.c,
- src/raw_api.c,
- src/ia64/ffitarget.h,
- src/ia64/unix.S,
- src/ia64/ffi.c,
- src/ia64/ia64_flags.h,
- src/java_raw_api.c,
- src/debug.c,
- src/sparc/v9.S,
- src/sparc/ffitarget.h,
- src/sparc/ffi.c,
- src/sparc/v8.S,
- src/mips/ffitarget.h,
- src/mips/n32.S,
- src/mips/o32.S,
- src/mips/ffi.c,
- src/prep_cif.c,
- src/sh/ffitarget.h,
- src/sh/ffi.c,
- src/sh/sysv.S: Update license text.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * src/x86/win32.S (_ffi_closure_STDCALL): New function.
- (.eh_frame): Add FDE for it.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * configure.ac: Also check if assembler supports pc-relative
- relocs on X86_WIN32 targets.
- * configure: Regenerate.
- * src/x86/win32.S (ffi_prep_args): Declare extern, not global.
- (_ffi_call_SYSV): Add missing function type symbol .def and
- add EH markup labels.
- (_ffi_call_STDCALL): Likewise.
- (_ffi_closure_SYSV): Likewise.
- (_ffi_closure_raw_SYSV): Likewise.
- (.eh_frame): Add hand-crafted EH data.
-
-2009-04-09 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
- version 3 of the GNU General Public License and to point readers
- at the COPYING3 file and the FSF's license web page.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-12-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libffi/26048
- * configure.ac (HAVE_AS_X86_PCREL): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
- RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
- RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
- * src/x86/unix64.S (.Lstore_table): Move to .text section.
- (.Lload_table): Likewise.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
- signed/unsigned int8/16 return values.
- * src/sparc/v8.S (ffi_call_v8): Likewise.
- (ffi_closure_v8): Likewise.
-
-2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
- Steve Ellcey <sje@cup.hp.com>
-
- * configure: Regenerate for new libtool.
- * Makefile.in: Ditto.
- * include/Makefile.in: Ditto.
- * aclocal.m4: Ditto.
-
-2008-08-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
- FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
- Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
- Adjust copyright notice.
- * src/powerpc/ffi.c: Add two new flags to indicate if we have one
- register or two register to use for FFI_SYSV structs.
- (ffi_prep_cif_machdep): Pass the right register flag introduced above.
- (ffi_closure_helper_SYSV): Fix the return type for
- FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
- Adjust copyright notice.
-
-2008-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
- int.
-
-2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2008-06-07 Joseph Myers <joseph@codesourcery.com>
-
- * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
- powerpc-*-beos*): Remove.
- * configure: Regenerate.
-
-2008-05-09 Julian Brown <julian@codesourcery.com>
-
- * Makefile.am (LTLDFLAGS): New.
- (libffi_la_LDFLAGS): Use above.
- * Makefile.in: Regenerate.
-
-2008-04-18 Paolo Bonzini <bonzini@gnu.org>
-
- PR bootstrap/35457
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2008-03-26 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add .note.GNU-stack on Linux.
- * src/sh64/sysv.S: Likewise.
-
-2008-03-26 Daniel Jacobowitz <dan@debian.org>
-
- * src/arm/sysv.S: Fix ARM comment marker.
-
-2008-03-26 Jakub Jelinek <jakub@redhat.com>
-
- * src/alpha/osf.S: Add .note.GNU-stack on Linux.
- * src/s390/sysv.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
- * src/x86/unix64.S: Likewise.
- * src/x86/sysv.S: Likewise.
- * src/sparc/v8.S: Likewise.
- * src/sparc/v9.S: Likewise.
- * src/m68k/sysv.S: Likewise.
- * src/arm/sysv.S: Likewise.
-
-2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * aclocal.m4: Regenerate.
- * configure: Likewise.
- * Makefile.in: Likewise.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2008-02-12 Bjoern Koenig <bkoenig@alpha-tierchen.de>
- Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-freebsd* target.
- * configure: Regenerate.
-
-2008-01-30 H.J. Lu <hongjiu.lu@intel.com>
-
- PR libffi/34612
- * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
- returning struct.
-
- * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
- tests.
-
-2008-01-24 David Edelsohn <edelsohn@gnu.org>
-
- * configure: Regenerate.
-
-2008-01-06 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
-
-2008-01-05 Andreas Tobler <a.tobler@schweiz.org>
-
- PR testsuite/32843
- * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
- signed/unsigned int8/16 for X86_DARWIN.
- Updated copyright info.
- Handle one and two byte structs with special cif->flags.
- * src/x86/ffitarget.h: Add special types for one and two byte structs.
- Updated copyright info.
- * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
- sysv.S
- Remove code to pop args from the stack after call.
- Special-case signed/unsigned for int8/16, one and two byte structs.
- (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
- FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
- FFI_TYPE_SINT32.
- Updated copyright info.
-
-2007-12-08 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_call_N32): Replace dadd with ADDU, dsub with
- SUBU, add with ADDU and use smaller code sequences.
-
-2007-12-07 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
- type.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
- defined.
- (ffi_java_raw): New typedef.
- (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
- ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
- ffi_java_raw.
- (ffi_java_raw_closure) : Same.
- (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
- parameter types.
- * src/java_raw_api.c (ffi_java_raw_size): Replace FFI_SIZEOF_ARG with
- FFI_SIZEOF_JAVA_RAW.
- (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
- Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
- sizeof(ffi_java_raw) for alignment calculations.
- (ffi_java_ptrarray_to_raw): Same.
- (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
- if FFI_SIZEOF_JAVA_RAW == 4.
- (ffi_java_raw_to_rvalue): Same.
- (ffi_java_raw_call): Change type of raw to ffi_java_raw.
- (ffi_java_translate_args): Same.
- (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
- parameter types.
- * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
- pointer values.
-
-2007-12-01 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/31937
- * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
- Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
- * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
- set the NUM_FPR_ARG_REGISTERS according to.
- Add support for potential soft-float support under hard-float
- architecture.
- (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
- FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
- to the FFI_LINUX_SOFT_FLOAT ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Make sure not to store float/double
- on archs where __NO_FPRS__ is true.
- Add FFI_TYPE_UINT128 support.
- * src/powerpc/sysv.S: Add support for soft-float long-double-128.
- Adjust copyright notice.
-
-2007-11-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
- * include/ffi_common.h: ... here.
- Update copyright.
-
-2007-11-17 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
- * testsuite/libffi.call/return_ldl.c: New test.
-
-2007-09-04 <aph@redhat.com>
-
- * src/arm/sysv.S (UNWIND): New.
- (Whole file): Conditionally compile unwinder directives.
- * src/arm/sysv.S: Add unwinder directives.
-
- * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
- Only treat r0 as a struct address if we're actually returning a
- struct by address.
- Only copy the bytes that are actually within a struct.
- (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
- is returned in r0, not passed by address.
- (ffi_call): Allocate a word-sized temporary for the case where
- a composite is returned in r0.
- (ffi_prep_incoming_args_SYSV): Align as necessary.
-
-2007-08-05 Steven Newbury <s_j_newbury@yahoo.co.uk>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
- directly using the sys_cacheflush syscall.
-
-2007-07-27 Andrew Haley <aph@redhat.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
-
-2007-09-03 Maciej W. Rozycki <macro@linux-mips.org>
-
- * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure: Likewise.
-
-2007-08-24 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/return_sl.c: New test.
-
-2007-08-10 David Daney <ddaney@avtrex.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/nested_struct5.c,
- testsuite/libffi.call/cls_double.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/nested_struct.c,
- testsuite/libffi.call/cls_2byte.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_sint16.c,
- testsuite/libffi.call/cls_align_uint32.c,
- testsuite/libffi.call/cls_20byte.c,
- testsuite/libffi.call/cls_float.c,
- testsuite/libffi.call/nested_struct2.c,
- testsuite/libffi.call/cls_5_1_byte.c,
- testsuite/libffi.call/nested_struct4.c,
- testsuite/libffi.call/cls_24byte.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: Remove xfail for mips64*-*-*.
-
-2007-08-10 David Daney <ddaney@avtrex.com>
-
- 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.
-
-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*.
- * 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.
-
-2006-12-13 Andreas Tobler <a.tobler@schweiz.org>
-
- * aclocal.m4: Regenerate with aclocal -I .. as written in the
- Makefile.am.
-
-2006-10-31 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
- (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
- Darwin.
- * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
- * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10 Paolo Bonzini <bonzini@gnu.org>
- Sandro Tolaini <tolaini@libero.it>
-
- * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
- conditional.
- * configure: Regenerated.
- * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
- (EXTRA_DIST): Add src/x86/darwin.S.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
- X86_WIN32, and additionally align stack to 16 bytes.
- * src/x86/darwin.S: New, based on sysv.S.
- * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12 David Daney <ddaney@avtrex.com>
-
- PR libffi/23935
- * include/Makefile.am: Install both ffi.h and ffitarget.h in
- $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
- * aclocal.m4: Regenerated for automake 1.9.6.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
-2006-08-17 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h: Remove lint directives.
- * include/ffi.h.in: Likewise.
-
-2006-07-25 Torsten Schoenfeld <kaffeetisch@gmx.de>
-
- * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
- for 32-bit architectures.
- * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
- xfail remains for mips64.
-
-2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
-
- * Makefile.am: Add install-html target. Add install-html to .PHONY
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
- stack slot.
-
-2006-04-22 Andreas Tobler <a.tobler@schweiz.ch>
-
- * README: Remove notice about 'Crazy Comments'.
- * src/debug.c: Remove lint directives. Cleanup white spaces.
- * src/java_raw_api.c: Likewise.
- * src/prep_cif.c: Likewise.
- * src/raw_api.c: Likewise.
- * src/ffitest.c: Delete. No longer needed, all test cases migrated
- to the testsuite.
- * src/arm/ffi.c: Remove lint directives.
- * src/m32r/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/sh/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/pa/hpux32.S: Correct unwind offset calculation for
- ffi_closure_pa32.
- * src/pa/linux.S: Likewise.
-
-2006-04-12 James E Wilson <wilson@specifix.com>
-
- PR libgcj/26483
- * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
- (hfa_type_load): Call stf_spill.
- (hfa_type_store): Call ldf_fill.
- (ffi_call): Adjust calls to above routines. Add local temps for
- macro result.
-
-2006-04-10 Matthias Klose <doko@debian.org>
-
- * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
- directory names containing underscores.
-
-2006-04-07 James E Wilson <wilson@specifix.com>
-
- * testsuite/libffi.call/float4.c: New testcase.
-
-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.
-
-2006-03-24 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Default
- for 32-bit using IBM extended double format. Fix FFI_LAST_ABI.
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
- FFI_TYPE_LONGDOUBLE.
- (ffi_prep_args64): Assert using IBM extended double.
- (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
- Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
- (ffi_call): Handle FFI_LINUX.
- (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
- gpr3 return pointer as for struct return. Handle FFI_LINUX
- FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf"
- unnecessarily.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
- for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table.
- Don't use r6 as pointer to results, instead use sp offset. Don't
- make a special call to load lr with case table address, instead
- use offset from previous call.
- * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
- return.
-
-2006-03-15 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
- passed with FP registers correctly.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S: Likewise.
-
-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.
-
-2006-02-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
- -O2, -O3, -Os and the warning flags -W -Wall.
- * testsuite/libffi.special/special.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
- unused parameter unused for gcc or else do nothing.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
- * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
- * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
- * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
- * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
- * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
- * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
- * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
- * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
- void* to avoid compiler warning.
- (main): Likewise.
- (cls_struct_align_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
- * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
- * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
- userdata unused.
- (cls_ret_schar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
- userdata unused.
- (cls_ret_sint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
- userdata unused.
- (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn): Mark cif and
- userdata unused.
- (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
- userdata unused.
- (cls_ret_uint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
- userdata unused.
- (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
- * testsuite/libffi.call/float1.c (main): Remove unused variable i.
- Cleanup white spaces.
- * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
- * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
- cif and userdata unused.
- * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
- Likewise.
- * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
- formatters to silence gcc.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct4.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct6.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
- * testsuite/libffi.call/problem1.c (stub): Likewise.
- * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
- gcc.
- * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
- in the last commit for this test case in the test case itself.
- * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
- unused.
- * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
- * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
- * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
- * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
- * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
- * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Fix register numbers in the FDE for
- ffi_closure_SYSV.
-
-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.
-
-2006-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
- and cast integer to void * if needed. Update the pointer to
- the FP register saved area correctly.
-
-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.
-
-2006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/return_dbl.c: New test case.
- * testsuite/libffi.call/return_dbl1.c: Likewise.
- * testsuite/libffi.call/return_dbl2.c: Likewise.
- * testsuite/libffi.call/return_fl.c: Likewise.
- * testsuite/libffi.call/return_fl1.c: Likewise.
- * testsuite/libffi.call/return_fl2.c: Likewise.
- * testsuite/libffi.call/return_fl3.c: Likewise.
- * testsuite/libffi.call/closure_fn6.c: Likewise.
-
- * 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.
-
-2006-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.ac: Enable libffi for sparc64-*-freebsd*.
- * configure: Rebuilt.
-
-2006-01-18 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
- instead do the shifting inline.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
- shift count unconditionally. Simplify load sequences for 1, 2, 3, 4
- and 8 byte structs, for the remaining struct sizes don't call
- __lshrdi3, instead do the shifting inline.
-
-2005-12-07 Thiemo Seufer <ths@networkno.de>
-
- * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
- missing parentheses.
- * src/mips/o32.S (ffi_call_O32): Code formatting. Define
- and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
- (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
- A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
- V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
- FA_0_0_OFF2.
- * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
- endianness bugs.
- (ffi_prep_closure): Improve trampoline instruction scheduling.
- (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c: Formatting.
- (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
- (ffi_prep_args64): Likewise.
-
-2005-09-30 Geoffrey Keating <geoffk@apple.com>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
- darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26 Tom Tromey <tromey@redhat.com>
-
- * 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.
-
-2005-08-25 Alan Modra <amodra@bigpond.net.au>
-
- PR target/23404
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
- homed fp args.
- (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11 Jakub Jelinek <jakub@redhat.com>
-
- * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
- (AH_BOTTOM): Add FFI_HIDDEN definition.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * src/powerpc/ffi.c (hidden): Remove.
- (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
- ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
- .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
- * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
- add FFI_HIDDEN to its prototype.
- (ffi_closure_SYSV_inner): New.
- * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
- * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10 Alfred M. Szmidt <ams@gnu.org>
-
- PR libffi/21819:
- * configure: Rebuilt.
- * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
- DW_CFA_offset_extended_sf rather than
- DW_CFA_GNU_negative_offset_extended.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
-
- * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
- on sh3.
- (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
- * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
- partially on register.
- (ffi_closure_helper_SYSV): Likewise.
- (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_call): Handle small structures correctly.
- Remove empty line.
- * src/sh64/ffi.c (simple_type): Remove.
- (return_type): Handle small structures correctly.
- (ffi_prep_args): Likewise.
- (ffi_call): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
- Emit position independent code if PIC and remove wrong datalabel
- prefixes from EH data.
-
-2005-07-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure.ac: Add POWERPC_FREEBSD rules.
- * configure: Regenerate.
- * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
- (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
- * src/powerpc/ffi.c: Add flags to handle small structure returns
- in ffi_call_SYSV.
- (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
- Aka FFI_SYSV.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Add return types for small structures.
- * src/powerpc/sysv.S: Add bits to handle small structures for
- final SYSV 4 ABI.
-
-2005-07-10 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_5_1_byte.c: New test file.
- * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05 Randolph Chung <tausq@debian.org>
-
- * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
- as FFI_TYPE_SMALL_STRUCT3. Break out handling for 5-7 byte
- structures. Kill compilation warnings.
- (ffi_closure_inner_LINUX): Print return values as hex in debug
- message. Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
- Properly handle 5-7 byte structure returns.
- * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
- (FFI_TYPE_SMALL_STRUCT2): Remove.
- (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
- (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
- * src/pa/linux.S: Mark source file as using PA1.1 assembly.
- (checksmst1, checksmst2): Remove.
- (checksmst3): Optimize handling of 3-byte struct returns.
- (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libgcj/21943
- * src/mips/n32.S: Enforce PIC code.
- * src/mips/o32.S: Likewise.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
- * configure: Regenerate.
-
-2005-06-01 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
- to call ffi_closure_helper_SYSV. Append @local instead.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
- Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
- * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
- * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
- include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-05-08 Richard Henderson <rth@redhat.com>
-
- PR libffi/21285
- * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04 Andreas Degert <ad@papyrus-gmbh.de>
- Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
- bit 11 of flags.
- (ffi_call): Mask return type field. Pass ssecount to ffi_call_unix64.
- (ffi_prep_closure): Set carry bit if sse-used flag set.
- * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
- Only load sse registers if ssecount non-zero.
- (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
- powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
- * configure: Regenerate.
-
-2005-04-20 Hans-Peter Nilsson <hp@axis.com>
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
- have Tcl8.3-compatible intermediate variable.
-
-2005-04-18 Simon Posnjak <simon.posnjak@siol.net>
- Hans-Peter Nilsson <hp@axis.com>
-
- * Makefile.am: Add CRIS support.
- * configure.ac: Likewise.
- * Makefile.in, configure, testsuite/Makefile.in,
- include/Makefile.in: Regenerate.
- * src/cris: New directory.
- * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
- * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
- \r?\n in output tests.
-
-2005-04-12 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-03-30 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30 Steve Ellcey <sje@cup.hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
- (ffi_sarg) Ditto.
- * src/ia64/unix.S (ffi_closure_unix): Extend gp
- to 64 bits in ILP32 mode.
- Load 64 bits even for short data.
-
-2005-03-23 Mike Stump <mrs@apple.com>
-
- * src/powerpc/darwin.S: Update for -m64 multilib.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21 Zack Weinberg <zack@codesourcery.com>
-
- * 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.
-
-2005-02-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
- odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR libffi/20104
- * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11 Janis Johnson <janis187@us.ibm.com>
-
- * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
- * testsuite/libffi.call/float.c: Ditto.
- * testsuite/libffi.call/float2.c: Ditto.
- * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * testsuite/libffi.special/special.exp (cxx_options): Add
- -shared-libgcc.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
- (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
- offset parameters with a type parameter; deduce size and structure
- alignment. Update all users.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
- (FFI_TYPE_LONGDOUBLE): Fix for ia64.
- * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
- into ffi_prep_closure.
- * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
- from scratch.
-
-2004-12-27 Richard Henderson <rth@redhat.com>
-
- * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25 Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
- (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
- (merge_classes): Check for it.
- (SSE_CLASS_P): New.
- (classify_argument): Pass byte_offset by value; perform all updates
- inside struct case.
- (examine_argument): Add classes argument; handle
- X86_64_COMPLEX_X87_CLASS.
- (ffi_prep_args): Merge into ...
- (ffi_call): ... here. Share stack frame with ffi_call_unix64.
- (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
- (ffi_fill_return_value): Remove.
- (ffi_prep_closure): Remove dead assert.
- (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
- Rewrite to use struct register_args instead of va_list. Create
- flags for handling structure returns.
- * src/x86/unix64.S: Remove dead strings.
- (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share
- stack frame with ffi_call. Handle structure returns properly.
- (float2sse, floatfloat2sse, double2sse): Remove.
- (sse2float, sse2double, sse2floatfloat): Remove.
- (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite
- to handle structure returns properly.
-
-2004-12-08 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
- PICFLAG.
- * Makefile.in: Regenerated.
-
-2004-12-02 Richard Sandiford <rsandifo@redhat.com>
-
- * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
- * configure, aclocal.m4, Makefile.in: Regenerate.
- * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-25 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool reversion.
-
-2004-11-24 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23 Richard Sandiford <rsandifo@redhat.com>
-
- * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
- of jal. Use an absolute encoding for the frame information.
-
-2004-11-23 Kelley Cook <kcook@gcc.gnu.org>
-
- * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS.
- * acinclude.m4: Delete logic for sincludes.
- * aclocal.m4, Makefile.in, configure: Regenerate.
- * include/Makefile: Likewise.
- * testsuite/Makefile: Likewise.
-
-2004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
- on a 8-byte boundary.
- * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
- long long values. Round stack allocation to a multiple of 8 bytes
- for ATPCS compatibility.
- * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
- names. Handle returning long long types. Add Thumb and interworking
- support. Improve soft-float code.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
- (libffi_exit): New function.
- (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR other/18138
- * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
- * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
- the function returning a structure pointed with R2.
- * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
- the structure return value if T bit set. Emit position
- independent code and EH data if PIC.
-
-2004-10-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * Makefile.am: Add m32r support.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * confiugre: Regenerate.
- * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
- (uint64, sint64, double, longdouble)
- * src/m32r: New directory.
- * src/m32r/ffi.c: New file.
- * src/m32r/sysv.S: Likewise.
- * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * testsuite/libffi.call/negint.c: New test case.
-
-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.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/many_win32.c: Remove whitespaces.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
- whitespaces.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Fix comments and identation.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
- (ffi_prep_args): Handle longdouble arguments.
- (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
- longdouble.
- (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
- * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
- values.
- * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
- * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/aix.S: Remove whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
- * src/powerpc/asm.h: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffitarget.h: Likewise.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
-
-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.in: Read configure.host.
- * 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 shouldn't 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.
-
-2004-08-24 David Daney <daney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
- to zero.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23 David Daney <daney@avtrex.com>
-
- PR libgcj/13141
- * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
- * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
- (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
- parameters and return types.
- (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
- (ffi_prep_closure): Ditto.
- (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
- alignment calculations.
- * src/mips/o32.S (ffi_closure_O32): Don't use floating point
- instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14 Casey Marshall <csm@gnu.org>
-
- * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
- contain `FFI_TYPE_UINT64' as return type for any 64-bit
- integer (O32 ABI only).
- (ffi_prep_closure): new function.
- (ffi_closure_mips_inner_O32): new function.
- * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
- `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
- * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
- 64 bit integers correctly.
- (ffi_closure_O32): new function.
- Added DWARF-2 unwind info for both functions.
-
-2004-08-10 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01 Robert Millan <robertmh@gnu.org>
-
- * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
- * configure: Regenerate.
-
-2004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
-
- * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
- and mmap() explicitly instead of relying on preset autoconf cache
- variables.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
- (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
- character on Darwin, use '\n\t' instead.
-
-2004-06-26 Matthias Klose <doko@debian.org>
-
- * libtool-version: Fix typo in revision/age.
-
-2004-06-17 Matthias Klose <doko@debian.org>
-
- * libtool-version: New.
- * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
- * Makefile.in: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * Makefile.am: Remove useless multilib rules.
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate with automake 1.8.5.
- * configure.ac: Remove useless multilib configury.
- * configure: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * .cvsignore: New file.
-
-2004-06-10 Jakub Jelinek <jakub@redhat.com>
-
- * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
- fp_done.
- (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
- changed from 8.
-
-2004-06-06 Sean McNeil <sean@mcneil.com>
-
- * configure.ac: Add x86_64-*-freebsd* support.
- * configure: Regenerate.
-
-2004-04-26 Joe Buck <jbuck@welsh-buck.org>
-
- Bug 15093
- * configure.ac: Test for existence of mmap and sys/mman.h before
- checking blacklist. Fix suggested by Jim Wilson.
- * configure: Regenerate.
-
-2004-04-26 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
- FDE location.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
- error. Reported by Thomas Heller <theller@python.net>.
- * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20 Matthias Klose <doko@debian.org>
-
- * src/pa/linux.S: Fix typo.
-
-2004-03-19 Matthias Klose <doko@debian.org>
-
- * Makefile.am: Update.
- * Makefile.in: Regenerate.
- * src/pa/ffi.h.in: Remove.
- * src/pa/ffitarget.h: New file.
-
-2004-02-10 Randolph Chung <tausq@debian.org>
-
- * Makefile.am: Add PA support.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * configure.ac: Add PA target.
- * configure: Regenerate.
- * src/pa/ffi.c: New file.
- * src/pa/ffi.h.in: Add PA support.
- * src/pa/linux.S: New file.
- * prep_cif.c: Add PA support.
-
-2004-03-16 Hosaka Yuji <hos@tamanegi.org>
-
- * src/types.c: Fix alignment size of X86_WIN32 case int64 and
- double.
- * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
- with ecif->cif->flags.
- (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
- with cif->flags.
- (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
- (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
- * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
- sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.in: Rename file to ...
- * configure.ac: ... this.
- * fficonfig.h.in: Regenerate.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2004-03-12 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Fix EH information so it corresponds to
- changes in EH format resulting from addition of linkonce support.
- * src/powerpc/darwin_closure.S: Likewise.
-
-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.
-
-2004-03-11 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
- arguments from fp registers only for the first 8 parameter slots.
- Don't convert a float parameter when passed in memory.
-
-2004-03-09 Hans-Peter Nilsson <hp@axis.com>
-
- * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
-
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
- ecif->cif->bytes to bytes.
- (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
- * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
- (ffi_closure_helper_LINUX64): Fix typo.
- * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
- for powerpc64-*-*.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
- long double function return and long double arg handling.
- (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
- Use "end_pfr" instead of "nf". Correct long double handling.
- Localise "temp".
- * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
- return value.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
- space for long double return value. Adjust stack frame and offsets.
- Load f2 long double return.
-
-2004-02-07 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
- when the structure return address is passed in %o0.
- (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
- (ffi_v9_layout_struct): Align the field following a nested structure
- on a word boundary. Use memmove instead of memcpy.
- (ffi_call): Update call to ffi_V9_return_struct.
- (ffi_prep_closure): Define 'ctx' only for V8.
- (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
- and ffi_closure_sparc_inner_v9.
- (ffi_closure_sparc_inner_v8): Return long doubles by reference.
- Always skip the structure return address. For structures and long
- doubles, copy the argument directly.
- (ffi_closure_sparc_inner_v9): Skip the structure return address only
- if required. Shift the maximum floating-point slot accordingly. For
- big structures, copy the argument directly; otherwise, left-justify the
- argument and call ffi_v9_layout_struct to lay out the structure on
- the stack.
- * src/sparc/v8.S: Undef STACKFRAME before defining it.
- (ffi_closure_v8): Pass the structure return address. Update call to
- ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
- Skip the 'unimp' insn when returning long doubles and structures.
- * src/sparc/v9.S: Undef STACKFRAME before defining it.
- (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
- FFI_TYPE_INT handling. Load structures both in integers and
- floating-point registers on return.
- * README: Update status of the SPARC port.
-
-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.
-
-2004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
-
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
- value as of type ffi_arg, not unsigned int.
-
-2004-01-21 Michael Ritzert <ritzert@t-online.de>
-
- * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
- of the LHS.
-
-2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
- Solaris.
-
-2004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
- to void *.
-
-2003-12-10 Richard Henderson <rth@redhat.com>
-
- * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
- size_t instead of int.
-
-2003-12-04 Hosaka Yuji <hos@tamanegi.org>
-
- * testsuite/libffi.call/many_win32.c: Include <float.h>.
- * testsuite/libffi.call/many_win32.c (main): Replace variable
- int i with unsigned long ul.
-
- * testsuite/libffi.call/cls_align_uint64.c: New test case.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02 Hosaka Yuji <hos@tamanegi.org>
-
- PR other/13221
- * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
- Align arguments to 32 bits.
-
-2003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR other/13221
- * testsuite/libffi.call/cls_multi_sshort.c: New test case.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-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.
-
-2003-11-21 Andreas Jaeger <aj@suse.de>
- Andreas Tobler <a.tobler@schweiz.ch>
-
- * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
- * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
- * Makefile.in: Rebuilt.
- * aclocal.m4: Likewise.
- * configure: Likewise.
- * fficonfig.h.in: Likewise.
- * testsuite/lib/libffi-dg.exp: Add include dir.
- * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
- for ffi_closure if available.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
- Add -lgcc_s to additional flags.
-
-2003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.in, include/Makefile.am: PR libgcj/11147, install
- the ffitarget.h header file in a gcc versioned and target
- dependent place.
- * configure: Regenerated.
- * Makefile.in, include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Print result and check
- with dg-output to make debugging easier.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
- static.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_9byte2.c: New test case.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_double.c: Do a check on the result.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/prep_cif.c (ffi_prep_cif): Move the validity check after
- the initialization.
-
-2003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
- FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
- __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-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
-
-2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
- _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
- Used when FFI_DEBUG = 1.
-
-2003-10-14 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
- and align.
-
-2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
- FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
- SPARC64. Cleanup whitespaces.
-
-2003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
- strongarm, xscale. Cleanup whitespaces.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Cleanup whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
- * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
- parameter stack.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
- according to the Darwin/AIX ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_DARWIN): Likewise.
- Remove the outgoing parameter stack logic. Simplify the evaluation
- of the different CASE types.
- (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
- statement in the trampoline code.
-
-2003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
- for the register size.
- (ffi_closure_helper_SYSV): Handle the structure return value
- address correctly.
- (ffi_closure_helper_SYSV): Return the appropriate type when
- the registers are used for the structure return value.
- * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
- the 64-bit return value. Update copyright years.
-
-2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
- srcdir for ffi_mips.h.
-
-2003-09-12 Alan Modra <amodra@bigpond.net.au>
-
- * src/prep_cif.c (initialize_aggregate): Include tail padding in
- structure size.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
- placement of float result.
- * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
- cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Merge identical SH and ARM
- typedefs, and add POWERPC64.
- * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
- struct split over gpr and rest.
- (ffi_prep_cif_machdep): Correct intarg_count for structures.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
- passing correctly.
-
-2003-09-09 Alan Modra <amodra@bigpond.net.au>
-
- * configure: Regenerate.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Remove build rules for ffitest.
- * Makefile.in: Rebuilt.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
- about implicit declaration of abort().
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
- * Makefile.in: Rebuilt.
- * configure.in: Add dejagnu test framework.
- * configure: Rebuilt.
-
- * testsuite/Makefile.am: New file.
- * testsuite/Makefile.in: Built
- * testsuite/lib/libffi-dg.exp: New file.
- * testsuite/config/default.exp: Likewise.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Likewise.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float1.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/many.c: Likewise.
- * testsuite/libffi.call/many_win32.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
- * testsuite/libffi.call/strlen.c: Likewise.
- * testsuite/libffi.call/strlen_win32.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
- * testsuite/libffi.call/struct2.c: Likewise.
- * testsuite/libffi.call/struct3.c: Likewise.
- * testsuite/libffi.call/struct4.c: Likewise.
- * testsuite/libffi.call/struct5.c: Likewise.
- * testsuite/libffi.call/struct6.c: Likewise.
- * testsuite/libffi.call/struct7.c: Likewise.
- * testsuite/libffi.call/struct8.c: Likewise.
- * testsuite/libffi.call/struct9.c: Likewise.
- * testsuite/libffi.special/special.exp: New file.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
- copyright years.
-
-2003-08-02 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
- structure passing.
- (ffi_closure_helper_LINUX64): Likewise.
- * src/powerpc/linux64.S: Remove code writing to parm save area.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
- address in lr from ffi_closure_helper_LINUX64 call to calculate
- table address. Optimize function tail.
-
-2003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/sparc/ffi.c: Handle all floating point registers.
- * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
-
- * README: Note that libffi is not part of GCC. Update the project
- URL and status.
-
-2003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
- Use C style comments.
-
-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
- should be read-only.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * include/ffi.h.in (EH_FRAME_FLAGS): Define.
- * src/alpha/osf.S: Use EH_FRAME_FLAGS.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
- * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
- if -fpic/-fPIC/-mrelocatable.
- * src/powerpc/powerpc_closure.S: Likewise.
- * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
- #write in .eh_frame flags.
- * src/sparc/v9.S: Likewise.
- * src/x86/unix64.S: Use EH_FRAME_FLAGS.
- * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
- * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
-
-2003-05-07 Jeff Sturm <jsturm@one-point.com>
-
- Fixes PR bootstrap/10656
- * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
- support for .register pseudo-op.
- * src/sparc/v8.S: Use it.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2003-04-18 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (POWERPC64): Define if 64-bit.
- (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
- Make it the default on POWERPC64.
- (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
- * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
- * configure: Rebuilt.
- * src/powerpc/ffi.c (hidden): Define.
- (ffi_prep_args_SYSV): Renamed from
- ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
- (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
- ASM_NEEDS_REGISTERS64): New.
- (ffi_prep_args64): New function.
- (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
- (ffi_call): Likewise.
- (ffi_prep_closure): Likewise.
- (flush_icache): Surround by #ifndef POWERPC64.
- (ffi_dblfl): New union type.
- (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
- (ffi_closure_helper_LINUX64): New function.
- * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
- __powerpc64__.
- * src/powerpc/sysv.S: Likewise.
- (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
- * src/powerpc/linux64.S: New file.
- * src/powerpc/linux64_closure.S: New file.
- * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
- src/powerpc/linux64_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
- * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
- closure_test_fn3): Fix result printing on big-endian 64-bit
- machines.
- (main): Print tst2_arg instead of uninitialized tst2_result.
-
- * src/ffitest.c (main): Hide what closure pointer really points to
- from the compiler.
-
-2003-04-16 Richard Earnshaw <rearnsha@arm.com>
-
- * configure.in (arm-*-netbsdelf*): Add configuration.
- (configure): Regenerated.
-
-2003-04-04 Loren J. Rittle <ljrittle@acm.org>
-
- * include/Makefile.in: Regenerate.
-
-2003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
-
- * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
- bit mode.
- * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
- Receive closure pointer through parameter, read args using
- __builtin_dwarf_cfa.
- (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12 Andreas Schwab <schwab@suse.de>
-
- * configure.in: Avoid trailing /. in toolexeclibdir.
- * configure: Rebuilt.
-
-2003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/powerpc/darwin_closure.S:
- Fix alignement bug, allocate 8 bytes for the result.
- * libffi/src/powerpc/aix_closure.S:
- Likewise.
- * libffi/src/powerpc/ffi_darwin.c:
- Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06 Jakub Jelinek <jakub@redhat.com>
-
- * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
- attribute.
-
-2003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
- Andreas Schwab <schwab@suse.de>
-
- * configure.in: Adjust command to source config-ml.in to account
- for changes to the libffi_basedir definition.
- (libffi_basedir): Remove ${srcdir} from value and include trailing
- slash if nonempty.
-
- * configure: Regenerate.
-
-2003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
- * src/x86/ffi64.c (ffi_prep_closure): New.
- (ffi_closure_UNIX64_inner): New.
- * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
- Remove USE_LIBDIR conditional.
- * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
- * Makefile.in, configure: Rebuilt.
-
-2003-01027 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
- * Makefile.in: Regenerate.
-
-2003-01-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
- unwind info.
-
-2003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Add unwind info.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
- (ffi_prep_cif_machdep): Likewise.
- * src/x86/unix64.S: Add unwind info.
-
-2003-01-14 Andreas Jaeger <aj@suse.de>
-
- * src/ffitest.c (main): Only use ffi_closures if those are
- supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/ffitest.c
- add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
- * libffi/src/powerpc/ffi.c
- fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c: Remove RCS version string.
- * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
- * src/ffitest.c (main): Use static storage for closure.
- * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
- * src/sparc/v8.S (ffi_closure_v8): New.
- * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10 Ranjit Mathew <rmathew@hotmail.com>
-
- * include/ffi.h.in: Added FFI_STDCALL ffi_type
- enumeration for X86_WIN32.
- * src/x86/win32.S: Added ffi_call_STDCALL function
- definition.
- * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
- switch cases for recognising FFI_STDCALL and
- calling ffi_call_STDCALL if target is X86_WIN32.
- * src/ffitest.c (my_stdcall_strlen/stdcall_many):
- stdcall versions of the "my_strlen" and "many"
- test functions (for X86_WIN32).
- Added test cases to test stdcall invocation using
- these functions.
-
-2002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26 Jim Wilson <wilson@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23 H.J. Lu <hjl@gnu.org>
-
- * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
- Include ../config/accross.m4.
- * aclocal.m4; Rebuild.
- * configure: Likewise.
-
-2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11 DJ Delorie <dj@redhat.com>
-
- * configure.in: Look for common files in the right place.
-
-2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
- raw data as _Jv_word values, not ffi_raw.
- (ffi_java_ptrarray_to_raw): Likewise.
- (ffi_java_rvalue_to_raw): New function.
- (ffi_java_raw_call): Call it.
- (ffi_java_raw_to_rvalue): New function.
- (ffi_java_translate_args): Call it.
- * src/ffitest.c (closure_test_fn): Interpret return value
- as ffi_arg, not int.
- * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
- FFI_TYPE_POINTER case.
- (ffi_closure_helper_SYSV): Likewise. Also, assume return
- values extended to word size.
-
-2002-10-02 Andreas Jaeger <aj@suse.de>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01 Bo Thorsen <bo@smetana.suse.de>
-
- * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
-
- * configure.in: Add s390x-*-linux-* target.
- * configure: Regenerate.
- * include/ffi.h.in: Define S390X for s390x targets.
- (FFI_CLOSURES): Define for s390/s390x.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
- * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
- * src/s390/ffi.c: Major rework of existing code. Add support for
- s390x targets. Add closure support.
- * src/s390/sysv.S: Likewise.
-
-2002-09-29 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: Fix typo.
-
-2002-09-28 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
- has defined __USER_LABEL_PREFIX__, then use it in CNAME.
- (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27 Bo Thorsen <bo@suse.de>
-
- * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * configure.in (sh[34]*-*-linux*): Add brackets.
- * configure: Regenerate.
-
-2002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * Makefile.am: Add SH support.
- * Makefile.in: Regenerate.
- * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
- * configure: Regenerate.
- * include/ffi.h.in: Add SH support.
- * src/sh/ffi.c: New file.
- * src/sh/sysv.S: New file.
- * src/types.c: Add SH support.
-
-2002-07-16 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi64.c: New file that adds x86-64 support.
- * src/x86/unix64.S: New file that handles argument setup for
- x86-64.
- * src/x86/sysv.S: Don't use this on x86-64.
- * src/x86/ffi.c: Don't use this on x86-64.
- Remove unused vars.
- * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
- for x86-64.
- * src/ffitest.c (struct6): New test that tests a special case in
- the x86-64 ABI.
- (struct7): Likewise.
- (struct8): Likewise.
- (struct9): Likewise.
- (closure_test_fn): Silence warning about this when it's not used.
- (main): Add the new tests.
- (main): Fix a couple of wrong casts and silence some compiler warnings.
- * include/ffi.h.in: Add x86-64 ABI definition.
- * fficonfig.h.in: Regenerate.
- * Makefile.am: Add x86-64 support.
- * configure.in: Likewise.
- * Makefile.in: Regenerate.
- * configure: Likewise.
-
-2002-06-24 Bo Thorsen <bo@suse.de>
-
- * src/types.c: Merge settings for similar architectures.
- Add x86-64 sizes and alignments.
-
-2002-06-23 Bo Thorsen <bo@suse.de>
-
- * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
- * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
- * src/mips/ffi.c (ffi_prep_args): Likewise.
- * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18 H.J. Lu (hjl@gnu.org)
-
- * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
- (libffi_la_SOURCES): Support MIPS_LINUX.
- (libffi_convenience_la_SOURCES): Likewise.
- * Makefile.in: Regenerated.
-
- * configure.in (mips64*-*): Skip.
- (mips*-*-linux*): New.
- * configure: Regenerated.
-
- * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
-
-2002-05-27 Roger Sayle <roger@eyesopen.com>
-
- * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
- fix formatting.
-
-2002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
- beginning of function (for older apple cc).
-
-2002-05-08 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
- script entry, and set LD to it when configuring multilibs.
- * configure: Rebuilt.
-
-2002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (sparc64-*-netbsd*): Add target.
- (sparc-*-netbsdelf*): Likewise.
- * configure: Regenerate.
-
-2002-04-28 David S. Miller <davem@redhat.com>
-
- * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
-
- * Makefile.am: Add Linux for S/390 support.
- * Makefile.in: Regenerate.
- * configure.in: Add Linux for S/390 support.
- * configure: Regenerate.
- * include/ffi.h.in: Add Linux for S/390 support.
- * src/s390/ffi.c: New file from libffi CVS tree.
- * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
- %r_disp32().
- * src/sparc/v8.S: Use it.
- * src/sparc/v9.S: Likewise.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2002-04-08 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
- correctly.
- * src/ia64/unix.S: Add unwind information. Fix comments.
- Save sp in a way that's compatible with unwind info.
- (ffi_call_unix): Correctly restore sp in all cases.
- * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08 Jakub Jelinek <jakub@redhat.com>
-
- * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (alpha*-*-netbsd*): Add target.
- * configure: Regenerate.
-
-2002-04-04 Jeff Sturm <jsturm@one-point.com>
-
- * src/sparc/v8.S: Add unwind info.
- * src/sparc/v9.S: Likewise.
-
-2002-03-30 Krister Walfridsson <cato@df.lth.se>
-
- * configure.in: Enable i*86-*-netbsdelf*.
- * configure: Rebuilt.
-
-2002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
-
- PR other/2620
- * src/mips/n32.s: Delete
- * src/mips/o32.s: Delete
-
-2002-03-21 Loren J. Rittle <ljrittle@acm.org>
-
- * configure.in: Enable alpha*-*-freebsd*.
- * configure: Rebuilt.
-
-2002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * Makefile.am: libfficonvenience -> libffi_convenience.
- * Makefile.in: Rebuilt.
-
- * Makefile.am: Define ffitest_OBJECTS.
- * Makefile.in: Rebuilt.
-
-2002-03-07 Andreas Tobler <toa@pop.agri.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
- (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
- (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
- * Makefile.in: Regenerate.
- * include/ffi.h.in: Add AIX and Darwin closure definitions.
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
- (flush_icache, flush_range): New functions.
- (ffi_closure_helper_DARWIN): New function.
- * src/powerpc/aix_closure.S: New file.
- * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add typedef for ffi_arg.
- * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21 Andreas Tobler <toa@pop.agri.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
- number of GPRs for floating-point arguments.
-
-2002-01-31 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Replace CHECK_SIZEOF and endian tests with
- cross-compiler friendly macros.
- * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
- macros.
-
-2002-01-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): New.
- * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
- (TARGET_SRC_POWERPC_AIX): New.
- (POWERPC_AIX): New stanza.
- * Makefile.in: Regenerate.
- * configure.in: Add AIX case.
- * configure: Regenerate.
- * include/ffi.h.in (ffi_abi): Add FFI_AIX.
- * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
- size. Fix "long double" support.
- (ffi_call): Add FFI_AIX case.
- * src/powerpc/aix.S: New.
-
-2001-10-09 John Hornkvist <john@toastedmarshmallow.com>
-
- Implement Darwin PowerPC ABI.
- * configure.in: Handle powerpc-*-darwin*.
- * Makefile.am: Set source files for POWERPC_DARWIN.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
- * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
- POWERPC_DARWIN.
- * src/powerpc/darwin.S: New file.
- * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .balign directive.
- Use C style comments.
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
- Fixes PR bootstrap/3563.
-
-2001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.in: Recognize sparc*-sun-* host.
- * configure: Regenerate.
-
-2001-06-06 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S: Add unwind info.
- * src/powerpc/sysv.S: Add unwind info.
- * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31 Jeff Sturm <jsturm@one-point.com>
-
- * configure.in: Fix AC_ARG_ENABLE usage.
- * configure: Rebuilt.
-
-2001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * configure.in: Remove warning about beta code.
- * configure: Rebuilt.
-
-2001-04-25 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/ia64/unix.S: Restore stack pointer when returning from
- ffi_closure_UNIX.
- * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18 Jim Wilson <wilson@redhat.com>
-
- * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
- to eliminate RAW DV.
-
-2001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
-
- * Makefile.am: Make a libtool convenience library.
- * Makefile.in: Rebuilt.
-
-2001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Use different syntax for subdirectory creation.
- * configure: Rebuilt.
-
-2001-03-27 Jon Beniston <jon@beniston.com>
-
- * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
- * configure: Rebuilt.
- * Makefile.am: Added X86_WIN32 target support.
- * Makefile.in: Rebuilt.
-
- * include/ffi.h.in: Added X86_WIN32 target support.
-
- * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
- * src/types.c: Added X86_WIN32 target support.
-
- * src/x86/win32.S: New file. Based on sysv.S, but with EH
- stuff removed and made to work with CygWin's gas.
-
-2001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Make target subdirectory in build dir.
- * Makefile.am: Override suffix based rules to specify correct output
- subdirectory.
- * Makefile.in: Rebuilt.
- * configure: Rebuilt.
-
-2001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
-
- * src/powerpc/ppc_closure.S: New file.
- * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
- involving long long and register pairs.
- (ffi_prep_closure): New function.
- (flush_icache): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * Makefile.in: Rebuilt.
- * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19 Tom Tromey <tromey@redhat.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02 Nick Clifton <nickc@redhat.com>
-
- * include/ffi.h.in: Remove RCS ident string.
- * include/ffi_mips.h: Remove RCS ident string.
- * src/debug.c: Remove RCS ident string.
- * src/ffitest.c: Remove RCS ident string.
- * src/prep_cif.c: Remove RCS ident string.
- * src/types.c: Remove RCS ident string.
- * src/alpha/ffi.c: Remove RCS ident string.
- * src/alpha/osf.S: Remove RCS ident string.
- * src/arm/ffi.c: Remove RCS ident string.
- * src/arm/sysv.S: Remove RCS ident string.
- * src/mips/ffi.c: Remove RCS ident string.
- * src/mips/n32.S: Remove RCS ident string.
- * src/mips/o32.S: Remove RCS ident string.
- * src/sparc/ffi.c: Remove RCS ident string.
- * src/sparc/v8.S: Remove RCS ident string.
- * src/sparc/v9.S: Remove RCS ident string.
- * src/x86/ffi.c: Remove RCS ident string.
- * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * include/ffi.h.in: Change sourceware.cygnus.com references to
- gcc.gnu.org.
-
-2000-12-09 Richard Henderson <rth@redhat.com>
-
- * src/alpha/ffi.c (ffi_call): Simplify struct return test.
- (ffi_closure_osf_inner): Index rather than increment avalue
- and arg_types. Give ffi_closure_osf the raw return value type.
- * src/alpha/osf.S (ffi_closure_osf): Handle return value type
- promotion.
-
-2000-12-07 Richard Henderson <rth@redhat.com>
-
- * src/raw_api.c (ffi_translate_args): Fix typo.
- (ffi_prep_closure): Likewise.
-
- * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
- FFI_TRAMPOLINE_SIZE.
- * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
- cif->bytes for new ffi_call_osf implementation.
- (ffi_prep_args): Absorb into ...
- (ffi_call): ... here. Do all stack allocation here and
- avoid a callback function.
- (ffi_prep_closure, ffi_closure_osf_inner): New.
- * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
- (ffi_closure_osf): New.
-
-2000-09-10 Alexandre Oliva <aoliva@redhat.com>
-
- * config.guess, config.sub, install-sh: Removed.
- * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
- * Makefile.in: Rebuilt.
-
- * acinclude.m4: Include libtool macros from the top level.
- * aclocal.m4, configure: Rebuilt.
-
-2000-08-22 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
- * configure: Rebuilt.
-
-2000-05-11 Scott Bambrough <scottb@netwinder.org>
-
- * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
- memory correctly. Use conditional instructions, not branches where
- possible.
-
-2000-05-04 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Match `arm*-*-linux-*'.
- From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (SUBDIRS): Define.
- (AM_MAKEFLAGS): Likewise.
- (Multilib support.): Add section.
- * Makefile.in: Rebuilt.
- * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
- New variables. Set for gcc using -print-multi-lib. Export them
- to libtool.
- (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
- * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
- for -shared links.
- (extra_compiler_flags_value, extra_compiler_flags): Check these
- for extra compiler options which need to be passed down in
- compiler_flags.
-
-2000-04-16 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
- Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
- * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
- Replace all void * sizeofs with sizeof(int).
- Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
- different than DOUBLE.
- Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
- (ffi_prep_args_v9): New function.
- (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
- (ffi_V9_return_struct): New function.
- (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
- 32bit code (not yet cross-arch calls).
- * src/sparc/v8.S: Add struct return delay nop.
- Handle long long.
- * src/sparc/v9.S: New file.
- * src/prep_cif.c (ffi_prep_cif): Return structure pointer
- is used on sparc64 only for structures larger than 32 bytes.
- Pass by reference for structures is done for structure arguments
- larger than 16 bytes.
- * src/ffitest.c (main): Use 64bit rint on sparc64.
- Run long long tests on sparc.
- * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
- sparc64.
- (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
- on sparc64.
- * configure.in (sparc-*-linux*): New supported target.
- (sparc64-*-linux*): Likewise.
- * configure: Rebuilt.
- * Makefile.am: Add v9.S to SPARC files.
- * Makefile.in: Likewise.
- (LINK): Surround $(CCLD) into double quotes, so that multilib
- compiles work correctly.
-
-2000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: (i*86-*-solaris*): New libffi target. Patch
- proposed by Bryce McKinlay.
-
-2000-03-20 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
-
- * config.guess, config.sub: Update from the gcc tree.
- Fix for PR libgcj/168.
-
-2000-03-03 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Fixed ia64 by hand.
-
- * configure: Rebuilt.
- * configure.in (--enable-multilib): New option.
- (libffi_basedir): New subst.
- (AC_OUTPUT): Added multilib code.
-
-2000-03-02 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
- directory name.
-
-2000-02-25 Hans Boehm <boehm@acm.org>
-
- * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
- files.
- * src/raw_api.c (ffi_translate_args): Fixed typo in argument
- list.
- (ffi_prep_raw_closure): Use ffi_translate_args, not
- ffi_closure_translate.
- * src/java_raw_api.c: New file.
- * src/ffitest.c (closure_test_fn): New function.
- (main): Define `rint' as long long on IA64. Added new test when
- FFI_CLOSURES is defined.
- * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
- (ffi_abi): Recognize IA64.
- (ffi_raw): Added `flt' field.
- Added "Java raw API" code.
- * configure.in: Recognize ia64.
- * Makefile.am (TARGET_SRC_IA64): New macro.
- (libffi_la_common_SOURCES): Added java_raw_api.c.
- (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01 Tom Tromey <tromey@cygnus.com>
-
- * include/ffi.h.in: Removed PACKAGE and VERSION defines and
- undefs.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
- * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
- Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
- * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09 Anthony Green <green@cygnus.com>
-
- * include/ffi.h.in: Try to work around messy header problem
- with PACKAGE and VERSION.
-
- * configure: Rebuilt.
- * configure.in: Change version to 2.00-beta.
-
- * fficonfig.h.in: Rebuilt.
- * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
- * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
-
- * src/x86/ffi.c (ffi_closure_SYSV): New function.
- (ffi_prep_incoming_args_SYSV): Ditto.
- (ffi_prep_closure): Ditto.
- (ffi_closure_raw_SYSV): Ditto.
- (ffi_prep_raw_closure): More ditto.
- (ffi_call_raw): Final ditto.
-
- * include/ffi.h.in: Add definitions for closure and raw API.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
- FFI_TYPE_UINT64.
-
- * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
- * src/raw_api.c: New file.
-
- * include/ffi.h.in (ffi_raw): New type.
- (UINT_ARG, SINT_ARG): New defines.
- (ffi_closure, ffi_raw_closure): New types.
- (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
- * configure.in: Add check for endianness and sizeof void*.
-
- * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
- instead of directly.
-
- * configure: Rebuilt.
-
-Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
-
- * configure.in: Add x86 and powerpc BeOS configurations.
- From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09 Anthony Green <green@cygnus.com>
-
- * configure.in: Add warning about this being beta code.
- Remove src/Makefile.am from the picture.
- * configure: Rebuilt.
-
- * Makefile.am: Move logic from src/Makefile.am. Add changes
- to support libffi as a target library.
- * Makefile.in: Rebuilt.
-
- * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
- Upgraded to new autoconf, automake, libtool.
-
- * README: Tweaks.
-
- * LICENSE: Update copyright date.
-
- * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29 Anthony Green <green@cygnus.com>
-
- * include/ChangeLog: Removed.
- * src/ChangeLog: Removed.
- * src/mips/ChangeLog: Removed.
- * src/sparc/ChangeLog: Remboved.
- * src/x86/ChangeLog: Removed.
-
- * ChangeLog.v1: Created.
diff --git a/.pc/aix-ibm-xlc/configure b/.pc/aix-ibm-xlc/configure
deleted file mode 100755
index 23cb992..0000000
--- a/.pc/aix-ibm-xlc/configure
+++ /dev/null
@@ -1,16028 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for libffi 3.0.11-rc2.
-#
-# Report bugs to <http://github.com/atgreen/libffi/issues>.
-#
-#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-# Foundation, Inc.
-#
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in #(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test "x$CONFIG_SHELL" = x; then
- as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '\${1+\"\$@\"}'='\"\$@\"'
- setopt NO_GLOB_SUBST
-else
- case \`(set -o) 2>/dev/null\` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-"
- as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-
-else
- exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1"
- as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
- as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
- eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
- test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-
- test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
- ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
- ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
- ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
- PATH=/empty FPATH=/empty; export PATH FPATH
- test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
- || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
- if (eval "$as_required") 2>/dev/null; then :
- as_have_required=yes
-else
- as_have_required=no
-fi
- if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- as_found=:
- case $as_dir in #(
- /*)
- for as_base in sh bash ksh sh5; do
- # Try only shells that exist, to save several forks.
- as_shell=$as_dir/$as_base
- if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
- CONFIG_SHELL=$as_shell as_have_required=yes
- if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
- break 2
-fi
-fi
- done;;
- esac
- as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
- CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
- if test "x$CONFIG_SHELL" != x; then :
- # We cannot yet assume a decent shell, so we have to provide a
- # neutralization value for shells without unset; and this also
- # works around shells that cannot unset nonexistent variables.
- # Preserve -v and -x to the replacement shell.
- BASH_ENV=/dev/null
- ENV=/dev/null
- (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
- export CONFIG_SHELL
- case $- in # ((((
- *v*x* | *x*v* ) as_opts=-vx ;;
- *v* ) as_opts=-v ;;
- *x* ) as_opts=-x ;;
- * ) as_opts= ;;
- esac
- exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
-fi
-
- if test x$as_have_required = xno; then :
- $as_echo "$0: This script requires a shell more modern than all"
- $as_echo "$0: the shells that I found on your system."
- if test x${ZSH_VERSION+set} = xset ; then
- $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
- $as_echo "$0: be upgraded to zsh 4.3.4 or later."
- else
- $as_echo "$0: Please tell bug-autoconf@gnu.org and
-$0: http://github.com/atgreen/libffi/issues about your
-$0: system, including any error possibly output before this
-$0: message. Then install a modern shell, or manually run
-$0: the script under such a shell if you do have one."
- fi
- exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} # as_fn_exit
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- fi
- $as_echo "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} # as_fn_error
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
- as_lineno_1=$LINENO as_lineno_1a=$LINENO
- as_lineno_2=$LINENO as_lineno_2a=$LINENO
- eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
- test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
- # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
- sed -n '
- p
- /[$]LINENO/=
- ' <$as_myself |
- sed '
- s/[$]LINENO.*/&-/
- t lineno
- b
- :lineno
- N
- :loop
- s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
- t loop
- s/-\n.*//
- ' >$as_me.lineno &&
- chmod +x "$as_me.lineno" ||
- { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensitive to this).
- . "./$as_me.lineno"
- # Exit status is that of the last command.
- exit
-}
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -p'
- fi
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in #(
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-
-test -n "$DJDIR" || exec 7<&0 </dev/null
-exec 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-
-# Identity of this package.
-PACKAGE_NAME='libffi'
-PACKAGE_TARNAME='libffi'
-PACKAGE_VERSION='3.0.11-rc2'
-PACKAGE_STRING='libffi 3.0.11-rc2'
-PACKAGE_BUGREPORT='http://github.com/atgreen/libffi/issues'
-PACKAGE_URL=''
-
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-# include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-# include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='am__EXEEXT_FALSE
-am__EXEEXT_TRUE
-LTLIBOBJS
-LIBOBJS
-toolexeclibdir
-toolexecdir
-FFI_DEBUG_FALSE
-FFI_DEBUG_TRUE
-TARGETDIR
-TARGET
-sys_symbol_underscore
-HAVE_LONG_DOUBLE
-ALLOCA
-PA64_HPUX_FALSE
-PA64_HPUX_TRUE
-PA_HPUX_FALSE
-PA_HPUX_TRUE
-PA_LINUX_FALSE
-PA_LINUX_TRUE
-SH64_FALSE
-SH64_TRUE
-SH_FALSE
-SH_TRUE
-X86_64_FALSE
-X86_64_TRUE
-S390_FALSE
-S390_TRUE
-FRV_FALSE
-FRV_TRUE
-LIBFFI_CRIS_FALSE
-LIBFFI_CRIS_TRUE
-AVR32_FALSE
-AVR32_TRUE
-ARM_FALSE
-ARM_TRUE
-POWERPC_FREEBSD_FALSE
-POWERPC_FREEBSD_TRUE
-POWERPC_DARWIN_FALSE
-POWERPC_DARWIN_TRUE
-POWERPC_AIX_FALSE
-POWERPC_AIX_TRUE
-POWERPC_FALSE
-POWERPC_TRUE
-MOXIE_FALSE
-MOXIE_TRUE
-M68K_FALSE
-M68K_TRUE
-M32R_FALSE
-M32R_TRUE
-IA64_FALSE
-IA64_TRUE
-ALPHA_FALSE
-ALPHA_TRUE
-X86_DARWIN_FALSE
-X86_DARWIN_TRUE
-X86_WIN64_FALSE
-X86_WIN64_TRUE
-X86_WIN32_FALSE
-X86_WIN32_TRUE
-X86_FREEBSD_FALSE
-X86_FREEBSD_TRUE
-X86_FALSE
-X86_TRUE
-SPARC_FALSE
-SPARC_TRUE
-MIPS_FALSE
-MIPS_TRUE
-AM_LTLDFLAGS
-AM_RUNTESTFLAGS
-TESTSUBDIR_FALSE
-TESTSUBDIR_TRUE
-MAINT
-MAINTAINER_MODE_FALSE
-MAINTAINER_MODE_TRUE
-CPP
-OTOOL64
-OTOOL
-LIPO
-NMEDIT
-DSYMUTIL
-MANIFEST_TOOL
-RANLIB
-ac_ct_AR
-AR
-DLLTOOL
-OBJDUMP
-LN_S
-NM
-ac_ct_DUMPBIN
-DUMPBIN
-LD
-FGREP
-EGREP
-GREP
-SED
-LIBTOOL
-am__fastdepCCAS_FALSE
-am__fastdepCCAS_TRUE
-CCASDEPMODE
-CCASFLAGS
-CCAS
-am__fastdepCC_FALSE
-am__fastdepCC_TRUE
-CCDEPMODE
-AMDEPBACKSLASH
-AMDEP_FALSE
-AMDEP_TRUE
-am__quote
-am__include
-DEPDIR
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-am__untar
-am__tar
-AMTAR
-am__leading_dot
-SET_MAKE
-AWK
-mkdir_p
-MKDIR_P
-INSTALL_STRIP_PROGRAM
-STRIP
-install_sh
-MAKEINFO
-AUTOHEADER
-AUTOMAKE
-AUTOCONF
-ACLOCAL
-VERSION
-PACKAGE
-CYGPATH_W
-am__isrc
-INSTALL_DATA
-INSTALL_SCRIPT
-INSTALL_PROGRAM
-target_os
-target_vendor
-target_cpu
-target
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-enable_dependency_tracking
-enable_shared
-enable_static
-with_pic
-enable_fast_install
-with_gnu_ld
-with_sysroot
-enable_libtool_lock
-enable_maintainer_mode
-enable_debug
-enable_structs
-enable_raw_api
-enable_purify_safety
-'
- ac_precious_vars='build_alias
-host_alias
-target_alias
-CCAS
-CCASFLAGS
-CPP
-CPPFLAGS'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval $ac_prev=\$ac_option
- ac_prev=
- continue
- fi
-
- case $ac_option in
- *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
- *=) ac_optarg= ;;
- *) ac_optarg=yes ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case $ac_dashdash$ac_option in
- --)
- ac_dashdash=yes ;;
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir=$ac_optarg ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build_alias ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build_alias=$ac_optarg ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file=$ac_optarg ;;
-
- --config-cache | -C)
- cache_file=config.cache ;;
-
- -datadir | --datadir | --datadi | --datad)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=*)
- datadir=$ac_optarg ;;
-
- -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
- | --dataroo | --dataro | --datar)
- ac_prev=datarootdir ;;
- -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
- | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
- datarootdir=$ac_optarg ;;
-
- -disable-* | --disable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=no ;;
-
- -docdir | --docdir | --docdi | --doc | --do)
- ac_prev=docdir ;;
- -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
- docdir=$ac_optarg ;;
-
- -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
- ac_prev=dvidir ;;
- -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
- dvidir=$ac_optarg ;;
-
- -enable-* | --enable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=\$ac_optarg ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix=$ac_optarg ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he | -h)
- ac_init_help=long ;;
- -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
- ac_init_help=recursive ;;
- -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
- ac_init_help=short ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host_alias ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host_alias=$ac_optarg ;;
-
- -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
- ac_prev=htmldir ;;
- -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
- | --ht=*)
- htmldir=$ac_optarg ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir=$ac_optarg ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir=$ac_optarg ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir=$ac_optarg ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir=$ac_optarg ;;
-
- -localedir | --localedir | --localedi | --localed | --locale)
- ac_prev=localedir ;;
- -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
- localedir=$ac_optarg ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst | --locals)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
- localstatedir=$ac_optarg ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir=$ac_optarg ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c | -n)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir=$ac_optarg ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix=$ac_optarg ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix=$ac_optarg ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix=$ac_optarg ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name=$ac_optarg ;;
-
- -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
- ac_prev=pdfdir ;;
- -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
- pdfdir=$ac_optarg ;;
-
- -psdir | --psdir | --psdi | --psd | --ps)
- ac_prev=psdir ;;
- -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
- psdir=$ac_optarg ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir=$ac_optarg ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir=$ac_optarg ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site=$ac_optarg ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir=$ac_optarg ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir=$ac_optarg ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target_alias ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target_alias=$ac_optarg ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers | -V)
- ac_init_version=: ;;
-
- -with-* | --with-*)
- ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=\$ac_optarg ;;
-
- -without-* | --without-*)
- ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=no ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes=$ac_optarg ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries=$ac_optarg ;;
-
- -*) as_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
- ;;
-
- *=*)
- ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
- # Reject names that are not valid shell variable names.
- case $ac_envvar in #(
- '' | [0-9]* | *[!_$as_cr_alnum]* )
- as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
- esac
- eval $ac_envvar=\$ac_optarg
- export $ac_envvar ;;
-
- *)
- # FIXME: should be removed in autoconf 3.0.
- $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
- expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- as_fn_error $? "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
- case $enable_option_checking in
- no) ;;
- fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
- *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
- esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
- datadir sysconfdir sharedstatedir localstatedir includedir \
- oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir
-do
- eval ac_val=\$$ac_var
- # Remove trailing slashes.
- case $ac_val in
- */ )
- ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
- eval $ac_var=\$ac_val;;
- esac
- # Be sure to have absolute directory names.
- case $ac_val in
- [\\/$]* | ?:[\\/]* ) continue;;
- NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
- esac
- as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
- if test "x$build_alias" = x; then
- cross_compiling=maybe
- $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
- If a cross compiler is detected then cross compile mode will be used" >&2
- elif test "x$build_alias" != "x$host_alias"; then
- cross_compiling=yes
- fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
- as_fn_error $? "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
- as_fn_error $? "pwd does not report name of working directory"
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then the parent directory.
- ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_myself" : 'X\(//\)[^/]' \| \
- X"$as_myself" : 'X\(//\)$' \| \
- X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- srcdir=$ac_confdir
- if test ! -r "$srcdir/$ac_unique_file"; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
- test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
- as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
- cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
- pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
- srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
- eval ac_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_env_${ac_var}_value=\$${ac_var}
- eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat <<_ACEOF
-\`configure' configures libffi 3.0.11-rc2 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE. See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
- -h, --help display this help and exit
- --help=short display options specific to this package
- --help=recursive display the short help of all the included packages
- -V, --version display version information and exit
- -q, --quiet, --silent do not print \`checking ...' messages
- --cache-file=FILE cache test results in FILE [disabled]
- -C, --config-cache alias for \`--cache-file=config.cache'
- -n, --no-create do not create output files
- --srcdir=DIR find the sources in DIR [configure dir or \`..']
-
-Installation directories:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
- --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
- --infodir=DIR info documentation [DATAROOTDIR/info]
- --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
- --mandir=DIR man documentation [DATAROOTDIR/man]
- --docdir=DIR documentation root [DATAROOTDIR/doc/libffi]
- --htmldir=DIR html documentation [DOCDIR]
- --dvidir=DIR dvi documentation [DOCDIR]
- --pdfdir=DIR pdf documentation [DOCDIR]
- --psdir=DIR ps documentation [DOCDIR]
-_ACEOF
-
- cat <<\_ACEOF
-
-Program names:
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM run sed PROGRAM on installed program names
-
-System types:
- --build=BUILD configure for building on BUILD [guessed]
- --host=HOST cross-compile to build programs to run on HOST [BUILD]
- --target=TARGET configure for building compilers for TARGET [HOST]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
- case $ac_init_help in
- short | recursive ) echo "Configuration of libffi 3.0.11-rc2:";;
- esac
- cat <<\_ACEOF
-
-Optional Features:
- --disable-option-checking ignore unrecognized --enable/--with options
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --disable-dependency-tracking speeds up one-time build
- --enable-dependency-tracking do not reject slow dependency extractors
- --enable-shared[=PKGS] build shared libraries [default=yes]
- --enable-static[=PKGS] build static libraries [default=yes]
- --enable-fast-install[=PKGS]
- optimize for fast installation [default=yes]
- --disable-libtool-lock avoid locking (might break parallel builds)
- --enable-maintainer-mode enable make rules and dependencies not useful
- (and sometimes confusing) to the casual installer
- --enable-debug debugging mode
- --disable-structs omit code for struct support
- --disable-raw-api make the raw api unavailable
- --enable-purify-safety purify-safe mode
-
-Optional Packages:
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --with-pic try to use only PIC/non-PIC objects [default=use
- both]
- --with-gnu-ld assume the C compiler uses GNU ld [default=no]
- --with-sysroot=DIR Search for dependent libraries within DIR
- (or the compiler's sysroot if not specified).
-
-Some influential environment variables:
- CC C compiler command
- CFLAGS C compiler flags
- LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
- nonstandard directory <lib dir>
- LIBS libraries to pass to the linker, e.g. -l<library>
- CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
- you have headers in a nonstandard directory <include dir>
- CCAS assembler compiler command (defaults to CC)
- CCASFLAGS assembler compiler flags (defaults to CFLAGS)
- CPP C preprocessor
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to <http://github.com/atgreen/libffi/issues>.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
- # If there are subdirs, report their specific --help.
- for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d "$ac_dir" ||
- { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
- continue
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
- cd "$ac_dir" || { ac_status=$?; continue; }
- # Check for guested configure.
- if test -f "$ac_srcdir/configure.gnu"; then
- echo &&
- $SHELL "$ac_srcdir/configure.gnu" --help=recursive
- elif test -f "$ac_srcdir/configure"; then
- echo &&
- $SHELL "$ac_srcdir/configure" --help=recursive
- else
- $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi || ac_status=$?
- cd "$ac_pwd" || { ac_status=$?; break; }
- done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
- cat <<\_ACEOF
-libffi configure 3.0.11-rc2
-generated by GNU Autoconf 2.68
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
- exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-# ac_fn_c_try_compile LINENO
-# --------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext
- if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_compile
-
-# ac_fn_c_try_link LINENO
-# -----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext conftest$ac_exeext
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext && {
- test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
- }; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
- # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
- # interfere with the next link command; also delete a directory that is
- # left behind by Apple's compiler. We do this before executing the actions.
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_link
-
-# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists and can be compiled using the include files in
-# INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- eval "$3=yes"
-else
- eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_compile
-
-# ac_fn_c_try_cpp LINENO
-# ----------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } > conftest.i && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_cpp
-
-# ac_fn_c_try_run LINENO
-# ----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
-ac_fn_c_try_run ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
- ac_retval=0
-else
- $as_echo "$as_me: program exited with status $ac_status" >&5
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=$ac_status
-fi
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_run
-
-# ac_fn_c_check_func LINENO FUNC VAR
-# ----------------------------------
-# Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_c_check_func ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $2 innocuous_$2
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $2 (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $2
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $2 ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_$2 || defined __stub___$2
-choke me
-#endif
-
-int
-main ()
-{
-return $2 ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- eval "$3=yes"
-else
- eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_func
-
-# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists, giving a warning if it cannot be compiled using
-# the include files in INCLUDES and setting the cache variable VAR
-# accordingly.
-ac_fn_c_check_header_mongrel ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if eval \${$3+:} false; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
- # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_header_compiler=yes
-else
- ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <$2>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- ac_header_preproc=yes
-else
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
- yes:no: )
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
- ;;
- no:yes:* )
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( $as_echo "## ------------------------------------------------------ ##
-## Report this to http://github.com/atgreen/libffi/issues ##
-## ------------------------------------------------------ ##"
- ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_mongrel
-
-# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
-# -------------------------------------------
-# Tests whether TYPE exists after having included INCLUDES, setting cache
-# variable VAR accordingly.
-ac_fn_c_check_type ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- eval "$3=no"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-if (sizeof ($2))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-if (sizeof (($2)))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
- eval "$3=yes"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_type
-
-# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
-# --------------------------------------------
-# Tries to find the compile-time value of EXPR in a program that includes
-# INCLUDES, setting VAR accordingly. Returns whether the value could be
-# computed
-ac_fn_c_compute_int ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if test "$cross_compiling" = yes; then
- # Depending upon the size, compute the lo and hi bounds.
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_lo=0 ac_mid=0
- while :; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_hi=$ac_mid; break
-else
- as_fn_arith $ac_mid + 1 && ac_lo=$as_val
- if test $ac_lo -le $ac_mid; then
- ac_lo= ac_hi=
- break
- fi
- as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) < 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_hi=-1 ac_mid=-1
- while :; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_lo=$ac_mid; break
-else
- as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
- if test $ac_mid -le $ac_hi; then
- ac_lo= ac_hi=
- break
- fi
- as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- ac_lo= ac_hi=
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
- as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_hi=$ac_mid
-else
- as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in #((
-?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
-'') ac_retval=1 ;;
-esac
- else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-static long int longval () { return $2; }
-static unsigned long int ulongval () { return $2; }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
- FILE *f = fopen ("conftest.val", "w");
- if (! f)
- return 1;
- if (($2) < 0)
- {
- long int i = longval ();
- if (i != ($2))
- return 1;
- fprintf (f, "%ld", i);
- }
- else
- {
- unsigned long int i = ulongval ();
- if (i != ($2))
- return 1;
- fprintf (f, "%lu", i);
- }
- /* Do not output a trailing newline, as this causes \r\n confusion
- on some platforms. */
- return ferror (f) || fclose (f) != 0;
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- echo >>conftest.val; read $3 <conftest.val; ac_retval=0
-else
- ac_retval=1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-rm -f conftest.val
-
- fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_compute_int
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by libffi $as_me 3.0.11-rc2, which was
-generated by GNU Autoconf 2.68. Invocation command line was
-
- $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
-
-/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
-/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
-/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- $as_echo "PATH: $as_dir"
- done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
- for ac_arg
- do
- case $ac_arg in
- -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- continue ;;
- *\'*)
- ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- case $ac_pass in
- 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
- 2)
- as_fn_append ac_configure_args1 " '$ac_arg'"
- if test $ac_must_keep_next = true; then
- ac_must_keep_next=false # Got value, back to normal.
- else
- case $ac_arg in
- *=* | --config-cache | -C | -disable-* | --disable-* \
- | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
- | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
- | -with-* | --with-* | -without-* | --without-* | --x)
- case "$ac_configure_args0 " in
- "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
- esac
- ;;
- -* ) ac_must_keep_next=true ;;
- esac
- fi
- as_fn_append ac_configure_args " '$ac_arg'"
- ;;
- esac
- done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log. We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
- # Save into config.log some information that might help in debugging.
- {
- echo
-
- $as_echo "## ---------------- ##
-## Cache variables. ##
-## ---------------- ##"
- echo
- # The following way of writing the cache mishandles newlines in values,
-(
- for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
- (set) 2>&1 |
- case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- sed -n \
- "s/'\''/'\''\\\\'\'''\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
- ;; #(
- *)
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-)
- echo
-
- $as_echo "## ----------------- ##
-## Output variables. ##
-## ----------------- ##"
- echo
- for ac_var in $ac_subst_vars
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
-
- if test -n "$ac_subst_files"; then
- $as_echo "## ------------------- ##
-## File substitutions. ##
-## ------------------- ##"
- echo
- for ac_var in $ac_subst_files
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
- fi
-
- if test -s confdefs.h; then
- $as_echo "## ----------- ##
-## confdefs.h. ##
-## ----------- ##"
- echo
- cat confdefs.h
- echo
- fi
- test "$ac_signal" != 0 &&
- $as_echo "$as_me: caught signal $ac_signal"
- $as_echo "$as_me: exit $exit_status"
- } >&5
- rm -f core *.core core.conftest.* &&
- rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
- exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
- trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-$as_echo "/* confdefs.h */" > confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
- # We do not want a PATH search for config.site.
- case $CONFIG_SITE in #((
- -*) ac_site_file1=./$CONFIG_SITE;;
- */*) ac_site_file1=$CONFIG_SITE;;
- *) ac_site_file1=./$CONFIG_SITE;;
- esac
-elif test "x$prefix" != xNONE; then
- ac_site_file1=$prefix/share/config.site
- ac_site_file2=$prefix/etc/config.site
-else
- ac_site_file1=$ac_default_prefix/share/config.site
- ac_site_file2=$ac_default_prefix/etc/config.site
-fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
- test "x$ac_site_file" = xNONE && continue
- if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
- sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file" \
- || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5; }
- fi
-done
-
-if test -r "$cache_file"; then
- # Some versions of bash will fail to source /dev/null (special files
- # actually), so we avoid doing that. DJGPP emulates it as a regular file.
- if test /dev/null != "$cache_file" && test -f "$cache_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
- case $cache_file in
- [\\/]* | ?:[\\/]* ) . "$cache_file";;
- *) . "./$cache_file";;
- esac
- fi
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
- >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
- eval ac_old_set=\$ac_cv_env_${ac_var}_set
- eval ac_new_set=\$ac_env_${ac_var}_set
- eval ac_old_val=\$ac_cv_env_${ac_var}_value
- eval ac_new_val=\$ac_env_${ac_var}_value
- case $ac_old_set,$ac_new_set in
- set,)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,set)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,);;
- *)
- if test "x$ac_old_val" != "x$ac_new_val"; then
- # differences in whitespace do not lead to failure.
- ac_old_val_w=`echo x $ac_old_val`
- ac_new_val_w=`echo x $ac_new_val`
- if test "$ac_old_val_w" != "$ac_new_val_w"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- ac_cache_corrupted=:
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
- eval $ac_var=\$ac_old_val
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
-$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
-$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
- fi;;
- esac
- # Pass precious variables to config.status.
- if test "$ac_new_set" = set; then
- case $ac_new_val in
- *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
- *) ac_arg=$ac_var=$ac_new_val ;;
- esac
- case " $ac_configure_args " in
- *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
- *) as_fn_append ac_configure_args " '$ac_arg'" ;;
- esac
- fi
-done
-if $ac_cache_corrupted; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-ac_config_headers="$ac_config_headers fficonfig.h"
-
-
-ac_aux_dir=
-for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
- if test -f "$ac_dir/install-sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f "$ac_dir/install.sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- elif test -f "$ac_dir/shtool"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/shtool install -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
-
-
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
- as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if ${ac_cv_build+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
- ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
- as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if ${ac_cv_host+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "x$host_alias" = x; then
- ac_cv_host=$ac_cv_build
-else
- ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
-$as_echo_n "checking target system type... " >&6; }
-if ${ac_cv_target+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "x$target_alias" = x; then
- ac_cv_target=$ac_cv_host
-else
- ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
-$as_echo "$ac_cv_target" >&6; }
-case $ac_cv_target in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
-esac
-target=$ac_cv_target
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_target
-shift
-target_cpu=$1
-target_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-target_os=$*
-IFS=$ac_save_IFS
-case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
-
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-test -n "$target_alias" &&
- test "$program_prefix$program_suffix$program_transform_name" = \
- NONENONEs,x,x, &&
- program_prefix=${target_alias}-
-
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-am__api_version='1.11'
-
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-# Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
-if test -z "$INSTALL"; then
-if ${ac_cv_path_install+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in #((
- ./ | .// | /[cC]/* | \
- /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
- ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
- /usr/ucb/* ) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
- if test $ac_prog = install &&
- grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- elif test $ac_prog = install &&
- grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # program-specific install script used by HP pwplus--don't use.
- :
- else
- rm -rf conftest.one conftest.two conftest.dir
- echo one > conftest.one
- echo two > conftest.two
- mkdir conftest.dir
- if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
- test -s conftest.one && test -s conftest.two &&
- test -s conftest.dir/conftest.one &&
- test -s conftest.dir/conftest.two
- then
- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
- break 3
- fi
- fi
- fi
- done
- done
- ;;
-esac
-
- done
-IFS=$as_save_IFS
-
-rm -rf conftest.one conftest.two conftest.dir
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL=$ac_cv_path_install
- else
- # As a last resort, use the slow shell script. Don't cache a
- # value for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- INSTALL=$ac_install_sh
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
-$as_echo_n "checking whether build environment is sane... " >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name. Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
- *[\\\"\#\$\&\'\`$am_lf]*)
- as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
-esac
-case $srcdir in
- *[\\\"\#\$\&\'\`$am_lf\ \ ]*)
- as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
-esac
-
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
- if test "$*" = "X"; then
- # -L didn't work.
- set X `ls -t "$srcdir/configure" conftest.file`
- fi
- rm -f conftest.file
- if test "$*" != "X $srcdir/configure conftest.file" \
- && test "$*" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
-alias in your environment" "$LINENO" 5
- fi
-
- test "$2" = conftest.file
- )
-then
- # Ok.
- :
-else
- as_fn_error $? "newly created file is older than distributed files!
-Check your system clock" "$LINENO" 5
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-test "$program_prefix" != NONE &&
- program_transform_name="s&^&$program_prefix&;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
- program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $.
-# By default was `s,x,x', remove it if useless.
-ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
-if test x"${MISSING+set}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
- *)
- MISSING="\${SHELL} $am_aux_dir/missing" ;;
- esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
-else
- am_missing_run=
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
-fi
-
-if test x"${install_sh}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
- *)
- install_sh="\${SHELL} $am_aux_dir/install-sh"
- esac
-fi
-
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_STRIP="strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_STRIP" = x; then
- STRIP=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- STRIP=$ac_ct_STRIP
- fi
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
-$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
-if test -z "$MKDIR_P"; then
- if ${ac_cv_path_mkdir+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in mkdir gmkdir; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
- case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
- 'mkdir (GNU coreutils) '* | \
- 'mkdir (coreutils) '* | \
- 'mkdir (fileutils) '4.1*)
- ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
- break 3;;
- esac
- done
- done
- done
-IFS=$as_save_IFS
-
-fi
-
- test -d ./--version && rmdir ./--version
- if test "${ac_cv_path_mkdir+set}" = set; then
- MKDIR_P="$ac_cv_path_mkdir -p"
- else
- # As a last resort, use the slow shell script. Don't cache a
- # value for MKDIR_P within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- MKDIR_P="$ac_install_sh -d"
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
-$as_echo "$MKDIR_P" >&6; }
-
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
- [\\/$]* | ?:[\\/]*) ;;
- */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-
-for ac_prog in gawk mawk nawk awk
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AWK+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$AWK"; then
- ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_AWK="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$AWK" && break
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
- @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
- *@@@%%%=?*=@@@%%%*)
- eval ac_cv_prog_make_${ac_make}_set=yes;;
- *)
- eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- SET_MAKE=
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
- am__leading_dot=.
-else
- am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
- # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
- # is not polluted with repeated "-I."
- am__isrc=' -I$(srcdir)'
- # test to see if srcdir already configured
- if test -f $srcdir/config.status; then
- as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
- fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
- if (cygpath --version) >/dev/null 2>/dev/null; then
- CYGPATH_W='cygpath -w'
- else
- CYGPATH_W=echo
- fi
-fi
-
-
-# Define the identity of the package.
- PACKAGE='libffi'
- VERSION='3.0.11-rc2'
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE "$PACKAGE"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define VERSION "$VERSION"
-_ACEOF
-
-# Some tools Automake needs.
-
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-
-
-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-
-
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-
-
-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-
-
-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
-# Always define AMTAR for backward compatibility.
-
-AMTAR=${AMTAR-"${am_missing_run}tar"}
-
-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
-
-
-
-
-
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-# Also save and restore CFLAGS, since AC_PROG_CC will come up with
-# defaults of its own if none are provided.
-
-
-
-save_CFLAGS=$CFLAGS
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="${ac_tool_prefix}gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_CC="gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-else
- CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="${ac_tool_prefix}cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- fi
-fi
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# != 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
- fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- for ac_prog in cl.exe
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$CC" && break
- done
-fi
-if test -z "$CC"; then
- ac_ct_CC=$CC
- for ac_prog in cl.exe
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_CC="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_CC" && break
-done
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
- { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compiler $ac_option >&5") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- sed '10a\
-... rest of stderr output deleted ...
- 10q' conftest.err >conftest.er1
- cat conftest.er1 >&5
- fi
- rm -f conftest.er1 conftest.err
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- * ) ac_rmfiles="$ac_rmfiles $ac_file";;
- esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link_default") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile. We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
- ;;
- [ab].out )
- # We found the default executable, but exeext='' is most
- # certainly right.
- break;;
- *.* )
- if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
- then :; else
- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- fi
- # We set ac_cv_exeext here because the later test for it is not
- # safe: cross compilers may not add the suffix if given an `-o'
- # argument, so we may need to know it at that point already.
- # Even if this section looks crufty: it has the advantage of
- # actually working.
- break;;
- * )
- break;;
- esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
- ac_file=''
-fi
-if test -z "$ac_file"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-ac_exeext=$ac_cv_exeext
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- break;;
- * ) break;;
- esac
-done
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdio.h>
-int
-main ()
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
- { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if { ac_try='./conftest$ac_cv_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- cross_compiling=no
- else
- if test "$cross_compiling" = maybe; then
- cross_compiling=yes
- else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5; }
- fi
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- for ac_file in conftest.o conftest.obj conftest.*; do
- test -f "$ac_file" || continue;
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
- *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
- break;;
- esac
-done
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-#ifndef __GNUC__
- choke me
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_compiler_gnu=yes
-else
- ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
- GCC=yes
-else
- GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_save_c_werror_flag=$ac_c_werror_flag
- ac_c_werror_flag=yes
- ac_cv_prog_cc_g=no
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-else
- CFLAGS=""
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
- ac_c_werror_flag=$ac_save_c_werror_flag
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
- CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
- if test "$GCC" = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-g"
- fi
-else
- if test "$GCC" = yes; then
- CFLAGS="-O2"
- else
- CFLAGS=
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
- char **p;
- int i;
-{
- return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
- char *s;
- va_list v;
- va_start (v,p);
- s = g (p, va_arg (v,int));
- va_end (v);
- return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
- function prototypes and stuff, but not '\xHH' hex character constants.
- These don't provoke an error unfortunately, instead are silently treated
- as 'x'. The following induces an error, until -std is added to get
- proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
- array size at least. It's necessary to write '\x00'==0 to get something
- that's true only with -std. */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
- inside strings and character constants. */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
- ;
- return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
- -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
- CC="$ac_save_CC $ac_arg"
- if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
- test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
- x)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
- xno)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
- *)
- CC="$CC $ac_cv_prog_cc_c89"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
-
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
- @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
-$as_echo_n "checking for style of include used by $am_make... " >&6; }
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
- am__include=include
- am__quote=
- _am_result=GNU
- ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- case `$am_make -s -f confmf 2> /dev/null` in #(
- *the\ am__doit\ target*)
- am__include=.include
- am__quote="\""
- _am_result=BSD
- ;;
- esac
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
-rm -f confinc confmf
-
-# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then :
- enableval=$enable_dependency_tracking;
-fi
-
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
-fi
- if test "x$enable_dependency_tracking" != xno; then
- AMDEP_TRUE=
- AMDEP_FALSE='#'
-else
- AMDEP_TRUE='#'
- AMDEP_FALSE=
-fi
-
-
-
-depcc="$CC" am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CC_dependencies_compiler_type+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_CC_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
- fi
- am__universal=false
- case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac
-
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs
- am__obj=sub/conftest.${OBJEXT-o}
- am__minus_obj="-o $am__obj"
- case $depmode in
- gcc)
- # This depmode causes a compiler race in universal mode.
- test "$am__universal" = false || continue
- ;;
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- msvisualcpp | msvcmsys)
- # This compiler won't grok `-c -o', but also, the minuso test has
- # not run yet. These depmodes are late enough in the game, and
- # so weak that their functioning should not be impacted.
- am__obj=conftest.${OBJEXT-o}
- am__minus_obj=
- ;;
- none) break ;;
- esac
- if depmode=$depmode \
- source=sub/conftest.c object=$am__obj \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_CC_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
- am__fastdepCC_TRUE=
- am__fastdepCC_FALSE='#'
-else
- am__fastdepCC_TRUE='#'
- am__fastdepCC_FALSE=
-fi
-
-
-CFLAGS=$save_CFLAGS
-
-
-
-
-
-# By default we simply use the C compiler to build assembly code.
-
-test "${CCAS+set}" = set || CCAS=$CC
-test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
-
-
-
-depcc="$CCAS" am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CCAS_dependencies_compiler_type+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_CCAS_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
- fi
- am__universal=false
-
-
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs
- am__obj=sub/conftest.${OBJEXT-o}
- am__minus_obj="-o $am__obj"
- case $depmode in
- gcc)
- # This depmode causes a compiler race in universal mode.
- test "$am__universal" = false || continue
- ;;
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- msvisualcpp | msvcmsys)
- # This compiler won't grok `-c -o', but also, the minuso test has
- # not run yet. These depmodes are late enough in the game, and
- # so weak that their functioning should not be impacted.
- am__obj=conftest.${OBJEXT-o}
- am__minus_obj=
- ;;
- none) break ;;
- esac
- if depmode=$depmode \
- source=sub/conftest.c object=$am__obj \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_CCAS_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_CCAS_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CCAS_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CCAS_dependencies_compiler_type" >&6; }
-CCASDEPMODE=depmode=$am_cv_CCAS_dependencies_compiler_type
-
- if
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CCAS_dependencies_compiler_type" = gcc3; then
- am__fastdepCCAS_TRUE=
- am__fastdepCCAS_FALSE='#'
-else
- am__fastdepCCAS_TRUE='#'
- am__fastdepCCAS_FALSE=
-fi
-
-
-if test "x$CC" != xcc; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
-$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5
-$as_echo_n "checking whether cc understands -c and -o together... " >&6; }
-fi
-set dummy $CC; ac_cc=`$as_echo "$2" |
- sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-# Make sure it works both with $CC and with simple cc.
-# We do the test twice because some compilers refuse to overwrite an
-# existing .o file with -o, though they will create one.
-ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-rm -f conftest2.*
-if { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } &&
- test -f conftest2.$ac_objext && { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; };
-then
- eval ac_cv_prog_cc_${ac_cc}_c_o=yes
- if test "x$CC" != xcc; then
- # Test first that cc exists at all.
- if { ac_try='cc -c conftest.$ac_ext >&5'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
- rm -f conftest2.*
- if { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } &&
- test -f conftest2.$ac_objext && { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; };
- then
- # cc works too.
- :
- else
- # cc exists but doesn't like -o.
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
- fi
- fi
- fi
-else
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
-fi
-rm -f core conftest*
-
-fi
-if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h
-
-fi
-
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
- # Losing compiler, so override with the script.
- # FIXME: It is wrong to rewrite CC.
- # But if we don't then we get into trouble of one sort or another.
- # A longer-term fix would be to have automake use am__CC in this case,
- # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
- CC="$am_aux_dir/compile $CC"
-fi
-
-
-case `pwd` in
- *\ * | *\ *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
-$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
-esac
-
-
-
-macro_version='2.4'
-macro_revision='1.3293'
-
-
-
-
-
-
-
-
-
-
-
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-# Backslashify metacharacters that are still active within
-# double-quoted strings.
-sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
-$as_echo_n "checking how to print strings... " >&6; }
-# Test print first, because it will be a builtin if present.
-if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
- test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
- ECHO='print -r --'
-elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
- ECHO='printf %s\n'
-else
- # Use this function as a fallback that always works.
- func_fallback_echo ()
- {
- eval 'cat <<_LTECHO_EOF
-$1
-_LTECHO_EOF'
- }
- ECHO='func_fallback_echo'
-fi
-
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
- $ECHO ""
-}
-
-case "$ECHO" in
- printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
-$as_echo "printf" >&6; } ;;
- print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
-$as_echo "print -r" >&6; } ;;
- *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
-$as_echo "cat" >&6; } ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
-$as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if ${ac_cv_path_SED+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
- for ac_i in 1 2 3 4 5 6 7; do
- ac_script="$ac_script$as_nl$ac_script"
- done
- echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
- { ac_script=; unset ac_script;}
- if test -z "$SED"; then
- ac_path_SED_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in sed gsed; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
-# Check for GNU ac_path_SED and select it if it is found.
- # Check for GNU $ac_path_SED
-case `"$ac_path_SED" --version 2>&1` in
-*GNU*)
- ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo '' >> "conftest.nl"
- "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_SED_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_SED="$ac_path_SED"
- ac_path_SED_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_SED_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_SED"; then
- as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
- fi
-else
- ac_cv_path_SED=$SED
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
-$as_echo "$ac_cv_path_SED" >&6; }
- SED="$ac_cv_path_SED"
- rm -f conftest.sed
-
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$GREP"; then
- ac_path_GREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in grep ggrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
-# Check for GNU ac_path_GREP and select it if it is found.
- # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'GREP' >> "conftest.nl"
- "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_GREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_GREP="$ac_path_GREP"
- ac_path_GREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_GREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_GREP"; then
- as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
- then ac_cv_path_EGREP="$GREP -E"
- else
- if test -z "$EGREP"; then
- ac_path_EGREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in egrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
- # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'EGREP' >> "conftest.nl"
- "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_EGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_EGREP="$ac_path_EGREP"
- ac_path_EGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_EGREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_EGREP"; then
- as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_EGREP=$EGREP
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
-$as_echo_n "checking for fgrep... " >&6; }
-if ${ac_cv_path_FGREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
- then ac_cv_path_FGREP="$GREP -F"
- else
- if test -z "$FGREP"; then
- ac_path_FGREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in fgrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
-# Check for GNU ac_path_FGREP and select it if it is found.
- # Check for GNU $ac_path_FGREP
-case `"$ac_path_FGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'FGREP' >> "conftest.nl"
- "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_FGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_FGREP="$ac_path_FGREP"
- ac_path_FGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_FGREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_FGREP"; then
- as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_FGREP=$FGREP
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
-$as_echo "$ac_cv_path_FGREP" >&6; }
- FGREP="$ac_cv_path_FGREP"
-
-
-test -z "$GREP" && GREP=grep
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then :
- withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
- with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test "$GCC" = yes; then
- # Check if gcc -print-prog-name=ld gives a path.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
-$as_echo_n "checking for ld used by $CC... " >&6; }
- case $host in
- *-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case $ac_prog in
- # Accept absolute paths.
- [\\/]* | ?:[\\/]*)
- re_direlt='/[^/][^/]*/\.\./'
- # Canonicalize the pathname of ld
- ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
- while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
- done
- test -z "$LD" && LD="$ac_prog"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if ${lt_cv_path_LD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$LD"; then
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- lt_cv_path_LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some variants of GNU ld only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
- *GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break
- ;;
- *)
- test "$with_gnu_ld" != yes && break
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
-else
- lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
-$as_echo "$LD" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if ${lt_cv_prog_gnu_ld+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
- lt_cv_prog_gnu_ld=yes
- ;;
-*)
- lt_cv_prog_gnu_ld=no
- ;;
-esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
-$as_echo "$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
-$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if ${lt_cv_path_NM+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$NM"; then
- # Let the user override the test.
- lt_cv_path_NM="$NM"
-else
- lt_nm_to_check="${ac_tool_prefix}nm"
- if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
- lt_nm_to_check="$lt_nm_to_check nm"
- fi
- for lt_tmp_nm in $lt_nm_to_check; do
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- tmp_nm="$ac_dir/$lt_tmp_nm"
- if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
- # Check to see if the nm accepts a BSD-compat flag.
- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
- # nm: unknown option "B" ignored
- # Tru64's nm complains that /dev/null is an invalid object file
- case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
- */dev/null* | *'Invalid file or object type'*)
- lt_cv_path_NM="$tmp_nm -B"
- break
- ;;
- *)
- case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
- */dev/null*)
- lt_cv_path_NM="$tmp_nm -p"
- break
- ;;
- *)
- lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
- continue # so that we can try to find one that supports BSD flags
- ;;
- esac
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
- done
- : ${lt_cv_path_NM=no}
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
-$as_echo "$lt_cv_path_NM" >&6; }
-if test "$lt_cv_path_NM" != "no"; then
- NM="$lt_cv_path_NM"
-else
- # Didn't find any BSD compatible name lister, look for dumpbin.
- if test -n "$DUMPBIN"; then :
- # Let the user override the test.
- else
- if test -n "$ac_tool_prefix"; then
- for ac_prog in dumpbin "link -dump"
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DUMPBIN+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$DUMPBIN"; then
- ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-DUMPBIN=$ac_cv_prog_DUMPBIN
-if test -n "$DUMPBIN"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
-$as_echo "$DUMPBIN" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$DUMPBIN" && break
- done
-fi
-if test -z "$DUMPBIN"; then
- ac_ct_DUMPBIN=$DUMPBIN
- for ac_prog in dumpbin "link -dump"
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_DUMPBIN"; then
- ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
-if test -n "$ac_ct_DUMPBIN"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
-$as_echo "$ac_ct_DUMPBIN" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_DUMPBIN" && break
-done
-
- if test "x$ac_ct_DUMPBIN" = x; then
- DUMPBIN=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- DUMPBIN=$ac_ct_DUMPBIN
- fi
-fi
-
- case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
- *COFF*)
- DUMPBIN="$DUMPBIN -symbols"
- ;;
- *)
- DUMPBIN=:
- ;;
- esac
- fi
-
- if test "$DUMPBIN" != ":"; then
- NM="$DUMPBIN"
- fi
-fi
-test -z "$NM" && NM=nm
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
-$as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if ${lt_cv_nm_interface+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_nm_interface="BSD nm"
- echo "int some_variable = 0;" > conftest.$ac_ext
- (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
- (eval "$ac_compile" 2>conftest.err)
- cat conftest.err >&5
- (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
- (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
- cat conftest.err >&5
- (eval echo "\"\$as_me:$LINENO: output\"" >&5)
- cat conftest.out >&5
- if $GREP 'External.*some_variable' conftest.out > /dev/null; then
- lt_cv_nm_interface="MS dumpbin"
- fi
- rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
-$as_echo "$lt_cv_nm_interface" >&6; }
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
-$as_echo_n "checking whether ln -s works... " >&6; }
-LN_S=$as_ln_s
-if test "$LN_S" = "ln -s"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
-$as_echo "no, using $LN_S" >&6; }
-fi
-
-# find the maximum length of command line arguments
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
-$as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if ${lt_cv_sys_max_cmd_len+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- i=0
- teststring="ABCD"
-
- case $build_os in
- msdosdjgpp*)
- # On DJGPP, this test can blow up pretty badly due to problems in libc
- # (any single argument exceeding 2000 bytes causes a buffer overrun
- # during glob expansion). Even if it were fixed, the result of this
- # check would be larger than it should be.
- lt_cv_sys_max_cmd_len=12288; # 12K is about right
- ;;
-
- gnu*)
- # Under GNU Hurd, this test is not required because there is
- # no limit to the length of command line arguments.
- # Libtool will interpret -1 as no limit whatsoever
- lt_cv_sys_max_cmd_len=-1;
- ;;
-
- cygwin* | mingw* | cegcc*)
- # On Win9x/ME, this test blows up -- it succeeds, but takes
- # about 5 minutes as the teststring grows exponentially.
- # Worse, since 9x/ME are not pre-emptively multitasking,
- # you end up with a "frozen" computer, even though with patience
- # the test eventually succeeds (with a max line length of 256k).
- # Instead, let's just punt: use the minimum linelength reported by
- # all of the supported platforms: 8192 (on NT/2K/XP).
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- mint*)
- # On MiNT this can take a long time and run out of memory.
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- amigaos*)
- # On AmigaOS with pdksh, this test takes hours, literally.
- # So we just punt and use a minimum line length of 8192.
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
- # This has been around since 386BSD, at least. Likely further.
- if test -x /sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
- elif test -x /usr/sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
- else
- lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
- fi
- # And add a safety zone
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- ;;
-
- interix*)
- # We know the value 262144 and hardcode it with a safety zone (like BSD)
- lt_cv_sys_max_cmd_len=196608
- ;;
-
- osf*)
- # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
- # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
- # nice to cause kernel panics so lets avoid the loop below.
- # First set a reasonable default.
- lt_cv_sys_max_cmd_len=16384
- #
- if test -x /sbin/sysconfig; then
- case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
- *1*) lt_cv_sys_max_cmd_len=-1 ;;
- esac
- fi
- ;;
- sco3.2v5*)
- lt_cv_sys_max_cmd_len=102400
- ;;
- sysv5* | sco5v6* | sysv4.2uw2*)
- kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
- if test -n "$kargmax"; then
- lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
- else
- lt_cv_sys_max_cmd_len=32768
- fi
- ;;
- *)
- lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
- if test -n "$lt_cv_sys_max_cmd_len"; then
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- else
- # Make teststring a little bigger before we do anything with it.
- # a 1K string should be a reasonable start.
- for i in 1 2 3 4 5 6 7 8 ; do
- teststring=$teststring$teststring
- done
- SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
- # If test is not a shell built-in, we'll probably end up computing a
- # maximum length that is only half of the actual maximum length, but
- # we can't tell.
- while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
- = "X$teststring$teststring"; } >/dev/null 2>&1 &&
- test $i != 17 # 1/2 MB should be enough
- do
- i=`expr $i + 1`
- teststring=$teststring$teststring
- done
- # Only check the string length outside the loop.
- lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
- teststring=
- # Add a significant safety factor because C++ compilers can tack on
- # massive amounts of additional arguments before passing them to the
- # linker. It appears as though 1/2 is a usable value.
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
- fi
- ;;
- esac
-
-fi
-
-if test -n $lt_cv_sys_max_cmd_len ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
-$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
-$as_echo "none" >&6; }
-fi
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-
-
-
-
-
-: ${CP="cp -f"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
-$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
- test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
- = c,a/b,b/c, \
- && eval 'test $(( 1 + 1 )) -eq 2 \
- && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
- && xsi_shell=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
-$as_echo "$xsi_shell" >&6; }
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
-$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
- >/dev/null 2>&1 \
- && lt_shell_append=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
-$as_echo "$lt_shell_append" >&6; }
-
-
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- lt_unset=unset
-else
- lt_unset=false
-fi
-
-
-
-
-
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
- # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
- lt_SP2NL='tr \040 \012'
- lt_NL2SP='tr \015\012 \040\040'
- ;;
- *) # EBCDIC based system
- lt_SP2NL='tr \100 \n'
- lt_NL2SP='tr \r\n \100\100'
- ;;
-esac
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
-$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
-if ${lt_cv_to_host_file_cmd+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $host in
- *-*-mingw* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
- ;;
- *-*-cygwin* )
- lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
- ;;
- * ) # otherwise, assume *nix
- lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
- ;;
- esac
- ;;
- *-*-cygwin* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
- ;;
- *-*-cygwin* )
- lt_cv_to_host_file_cmd=func_convert_file_noop
- ;;
- * ) # otherwise, assume *nix
- lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
- ;;
- esac
- ;;
- * ) # unhandled hosts (and "normal" native builds)
- lt_cv_to_host_file_cmd=func_convert_file_noop
- ;;
-esac
-
-fi
-
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
-$as_echo "$lt_cv_to_host_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
-$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
-if ${lt_cv_to_tool_file_cmd+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- #assume ordinary cross tools, or native build.
-lt_cv_to_tool_file_cmd=func_convert_file_noop
-case $host in
- *-*-mingw* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
- ;;
- esac
- ;;
-esac
-
-fi
-
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
-$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
-$as_echo_n "checking for $LD option to reload object files... " >&6; }
-if ${lt_cv_ld_reload_flag+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ld_reload_flag='-r'
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
-$as_echo "$lt_cv_ld_reload_flag" >&6; }
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
- cygwin* | mingw* | pw32* | cegcc*)
- if test "$GCC" != yes; then
- reload_cmds=false
- fi
- ;;
- darwin*)
- if test "$GCC" = yes; then
- reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
- else
- reload_cmds='$LD$reload_flag -o $output$reload_objs'
- fi
- ;;
-esac
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
-set dummy ${ac_tool_prefix}objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OBJDUMP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$OBJDUMP"; then
- ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-OBJDUMP=$ac_cv_prog_OBJDUMP
-if test -n "$OBJDUMP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
-$as_echo "$OBJDUMP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OBJDUMP"; then
- ac_ct_OBJDUMP=$OBJDUMP
- # Extract the first word of "objdump", so it can be a program name with args.
-set dummy objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_OBJDUMP"; then
- ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_OBJDUMP="objdump"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
-if test -n "$ac_ct_OBJDUMP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
-$as_echo "$ac_ct_OBJDUMP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_OBJDUMP" = x; then
- OBJDUMP="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- OBJDUMP=$ac_ct_OBJDUMP
- fi
-else
- OBJDUMP="$ac_cv_prog_OBJDUMP"
-fi
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
-$as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if ${lt_cv_deplibs_check_method+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[4-9]*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-beos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-bsdi[45]*)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
- lt_cv_file_magic_cmd='/usr/bin/file -L'
- lt_cv_file_magic_test_file=/shlib/libc.so
- ;;
-
-cygwin*)
- # func_win32_libid is a shell function defined in ltmain.sh
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- ;;
-
-mingw* | pw32*)
- # Base MSYS/MinGW do not provide the 'file' command needed by
- # func_win32_libid shell function, so use a weaker test based on 'objdump',
- # unless we find 'file', for example because we are cross-compiling.
- # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
- if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- else
- # Keep this pattern in sync with the one in func_win32_libid.
- lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- fi
- ;;
-
-cegcc*)
- # use the weaker test based on 'objdump'. See mingw*.
- lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- ;;
-
-darwin* | rhapsody*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-freebsd* | dragonfly*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
- case $host_cpu in
- i*86 )
- # Not sure whether the presence of OpenBSD here was a mistake.
- # Let's accept both of them until this is cleared up.
- lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
- ;;
- esac
- else
- lt_cv_deplibs_check_method=pass_all
- fi
- ;;
-
-gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-haiku*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-hpux10.20* | hpux11*)
- lt_cv_file_magic_cmd=/usr/bin/file
- case $host_cpu in
- ia64*)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
- lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
- ;;
- hppa*64*)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
- lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
- ;;
- *)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
- lt_cv_file_magic_test_file=/usr/lib/libc.sl
- ;;
- esac
- ;;
-
-interix[3-9]*)
- # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $LD in
- *-32|*"-32 ") libmagic=32-bit;;
- *-n32|*"-n32 ") libmagic=N32;;
- *-64|*"-64 ") libmagic=64-bit;;
- *) libmagic=never-match;;
- esac
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
- fi
- ;;
-
-newos6*)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=/usr/lib/libnls.so
- ;;
-
-*nto* | *qnx*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-openbsd*)
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
- fi
- ;;
-
-osf3* | osf4* | osf5*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-rdos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-solaris*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sysv4 | sysv4.3*)
- case $host_vendor in
- motorola)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
- ;;
- ncr)
- lt_cv_deplibs_check_method=pass_all
- ;;
- sequent)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
- ;;
- sni)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
- lt_cv_file_magic_test_file=/lib/libc.so
- ;;
- siemens)
- lt_cv_deplibs_check_method=pass_all
- ;;
- pc)
- lt_cv_deplibs_check_method=pass_all
- ;;
- esac
- ;;
-
-tpf*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
-$as_echo "$lt_cv_deplibs_check_method" >&6; }
-
-file_magic_glob=
-want_nocaseglob=no
-if test "$build" = "$host"; then
- case $host_os in
- mingw* | pw32*)
- if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
- want_nocaseglob=yes
- else
- file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
- fi
- ;;
- esac
-fi
-
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DLLTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$DLLTOOL"; then
- ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-DLLTOOL=$ac_cv_prog_DLLTOOL
-if test -n "$DLLTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
-$as_echo "$DLLTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DLLTOOL"; then
- ac_ct_DLLTOOL=$DLLTOOL
- # Extract the first word of "dlltool", so it can be a program name with args.
-set dummy dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_DLLTOOL"; then
- ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_DLLTOOL="dlltool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
-if test -n "$ac_ct_DLLTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
-$as_echo "$ac_ct_DLLTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_DLLTOOL" = x; then
- DLLTOOL="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- DLLTOOL=$ac_ct_DLLTOOL
- fi
-else
- DLLTOOL="$ac_cv_prog_DLLTOOL"
-fi
-
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
-$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
-if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_sharedlib_from_linklib_cmd='unknown'
-
-case $host_os in
-cygwin* | mingw* | pw32* | cegcc*)
- # two different shell functions defined in ltmain.sh
- # decide which to use based on capabilities of $DLLTOOL
- case `$DLLTOOL --help 2>&1` in
- *--identify-strict*)
- lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
- ;;
- *)
- lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
- ;;
- esac
- ;;
-*)
- # fallback: assume linklib IS sharedlib
- lt_cv_sharedlib_from_linklib_cmd="$ECHO"
- ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
-$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
-sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
-test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- for ac_prog in ar
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$AR"; then
- ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$AR" && break
- done
-fi
-if test -z "$AR"; then
- ac_ct_AR=$AR
- for ac_prog in ar
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_AR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_AR"; then
- ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_AR="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-$as_echo "$ac_ct_AR" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_AR" && break
-done
-
- if test "x$ac_ct_AR" = x; then
- AR="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- AR=$ac_ct_AR
- fi
-fi
-
-: ${AR=ar}
-: ${AR_FLAGS=cru}
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
-$as_echo_n "checking for archiver @FILE support... " >&6; }
-if ${lt_cv_ar_at_file+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ar_at_file=no
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- echo conftest.$ac_objext > conftest.lst
- lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
- (eval $lt_ar_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if test "$ac_status" -eq 0; then
- # Ensure the archiver fails upon bogus file names.
- rm -f conftest.$ac_objext libconftest.a
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
- (eval $lt_ar_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if test "$ac_status" -ne 0; then
- lt_cv_ar_at_file=@
- fi
- fi
- rm -f conftest.* libconftest.a
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
-$as_echo "$lt_cv_ar_at_file" >&6; }
-
-if test "x$lt_cv_ar_at_file" = xno; then
- archiver_list_spec=
-else
- archiver_list_spec=$lt_cv_ar_at_file
-fi
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_STRIP="strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_STRIP" = x; then
- STRIP=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- STRIP=$ac_ct_STRIP
- fi
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
-
-test -z "$STRIP" && STRIP=:
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
- ac_ct_RANLIB=$RANLIB
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_RANLIB"; then
- ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_RANLIB="ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_RANLIB" = x; then
- RANLIB=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- RANLIB=$ac_ct_RANLIB
- fi
-else
- RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-test -z "$RANLIB" && RANLIB=:
-
-
-
-
-
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
- case $host_os in
- openbsd*)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
- ;;
- *)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
- ;;
- esac
- old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-
-case $host_os in
- darwin*)
- lock_old_archive_extraction=yes ;;
- *)
- lock_old_archive_extraction=no ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
-$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if ${lt_cv_sys_global_symbol_pipe+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix. What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Define system-specific variables.
-case $host_os in
-aix*)
- symcode='[BCDT]'
- ;;
-cygwin* | mingw* | pw32* | cegcc*)
- symcode='[ABCDGISTW]'
- ;;
-hpux*)
- if test "$host_cpu" = ia64; then
- symcode='[ABCDEGRST]'
- fi
- ;;
-irix* | nonstopux*)
- symcode='[BCDEGRST]'
- ;;
-osf*)
- symcode='[BCDEGQRST]'
- ;;
-solaris*)
- symcode='[BDRT]'
- ;;
-sco3.2v5*)
- symcode='[DT]'
- ;;
-sysv4.2uw2*)
- symcode='[DT]'
- ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
- symcode='[ABDT]'
- ;;
-sysv4)
- symcode='[DFNSTU]'
- ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
- symcode='[ABCDGIRSTW]' ;;
-esac
-
-# Transform an extracted symbol line into a proper C declaration.
-# Some systems (esp. on ia64) link data and code symbols differently,
-# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
- opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
- ;;
-esac
-
-# Try without a prefix underscore, then with it.
-for ac_symprfx in "" "_"; do
-
- # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
- symxfrm="\\1 $ac_symprfx\\2 \\2"
-
- # Write the raw and C identifiers.
- if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- # Fake it for dumpbin and say T for any non-static function
- # and D for any global variable.
- # Also find C++ and __fastcall symbols from MSVC++,
- # which start with @ or ?.
- lt_cv_sys_global_symbol_pipe="$AWK '"\
-" {last_section=section; section=\$ 3};"\
-" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-" \$ 0!~/External *\|/{next};"\
-" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-" {if(hide[section]) next};"\
-" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-" s[1]~/^[@?]/{print s[1], s[1]; next};"\
-" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
-" ' prfx=^$ac_symprfx"
- else
- lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
- fi
- lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
-
- # Check to see that the pipe works correctly.
- pipe_works=no
-
- rm -f conftest*
- cat > conftest.$ac_ext <<_LT_EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(void);
-void nm_test_func(void){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-_LT_EOF
-
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- # Now try to grab the symbols.
- nlist=conftest.nm
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
- (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s "$nlist"; then
- # Try sorting and uniquifying the output.
- if sort "$nlist" | uniq > "$nlist"T; then
- mv -f "$nlist"T "$nlist"
- else
- rm -f "$nlist"T
- fi
-
- # Make sure that we snagged all the symbols we need.
- if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
- if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
- cat <<_LT_EOF > conftest.$ac_ext
-/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-/* DATA imports from DLLs on WIN32 con't be const, because runtime
- relocations are performed -- see ld's documentation on pseudo-relocs. */
-# define LT_DLSYM_CONST
-#elif defined(__osf__)
-/* This system does not cope well with relocations in const data. */
-# define LT_DLSYM_CONST
-#else
-# define LT_DLSYM_CONST const
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_LT_EOF
- # Now generate the symbol file.
- eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
-
- cat <<_LT_EOF >> conftest.$ac_ext
-
-/* The mapping between symbol names and symbols. */
-LT_DLSYM_CONST struct {
- const char *name;
- void *address;
-}
-lt__PROGRAM__LTX_preloaded_symbols[] =
-{
- { "@PROGRAM@", (void *) 0 },
-_LT_EOF
- $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
- cat <<\_LT_EOF >> conftest.$ac_ext
- {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
- return lt__PROGRAM__LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-_LT_EOF
- # Now try linking the two files.
- mv conftest.$ac_objext conftstm.$ac_objext
- lt_globsym_save_LIBS=$LIBS
- lt_globsym_save_CFLAGS=$CFLAGS
- LIBS="conftstm.$ac_objext"
- CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext}; then
- pipe_works=yes
- fi
- LIBS=$lt_globsym_save_LIBS
- CFLAGS=$lt_globsym_save_CFLAGS
- else
- echo "cannot find nm_test_func in $nlist" >&5
- fi
- else
- echo "cannot find nm_test_var in $nlist" >&5
- fi
- else
- echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
- fi
- else
- echo "$progname: failed program was:" >&5
- cat conftest.$ac_ext >&5
- fi
- rm -rf conftest* conftst*
-
- # Do not use the global_symbol_pipe unless it works.
- if test "$pipe_works" = yes; then
- break
- else
- lt_cv_sys_global_symbol_pipe=
- fi
-done
-
-fi
-
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
- lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
-$as_echo "ok" >&6; }
-fi
-
-# Response file support.
-if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- nm_file_list_spec='@'
-elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
- nm_file_list_spec='@'
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
-$as_echo_n "checking for sysroot... " >&6; }
-
-# Check whether --with-sysroot was given.
-if test "${with_sysroot+set}" = set; then :
- withval=$with_sysroot;
-else
- with_sysroot=no
-fi
-
-
-lt_sysroot=
-case ${with_sysroot} in #(
- yes)
- if test "$GCC" = yes; then
- lt_sysroot=`$CC --print-sysroot 2>/dev/null`
- fi
- ;; #(
- /*)
- lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
- ;; #(
- no|'')
- ;; #(
- *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
-$as_echo "${with_sysroot}" >&6; }
- as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
- ;;
-esac
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
-$as_echo "${lt_sysroot:-no}" >&6; }
-
-
-
-
-
-# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then :
- enableval=$enable_libtool_lock;
-fi
-
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- case `/usr/bin/file conftest.$ac_objext` in
- *ELF-32*)
- HPUX_IA64_MODE="32"
- ;;
- *ELF-64*)
- HPUX_IA64_MODE="64"
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-*-*-irix6*)
- # Find out which ABI we are using.
- echo '#line '$LINENO' "configure"' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- if test "$lt_cv_prog_gnu_ld" = yes; then
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -melf32bsmip"
- ;;
- *N32*)
- LD="${LD-ld} -melf32bmipn32"
- ;;
- *64-bit*)
- LD="${LD-ld} -melf64bmip"
- ;;
- esac
- else
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -32"
- ;;
- *N32*)
- LD="${LD-ld} -n32"
- ;;
- *64-bit*)
- LD="${LD-ld} -64"
- ;;
- esac
- fi
- fi
- rm -rf conftest*
- ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- case `/usr/bin/file conftest.o` in
- *32-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_i386_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_i386"
- ;;
- ppc64-*linux*|powerpc64-*linux*)
- LD="${LD-ld} -m elf32ppclinux"
- ;;
- s390x-*linux*)
- LD="${LD-ld} -m elf_s390"
- ;;
- sparc64-*linux*)
- LD="${LD-ld} -m elf32_sparc"
- ;;
- esac
- ;;
- *64-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_x86_64_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_x86_64"
- ;;
- ppc*-*linux*|powerpc*-*linux*)
- LD="${LD-ld} -m elf64ppc"
- ;;
- s390*-*linux*|s390*-*tpf*)
- LD="${LD-ld} -m elf64_s390"
- ;;
- sparc*-*linux*)
- LD="${LD-ld} -m elf64_sparc"
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-
-*-*-sco3.2v5*)
- # On SCO OpenServer 5, we need -belf to get full-featured binaries.
- SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -belf"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
-$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if ${lt_cv_cc_needs_belf+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- lt_cv_cc_needs_belf=yes
-else
- lt_cv_cc_needs_belf=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
-$as_echo "$lt_cv_cc_needs_belf" >&6; }
- if test x"$lt_cv_cc_needs_belf" != x"yes"; then
- # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
- CFLAGS="$SAVE_CFLAGS"
- fi
- ;;
-sparc*-*solaris*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- case `/usr/bin/file conftest.o` in
- *64-bit*)
- case $lt_cv_prog_gnu_ld in
- yes*) LD="${LD-ld} -m elf64_sparc" ;;
- *)
- if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
- LD="${LD-ld} -64"
- fi
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-esac
-
-need_locks="$enable_libtool_lock"
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
-set dummy ${ac_tool_prefix}mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$MANIFEST_TOOL"; then
- ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
-if test -n "$MANIFEST_TOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
-$as_echo "$MANIFEST_TOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
- ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
- # Extract the first word of "mt", so it can be a program name with args.
-set dummy mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_MANIFEST_TOOL"; then
- ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
-if test -n "$ac_ct_MANIFEST_TOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
-$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_MANIFEST_TOOL" = x; then
- MANIFEST_TOOL=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
- fi
-else
- MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
-fi
-
-test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
-$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
-if ${lt_cv_path_mainfest_tool+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_path_mainfest_tool=no
- echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
- $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
- cat conftest.err >&5
- if $GREP 'Manifest Tool' conftest.out > /dev/null; then
- lt_cv_path_mainfest_tool=yes
- fi
- rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
-$as_echo "$lt_cv_path_mainfest_tool" >&6; }
-if test "x$lt_cv_path_mainfest_tool" != xyes; then
- MANIFEST_TOOL=:
-fi
-
-
-
-
-
-
- case $host_os in
- rhapsody* | darwin*)
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DSYMUTIL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$DSYMUTIL"; then
- ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-DSYMUTIL=$ac_cv_prog_DSYMUTIL
-if test -n "$DSYMUTIL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
-$as_echo "$DSYMUTIL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DSYMUTIL"; then
- ac_ct_DSYMUTIL=$DSYMUTIL
- # Extract the first word of "dsymutil", so it can be a program name with args.
-set dummy dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_DSYMUTIL"; then
- ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
-if test -n "$ac_ct_DSYMUTIL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
-$as_echo "$ac_ct_DSYMUTIL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_DSYMUTIL" = x; then
- DSYMUTIL=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- DSYMUTIL=$ac_ct_DSYMUTIL
- fi
-else
- DSYMUTIL="$ac_cv_prog_DSYMUTIL"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
-set dummy ${ac_tool_prefix}nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_NMEDIT+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$NMEDIT"; then
- ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-NMEDIT=$ac_cv_prog_NMEDIT
-if test -n "$NMEDIT"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
-$as_echo "$NMEDIT" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_NMEDIT"; then
- ac_ct_NMEDIT=$NMEDIT
- # Extract the first word of "nmedit", so it can be a program name with args.
-set dummy nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_NMEDIT"; then
- ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_NMEDIT="nmedit"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
-if test -n "$ac_ct_NMEDIT"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
-$as_echo "$ac_ct_NMEDIT" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_NMEDIT" = x; then
- NMEDIT=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- NMEDIT=$ac_ct_NMEDIT
- fi
-else
- NMEDIT="$ac_cv_prog_NMEDIT"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
-set dummy ${ac_tool_prefix}lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_LIPO+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$LIPO"; then
- ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-LIPO=$ac_cv_prog_LIPO
-if test -n "$LIPO"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
-$as_echo "$LIPO" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_LIPO"; then
- ac_ct_LIPO=$LIPO
- # Extract the first word of "lipo", so it can be a program name with args.
-set dummy lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_LIPO"; then
- ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_LIPO="lipo"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
-if test -n "$ac_ct_LIPO"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
-$as_echo "$ac_ct_LIPO" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_LIPO" = x; then
- LIPO=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- LIPO=$ac_ct_LIPO
- fi
-else
- LIPO="$ac_cv_prog_LIPO"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$OTOOL"; then
- ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL=$ac_cv_prog_OTOOL
-if test -n "$OTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
-$as_echo "$OTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL"; then
- ac_ct_OTOOL=$OTOOL
- # Extract the first word of "otool", so it can be a program name with args.
-set dummy otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_OTOOL"; then
- ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_OTOOL="otool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
-if test -n "$ac_ct_OTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
-$as_echo "$ac_ct_OTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_OTOOL" = x; then
- OTOOL=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- OTOOL=$ac_ct_OTOOL
- fi
-else
- OTOOL="$ac_cv_prog_OTOOL"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL64+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$OTOOL64"; then
- ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL64=$ac_cv_prog_OTOOL64
-if test -n "$OTOOL64"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
-$as_echo "$OTOOL64" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL64"; then
- ac_ct_OTOOL64=$OTOOL64
- # Extract the first word of "otool64", so it can be a program name with args.
-set dummy otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_OTOOL64"; then
- ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_OTOOL64="otool64"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
-if test -n "$ac_ct_OTOOL64"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
-$as_echo "$ac_ct_OTOOL64" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_OTOOL64" = x; then
- OTOOL64=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- OTOOL64=$ac_ct_OTOOL64
- fi
-else
- OTOOL64="$ac_cv_prog_OTOOL64"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
-$as_echo_n "checking for -single_module linker flag... " >&6; }
-if ${lt_cv_apple_cc_single_mod+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_apple_cc_single_mod=no
- if test -z "${LT_MULTI_MODULE}"; then
- # By default we will add the -single_module flag. You can override
- # by either setting the environment variable LT_MULTI_MODULE
- # non-empty at configure time, or by adding -multi_module to the
- # link flags.
- rm -rf libconftest.dylib*
- echo "int foo(void){return 1;}" > conftest.c
- echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
--dynamiclib -Wl,-single_module conftest.c" >&5
- $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
- -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
- _lt_result=$?
- if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
- lt_cv_apple_cc_single_mod=yes
- else
- cat conftest.err >&5
- fi
- rm -rf libconftest.dylib*
- rm -f conftest.*
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
-$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
-$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if ${lt_cv_ld_exported_symbols_list+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ld_exported_symbols_list=no
- save_LDFLAGS=$LDFLAGS
- echo "_main" > conftest.sym
- LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- lt_cv_ld_exported_symbols_list=yes
-else
- lt_cv_ld_exported_symbols_list=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
-$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
-$as_echo_n "checking for -force_load linker flag... " >&6; }
-if ${lt_cv_ld_force_load+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ld_force_load=no
- cat > conftest.c << _LT_EOF
-int forced_loaded() { return 2;}
-_LT_EOF
- echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
- $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
- echo "$AR cru libconftest.a conftest.o" >&5
- $AR cru libconftest.a conftest.o 2>&5
- echo "$RANLIB libconftest.a" >&5
- $RANLIB libconftest.a 2>&5
- cat > conftest.c << _LT_EOF
-int main() { return 0;}
-_LT_EOF
- echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
- $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
- _lt_result=$?
- if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
- lt_cv_ld_force_load=yes
- else
- cat conftest.err >&5
- fi
- rm -f conftest.err libconftest.a conftest conftest.c
- rm -rf conftest.dSYM
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
-$as_echo "$lt_cv_ld_force_load" >&6; }
- case $host_os in
- rhapsody* | darwin1.[012])
- _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
- darwin1.*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- darwin*) # darwin 5.x on
- # if running on 10.5 or later, the deployment target defaults
- # to the OS version, if on x86, and 10.4, the deployment
- # target defaults to 10.4. Don't you love it?
- case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
- 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- 10.[012]*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- 10.*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- esac
- ;;
- esac
- if test "$lt_cv_apple_cc_single_mod" = "yes"; then
- _lt_dar_single_mod='$single_module'
- fi
- if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
- _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
- else
- _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
- fi
- if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
- _lt_dsymutil='~$DSYMUTIL $lib || :'
- else
- _lt_dsymutil=
- fi
- ;;
- esac
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
- if ${ac_cv_prog_CPP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Double quotes because CPP needs to be expanded
- for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
- do
- ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
- break
-fi
-
- done
- ac_cv_prog_CPP=$CPP
-
-fi
- CPP=$ac_cv_prog_CPP
-else
- ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_header_stdc=yes
-else
- ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then :
- :
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- return 2;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
- inttypes.h stdint.h unistd.h
-do :
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_header in dlfcn.h
-do :
- ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
-"
-if test "x$ac_cv_header_dlfcn_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_DLFCN_H 1
-_ACEOF
-
-fi
-
-done
-
-
-
-
-
-# Set options
-
-
-
- enable_dlopen=no
-
-
- enable_win32_dll=no
-
-
- # Check whether --enable-shared was given.
-if test "${enable_shared+set}" = set; then :
- enableval=$enable_shared; p=${PACKAGE-default}
- case $enableval in
- yes) enable_shared=yes ;;
- no) enable_shared=no ;;
- *)
- enable_shared=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_shared=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_shared=yes
-fi
-
-
-
-
-
-
-
-
-
- # Check whether --enable-static was given.
-if test "${enable_static+set}" = set; then :
- enableval=$enable_static; p=${PACKAGE-default}
- case $enableval in
- yes) enable_static=yes ;;
- no) enable_static=no ;;
- *)
- enable_static=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_static=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_static=yes
-fi
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-pic was given.
-if test "${with_pic+set}" = set; then :
- withval=$with_pic; pic_mode="$withval"
-else
- pic_mode=default
-fi
-
-
-test -z "$pic_mode" && pic_mode=default
-
-
-
-
-
-
-
- # Check whether --enable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then :
- enableval=$enable_fast_install; p=${PACKAGE-default}
- case $enableval in
- yes) enable_fast_install=yes ;;
- no) enable_fast_install=no ;;
- *)
- enable_fast_install=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_fast_install=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_fast_install=yes
-fi
-
-
-
-
-
-
-
-
-
-
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-test -z "$LN_S" && LN_S="ln -s"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
-$as_echo_n "checking for objdir... " >&6; }
-if ${lt_cv_objdir+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
- lt_cv_objdir=.libs
-else
- # MS-DOS does not allow filenames that begin with a dot.
- lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
-$as_echo "$lt_cv_objdir" >&6; }
-objdir=$lt_cv_objdir
-
-
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define LT_OBJDIR "$lt_cv_objdir/"
-_ACEOF
-
-
-
-
-case $host_os in
-aix3*)
- # AIX sometimes has problems with the GCC collect2 program. For some
- # reason, if we set the COLLECT_NAMES environment variable, the problems
- # vanish in a puff of smoke.
- if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
- fi
- ;;
-esac
-
-# Global variables:
-ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$LD" && LD=ld
-test -z "$ac_objext" && ac_objext=o
-
-for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
-
-
-# Only perform the check for file, if the check method requires it
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-case $deplibs_check_method in
-file_magic*)
- if test "$file_magic_cmd" = '$MAGIC_CMD'; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
-$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $MAGIC_CMD in
-[\\/*] | ?:[\\/]*)
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- ;;
-*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
- for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/${ac_tool_prefix}file; then
- lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
- if test -n "$file_magic_test_file"; then
- case $deplibs_check_method in
- "file_magic "*)
- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- $EGREP "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
- fi ;;
- esac
- fi
- break
- fi
- done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
- ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-
-
-if test -z "$lt_cv_path_MAGIC_CMD"; then
- if test -n "$ac_tool_prefix"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
-$as_echo_n "checking for file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $MAGIC_CMD in
-[\\/*] | ?:[\\/]*)
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- ;;
-*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
- for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/file; then
- lt_cv_path_MAGIC_CMD="$ac_dir/file"
- if test -n "$file_magic_test_file"; then
- case $deplibs_check_method in
- "file_magic "*)
- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- $EGREP "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
- fi ;;
- esac
- fi
- break
- fi
- done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
- ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- else
- MAGIC_CMD=:
- fi
-fi
-
- fi
- ;;
-esac
-
-# Use C for the default configuration in the libtool script
-
-lt_save_CC="$CC"
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-objext=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-# Save the default compiler, since it gets overwritten when the other
-# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
-compiler_DEFAULT=$CC
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$RM conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$RM -r conftest*
-
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-if test -n "$compiler"; then
-
-lt_prog_compiler_no_builtin_flag=
-
-if test "$GCC" = yes; then
- case $cc_basename in
- nvcc*)
- lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
- *)
- lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
- esac
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_rtti_exceptions=no
- ac_outfile=conftest.$ac_objext
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="-fno-rtti -fno-exceptions"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_rtti_exceptions=yes
- fi
- fi
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
-
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
- lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
-else
- :
-fi
-
-fi
-
-
-
-
-
-
- lt_prog_compiler_wl=
-lt_prog_compiler_pic=
-lt_prog_compiler_static=
-
-
- if test "$GCC" = yes; then
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_static='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static='-Bstatic'
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- lt_prog_compiler_pic='-fPIC'
- ;;
- m68k)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
- ;;
- esac
- ;;
-
- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
-
- mingw* | cygwin* | pw32* | os2* | cegcc*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- # Although the cygwin gcc ignores -fPIC, still need this for old-style
- # (--disable-auto-import) libraries
- lt_prog_compiler_pic='-DDLL_EXPORT'
- ;;
-
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- lt_prog_compiler_pic='-fno-common'
- ;;
-
- haiku*)
- # PIC is the default for Haiku.
- # The "-static" flag exists, but is broken.
- lt_prog_compiler_static=
- ;;
-
- hpux*)
- # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
- # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
- # sets the default TLS model and affects inlining.
- case $host_cpu in
- hppa*64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic='-fPIC'
- ;;
- esac
- ;;
-
- interix[3-9]*)
- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- # Instead, we relocate shared libraries at runtime.
- ;;
-
- msdosdjgpp*)
- # Just because we use GCC doesn't mean we suddenly get shared libraries
- # on systems that don't support them.
- lt_prog_compiler_can_build_shared=no
- enable_shared=no
- ;;
-
- *nto* | *qnx*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- lt_prog_compiler_pic='-fPIC -shared'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- lt_prog_compiler_pic=-Kconform_pic
- fi
- ;;
-
- *)
- lt_prog_compiler_pic='-fPIC'
- ;;
- esac
-
- case $cc_basename in
- nvcc*) # Cuda Compiler Driver 2.2
- lt_prog_compiler_wl='-Xlinker '
- lt_prog_compiler_pic='-Xcompiler -fPIC'
- ;;
- esac
- else
- # PORTME Check for flag to pass linker flags through the system compiler.
- case $host_os in
- aix*)
- lt_prog_compiler_wl='-Wl,'
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static='-Bstatic'
- else
- lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
-
- mingw* | cygwin* | pw32* | os2* | cegcc*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- lt_prog_compiler_pic='-DDLL_EXPORT'
- ;;
-
- hpux9* | hpux10* | hpux11*)
- lt_prog_compiler_wl='-Wl,'
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic='+Z'
- ;;
- esac
- # Is there a better lt_prog_compiler_static that works with the bundled CC?
- lt_prog_compiler_static='${wl}-a ${wl}archive'
- ;;
-
- irix5* | irix6* | nonstopux*)
- lt_prog_compiler_wl='-Wl,'
- # PIC (with -KPIC) is the default.
- lt_prog_compiler_static='-non_shared'
- ;;
-
- linux* | k*bsd*-gnu | kopensolaris*-gnu)
- case $cc_basename in
- # old Intel for x86_64 which still supported -KPIC.
- ecc*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-static'
- ;;
- # icc used to be incompatible with GCC.
- # ICC 10 doesn't accept -KPIC any more.
- icc* | ifort*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-fPIC'
- lt_prog_compiler_static='-static'
- ;;
- # Lahey Fortran 8.1.
- lf95*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='--shared'
- lt_prog_compiler_static='--static'
- ;;
- nagfor*)
- # NAG Fortran compiler
- lt_prog_compiler_wl='-Wl,-Wl,,'
- lt_prog_compiler_pic='-PIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
- pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
- # Portland Group compilers (*not* the Pentium gcc compiler,
- # which looks to be a dead project)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-fpic'
- lt_prog_compiler_static='-Bstatic'
- ;;
- ccc*)
- lt_prog_compiler_wl='-Wl,'
- # All Alpha code is PIC.
- lt_prog_compiler_static='-non_shared'
- ;;
- xl* | bgxl* | bgf* | mpixl*)
- # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-qpic'
- lt_prog_compiler_static='-qstaticlink'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ F* | *Sun*Fortran*)
- # Sun Fortran 8.3 passes all unrecognized flags to the linker
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- lt_prog_compiler_wl=''
- ;;
- *Sun\ C*)
- # Sun C 5.9
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- lt_prog_compiler_wl='-Wl,'
- ;;
- esac
- ;;
- esac
- ;;
-
- newsos6)
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- *nto* | *qnx*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- lt_prog_compiler_pic='-fPIC -shared'
- ;;
-
- osf3* | osf4* | osf5*)
- lt_prog_compiler_wl='-Wl,'
- # All OSF/1 code is PIC.
- lt_prog_compiler_static='-non_shared'
- ;;
-
- rdos*)
- lt_prog_compiler_static='-non_shared'
- ;;
-
- solaris*)
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- case $cc_basename in
- f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
- lt_prog_compiler_wl='-Qoption ld ';;
- *)
- lt_prog_compiler_wl='-Wl,';;
- esac
- ;;
-
- sunos4*)
- lt_prog_compiler_wl='-Qoption ld '
- lt_prog_compiler_pic='-PIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- sysv4 | sysv4.2uw2* | sysv4.3*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec ;then
- lt_prog_compiler_pic='-Kconform_pic'
- lt_prog_compiler_static='-Bstatic'
- fi
- ;;
-
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- unicos*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_can_build_shared=no
- ;;
-
- uts4*)
- lt_prog_compiler_pic='-pic'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- *)
- lt_prog_compiler_can_build_shared=no
- ;;
- esac
- fi
-
-case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- lt_prog_compiler_pic=
- ;;
- *)
- lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
- ;;
-esac
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
-if ${lt_cv_prog_compiler_pic+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
-$as_echo "$lt_cv_prog_compiler_pic" >&6; }
-lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if ${lt_cv_prog_compiler_pic_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_pic_works=no
- ac_outfile=conftest.$ac_objext
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_pic_works=yes
- fi
- fi
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
-$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
- case $lt_prog_compiler_pic in
- "" | " "*) ;;
- *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
- esac
-else
- lt_prog_compiler_pic=
- lt_prog_compiler_can_build_shared=no
-fi
-
-fi
-
-
-
-
-
-
-
-
-
-
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if ${lt_cv_prog_compiler_static_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_static_works=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
- echo "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_static_works=yes
- fi
- else
- lt_cv_prog_compiler_static_works=yes
- fi
- fi
- $RM -r conftest*
- LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
-$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_static_works" = xyes; then
- :
-else
- lt_prog_compiler_static=
-fi
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_c_o=no
- $RM -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o=yes
- fi
- fi
- chmod u+w . 2>&5
- $RM conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
- $RM out/* && rmdir out
- cd ..
- $RM -r conftest
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_c_o=no
- $RM -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o=yes
- fi
- fi
- chmod u+w . 2>&5
- $RM conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
- $RM out/* && rmdir out
- cd ..
- $RM -r conftest
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
- # do not overwrite the value of need_locks provided by the user
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
-$as_echo_n "checking if we can lock with hard links... " >&6; }
- hard_links=yes
- $RM conftest*
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- touch conftest.a
- ln conftest.a conftest.b 2>&5 || hard_links=no
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
-$as_echo "$hard_links" >&6; }
- if test "$hard_links" = no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
- need_locks=warn
- fi
-else
- need_locks=no
-fi
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
-
- runpath_var=
- allow_undefined_flag=
- always_export_symbols=no
- archive_cmds=
- archive_expsym_cmds=
- compiler_needs_object=no
- enable_shared_with_static_runtimes=no
- export_dynamic_flag_spec=
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- hardcode_automatic=no
- hardcode_direct=no
- hardcode_direct_absolute=no
- hardcode_libdir_flag_spec=
- hardcode_libdir_flag_spec_ld=
- hardcode_libdir_separator=
- hardcode_minus_L=no
- hardcode_shlibpath_var=unsupported
- inherit_rpath=no
- link_all_deplibs=unknown
- module_cmds=
- module_expsym_cmds=
- old_archive_from_new_cmds=
- old_archive_from_expsyms_cmds=
- thread_safe_flag_spec=
- whole_archive_flag_spec=
- # include_expsyms should be a list of space-separated symbols to be *always*
- # included in the symbol list
- include_expsyms=
- # exclude_expsyms can be an extended regexp of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
- exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
- # platforms (ab)use it in PIC code, but their linkers get confused if
- # the symbol is explicitly referenced. Since portable code cannot
- # rely on this symbol name, it's probably fine to never include it in
- # preloaded symbol tables.
- # Exclude shared library initialization/finalization symbols.
- extract_expsyms_cmds=
-
- case $host_os in
- cygwin* | mingw* | pw32* | cegcc*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- if test "$GCC" != yes; then
- with_gnu_ld=no
- fi
- ;;
- interix*)
- # we just hope/assume this is gcc and not c89 (= MSVC++)
- with_gnu_ld=yes
- ;;
- openbsd*)
- with_gnu_ld=no
- ;;
- esac
-
- ld_shlibs=yes
-
- # On some targets, GNU ld is compatible enough with the native linker
- # that we're better off using the native interface for both.
- lt_use_gnu_ld_interface=no
- if test "$with_gnu_ld" = yes; then
- case $host_os in
- aix*)
- # The AIX port of GNU ld has always aspired to compatibility
- # with the native linker. However, as the warning in the GNU ld
- # block says, versions before 2.19.5* couldn't really create working
- # shared libraries, regardless of the interface used.
- case `$LD -v 2>&1` in
- *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
- *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
- *\ \(GNU\ Binutils\)\ [3-9]*) ;;
- *)
- lt_use_gnu_ld_interface=yes
- ;;
- esac
- ;;
- *)
- lt_use_gnu_ld_interface=yes
- ;;
- esac
- fi
-
- if test "$lt_use_gnu_ld_interface" = yes; then
- # If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
-
- # Set some defaults for GNU ld with shared library support. These
- # are reset later if shared libraries are not supported. Putting them
- # here allows them to be overridden if necessary.
- runpath_var=LD_RUN_PATH
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- export_dynamic_flag_spec='${wl}--export-dynamic'
- # ancient GNU ld didn't support --whole-archive et. al.
- if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
- whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- whole_archive_flag_spec=
- fi
- supports_anon_versioning=no
- case `$LD -v 2>&1` in
- *GNU\ gold*) supports_anon_versioning=yes ;;
- *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
- *\ 2.11.*) ;; # other 2.11 versions
- *) supports_anon_versioning=yes ;;
- esac
-
- # See if GNU ld supports shared libraries.
- case $host_os in
- aix[3-9]*)
- # On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
- ld_shlibs=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.19, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support. If you
-*** really care for shared libraries, you may want to install binutils
-*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
-*** You will then need to restart the configuration process.
-
-_LT_EOF
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds=''
- ;;
- m68k)
- archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- ;;
- esac
- ;;
-
- beos*)
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- allow_undefined_flag=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
-
- cygwin* | mingw* | pw32* | cegcc*)
- # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
- # as there is no search path for DLLs.
- hardcode_libdir_flag_spec='-L$libdir'
- export_dynamic_flag_spec='${wl}--export-all-symbols'
- allow_undefined_flag=unsupported
- always_export_symbols=no
- enable_shared_with_static_runtimes=yes
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
- exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
-
- if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- ld_shlibs=no
- fi
- ;;
-
- haiku*)
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- link_all_deplibs=yes
- ;;
-
- interix[3-9]*)
- hardcode_direct=no
- hardcode_shlibpath_var=no
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- export_dynamic_flag_spec='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
-
- gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
- tmp_diet=no
- if test "$host_os" = linux-dietlibc; then
- case $cc_basename in
- diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
- esac
- fi
- if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
- && test "$tmp_diet" = no
- then
- tmp_addflag=' $pic_flag'
- tmp_sharedflag='-shared'
- case $cc_basename,$host_cpu in
- pgcc*) # Portland Group C compiler
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag'
- ;;
- pgf77* | pgf90* | pgf95* | pgfortran*)
- # Portland Group f77 and f90 compilers
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag -Mnomain' ;;
- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
- tmp_addflag=' -i_dynamic' ;;
- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
- tmp_addflag=' -i_dynamic -nofor_main' ;;
- ifc* | ifort*) # Intel Fortran compiler
- tmp_addflag=' -nofor_main' ;;
- lf95*) # Lahey Fortran 8.1
- whole_archive_flag_spec=
- tmp_sharedflag='--shared' ;;
- xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
- tmp_sharedflag='-qmkshrobj'
- tmp_addflag= ;;
- nvcc*) # Cuda Compiler Driver 2.2
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- compiler_needs_object=yes
- ;;
- esac
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*) # Sun C 5.9
- whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- compiler_needs_object=yes
- tmp_sharedflag='-G' ;;
- *Sun\ F*) # Sun Fortran 8.3
- tmp_sharedflag='-G' ;;
- esac
- archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
- if test "x$supports_anon_versioning" = xyes; then
- archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- fi
-
- case $cc_basename in
- xlf* | bgf* | bgxlf* | mpixlf*)
- # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
- whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
- hardcode_libdir_flag_spec=
- hardcode_libdir_flag_spec_ld='-rpath $libdir'
- archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
- if test "x$supports_anon_versioning" = xyes; then
- archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
- fi
- ;;
- esac
- else
- ld_shlibs=no
- fi
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
- wlarc=
- else
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- fi
- ;;
-
- solaris*)
- if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
- ld_shlibs=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
- case `$LD -v 2>&1` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
- ld_shlibs=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- ;;
- *)
- # For security reasons, it is highly recommended that you always
- # use absolute paths for naming shared libraries, and exclude the
- # DT_RUNPATH tag from executables and libraries. But doing so
- # requires that you compile everything twice, which is a pain.
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
- esac
- ;;
-
- sunos4*)
- archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- wlarc=
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- *)
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
- esac
-
- if test "$ld_shlibs" = no; then
- runpath_var=
- hardcode_libdir_flag_spec=
- export_dynamic_flag_spec=
- whole_archive_flag_spec=
- fi
- else
- # PORTME fill in a description of your system's linker (not GNU ld)
- case $host_os in
- aix3*)
- allow_undefined_flag=unsupported
- always_export_symbols=yes
- archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
- # Note: this linker hardcodes the directories in LIBPATH if there
- # are no directories specified by -L.
- hardcode_minus_L=yes
- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
- # Neither direct hardcoding nor static linking is supported with a
- # broken collect2.
- hardcode_direct=unsupported
- fi
- ;;
-
- aix[4-9]*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- # Also, AIX nm treats weak defined symbols like other global
- # defined symbols, whereas GNU nm marks them as "W".
- if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
- export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- else
- export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- fi
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
- for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- aix_use_runtimelinking=yes
- break
- fi
- done
- ;;
- esac
-
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
-
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- archive_cmds=''
- hardcode_direct=yes
- hardcode_direct_absolute=yes
- hardcode_libdir_separator=':'
- link_all_deplibs=yes
- file_list_spec='${wl}-f,'
-
- if test "$GCC" = yes; then
- case $host_os in aix4.[012]|aix4.[012].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" &&
- strings "$collect2name" | $GREP resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- :
- else
- # We have old collect2
- hardcode_direct=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- hardcode_minus_L=yes
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_libdir_separator=
- fi
- ;;
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
-
- export_dynamic_flag_spec='${wl}-bexpall'
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- always_export_symbols=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- allow_undefined_flag='-berok'
- # Determine the default libpath from the value encoded in an
- # empty executable.
- if test "${lt_cv_aix_libpath+set}" = set; then
- aix_libpath=$lt_cv_aix_libpath
-else
- if ${lt_cv_aix_libpath_+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
- lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\([^ ]*\) *$/\1/
- p
- }
- }'
- lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- # Check for a 64-bit object if we didn't find anything.
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_="/usr/lib:/lib"
- fi
-
-fi
-
- aix_libpath=$lt_cv_aix_libpath_
-fi
-
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
- allow_undefined_flag="-z nodefs"
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an
- # empty executable.
- if test "${lt_cv_aix_libpath+set}" = set; then
- aix_libpath=$lt_cv_aix_libpath
-else
- if ${lt_cv_aix_libpath_+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
- lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\([^ ]*\) *$/\1/
- p
- }
- }'
- lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- # Check for a 64-bit object if we didn't find anything.
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_="/usr/lib:/lib"
- fi
-
-fi
-
- aix_libpath=$lt_cv_aix_libpath_
-fi
-
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- no_undefined_flag=' ${wl}-bernotok'
- allow_undefined_flag=' ${wl}-berok'
- if test "$with_gnu_ld" = yes; then
- # We only use this code for GNU lds that support --whole-archive.
- whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
- else
- # Exported symbols can be pulled into shared objects from archives
- whole_archive_flag_spec='$convenience'
- fi
- archive_cmds_need_lc=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds=''
- ;;
- m68k)
- archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- ;;
- esac
- ;;
-
- bsdi[45]*)
- export_dynamic_flag_spec=-rdynamic
- ;;
-
- cygwin* | mingw* | pw32* | cegcc*)
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- case $cc_basename in
- cl*)
- # Native MSVC
- hardcode_libdir_flag_spec=' '
- allow_undefined_flag=unsupported
- always_export_symbols=yes
- file_list_spec='@'
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
- archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
- else
- sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
- fi~
- $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
- linknames='
- # The linker will not automatically build a static lib if we build a DLL.
- # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
- enable_shared_with_static_runtimes=yes
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
- # Don't use ranlib
- old_postinstall_cmds='chmod 644 $oldlib'
- postlink_cmds='lt_outputfile="@OUTPUT@"~
- lt_tool_outputfile="@TOOL_OUTPUT@"~
- case $lt_outputfile in
- *.exe|*.EXE) ;;
- *)
- lt_outputfile="$lt_outputfile.exe"
- lt_tool_outputfile="$lt_tool_outputfile.exe"
- ;;
- esac~
- if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
- $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
- $RM "$lt_outputfile.manifest";
- fi'
- ;;
- *)
- # Assume MSVC wrapper
- hardcode_libdir_flag_spec=' '
- allow_undefined_flag=unsupported
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
- # The linker will automatically build a .lib file if we build a DLL.
- old_archive_from_new_cmds='true'
- # FIXME: Should let the user specify the lib program.
- old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
- enable_shared_with_static_runtimes=yes
- ;;
- esac
- ;;
-
- darwin* | rhapsody*)
-
-
- archive_cmds_need_lc=no
- hardcode_direct=no
- hardcode_automatic=yes
- hardcode_shlibpath_var=unsupported
- if test "$lt_cv_ld_force_load" = "yes"; then
- whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
- else
- whole_archive_flag_spec=''
- fi
- link_all_deplibs=yes
- allow_undefined_flag="$_lt_dar_allow_undefined"
- case $cc_basename in
- ifort*) _lt_dar_can_shared=yes ;;
- *) _lt_dar_can_shared=$GCC ;;
- esac
- if test "$_lt_dar_can_shared" = "yes"; then
- output_verbose_link_cmd=func_echo_all
- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-
- else
- ld_shlibs=no
- fi
-
- ;;
-
- dgux*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_shlibpath_var=no
- ;;
-
- freebsd1*)
- ld_shlibs=no
- ;;
-
- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
- # support. Future versions do this automatically, but an explicit c++rt0.o
- # does not break anything, and helps significantly (at the cost of a little
- # extra space).
- freebsd2.2*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes
- hardcode_minus_L=yes
- hardcode_shlibpath_var=no
- ;;
-
- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | dragonfly*)
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- hpux9*)
- if test "$GCC" = yes; then
- archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- fi
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_direct=yes
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- export_dynamic_flag_spec='${wl}-E'
- ;;
-
- hpux10*)
- if test "$GCC" = yes && test "$with_gnu_ld" = no; then
- archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_flag_spec_ld='+b $libdir'
- hardcode_libdir_separator=:
- hardcode_direct=yes
- hardcode_direct_absolute=yes
- export_dynamic_flag_spec='${wl}-E'
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- fi
- ;;
-
- hpux11*)
- if test "$GCC" = yes && test "$with_gnu_ld" = no; then
- case $host_cpu in
- hppa*64*)
- archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- else
- case $host_cpu in
- hppa*64*)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
-
- # Older versions of the 11.00 compiler do not understand -b yet
- # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
-$as_echo_n "checking if $CC understands -b... " >&6; }
-if ${lt_cv_prog_compiler__b+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler__b=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS -b"
- echo "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler__b=yes
- fi
- else
- lt_cv_prog_compiler__b=yes
- fi
- fi
- $RM -r conftest*
- LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
-$as_echo "$lt_cv_prog_compiler__b" >&6; }
-
-if test x"$lt_cv_prog_compiler__b" = xyes; then
- archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-else
- archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-fi
-
- ;;
- esac
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
-
- case $host_cpu in
- hppa*64*|ia64*)
- hardcode_direct=no
- hardcode_shlibpath_var=no
- ;;
- *)
- hardcode_direct=yes
- hardcode_direct_absolute=yes
- export_dynamic_flag_spec='${wl}-E'
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- ;;
- esac
- fi
- ;;
-
- irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- # Try to use the -exported_symbol ld option, if it does not
- # work, assume that -exports_file does not work either and
- # implicitly export all symbols.
- # This should be the same for all languages, so no per-tag cache variable.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
-$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
-if ${lt_cv_irix_exported_symbol+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-int foo (void) { return 0; }
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- lt_cv_irix_exported_symbol=yes
-else
- lt_cv_irix_exported_symbol=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS="$save_LDFLAGS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
-$as_echo "$lt_cv_irix_exported_symbol" >&6; }
- if test "$lt_cv_irix_exported_symbol" = yes; then
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
- fi
- else
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
- fi
- archive_cmds_need_lc='no'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- inherit_rpath=yes
- link_all_deplibs=yes
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
- else
- archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
- fi
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- newsos6)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_shlibpath_var=no
- ;;
-
- *nto* | *qnx*)
- ;;
-
- openbsd*)
- if test -f /usr/libexec/ld.so; then
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- hardcode_direct_absolute=yes
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- export_dynamic_flag_spec='${wl}-E'
- else
- case $host_os in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-R$libdir'
- ;;
- *)
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- ;;
- esac
- fi
- else
- ld_shlibs=no
- fi
- ;;
-
- os2*)
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- allow_undefined_flag=unsupported
- archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
- ;;
-
- osf3*)
- if test "$GCC" = yes; then
- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- fi
- archive_cmds_need_lc='no'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- ;;
-
- osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- else
- allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
- $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
-
- # Both c and cxx compiler support -rpath directly
- hardcode_libdir_flag_spec='-rpath $libdir'
- fi
- archive_cmds_need_lc='no'
- hardcode_libdir_separator=:
- ;;
-
- solaris*)
- no_undefined_flag=' -z defs'
- if test "$GCC" = yes; then
- wlarc='${wl}'
- archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
- else
- case `$CC -V 2>&1` in
- *"Compilers 5.0"*)
- wlarc=''
- archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
- ;;
- *)
- wlarc='${wl}'
- archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
- ;;
- esac
- fi
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_shlibpath_var=no
- case $host_os in
- solaris2.[0-5] | solaris2.[0-5].*) ;;
- *)
- # The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'. GCC discards it without `$wl',
- # but is careful enough not to reorder.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- if test "$GCC" = yes; then
- whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
- else
- whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
- fi
- ;;
- esac
- link_all_deplibs=yes
- ;;
-
- sunos4*)
- if test "x$host_vendor" = xsequent; then
- # Use $CC to link under sequent, because it throws in some extra .o
- # files that make .init and .fini sections work.
- archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
- fi
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_direct=yes
- hardcode_minus_L=yes
- hardcode_shlibpath_var=no
- ;;
-
- sysv4)
- case $host_vendor in
- sni)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes # is this really true???
- ;;
- siemens)
- ## LD is ld it makes a PLAMLIB
- ## CC just makes a GrossModule.
- archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- reload_cmds='$CC -r -o $output$reload_objs'
- hardcode_direct=no
- ;;
- motorola)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=no #Motorola manual says yes, but my tests say they lie
- ;;
- esac
- runpath_var='LD_RUN_PATH'
- hardcode_shlibpath_var=no
- ;;
-
- sysv4.3*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var=no
- export_dynamic_flag_spec='-Bexport'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var=no
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- ld_shlibs=yes
- fi
- ;;
-
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
- no_undefined_flag='${wl}-z,text'
- archive_cmds_need_lc=no
- hardcode_shlibpath_var=no
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- no_undefined_flag='${wl}-z,text'
- allow_undefined_flag='${wl}-z,nodefs'
- archive_cmds_need_lc=no
- hardcode_shlibpath_var=no
- hardcode_libdir_flag_spec='${wl}-R,$libdir'
- hardcode_libdir_separator=':'
- link_all_deplibs=yes
- export_dynamic_flag_spec='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- uts4*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_shlibpath_var=no
- ;;
-
- *)
- ld_shlibs=no
- ;;
- esac
-
- if test x$host_vendor = xsni; then
- case $host in
- sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- export_dynamic_flag_spec='${wl}-Blargedynsym'
- ;;
- esac
- fi
- fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
-$as_echo "$ld_shlibs" >&6; }
-test "$ld_shlibs" = no && can_build_shared=no
-
-with_gnu_ld=$with_gnu_ld
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc" in
-x|xyes)
- # Assume -lc should be added
- archive_cmds_need_lc=yes
-
- if test "$enable_shared" = yes && test "$GCC" = yes; then
- case $archive_cmds in
- *'~'*)
- # FIXME: we may have to deal with multi-command sequences.
- ;;
- '$CC '*)
- # Test whether the compiler implicitly links with -lc since on some
- # systems, -lgcc has to come before -lc. If gcc already passes -lc
- # to ld, don't add -lc before -lgcc.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
-$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if ${lt_cv_archive_cmds_need_lc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- $RM conftest*
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$lt_prog_compiler_wl
- pic_flag=$lt_prog_compiler_pic
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$allow_undefined_flag
- allow_undefined_flag=
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
- (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- then
- lt_cv_archive_cmds_need_lc=no
- else
- lt_cv_archive_cmds_need_lc=yes
- fi
- allow_undefined_flag=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
-$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
- archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
- ;;
- esac
- fi
- ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
-$as_echo_n "checking dynamic linker characteristics... " >&6; }
-
-if test "$GCC" = yes; then
- case $host_os in
- darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
- *) lt_awk_arg="/^libraries:/" ;;
- esac
- case $host_os in
- mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;;
- *) lt_sed_strip_eq="s,=/,/,g" ;;
- esac
- lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
- case $lt_search_path_spec in
- *\;*)
- # if the path contains ";" then we assume it to be the separator
- # otherwise default to the standard path separator (i.e. ":") - it is
- # assumed that no part of a normal pathname contains ";" but that should
- # okay in the real world where ";" in dirpaths is itself problematic.
- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
- ;;
- *)
- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
- ;;
- esac
- # Ok, now we have the path, separated by spaces, we can step through it
- # and add multilib dir if necessary.
- lt_tmp_lt_search_path_spec=
- lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
- for lt_sys_path in $lt_search_path_spec; do
- if test -d "$lt_sys_path/$lt_multi_os_dir"; then
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
- else
- test -d "$lt_sys_path" && \
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
- fi
- done
- lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
-BEGIN {RS=" "; FS="/|\n";} {
- lt_foo="";
- lt_count=0;
- for (lt_i = NF; lt_i > 0; lt_i--) {
- if ($lt_i != "" && $lt_i != ".") {
- if ($lt_i == "..") {
- lt_count++;
- } else {
- if (lt_count == 0) {
- lt_foo="/" $lt_i lt_foo;
- } else {
- lt_count--;
- }
- }
- }
- }
- if (lt_foo != "") { lt_freq[lt_foo]++; }
- if (lt_freq[lt_foo] == 1) { print lt_foo; }
-}'`
- # AWK program above erroneously prepends '/' to C:/dos/paths
- # for these hosts.
- case $host_os in
- mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
- $SED 's,/\([A-Za-z]:\),\1,g'` ;;
- esac
- sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
-else
- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
- shlibpath_var=LIBPATH
-
- # AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
-
-aix[4-9]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
- # AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- else
- # With GCC up to 2.95.x, collect2 would create an import file
- # for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
- # development snapshots of GCC prior to 3.0.
- case $host_os in
- aix4 | aix4.[01] | aix4.[01].*)
- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
- echo ' yes '
- echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
- :
- else
- can_build_shared=no
- fi
- ;;
- esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
- # soname into executable. Probably we can add versioning support to
- # collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
- # instead of lib<name>.a to let people know that these are not
- # typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
- # We preserve .a as extension for shared libraries through AIX4.2
- # and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
- shlibpath_var=LIBPATH
- fi
- ;;
-
-amigaos*)
- case $host_cpu in
- powerpc)
- # Since July 2007 AmigaOS4 officially supports .so libraries.
- # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- ;;
- m68k)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
- ;;
- esac
- ;;
-
-beos*)
- library_names_spec='${libname}${shared_ext}'
- dynamic_linker="$host_os ld.so"
- shlibpath_var=LIBRARY_PATH
- ;;
-
-bsdi[45]*)
- version_type=linux
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
- # the default ld.so.conf also contains /usr/contrib/lib and
- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
- # libtool to hard-code these into programs
- ;;
-
-cygwin* | mingw* | pw32* | cegcc*)
- version_type=windows
- shrext_cmds=".dll"
- need_version=no
- need_lib_prefix=no
-
- case $GCC,$cc_basename in
- yes,*)
- # gcc
- library_names_spec='$libname.dll.a'
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname~
- chmod a+x \$dldir/$dlname~
- if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
- eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
- fi'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $RM \$dlpath'
- shlibpath_overrides_runpath=yes
-
- case $host_os in
- cygwin*)
- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-
- sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
- ;;
- mingw* | cegcc*)
- # MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- ;;
- pw32*)
- # pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- ;;
- esac
- dynamic_linker='Win32 ld.exe'
- ;;
-
- *,cl*)
- # Native MSVC
- libname_spec='$name'
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- library_names_spec='${libname}.dll.lib'
-
- case $build_os in
- mingw*)
- sys_lib_search_path_spec=
- lt_save_ifs=$IFS
- IFS=';'
- for lt_path in $LIB
- do
- IFS=$lt_save_ifs
- # Let DOS variable expansion print the short 8.3 style file name.
- lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
- sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
- done
- IFS=$lt_save_ifs
- # Convert to MSYS style.
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
- ;;
- cygwin*)
- # Convert to unix form, then to dos form, then back to unix form
- # but this time dos style (no spaces!) so that the unix form looks
- # like /cygdrive/c/PROGRA~1:/cygdr...
- sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
- sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
- sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- ;;
- *)
- sys_lib_search_path_spec="$LIB"
- if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
- # It is most probably a Windows format PATH.
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- # FIXME: find the short name or the path components, as spaces are
- # common. (e.g. "Program Files" -> "PROGRA~1")
- ;;
- esac
-
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $RM \$dlpath'
- shlibpath_overrides_runpath=yes
- dynamic_linker='Win32 link.exe'
- ;;
-
- *)
- # Assume MSVC wrapper
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
- dynamic_linker='Win32 ld.exe'
- ;;
- esac
- # FIXME: first we should search . and the directory the executable is in
- shlibpath_var=PATH
- ;;
-
-darwin* | rhapsody*)
- dynamic_linker="$host_os dyld"
- version_type=darwin
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
- shlibpath_overrides_runpath=yes
- shlibpath_var=DYLD_LIBRARY_PATH
- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-
- sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
- ;;
-
-dgux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-freebsd1*)
- dynamic_linker=no
- ;;
-
-freebsd* | dragonfly*)
- # DragonFly does not have aout. When/if they implement a new
- # versioning mechanism, adjust this.
- if test -x /usr/bin/objformat; then
- objformat=`/usr/bin/objformat`
- else
- case $host_os in
- freebsd[123]*) objformat=aout ;;
- *) objformat=elf ;;
- esac
- fi
- version_type=freebsd-$objformat
- case $version_type in
- freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- need_version=no
- need_lib_prefix=no
- ;;
- freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
- need_version=yes
- ;;
- esac
- shlibpath_var=LD_LIBRARY_PATH
- case $host_os in
- freebsd2*)
- shlibpath_overrides_runpath=yes
- ;;
- freebsd3.[01]* | freebsdelf3.[01]*)
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
- freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
- *) # from 4.6 on, and DragonFly
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- esac
- ;;
-
-gnu*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- ;;
-
-haiku*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- dynamic_linker="$host_os runtime_loader"
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
- hardcode_into_libs=yes
- ;;
-
-hpux9* | hpux10* | hpux11*)
- # Give a soname corresponding to the major version so that dld.sl refuses to
- # link against other versions.
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- case $host_cpu in
- ia64*)
- shrext_cmds='.so'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.so"
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
- else
- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
- fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
- shrext_cmds='.sl'
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=SHLIB_PATH
- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
- esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
- postinstall_cmds='chmod 555 $lib'
- # or fails outright, so override atomically:
- install_override_mode=555
- ;;
-
-interix[3-9]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $host_os in
- nonstopux*) version_type=nonstopux ;;
- *)
- if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
- else
- version_type=irix
- fi ;;
- esac
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
- case $host_os in
- irix5* | nonstopux*)
- libsuff= shlibsuff=
- ;;
- *)
- case $LD in # libtool.m4 will add one of these switches to LD
- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
- libsuff= shlibsuff= libmagic=32-bit;;
- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
- libsuff=32 shlibsuff=N32 libmagic=N32;;
- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
- libsuff=64 shlibsuff=64 libmagic=64-bit;;
- *) libsuff= shlibsuff= libmagic=never-match;;
- esac
- ;;
- esac
- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
- hardcode_into_libs=yes
- ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
- dynamic_linker=no
- ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
-
- # Some binutils ld are patched to set DT_RUNPATH
- if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_shlibpath_overrides_runpath=no
- save_LDFLAGS=$LDFLAGS
- save_libdir=$libdir
- eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
- LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
- lt_cv_shlibpath_overrides_runpath=yes
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS=$save_LDFLAGS
- libdir=$save_libdir
-
-fi
-
- shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
-
- # This implies no fast_install, which is unacceptable.
- # Some rework will be needed to allow for fast_install
- # before this can be enabled.
- hardcode_into_libs=yes
-
- # Append ld.so.conf contents to the search path
- if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
- fi
-
- # We used to test for /lib/ld.so.1 and disable shared libraries on
- # powerpc, because MkLinux only supported shared libraries with the
- # GNU dynamic linker. Since this was broken with cross compilers,
- # most powerpc-linux boxes support dynamic linking these days and
- # people can always --disable-shared, the test was removed, and we
- # assume the GNU/Linux dynamic linker is in use.
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-netbsd*)
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- dynamic_linker='NetBSD (a.out) ld.so'
- else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='NetBSD ld.elf_so'
- fi
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
-
-newsos6)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-*nto* | *qnx*)
- version_type=qnx
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='ldqnx.so'
- ;;
-
-openbsd*)
- version_type=sunos
- sys_lib_dlsearch_path_spec="/usr/lib"
- need_lib_prefix=no
- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
- case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
- esac
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[89] | openbsd2.[89].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
- else
- shlibpath_overrides_runpath=yes
- fi
- ;;
-
-os2*)
- libname_spec='$name'
- shrext_cmds=".dll"
- need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
- dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
- ;;
-
-osf3* | osf4* | osf5*)
- version_type=osf
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
- ;;
-
-rdos*)
- dynamic_linker=no
- ;;
-
-solaris*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- # ldd complains unless libraries are executable
- postinstall_cmds='chmod +x $lib'
- ;;
-
-sunos4*)
- version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- fi
- need_version=yes
- ;;
-
-sysv4 | sysv4.3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- case $host_vendor in
- sni)
- shlibpath_overrides_runpath=no
- need_lib_prefix=no
- runpath_var=LD_RUN_PATH
- ;;
- siemens)
- need_lib_prefix=no
- ;;
- motorola)
- need_lib_prefix=no
- need_version=no
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
- ;;
- esac
- ;;
-
-sysv4*MP*)
- if test -d /usr/nec ;then
- version_type=linux
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
- shlibpath_var=LD_LIBRARY_PATH
- fi
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- version_type=freebsd-elf
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- if test "$with_gnu_ld" = yes; then
- sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
- else
- sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
- case $host_os in
- sco3.2v5*)
- sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
- ;;
- esac
- fi
- sys_lib_dlsearch_path_spec='/usr/lib'
- ;;
-
-tpf*)
- # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-uts4*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-*)
- dynamic_linker=no
- ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
-$as_echo "$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
- sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
- sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
-$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
-hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" ||
- test -n "$runpath_var" ||
- test "X$hardcode_automatic" = "Xyes" ; then
-
- # We can hardcode non-existent directories.
- if test "$hardcode_direct" != no &&
- # If the only mechanism to avoid hardcoding is shlibpath_var, we
- # have to relink, otherwise we might link with an installed library
- # when we should be linking with a yet-to-be-installed one
- ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
- test "$hardcode_minus_L" != no; then
- # Linking always hardcodes the temporary library directory.
- hardcode_action=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- hardcode_action=immediate
- fi
-else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- hardcode_action=unsupported
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
-$as_echo "$hardcode_action" >&6; }
-
-if test "$hardcode_action" = relink ||
- test "$inherit_rpath" = yes; then
- # Fast installation is not supported
- enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
- # Fast installation is not necessary
- enable_fast_install=needless
-fi
-
-
-
-
-
-
- if test "x$enable_dlopen" != xyes; then
- enable_dlopen=unknown
- enable_dlopen_self=unknown
- enable_dlopen_self_static=unknown
-else
- lt_cv_dlopen=no
- lt_cv_dlopen_libs=
-
- case $host_os in
- beos*)
- lt_cv_dlopen="load_add_on"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
- ;;
-
- mingw* | pw32* | cegcc*)
- lt_cv_dlopen="LoadLibrary"
- lt_cv_dlopen_libs=
- ;;
-
- cygwin*)
- lt_cv_dlopen="dlopen"
- lt_cv_dlopen_libs=
- ;;
-
- darwin*)
- # if libdl is installed we need to link against it
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dl_dlopen=yes
-else
- ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-
- lt_cv_dlopen="dyld"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
-
-fi
-
- ;;
-
- *)
- ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = xyes; then :
- lt_cv_dlopen="shl_load"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
-$as_echo_n "checking for shl_load in -ldld... " >&6; }
-if ${ac_cv_lib_dld_shl_load+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load ();
-int
-main ()
-{
-return shl_load ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dld_shl_load=yes
-else
- ac_cv_lib_dld_shl_load=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
-$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
- lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
-else
- ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dl_dlopen=yes
-else
- ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
-$as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if ${ac_cv_lib_svld_dlopen+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsvld $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_svld_dlopen=yes
-else
- ac_cv_lib_svld_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
-$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
-$as_echo_n "checking for dld_link in -ldld... " >&6; }
-if ${ac_cv_lib_dld_dld_link+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dld_link ();
-int
-main ()
-{
-return dld_link ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dld_dld_link=yes
-else
- ac_cv_lib_dld_dld_link=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
-$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
- lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
- ;;
- esac
-
- if test "x$lt_cv_dlopen" != xno; then
- enable_dlopen=yes
- else
- enable_dlopen=no
- fi
-
- case $lt_cv_dlopen in
- dlopen)
- save_CPPFLAGS="$CPPFLAGS"
- test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
- save_LDFLAGS="$LDFLAGS"
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
- save_LIBS="$LIBS"
- LIBS="$lt_cv_dlopen_libs $LIBS"
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
-$as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- lt_cv_dlopen_self=cross
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
- correspondingly for the symbols needed. */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
-
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else
- {
- if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- else puts (dlerror ());
- }
- /* dlclose (self); */
- }
- else
- puts (dlerror ());
-
- return status;
-}
-_LT_EOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) >&5 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
- x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
- x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
- esac
- else :
- # compilation failed
- lt_cv_dlopen_self=no
- fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
-$as_echo "$lt_cv_dlopen_self" >&6; }
-
- if test "x$lt_cv_dlopen_self" = xyes; then
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
-$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self_static+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- lt_cv_dlopen_self_static=cross
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
- correspondingly for the symbols needed. */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
-
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else
- {
- if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- else puts (dlerror ());
- }
- /* dlclose (self); */
- }
- else
- puts (dlerror ());
-
- return status;
-}
-_LT_EOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) >&5 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
- x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
- x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
- esac
- else :
- # compilation failed
- lt_cv_dlopen_self_static=no
- fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
-$as_echo "$lt_cv_dlopen_self_static" >&6; }
- fi
-
- CPPFLAGS="$save_CPPFLAGS"
- LDFLAGS="$save_LDFLAGS"
- LIBS="$save_LIBS"
- ;;
- esac
-
- case $lt_cv_dlopen_self in
- yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
- *) enable_dlopen_self=unknown ;;
- esac
-
- case $lt_cv_dlopen_self_static in
- yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
- *) enable_dlopen_self_static=unknown ;;
- esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-striplib=
-old_striplib=
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
-$as_echo_n "checking whether stripping libraries is possible... " >&6; }
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
- test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-# FIXME - insert some real tests, host_os isn't really good enough
- case $host_os in
- darwin*)
- if test -n "$STRIP" ; then
- striplib="$STRIP -x"
- old_striplib="$STRIP -S"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- fi
- ;;
- *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- ;;
- esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
- # Report which library types will actually be built
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
-$as_echo_n "checking if libtool supports shared libraries... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
-$as_echo "$can_build_shared" >&6; }
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
-$as_echo_n "checking whether to build shared libraries... " >&6; }
- test "$can_build_shared" = "no" && enable_shared=no
-
- # On AIX, shared libraries and static libraries use the same namespace, and
- # are all built from PIC.
- case $host_os in
- aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
-
- aix[4-9]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
- esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
-$as_echo "$enable_shared" >&6; }
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
-$as_echo_n "checking whether to build static libraries... " >&6; }
- # Make sure either enable_shared or enable_static is yes.
- test "$enable_shared" = yes || enable_static=yes
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
-$as_echo "$enable_static" >&6; }
-
-
-
-
-fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC="$lt_save_CC"
-
-
-
-
-
-
-
-
-
-
-
-
-
- ac_config_commands="$ac_config_commands libtool"
-
-
-
-
-# Only expand once:
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
-$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
- # Check whether --enable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then :
- enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
-else
- USE_MAINTAINER_MODE=no
-fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
-$as_echo "$USE_MAINTAINER_MODE" >&6; }
- if test $USE_MAINTAINER_MODE = yes; then
- MAINTAINER_MODE_TRUE=
- MAINTAINER_MODE_FALSE='#'
-else
- MAINTAINER_MODE_TRUE='#'
- MAINTAINER_MODE_FALSE=
-fi
-
- MAINT=$MAINTAINER_MODE_TRUE
-
-
-
-for ac_header in sys/mman.h
-do :
- ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_SYS_MMAN_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_func in mmap
-do :
- ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_MMAP 1
-_ACEOF
-
-fi
-done
-
-
-ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
- libffi_header_sys_mman_h=yes
-else
- libffi_header_sys_mman_h=no
-fi
-
-
-ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
- libffi_func_mmap=yes
-else
- libffi_func_mmap=no
-fi
-
-if test "$libffi_header_sys_mman_h" != yes \
- || test "$libffi_func_mmap" != yes; then
- ac_cv_func_mmap_file=no
- ac_cv_func_mmap_dev_zero=no
- ac_cv_func_mmap_anon=no
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether read-only mmap of a plain file works" >&5
-$as_echo_n "checking whether read-only mmap of a plain file works... " >&6; }
-if ${ac_cv_func_mmap_file+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Add a system to this blacklist if
- # mmap(0, stat_size, PROT_READ, MAP_PRIVATE, fd, 0) doesn't return a
- # memory area containing the same data that you'd get if you applied
- # read() to the same fd. The only system known to have a problem here
- # is VMS, where text files have record structure.
- case "$host_os" in
- vms* | ultrix*)
- ac_cv_func_mmap_file=no ;;
- *)
- ac_cv_func_mmap_file=yes;;
- esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_file" >&5
-$as_echo "$ac_cv_func_mmap_file" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap from /dev/zero works" >&5
-$as_echo_n "checking whether mmap from /dev/zero works... " >&6; }
-if ${ac_cv_func_mmap_dev_zero+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Add a system to this blacklist if it has mmap() but /dev/zero
- # does not exist, or if mmapping /dev/zero does not give anonymous
- # zeroed pages with both the following properties:
- # 1. If you map N consecutive pages in with one call, and then
- # unmap any subset of those pages, the pages that were not
- # explicitly unmapped remain accessible.
- # 2. If you map two adjacent blocks of memory and then unmap them
- # both at once, they must both go away.
- # Systems known to be in this category are Windows (all variants),
- # VMS, and Darwin.
- case "$host_os" in
- vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00)
- ac_cv_func_mmap_dev_zero=no ;;
- *)
- ac_cv_func_mmap_dev_zero=yes;;
- esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_dev_zero" >&5
-$as_echo "$ac_cv_func_mmap_dev_zero" >&6; }
-
- # Unlike /dev/zero, the MAP_ANON(YMOUS) defines can be probed for.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANON(YMOUS)" >&5
-$as_echo_n "checking for MAP_ANON(YMOUS)... " >&6; }
-if ${ac_cv_decl_map_anon+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <unistd.h>
-
-#ifndef MAP_ANONYMOUS
-#define MAP_ANONYMOUS MAP_ANON
-#endif
-
-int
-main ()
-{
-int n = MAP_ANONYMOUS;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_decl_map_anon=yes
-else
- ac_cv_decl_map_anon=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_decl_map_anon" >&5
-$as_echo "$ac_cv_decl_map_anon" >&6; }
-
- if test $ac_cv_decl_map_anon = no; then
- ac_cv_func_mmap_anon=no
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap with MAP_ANON(YMOUS) works" >&5
-$as_echo_n "checking whether mmap with MAP_ANON(YMOUS) works... " >&6; }
-if ${ac_cv_func_mmap_anon+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Add a system to this blacklist if it has mmap() and MAP_ANON or
- # MAP_ANONYMOUS, but using mmap(..., MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
- # doesn't give anonymous zeroed pages with the same properties listed
- # above for use of /dev/zero.
- # Systems known to be in this category are Windows, VMS, and SCO Unix.
- case "$host_os" in
- vms* | cygwin* | pe | mingw* | sco* | udk* )
- ac_cv_func_mmap_anon=no ;;
- *)
- ac_cv_func_mmap_anon=yes;;
- esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_anon" >&5
-$as_echo "$ac_cv_func_mmap_anon" >&6; }
- fi
-fi
-
-if test $ac_cv_func_mmap_file = yes; then
-
-$as_echo "#define HAVE_MMAP_FILE 1" >>confdefs.h
-
-fi
-if test $ac_cv_func_mmap_dev_zero = yes; then
-
-$as_echo "#define HAVE_MMAP_DEV_ZERO 1" >>confdefs.h
-
-fi
-if test $ac_cv_func_mmap_anon = yes; then
-
-$as_echo "#define HAVE_MMAP_ANON 1" >>confdefs.h
-
-fi
-
-
- if test -d $srcdir/testsuite; then
- TESTSUBDIR_TRUE=
- TESTSUBDIR_FALSE='#'
-else
- TESTSUBDIR_TRUE='#'
- TESTSUBDIR_FALSE=
-fi
-
-
-TARGETDIR="unknown"
-case "$host" in
- alpha*-*-*)
- TARGET=ALPHA; TARGETDIR=alpha;
- # Support 128-bit long double, changeable via command-line switch.
- HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
- ;;
-
- arm*-*-*)
- TARGET=ARM; TARGETDIR=arm
- ;;
-
- amd64-*-freebsd* | amd64-*-openbsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- amd64-*-freebsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- avr32*-*-*)
- TARGET=AVR32; TARGETDIR=avr32
- ;;
-
- cris-*-*)
- TARGET=LIBFFI_CRIS; TARGETDIR=cris
- ;;
-
- frv-*-*)
- TARGET=FRV; TARGETDIR=frv
- ;;
-
- hppa*-*-linux* | parisc*-*-linux*)
- TARGET=PA_LINUX; TARGETDIR=pa
- ;;
- hppa*64-*-hpux*)
- TARGET=PA64_HPUX; TARGETDIR=pa
- ;;
- hppa*-*-hpux*)
- TARGET=PA_HPUX; TARGETDIR=pa
- ;;
-
- i?86-*-freebsd* | i?86-*-openbsd*)
- TARGET=X86_FREEBSD; TARGETDIR=x86
- ;;
- i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2*)
- TARGET=X86_WIN32; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
- i?86-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
- i?86-*-solaris2.1[0-9]*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
- i?86-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- ia64*-*-*)
- TARGET=IA64; TARGETDIR=ia64
- ;;
-
- m32r*-*-*)
- TARGET=M32R; TARGETDIR=m32r
- ;;
-
- m68k-*-*)
- TARGET=M68K; TARGETDIR=m68k
- ;;
-
- mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
- TARGET=MIPS; TARGETDIR=mips
- ;;
- mips*-*-linux*)
- # Support 128-bit long double for NewABI.
- HAVE_LONG_DOUBLE='defined(__mips64)'
- TARGET=MIPS; TARGETDIR=mips
- ;;
-
- moxie-*-*)
- TARGET=MOXIE; TARGETDIR=moxie
- ;;
-
- powerpc*-*-linux* | powerpc-*-sysv*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-beos*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-darwin*)
- TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
- ;;
- powerpc-*-aix* | rs6000-*-aix*)
- TARGET=POWERPC_AIX; TARGETDIR=powerpc
- ;;
- powerpc-*-freebsd*)
- TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
- ;;
- powerpc64-*-freebsd*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc*-*-rtems*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
-
- s390-*-* | s390x-*-*)
- TARGET=S390; TARGETDIR=s390
- ;;
-
- sh-*-* | sh[34]*-*-*)
- TARGET=SH; TARGETDIR=sh
- ;;
- sh64-*-* | sh5*-*-*)
- TARGET=SH64; TARGETDIR=sh64
- ;;
-
- sparc*-*-*)
- TARGET=SPARC; TARGETDIR=sparc
- ;;
-
- x86_64-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
-
- x86_64-*-cygwin* | x86_64-*-mingw*)
- TARGET=X86_WIN64; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
-
- x86_64-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-esac
-
-
-
-
-if test $TARGETDIR = unknown; then
- as_fn_error $? "\"libffi has not been ported to $host.\"" "$LINENO" 5
-fi
-
- if test x$TARGET = xMIPS; then
- MIPS_TRUE=
- MIPS_FALSE='#'
-else
- MIPS_TRUE='#'
- MIPS_FALSE=
-fi
-
- if test x$TARGET = xSPARC; then
- SPARC_TRUE=
- SPARC_FALSE='#'
-else
- SPARC_TRUE='#'
- SPARC_FALSE=
-fi
-
- if test x$TARGET = xX86; then
- X86_TRUE=
- X86_FALSE='#'
-else
- X86_TRUE='#'
- X86_FALSE=
-fi
-
- if test x$TARGET = xX86_FREEBSD; then
- X86_FREEBSD_TRUE=
- X86_FREEBSD_FALSE='#'
-else
- X86_FREEBSD_TRUE='#'
- X86_FREEBSD_FALSE=
-fi
-
- if test x$TARGET = xX86_WIN32; then
- X86_WIN32_TRUE=
- X86_WIN32_FALSE='#'
-else
- X86_WIN32_TRUE='#'
- X86_WIN32_FALSE=
-fi
-
- if test x$TARGET = xX86_WIN64; then
- X86_WIN64_TRUE=
- X86_WIN64_FALSE='#'
-else
- X86_WIN64_TRUE='#'
- X86_WIN64_FALSE=
-fi
-
- if test x$TARGET = xX86_DARWIN; then
- X86_DARWIN_TRUE=
- X86_DARWIN_FALSE='#'
-else
- X86_DARWIN_TRUE='#'
- X86_DARWIN_FALSE=
-fi
-
- if test x$TARGET = xALPHA; then
- ALPHA_TRUE=
- ALPHA_FALSE='#'
-else
- ALPHA_TRUE='#'
- ALPHA_FALSE=
-fi
-
- if test x$TARGET = xIA64; then
- IA64_TRUE=
- IA64_FALSE='#'
-else
- IA64_TRUE='#'
- IA64_FALSE=
-fi
-
- if test x$TARGET = xM32R; then
- M32R_TRUE=
- M32R_FALSE='#'
-else
- M32R_TRUE='#'
- M32R_FALSE=
-fi
-
- if test x$TARGET = xM68K; then
- M68K_TRUE=
- M68K_FALSE='#'
-else
- M68K_TRUE='#'
- M68K_FALSE=
-fi
-
- if test x$TARGET = xMOXIE; then
- MOXIE_TRUE=
- MOXIE_FALSE='#'
-else
- MOXIE_TRUE='#'
- MOXIE_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC; then
- POWERPC_TRUE=
- POWERPC_FALSE='#'
-else
- POWERPC_TRUE='#'
- POWERPC_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_AIX; then
- POWERPC_AIX_TRUE=
- POWERPC_AIX_FALSE='#'
-else
- POWERPC_AIX_TRUE='#'
- POWERPC_AIX_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_DARWIN; then
- POWERPC_DARWIN_TRUE=
- POWERPC_DARWIN_FALSE='#'
-else
- POWERPC_DARWIN_TRUE='#'
- POWERPC_DARWIN_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_FREEBSD; then
- POWERPC_FREEBSD_TRUE=
- POWERPC_FREEBSD_FALSE='#'
-else
- POWERPC_FREEBSD_TRUE='#'
- POWERPC_FREEBSD_FALSE=
-fi
-
- if test x$TARGET = xARM; then
- ARM_TRUE=
- ARM_FALSE='#'
-else
- ARM_TRUE='#'
- ARM_FALSE=
-fi
-
- if test x$TARGET = xAVR32; then
- AVR32_TRUE=
- AVR32_FALSE='#'
-else
- AVR32_TRUE='#'
- AVR32_FALSE=
-fi
-
- if test x$TARGET = xLIBFFI_CRIS; then
- LIBFFI_CRIS_TRUE=
- LIBFFI_CRIS_FALSE='#'
-else
- LIBFFI_CRIS_TRUE='#'
- LIBFFI_CRIS_FALSE=
-fi
-
- if test x$TARGET = xFRV; then
- FRV_TRUE=
- FRV_FALSE='#'
-else
- FRV_TRUE='#'
- FRV_FALSE=
-fi
-
- if test x$TARGET = xS390; then
- S390_TRUE=
- S390_FALSE='#'
-else
- S390_TRUE='#'
- S390_FALSE=
-fi
-
- if test x$TARGET = xX86_64; then
- X86_64_TRUE=
- X86_64_FALSE='#'
-else
- X86_64_TRUE='#'
- X86_64_FALSE=
-fi
-
- if test x$TARGET = xSH; then
- SH_TRUE=
- SH_FALSE='#'
-else
- SH_TRUE='#'
- SH_FALSE=
-fi
-
- if test x$TARGET = xSH64; then
- SH64_TRUE=
- SH64_FALSE='#'
-else
- SH64_TRUE='#'
- SH64_FALSE=
-fi
-
- if test x$TARGET = xPA_LINUX; then
- PA_LINUX_TRUE=
- PA_LINUX_FALSE='#'
-else
- PA_LINUX_TRUE='#'
- PA_LINUX_FALSE=
-fi
-
- if test x$TARGET = xPA_HPUX; then
- PA_HPUX_TRUE=
- PA_HPUX_FALSE='#'
-else
- PA_HPUX_TRUE='#'
- PA_HPUX_FALSE=
-fi
-
- if test x$TARGET = xPA64_HPUX; then
- PA64_HPUX_TRUE=
- PA64_HPUX_FALSE='#'
-else
- PA64_HPUX_TRUE='#'
- PA64_HPUX_FALSE=
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_header_stdc=yes
-else
- ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then :
- :
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- return 2;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-for ac_func in memcpy
-do :
- ac_fn_c_check_func "$LINENO" "memcpy" "ac_cv_func_memcpy"
-if test "x$ac_cv_func_memcpy" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_MEMCPY 1
-_ACEOF
-
-fi
-done
-
-ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-if test "x$ac_cv_type_size_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define size_t unsigned int
-_ACEOF
-
-fi
-
-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
-# for constant arguments. Useless!
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
-$as_echo_n "checking for working alloca.h... " >&6; }
-if ${ac_cv_working_alloca_h+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <alloca.h>
-int
-main ()
-{
-char *p = (char *) alloca (2 * sizeof (int));
- if (p) return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_working_alloca_h=yes
-else
- ac_cv_working_alloca_h=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
-$as_echo "$ac_cv_working_alloca_h" >&6; }
-if test $ac_cv_working_alloca_h = yes; then
-
-$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
-$as_echo_n "checking for alloca... " >&6; }
-if ${ac_cv_func_alloca_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# ifdef _MSC_VER
-# include <malloc.h>
-# define alloca _alloca
-# else
-# ifdef HAVE_ALLOCA_H
-# include <alloca.h>
-# else
-# ifdef _AIX
- #pragma alloca
-# else
-# ifndef alloca /* predefined by HP cc +Olibcalls */
-void *alloca (size_t);
-# endif
-# endif
-# endif
-# endif
-#endif
-
-int
-main ()
-{
-char *p = (char *) alloca (1);
- if (p) return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_func_alloca_works=yes
-else
- ac_cv_func_alloca_works=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
-$as_echo "$ac_cv_func_alloca_works" >&6; }
-
-if test $ac_cv_func_alloca_works = yes; then
-
-$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
-
-else
- # The SVR3 libPW and SVR4 libucb both contain incompatible functions
-# that cause trouble. Some versions do not even contain alloca or
-# contain a buggy version. If you still want to use their alloca,
-# use ar to extract alloca.o from them instead of compiling alloca.c.
-
-ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
-
-$as_echo "#define C_ALLOCA 1" >>confdefs.h
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
-$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
-if ${ac_cv_os_cray+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#if defined CRAY && ! defined CRAY2
-webecray
-#else
-wenotbecray
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "webecray" >/dev/null 2>&1; then :
- ac_cv_os_cray=yes
-else
- ac_cv_os_cray=no
-fi
-rm -f conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5
-$as_echo "$ac_cv_os_cray" >&6; }
-if test $ac_cv_os_cray = yes; then
- for ac_func in _getb67 GETB67 getb67; do
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-
-cat >>confdefs.h <<_ACEOF
-#define CRAY_STACKSEG_END $ac_func
-_ACEOF
-
- break
-fi
-
- done
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
-$as_echo_n "checking stack direction for C alloca... " >&6; }
-if ${ac_cv_c_stack_direction+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- ac_cv_c_stack_direction=0
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
-int
-find_stack_direction ()
-{
- static char *addr = 0;
- auto char dummy;
- if (addr == 0)
- {
- addr = &dummy;
- return find_stack_direction ();
- }
- else
- return (&dummy > addr) ? 1 : -1;
-}
-
-int
-main ()
-{
- return find_stack_direction () < 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_c_stack_direction=1
-else
- ac_cv_c_stack_direction=-1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
-$as_echo "$ac_cv_c_stack_direction" >&6; }
-cat >>confdefs.h <<_ACEOF
-#define STACK_DIRECTION $ac_cv_c_stack_direction
-_ACEOF
-
-
-fi
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of double" >&5
-$as_echo_n "checking size of double... " >&6; }
-if ${ac_cv_sizeof_double+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (double))" "ac_cv_sizeof_double" "$ac_includes_default"; then :
-
-else
- if test "$ac_cv_type_double" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (double)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_double=0
- fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_double" >&5
-$as_echo "$ac_cv_sizeof_double" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_DOUBLE $ac_cv_sizeof_double
-_ACEOF
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long double" >&5
-$as_echo_n "checking size of long double... " >&6; }
-if ${ac_cv_sizeof_long_double+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long double))" "ac_cv_sizeof_long_double" "$ac_includes_default"; then :
-
-else
- if test "$ac_cv_type_long_double" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (long double)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_long_double=0
- fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_double" >&5
-$as_echo "$ac_cv_sizeof_long_double" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_LONG_DOUBLE $ac_cv_sizeof_long_double
-_ACEOF
-
-
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
- HAVE_LONG_DOUBLE=0
- if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
- if test $ac_cv_sizeof_long_double != 0; then
- HAVE_LONG_DOUBLE=1
-
-$as_echo "#define HAVE_LONG_DOUBLE 1" >>confdefs.h
-
- fi
- fi
-fi
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
-$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if ${ac_cv_c_bigendian+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_c_bigendian=unknown
- # See if we're dealing with a universal compiler.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifndef __APPLE_CC__
- not a universal capable compiler
- #endif
- typedef int dummy;
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
- # Check for potential -arch flags. It is not universal unless
- # there are at least two -arch flags with different values.
- ac_arch=
- ac_prev=
- for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
- if test -n "$ac_prev"; then
- case $ac_word in
- i?86 | x86_64 | ppc | ppc64)
- if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
- ac_arch=$ac_word
- else
- ac_cv_c_bigendian=universal
- break
- fi
- ;;
- esac
- ac_prev=
- elif test "x$ac_word" = "x-arch"; then
- ac_prev=arch
- fi
- done
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- if test $ac_cv_c_bigendian = unknown; then
- # See if sys/param.h defines the BYTE_ORDER macro.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
- #include <sys/param.h>
-
-int
-main ()
-{
-#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
- && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
- && LITTLE_ENDIAN)
- bogus endian macros
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- # It does; now see whether it defined to BIG_ENDIAN or not.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
- #include <sys/param.h>
-
-int
-main ()
-{
-#if BYTE_ORDER != BIG_ENDIAN
- not big endian
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_c_bigendian=yes
-else
- ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- if test $ac_cv_c_bigendian = unknown; then
- # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <limits.h>
-
-int
-main ()
-{
-#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
- bogus endian macros
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- # It does; now see whether it defined to _BIG_ENDIAN or not.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <limits.h>
-
-int
-main ()
-{
-#ifndef _BIG_ENDIAN
- not big endian
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_c_bigendian=yes
-else
- ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- if test $ac_cv_c_bigendian = unknown; then
- # Compile a test program.
- if test "$cross_compiling" = yes; then :
- # Try to guess by grepping values from an object file.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-short int ascii_mm[] =
- { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
- short int ascii_ii[] =
- { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
- int use_ascii (int i) {
- return ascii_mm[i] + ascii_ii[i];
- }
- short int ebcdic_ii[] =
- { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
- short int ebcdic_mm[] =
- { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
- int use_ebcdic (int i) {
- return ebcdic_mm[i] + ebcdic_ii[i];
- }
- extern int foo;
-
-int
-main ()
-{
-return use_ascii (foo) == use_ebcdic (foo);
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
- ac_cv_c_bigendian=yes
- fi
- if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
- if test "$ac_cv_c_bigendian" = unknown; then
- ac_cv_c_bigendian=no
- else
- # finding both strings is unlikely to happen, but who knows?
- ac_cv_c_bigendian=unknown
- fi
- fi
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-
- /* Are we little or big endian? From Harbison&Steele. */
- union
- {
- long int l;
- char c[sizeof (long int)];
- } u;
- u.l = 1;
- return u.c[sizeof (long int) - 1] == 1;
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_c_bigendian=no
-else
- ac_cv_c_bigendian=yes
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
-$as_echo "$ac_cv_c_bigendian" >&6; }
- case $ac_cv_c_bigendian in #(
- yes)
- $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
-;; #(
- no)
- ;; #(
- universal)
-
-$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
-
- ;; #(
- *)
- as_fn_error $? "unknown endianness
- presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
- esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .cfi pseudo-op support" >&5
-$as_echo_n "checking assembler .cfi pseudo-op support... " >&6; }
-if ${gcc_cv_as_cfi_pseudo_op+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- gcc_cv_as_cfi_pseudo_op=unknown
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".cfi_startproc\n\t.cfi_endproc");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- gcc_cv_as_cfi_pseudo_op=yes
-else
- gcc_cv_as_cfi_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_cfi_pseudo_op" >&5
-$as_echo "$gcc_cv_as_cfi_pseudo_op" >&6; }
- if test "x$gcc_cv_as_cfi_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_CFI_PSEUDO_OP 1" >>confdefs.h
-
- fi
-
-
-if test x$TARGET = xSPARC; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler and linker support unaligned pc related relocs" >&5
-$as_echo_n "checking assembler and linker support unaligned pc related relocs... " >&6; }
-if ${libffi_cv_as_sparc_ua_pcrel+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- save_CFLAGS="$CFLAGS"
- save_LDFLAGS="$LDFLAGS"
- CFLAGS="$CFLAGS -fpic"
- LDFLAGS="$LDFLAGS -shared"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- libffi_cv_as_sparc_ua_pcrel=yes
-else
- libffi_cv_as_sparc_ua_pcrel=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- CFLAGS="$save_CFLAGS"
- LDFLAGS="$save_LDFLAGS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_sparc_ua_pcrel" >&5
-$as_echo "$libffi_cv_as_sparc_ua_pcrel" >&6; }
- if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
-
-$as_echo "#define HAVE_AS_SPARC_UA_PCREL 1" >>confdefs.h
-
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .register pseudo-op support" >&5
-$as_echo_n "checking assembler .register pseudo-op support... " >&6; }
-if ${libffi_cv_as_register_pseudo_op+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_register_pseudo_op=unknown
- # Check if we have .register
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".register %g2, #scratch");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- libffi_cv_as_register_pseudo_op=yes
-else
- libffi_cv_as_register_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_register_pseudo_op" >&5
-$as_echo "$libffi_cv_as_register_pseudo_op" >&6; }
- if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_REGISTER_PSEUDO_OP 1" >>confdefs.h
-
- fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports pc related relocs" >&5
-$as_echo_n "checking assembler supports pc related relocs... " >&6; }
-if ${libffi_cv_as_x86_pcrel+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_x86_pcrel=no
- echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
- if $CC $CFLAGS -c conftest.s > /dev/null; then
- libffi_cv_as_x86_pcrel=yes
- fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_x86_pcrel" >&5
-$as_echo "$libffi_cv_as_x86_pcrel" >&6; }
- if test "x$libffi_cv_as_x86_pcrel" = xyes; then
-
-$as_echo "#define HAVE_AS_X86_PCREL 1" >>confdefs.h
-
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .ascii pseudo-op support" >&5
-$as_echo_n "checking assembler .ascii pseudo-op support... " >&6; }
-if ${libffi_cv_as_ascii_pseudo_op+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_ascii_pseudo_op=unknown
- # Check if we have .ascii
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".ascii \\"string\\"");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- libffi_cv_as_ascii_pseudo_op=yes
-else
- libffi_cv_as_ascii_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_ascii_pseudo_op" >&5
-$as_echo "$libffi_cv_as_ascii_pseudo_op" >&6; }
- if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_ASCII_PSEUDO_OP 1" >>confdefs.h
-
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .string pseudo-op support" >&5
-$as_echo_n "checking assembler .string pseudo-op support... " >&6; }
-if ${libffi_cv_as_string_pseudo_op+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_string_pseudo_op=unknown
- # Check if we have .string
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".string \\"string\\"");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- libffi_cv_as_string_pseudo_op=yes
-else
- libffi_cv_as_string_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_string_pseudo_op" >&5
-$as_echo "$libffi_cv_as_string_pseudo_op" >&6; }
- if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_STRING_PSEUDO_OP 1" >>confdefs.h
-
- fi
-fi
-
-if test x$TARGET = xX86_WIN64; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ prefix in compiled symbols" >&5
-$as_echo_n "checking for _ prefix in compiled symbols... " >&6; }
-if ${lt_cv_sys_symbol_underscore+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_sys_symbol_underscore=no
- cat > conftest.$ac_ext <<_LT_EOF
-void nm_test_func(){}
-int main(){nm_test_func;return 0;}
-_LT_EOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- # Now try to grab the symbols.
- ac_nlist=conftest.nm
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist\""; } >&5
- (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s "$ac_nlist"; then
- # See whether the symbols have a leading underscore.
- if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then
- lt_cv_sys_symbol_underscore=yes
- else
- if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then
- :
- else
- echo "configure: cannot find nm_test_func in $ac_nlist" >&5
- fi
- fi
- else
- echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&5
- fi
- else
- echo "configure: failed program was:" >&5
- cat conftest.c >&5
- fi
- rm -rf conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_symbol_underscore" >&5
-$as_echo "$lt_cv_sys_symbol_underscore" >&6; }
- sys_symbol_underscore=$lt_cv_sys_symbol_underscore
-
-
- if test "x$sys_symbol_underscore" = xyes; then
-
-$as_echo "#define SYMBOL_UNDERSCORE 1" >>confdefs.h
-
- fi
-fi
-
-case "$target" in
- *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
-
-$as_echo "#define FFI_MMAP_EXEC_WRIT 1" >>confdefs.h
-
- ;;
-esac
-
-if test x$TARGET = xX86_64; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports unwind section type" >&5
-$as_echo_n "checking assembler supports unwind section type... " >&6; }
-if ${libffi_cv_as_x86_64_unwind_section_type+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_x86_64_unwind_section_type=yes
- echo '.section .eh_frame,"a",@unwind' > conftest.s
- if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
- libffi_cv_as_x86_64_unwind_section_type=no
- fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_x86_64_unwind_section_type" >&5
-$as_echo "$libffi_cv_as_x86_64_unwind_section_type" >&6; }
- if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
-
-$as_echo "#define HAVE_AS_X86_64_UNWIND_SECTION_TYPE 1" >>confdefs.h
-
- fi
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether .eh_frame section should be read-only" >&5
-$as_echo_n "checking whether .eh_frame section should be read-only... " >&6; }
-if ${libffi_cv_ro_eh_frame+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_ro_eh_frame=no
- echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
- if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
- if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- elif grep '.section.*eh_frame.*#alloc' conftest.c \
- | grep -v '#write' > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- fi
- fi
- rm -f conftest.*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_ro_eh_frame" >&5
-$as_echo "$libffi_cv_ro_eh_frame" >&6; }
-if test "x$libffi_cv_ro_eh_frame" = xyes; then
-
-$as_echo "#define HAVE_RO_EH_FRAME 1" >>confdefs.h
-
-
-$as_echo "#define EH_FRAME_FLAGS \"a\"" >>confdefs.h
-
-else
-
-$as_echo "#define EH_FRAME_FLAGS \"aw\"" >>confdefs.h
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __attribute__((visibility(\"hidden\")))" >&5
-$as_echo_n "checking for __attribute__((visibility(\"hidden\")))... " >&6; }
-if ${libffi_cv_hidden_visibility_attribute+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1; }' > conftest.c
- libffi_cv_hidden_visibility_attribute=no
- if { ac_try='${CC-cc} -Werror -S conftest.c -o conftest.s 1>&5'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- if grep '\.hidden.*foo' conftest.s >/dev/null; then
- libffi_cv_hidden_visibility_attribute=yes
- fi
- fi
- rm -f conftest.*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_hidden_visibility_attribute" >&5
-$as_echo "$libffi_cv_hidden_visibility_attribute" >&6; }
-if test $libffi_cv_hidden_visibility_attribute = yes; then
-
-$as_echo "#define HAVE_HIDDEN_VISIBILITY_ATTRIBUTE 1" >>confdefs.h
-
-fi
-
-
-
-
-
-
-
-
-# Check whether --enable-debug was given.
-if test "${enable_debug+set}" = set; then :
- enableval=$enable_debug; if test "$enable_debug" = "yes"; then
-
-$as_echo "#define FFI_DEBUG 1" >>confdefs.h
-
- fi
-fi
-
- if test "$enable_debug" = "yes"; then
- FFI_DEBUG_TRUE=
- FFI_DEBUG_FALSE='#'
-else
- FFI_DEBUG_TRUE='#'
- FFI_DEBUG_FALSE=
-fi
-
-
-# Check whether --enable-structs was given.
-if test "${enable_structs+set}" = set; then :
- enableval=$enable_structs; if test "$enable_structs" = "no"; then
-
-$as_echo "#define FFI_NO_STRUCTS 1" >>confdefs.h
-
- fi
-fi
-
-
-# Check whether --enable-raw-api was given.
-if test "${enable_raw_api+set}" = set; then :
- enableval=$enable_raw_api; if test "$enable_raw_api" = "no"; then
-
-$as_echo "#define FFI_NO_RAW_API 1" >>confdefs.h
-
- fi
-fi
-
-
-# Check whether --enable-purify-safety was given.
-if test "${enable_purify_safety+set}" = set; then :
- enableval=$enable_purify_safety; if test "$enable_purify_safety" = "yes"; then
-
-$as_echo "#define USING_PURIFY 1" >>confdefs.h
-
- fi
-fi
-
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- toolexecdir='$(exec_prefix)/$(target_alias)'
- toolexeclibdir='$(toolexecdir)/lib'
- else
- toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
- toolexeclibdir='$(libdir)'
- fi
- multi_os_directory=`$CC -print-multi-os-directory`
- case $multi_os_directory in
- .) ;; # Avoid trailing /.
- *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
- esac
-
-
-fi
-
-if test "${multilib}" = "yes"; then
- multilib_arg="--enable-multilib"
-else
- multilib_arg=
-fi
-
-ac_config_commands="$ac_config_commands include"
-
-ac_config_commands="$ac_config_commands src"
-
-
-ac_config_links="$ac_config_links include/ffitarget.h:src/$TARGETDIR/ffitarget.h"
-
-
-ac_config_files="$ac_config_files include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc"
-
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems. If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
- for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
-
- (set) 2>&1 |
- case $as_nl`(ac_space=' '; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- # `set' does not quote correctly, so add quotes: double-quote
- # substitution turns \\\\ into \\, and sed turns \\ into \.
- sed -n \
- "s/'/'\\\\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- ;; #(
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-) |
- sed '
- /^ac_cv_env_/b end
- t clear
- :clear
- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
- t end
- s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
- if test -w "$cache_file"; then
- if test "x$cache_file" != "x/dev/null"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
- if test ! -f "$cache_file" || test -h "$cache_file"; then
- cat confcache >"$cache_file"
- else
- case $cache_file in #(
- */* | ?:*)
- mv -f confcache "$cache_file"$$ &&
- mv -f "$cache_file"$$ "$cache_file" ;; #(
- *)
- mv -f confcache "$cache_file" ;;
- esac
- fi
- fi
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
- fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-U=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
- # 1. Remove the extension, and $U if already installed.
- ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
- ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
- # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
- # will be set to the directory where LIBOBJS objects are built.
- as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
- as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
- if test -n "$EXEEXT"; then
- am__EXEEXT_TRUE=
- am__EXEEXT_FALSE='#'
-else
- am__EXEEXT_TRUE='#'
- am__EXEEXT_FALSE=
-fi
-
-if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
- as_fn_error $? "conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
- as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCCAS_TRUE}" && test -z "${am__fastdepCCAS_FALSE}"; then
- as_fn_error $? "conditional \"am__fastdepCCAS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
- as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${TESTSUBDIR_TRUE}" && test -z "${TESTSUBDIR_FALSE}"; then
- as_fn_error $? "conditional \"TESTSUBDIR\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MIPS_TRUE}" && test -z "${MIPS_FALSE}"; then
- as_fn_error $? "conditional \"MIPS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SPARC_TRUE}" && test -z "${SPARC_FALSE}"; then
- as_fn_error $? "conditional \"SPARC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_TRUE}" && test -z "${X86_FALSE}"; then
- as_fn_error $? "conditional \"X86\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_FREEBSD_TRUE}" && test -z "${X86_FREEBSD_FALSE}"; then
- as_fn_error $? "conditional \"X86_FREEBSD\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_WIN32_TRUE}" && test -z "${X86_WIN32_FALSE}"; then
- as_fn_error $? "conditional \"X86_WIN32\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_WIN64_TRUE}" && test -z "${X86_WIN64_FALSE}"; then
- as_fn_error $? "conditional \"X86_WIN64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_DARWIN_TRUE}" && test -z "${X86_DARWIN_FALSE}"; then
- as_fn_error $? "conditional \"X86_DARWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${ALPHA_TRUE}" && test -z "${ALPHA_FALSE}"; then
- as_fn_error $? "conditional \"ALPHA\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${IA64_TRUE}" && test -z "${IA64_FALSE}"; then
- as_fn_error $? "conditional \"IA64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${M32R_TRUE}" && test -z "${M32R_FALSE}"; then
- as_fn_error $? "conditional \"M32R\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${M68K_TRUE}" && test -z "${M68K_FALSE}"; then
- as_fn_error $? "conditional \"M68K\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MOXIE_TRUE}" && test -z "${MOXIE_FALSE}"; then
- as_fn_error $? "conditional \"MOXIE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_TRUE}" && test -z "${POWERPC_FALSE}"; then
- as_fn_error $? "conditional \"POWERPC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_AIX_TRUE}" && test -z "${POWERPC_AIX_FALSE}"; then
- as_fn_error $? "conditional \"POWERPC_AIX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_DARWIN_TRUE}" && test -z "${POWERPC_DARWIN_FALSE}"; then
- as_fn_error $? "conditional \"POWERPC_DARWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_FREEBSD_TRUE}" && test -z "${POWERPC_FREEBSD_FALSE}"; then
- as_fn_error $? "conditional \"POWERPC_FREEBSD\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${ARM_TRUE}" && test -z "${ARM_FALSE}"; then
- as_fn_error $? "conditional \"ARM\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${AVR32_TRUE}" && test -z "${AVR32_FALSE}"; then
- as_fn_error $? "conditional \"AVR32\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${LIBFFI_CRIS_TRUE}" && test -z "${LIBFFI_CRIS_FALSE}"; then
- as_fn_error $? "conditional \"LIBFFI_CRIS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${FRV_TRUE}" && test -z "${FRV_FALSE}"; then
- as_fn_error $? "conditional \"FRV\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${S390_TRUE}" && test -z "${S390_FALSE}"; then
- as_fn_error $? "conditional \"S390\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_64_TRUE}" && test -z "${X86_64_FALSE}"; then
- as_fn_error $? "conditional \"X86_64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SH_TRUE}" && test -z "${SH_FALSE}"; then
- as_fn_error $? "conditional \"SH\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SH64_TRUE}" && test -z "${SH64_FALSE}"; then
- as_fn_error $? "conditional \"SH64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA_LINUX_TRUE}" && test -z "${PA_LINUX_FALSE}"; then
- as_fn_error $? "conditional \"PA_LINUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA_HPUX_TRUE}" && test -z "${PA_HPUX_FALSE}"; then
- as_fn_error $? "conditional \"PA_HPUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA64_HPUX_TRUE}" && test -z "${PA64_HPUX_FALSE}"; then
- as_fn_error $? "conditional \"PA64_HPUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-if test -z "${FFI_DEBUG_TRUE}" && test -z "${FFI_DEBUG_FALSE}"; then
- as_fn_error $? "conditional \"FFI_DEBUG\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-: "${CONFIG_STATUS=./config.status}"
-ac_write_fail=0
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in #(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- fi
- $as_echo "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} # as_fn_error
-
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} # as_fn_exit
-
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
-
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -p'
- fi
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in #(
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by libffi $as_me 3.0.11-rc2, which was
-generated by GNU Autoconf 2.68. Invocation command line was
-
- CONFIG_FILES = $CONFIG_FILES
- CONFIG_HEADERS = $CONFIG_HEADERS
- CONFIG_LINKS = $CONFIG_LINKS
- CONFIG_COMMANDS = $CONFIG_COMMANDS
- $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-case $ac_config_headers in *"
-"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
-esac
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-config_links="$ac_config_links"
-config_commands="$ac_config_commands"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration. Unless the files
-and actions are specified as TAGs, all are instantiated by default.
-
-Usage: $0 [OPTION]... [TAG]...
-
- -h, --help print this help, then exit
- -V, --version print version number and configuration settings, then exit
- --config print configuration, then exit
- -q, --quiet, --silent
- do not print progress messages
- -d, --debug don't remove temporary files
- --recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
- --header=FILE[:TEMPLATE]
- instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration links:
-$config_links
-
-Configuration commands:
-$config_commands
-
-Report bugs to <http://github.com/atgreen/libffi/issues>."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-ac_cs_version="\\
-libffi config.status 3.0.11-rc2
-configured by $0, generated by GNU Autoconf 2.68,
- with options \\"\$ac_cs_config\\"
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-INSTALL='$INSTALL'
-MKDIR_P='$MKDIR_P'
-AWK='$AWK'
-test -n "\$AWK" || AWK=awk
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
-ac_need_defaults=:
-while test $# != 0
-do
- case $1 in
- --*=?*)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
- ac_shift=:
- ;;
- --*=)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=
- ac_shift=:
- ;;
- *)
- ac_option=$1
- ac_optarg=$2
- ac_shift=shift
- ;;
- esac
-
- case $ac_option in
- # Handling of the options.
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- ac_cs_recheck=: ;;
- --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
- $as_echo "$ac_cs_version"; exit ;;
- --config | --confi | --conf | --con | --co | --c )
- $as_echo "$ac_cs_config"; exit ;;
- --debug | --debu | --deb | --de | --d | -d )
- debug=: ;;
- --file | --fil | --fi | --f )
- $ac_shift
- case $ac_optarg in
- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
- '') as_fn_error $? "missing file argument" ;;
- esac
- as_fn_append CONFIG_FILES " '$ac_optarg'"
- ac_need_defaults=false;;
- --header | --heade | --head | --hea )
- $ac_shift
- case $ac_optarg in
- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- as_fn_append CONFIG_HEADERS " '$ac_optarg'"
- ac_need_defaults=false;;
- --he | --h)
- # Conflict between --help and --header
- as_fn_error $? "ambiguous option: \`$1'
-Try \`$0 --help' for more information.";;
- --help | --hel | -h )
- $as_echo "$ac_cs_usage"; exit ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil | --si | --s)
- ac_cs_silent=: ;;
-
- # This is an error.
- -*) as_fn_error $? "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
-
- *) as_fn_append ac_config_targets " $1"
- ac_need_defaults=false ;;
-
- esac
- shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
- exec 6>/dev/null
- ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-if \$ac_cs_recheck; then
- set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
- shift
- \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
- CONFIG_SHELL='$SHELL'
- export CONFIG_SHELL
- exec "\$@"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
- $as_echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-#
-# INIT-COMMANDS
-#
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-sed_quote_subst='$sed_quote_subst'
-double_quote_subst='$double_quote_subst'
-delay_variable_subst='$delay_variable_subst'
-macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
-macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
-enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
-enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
-pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
-enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
-SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
-ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
-host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
-host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
-host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
-build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
-build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
-build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
-SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
-Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
-GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
-EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
-FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
-LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
-NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
-LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
-max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
-ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
-exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
-lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
-lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
-lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
-reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
-reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
-OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
-deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
-file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
-file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
-want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
-DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
-sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
-AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
-AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
-archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
-STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
-RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
-old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
-lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
-CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
-CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
-compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
-GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
-nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
-lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
-objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
-MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
-lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
-need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
-MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
-DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
-NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
-LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
-OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
-libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
-shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
-extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
-enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
-export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
-whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
-compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
-old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
-archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
-module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
-allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
-no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_ld='`$ECHO "$hardcode_libdir_flag_spec_ld" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
-hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
-hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
-hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
-hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
-hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
-inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
-link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
-always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
-export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
-exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
-include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
-prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
-postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
-file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
-variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
-need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
-version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
-runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
-libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
-library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
-soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
-install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
-postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
-finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
-hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
-sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
-sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
-enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
-old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
-striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
-
-LTCC='$LTCC'
-LTCFLAGS='$LTCFLAGS'
-compiler='$compiler_DEFAULT'
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
- eval 'cat <<_LTECHO_EOF
-\$1
-_LTECHO_EOF'
-}
-
-# Quote evaled strings.
-for var in SHELL \
-ECHO \
-SED \
-GREP \
-EGREP \
-FGREP \
-LD \
-NM \
-LN_S \
-lt_SP2NL \
-lt_NL2SP \
-reload_flag \
-OBJDUMP \
-deplibs_check_method \
-file_magic_cmd \
-file_magic_glob \
-want_nocaseglob \
-DLLTOOL \
-sharedlib_from_linklib_cmd \
-AR \
-AR_FLAGS \
-archiver_list_spec \
-STRIP \
-RANLIB \
-CC \
-CFLAGS \
-compiler \
-lt_cv_sys_global_symbol_pipe \
-lt_cv_sys_global_symbol_to_cdecl \
-lt_cv_sys_global_symbol_to_c_name_address \
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
-nm_file_list_spec \
-lt_prog_compiler_no_builtin_flag \
-lt_prog_compiler_pic \
-lt_prog_compiler_wl \
-lt_prog_compiler_static \
-lt_cv_prog_compiler_c_o \
-need_locks \
-MANIFEST_TOOL \
-DSYMUTIL \
-NMEDIT \
-LIPO \
-OTOOL \
-OTOOL64 \
-shrext_cmds \
-export_dynamic_flag_spec \
-whole_archive_flag_spec \
-compiler_needs_object \
-with_gnu_ld \
-allow_undefined_flag \
-no_undefined_flag \
-hardcode_libdir_flag_spec \
-hardcode_libdir_flag_spec_ld \
-hardcode_libdir_separator \
-exclude_expsyms \
-include_expsyms \
-file_list_spec \
-variables_saved_for_relink \
-libname_spec \
-library_names_spec \
-soname_spec \
-install_override_mode \
-finish_eval \
-old_striplib \
-striplib; do
- case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
- *[\\\\\\\`\\"\\\$]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
- ;;
- *)
- eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
- ;;
- esac
-done
-
-# Double-quote double-evaled strings.
-for var in reload_cmds \
-old_postinstall_cmds \
-old_postuninstall_cmds \
-old_archive_cmds \
-extract_expsyms_cmds \
-old_archive_from_new_cmds \
-old_archive_from_expsyms_cmds \
-archive_cmds \
-archive_expsym_cmds \
-module_cmds \
-module_expsym_cmds \
-export_symbols_cmds \
-prelink_cmds \
-postlink_cmds \
-postinstall_cmds \
-postuninstall_cmds \
-finish_cmds \
-sys_lib_search_path_spec \
-sys_lib_dlsearch_path_spec; do
- case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
- *[\\\\\\\`\\"\\\$]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
- ;;
- *)
- eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
- ;;
- esac
-done
-
-ac_aux_dir='$ac_aux_dir'
-xsi_shell='$xsi_shell'
-lt_shell_append='$lt_shell_append'
-
-# See if we are running on zsh, and set the options which allow our
-# commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
-fi
-
-
- PACKAGE='$PACKAGE'
- VERSION='$VERSION'
- TIMESTAMP='$TIMESTAMP'
- RM='$RM'
- ofile='$ofile'
-
-
-
-TARGETDIR="$TARGETDIR"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
- case $ac_config_target in
- "fficonfig.h") CONFIG_HEADERS="$CONFIG_HEADERS fficonfig.h" ;;
- "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
- "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
- "include") CONFIG_COMMANDS="$CONFIG_COMMANDS include" ;;
- "src") CONFIG_COMMANDS="$CONFIG_COMMANDS src" ;;
- "include/ffitarget.h") CONFIG_LINKS="$CONFIG_LINKS include/ffitarget.h:src/$TARGETDIR/ffitarget.h" ;;
- "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
- "include/ffi.h") CONFIG_FILES="$CONFIG_FILES include/ffi.h" ;;
- "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- "testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;;
- "man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;;
- "libffi.pc") CONFIG_FILES="$CONFIG_FILES libffi.pc" ;;
-
- *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
- esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used. Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
- test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
- test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
- test "${CONFIG_LINKS+set}" = set || CONFIG_LINKS=$config_links
- test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience. Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
- tmp= ac_tmp=
- trap 'exit_status=$?
- : "${ac_tmp:=$tmp}"
- { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
-' 0
- trap 'as_fn_exit 1' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
- tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
- test -d "$tmp"
-} ||
-{
- tmp=./conf$$-$RANDOM
- (umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-ac_tmp=$tmp
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
- eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
- ac_cs_awk_cr='\\r'
-else
- ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
-_ACEOF
-
-
-{
- echo "cat >conf$$subs.awk <<_ACEOF" &&
- echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
- echo "_ACEOF"
-} >conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
- . ./conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-
- ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
- if test $ac_delim_n = $ac_delim_num; then
- break
- elif $ac_last_try; then
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\)..*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\)..*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^""]/{
- N
- s/\n//
-}
-' >>$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
- for (key in S) S_is_set[key] = 1
- FS = ""
-
-}
-{
- line = $ 0
- nfields = split(line, field, "@")
- substed = 0
- len = length(field[1])
- for (i = 2; i < nfields; i++) {
- key = field[i]
- keylen = length(key)
- if (S_is_set[key]) {
- value = S[key]
- line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
- len += length(value) + length(field[++i])
- substed = 1
- } else
- len += 1 + keylen
- }
-
- print line
-}
-
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
- sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
- cat
-fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
- || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
-# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
-h
-s///
-s/^/:/
-s/[ ]*$/:/
-s/:\$(srcdir):/:/g
-s/:\${srcdir}:/:/g
-s/:@srcdir@:/:/g
-s/^:*//
-s/:*$//
-x
-s/\(=[ ]*\).*/\1/
-G
-s/\n//
-s/^[^=]*=[ ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
-
-# Set up the scripts for CONFIG_HEADERS section.
-# No need to generate them if there are no CONFIG_HEADERS.
-# This happens for instance with `./config.status Makefile'.
-if test -n "$CONFIG_HEADERS"; then
-cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
-BEGIN {
-_ACEOF
-
-# Transform confdefs.h into an awk script `defines.awk', embedded as
-# here-document in config.status, that substitutes the proper values into
-# config.h.in to produce config.h.
-
-# Create a delimiter string that does not exist in confdefs.h, to ease
-# handling of long lines.
-ac_delim='%!_!# '
-for ac_last_try in false false :; do
- ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
- if test -z "$ac_tt"; then
- break
- elif $ac_last_try; then
- as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-
-# For the awk script, D is an array of macro values keyed by name,
-# likewise P contains macro parameters if any. Preserve backslash
-# newline sequences.
-
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-sed -n '
-s/.\{148\}/&'"$ac_delim"'/g
-t rset
-:rset
-s/^[ ]*#[ ]*define[ ][ ]*/ /
-t def
-d
-:def
-s/\\$//
-t bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3"/p
-s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
-d
-:bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3\\\\\\n"\\/p
-t cont
-s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
-t cont
-d
-:cont
-n
-s/.\{148\}/&'"$ac_delim"'/g
-t clear
-:clear
-s/\\$//
-t bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/"/p
-d
-:bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
-b cont
-' <confdefs.h | sed '
-s/'"$ac_delim"'/"\\\
-"/g' >>$CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- for (key in D) D_is_set[key] = 1
- FS = ""
-}
-/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
- line = \$ 0
- split(line, arg, " ")
- if (arg[1] == "#") {
- defundef = arg[2]
- mac1 = arg[3]
- } else {
- defundef = substr(arg[1], 2)
- mac1 = arg[2]
- }
- split(mac1, mac2, "(") #)
- macro = mac2[1]
- prefix = substr(line, 1, index(line, defundef) - 1)
- if (D_is_set[macro]) {
- # Preserve the white space surrounding the "#".
- print prefix "define", macro P[macro] D[macro]
- next
- } else {
- # Replace #undef with comments. This is necessary, for example,
- # in the case of _POSIX_SOURCE, which is predefined and required
- # on some systems where configure will not decide to define it.
- if (defundef == "undef") {
- print "/*", prefix defundef, macro, "*/"
- next
- }
- }
-}
-{ print }
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
- as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
-fi # test -n "$CONFIG_HEADERS"
-
-
-eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :L $CONFIG_LINKS :C $CONFIG_COMMANDS"
-shift
-for ac_tag
-do
- case $ac_tag in
- :[FHLC]) ac_mode=$ac_tag; continue;;
- esac
- case $ac_mode$ac_tag in
- :[FHL]*:*);;
- :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
- :[FH]-) ac_tag=-:-;;
- :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
- esac
- ac_save_IFS=$IFS
- IFS=:
- set x $ac_tag
- IFS=$ac_save_IFS
- shift
- ac_file=$1
- shift
-
- case $ac_mode in
- :L) ac_source=$1;;
- :[FH])
- ac_file_inputs=
- for ac_f
- do
- case $ac_f in
- -) ac_f="$ac_tmp/stdin";;
- *) # Look for the file first in the build tree, then in the source tree
- # (if the path is not absolute). The absolute path cannot be DOS-style,
- # because $ac_f cannot contain `:'.
- test -f "$ac_f" ||
- case $ac_f in
- [\\/$]*) false;;
- *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
- esac ||
- as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
- esac
- case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
- as_fn_append ac_file_inputs " '$ac_f'"
- done
-
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- configure_input='Generated from '`
- $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
- `' by configure.'
- if test x"$ac_file" != x-; then
- configure_input="$ac_file. $configure_input"
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
- fi
- # Neutralize special characters interpreted by sed in replacement strings.
- case $configure_input in #(
- *\&* | *\|* | *\\* )
- ac_sed_conf_input=`$as_echo "$configure_input" |
- sed 's/[\\\\&|]/\\\\&/g'`;; #(
- *) ac_sed_conf_input=$configure_input;;
- esac
-
- case $ac_tag in
- *:-:* | *:-) cat >"$ac_tmp/stdin" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
- esac
- ;;
- esac
-
- ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- as_dir="$ac_dir"; as_fn_mkdir_p
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
- case $ac_mode in
- :F)
- #
- # CONFIG_FILE
- #
-
- case $INSTALL in
- [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
- *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
- esac
- ac_MKDIR_P=$MKDIR_P
- case $MKDIR_P in
- [\\/$]* | ?:[\\/]* ) ;;
- */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
- esac
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
- p
- q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- ac_datarootdir_hack='
- s&@datadir@&$datadir&g
- s&@docdir@&$docdir&g
- s&@infodir@&$infodir&g
- s&@localedir@&$localedir&g
- s&@mandir@&$mandir&g
- s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-s&@INSTALL@&$ac_INSTALL&;t t
-s&@MKDIR_P@&$ac_MKDIR_P&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
- >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
- { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
- { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
- "$ac_tmp/out"`; test -z "$ac_out"; } &&
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined" >&2;}
-
- rm -f "$ac_tmp/stdin"
- case $ac_file in
- -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
- *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
- esac \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- ;;
- :H)
- #
- # CONFIG_HEADER
- #
- if test x"$ac_file" != x-; then
- {
- $as_echo "/* $configure_input */" \
- && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
- } >"$ac_tmp/config.h" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
- else
- rm -f "$ac_file"
- mv "$ac_tmp/config.h" "$ac_file" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- fi
- else
- $as_echo "/* $configure_input */" \
- && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
- || as_fn_error $? "could not create -" "$LINENO" 5
- fi
-# Compute "$ac_file"'s index in $config_headers.
-_am_arg="$ac_file"
-_am_stamp_count=1
-for _am_header in $config_headers :; do
- case $_am_header in
- $_am_arg | $_am_arg:* )
- break ;;
- * )
- _am_stamp_count=`expr $_am_stamp_count + 1` ;;
- esac
-done
-echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
-$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$_am_arg" : 'X\(//\)[^/]' \| \
- X"$_am_arg" : 'X\(//\)$' \| \
- X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$_am_arg" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`/stamp-h$_am_stamp_count
- ;;
- :L)
- #
- # CONFIG_LINK
- #
-
- if test "$ac_source" = "$ac_file" && test "$srcdir" = '.'; then
- :
- else
- # Prefer the file from the source tree if names are identical.
- if test "$ac_source" = "$ac_file" || test ! -r "$ac_source"; then
- ac_source=$srcdir/$ac_source
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: linking $ac_source to $ac_file" >&5
-$as_echo "$as_me: linking $ac_source to $ac_file" >&6;}
-
- if test ! -r "$ac_source"; then
- as_fn_error $? "$ac_source: file not found" "$LINENO" 5
- fi
- rm -f "$ac_file"
-
- # Try a relative symlink, then a hard link, then a copy.
- case $ac_source in
- [\\/$]* | ?:[\\/]* ) ac_rel_source=$ac_source ;;
- *) ac_rel_source=$ac_top_build_prefix$ac_source ;;
- esac
- ln -s "$ac_rel_source" "$ac_file" 2>/dev/null ||
- ln "$ac_source" "$ac_file" 2>/dev/null ||
- cp -p "$ac_source" "$ac_file" ||
- as_fn_error $? "cannot link or copy $ac_source to $ac_file" "$LINENO" 5
- fi
- ;;
- :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-$as_echo "$as_me: executing $ac_file commands" >&6;}
- ;;
- esac
-
-
- case $ac_file$ac_mode in
- "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
- # Autoconf 2.62 quotes --file arguments for eval, but not when files
- # are listed without --file. Let's play safe and only enable the eval
- # if we detect the quoting.
- case $CONFIG_FILES in
- *\'*) eval set x "$CONFIG_FILES" ;;
- *) set x $CONFIG_FILES ;;
- esac
- shift
- for mf
- do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # Grep'ing the whole file is not good either: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
- dirpart=`$as_dirname -- "$mf" ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$mf" : 'X\(//\)[^/]' \| \
- X"$mf" : 'X\(//\)$' \| \
- X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$mf" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`$as_dirname -- "$file" ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$file" : 'X\(//\)[^/]' \| \
- X"$file" : 'X\(//\)$' \| \
- X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- as_dir=$dirpart/$fdir; as_fn_mkdir_p
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
- done
-}
- ;;
- "libtool":C)
-
- # See if we are running on zsh, and set the options which allow our
- # commands through without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
-
- cfgfile="${ofile}T"
- trap "$RM \"$cfgfile\"; exit 1" 1 2 15
- $RM "$cfgfile"
-
- cat <<_LT_EOF >> "$cfgfile"
-#! $SHELL
-
-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-# Inc.
-# Written by Gordon Matzigkeit, 1996
-#
-# This file is part of GNU Libtool.
-#
-# GNU Libtool is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
-#
-# GNU Libtool is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING. If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-
-# The names of the tagged configurations supported by this script.
-available_tags=""
-
-# ### BEGIN LIBTOOL CONFIG
-
-# Which release of libtool.m4 was used?
-macro_version=$macro_version
-macro_revision=$macro_revision
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# What type of objects to build.
-pic_mode=$pic_mode
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# An echo program that protects backslashes.
-ECHO=$lt_ECHO
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# A sed program that does not truncate output.
-SED=$lt_SED
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="\$SED -e 1s/^X//"
-
-# A grep program that handles long lines.
-GREP=$lt_GREP
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# A literal string matcher.
-FGREP=$lt_FGREP
-
-# A BSD- or MS-compatible name lister.
-NM=$lt_NM
-
-# Whether we need soft or hard links.
-LN_S=$lt_LN_S
-
-# What is the maximum length of a command?
-max_cmd_len=$max_cmd_len
-
-# Object file suffix (normally "o").
-objext=$ac_objext
-
-# Executable file suffix (normally "").
-exeext=$exeext
-
-# whether the shell understands "unset".
-lt_unset=$lt_unset
-
-# turn spaces into newlines.
-SP2NL=$lt_lt_SP2NL
-
-# turn newlines into spaces.
-NL2SP=$lt_lt_NL2SP
-
-# convert \$build file names to \$host format.
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-
-# convert \$build files to toolchain format.
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-
-# An object symbol dumper.
-OBJDUMP=$lt_OBJDUMP
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method = "file_magic".
-file_magic_cmd=$lt_file_magic_cmd
-
-# How to find potential files when deplibs_check_method = "file_magic".
-file_magic_glob=$lt_file_magic_glob
-
-# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
-want_nocaseglob=$lt_want_nocaseglob
-
-# DLL creation program.
-DLLTOOL=$lt_DLLTOOL
-
-# Command to associate shared and link libraries.
-sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
-
-# The archiver.
-AR=$lt_AR
-
-# Flags to create an archive.
-AR_FLAGS=$lt_AR_FLAGS
-
-# How to feed a file listing to the archiver.
-archiver_list_spec=$lt_archiver_list_spec
-
-# A symbol stripping program.
-STRIP=$lt_STRIP
-
-# Commands used to install an old-style archive.
-RANLIB=$lt_RANLIB
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Whether to use a lock for old archive extraction.
-lock_old_archive_extraction=$lock_old_archive_extraction
-
-# A C compiler.
-LTCC=$lt_CC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_CFLAGS
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration.
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair.
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# Transform the output of nm in a C name address pair when lib prefix is needed.
-global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
-
-# Specify filename containing input files for \$NM.
-nm_file_list_spec=$lt_nm_file_list_spec
-
-# The root where to search for dependent libraries,and in which our libraries should be installed.
-lt_sysroot=$lt_sysroot
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# Used to examine libraries when file_magic_cmd begins with "file".
-MAGIC_CMD=$MAGIC_CMD
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Manifest tool.
-MANIFEST_TOOL=$lt_MANIFEST_TOOL
-
-# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
-DSYMUTIL=$lt_DSYMUTIL
-
-# Tool to change global to local symbols on Mac OS X.
-NMEDIT=$lt_NMEDIT
-
-# Tool to manipulate fat objects and archives on Mac OS X.
-LIPO=$lt_LIPO
-
-# ldd/readelf like tool for Mach-O binaries on Mac OS X.
-OTOOL=$lt_OTOOL
-
-# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
-OTOOL64=$lt_OTOOL64
-
-# Old archive suffix (normally "a").
-libext=$libext
-
-# Shared library suffix (normally ".so").
-shrext_cmds=$lt_shrext_cmds
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at link time.
-variables_saved_for_relink=$lt_variables_saved_for_relink
-
-# Do we need the "lib" prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Library versioning type.
-version_type=$version_type
-
-# Shared library runtime path variable.
-runpath_var=$runpath_var
-
-# Shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Permission mode override for installation of shared libraries.
-install_override_mode=$lt_install_override_mode
-
-# Command to use after installation of a shared archive.
-postinstall_cmds=$lt_postinstall_cmds
-
-# Command to use after uninstallation of a shared archive.
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# As "finish_cmds", except a single script fragment to be evaled but
-# not shown.
-finish_eval=$lt_finish_eval
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Compile-time system search path for libraries.
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries.
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-
-# The linker used to build libraries.
-LD=$lt_LD
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# Commands used to build an old-style archive.
-old_archive_cmds=$lt_old_archive_cmds
-
-# A language specific compiler.
-CC=$lt_compiler
-
-# Is the compiler the GNU compiler?
-with_gcc=$GCC
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc
-
-# Whether or not to disallow shared libs when runtime libs are static.
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec
-
-# Whether the compiler copes with passing no objects directly.
-compiler_needs_object=$lt_compiler_needs_object
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
-
-# Commands used to build a shared archive.
-archive_cmds=$lt_archive_cmds
-archive_expsym_cmds=$lt_archive_expsym_cmds
-
-# Commands used to build a loadable module if different from building
-# a shared archive.
-module_cmds=$lt_module_cmds
-module_expsym_cmds=$lt_module_expsym_cmds
-
-# Whether we are building with GNU ld or not.
-with_gnu_ld=$lt_with_gnu_ld
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag
-
-# Flag that enforces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
-
-# If ld is used when linking, flag to hardcode \$libdir into a binary
-# during linking. This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
-
-# Whether we need a single "-rpath" flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary.
-hardcode_direct=$hardcode_direct
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary and the resulting library dependency is
-# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
-# library is relocated.
-hardcode_direct_absolute=$hardcode_direct_absolute
-
-# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
-# into the resulting binary.
-hardcode_minus_L=$hardcode_minus_L
-
-# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
-# into the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var
-
-# Set to "yes" if building a shared library automatically hardcodes DIR
-# into the library and all subsequent libraries and executables linked
-# against it.
-hardcode_automatic=$hardcode_automatic
-
-# Set to yes if linker adds runtime paths of dependent libraries
-# to runtime path list.
-inherit_rpath=$inherit_rpath
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs
-
-# Set to "yes" if exported symbols are required.
-always_export_symbols=$always_export_symbols
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms
-
-# Commands necessary for linking programs (against libraries) with templates.
-prelink_cmds=$lt_prelink_cmds
-
-# Commands necessary for finishing linking programs.
-postlink_cmds=$lt_postlink_cmds
-
-# Specify filename containing input files.
-file_list_spec=$lt_file_list_spec
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action
-
-# ### END LIBTOOL CONFIG
-
-_LT_EOF
-
- case $host_os in
- aix3*)
- cat <<\_LT_EOF >> "$cfgfile"
-# AIX sometimes has problems with the GCC collect2 program. For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
-fi
-_LT_EOF
- ;;
- esac
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-
- # We use sed instead of cat because bash on DJGPP gets confused if
- # if finds mixed CR/LF and LF-only lines. Since sed operates in
- # text mode, it properly converts lines to CR/LF. This bash problem
- # is reportedly fixed, but why not run on old versions too?
- sed '$q' "$ltmain" >> "$cfgfile" \
- || (rm -f "$cfgfile"; exit 1)
-
- if test x"$xsi_shell" = xyes; then
- sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
-func_dirname ()\
-{\
-\ case ${1} in\
-\ */*) func_dirname_result="${1%/*}${2}" ;;\
-\ * ) func_dirname_result="${3}" ;;\
-\ esac\
-} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_basename ()$/,/^} # func_basename /c\
-func_basename ()\
-{\
-\ func_basename_result="${1##*/}"\
-} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
-func_dirname_and_basename ()\
-{\
-\ case ${1} in\
-\ */*) func_dirname_result="${1%/*}${2}" ;;\
-\ * ) func_dirname_result="${3}" ;;\
-\ esac\
-\ func_basename_result="${1##*/}"\
-} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
-func_stripname ()\
-{\
-\ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
-\ # positional parameters, so assign one to ordinary parameter first.\
-\ func_stripname_result=${3}\
-\ func_stripname_result=${func_stripname_result#"${1}"}\
-\ func_stripname_result=${func_stripname_result%"${2}"}\
-} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
-func_split_long_opt ()\
-{\
-\ func_split_long_opt_name=${1%%=*}\
-\ func_split_long_opt_arg=${1#*=}\
-} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
-func_split_short_opt ()\
-{\
-\ func_split_short_opt_arg=${1#??}\
-\ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
-} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
-func_lo2o ()\
-{\
-\ case ${1} in\
-\ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
-\ *) func_lo2o_result=${1} ;;\
-\ esac\
-} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_xform ()$/,/^} # func_xform /c\
-func_xform ()\
-{\
- func_xform_result=${1%.*}.lo\
-} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_arith ()$/,/^} # func_arith /c\
-func_arith ()\
-{\
- func_arith_result=$(( $* ))\
-} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_len ()$/,/^} # func_len /c\
-func_len ()\
-{\
- func_len_result=${#1}\
-} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-fi
-
-if test x"$lt_shell_append" = xyes; then
- sed -e '/^func_append ()$/,/^} # func_append /c\
-func_append ()\
-{\
- eval "${1}+=\\${2}"\
-} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
-func_append_quoted ()\
-{\
-\ func_quote_for_eval "${2}"\
-\ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
-} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- # Save a `func_append' function call where possible by direct use of '+='
- sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
- test 0 -eq $? || _lt_function_replace_fail=:
-else
- # Save a `func_append' function call even when '+=' is not available
- sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
- test 0 -eq $? || _lt_function_replace_fail=:
-fi
-
-if test x"$_lt_function_replace_fail" = x":"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
-$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
-fi
-
-
- mv -f "$cfgfile" "$ofile" ||
- (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
- chmod +x "$ofile"
-
- ;;
- "include":C) test -d include || mkdir include ;;
- "src":C)
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
- ;;
-
- esac
-done # for ac_tag
-
-
-as_fn_exit 0
-_ACEOF
-ac_clean_files=$ac_clean_files_save
-
-test $ac_write_fail = 0 ||
- as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded. So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status. When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
- ac_cs_success=:
- ac_config_status_args=
- test "$silent" = yes &&
- ac_config_status_args="$ac_config_status_args --quiet"
- exec 5>/dev/null
- $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
- exec 5>>config.log
- # Use ||, not &&, to avoid exiting from the if with $? = 1, which
- # would make configure fail if this is the last instruction.
- $ac_cs_success || as_fn_exit 1
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
-
diff --git a/.pc/aix-ibm-xlc/configure.ac b/.pc/aix-ibm-xlc/configure.ac
deleted file mode 100644
index 71d58b7..0000000
--- a/.pc/aix-ibm-xlc/configure.ac
+++ /dev/null
@@ -1,479 +0,0 @@
-dnl Process this with autoconf to create configure
-
-AC_PREREQ(2.63)
-
-AC_INIT([libffi], [3.0.11-rc2], [http://github.com/atgreen/libffi/issues])
-AC_CONFIG_HEADERS([fficonfig.h])
-
-AC_CANONICAL_SYSTEM
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-AM_INIT_AUTOMAKE
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-# Also save and restore CFLAGS, since AC_PROG_CC will come up with
-# defaults of its own if none are provided.
-
-m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS])
-m4_define([_AC_ARG_VAR_PRECIOUS],[])
-save_CFLAGS=$CFLAGS
-AC_PROG_CC
-CFLAGS=$save_CFLAGS
-m4_undefine([_AC_ARG_VAR_PRECIOUS])
-m4_rename([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
-
-AC_SUBST(CFLAGS)
-
-AM_PROG_AS
-AM_PROG_CC_C_O
-AC_PROG_LIBTOOL
-AC_CONFIG_MACRO_DIR([m4])
-
-AM_MAINTAINER_MODE
-
-AC_CHECK_HEADERS(sys/mman.h)
-AC_CHECK_FUNCS(mmap)
-AC_FUNC_MMAP_BLACKLIST
-
-dnl The -no-testsuite modules omit the test subdir.
-AM_CONDITIONAL(TESTSUBDIR, test -d $srcdir/testsuite)
-
-TARGETDIR="unknown"
-case "$host" in
- alpha*-*-*)
- TARGET=ALPHA; TARGETDIR=alpha;
- # Support 128-bit long double, changeable via command-line switch.
- HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
- ;;
-
- arm*-*-*)
- TARGET=ARM; TARGETDIR=arm
- ;;
-
- amd64-*-freebsd* | amd64-*-openbsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- amd64-*-freebsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- avr32*-*-*)
- TARGET=AVR32; TARGETDIR=avr32
- ;;
-
- cris-*-*)
- TARGET=LIBFFI_CRIS; TARGETDIR=cris
- ;;
-
- frv-*-*)
- TARGET=FRV; TARGETDIR=frv
- ;;
-
- hppa*-*-linux* | parisc*-*-linux*)
- TARGET=PA_LINUX; TARGETDIR=pa
- ;;
- hppa*64-*-hpux*)
- TARGET=PA64_HPUX; TARGETDIR=pa
- ;;
- hppa*-*-hpux*)
- TARGET=PA_HPUX; TARGETDIR=pa
- ;;
-
- i?86-*-freebsd* | i?86-*-openbsd*)
- TARGET=X86_FREEBSD; TARGETDIR=x86
- ;;
- i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2*)
- TARGET=X86_WIN32; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
- i?86-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
- i?86-*-solaris2.1[[0-9]]*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
- i?86-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- ia64*-*-*)
- TARGET=IA64; TARGETDIR=ia64
- ;;
-
- m32r*-*-*)
- TARGET=M32R; TARGETDIR=m32r
- ;;
-
- m68k-*-*)
- TARGET=M68K; TARGETDIR=m68k
- ;;
-
- mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
- TARGET=MIPS; TARGETDIR=mips
- ;;
- mips*-*-linux*)
- # Support 128-bit long double for NewABI.
- HAVE_LONG_DOUBLE='defined(__mips64)'
- TARGET=MIPS; TARGETDIR=mips
- ;;
-
- moxie-*-*)
- TARGET=MOXIE; TARGETDIR=moxie
- ;;
-
- powerpc*-*-linux* | powerpc-*-sysv*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-beos*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-darwin*)
- TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
- ;;
- powerpc-*-aix* | rs6000-*-aix*)
- TARGET=POWERPC_AIX; TARGETDIR=powerpc
- ;;
- powerpc-*-freebsd*)
- TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
- ;;
- powerpc64-*-freebsd*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc*-*-rtems*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
-
- s390-*-* | s390x-*-*)
- TARGET=S390; TARGETDIR=s390
- ;;
-
- sh-*-* | sh[[34]]*-*-*)
- TARGET=SH; TARGETDIR=sh
- ;;
- sh64-*-* | sh5*-*-*)
- TARGET=SH64; TARGETDIR=sh64
- ;;
-
- sparc*-*-*)
- TARGET=SPARC; TARGETDIR=sparc
- ;;
-
- x86_64-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
-
- x86_64-*-cygwin* | x86_64-*-mingw*)
- TARGET=X86_WIN64; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
-
- x86_64-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-esac
-
-AC_SUBST(AM_RUNTESTFLAGS)
-AC_SUBST(AM_LTLDFLAGS)
-
-if test $TARGETDIR = unknown; then
- AC_MSG_ERROR(["libffi has not been ported to $host."])
-fi
-
-AM_CONDITIONAL(MIPS, test x$TARGET = xMIPS)
-AM_CONDITIONAL(SPARC, test x$TARGET = xSPARC)
-AM_CONDITIONAL(X86, test x$TARGET = xX86)
-AM_CONDITIONAL(X86_FREEBSD, test x$TARGET = xX86_FREEBSD)
-AM_CONDITIONAL(X86_WIN32, test x$TARGET = xX86_WIN32)
-AM_CONDITIONAL(X86_WIN64, test x$TARGET = xX86_WIN64)
-AM_CONDITIONAL(X86_DARWIN, test x$TARGET = xX86_DARWIN)
-AM_CONDITIONAL(ALPHA, test x$TARGET = xALPHA)
-AM_CONDITIONAL(IA64, test x$TARGET = xIA64)
-AM_CONDITIONAL(M32R, test x$TARGET = xM32R)
-AM_CONDITIONAL(M68K, test x$TARGET = xM68K)
-AM_CONDITIONAL(MOXIE, test x$TARGET = xMOXIE)
-AM_CONDITIONAL(POWERPC, test x$TARGET = xPOWERPC)
-AM_CONDITIONAL(POWERPC_AIX, test x$TARGET = xPOWERPC_AIX)
-AM_CONDITIONAL(POWERPC_DARWIN, test x$TARGET = xPOWERPC_DARWIN)
-AM_CONDITIONAL(POWERPC_FREEBSD, test x$TARGET = xPOWERPC_FREEBSD)
-AM_CONDITIONAL(ARM, test x$TARGET = xARM)
-AM_CONDITIONAL(AVR32, test x$TARGET = xAVR32)
-AM_CONDITIONAL(LIBFFI_CRIS, test x$TARGET = xLIBFFI_CRIS)
-AM_CONDITIONAL(FRV, test x$TARGET = xFRV)
-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)
-AM_CONDITIONAL(PA_LINUX, test x$TARGET = xPA_LINUX)
-AM_CONDITIONAL(PA_HPUX, test x$TARGET = xPA_HPUX)
-AM_CONDITIONAL(PA64_HPUX, test x$TARGET = xPA64_HPUX)
-
-AC_HEADER_STDC
-AC_CHECK_FUNCS(memcpy)
-AC_FUNC_ALLOCA
-
-AC_CHECK_SIZEOF(double)
-AC_CHECK_SIZEOF(long double)
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
- HAVE_LONG_DOUBLE=0
- if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
- if test $ac_cv_sizeof_long_double != 0; then
- HAVE_LONG_DOUBLE=1
- AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the long double type and it is bigger than a double])
- fi
- fi
-fi
-AC_SUBST(HAVE_LONG_DOUBLE)
-
-AC_C_BIGENDIAN
-
-GCC_AS_CFI_PSEUDO_OP
-
-if test x$TARGET = xSPARC; then
- AC_CACHE_CHECK([assembler and linker support unaligned pc related relocs],
- libffi_cv_as_sparc_ua_pcrel, [
- save_CFLAGS="$CFLAGS"
- save_LDFLAGS="$LDFLAGS"
- CFLAGS="$CFLAGS -fpic"
- LDFLAGS="$LDFLAGS -shared"
- AC_TRY_LINK([asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");],,
- [libffi_cv_as_sparc_ua_pcrel=yes],
- [libffi_cv_as_sparc_ua_pcrel=no])
- CFLAGS="$save_CFLAGS"
- LDFLAGS="$save_LDFLAGS"])
- if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
- AC_DEFINE(HAVE_AS_SPARC_UA_PCREL, 1,
- [Define if your assembler and linker support unaligned PC relative relocs.])
- fi
-
- AC_CACHE_CHECK([assembler .register pseudo-op support],
- libffi_cv_as_register_pseudo_op, [
- libffi_cv_as_register_pseudo_op=unknown
- # Check if we have .register
- AC_TRY_COMPILE([asm (".register %g2, #scratch");],,
- [libffi_cv_as_register_pseudo_op=yes],
- [libffi_cv_as_register_pseudo_op=no])
- ])
- if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
- AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP, 1,
- [Define if your assembler supports .register.])
- fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
- AC_CACHE_CHECK([assembler supports pc related relocs],
- libffi_cv_as_x86_pcrel, [
- libffi_cv_as_x86_pcrel=no
- echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
- if $CC $CFLAGS -c conftest.s > /dev/null; then
- libffi_cv_as_x86_pcrel=yes
- fi
- ])
- if test "x$libffi_cv_as_x86_pcrel" = xyes; then
- AC_DEFINE(HAVE_AS_X86_PCREL, 1,
- [Define if your assembler supports PC relative relocs.])
- fi
-
- AC_CACHE_CHECK([assembler .ascii pseudo-op support],
- libffi_cv_as_ascii_pseudo_op, [
- libffi_cv_as_ascii_pseudo_op=unknown
- # Check if we have .ascii
- AC_TRY_COMPILE([asm (".ascii \\"string\\"");],,
- [libffi_cv_as_ascii_pseudo_op=yes],
- [libffi_cv_as_ascii_pseudo_op=no])
- ])
- if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
- AC_DEFINE(HAVE_AS_ASCII_PSEUDO_OP, 1,
- [Define if your assembler supports .ascii.])
- fi
-
- AC_CACHE_CHECK([assembler .string pseudo-op support],
- libffi_cv_as_string_pseudo_op, [
- libffi_cv_as_string_pseudo_op=unknown
- # Check if we have .string
- AC_TRY_COMPILE([asm (".string \\"string\\"");],,
- [libffi_cv_as_string_pseudo_op=yes],
- [libffi_cv_as_string_pseudo_op=no])
- ])
- if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
- AC_DEFINE(HAVE_AS_STRING_PSEUDO_OP, 1,
- [Define if your assembler supports .string.])
- fi
-fi
-
-if test x$TARGET = xX86_WIN64; then
- LT_SYS_SYMBOL_USCORE
- if test "x$sys_symbol_underscore" = xyes; then
- AC_DEFINE(SYMBOL_UNDERSCORE, 1, [Define if symbols are underscored.])
- fi
-fi
-
-case "$target" in
- *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
- AC_DEFINE(FFI_MMAP_EXEC_WRIT, 1,
- [Cannot use malloc on this target, so, we revert to
- alternative means])
- ;;
-esac
-
-if test x$TARGET = xX86_64; then
- AC_CACHE_CHECK([assembler supports unwind section type],
- libffi_cv_as_x86_64_unwind_section_type, [
- libffi_cv_as_x86_64_unwind_section_type=yes
- echo '.section .eh_frame,"a",@unwind' > conftest.s
- if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
- libffi_cv_as_x86_64_unwind_section_type=no
- fi
- ])
- if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
- AC_DEFINE(HAVE_AS_X86_64_UNWIND_SECTION_TYPE, 1,
- [Define if your assembler supports unwind section type.])
- fi
-fi
-
-AC_CACHE_CHECK([whether .eh_frame section should be read-only],
- libffi_cv_ro_eh_frame, [
- libffi_cv_ro_eh_frame=no
- echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
- if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
- if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- elif grep '.section.*eh_frame.*#alloc' conftest.c \
- | grep -v '#write' > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- fi
- fi
- rm -f conftest.*
- ])
-if test "x$libffi_cv_ro_eh_frame" = xyes; then
- AC_DEFINE(HAVE_RO_EH_FRAME, 1,
- [Define if .eh_frame sections should be read-only.])
- AC_DEFINE(EH_FRAME_FLAGS, "a",
- [Define to the flags needed for the .section .eh_frame directive.])
-else
- AC_DEFINE(EH_FRAME_FLAGS, "aw",
- [Define to the flags needed for the .section .eh_frame directive.])
-fi
-
-AC_CACHE_CHECK([for __attribute__((visibility("hidden")))],
- libffi_cv_hidden_visibility_attribute, [
- echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1; }' > conftest.c
- libffi_cv_hidden_visibility_attribute=no
- if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
- if grep '\.hidden.*foo' conftest.s >/dev/null; then
- libffi_cv_hidden_visibility_attribute=yes
- fi
- fi
- rm -f conftest.*
- ])
-if test $libffi_cv_hidden_visibility_attribute = yes; then
- AC_DEFINE(HAVE_HIDDEN_VISIBILITY_ATTRIBUTE, 1,
- [Define if __attribute__((visibility("hidden"))) is supported.])
-fi
-
-AH_BOTTOM([
-#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
-])
-
-AC_SUBST(TARGET)
-AC_SUBST(TARGETDIR)
-
-AC_SUBST(SHELL)
-
-AC_ARG_ENABLE(debug,
-[ --enable-debug debugging mode],
- if test "$enable_debug" = "yes"; then
- AC_DEFINE(FFI_DEBUG, 1, [Define this if you want extra debugging.])
- fi)
-AM_CONDITIONAL(FFI_DEBUG, test "$enable_debug" = "yes")
-
-AC_ARG_ENABLE(structs,
-[ --disable-structs omit code for struct support],
- if test "$enable_structs" = "no"; then
- AC_DEFINE(FFI_NO_STRUCTS, 1, [Define this is you do not want support for aggregate types.])
- fi)
-
-AC_ARG_ENABLE(raw-api,
-[ --disable-raw-api make the raw api unavailable],
- if test "$enable_raw_api" = "no"; then
- AC_DEFINE(FFI_NO_RAW_API, 1, [Define this is you do not want support for the raw API.])
- fi)
-
-AC_ARG_ENABLE(purify-safety,
-[ --enable-purify-safety purify-safe mode],
- if test "$enable_purify_safety" = "yes"; then
- AC_DEFINE(USING_PURIFY, 1, [Define this if you are using Purify and want to suppress spurious messages.])
- fi)
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- toolexecdir='$(exec_prefix)/$(target_alias)'
- toolexeclibdir='$(toolexecdir)/lib'
- else
- toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
- toolexeclibdir='$(libdir)'
- fi
- multi_os_directory=`$CC -print-multi-os-directory`
- case $multi_os_directory in
- .) ;; # Avoid trailing /.
- *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
- esac
- AC_SUBST(toolexecdir)
- AC_SUBST(toolexeclibdir)
-fi
-
-if test "${multilib}" = "yes"; then
- multilib_arg="--enable-multilib"
-else
- multilib_arg=
-fi
-
-AC_CONFIG_COMMANDS(include, [test -d include || mkdir include])
-AC_CONFIG_COMMANDS(src, [
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
-], [TARGETDIR="$TARGETDIR"])
-
-AC_CONFIG_LINKS(include/ffitarget.h:src/$TARGETDIR/ffitarget.h)
-
-AC_CONFIG_FILES(include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc)
-
-AC_OUTPUT
diff --git a/.pc/aix-ibm-xlc/include/ffi.h.in b/.pc/aix-ibm-xlc/include/ffi.h.in
deleted file mode 100644
index 92e38c4..0000000
--- a/.pc/aix-ibm-xlc/include/ffi.h.in
+++ /dev/null
@@ -1,404 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
- libffi @VERSION@ - Copyright (c) 1996-2003, 2007, 2008 Red Hat, Inc.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
-
- ----------------------------------------------------------------------- */
-
-/* -------------------------------------------------------------------
- The basic API is described in the README file.
-
- The raw API is designed to bypass some of the argument packing
- and unpacking on architectures for which it can be avoided.
-
- The closure API allows interpreted functions to be packaged up
- inside a C function pointer, so that they can be called as C functions,
- with no understanding on the client side that they are interpreted.
- It can also be used in other cases in which it is necessary to package
- up a user specified parameter and a function pointer as a single
- function pointer.
-
- The closure API must be implemented in order to get its functionality,
- e.g. for use by gij. Routines are provided to emulate the raw API
- if the underlying platform doesn't allow faster implementation.
-
- More details on the raw and cloure API can be found in:
-
- http://gcc.gnu.org/ml/java/1999-q3/msg00138.html
-
- and
-
- http://gcc.gnu.org/ml/java/1999-q3/msg00174.html
- -------------------------------------------------------------------- */
-
-#ifndef LIBFFI_H
-#define LIBFFI_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Specify which architecture libffi is configured for. */
-#ifndef @TARGET@
-#define @TARGET@
-#endif
-
-/* ---- System configuration information --------------------------------- */
-
-#include <ffitarget.h>
-
-#ifndef LIBFFI_ASM
-
-#ifdef _MSC_VER
-#define __attribute__(X)
-#endif
-
-#include <stddef.h>
-#include <limits.h>
-
-/* LONG_LONG_MAX is not always defined (not if STRICT_ANSI, for example).
- But we can find it either under the correct ANSI name, or under GNU
- C's internal name. */
-#ifdef LONG_LONG_MAX
-# define FFI_LONG_LONG_MAX LONG_LONG_MAX
-#else
-# ifdef LLONG_MAX
-# define FFI_LONG_LONG_MAX LLONG_MAX
-# else
-# ifdef __GNUC__
-# define FFI_LONG_LONG_MAX __LONG_LONG_MAX__
-# endif
-# endif
-#endif
-
-/* The closure code assumes that this works on pointers, i.e. a size_t */
-/* can hold a pointer. */
-
-typedef struct _ffi_type
-{
- size_t size;
- unsigned short alignment;
- unsigned short type;
- struct _ffi_type **elements;
-} ffi_type;
-
-#ifndef LIBFFI_HIDE_BASIC_TYPES
-#if SCHAR_MAX == 127
-# define ffi_type_uchar ffi_type_uint8
-# define ffi_type_schar ffi_type_sint8
-#else
- #error "char size not supported"
-#endif
-
-#if SHRT_MAX == 32767
-# define ffi_type_ushort ffi_type_uint16
-# define ffi_type_sshort ffi_type_sint16
-#elif SHRT_MAX == 2147483647
-# define ffi_type_ushort ffi_type_uint32
-# define ffi_type_sshort ffi_type_sint32
-#else
- #error "short size not supported"
-#endif
-
-#if INT_MAX == 32767
-# define ffi_type_uint ffi_type_uint16
-# define ffi_type_sint ffi_type_sint16
-#elif INT_MAX == 2147483647
-# define ffi_type_uint ffi_type_uint32
-# define ffi_type_sint ffi_type_sint32
-#elif INT_MAX == 9223372036854775807
-# define ffi_type_uint ffi_type_uint64
-# define ffi_type_sint ffi_type_sint64
-#else
- #error "int size not supported"
-#endif
-
-#if LONG_MAX == 2147483647
-# if FFI_LONG_LONG_MAX != 9223372036854775807
- #error "no 64-bit data type supported"
-# endif
-#elif LONG_MAX != 9223372036854775807
- #error "long size not supported"
-#endif
-
-#if LONG_MAX == 2147483647
-# define ffi_type_ulong ffi_type_uint32
-# define ffi_type_slong ffi_type_sint32
-#elif LONG_MAX == 9223372036854775807
-# define ffi_type_ulong ffi_type_uint64
-# define ffi_type_slong ffi_type_sint64
-#else
- #error "long size not supported"
-#endif
-
-/* These are defined in types.c */
-extern ffi_type ffi_type_void;
-extern ffi_type ffi_type_uint8;
-extern ffi_type ffi_type_sint8;
-extern ffi_type ffi_type_uint16;
-extern ffi_type ffi_type_sint16;
-extern ffi_type ffi_type_uint32;
-extern ffi_type ffi_type_sint32;
-extern ffi_type ffi_type_uint64;
-extern ffi_type ffi_type_sint64;
-extern ffi_type ffi_type_float;
-extern ffi_type ffi_type_double;
-extern ffi_type ffi_type_pointer;
-
-#if @HAVE_LONG_DOUBLE@
-extern ffi_type ffi_type_longdouble;
-#else
-#define ffi_type_longdouble ffi_type_double
-#endif
-#endif /* LIBFFI_HIDE_BASIC_TYPES */
-
-typedef enum {
- FFI_OK = 0,
- FFI_BAD_TYPEDEF,
- FFI_BAD_ABI
-} ffi_status;
-
-typedef unsigned FFI_TYPE;
-
-typedef struct {
- ffi_abi abi;
- unsigned nargs;
- ffi_type **arg_types;
- ffi_type *rtype;
- unsigned bytes;
- unsigned flags;
-#ifdef FFI_EXTRA_CIF_FIELDS
- FFI_EXTRA_CIF_FIELDS;
-#endif
-} ffi_cif;
-
-/* ---- Definitions for the raw API -------------------------------------- */
-
-#ifndef FFI_SIZEOF_ARG
-# if LONG_MAX == 2147483647
-# define FFI_SIZEOF_ARG 4
-# elif LONG_MAX == 9223372036854775807
-# define FFI_SIZEOF_ARG 8
-# endif
-#endif
-
-#ifndef FFI_SIZEOF_JAVA_RAW
-# define FFI_SIZEOF_JAVA_RAW FFI_SIZEOF_ARG
-#endif
-
-typedef union {
- ffi_sarg sint;
- ffi_arg uint;
- float flt;
- char data[FFI_SIZEOF_ARG];
- void* ptr;
-} ffi_raw;
-
-#if FFI_SIZEOF_JAVA_RAW == 4 && FFI_SIZEOF_ARG == 8
-/* This is a special case for mips64/n32 ABI (and perhaps others) where
- sizeof(void *) is 4 and FFI_SIZEOF_ARG is 8. */
-typedef union {
- signed int sint;
- unsigned int uint;
- float flt;
- char data[FFI_SIZEOF_JAVA_RAW];
- void* ptr;
-} ffi_java_raw;
-#else
-typedef ffi_raw ffi_java_raw;
-#endif
-
-
-void ffi_raw_call (ffi_cif *cif,
- void (*fn)(void),
- void *rvalue,
- ffi_raw *avalue);
-
-void ffi_ptrarray_to_raw (ffi_cif *cif, void **args, ffi_raw *raw);
-void ffi_raw_to_ptrarray (ffi_cif *cif, ffi_raw *raw, void **args);
-size_t ffi_raw_size (ffi_cif *cif);
-
-/* This is analogous to the raw API, except it uses Java parameter */
-/* packing, even on 64-bit machines. I.e. on 64-bit machines */
-/* longs and doubles are followed by an empty 64-bit word. */
-
-void ffi_java_raw_call (ffi_cif *cif,
- void (*fn)(void),
- void *rvalue,
- ffi_java_raw *avalue);
-
-void ffi_java_ptrarray_to_raw (ffi_cif *cif, void **args, ffi_java_raw *raw);
-void ffi_java_raw_to_ptrarray (ffi_cif *cif, ffi_java_raw *raw, void **args);
-size_t ffi_java_raw_size (ffi_cif *cif);
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#if FFI_CLOSURES
-
-#ifdef _MSC_VER
-__declspec(align(8))
-#endif
-typedef struct {
- char tramp[FFI_TRAMPOLINE_SIZE];
- ffi_cif *cif;
- void (*fun)(ffi_cif*,void*,void**,void*);
- void *user_data;
-#ifdef __GNUC__
-} ffi_closure __attribute__((aligned (8)));
-#else
-} ffi_closure;
-#endif
-
-void *ffi_closure_alloc (size_t size, void **code);
-void ffi_closure_free (void *);
-
-ffi_status
-ffi_prep_closure (ffi_closure*,
- ffi_cif *,
- void (*fun)(ffi_cif*,void*,void**,void*),
- void *user_data);
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure*,
- ffi_cif *,
- void (*fun)(ffi_cif*,void*,void**,void*),
- void *user_data,
- void*codeloc);
-
-typedef struct {
- char tramp[FFI_TRAMPOLINE_SIZE];
-
- ffi_cif *cif;
-
-#if !FFI_NATIVE_RAW_API
-
- /* if this is enabled, then a raw closure has the same layout
- as a regular closure. We use this to install an intermediate
- handler to do the transaltion, void** -> ffi_raw*. */
-
- void (*translate_args)(ffi_cif*,void*,void**,void*);
- void *this_closure;
-
-#endif
-
- void (*fun)(ffi_cif*,void*,ffi_raw*,void*);
- void *user_data;
-
-} ffi_raw_closure;
-
-typedef struct {
- char tramp[FFI_TRAMPOLINE_SIZE];
-
- ffi_cif *cif;
-
-#if !FFI_NATIVE_RAW_API
-
- /* if this is enabled, then a raw closure has the same layout
- as a regular closure. We use this to install an intermediate
- handler to do the transaltion, void** -> ffi_raw*. */
-
- void (*translate_args)(ffi_cif*,void*,void**,void*);
- void *this_closure;
-
-#endif
-
- void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*);
- void *user_data;
-
-} ffi_java_raw_closure;
-
-ffi_status
-ffi_prep_raw_closure (ffi_raw_closure*,
- ffi_cif *cif,
- void (*fun)(ffi_cif*,void*,ffi_raw*,void*),
- void *user_data);
-
-ffi_status
-ffi_prep_raw_closure_loc (ffi_raw_closure*,
- ffi_cif *cif,
- void (*fun)(ffi_cif*,void*,ffi_raw*,void*),
- void *user_data,
- void *codeloc);
-
-ffi_status
-ffi_prep_java_raw_closure (ffi_java_raw_closure*,
- ffi_cif *cif,
- void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*),
- void *user_data);
-
-ffi_status
-ffi_prep_java_raw_closure_loc (ffi_java_raw_closure*,
- ffi_cif *cif,
- void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*),
- void *user_data,
- void *codeloc);
-
-#endif /* FFI_CLOSURES */
-
-/* ---- Public interface definition -------------------------------------- */
-
-ffi_status ffi_prep_cif(ffi_cif *cif,
- ffi_abi abi,
- unsigned int nargs,
- ffi_type *rtype,
- ffi_type **atypes);
-
-void ffi_call(ffi_cif *cif,
- void (*fn)(void),
- void *rvalue,
- void **avalue);
-
-/* Useful for eliminating compiler warnings */
-#define FFI_FN(f) ((void (*)(void))f)
-
-/* ---- Definitions shared with assembly code ---------------------------- */
-
-#endif
-
-/* If these change, update src/mips/ffitarget.h. */
-#define FFI_TYPE_VOID 0
-#define FFI_TYPE_INT 1
-#define FFI_TYPE_FLOAT 2
-#define FFI_TYPE_DOUBLE 3
-#if @HAVE_LONG_DOUBLE@
-#define FFI_TYPE_LONGDOUBLE 4
-#else
-#define FFI_TYPE_LONGDOUBLE FFI_TYPE_DOUBLE
-#endif
-#define FFI_TYPE_UINT8 5
-#define FFI_TYPE_SINT8 6
-#define FFI_TYPE_UINT16 7
-#define FFI_TYPE_SINT16 8
-#define FFI_TYPE_UINT32 9
-#define FFI_TYPE_SINT32 10
-#define FFI_TYPE_UINT64 11
-#define FFI_TYPE_SINT64 12
-#define FFI_TYPE_STRUCT 13
-#define FFI_TYPE_POINTER 14
-
-/* This should always refer to the last type code (for sanity checks) */
-#define FFI_TYPE_LAST FFI_TYPE_POINTER
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/.pc/aix-ibm-xlc/src/powerpc/aix.S b/.pc/aix-ibm-xlc/src/powerpc/aix.S
deleted file mode 100644
index c6f8764..0000000
--- a/.pc/aix-ibm-xlc/src/powerpc/aix.S
+++ /dev/null
@@ -1,324 +0,0 @@
-/* -----------------------------------------------------------------------
- aix.S - Copyright (c) 2002,2009 Free Software Foundation, Inc.
- based on darwin.S by John Hornkvist
-
- PowerPC Assembly glue.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS
- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR
- OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- OTHER DEALINGS IN THE SOFTWARE.
- ----------------------------------------------------------------------- */
-
- .set r0,0
- .set r1,1
- .set r2,2
- .set r3,3
- .set r4,4
- .set r5,5
- .set r6,6
- .set r7,7
- .set r8,8
- .set r9,9
- .set r10,10
- .set r11,11
- .set r12,12
- .set r13,13
- .set r14,14
- .set r15,15
- .set r16,16
- .set r17,17
- .set r18,18
- .set r19,19
- .set r20,20
- .set r21,21
- .set r22,22
- .set r23,23
- .set r24,24
- .set r25,25
- .set r26,26
- .set r27,27
- .set r28,28
- .set r29,29
- .set r30,30
- .set r31,31
- .set f0,0
- .set f1,1
- .set f2,2
- .set f3,3
- .set f4,4
- .set f5,5
- .set f6,6
- .set f7,7
- .set f8,8
- .set f9,9
- .set f10,10
- .set f11,11
- .set f12,12
- .set f13,13
- .set f14,14
- .set f15,15
- .set f16,16
- .set f17,17
- .set f18,18
- .set f19,19
- .set f20,20
- .set f21,21
-
-#define LIBFFI_ASM
-#include <fficonfig.h>
-#include <ffi.h>
-#define JUMPTARGET(name) name
-#define L(x) x
- .file "aix.S"
- .toc
-
- /* void ffi_call_AIX(extended_cif *ecif, unsigned long bytes,
- * unsigned int flags, unsigned int *rvalue,
- * void (*fn)(),
- * void (*prep_args)(extended_cif*, unsigned *const));
- * r3=ecif, r4=bytes, r5=flags, r6=rvalue, r7=fn, r8=prep_args
- */
-
-.csect .text[PR]
- .align 2
- .globl ffi_call_AIX
- .globl .ffi_call_AIX
-.csect ffi_call_AIX[DS]
-ffi_call_AIX:
-#ifdef __64BIT__
- .llong .ffi_call_AIX, TOC[tc0], 0
- .csect .text[PR]
-.ffi_call_AIX:
- /* Save registers we use. */
- mflr r0
-
- std r28,-32(r1)
- std r29,-24(r1)
- std r30,-16(r1)
- std r31, -8(r1)
-
- std r0, 16(r1)
- mr r28, r1 /* our AP. */
- stdux r1, r1, r4
-
- /* Save arguments over call... */
- mr r31, r5 /* flags, */
- mr r30, r6 /* rvalue, */
- mr r29, r7 /* function address. */
- std r2, 40(r1)
-
- /* Call ffi_prep_args. */
- mr r4, r1
- bl .ffi_prep_args
-
- /* Now do the call. */
- ld r0, 0(r29)
- ld r2, 8(r29)
- ld r11, 16(r29)
- /* Set up cr1 with bits 4-7 of the flags. */
- mtcrf 0x40, r31
- mtctr r0
- /* Load all those argument registers. */
- // We have set up a nice stack frame, just load it into registers.
- ld r3, 40+(1*8)(r1)
- ld r4, 40+(2*8)(r1)
- ld r5, 40+(3*8)(r1)
- ld r6, 40+(4*8)(r1)
- nop
- ld r7, 40+(5*8)(r1)
- ld r8, 40+(6*8)(r1)
- ld r9, 40+(7*8)(r1)
- ld r10,40+(8*8)(r1)
-
-L1:
- /* Load all the FP registers. */
- bf 6,L2 // 2f + 0x18
- lfd f1,-32-(13*8)(r28)
- lfd f2,-32-(12*8)(r28)
- lfd f3,-32-(11*8)(r28)
- lfd f4,-32-(10*8)(r28)
- nop
- lfd f5,-32-(9*8)(r28)
- lfd f6,-32-(8*8)(r28)
- lfd f7,-32-(7*8)(r28)
- lfd f8,-32-(6*8)(r28)
- nop
- lfd f9,-32-(5*8)(r28)
- lfd f10,-32-(4*8)(r28)
- lfd f11,-32-(3*8)(r28)
- lfd f12,-32-(2*8)(r28)
- nop
- lfd f13,-32-(1*8)(r28)
-
-L2:
- /* Make the call. */
- bctrl
- ld r2, 40(r1)
-
- /* Now, deal with the return value. */
- mtcrf 0x01, r31
-
- bt 30, L(done_return_value)
- bt 29, L(fp_return_value)
- std r3, 0(r30)
-
- /* Fall through... */
-
-L(done_return_value):
- /* Restore the registers we used and return. */
- mr r1, r28
- ld r0, 16(r28)
- ld r28, -32(r1)
- mtlr r0
- ld r29, -24(r1)
- ld r30, -16(r1)
- ld r31, -8(r1)
- blr
-
-L(fp_return_value):
- bf 28, L(float_return_value)
- stfd f1, 0(r30)
- bf 31, L(done_return_value)
- stfd f2, 8(r30)
- b L(done_return_value)
-L(float_return_value):
- stfs f1, 0(r30)
- b L(done_return_value)
-
-#else /* ! __64BIT__ */
-
- .long .ffi_call_AIX, TOC[tc0], 0
- .csect .text[PR]
-.ffi_call_AIX:
- /* Save registers we use. */
- mflr r0
-
- stw r28,-16(r1)
- stw r29,-12(r1)
- stw r30, -8(r1)
- stw r31, -4(r1)
-
- stw r0, 8(r1)
- mr r28, r1 /* out AP. */
- stwux r1, r1, r4
-
- /* Save arguments over call... */
- mr r31, r5 /* flags, */
- mr r30, r6 /* rvalue, */
- mr r29, r7 /* function address, */
- stw r2, 20(r1)
-
- /* Call ffi_prep_args. */
- mr r4, r1
- bl .ffi_prep_args
-
- /* Now do the call. */
- lwz r0, 0(r29)
- lwz r2, 4(r29)
- lwz r11, 8(r29)
- /* Set up cr1 with bits 4-7 of the flags. */
- mtcrf 0x40, r31
- mtctr r0
- /* Load all those argument registers. */
- // We have set up a nice stack frame, just load it into registers.
- lwz r3, 20+(1*4)(r1)
- lwz r4, 20+(2*4)(r1)
- lwz r5, 20+(3*4)(r1)
- lwz r6, 20+(4*4)(r1)
- nop
- lwz r7, 20+(5*4)(r1)
- lwz r8, 20+(6*4)(r1)
- lwz r9, 20+(7*4)(r1)
- lwz r10,20+(8*4)(r1)
-
-L1:
- /* Load all the FP registers. */
- bf 6,L2 // 2f + 0x18
- lfd f1,-16-(13*8)(r28)
- lfd f2,-16-(12*8)(r28)
- lfd f3,-16-(11*8)(r28)
- lfd f4,-16-(10*8)(r28)
- nop
- lfd f5,-16-(9*8)(r28)
- lfd f6,-16-(8*8)(r28)
- lfd f7,-16-(7*8)(r28)
- lfd f8,-16-(6*8)(r28)
- nop
- lfd f9,-16-(5*8)(r28)
- lfd f10,-16-(4*8)(r28)
- lfd f11,-16-(3*8)(r28)
- lfd f12,-16-(2*8)(r28)
- nop
- lfd f13,-16-(1*8)(r28)
-
-L2:
- /* Make the call. */
- bctrl
- lwz r2, 20(r1)
-
- /* Now, deal with the return value. */
- mtcrf 0x01, r31
-
- bt 30, L(done_return_value)
- bt 29, L(fp_return_value)
- stw r3, 0(r30)
- bf 28, L(done_return_value)
- stw r4, 4(r30)
-
- /* Fall through... */
-
-L(done_return_value):
- /* Restore the registers we used and return. */
- mr r1, r28
- lwz r0, 8(r28)
- lwz r28,-16(r1)
- mtlr r0
- lwz r29,-12(r1)
- lwz r30, -8(r1)
- lwz r31, -4(r1)
- blr
-
-L(fp_return_value):
- bf 28, L(float_return_value)
- stfd f1, 0(r30)
- b L(done_return_value)
-L(float_return_value):
- stfs f1, 0(r30)
- b L(done_return_value)
-#endif
- .long 0
- .byte 0,0,0,1,128,4,0,0
-//END(ffi_call_AIX)
-
-.csect .text[PR]
- .align 2
- .globl ffi_call_DARWIN
- .globl .ffi_call_DARWIN
-.csect ffi_call_DARWIN[DS]
-ffi_call_DARWIN:
-#ifdef __64BIT__
- .llong .ffi_call_DARWIN, TOC[tc0], 0
-#else
- .long .ffi_call_DARWIN, TOC[tc0], 0
-#endif
- .csect .text[PR]
-.ffi_call_DARWIN:
- blr
- .long 0
- .byte 0,0,0,0,0,0,0,0
-//END(ffi_call_DARWIN)
diff --git a/.pc/aix-ibm-xlc/src/powerpc/aix_closure.S b/.pc/aix-ibm-xlc/src/powerpc/aix_closure.S
deleted file mode 100644
index 5c74448..0000000
--- a/.pc/aix-ibm-xlc/src/powerpc/aix_closure.S
+++ /dev/null
@@ -1,443 +0,0 @@
-/* -----------------------------------------------------------------------
- aix_closure.S - Copyright (c) 2002, 2003, 2009 Free Software Foundation, Inc.
- based on darwin_closure.S
-
- PowerPC Assembly glue.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS
- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR
- OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- OTHER DEALINGS IN THE SOFTWARE.
- ----------------------------------------------------------------------- */
-
- .set r0,0
- .set r1,1
- .set r2,2
- .set r3,3
- .set r4,4
- .set r5,5
- .set r6,6
- .set r7,7
- .set r8,8
- .set r9,9
- .set r10,10
- .set r11,11
- .set r12,12
- .set r13,13
- .set r14,14
- .set r15,15
- .set r16,16
- .set r17,17
- .set r18,18
- .set r19,19
- .set r20,20
- .set r21,21
- .set r22,22
- .set r23,23
- .set r24,24
- .set r25,25
- .set r26,26
- .set r27,27
- .set r28,28
- .set r29,29
- .set r30,30
- .set r31,31
- .set f0,0
- .set f1,1
- .set f2,2
- .set f3,3
- .set f4,4
- .set f5,5
- .set f6,6
- .set f7,7
- .set f8,8
- .set f9,9
- .set f10,10
- .set f11,11
- .set f12,12
- .set f13,13
- .set f14,14
- .set f15,15
- .set f16,16
- .set f17,17
- .set f18,18
- .set f19,19
- .set f20,20
- .set f21,21
-
-#define LIBFFI_ASM
-#define JUMPTARGET(name) name
-#define L(x) x
- .file "aix_closure.S"
- .toc
-LC..60:
- .tc L..60[TC],L..60
- .csect .text[PR]
- .align 2
-
-.csect .text[PR]
- .align 2
- .globl ffi_closure_ASM
- .globl .ffi_closure_ASM
-.csect ffi_closure_ASM[DS]
-ffi_closure_ASM:
-#ifdef __64BIT__
- .llong .ffi_closure_ASM, TOC[tc0], 0
- .csect .text[PR]
-.ffi_closure_ASM:
-/* we want to build up an area for the parameters passed */
-/* in registers (both floating point and integer) */
-
- /* we store gpr 3 to gpr 10 (aligned to 4)
- in the parents outgoing area */
- std r3, 48+(0*8)(r1)
- std r4, 48+(1*8)(r1)
- std r5, 48+(2*8)(r1)
- std r6, 48+(3*8)(r1)
- mflr r0
-
- std r7, 48+(4*8)(r1)
- std r8, 48+(5*8)(r1)
- std r9, 48+(6*8)(r1)
- std r10, 48+(7*8)(r1)
- std r0, 16(r1) /* save the return address */
-
-
- /* 48 Bytes (Linkage Area) */
- /* 64 Bytes (params) */
- /* 16 Bytes (result) */
- /* 104 Bytes (13*8 from FPR) */
- /* 8 Bytes (alignment) */
- /* 240 Bytes */
-
- stdu r1, -240(r1) /* skip over caller save area
- keep stack aligned to 16 */
-
- /* next save fpr 1 to fpr 13 (aligned to 8) */
- stfd f1, 128+(0*8)(r1)
- stfd f2, 128+(1*8)(r1)
- stfd f3, 128+(2*8)(r1)
- stfd f4, 128+(3*8)(r1)
- stfd f5, 128+(4*8)(r1)
- stfd f6, 128+(5*8)(r1)
- stfd f7, 128+(6*8)(r1)
- stfd f8, 128+(7*8)(r1)
- stfd f9, 128+(8*8)(r1)
- stfd f10, 128+(9*8)(r1)
- stfd f11, 128+(10*8)(r1)
- stfd f12, 128+(11*8)(r1)
- stfd f13, 128+(12*8)(r1)
-
- /* set up registers for the routine that actually does the work */
- /* get the context pointer from the trampoline */
- mr r3, r11
-
- /* now load up the pointer to the result storage */
- addi r4, r1, 112
-
- /* now load up the pointer to the saved gpr registers */
- addi r5, r1, 288
-
- /* now load up the pointer to the saved fpr registers */
- addi r6, r1, 128
-
- /* make the call */
- bl .ffi_closure_helper_DARWIN
- nop
-
- /* now r3 contains the return type */
- /* so use it to look up in a table */
- /* so we know how to deal with each type */
-
- /* look up the proper starting point in table */
- /* by using return type as offset */
- ld r4, LC..60(2) /* get address of jump table */
- sldi r3, r3, 4 /* now multiply return type by 16 */
- ld r0, 240+16(r1) /* load return address */
- add r3, r3, r4 /* add contents of table to table address */
- mtctr r3
- bctr /* jump to it */
-
-/* Each fragment must be exactly 16 bytes long (4 instructions).
- Align to 16 byte boundary for cache and dispatch efficiency. */
- .align 4
-
-L..60:
-/* case FFI_TYPE_VOID */
- mtlr r0
- addi r1, r1, 240
- blr
- nop
-
-/* case FFI_TYPE_INT */
- lwa r3, 112+4(r1)
- mtlr r0
- addi r1, r1, 240
- blr
-
-/* case FFI_TYPE_FLOAT */
- lfs f1, 112+0(r1)
- mtlr r0
- addi r1, r1, 240
- blr
-
-/* case FFI_TYPE_DOUBLE */
- lfd f1, 112+0(r1)
- mtlr r0
- addi r1, r1, 240
- blr
-
-/* case FFI_TYPE_LONGDOUBLE */
- lfd f1, 112+0(r1)
- mtlr r0
- lfd f2, 112+8(r1)
- b L..finish
-
-/* case FFI_TYPE_UINT8 */
- lbz r3, 112+7(r1)
- mtlr r0
- addi r1, r1, 240
- blr
-
-/* case FFI_TYPE_SINT8 */
- lbz r3, 112+7(r1)
- mtlr r0
- extsb r3, r3
- b L..finish
-
-/* case FFI_TYPE_UINT16 */
- lhz r3, 112+6(r1)
- mtlr r0
-L..finish:
- addi r1, r1, 240
- blr
-
-/* case FFI_TYPE_SINT16 */
- lha r3, 112+6(r1)
- mtlr r0
- addi r1, r1, 240
- blr
-
-/* case FFI_TYPE_UINT32 */
- lwz r3, 112+4(r1)
- mtlr r0
- addi r1, r1, 240
- blr
-
-/* case FFI_TYPE_SINT32 */
- lwa r3, 112+4(r1)
- mtlr r0
- addi r1, r1, 240
- blr
-
-/* case FFI_TYPE_UINT64 */
- ld r3, 112+0(r1)
- mtlr r0
- addi r1, r1, 240
- blr
-
-/* case FFI_TYPE_SINT64 */
- ld r3, 112+0(r1)
- mtlr r0
- addi r1, r1, 240
- blr
-
-/* case FFI_TYPE_STRUCT */
- mtlr r0
- addi r1, r1, 240
- blr
- nop
-
-/* case FFI_TYPE_POINTER */
- ld r3, 112+0(r1)
- mtlr r0
- addi r1, r1, 240
- blr
-
-#else /* ! __64BIT__ */
-
- .long .ffi_closure_ASM, TOC[tc0], 0
- .csect .text[PR]
-.ffi_closure_ASM:
-/* we want to build up an area for the parameters passed */
-/* in registers (both floating point and integer) */
-
- /* we store gpr 3 to gpr 10 (aligned to 4)
- in the parents outgoing area */
- stw r3, 24+(0*4)(r1)
- stw r4, 24+(1*4)(r1)
- stw r5, 24+(2*4)(r1)
- stw r6, 24+(3*4)(r1)
- mflr r0
-
- stw r7, 24+(4*4)(r1)
- stw r8, 24+(5*4)(r1)
- stw r9, 24+(6*4)(r1)
- stw r10, 24+(7*4)(r1)
- stw r0, 8(r1)
-
- /* 24 Bytes (Linkage Area) */
- /* 32 Bytes (params) */
- /* 16 Bytes (result) */
- /* 104 Bytes (13*8 from FPR) */
- /* 176 Bytes */
-
- stwu r1, -176(r1) /* skip over caller save area
- keep stack aligned to 16 */
-
- /* next save fpr 1 to fpr 13 (aligned to 8) */
- stfd f1, 72+(0*8)(r1)
- stfd f2, 72+(1*8)(r1)
- stfd f3, 72+(2*8)(r1)
- stfd f4, 72+(3*8)(r1)
- stfd f5, 72+(4*8)(r1)
- stfd f6, 72+(5*8)(r1)
- stfd f7, 72+(6*8)(r1)
- stfd f8, 72+(7*8)(r1)
- stfd f9, 72+(8*8)(r1)
- stfd f10, 72+(9*8)(r1)
- stfd f11, 72+(10*8)(r1)
- stfd f12, 72+(11*8)(r1)
- stfd f13, 72+(12*8)(r1)
-
- /* set up registers for the routine that actually does the work */
- /* get the context pointer from the trampoline */
- mr r3, r11
-
- /* now load up the pointer to the result storage */
- addi r4, r1, 56
-
- /* now load up the pointer to the saved gpr registers */
- addi r5, r1, 200
-
- /* now load up the pointer to the saved fpr registers */
- addi r6, r1, 72
-
- /* make the call */
- bl .ffi_closure_helper_DARWIN
- nop
-
- /* now r3 contains the return type */
- /* so use it to look up in a table */
- /* so we know how to deal with each type */
-
- /* look up the proper starting point in table */
- /* by using return type as offset */
- lwz r4, LC..60(2) /* get address of jump table */
- slwi r3, r3, 4 /* now multiply return type by 4 */
- lwz r0, 176+8(r1) /* load return address */
- add r3, r3, r4 /* add contents of table to table address */
- mtctr r3
- bctr /* jump to it */
-
-/* Each fragment must be exactly 16 bytes long (4 instructions).
- Align to 16 byte boundary for cache and dispatch efficiency. */
- .align 4
-
-L..60:
-/* case FFI_TYPE_VOID */
- mtlr r0
- addi r1, r1, 176
- blr
- nop
-
-/* case FFI_TYPE_INT */
- lwz r3, 56+0(r1)
- mtlr r0
- addi r1, r1, 176
- blr
-
-/* case FFI_TYPE_FLOAT */
- lfs f1, 56+0(r1)
- mtlr r0
- addi r1, r1, 176
- blr
-
-/* case FFI_TYPE_DOUBLE */
- lfd f1, 56+0(r1)
- mtlr r0
- addi r1, r1, 176
- blr
-
-/* case FFI_TYPE_LONGDOUBLE */
- lfd f1, 56+0(r1)
- mtlr r0
- lfd f2, 56+8(r1)
- b L..finish
-
-/* case FFI_TYPE_UINT8 */
- lbz r3, 56+3(r1)
- mtlr r0
- addi r1, r1, 176
- blr
-
-/* case FFI_TYPE_SINT8 */
- lbz r3, 56+3(r1)
- mtlr r0
- extsb r3, r3
- b L..finish
-
-/* case FFI_TYPE_UINT16 */
- lhz r3, 56+2(r1)
- mtlr r0
- addi r1, r1, 176
- blr
-
-/* case FFI_TYPE_SINT16 */
- lha r3, 56+2(r1)
- mtlr r0
- addi r1, r1, 176
- blr
-
-/* case FFI_TYPE_UINT32 */
- lwz r3, 56+0(r1)
- mtlr r0
- addi r1, r1, 176
- blr
-
-/* case FFI_TYPE_SINT32 */
- lwz r3, 56+0(r1)
- mtlr r0
- addi r1, r1, 176
- blr
-
-/* case FFI_TYPE_UINT64 */
- lwz r3, 56+0(r1)
- mtlr r0
- lwz r4, 56+4(r1)
- b L..finish
-
-/* case FFI_TYPE_SINT64 */
- lwz r3, 56+0(r1)
- mtlr r0
- lwz r4, 56+4(r1)
- b L..finish
-
-/* case FFI_TYPE_STRUCT */
- mtlr r0
- addi r1, r1, 176
- blr
- nop
-
-/* case FFI_TYPE_POINTER */
- lwz r3, 56+0(r1)
- mtlr r0
-L..finish:
- addi r1, r1, 176
- blr
-#endif
-/* END(ffi_closure_ASM) */
diff --git a/.pc/alpha/.timestamp b/.pc/alpha/.timestamp
deleted file mode 100644
index e69de29..0000000
--- a/.pc/alpha/.timestamp
+++ /dev/null
diff --git a/.pc/alpha/ChangeLog b/.pc/alpha/ChangeLog
deleted file mode 100644
index 5e200fd..0000000
--- a/.pc/alpha/ChangeLog
+++ /dev/null
@@ -1,4749 +0,0 @@
-2012-02-10 Kai Tietz <ktietz@redhat.com>
-
- * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
- windows target.
- * configure: Regenerated.
-
-2012-02-08 Kai Tietz <ktietz@redhat.com>
-
- * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
- also FFI_THISCALL.
- * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
- (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
- (ffi_prep_closure_loc): Add FFI_THISCALL support.
- * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
- * src/x86/win32.S (ffi_closure_THISCALL): New closure code
- for thiscall-calling convention.
- * testsuite/libffi.call/closure_thiscall.c: New test.
-
-2012-01-28 Kai Tietz <ktietz@redhat.com>
-
- * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
- argument to prototype for specify calling-convention.
- (ffi_call): Add support for stdcall/thiscall convention.
- (ffi_prep_args): Likewise.
- (ffi_raw_call): Likewise.
- * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
- FFI_FASTCALL.
- * src/x86/win32.S (_ffi_call_win32): Add support for
- fastcall/thiscall calling-convention calls.
- * testsuite/libffi.call/fastthis1_win32.c: New test.
- * testsuite/libffi.call/fastthis2_win32.c: New test.
- * testsuite/libffi.call/fastthis3_win32.c: New test.
- * testsuite/libffi.call/strlen2_win32.c: New test.
- * testsuite/libffi.call/many2_win32.c: New test.
- * testsuite/libffi.call/struct1_win32.c: New test.
- * testsuite/libffi.call/struct2_win32.c: New test.
-
-2012-01-23 Anthony Green <green@moxielogic.com>
- Chris Young <cdyoung@ntlworld.com>
-
- * configure.ac: Add Amiga support.
- * configure: Rebuilt.
-
-2012-01-23 Dmitry Nadezhin <dmitry.nadezhin@gmail.com>
-
- * include/ffi_common.h (LIKELY, UNLIKELY): Fix definitions.
-
-2012-01-23 Andreas Schwab <schwab@linux-m68k.org>
-
- * src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
- mc68000. Test for __HAVE_68881__ in addition to __MC68881__.
-
-2012-01-19 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/48496
- * src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
-
-2012-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (i?86-*-*): Set TARGET to X86_64.
- * configure: Regenerate.
-
-2011-12-07 Andrew Pinski <apinski@cavium.com>
-
- PR libffi/50051
- * src/mips/n32.S: Add ".set mips4".
-
-2011-11-21 Andreas Tobler <andreast@fgznet.ch>
-
- * configure: Regenerate.
-
-2011-11-12 David Gilbert <david.gilbert@linaro.org>
-
- * doc/libffi.texi, include/ffi.h.in, include/ffi_common.h,
- man/Makefile.am, man/ffi.3, man/ffi_prep_cif.3,
- man/ffi_prep_cif_var.3, src/arm/ffi.c, src/arm/ffitarget.h,
- src/cris/ffi.c, src/prep_cif.c,
- testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/float_va.c: Many changes to support variadic
- function calls.
-
-2011-11-12 Kyle Moffett <Kyle.D.Moffett@boeing.com>
-
- * src/powerpc/ffi.c, src/powerpc/ffitarget.h,
- src/powerpc/ppc_closure.S, src/powerpc/sysv.S: Many changes for
- softfloat powerpc variants.
-
-2011-11-12 Petr Salinger <Petr.Salinger@seznam.cz>
-
- * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Fix kfreebsd support.
- * configure: Rebuilt.
-
-2011-11-12 Timothy Wall <twall@users.sf.net>
-
- * src/arm/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV): Max
- alignment of 4 for wince on ARM.
-
-2011-11-12 Kyle Moffett <Kyle.D.Moffett@boeing.com>
- Anthony Green <green@moxielogic.com>
-
- * src/ppc/sysv.S, src/ppc/ffi.c: Remove use of ppc string
- instructions (not available on some cores, like the PPC440).
-
-2011-11-12 Kimura Wataru <kimuraw@i.nifty.jp>
-
- * m4/ax_enable_builddir: Change from string comparison to numeric
- comparison for wc output.
- * configure.ac: Enable FFI_MMAP_EXEC_WRIT for darwin11 aka Mac OS
- X 10.7.
- * configure: Rebuilt.
-
-2011-11-12 Anthony Green <green@moxielogic.com>
-
- * Makefile.am (AM_CCASFLAGS): Add -g option to build assembly
- files with debug info.
- * Makefile.in: Rebuilt.
-
-2011-11-12 Jasper Lievisse Adriaanse <jasper@openbsd.org>
-
- * README: Update list of supported OpenBSD systems.
-
-2011-11-12 Anthony Green <green@moxielogic.com>
-
- * libtool-version: Update.
- * Makefile.am (nodist_libffi_la_SOURCES): Add src/debug.c if
- FFI_DEBUG.
- (libffi_la_SOURCES): Remove src/debug.c
- (EXTRA_DIST): Add src/debug.c
- * Makefile.in: Rebuilt.
- * README: Update for 3.0.11.
-
-2011-11-10 Richard Henderson <rth@redhat.com>
-
- * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
- * configure, aclocal.m4: Rebuild.
-
-2011-09-04 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/49594
- * src/powerpc/darwin_closure.S (stubs): Make the stub binding
- helper reference track the architecture pointer size.
-
-2011-08-25 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
- instructions.
- * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
-
-2011-07-11 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46660
- * testsuite/libffi.call/cls_double_va.c: xfail dg-output on
- mips-sgi-irix6*.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
- PRId8 instead of %hhu, %hhd.
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
- PRIu8): Define.
- [__sgi__] (PRId8, PRIu8): Define.
-
-2011-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
- Define.
- Use them to handle ELF vs. ECOFF differences.
- [__osf__] (_GLOBAL__F_ffi_call_osf): Define.
-
-2011-03-30 Timothy Wall <twall@users.sf.net>
-
- * src/powerpc/darwin.S: Fix unknown FDE encoding.
- * src/powerpc/darwin_closure.S: ditto.
-
-2011-02-25 Anthony Green <green@moxielogic.com>
-
- * src/powerpc/ffi.c (ffi_prep_closure_loc): Allow for more
- 32-bit ABIs.
-
-2011-02-15 Anthony Green <green@moxielogic.com>
-
- * m4/ax_cc_maxopt.m4: Don't -malign-double or use -ffast-math.
- * configure: Rebuilt.
-
-2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2011-02-13 Anthony Green <green@moxielogic.com>
-
- * include/ffi_common.h (UNLIKELY, LIKELY): Define.
- * src/x86/ffi64.c (UNLIKELY, LIKELY): Remove definition.
- * src/prep_cif.c (UNLIKELY, LIKELY): Remove definition.
-
- * src/prep_cif.c (initialize_aggregate): Convert assertion into
- FFI_BAD_TYPEDEF return. Initialize arg size and alignment to 0.
-
- * src/pa/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
- just return FFI_BAD_ABI when things are wrong.
- * src/arm/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/powerpc/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/mips/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/ia64/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/avr32/ffi.c (ffi_prep_closure_loc): Ditto.
-
-2011-02-11 Anthony Green <green@moxielogic.com>
-
- * src/sparc/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
- just return FFI_BAD_ABI when things are wrong.
-
-2011-02-09 Stuart Shelton <srcshelton@gmail.com>
-
- http://bugs.gentoo.org/show_bug.cgi?id=286911
- * src/mips/ffitarget.h: Clean up error messages.
- * src/java_raw_api.c (ffi_java_translate_args): Cast raw arg to
- ffi_raw*.
- * include/ffi.h.in: Add pragma for SGI compiler.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * configure.ac: Add powerpc64-*-darwin* support.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * README: Mention Interix.
-
-2011-02-09 Jonathan Callen <abcd@gentoo.org>
-
- * configure.ac: Add Interix to win32/cygwin/mingw case.
- * configure: Ditto.
- * src/closures.c: Treat Interix like Cygwin, instead of as a
- generic win32.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * testsuite/libffi.call/err_bad_typedef.c: Remove xfail.
- * testsuite/libffi.call/err_bad_abi.c: Remove xfail.
- * src/x86/ffi64.c (UNLIKELY, LIKELY): Define.
- (ffi_prep_closure_loc): Check for bad ABI.
- * src/prep_cif.c (UNLIKELY, LIKELY): Define.
- (initialize_aggregate): Check for bad types.
-
-2011-02-09 Landon Fuller <landonf@plausible.coop>
-
- * Makefile.am (EXTRA_DIST): Add build-ios.sh, src/arm/gentramp.sh,
- src/arm/trampoline.S.
- (nodist_libffi_la_SOURCES): Add src/arc/trampoline.S.
- * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Define.
- * src/arm/ffi.c (ffi_trampoline_table)
- (ffi_closure_trampoline_table_page, ffi_trampoline_table_entry)
- (FFI_TRAMPOLINE_CODELOC_CONFIG, FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET)
- (FFI_TRAMPOLINE_COUNT, ffi_trampoline_lock, ffi_trampoline_tables)
- (ffi_trampoline_table_alloc, ffi_closure_alloc, ffi_closure_free):
- Define for FFI_EXEC_TRAMPOLINE_TABLE case (iOS).
- (ffi_prep_closure_loc): Handl FFI_EXEC_TRAMPOLINE_TABLE case
- separately.
- * src/arm/sysv.S: Handle Apple iOS host.
- * src/closures.c: Handle FFI_EXEC_TRAMPOLINE_TABLE case.
- * build-ios.sh: New file.
- * fficonfig.h.in, configure, Makefile.in: Rebuilt.
- * README: Mention ARM iOS.
-
-2011-02-08 Oren Held <orenhe@il.ibm.com>
-
- * src/dlmalloc.c (_STRUCT_MALLINFO): Define in order to avoid
- redefinition of mallinfo on HP-UX.
-
-2011-02-08 Ginn Chen <ginn.chen@oracle.com>
-
- * src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
- aggregate return ABI. Flush cache.
- (ffi_prep_closure_loc): Flush cache.
-
-2011-02-11 Anthony Green <green@moxielogic.com>
-
- From Tom Honermann <tom.honermann@oracle.com>:
- * src/powerpc/aix.S (ffi_call_AIX): Support for xlc toolchain on
- AIX. Declare .ffi_prep_args. Insert nops after branch
- instructions so that the AIX linker can insert TOC reload
- instructions.
- * src/powerpc/aix_closure.S: Declare .ffi_closure_helper_DARWIN.
-
-2011-02-08 Ed <ed@kdtc.net>
-
- * src/powerpc/asm.h: Fix grammar nit in comment.
-
-2011-02-08 Uli Link <ul.mcamafia@linkitup.de>
-
- * include/ffi.h.in (FFI_64_BIT_MAX): Define and use.
-
-2011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46661
- * testsuite/libffi.call/cls_pointer.c (main): Cast void * to
- uintptr_t first.
- * testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
-
-2011-02-08 Rafael Avila de Espindola <respindola@mozilla.com>
-
- * configure.ac: Fix x86 test for pc related relocs.
- * configure: Rebuilt.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
- Handle case when CPU variant does not have long double support.
- * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
- and cores with soft floating point.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * configure.ac: Add mips*-*-rtems* support.
- * configure: Regenerate.
- * src/mips/ffitarget.h: Ensure needed constants are available
- for targets which do not have sgidefs.h.
-
-2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR target/40125
- * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
- * configure: Regenerate.
-
-2010-12-18 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/29152
- PR libffi/42378
- * src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
- (FFI_TRAMPOLINE_SIZE): Update for Darwin64.
- * src/powerpc/darwin.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
- backslashes.
- (libffi_cv_as_string_pseudo_op): Likewise.
- * configure: Regenerate.
-
-2010-12-03 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
- (ffi_closure_VFP): Same.
- (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
- directive.
-
-2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
- (PRIuPTR): Define.
-
-2010-11-29 Richard Henderson <rth@redhat.com>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
- (.eh_frame): Use FDE_ENCODING.
- (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
-
-2010-11-22 Jacek Caban <jacek@codeweavers.com>
-
- * configure.ac: Check for symbol underscores on mingw-w64.
- * configure: Rebuilt.
- * src/x86/win64.S: Correctly access extern symbols in respect to
- underscores.
-
-2010-11-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp: Rename ...
- * testsuite/lib/libffi.exp: ... to this.
- * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
- * libffi/testsuite/libffi.special/special.exp: Likewise.
-
-2010-10-28 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
- code, new parameter, and return value. Update comments.
- (ffi_prep_cif_machdep): Add case for VFP struct return values. Add
- call to layout_vfp_args().
- (ffi_call_SYSV): Update declaration.
- (ffi_call_VFP): New declaration.
- (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
- when ABI is FFI_VFP.
- (ffi_closure_VFP): New declaration.
- (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
- ffi_prep_incoming_args_SYSV().
- (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
- case handling.
- (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
- construction under VFP hard-float.
- (rec_vfp_type_p): New function.
- (vfp_type_p): Same.
- (place_vfp_arg): Same.
- (layout_vfp_args): Same.
- * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
- based on __ARM_PCS_VFP.
- (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
- fields.
- (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
- (FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
- * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
- direct call. Move function pointer load upwards.
- (ffi_call_VFP): New function.
- (ffi_closure_VFP): Same.
-
- * testsuite/lib/libffi-dg.exp (check-flags): New function.
- (dg-skip-if): New function.
- * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
- and compiler options include -mfloat-abi=hard.
- * testsuite/libffi.call/cls_longdouble_va.c: Same.
-
-2010-10-01 Jakub Jelinek <jakub@redhat.com>
-
- PR libffi/45677
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
- a multiple of 8.
- * testsuite/libffi.call/many2.c: New test.
-
-2010-08-20 Mark Wielaard <mjw@redhat.com>
-
- * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
- returns NULL.
-
-2010-08-09 Andreas Tobler <andreast@fgznet.ch>
-
- * configure.ac: Add target powerpc64-*-freebsd*.
- * configure: Regenerate.
- * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
- -mlong-double-128 only to linux targets.
- * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
- * testsuite/libffi.call/cls_longdouble.c: Likewise.
- * testsuite/libffi.call/huge_struct.c: Likewise.
-
-2010-08-05 Dan Witte <dwitte@mozilla.com>
-
- * Makefile.am: Pass FFI_DEBUG define to msvcc.sh for linking to the
- debug CRT when --enable-debug is given.
- * configure.ac: Define it.
- * msvcc.sh: Translate -g and -DFFI_DEBUG appropriately.
-
-2010-08-04 Dan Witte <dwitte@mozilla.com>
-
- * src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64
- platforms.
- * src/x86/ffi.c: Remove redundant ifdef checks.
- * src/prep_cif.c: Push stack space computation into src/x86/ffi.c
- for X86_ANY so return value space doesn't get added twice.
-
-2010-08-03 Neil Rashbrooke <neil@parkwaycc.co.uk>
-
- * msvcc.sh: Don't pass -safeseh to ml64 because behavior is buggy.
-
-2010-07-22 Dan Witte <dwitte@mozilla.com>
-
- * src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
- * src/prep_cif.c: Fix ABI assertion.
- * src/cris/ffi.c: Ditto.
-
-2010-07-10 Evan Phoenix <evan@fallingsnow.net>
-
- * src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
-
-2010-07-07 Dan Horák <dan@danny.cz>
-
- * include/ffi.h.in: Protect #define with #ifndef.
- * src/powerpc/ffitarget.h: Ditto.
- * src/s390/ffitarget.h: Ditto.
- * src/sparc/ffitarget.h: Ditto.
-
-2010-07-07 Neil Roberts <neil@linux.intel.com>
-
- * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
- 16-bytes.
-
-2010-07-02 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
- * Makefile.in: Regenerated.
-
-2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
- output, too.
- (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
- (libffi_cv_as_string_pseudo_op): Check for .string.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
-
-2010-05-11 Dan Witte <dwitte@mozilla.com>
-
- * doc/libffi.tex: Document previous change.
-
-2010-05-11 Makoto Kato <m_kato@ga2.so-net.ne.jp>
-
- * src/x86/ffi.c (ffi_call): Don't copy structs passed by value.
-
-2010-05-05 Michael Kohler <michaelkohler@live.com>
-
- * src/dlmalloc.c (dlfree): Fix spelling.
- * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
- * configure.ac: Ditto.
- * configure: Rebuilt.
-
-2010-04-13 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Build with -W3 instead of -Wall.
- * src/powerpc/ffi_darwin.c: Remove build warnings.
- * src/x86/ffi.c: Ditto.
- * src/x86/ffitarget.h: Ditto.
-
-2010-04-12 Dan Witte <dwitte@mozilla.com>
- Walter Meinl <wuno@lsvw.de>
-
- * configure.ac: Add OS/2 support.
- * configure: Rebuilt.
- * src/closures.c: Ditto.
- * src/dlmalloc.c: Ditto.
- * src/x86/win32.S: Ditto.
-
-2010-04-07 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
-
-2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2010-03-30 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Disable build warnings.
- * README (tested): Clarify windows build procedure.
-
-2010-03-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * libffi/src/x86/unix64.S (.eh_frame)
- [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
-
-2010-03-14 Matthias Klose <doko@ubuntu.com>
-
- * src/x86/ffi64.c: Fix typo in comment.
- * src/x86/ffi.c: Use /* ... */ comment style.
-
-2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/libffi.texi (The Closure API): Fix typo.
- * doc/libffi.info: Remove.
-
-2010-02-15 Matthias Klose <doko@ubuntu.com>
-
- * src/arm/sysv.S (__ARM_ARCH__): Define for processor
- __ARM_ARCH_7EM__.
-
-2010-01-15 Anthony Green <green@redhat.com>
-
- * README: Add notes on building with Microsoft Visual C++.
-
-2010-01-15 Daniel Witte <dwitte@mozilla.com>
-
- * msvcc.sh: New file.
-
- * src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
- * src/x86/ffi.c: Tweak function declaration and remove excess
- parens.
- * include/ffi.h.in: Add __declspec(align(8)) to typedef struct
- ffi_closure.
-
- * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
- function ffi_call_win32 on X86_WIN32.
- * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
- (ffi_call_STDCALL): Remove.
-
- * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
- to ffi_prep_cif_machdep for x86.
- * src/x86/ffi.c (ffi_prep_cif_machdep): To here.
-
-2010-01-15 Oliver Kiddle <okiddle@yahoo.co.uk>
-
- * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
- Sun Studio compiler compatibility.
-
-2010-01-12 Conrad Irwin <conrad.irwin@gmail.com>
-
- * doc/libffi.texi: Add closure example.
-
-2010-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40701
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
- PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
- * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
- alpha*-dec-osf*.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/return_ll1.c: Likewise.
- * testsuite/libffi.call/stret_medium2.c: Likewise.
- * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
- MAP_FAILED to char *.
-
-2010-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
-
-2009-12-31 Anthony Green <green@redhat.com>
-
- * README: Update for libffi 3.0.9.
-
-2009-12-27 Matthias Klose <doko@ubuntu.com>
-
- * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
- appropriate.
- * configure: Rebuilt.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
- avr32*-*-*.
- * testsuite/libffi.call/cls_double_va.c: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
- and inttypes.h.
- * testsuite/libffi.special/unwindtest.cc: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-openbsd*.
- * configure: Rebuilt.
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
- openbsd programs with -lpthread.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
- mips*-*-* and arm*-*-*.
- * testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c,
- testsuite/libffi.call/stret_medium2.c,
- testsuite/libffi.call/stret_medium.c,
- testsuite/libffi.call/stret_large.c,
- testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
-
-2009-12-31 Kay Tietz <ktietz70@googlemail.com>
-
- * testsuite/libffi.call/ffitest.h,
- testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
- definitions.
-
-2009-12-31 Carlo Bramini <carlo.bramix@libero.it>
-
- * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
- * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
-
-2009-12-31 Anthony Green <green@redhat.com>
- Blake Chaffin.
-
- * testsuite/libffi.call/huge_struct.c: New test case from Blake
- Chaffin @ Apple.
-
-2009-12-28 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
- local variables.
- (aix_adjust_aggregate_sizes): New function.
- (ffi_prep_cif_machdep): Call it.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
- * configure: Regenerate.
- * fficonfig.h.in: Likewise.
- * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
- Solaris/x86.
-
-2009-12-26 Andreas Schwab <schwab@linux-m68k.org>
-
- * 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.
-
-2009-12-25 Matthias Klose <doko@ubuntu.com>
-
- * man/ffi_call.3: Fix #include in examples.
- * doc/libffi.texi: Add dircategory.
-
-2009-12-25 Frank Everdij <f.p.x.everdij@tudelft.nl>
-
- * include/ffi.h.in: Placed '__GNUC__' ifdef around
- '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
- IRIX MIPSPro c99.
- * include/ffi_common.h: Added '__sgi' define to non
- '__attribute__((__mode__()))' integer typedefs.
- * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
- ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
- (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
- FFI_LONGDOUBLE support and alignment(N32 only).
- * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
- fixed non '__attribute__((__mode__()))' integer typedefs.
- * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
- since they are Linux/GNU Assembler specific.
-
-2009-12-25 Bradley Smith <brad@brad-smith.co.uk>
-
- * configure.ac, Makefile.am, src/avr32/ffi.c,
- src/avr32/ffitarget.h,
- src/avr32/sysv.S: Add AVR32 port.
- * configure, Makefile.in: Rebuilt.
-
-2009-12-21 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
- * configure: Regenerate.
-
-2009-12-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
- type on HP-UX.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
- double' arguments.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40700
- * src/closures.c [X86_64 && __sun__ && __svr4__]
- (FFI_MMAP_EXEC_WRIT): Define.
-
-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.
-
-2009-12-07 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
- typo.
-
-2009-12-05 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
- code.
- * src/powerpc/aix_closure.S: Same.
-
-2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
- linux64_closure.S.
-
-2009-12-04 Uros Bizjak <ubizjak@gmail.com>
-
- 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.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
- pfr for long double split between fpr13 and stack.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
- fparg_count twice for long double.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- PR libffi/42243
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03 Uros Bizjak <ubizjak@gmail.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
- Remove xfails for x86 linux targets.
-
-2009-12-02 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
- case.
-
-2009-12-01 David Edelsohn <edelsohn@gnu.org>
-
- * 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.
-
-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.
-
-2009-11-02 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/41908
- * testsuite/libffi.call/testclosure.c: New test.
-
-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.
-
-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.
-
-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.
-
-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.
-
-2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.am (install-html, install-pdf): Remove.
- * Makefile.in: Regenerate.
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2011-08-22 Jasper Lievisse Adriaanse <jasper@openbsd.org>
-
- * configure.ac: Add OpenBSD/hppa and OpenBSD/powerpc support.
- * configure: Rebuilt.
-
-2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24 Dave Korn <dave.korn.cygwin@gmail.com>
-
- 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.
-
-2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
-
- 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.
-
-2009-07-01 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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 "".)
-
-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.
-
-2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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.
-
-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.
-
-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.
-
-2009-06-16 Andrew Haley <aph@redhat.com>
-
- * configure.ac (TARGETDIR): Add missing blank lines.
- * configure: Regenerate.
-
-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.
-
-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.
-
-2009-06-12 Andrew Haley <aph@redhat.com>
-
- * Makefile.am: Remove info_TEXINFOS.
-
-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-11 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * 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.
-
-2009-06-09 Andrew Haley <aph@redhat.com>
-
- * src/x86/freebsd.S: Add missing file.
-
-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).
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * README: Import from libffi 3.0.8.
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Add xfails.
- * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
- * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
- * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
- * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
- * testsuite/libffi.call/stret_medium.c: Likewise.
- * testsuite/libffi.call/stret_large2.c: Likewise.
- * testsuite/libffi.call/stret_large.c: Likewise.
-
-2008-12-26 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_align_longdouble.c,
- testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
- failures on x86_64 cygwin/mingw.
-
-2008-12-22 Timothy Wall <twall@users.sf.net>
-
- * 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_loc_fn0.c,
- testsuite/libffi.call/closure_stdcall.c,
- testsuite/libffi.call/cls_align_pointer.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
- pointer to integer (intptr_t).
- * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_dbls_struct.c,
- testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c,
- testsuite/libffi.call/err_bad_abi.c: Clean up failures from
- compiler warnings.
-
-2008-03-04 Anthony Green <green@redhat.com>
- Blake Chaffin
- hos@tamanegi.org
-
- * testsuite/libffi.call/cls_align_longdouble_split2.c
- testsuite/libffi.call/cls_align_longdouble_split.c
- testsuite/libffi.call/cls_dbls_struct.c
- testsuite/libffi.call/cls_double_va.c
- testsuite/libffi.call/cls_longdouble.c
- testsuite/libffi.call/cls_longdouble_va.c
- testsuite/libffi.call/cls_pointer.c
- testsuite/libffi.call/cls_pointer_stack.c
- testsuite/libffi.call/err_bad_abi.c
- testsuite/libffi.call/err_bad_typedef.c
- testsuite/libffi.call/stret_large2.c
- testsuite/libffi.call/stret_large.c
- testsuite/libffi.call/stret_medium2.c
- testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
- libffi.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
- stdcall changes.
-
-2008-02-26 Anthony Green <green@redhat.com>
- Thomas Heller <theller@ctypes.org>
-
- * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
- comment.
-
-2008-02-03 Timothy Wall <twall@users.sf.net>
-
- * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
- offset based on code pointer, not data pointer.
-
-2008-01-31 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
- closures.
- * src/x86/ffitarget.h: Increase size of trampoline for stdcall
- closures.
- * src/x86/win32.S: Add assembly for stdcall closure.
- * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Change void (*)() to void (*)(void).
- * src/x86/ffi.c: Likewise.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ppc_closure.S: Insert licence header.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/m68k/sysv.S: Likewise.
-
- * src/sh64/ffi.c: Change void (*)() to void (*)(void).
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/m32r/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi64.c: Likewise.
- * src/alpha/ffi.c: Likewise.
- * src/alpha/osf.S: Likewise.
- * src/frv/ffi.c: Likewise.
- * src/s390/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/pa/hpux32.S: Likewise.
- * src/ia64/unix.S: Likewise.
- * src/ia64/ffi.c: Likewise.
- * src/sparc/ffi.c: Likewise.
- * src/mips/ffi.c: Likewise.
- * src/sh/ffi.c: Likewise.
-
-2008-02-15 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
- Define (conditionally), and use it to include cachectl.h.
- (ffi_prep_closure_loc): Fix cache flushing.
- * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- include/ffi.h.in,
- src/arm/ffitarget.h,
- src/arm/ffi.c,
- src/arm/sysv.S,
- src/powerpc/ffitarget.h,
- src/closures.c,
- src/sh64/ffitarget.h,
- src/sh64/ffi.c,
- src/sh64/sysv.S,
- src/types.c,
- src/x86/ffi64.c,
- src/x86/ffitarget.h,
- src/x86/win32.S,
- src/x86/darwin.S,
- src/x86/ffi.c,
- src/x86/sysv.S,
- src/x86/unix64.S,
- src/alpha/ffitarget.h,
- src/alpha/ffi.c,
- src/alpha/osf.S,
- src/m68k/ffitarget.h,
- src/frv/ffitarget.h,
- src/frv/ffi.c,
- src/s390/ffitarget.h,
- src/s390/sysv.S,
- src/cris/ffitarget.h,
- src/pa/linux.S,
- src/pa/ffitarget.h,
- src/pa/ffi.c,
- src/raw_api.c,
- src/ia64/ffitarget.h,
- src/ia64/unix.S,
- src/ia64/ffi.c,
- src/ia64/ia64_flags.h,
- src/java_raw_api.c,
- src/debug.c,
- src/sparc/v9.S,
- src/sparc/ffitarget.h,
- src/sparc/ffi.c,
- src/sparc/v8.S,
- src/mips/ffitarget.h,
- src/mips/n32.S,
- src/mips/o32.S,
- src/mips/ffi.c,
- src/prep_cif.c,
- src/sh/ffitarget.h,
- src/sh/ffi.c,
- src/sh/sysv.S: Update license text.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * src/x86/win32.S (_ffi_closure_STDCALL): New function.
- (.eh_frame): Add FDE for it.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * configure.ac: Also check if assembler supports pc-relative
- relocs on X86_WIN32 targets.
- * configure: Regenerate.
- * src/x86/win32.S (ffi_prep_args): Declare extern, not global.
- (_ffi_call_SYSV): Add missing function type symbol .def and
- add EH markup labels.
- (_ffi_call_STDCALL): Likewise.
- (_ffi_closure_SYSV): Likewise.
- (_ffi_closure_raw_SYSV): Likewise.
- (.eh_frame): Add hand-crafted EH data.
-
-2009-04-09 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
- version 3 of the GNU General Public License and to point readers
- at the COPYING3 file and the FSF's license web page.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-12-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libffi/26048
- * configure.ac (HAVE_AS_X86_PCREL): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
- RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
- RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
- * src/x86/unix64.S (.Lstore_table): Move to .text section.
- (.Lload_table): Likewise.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
- signed/unsigned int8/16 return values.
- * src/sparc/v8.S (ffi_call_v8): Likewise.
- (ffi_closure_v8): Likewise.
-
-2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
- Steve Ellcey <sje@cup.hp.com>
-
- * configure: Regenerate for new libtool.
- * Makefile.in: Ditto.
- * include/Makefile.in: Ditto.
- * aclocal.m4: Ditto.
-
-2008-08-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
- FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
- Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
- Adjust copyright notice.
- * src/powerpc/ffi.c: Add two new flags to indicate if we have one
- register or two register to use for FFI_SYSV structs.
- (ffi_prep_cif_machdep): Pass the right register flag introduced above.
- (ffi_closure_helper_SYSV): Fix the return type for
- FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
- Adjust copyright notice.
-
-2008-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
- int.
-
-2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2008-06-07 Joseph Myers <joseph@codesourcery.com>
-
- * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
- powerpc-*-beos*): Remove.
- * configure: Regenerate.
-
-2008-05-09 Julian Brown <julian@codesourcery.com>
-
- * Makefile.am (LTLDFLAGS): New.
- (libffi_la_LDFLAGS): Use above.
- * Makefile.in: Regenerate.
-
-2008-04-18 Paolo Bonzini <bonzini@gnu.org>
-
- PR bootstrap/35457
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2008-03-26 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add .note.GNU-stack on Linux.
- * src/sh64/sysv.S: Likewise.
-
-2008-03-26 Daniel Jacobowitz <dan@debian.org>
-
- * src/arm/sysv.S: Fix ARM comment marker.
-
-2008-03-26 Jakub Jelinek <jakub@redhat.com>
-
- * src/alpha/osf.S: Add .note.GNU-stack on Linux.
- * src/s390/sysv.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
- * src/x86/unix64.S: Likewise.
- * src/x86/sysv.S: Likewise.
- * src/sparc/v8.S: Likewise.
- * src/sparc/v9.S: Likewise.
- * src/m68k/sysv.S: Likewise.
- * src/arm/sysv.S: Likewise.
-
-2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * aclocal.m4: Regenerate.
- * configure: Likewise.
- * Makefile.in: Likewise.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2008-02-12 Bjoern Koenig <bkoenig@alpha-tierchen.de>
- Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-freebsd* target.
- * configure: Regenerate.
-
-2008-01-30 H.J. Lu <hongjiu.lu@intel.com>
-
- PR libffi/34612
- * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
- returning struct.
-
- * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
- tests.
-
-2008-01-24 David Edelsohn <edelsohn@gnu.org>
-
- * configure: Regenerate.
-
-2008-01-06 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
-
-2008-01-05 Andreas Tobler <a.tobler@schweiz.org>
-
- PR testsuite/32843
- * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
- signed/unsigned int8/16 for X86_DARWIN.
- Updated copyright info.
- Handle one and two byte structs with special cif->flags.
- * src/x86/ffitarget.h: Add special types for one and two byte structs.
- Updated copyright info.
- * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
- sysv.S
- Remove code to pop args from the stack after call.
- Special-case signed/unsigned for int8/16, one and two byte structs.
- (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
- FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
- FFI_TYPE_SINT32.
- Updated copyright info.
-
-2007-12-08 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_call_N32): Replace dadd with ADDU, dsub with
- SUBU, add with ADDU and use smaller code sequences.
-
-2007-12-07 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
- type.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
- defined.
- (ffi_java_raw): New typedef.
- (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
- ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
- ffi_java_raw.
- (ffi_java_raw_closure) : Same.
- (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
- parameter types.
- * src/java_raw_api.c (ffi_java_raw_size): Replace FFI_SIZEOF_ARG with
- FFI_SIZEOF_JAVA_RAW.
- (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
- Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
- sizeof(ffi_java_raw) for alignment calculations.
- (ffi_java_ptrarray_to_raw): Same.
- (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
- if FFI_SIZEOF_JAVA_RAW == 4.
- (ffi_java_raw_to_rvalue): Same.
- (ffi_java_raw_call): Change type of raw to ffi_java_raw.
- (ffi_java_translate_args): Same.
- (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
- parameter types.
- * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
- pointer values.
-
-2007-12-01 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/31937
- * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
- Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
- * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
- set the NUM_FPR_ARG_REGISTERS according to.
- Add support for potential soft-float support under hard-float
- architecture.
- (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
- FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
- to the FFI_LINUX_SOFT_FLOAT ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Make sure not to store float/double
- on archs where __NO_FPRS__ is true.
- Add FFI_TYPE_UINT128 support.
- * src/powerpc/sysv.S: Add support for soft-float long-double-128.
- Adjust copyright notice.
-
-2007-11-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
- * include/ffi_common.h: ... here.
- Update copyright.
-
-2007-11-17 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
- * testsuite/libffi.call/return_ldl.c: New test.
-
-2007-09-04 <aph@redhat.com>
-
- * src/arm/sysv.S (UNWIND): New.
- (Whole file): Conditionally compile unwinder directives.
- * src/arm/sysv.S: Add unwinder directives.
-
- * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
- Only treat r0 as a struct address if we're actually returning a
- struct by address.
- Only copy the bytes that are actually within a struct.
- (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
- is returned in r0, not passed by address.
- (ffi_call): Allocate a word-sized temporary for the case where
- a composite is returned in r0.
- (ffi_prep_incoming_args_SYSV): Align as necessary.
-
-2007-08-05 Steven Newbury <s_j_newbury@yahoo.co.uk>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
- directly using the sys_cacheflush syscall.
-
-2007-07-27 Andrew Haley <aph@redhat.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
-
-2007-09-03 Maciej W. Rozycki <macro@linux-mips.org>
-
- * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure: Likewise.
-
-2007-08-24 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/return_sl.c: New test.
-
-2007-08-10 David Daney <ddaney@avtrex.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/nested_struct5.c,
- testsuite/libffi.call/cls_double.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/nested_struct.c,
- testsuite/libffi.call/cls_2byte.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_sint16.c,
- testsuite/libffi.call/cls_align_uint32.c,
- testsuite/libffi.call/cls_20byte.c,
- testsuite/libffi.call/cls_float.c,
- testsuite/libffi.call/nested_struct2.c,
- testsuite/libffi.call/cls_5_1_byte.c,
- testsuite/libffi.call/nested_struct4.c,
- testsuite/libffi.call/cls_24byte.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: Remove xfail for mips64*-*-*.
-
-2007-08-10 David Daney <ddaney@avtrex.com>
-
- 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.
-
-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*.
- * 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.
-
-2006-12-13 Andreas Tobler <a.tobler@schweiz.org>
-
- * aclocal.m4: Regenerate with aclocal -I .. as written in the
- Makefile.am.
-
-2006-10-31 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
- (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
- Darwin.
- * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
- * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10 Paolo Bonzini <bonzini@gnu.org>
- Sandro Tolaini <tolaini@libero.it>
-
- * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
- conditional.
- * configure: Regenerated.
- * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
- (EXTRA_DIST): Add src/x86/darwin.S.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
- X86_WIN32, and additionally align stack to 16 bytes.
- * src/x86/darwin.S: New, based on sysv.S.
- * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12 David Daney <ddaney@avtrex.com>
-
- PR libffi/23935
- * include/Makefile.am: Install both ffi.h and ffitarget.h in
- $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
- * aclocal.m4: Regenerated for automake 1.9.6.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
-2006-08-17 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h: Remove lint directives.
- * include/ffi.h.in: Likewise.
-
-2006-07-25 Torsten Schoenfeld <kaffeetisch@gmx.de>
-
- * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
- for 32-bit architectures.
- * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
- xfail remains for mips64.
-
-2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
-
- * Makefile.am: Add install-html target. Add install-html to .PHONY
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
- stack slot.
-
-2006-04-22 Andreas Tobler <a.tobler@schweiz.ch>
-
- * README: Remove notice about 'Crazy Comments'.
- * src/debug.c: Remove lint directives. Cleanup white spaces.
- * src/java_raw_api.c: Likewise.
- * src/prep_cif.c: Likewise.
- * src/raw_api.c: Likewise.
- * src/ffitest.c: Delete. No longer needed, all test cases migrated
- to the testsuite.
- * src/arm/ffi.c: Remove lint directives.
- * src/m32r/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/sh/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/pa/hpux32.S: Correct unwind offset calculation for
- ffi_closure_pa32.
- * src/pa/linux.S: Likewise.
-
-2006-04-12 James E Wilson <wilson@specifix.com>
-
- PR libgcj/26483
- * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
- (hfa_type_load): Call stf_spill.
- (hfa_type_store): Call ldf_fill.
- (ffi_call): Adjust calls to above routines. Add local temps for
- macro result.
-
-2006-04-10 Matthias Klose <doko@debian.org>
-
- * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
- directory names containing underscores.
-
-2006-04-07 James E Wilson <wilson@specifix.com>
-
- * testsuite/libffi.call/float4.c: New testcase.
-
-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.
-
-2006-03-24 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Default
- for 32-bit using IBM extended double format. Fix FFI_LAST_ABI.
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
- FFI_TYPE_LONGDOUBLE.
- (ffi_prep_args64): Assert using IBM extended double.
- (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
- Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
- (ffi_call): Handle FFI_LINUX.
- (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
- gpr3 return pointer as for struct return. Handle FFI_LINUX
- FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf"
- unnecessarily.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
- for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table.
- Don't use r6 as pointer to results, instead use sp offset. Don't
- make a special call to load lr with case table address, instead
- use offset from previous call.
- * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
- return.
-
-2006-03-15 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
- passed with FP registers correctly.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S: Likewise.
-
-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.
-
-2006-02-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
- -O2, -O3, -Os and the warning flags -W -Wall.
- * testsuite/libffi.special/special.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
- unused parameter unused for gcc or else do nothing.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
- * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
- * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
- * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
- * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
- * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
- * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
- * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
- * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
- void* to avoid compiler warning.
- (main): Likewise.
- (cls_struct_align_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
- * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
- * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
- userdata unused.
- (cls_ret_schar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
- userdata unused.
- (cls_ret_sint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
- userdata unused.
- (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn): Mark cif and
- userdata unused.
- (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
- userdata unused.
- (cls_ret_uint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
- userdata unused.
- (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
- * testsuite/libffi.call/float1.c (main): Remove unused variable i.
- Cleanup white spaces.
- * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
- * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
- cif and userdata unused.
- * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
- Likewise.
- * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
- formatters to silence gcc.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct4.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct6.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
- * testsuite/libffi.call/problem1.c (stub): Likewise.
- * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
- gcc.
- * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
- in the last commit for this test case in the test case itself.
- * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
- unused.
- * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
- * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
- * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
- * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
- * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
- * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Fix register numbers in the FDE for
- ffi_closure_SYSV.
-
-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.
-
-2006-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
- and cast integer to void * if needed. Update the pointer to
- the FP register saved area correctly.
-
-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.
-
-2006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/return_dbl.c: New test case.
- * testsuite/libffi.call/return_dbl1.c: Likewise.
- * testsuite/libffi.call/return_dbl2.c: Likewise.
- * testsuite/libffi.call/return_fl.c: Likewise.
- * testsuite/libffi.call/return_fl1.c: Likewise.
- * testsuite/libffi.call/return_fl2.c: Likewise.
- * testsuite/libffi.call/return_fl3.c: Likewise.
- * testsuite/libffi.call/closure_fn6.c: Likewise.
-
- * 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.
-
-2006-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.ac: Enable libffi for sparc64-*-freebsd*.
- * configure: Rebuilt.
-
-2006-01-18 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
- instead do the shifting inline.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
- shift count unconditionally. Simplify load sequences for 1, 2, 3, 4
- and 8 byte structs, for the remaining struct sizes don't call
- __lshrdi3, instead do the shifting inline.
-
-2005-12-07 Thiemo Seufer <ths@networkno.de>
-
- * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
- missing parentheses.
- * src/mips/o32.S (ffi_call_O32): Code formatting. Define
- and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
- (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
- A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
- V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
- FA_0_0_OFF2.
- * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
- endianness bugs.
- (ffi_prep_closure): Improve trampoline instruction scheduling.
- (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c: Formatting.
- (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
- (ffi_prep_args64): Likewise.
-
-2005-09-30 Geoffrey Keating <geoffk@apple.com>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
- darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26 Tom Tromey <tromey@redhat.com>
-
- * 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.
-
-2005-08-25 Alan Modra <amodra@bigpond.net.au>
-
- PR target/23404
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
- homed fp args.
- (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11 Jakub Jelinek <jakub@redhat.com>
-
- * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
- (AH_BOTTOM): Add FFI_HIDDEN definition.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * src/powerpc/ffi.c (hidden): Remove.
- (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
- ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
- .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
- * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
- add FFI_HIDDEN to its prototype.
- (ffi_closure_SYSV_inner): New.
- * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
- * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10 Alfred M. Szmidt <ams@gnu.org>
-
- PR libffi/21819:
- * configure: Rebuilt.
- * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
- DW_CFA_offset_extended_sf rather than
- DW_CFA_GNU_negative_offset_extended.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
-
- * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
- on sh3.
- (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
- * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
- partially on register.
- (ffi_closure_helper_SYSV): Likewise.
- (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_call): Handle small structures correctly.
- Remove empty line.
- * src/sh64/ffi.c (simple_type): Remove.
- (return_type): Handle small structures correctly.
- (ffi_prep_args): Likewise.
- (ffi_call): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
- Emit position independent code if PIC and remove wrong datalabel
- prefixes from EH data.
-
-2005-07-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure.ac: Add POWERPC_FREEBSD rules.
- * configure: Regenerate.
- * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
- (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
- * src/powerpc/ffi.c: Add flags to handle small structure returns
- in ffi_call_SYSV.
- (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
- Aka FFI_SYSV.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Add return types for small structures.
- * src/powerpc/sysv.S: Add bits to handle small structures for
- final SYSV 4 ABI.
-
-2005-07-10 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_5_1_byte.c: New test file.
- * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05 Randolph Chung <tausq@debian.org>
-
- * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
- as FFI_TYPE_SMALL_STRUCT3. Break out handling for 5-7 byte
- structures. Kill compilation warnings.
- (ffi_closure_inner_LINUX): Print return values as hex in debug
- message. Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
- Properly handle 5-7 byte structure returns.
- * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
- (FFI_TYPE_SMALL_STRUCT2): Remove.
- (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
- (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
- * src/pa/linux.S: Mark source file as using PA1.1 assembly.
- (checksmst1, checksmst2): Remove.
- (checksmst3): Optimize handling of 3-byte struct returns.
- (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libgcj/21943
- * src/mips/n32.S: Enforce PIC code.
- * src/mips/o32.S: Likewise.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
- * configure: Regenerate.
-
-2005-06-01 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
- to call ffi_closure_helper_SYSV. Append @local instead.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
- Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
- * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
- * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
- include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-05-08 Richard Henderson <rth@redhat.com>
-
- PR libffi/21285
- * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04 Andreas Degert <ad@papyrus-gmbh.de>
- Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
- bit 11 of flags.
- (ffi_call): Mask return type field. Pass ssecount to ffi_call_unix64.
- (ffi_prep_closure): Set carry bit if sse-used flag set.
- * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
- Only load sse registers if ssecount non-zero.
- (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
- powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
- * configure: Regenerate.
-
-2005-04-20 Hans-Peter Nilsson <hp@axis.com>
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
- have Tcl8.3-compatible intermediate variable.
-
-2005-04-18 Simon Posnjak <simon.posnjak@siol.net>
- Hans-Peter Nilsson <hp@axis.com>
-
- * Makefile.am: Add CRIS support.
- * configure.ac: Likewise.
- * Makefile.in, configure, testsuite/Makefile.in,
- include/Makefile.in: Regenerate.
- * src/cris: New directory.
- * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
- * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
- \r?\n in output tests.
-
-2005-04-12 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-03-30 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30 Steve Ellcey <sje@cup.hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
- (ffi_sarg) Ditto.
- * src/ia64/unix.S (ffi_closure_unix): Extend gp
- to 64 bits in ILP32 mode.
- Load 64 bits even for short data.
-
-2005-03-23 Mike Stump <mrs@apple.com>
-
- * src/powerpc/darwin.S: Update for -m64 multilib.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21 Zack Weinberg <zack@codesourcery.com>
-
- * 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.
-
-2005-02-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
- odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR libffi/20104
- * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11 Janis Johnson <janis187@us.ibm.com>
-
- * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
- * testsuite/libffi.call/float.c: Ditto.
- * testsuite/libffi.call/float2.c: Ditto.
- * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * testsuite/libffi.special/special.exp (cxx_options): Add
- -shared-libgcc.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
- (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
- offset parameters with a type parameter; deduce size and structure
- alignment. Update all users.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
- (FFI_TYPE_LONGDOUBLE): Fix for ia64.
- * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
- into ffi_prep_closure.
- * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
- from scratch.
-
-2004-12-27 Richard Henderson <rth@redhat.com>
-
- * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25 Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
- (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
- (merge_classes): Check for it.
- (SSE_CLASS_P): New.
- (classify_argument): Pass byte_offset by value; perform all updates
- inside struct case.
- (examine_argument): Add classes argument; handle
- X86_64_COMPLEX_X87_CLASS.
- (ffi_prep_args): Merge into ...
- (ffi_call): ... here. Share stack frame with ffi_call_unix64.
- (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
- (ffi_fill_return_value): Remove.
- (ffi_prep_closure): Remove dead assert.
- (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
- Rewrite to use struct register_args instead of va_list. Create
- flags for handling structure returns.
- * src/x86/unix64.S: Remove dead strings.
- (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share
- stack frame with ffi_call. Handle structure returns properly.
- (float2sse, floatfloat2sse, double2sse): Remove.
- (sse2float, sse2double, sse2floatfloat): Remove.
- (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite
- to handle structure returns properly.
-
-2004-12-08 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
- PICFLAG.
- * Makefile.in: Regenerated.
-
-2004-12-02 Richard Sandiford <rsandifo@redhat.com>
-
- * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
- * configure, aclocal.m4, Makefile.in: Regenerate.
- * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-25 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool reversion.
-
-2004-11-24 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23 Richard Sandiford <rsandifo@redhat.com>
-
- * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
- of jal. Use an absolute encoding for the frame information.
-
-2004-11-23 Kelley Cook <kcook@gcc.gnu.org>
-
- * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS.
- * acinclude.m4: Delete logic for sincludes.
- * aclocal.m4, Makefile.in, configure: Regenerate.
- * include/Makefile: Likewise.
- * testsuite/Makefile: Likewise.
-
-2004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
- on a 8-byte boundary.
- * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
- long long values. Round stack allocation to a multiple of 8 bytes
- for ATPCS compatibility.
- * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
- names. Handle returning long long types. Add Thumb and interworking
- support. Improve soft-float code.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
- (libffi_exit): New function.
- (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR other/18138
- * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
- * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
- the function returning a structure pointed with R2.
- * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
- the structure return value if T bit set. Emit position
- independent code and EH data if PIC.
-
-2004-10-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * Makefile.am: Add m32r support.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * confiugre: Regenerate.
- * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
- (uint64, sint64, double, longdouble)
- * src/m32r: New directory.
- * src/m32r/ffi.c: New file.
- * src/m32r/sysv.S: Likewise.
- * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * testsuite/libffi.call/negint.c: New test case.
-
-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.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/many_win32.c: Remove whitespaces.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
- whitespaces.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Fix comments and identation.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
- (ffi_prep_args): Handle longdouble arguments.
- (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
- longdouble.
- (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
- * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
- values.
- * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
- * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/aix.S: Remove whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
- * src/powerpc/asm.h: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffitarget.h: Likewise.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
-
-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.in: Read configure.host.
- * 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 shouldn't 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.
-
-2004-08-24 David Daney <daney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
- to zero.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23 David Daney <daney@avtrex.com>
-
- PR libgcj/13141
- * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
- * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
- (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
- parameters and return types.
- (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
- (ffi_prep_closure): Ditto.
- (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
- alignment calculations.
- * src/mips/o32.S (ffi_closure_O32): Don't use floating point
- instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14 Casey Marshall <csm@gnu.org>
-
- * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
- contain `FFI_TYPE_UINT64' as return type for any 64-bit
- integer (O32 ABI only).
- (ffi_prep_closure): new function.
- (ffi_closure_mips_inner_O32): new function.
- * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
- `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
- * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
- 64 bit integers correctly.
- (ffi_closure_O32): new function.
- Added DWARF-2 unwind info for both functions.
-
-2004-08-10 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01 Robert Millan <robertmh@gnu.org>
-
- * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
- * configure: Regenerate.
-
-2004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
-
- * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
- and mmap() explicitly instead of relying on preset autoconf cache
- variables.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
- (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
- character on Darwin, use '\n\t' instead.
-
-2004-06-26 Matthias Klose <doko@debian.org>
-
- * libtool-version: Fix typo in revision/age.
-
-2004-06-17 Matthias Klose <doko@debian.org>
-
- * libtool-version: New.
- * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
- * Makefile.in: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * Makefile.am: Remove useless multilib rules.
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate with automake 1.8.5.
- * configure.ac: Remove useless multilib configury.
- * configure: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * .cvsignore: New file.
-
-2004-06-10 Jakub Jelinek <jakub@redhat.com>
-
- * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
- fp_done.
- (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
- changed from 8.
-
-2004-06-06 Sean McNeil <sean@mcneil.com>
-
- * configure.ac: Add x86_64-*-freebsd* support.
- * configure: Regenerate.
-
-2004-04-26 Joe Buck <jbuck@welsh-buck.org>
-
- Bug 15093
- * configure.ac: Test for existence of mmap and sys/mman.h before
- checking blacklist. Fix suggested by Jim Wilson.
- * configure: Regenerate.
-
-2004-04-26 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
- FDE location.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
- error. Reported by Thomas Heller <theller@python.net>.
- * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20 Matthias Klose <doko@debian.org>
-
- * src/pa/linux.S: Fix typo.
-
-2004-03-19 Matthias Klose <doko@debian.org>
-
- * Makefile.am: Update.
- * Makefile.in: Regenerate.
- * src/pa/ffi.h.in: Remove.
- * src/pa/ffitarget.h: New file.
-
-2004-02-10 Randolph Chung <tausq@debian.org>
-
- * Makefile.am: Add PA support.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * configure.ac: Add PA target.
- * configure: Regenerate.
- * src/pa/ffi.c: New file.
- * src/pa/ffi.h.in: Add PA support.
- * src/pa/linux.S: New file.
- * prep_cif.c: Add PA support.
-
-2004-03-16 Hosaka Yuji <hos@tamanegi.org>
-
- * src/types.c: Fix alignment size of X86_WIN32 case int64 and
- double.
- * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
- with ecif->cif->flags.
- (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
- with cif->flags.
- (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
- (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
- * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
- sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.in: Rename file to ...
- * configure.ac: ... this.
- * fficonfig.h.in: Regenerate.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2004-03-12 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Fix EH information so it corresponds to
- changes in EH format resulting from addition of linkonce support.
- * src/powerpc/darwin_closure.S: Likewise.
-
-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.
-
-2004-03-11 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
- arguments from fp registers only for the first 8 parameter slots.
- Don't convert a float parameter when passed in memory.
-
-2004-03-09 Hans-Peter Nilsson <hp@axis.com>
-
- * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
-
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
- ecif->cif->bytes to bytes.
- (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
- * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
- (ffi_closure_helper_LINUX64): Fix typo.
- * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
- for powerpc64-*-*.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
- long double function return and long double arg handling.
- (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
- Use "end_pfr" instead of "nf". Correct long double handling.
- Localise "temp".
- * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
- return value.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
- space for long double return value. Adjust stack frame and offsets.
- Load f2 long double return.
-
-2004-02-07 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
- when the structure return address is passed in %o0.
- (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
- (ffi_v9_layout_struct): Align the field following a nested structure
- on a word boundary. Use memmove instead of memcpy.
- (ffi_call): Update call to ffi_V9_return_struct.
- (ffi_prep_closure): Define 'ctx' only for V8.
- (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
- and ffi_closure_sparc_inner_v9.
- (ffi_closure_sparc_inner_v8): Return long doubles by reference.
- Always skip the structure return address. For structures and long
- doubles, copy the argument directly.
- (ffi_closure_sparc_inner_v9): Skip the structure return address only
- if required. Shift the maximum floating-point slot accordingly. For
- big structures, copy the argument directly; otherwise, left-justify the
- argument and call ffi_v9_layout_struct to lay out the structure on
- the stack.
- * src/sparc/v8.S: Undef STACKFRAME before defining it.
- (ffi_closure_v8): Pass the structure return address. Update call to
- ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
- Skip the 'unimp' insn when returning long doubles and structures.
- * src/sparc/v9.S: Undef STACKFRAME before defining it.
- (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
- FFI_TYPE_INT handling. Load structures both in integers and
- floating-point registers on return.
- * README: Update status of the SPARC port.
-
-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.
-
-2004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
-
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
- value as of type ffi_arg, not unsigned int.
-
-2004-01-21 Michael Ritzert <ritzert@t-online.de>
-
- * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
- of the LHS.
-
-2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
- Solaris.
-
-2004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
- to void *.
-
-2003-12-10 Richard Henderson <rth@redhat.com>
-
- * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
- size_t instead of int.
-
-2003-12-04 Hosaka Yuji <hos@tamanegi.org>
-
- * testsuite/libffi.call/many_win32.c: Include <float.h>.
- * testsuite/libffi.call/many_win32.c (main): Replace variable
- int i with unsigned long ul.
-
- * testsuite/libffi.call/cls_align_uint64.c: New test case.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02 Hosaka Yuji <hos@tamanegi.org>
-
- PR other/13221
- * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
- Align arguments to 32 bits.
-
-2003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR other/13221
- * testsuite/libffi.call/cls_multi_sshort.c: New test case.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-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.
-
-2003-11-21 Andreas Jaeger <aj@suse.de>
- Andreas Tobler <a.tobler@schweiz.ch>
-
- * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
- * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
- * Makefile.in: Rebuilt.
- * aclocal.m4: Likewise.
- * configure: Likewise.
- * fficonfig.h.in: Likewise.
- * testsuite/lib/libffi-dg.exp: Add include dir.
- * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
- for ffi_closure if available.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
- Add -lgcc_s to additional flags.
-
-2003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.in, include/Makefile.am: PR libgcj/11147, install
- the ffitarget.h header file in a gcc versioned and target
- dependent place.
- * configure: Regenerated.
- * Makefile.in, include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Print result and check
- with dg-output to make debugging easier.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
- static.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_9byte2.c: New test case.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_double.c: Do a check on the result.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/prep_cif.c (ffi_prep_cif): Move the validity check after
- the initialization.
-
-2003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
- FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
- __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-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
-
-2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
- _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
- Used when FFI_DEBUG = 1.
-
-2003-10-14 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
- and align.
-
-2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
- FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
- SPARC64. Cleanup whitespaces.
-
-2003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
- strongarm, xscale. Cleanup whitespaces.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Cleanup whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
- * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
- parameter stack.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
- according to the Darwin/AIX ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_DARWIN): Likewise.
- Remove the outgoing parameter stack logic. Simplify the evaluation
- of the different CASE types.
- (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
- statement in the trampoline code.
-
-2003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
- for the register size.
- (ffi_closure_helper_SYSV): Handle the structure return value
- address correctly.
- (ffi_closure_helper_SYSV): Return the appropriate type when
- the registers are used for the structure return value.
- * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
- the 64-bit return value. Update copyright years.
-
-2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
- srcdir for ffi_mips.h.
-
-2003-09-12 Alan Modra <amodra@bigpond.net.au>
-
- * src/prep_cif.c (initialize_aggregate): Include tail padding in
- structure size.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
- placement of float result.
- * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
- cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Merge identical SH and ARM
- typedefs, and add POWERPC64.
- * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
- struct split over gpr and rest.
- (ffi_prep_cif_machdep): Correct intarg_count for structures.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
- passing correctly.
-
-2003-09-09 Alan Modra <amodra@bigpond.net.au>
-
- * configure: Regenerate.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Remove build rules for ffitest.
- * Makefile.in: Rebuilt.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
- about implicit declaration of abort().
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
- * Makefile.in: Rebuilt.
- * configure.in: Add dejagnu test framework.
- * configure: Rebuilt.
-
- * testsuite/Makefile.am: New file.
- * testsuite/Makefile.in: Built
- * testsuite/lib/libffi-dg.exp: New file.
- * testsuite/config/default.exp: Likewise.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Likewise.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float1.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/many.c: Likewise.
- * testsuite/libffi.call/many_win32.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
- * testsuite/libffi.call/strlen.c: Likewise.
- * testsuite/libffi.call/strlen_win32.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
- * testsuite/libffi.call/struct2.c: Likewise.
- * testsuite/libffi.call/struct3.c: Likewise.
- * testsuite/libffi.call/struct4.c: Likewise.
- * testsuite/libffi.call/struct5.c: Likewise.
- * testsuite/libffi.call/struct6.c: Likewise.
- * testsuite/libffi.call/struct7.c: Likewise.
- * testsuite/libffi.call/struct8.c: Likewise.
- * testsuite/libffi.call/struct9.c: Likewise.
- * testsuite/libffi.special/special.exp: New file.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
- copyright years.
-
-2003-08-02 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
- structure passing.
- (ffi_closure_helper_LINUX64): Likewise.
- * src/powerpc/linux64.S: Remove code writing to parm save area.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
- address in lr from ffi_closure_helper_LINUX64 call to calculate
- table address. Optimize function tail.
-
-2003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/sparc/ffi.c: Handle all floating point registers.
- * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
-
- * README: Note that libffi is not part of GCC. Update the project
- URL and status.
-
-2003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
- Use C style comments.
-
-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
- should be read-only.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * include/ffi.h.in (EH_FRAME_FLAGS): Define.
- * src/alpha/osf.S: Use EH_FRAME_FLAGS.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
- * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
- if -fpic/-fPIC/-mrelocatable.
- * src/powerpc/powerpc_closure.S: Likewise.
- * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
- #write in .eh_frame flags.
- * src/sparc/v9.S: Likewise.
- * src/x86/unix64.S: Use EH_FRAME_FLAGS.
- * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
- * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
-
-2003-05-07 Jeff Sturm <jsturm@one-point.com>
-
- Fixes PR bootstrap/10656
- * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
- support for .register pseudo-op.
- * src/sparc/v8.S: Use it.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2003-04-18 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (POWERPC64): Define if 64-bit.
- (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
- Make it the default on POWERPC64.
- (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
- * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
- * configure: Rebuilt.
- * src/powerpc/ffi.c (hidden): Define.
- (ffi_prep_args_SYSV): Renamed from
- ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
- (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
- ASM_NEEDS_REGISTERS64): New.
- (ffi_prep_args64): New function.
- (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
- (ffi_call): Likewise.
- (ffi_prep_closure): Likewise.
- (flush_icache): Surround by #ifndef POWERPC64.
- (ffi_dblfl): New union type.
- (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
- (ffi_closure_helper_LINUX64): New function.
- * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
- __powerpc64__.
- * src/powerpc/sysv.S: Likewise.
- (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
- * src/powerpc/linux64.S: New file.
- * src/powerpc/linux64_closure.S: New file.
- * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
- src/powerpc/linux64_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
- * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
- closure_test_fn3): Fix result printing on big-endian 64-bit
- machines.
- (main): Print tst2_arg instead of uninitialized tst2_result.
-
- * src/ffitest.c (main): Hide what closure pointer really points to
- from the compiler.
-
-2003-04-16 Richard Earnshaw <rearnsha@arm.com>
-
- * configure.in (arm-*-netbsdelf*): Add configuration.
- (configure): Regenerated.
-
-2003-04-04 Loren J. Rittle <ljrittle@acm.org>
-
- * include/Makefile.in: Regenerate.
-
-2003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
-
- * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
- bit mode.
- * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
- Receive closure pointer through parameter, read args using
- __builtin_dwarf_cfa.
- (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12 Andreas Schwab <schwab@suse.de>
-
- * configure.in: Avoid trailing /. in toolexeclibdir.
- * configure: Rebuilt.
-
-2003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/powerpc/darwin_closure.S:
- Fix alignement bug, allocate 8 bytes for the result.
- * libffi/src/powerpc/aix_closure.S:
- Likewise.
- * libffi/src/powerpc/ffi_darwin.c:
- Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06 Jakub Jelinek <jakub@redhat.com>
-
- * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
- attribute.
-
-2003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
- Andreas Schwab <schwab@suse.de>
-
- * configure.in: Adjust command to source config-ml.in to account
- for changes to the libffi_basedir definition.
- (libffi_basedir): Remove ${srcdir} from value and include trailing
- slash if nonempty.
-
- * configure: Regenerate.
-
-2003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
- * src/x86/ffi64.c (ffi_prep_closure): New.
- (ffi_closure_UNIX64_inner): New.
- * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
- Remove USE_LIBDIR conditional.
- * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
- * Makefile.in, configure: Rebuilt.
-
-2003-01027 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
- * Makefile.in: Regenerate.
-
-2003-01-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
- unwind info.
-
-2003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Add unwind info.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
- (ffi_prep_cif_machdep): Likewise.
- * src/x86/unix64.S: Add unwind info.
-
-2003-01-14 Andreas Jaeger <aj@suse.de>
-
- * src/ffitest.c (main): Only use ffi_closures if those are
- supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/ffitest.c
- add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
- * libffi/src/powerpc/ffi.c
- fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c: Remove RCS version string.
- * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
- * src/ffitest.c (main): Use static storage for closure.
- * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
- * src/sparc/v8.S (ffi_closure_v8): New.
- * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10 Ranjit Mathew <rmathew@hotmail.com>
-
- * include/ffi.h.in: Added FFI_STDCALL ffi_type
- enumeration for X86_WIN32.
- * src/x86/win32.S: Added ffi_call_STDCALL function
- definition.
- * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
- switch cases for recognising FFI_STDCALL and
- calling ffi_call_STDCALL if target is X86_WIN32.
- * src/ffitest.c (my_stdcall_strlen/stdcall_many):
- stdcall versions of the "my_strlen" and "many"
- test functions (for X86_WIN32).
- Added test cases to test stdcall invocation using
- these functions.
-
-2002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26 Jim Wilson <wilson@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23 H.J. Lu <hjl@gnu.org>
-
- * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
- Include ../config/accross.m4.
- * aclocal.m4; Rebuild.
- * configure: Likewise.
-
-2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11 DJ Delorie <dj@redhat.com>
-
- * configure.in: Look for common files in the right place.
-
-2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
- raw data as _Jv_word values, not ffi_raw.
- (ffi_java_ptrarray_to_raw): Likewise.
- (ffi_java_rvalue_to_raw): New function.
- (ffi_java_raw_call): Call it.
- (ffi_java_raw_to_rvalue): New function.
- (ffi_java_translate_args): Call it.
- * src/ffitest.c (closure_test_fn): Interpret return value
- as ffi_arg, not int.
- * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
- FFI_TYPE_POINTER case.
- (ffi_closure_helper_SYSV): Likewise. Also, assume return
- values extended to word size.
-
-2002-10-02 Andreas Jaeger <aj@suse.de>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01 Bo Thorsen <bo@smetana.suse.de>
-
- * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
-
- * configure.in: Add s390x-*-linux-* target.
- * configure: Regenerate.
- * include/ffi.h.in: Define S390X for s390x targets.
- (FFI_CLOSURES): Define for s390/s390x.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
- * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
- * src/s390/ffi.c: Major rework of existing code. Add support for
- s390x targets. Add closure support.
- * src/s390/sysv.S: Likewise.
-
-2002-09-29 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: Fix typo.
-
-2002-09-28 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
- has defined __USER_LABEL_PREFIX__, then use it in CNAME.
- (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27 Bo Thorsen <bo@suse.de>
-
- * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * configure.in (sh[34]*-*-linux*): Add brackets.
- * configure: Regenerate.
-
-2002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * Makefile.am: Add SH support.
- * Makefile.in: Regenerate.
- * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
- * configure: Regenerate.
- * include/ffi.h.in: Add SH support.
- * src/sh/ffi.c: New file.
- * src/sh/sysv.S: New file.
- * src/types.c: Add SH support.
-
-2002-07-16 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi64.c: New file that adds x86-64 support.
- * src/x86/unix64.S: New file that handles argument setup for
- x86-64.
- * src/x86/sysv.S: Don't use this on x86-64.
- * src/x86/ffi.c: Don't use this on x86-64.
- Remove unused vars.
- * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
- for x86-64.
- * src/ffitest.c (struct6): New test that tests a special case in
- the x86-64 ABI.
- (struct7): Likewise.
- (struct8): Likewise.
- (struct9): Likewise.
- (closure_test_fn): Silence warning about this when it's not used.
- (main): Add the new tests.
- (main): Fix a couple of wrong casts and silence some compiler warnings.
- * include/ffi.h.in: Add x86-64 ABI definition.
- * fficonfig.h.in: Regenerate.
- * Makefile.am: Add x86-64 support.
- * configure.in: Likewise.
- * Makefile.in: Regenerate.
- * configure: Likewise.
-
-2002-06-24 Bo Thorsen <bo@suse.de>
-
- * src/types.c: Merge settings for similar architectures.
- Add x86-64 sizes and alignments.
-
-2002-06-23 Bo Thorsen <bo@suse.de>
-
- * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
- * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
- * src/mips/ffi.c (ffi_prep_args): Likewise.
- * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18 H.J. Lu (hjl@gnu.org)
-
- * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
- (libffi_la_SOURCES): Support MIPS_LINUX.
- (libffi_convenience_la_SOURCES): Likewise.
- * Makefile.in: Regenerated.
-
- * configure.in (mips64*-*): Skip.
- (mips*-*-linux*): New.
- * configure: Regenerated.
-
- * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
-
-2002-05-27 Roger Sayle <roger@eyesopen.com>
-
- * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
- fix formatting.
-
-2002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
- beginning of function (for older apple cc).
-
-2002-05-08 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
- script entry, and set LD to it when configuring multilibs.
- * configure: Rebuilt.
-
-2002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (sparc64-*-netbsd*): Add target.
- (sparc-*-netbsdelf*): Likewise.
- * configure: Regenerate.
-
-2002-04-28 David S. Miller <davem@redhat.com>
-
- * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
-
- * Makefile.am: Add Linux for S/390 support.
- * Makefile.in: Regenerate.
- * configure.in: Add Linux for S/390 support.
- * configure: Regenerate.
- * include/ffi.h.in: Add Linux for S/390 support.
- * src/s390/ffi.c: New file from libffi CVS tree.
- * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
- %r_disp32().
- * src/sparc/v8.S: Use it.
- * src/sparc/v9.S: Likewise.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2002-04-08 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
- correctly.
- * src/ia64/unix.S: Add unwind information. Fix comments.
- Save sp in a way that's compatible with unwind info.
- (ffi_call_unix): Correctly restore sp in all cases.
- * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08 Jakub Jelinek <jakub@redhat.com>
-
- * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (alpha*-*-netbsd*): Add target.
- * configure: Regenerate.
-
-2002-04-04 Jeff Sturm <jsturm@one-point.com>
-
- * src/sparc/v8.S: Add unwind info.
- * src/sparc/v9.S: Likewise.
-
-2002-03-30 Krister Walfridsson <cato@df.lth.se>
-
- * configure.in: Enable i*86-*-netbsdelf*.
- * configure: Rebuilt.
-
-2002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
-
- PR other/2620
- * src/mips/n32.s: Delete
- * src/mips/o32.s: Delete
-
-2002-03-21 Loren J. Rittle <ljrittle@acm.org>
-
- * configure.in: Enable alpha*-*-freebsd*.
- * configure: Rebuilt.
-
-2002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * Makefile.am: libfficonvenience -> libffi_convenience.
- * Makefile.in: Rebuilt.
-
- * Makefile.am: Define ffitest_OBJECTS.
- * Makefile.in: Rebuilt.
-
-2002-03-07 Andreas Tobler <toa@pop.agri.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
- (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
- (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
- * Makefile.in: Regenerate.
- * include/ffi.h.in: Add AIX and Darwin closure definitions.
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
- (flush_icache, flush_range): New functions.
- (ffi_closure_helper_DARWIN): New function.
- * src/powerpc/aix_closure.S: New file.
- * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add typedef for ffi_arg.
- * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21 Andreas Tobler <toa@pop.agri.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
- number of GPRs for floating-point arguments.
-
-2002-01-31 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Replace CHECK_SIZEOF and endian tests with
- cross-compiler friendly macros.
- * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
- macros.
-
-2002-01-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): New.
- * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
- (TARGET_SRC_POWERPC_AIX): New.
- (POWERPC_AIX): New stanza.
- * Makefile.in: Regenerate.
- * configure.in: Add AIX case.
- * configure: Regenerate.
- * include/ffi.h.in (ffi_abi): Add FFI_AIX.
- * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
- size. Fix "long double" support.
- (ffi_call): Add FFI_AIX case.
- * src/powerpc/aix.S: New.
-
-2001-10-09 John Hornkvist <john@toastedmarshmallow.com>
-
- Implement Darwin PowerPC ABI.
- * configure.in: Handle powerpc-*-darwin*.
- * Makefile.am: Set source files for POWERPC_DARWIN.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
- * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
- POWERPC_DARWIN.
- * src/powerpc/darwin.S: New file.
- * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .balign directive.
- Use C style comments.
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
- Fixes PR bootstrap/3563.
-
-2001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.in: Recognize sparc*-sun-* host.
- * configure: Regenerate.
-
-2001-06-06 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S: Add unwind info.
- * src/powerpc/sysv.S: Add unwind info.
- * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31 Jeff Sturm <jsturm@one-point.com>
-
- * configure.in: Fix AC_ARG_ENABLE usage.
- * configure: Rebuilt.
-
-2001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * configure.in: Remove warning about beta code.
- * configure: Rebuilt.
-
-2001-04-25 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/ia64/unix.S: Restore stack pointer when returning from
- ffi_closure_UNIX.
- * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18 Jim Wilson <wilson@redhat.com>
-
- * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
- to eliminate RAW DV.
-
-2001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
-
- * Makefile.am: Make a libtool convenience library.
- * Makefile.in: Rebuilt.
-
-2001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Use different syntax for subdirectory creation.
- * configure: Rebuilt.
-
-2001-03-27 Jon Beniston <jon@beniston.com>
-
- * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
- * configure: Rebuilt.
- * Makefile.am: Added X86_WIN32 target support.
- * Makefile.in: Rebuilt.
-
- * include/ffi.h.in: Added X86_WIN32 target support.
-
- * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
- * src/types.c: Added X86_WIN32 target support.
-
- * src/x86/win32.S: New file. Based on sysv.S, but with EH
- stuff removed and made to work with CygWin's gas.
-
-2001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Make target subdirectory in build dir.
- * Makefile.am: Override suffix based rules to specify correct output
- subdirectory.
- * Makefile.in: Rebuilt.
- * configure: Rebuilt.
-
-2001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
-
- * src/powerpc/ppc_closure.S: New file.
- * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
- involving long long and register pairs.
- (ffi_prep_closure): New function.
- (flush_icache): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * Makefile.in: Rebuilt.
- * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19 Tom Tromey <tromey@redhat.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02 Nick Clifton <nickc@redhat.com>
-
- * include/ffi.h.in: Remove RCS ident string.
- * include/ffi_mips.h: Remove RCS ident string.
- * src/debug.c: Remove RCS ident string.
- * src/ffitest.c: Remove RCS ident string.
- * src/prep_cif.c: Remove RCS ident string.
- * src/types.c: Remove RCS ident string.
- * src/alpha/ffi.c: Remove RCS ident string.
- * src/alpha/osf.S: Remove RCS ident string.
- * src/arm/ffi.c: Remove RCS ident string.
- * src/arm/sysv.S: Remove RCS ident string.
- * src/mips/ffi.c: Remove RCS ident string.
- * src/mips/n32.S: Remove RCS ident string.
- * src/mips/o32.S: Remove RCS ident string.
- * src/sparc/ffi.c: Remove RCS ident string.
- * src/sparc/v8.S: Remove RCS ident string.
- * src/sparc/v9.S: Remove RCS ident string.
- * src/x86/ffi.c: Remove RCS ident string.
- * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * include/ffi.h.in: Change sourceware.cygnus.com references to
- gcc.gnu.org.
-
-2000-12-09 Richard Henderson <rth@redhat.com>
-
- * src/alpha/ffi.c (ffi_call): Simplify struct return test.
- (ffi_closure_osf_inner): Index rather than increment avalue
- and arg_types. Give ffi_closure_osf the raw return value type.
- * src/alpha/osf.S (ffi_closure_osf): Handle return value type
- promotion.
-
-2000-12-07 Richard Henderson <rth@redhat.com>
-
- * src/raw_api.c (ffi_translate_args): Fix typo.
- (ffi_prep_closure): Likewise.
-
- * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
- FFI_TRAMPOLINE_SIZE.
- * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
- cif->bytes for new ffi_call_osf implementation.
- (ffi_prep_args): Absorb into ...
- (ffi_call): ... here. Do all stack allocation here and
- avoid a callback function.
- (ffi_prep_closure, ffi_closure_osf_inner): New.
- * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
- (ffi_closure_osf): New.
-
-2000-09-10 Alexandre Oliva <aoliva@redhat.com>
-
- * config.guess, config.sub, install-sh: Removed.
- * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
- * Makefile.in: Rebuilt.
-
- * acinclude.m4: Include libtool macros from the top level.
- * aclocal.m4, configure: Rebuilt.
-
-2000-08-22 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
- * configure: Rebuilt.
-
-2000-05-11 Scott Bambrough <scottb@netwinder.org>
-
- * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
- memory correctly. Use conditional instructions, not branches where
- possible.
-
-2000-05-04 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Match `arm*-*-linux-*'.
- From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (SUBDIRS): Define.
- (AM_MAKEFLAGS): Likewise.
- (Multilib support.): Add section.
- * Makefile.in: Rebuilt.
- * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
- New variables. Set for gcc using -print-multi-lib. Export them
- to libtool.
- (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
- * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
- for -shared links.
- (extra_compiler_flags_value, extra_compiler_flags): Check these
- for extra compiler options which need to be passed down in
- compiler_flags.
-
-2000-04-16 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
- Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
- * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
- Replace all void * sizeofs with sizeof(int).
- Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
- different than DOUBLE.
- Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
- (ffi_prep_args_v9): New function.
- (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
- (ffi_V9_return_struct): New function.
- (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
- 32bit code (not yet cross-arch calls).
- * src/sparc/v8.S: Add struct return delay nop.
- Handle long long.
- * src/sparc/v9.S: New file.
- * src/prep_cif.c (ffi_prep_cif): Return structure pointer
- is used on sparc64 only for structures larger than 32 bytes.
- Pass by reference for structures is done for structure arguments
- larger than 16 bytes.
- * src/ffitest.c (main): Use 64bit rint on sparc64.
- Run long long tests on sparc.
- * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
- sparc64.
- (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
- on sparc64.
- * configure.in (sparc-*-linux*): New supported target.
- (sparc64-*-linux*): Likewise.
- * configure: Rebuilt.
- * Makefile.am: Add v9.S to SPARC files.
- * Makefile.in: Likewise.
- (LINK): Surround $(CCLD) into double quotes, so that multilib
- compiles work correctly.
-
-2000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: (i*86-*-solaris*): New libffi target. Patch
- proposed by Bryce McKinlay.
-
-2000-03-20 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
-
- * config.guess, config.sub: Update from the gcc tree.
- Fix for PR libgcj/168.
-
-2000-03-03 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Fixed ia64 by hand.
-
- * configure: Rebuilt.
- * configure.in (--enable-multilib): New option.
- (libffi_basedir): New subst.
- (AC_OUTPUT): Added multilib code.
-
-2000-03-02 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
- directory name.
-
-2000-02-25 Hans Boehm <boehm@acm.org>
-
- * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
- files.
- * src/raw_api.c (ffi_translate_args): Fixed typo in argument
- list.
- (ffi_prep_raw_closure): Use ffi_translate_args, not
- ffi_closure_translate.
- * src/java_raw_api.c: New file.
- * src/ffitest.c (closure_test_fn): New function.
- (main): Define `rint' as long long on IA64. Added new test when
- FFI_CLOSURES is defined.
- * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
- (ffi_abi): Recognize IA64.
- (ffi_raw): Added `flt' field.
- Added "Java raw API" code.
- * configure.in: Recognize ia64.
- * Makefile.am (TARGET_SRC_IA64): New macro.
- (libffi_la_common_SOURCES): Added java_raw_api.c.
- (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01 Tom Tromey <tromey@cygnus.com>
-
- * include/ffi.h.in: Removed PACKAGE and VERSION defines and
- undefs.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
- * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
- Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
- * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09 Anthony Green <green@cygnus.com>
-
- * include/ffi.h.in: Try to work around messy header problem
- with PACKAGE and VERSION.
-
- * configure: Rebuilt.
- * configure.in: Change version to 2.00-beta.
-
- * fficonfig.h.in: Rebuilt.
- * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
- * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
-
- * src/x86/ffi.c (ffi_closure_SYSV): New function.
- (ffi_prep_incoming_args_SYSV): Ditto.
- (ffi_prep_closure): Ditto.
- (ffi_closure_raw_SYSV): Ditto.
- (ffi_prep_raw_closure): More ditto.
- (ffi_call_raw): Final ditto.
-
- * include/ffi.h.in: Add definitions for closure and raw API.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
- FFI_TYPE_UINT64.
-
- * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
- * src/raw_api.c: New file.
-
- * include/ffi.h.in (ffi_raw): New type.
- (UINT_ARG, SINT_ARG): New defines.
- (ffi_closure, ffi_raw_closure): New types.
- (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
- * configure.in: Add check for endianness and sizeof void*.
-
- * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
- instead of directly.
-
- * configure: Rebuilt.
-
-Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
-
- * configure.in: Add x86 and powerpc BeOS configurations.
- From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09 Anthony Green <green@cygnus.com>
-
- * configure.in: Add warning about this being beta code.
- Remove src/Makefile.am from the picture.
- * configure: Rebuilt.
-
- * Makefile.am: Move logic from src/Makefile.am. Add changes
- to support libffi as a target library.
- * Makefile.in: Rebuilt.
-
- * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
- Upgraded to new autoconf, automake, libtool.
-
- * README: Tweaks.
-
- * LICENSE: Update copyright date.
-
- * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29 Anthony Green <green@cygnus.com>
-
- * include/ChangeLog: Removed.
- * src/ChangeLog: Removed.
- * src/mips/ChangeLog: Removed.
- * src/sparc/ChangeLog: Remboved.
- * src/x86/ChangeLog: Removed.
-
- * ChangeLog.v1: Created.
diff --git a/.pc/alpha/src/alpha/ffi.c b/.pc/alpha/src/alpha/ffi.c
deleted file mode 100644
index 8d6b2ba..0000000
--- a/.pc/alpha/src/alpha/ffi.c
+++ /dev/null
@@ -1,284 +0,0 @@
-/* -----------------------------------------------------------------------
- ffi.c - Copyright (c) 1998, 2001, 2007, 2008 Red Hat, Inc.
-
- Alpha Foreign Function Interface
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
- ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-#include <stdlib.h>
-
-/* Force FFI_TYPE_LONGDOUBLE to be different than FFI_TYPE_DOUBLE;
- all further uses in this file will refer to the 128-bit type. */
-#if defined(__LONG_DOUBLE_128__)
-# if FFI_TYPE_LONGDOUBLE != 4
-# error FFI_TYPE_LONGDOUBLE out of date
-# endif
-#else
-# undef FFI_TYPE_LONGDOUBLE
-# define FFI_TYPE_LONGDOUBLE 4
-#endif
-
-extern void ffi_call_osf(void *, unsigned long, unsigned, void *, void (*)(void))
- FFI_HIDDEN;
-extern void ffi_closure_osf(void) FFI_HIDDEN;
-
-
-ffi_status
-ffi_prep_cif_machdep(ffi_cif *cif)
-{
- /* Adjust cif->bytes to represent a minimum 6 words for the temporary
- register argument loading area. */
- if (cif->bytes < 6*FFI_SIZEOF_ARG)
- cif->bytes = 6*FFI_SIZEOF_ARG;
-
- /* Set the return type flag */
- switch (cif->rtype->type)
- {
- case FFI_TYPE_STRUCT:
- case FFI_TYPE_FLOAT:
- case FFI_TYPE_DOUBLE:
- cif->flags = cif->rtype->type;
- break;
-
- case FFI_TYPE_LONGDOUBLE:
- /* 128-bit long double is returned in memory, like a struct. */
- cif->flags = FFI_TYPE_STRUCT;
- break;
-
- default:
- cif->flags = FFI_TYPE_INT;
- break;
- }
-
- return FFI_OK;
-}
-
-
-void
-ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
-{
- unsigned long *stack, *argp;
- long i, avn;
- ffi_type **arg_types;
-
- /* If the return value is a struct and we don't have a return
- value address then we need to make one. */
- if (rvalue == NULL && cif->flags == FFI_TYPE_STRUCT)
- rvalue = alloca(cif->rtype->size);
-
- /* Allocate the space for the arguments, plus 4 words of temp
- space for ffi_call_osf. */
- argp = stack = alloca(cif->bytes + 4*FFI_SIZEOF_ARG);
-
- if (cif->flags == FFI_TYPE_STRUCT)
- *(void **) argp++ = rvalue;
-
- i = 0;
- avn = cif->nargs;
- arg_types = cif->arg_types;
-
- while (i < avn)
- {
- size_t size = (*arg_types)->size;
-
- switch ((*arg_types)->type)
- {
- case FFI_TYPE_SINT8:
- *(SINT64 *) argp = *(SINT8 *)(* avalue);
- break;
-
- case FFI_TYPE_UINT8:
- *(SINT64 *) argp = *(UINT8 *)(* avalue);
- break;
-
- case FFI_TYPE_SINT16:
- *(SINT64 *) argp = *(SINT16 *)(* avalue);
- break;
-
- case FFI_TYPE_UINT16:
- *(SINT64 *) argp = *(UINT16 *)(* avalue);
- break;
-
- case FFI_TYPE_SINT32:
- case FFI_TYPE_UINT32:
- /* Note that unsigned 32-bit quantities are sign extended. */
- *(SINT64 *) argp = *(SINT32 *)(* avalue);
- break;
-
- case FFI_TYPE_SINT64:
- case FFI_TYPE_UINT64:
- case FFI_TYPE_POINTER:
- *(UINT64 *) argp = *(UINT64 *)(* avalue);
- break;
-
- case FFI_TYPE_FLOAT:
- if (argp - stack < 6)
- {
- /* Note the conversion -- all the fp regs are loaded as
- doubles. The in-register format is the same. */
- *(double *) argp = *(float *)(* avalue);
- }
- else
- *(float *) argp = *(float *)(* avalue);
- break;
-
- case FFI_TYPE_DOUBLE:
- *(double *) argp = *(double *)(* avalue);
- break;
-
- case FFI_TYPE_LONGDOUBLE:
- /* 128-bit long double is passed by reference. */
- *(long double **) argp = (long double *)(* avalue);
- size = sizeof (long double *);
- break;
-
- case FFI_TYPE_STRUCT:
- memcpy(argp, *avalue, (*arg_types)->size);
- break;
-
- default:
- FFI_ASSERT(0);
- }
-
- argp += ALIGN(size, FFI_SIZEOF_ARG) / FFI_SIZEOF_ARG;
- i++, arg_types++, avalue++;
- }
-
- ffi_call_osf(stack, cif->bytes, cif->flags, rvalue, fn);
-}
-
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure* closure,
- ffi_cif* cif,
- void (*fun)(ffi_cif*, void*, void**, void*),
- void *user_data,
- void *codeloc)
-{
- unsigned int *tramp;
-
- tramp = (unsigned int *) &closure->tramp[0];
- tramp[0] = 0x47fb0401; /* mov $27,$1 */
- tramp[1] = 0xa77b0010; /* ldq $27,16($27) */
- tramp[2] = 0x6bfb0000; /* jmp $31,($27),0 */
- tramp[3] = 0x47ff041f; /* nop */
- *(void **) &tramp[4] = ffi_closure_osf;
-
- closure->cif = cif;
- closure->fun = fun;
- closure->user_data = user_data;
-
- /* Flush the Icache.
-
- Tru64 UNIX as doesn't understand the imb mnemonic, so use call_pal
- instead, since both Compaq as and gas can handle it.
-
- 0x86 is PAL_imb in Tru64 UNIX <alpha/pal.h>. */
- asm volatile ("call_pal 0x86" : : : "memory");
-
- return FFI_OK;
-}
-
-
-long FFI_HIDDEN
-ffi_closure_osf_inner(ffi_closure *closure, void *rvalue, unsigned long *argp)
-{
- ffi_cif *cif;
- void **avalue;
- ffi_type **arg_types;
- long i, avn, argn;
-
- cif = closure->cif;
- avalue = alloca(cif->nargs * sizeof(void *));
-
- argn = 0;
-
- /* Copy the caller's structure return address to that the closure
- returns the data directly to the caller. */
- if (cif->flags == FFI_TYPE_STRUCT)
- {
- rvalue = (void *) argp[0];
- argn = 1;
- }
-
- i = 0;
- avn = cif->nargs;
- arg_types = cif->arg_types;
-
- /* Grab the addresses of the arguments from the stack frame. */
- while (i < avn)
- {
- size_t size = arg_types[i]->size;
-
- switch (arg_types[i]->type)
- {
- case FFI_TYPE_SINT8:
- case FFI_TYPE_UINT8:
- case FFI_TYPE_SINT16:
- case FFI_TYPE_UINT16:
- case FFI_TYPE_SINT32:
- case FFI_TYPE_UINT32:
- case FFI_TYPE_SINT64:
- case FFI_TYPE_UINT64:
- case FFI_TYPE_POINTER:
- case FFI_TYPE_STRUCT:
- avalue[i] = &argp[argn];
- break;
-
- case FFI_TYPE_FLOAT:
- if (argn < 6)
- {
- /* Floats coming from registers need conversion from double
- back to float format. */
- *(float *)&argp[argn - 6] = *(double *)&argp[argn - 6];
- avalue[i] = &argp[argn - 6];
- }
- else
- avalue[i] = &argp[argn];
- break;
-
- case FFI_TYPE_DOUBLE:
- avalue[i] = &argp[argn - (argn < 6 ? 6 : 0)];
- break;
-
- case FFI_TYPE_LONGDOUBLE:
- /* 128-bit long double is passed by reference. */
- avalue[i] = (long double *) argp[argn];
- size = sizeof (long double *);
- break;
-
- default:
- abort ();
- }
-
- argn += ALIGN(size, FFI_SIZEOF_ARG) / FFI_SIZEOF_ARG;
- i++;
- }
-
- /* Invoke the closure. */
- closure->fun (cif, rvalue, avalue, closure->user_data);
-
- /* Tell ffi_closure_osf how to perform return type promotions. */
- return cif->rtype->type;
-}
diff --git a/.pc/amiga/.timestamp b/.pc/amiga/.timestamp
deleted file mode 100644
index e69de29..0000000
--- a/.pc/amiga/.timestamp
+++ /dev/null
diff --git a/.pc/amiga/ChangeLog b/.pc/amiga/ChangeLog
deleted file mode 100644
index 4aa07e7..0000000
--- a/.pc/amiga/ChangeLog
+++ /dev/null
@@ -1,4744 +0,0 @@
-2012-02-10 Kai Tietz <ktietz@redhat.com>
-
- * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
- windows target.
- * configure: Regenerated.
-
-2012-02-08 Kai Tietz <ktietz@redhat.com>
-
- * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
- also FFI_THISCALL.
- * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
- (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
- (ffi_prep_closure_loc): Add FFI_THISCALL support.
- * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
- * src/x86/win32.S (ffi_closure_THISCALL): New closure code
- for thiscall-calling convention.
- * testsuite/libffi.call/closure_thiscall.c: New test.
-
-2012-01-28 Kai Tietz <ktietz@redhat.com>
-
- * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
- argument to prototype for specify calling-convention.
- (ffi_call): Add support for stdcall/thiscall convention.
- (ffi_prep_args): Likewise.
- (ffi_raw_call): Likewise.
- * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
- FFI_FASTCALL.
- * src/x86/win32.S (_ffi_call_win32): Add support for
- fastcall/thiscall calling-convention calls.
- * testsuite/libffi.call/fastthis1_win32.c: New test.
- * testsuite/libffi.call/fastthis2_win32.c: New test.
- * testsuite/libffi.call/fastthis3_win32.c: New test.
- * testsuite/libffi.call/strlen2_win32.c: New test.
- * testsuite/libffi.call/many2_win32.c: New test.
- * testsuite/libffi.call/struct1_win32.c: New test.
- * testsuite/libffi.call/struct2_win32.c: New test.
-
-2012-01-23 Anthony Green <green@moxielogic.com>
- Dmitry Nadezhin <dmitry.nadezhin@gmail.com>
-
- * include/ffi_common.h (LIKELY, UNLIKELY): Fix definitions.
-
-2012-01-23 Andreas Schwab <schwab@linux-m68k.org>
-
- * src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
- mc68000. Test for __HAVE_68881__ in addition to __MC68881__.
-
-2012-01-19 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/48496
- * src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
-
-2012-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (i?86-*-*): Set TARGET to X86_64.
- * configure: Regenerate.
-
-2011-12-07 Andrew Pinski <apinski@cavium.com>
-
- PR libffi/50051
- * src/mips/n32.S: Add ".set mips4".
-
-2011-11-21 Andreas Tobler <andreast@fgznet.ch>
-
- * configure: Regenerate.
-
-2011-11-12 David Gilbert <david.gilbert@linaro.org>
-
- * doc/libffi.texi, include/ffi.h.in, include/ffi_common.h,
- man/Makefile.am, man/ffi.3, man/ffi_prep_cif.3,
- man/ffi_prep_cif_var.3, src/arm/ffi.c, src/arm/ffitarget.h,
- src/cris/ffi.c, src/prep_cif.c,
- testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/float_va.c: Many changes to support variadic
- function calls.
-
-2011-11-12 Kyle Moffett <Kyle.D.Moffett@boeing.com>
-
- * src/powerpc/ffi.c, src/powerpc/ffitarget.h,
- src/powerpc/ppc_closure.S, src/powerpc/sysv.S: Many changes for
- softfloat powerpc variants.
-
-2011-11-12 Petr Salinger <Petr.Salinger@seznam.cz>
-
- * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Fix kfreebsd support.
- * configure: Rebuilt.
-
-2011-11-12 Timothy Wall <twall@users.sf.net>
-
- * src/arm/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV): Max
- alignment of 4 for wince on ARM.
-
-2011-11-12 Kyle Moffett <Kyle.D.Moffett@boeing.com>
- Anthony Green <green@moxielogic.com>
-
- * src/ppc/sysv.S, src/ppc/ffi.c: Remove use of ppc string
- instructions (not available on some cores, like the PPC440).
-
-2011-11-12 Kimura Wataru <kimuraw@i.nifty.jp>
-
- * m4/ax_enable_builddir: Change from string comparison to numeric
- comparison for wc output.
- * configure.ac: Enable FFI_MMAP_EXEC_WRIT for darwin11 aka Mac OS
- X 10.7.
- * configure: Rebuilt.
-
-2011-11-12 Anthony Green <green@moxielogic.com>
-
- * Makefile.am (AM_CCASFLAGS): Add -g option to build assembly
- files with debug info.
- * Makefile.in: Rebuilt.
-
-2011-11-12 Jasper Lievisse Adriaanse <jasper@openbsd.org>
-
- * README: Update list of supported OpenBSD systems.
-
-2011-11-12 Anthony Green <green@moxielogic.com>
-
- * libtool-version: Update.
- * Makefile.am (nodist_libffi_la_SOURCES): Add src/debug.c if
- FFI_DEBUG.
- (libffi_la_SOURCES): Remove src/debug.c
- (EXTRA_DIST): Add src/debug.c
- * Makefile.in: Rebuilt.
- * README: Update for 3.0.11.
-
-2011-11-10 Richard Henderson <rth@redhat.com>
-
- * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
- * configure, aclocal.m4: Rebuild.
-
-2011-09-04 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/49594
- * src/powerpc/darwin_closure.S (stubs): Make the stub binding
- helper reference track the architecture pointer size.
-
-2011-08-25 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
- instructions.
- * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
-
-2011-07-11 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46660
- * testsuite/libffi.call/cls_double_va.c: xfail dg-output on
- mips-sgi-irix6*.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
- PRId8 instead of %hhu, %hhd.
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
- PRIu8): Define.
- [__sgi__] (PRId8, PRIu8): Define.
-
-2011-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
- Define.
- Use them to handle ELF vs. ECOFF differences.
- [__osf__] (_GLOBAL__F_ffi_call_osf): Define.
-
-2011-03-30 Timothy Wall <twall@users.sf.net>
-
- * src/powerpc/darwin.S: Fix unknown FDE encoding.
- * src/powerpc/darwin_closure.S: ditto.
-
-2011-02-25 Anthony Green <green@moxielogic.com>
-
- * src/powerpc/ffi.c (ffi_prep_closure_loc): Allow for more
- 32-bit ABIs.
-
-2011-02-15 Anthony Green <green@moxielogic.com>
-
- * m4/ax_cc_maxopt.m4: Don't -malign-double or use -ffast-math.
- * configure: Rebuilt.
-
-2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2011-02-13 Anthony Green <green@moxielogic.com>
-
- * include/ffi_common.h (UNLIKELY, LIKELY): Define.
- * src/x86/ffi64.c (UNLIKELY, LIKELY): Remove definition.
- * src/prep_cif.c (UNLIKELY, LIKELY): Remove definition.
-
- * src/prep_cif.c (initialize_aggregate): Convert assertion into
- FFI_BAD_TYPEDEF return. Initialize arg size and alignment to 0.
-
- * src/pa/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
- just return FFI_BAD_ABI when things are wrong.
- * src/arm/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/powerpc/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/mips/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/ia64/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/avr32/ffi.c (ffi_prep_closure_loc): Ditto.
-
-2011-02-11 Anthony Green <green@moxielogic.com>
-
- * src/sparc/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
- just return FFI_BAD_ABI when things are wrong.
-
-2011-02-09 Stuart Shelton <srcshelton@gmail.com>
-
- http://bugs.gentoo.org/show_bug.cgi?id=286911
- * src/mips/ffitarget.h: Clean up error messages.
- * src/java_raw_api.c (ffi_java_translate_args): Cast raw arg to
- ffi_raw*.
- * include/ffi.h.in: Add pragma for SGI compiler.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * configure.ac: Add powerpc64-*-darwin* support.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * README: Mention Interix.
-
-2011-02-09 Jonathan Callen <abcd@gentoo.org>
-
- * configure.ac: Add Interix to win32/cygwin/mingw case.
- * configure: Ditto.
- * src/closures.c: Treat Interix like Cygwin, instead of as a
- generic win32.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * testsuite/libffi.call/err_bad_typedef.c: Remove xfail.
- * testsuite/libffi.call/err_bad_abi.c: Remove xfail.
- * src/x86/ffi64.c (UNLIKELY, LIKELY): Define.
- (ffi_prep_closure_loc): Check for bad ABI.
- * src/prep_cif.c (UNLIKELY, LIKELY): Define.
- (initialize_aggregate): Check for bad types.
-
-2011-02-09 Landon Fuller <landonf@plausible.coop>
-
- * Makefile.am (EXTRA_DIST): Add build-ios.sh, src/arm/gentramp.sh,
- src/arm/trampoline.S.
- (nodist_libffi_la_SOURCES): Add src/arc/trampoline.S.
- * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Define.
- * src/arm/ffi.c (ffi_trampoline_table)
- (ffi_closure_trampoline_table_page, ffi_trampoline_table_entry)
- (FFI_TRAMPOLINE_CODELOC_CONFIG, FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET)
- (FFI_TRAMPOLINE_COUNT, ffi_trampoline_lock, ffi_trampoline_tables)
- (ffi_trampoline_table_alloc, ffi_closure_alloc, ffi_closure_free):
- Define for FFI_EXEC_TRAMPOLINE_TABLE case (iOS).
- (ffi_prep_closure_loc): Handl FFI_EXEC_TRAMPOLINE_TABLE case
- separately.
- * src/arm/sysv.S: Handle Apple iOS host.
- * src/closures.c: Handle FFI_EXEC_TRAMPOLINE_TABLE case.
- * build-ios.sh: New file.
- * fficonfig.h.in, configure, Makefile.in: Rebuilt.
- * README: Mention ARM iOS.
-
-2011-02-08 Oren Held <orenhe@il.ibm.com>
-
- * src/dlmalloc.c (_STRUCT_MALLINFO): Define in order to avoid
- redefinition of mallinfo on HP-UX.
-
-2011-02-08 Ginn Chen <ginn.chen@oracle.com>
-
- * src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
- aggregate return ABI. Flush cache.
- (ffi_prep_closure_loc): Flush cache.
-
-2011-02-11 Anthony Green <green@moxielogic.com>
-
- From Tom Honermann <tom.honermann@oracle.com>:
- * src/powerpc/aix.S (ffi_call_AIX): Support for xlc toolchain on
- AIX. Declare .ffi_prep_args. Insert nops after branch
- instructions so that the AIX linker can insert TOC reload
- instructions.
- * src/powerpc/aix_closure.S: Declare .ffi_closure_helper_DARWIN.
-
-2011-02-08 Ed <ed@kdtc.net>
-
- * src/powerpc/asm.h: Fix grammar nit in comment.
-
-2011-02-08 Uli Link <ul.mcamafia@linkitup.de>
-
- * include/ffi.h.in (FFI_64_BIT_MAX): Define and use.
-
-2011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46661
- * testsuite/libffi.call/cls_pointer.c (main): Cast void * to
- uintptr_t first.
- * testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
-
-2011-02-08 Rafael Avila de Espindola <respindola@mozilla.com>
-
- * configure.ac: Fix x86 test for pc related relocs.
- * configure: Rebuilt.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
- Handle case when CPU variant does not have long double support.
- * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
- and cores with soft floating point.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * configure.ac: Add mips*-*-rtems* support.
- * configure: Regenerate.
- * src/mips/ffitarget.h: Ensure needed constants are available
- for targets which do not have sgidefs.h.
-
-2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR target/40125
- * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
- * configure: Regenerate.
-
-2010-12-18 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/29152
- PR libffi/42378
- * src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
- (FFI_TRAMPOLINE_SIZE): Update for Darwin64.
- * src/powerpc/darwin.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
- backslashes.
- (libffi_cv_as_string_pseudo_op): Likewise.
- * configure: Regenerate.
-
-2010-12-03 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
- (ffi_closure_VFP): Same.
- (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
- directive.
-
-2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
- (PRIuPTR): Define.
-
-2010-11-29 Richard Henderson <rth@redhat.com>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
- (.eh_frame): Use FDE_ENCODING.
- (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
-
-2010-11-22 Jacek Caban <jacek@codeweavers.com>
-
- * configure.ac: Check for symbol underscores on mingw-w64.
- * configure: Rebuilt.
- * src/x86/win64.S: Correctly access extern symbols in respect to
- underscores.
-
-2010-11-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp: Rename ...
- * testsuite/lib/libffi.exp: ... to this.
- * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
- * libffi/testsuite/libffi.special/special.exp: Likewise.
-
-2010-10-28 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
- code, new parameter, and return value. Update comments.
- (ffi_prep_cif_machdep): Add case for VFP struct return values. Add
- call to layout_vfp_args().
- (ffi_call_SYSV): Update declaration.
- (ffi_call_VFP): New declaration.
- (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
- when ABI is FFI_VFP.
- (ffi_closure_VFP): New declaration.
- (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
- ffi_prep_incoming_args_SYSV().
- (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
- case handling.
- (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
- construction under VFP hard-float.
- (rec_vfp_type_p): New function.
- (vfp_type_p): Same.
- (place_vfp_arg): Same.
- (layout_vfp_args): Same.
- * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
- based on __ARM_PCS_VFP.
- (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
- fields.
- (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
- (FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
- * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
- direct call. Move function pointer load upwards.
- (ffi_call_VFP): New function.
- (ffi_closure_VFP): Same.
-
- * testsuite/lib/libffi-dg.exp (check-flags): New function.
- (dg-skip-if): New function.
- * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
- and compiler options include -mfloat-abi=hard.
- * testsuite/libffi.call/cls_longdouble_va.c: Same.
-
-2010-10-01 Jakub Jelinek <jakub@redhat.com>
-
- PR libffi/45677
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
- a multiple of 8.
- * testsuite/libffi.call/many2.c: New test.
-
-2010-08-20 Mark Wielaard <mjw@redhat.com>
-
- * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
- returns NULL.
-
-2010-08-09 Andreas Tobler <andreast@fgznet.ch>
-
- * configure.ac: Add target powerpc64-*-freebsd*.
- * configure: Regenerate.
- * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
- -mlong-double-128 only to linux targets.
- * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
- * testsuite/libffi.call/cls_longdouble.c: Likewise.
- * testsuite/libffi.call/huge_struct.c: Likewise.
-
-2010-08-05 Dan Witte <dwitte@mozilla.com>
-
- * Makefile.am: Pass FFI_DEBUG define to msvcc.sh for linking to the
- debug CRT when --enable-debug is given.
- * configure.ac: Define it.
- * msvcc.sh: Translate -g and -DFFI_DEBUG appropriately.
-
-2010-08-04 Dan Witte <dwitte@mozilla.com>
-
- * src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64
- platforms.
- * src/x86/ffi.c: Remove redundant ifdef checks.
- * src/prep_cif.c: Push stack space computation into src/x86/ffi.c
- for X86_ANY so return value space doesn't get added twice.
-
-2010-08-03 Neil Rashbrooke <neil@parkwaycc.co.uk>
-
- * msvcc.sh: Don't pass -safeseh to ml64 because behavior is buggy.
-
-2010-07-22 Dan Witte <dwitte@mozilla.com>
-
- * src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
- * src/prep_cif.c: Fix ABI assertion.
- * src/cris/ffi.c: Ditto.
-
-2010-07-10 Evan Phoenix <evan@fallingsnow.net>
-
- * src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
-
-2010-07-07 Dan Horák <dan@danny.cz>
-
- * include/ffi.h.in: Protect #define with #ifndef.
- * src/powerpc/ffitarget.h: Ditto.
- * src/s390/ffitarget.h: Ditto.
- * src/sparc/ffitarget.h: Ditto.
-
-2010-07-07 Neil Roberts <neil@linux.intel.com>
-
- * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
- 16-bytes.
-
-2010-07-02 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
- * Makefile.in: Regenerated.
-
-2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
- output, too.
- (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
- (libffi_cv_as_string_pseudo_op): Check for .string.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
-
-2010-05-11 Dan Witte <dwitte@mozilla.com>
-
- * doc/libffi.tex: Document previous change.
-
-2010-05-11 Makoto Kato <m_kato@ga2.so-net.ne.jp>
-
- * src/x86/ffi.c (ffi_call): Don't copy structs passed by value.
-
-2010-05-05 Michael Kohler <michaelkohler@live.com>
-
- * src/dlmalloc.c (dlfree): Fix spelling.
- * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
- * configure.ac: Ditto.
- * configure: Rebuilt.
-
-2010-04-13 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Build with -W3 instead of -Wall.
- * src/powerpc/ffi_darwin.c: Remove build warnings.
- * src/x86/ffi.c: Ditto.
- * src/x86/ffitarget.h: Ditto.
-
-2010-04-12 Dan Witte <dwitte@mozilla.com>
- Walter Meinl <wuno@lsvw.de>
-
- * configure.ac: Add OS/2 support.
- * configure: Rebuilt.
- * src/closures.c: Ditto.
- * src/dlmalloc.c: Ditto.
- * src/x86/win32.S: Ditto.
-
-2010-04-07 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
-
-2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2010-03-30 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Disable build warnings.
- * README (tested): Clarify windows build procedure.
-
-2010-03-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * libffi/src/x86/unix64.S (.eh_frame)
- [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
-
-2010-03-14 Matthias Klose <doko@ubuntu.com>
-
- * src/x86/ffi64.c: Fix typo in comment.
- * src/x86/ffi.c: Use /* ... */ comment style.
-
-2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/libffi.texi (The Closure API): Fix typo.
- * doc/libffi.info: Remove.
-
-2010-02-15 Matthias Klose <doko@ubuntu.com>
-
- * src/arm/sysv.S (__ARM_ARCH__): Define for processor
- __ARM_ARCH_7EM__.
-
-2010-01-15 Anthony Green <green@redhat.com>
-
- * README: Add notes on building with Microsoft Visual C++.
-
-2010-01-15 Daniel Witte <dwitte@mozilla.com>
-
- * msvcc.sh: New file.
-
- * src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
- * src/x86/ffi.c: Tweak function declaration and remove excess
- parens.
- * include/ffi.h.in: Add __declspec(align(8)) to typedef struct
- ffi_closure.
-
- * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
- function ffi_call_win32 on X86_WIN32.
- * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
- (ffi_call_STDCALL): Remove.
-
- * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
- to ffi_prep_cif_machdep for x86.
- * src/x86/ffi.c (ffi_prep_cif_machdep): To here.
-
-2010-01-15 Oliver Kiddle <okiddle@yahoo.co.uk>
-
- * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
- Sun Studio compiler compatibility.
-
-2010-01-12 Conrad Irwin <conrad.irwin@gmail.com>
-
- * doc/libffi.texi: Add closure example.
-
-2010-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40701
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
- PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
- * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
- alpha*-dec-osf*.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/return_ll1.c: Likewise.
- * testsuite/libffi.call/stret_medium2.c: Likewise.
- * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
- MAP_FAILED to char *.
-
-2010-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
-
-2009-12-31 Anthony Green <green@redhat.com>
-
- * README: Update for libffi 3.0.9.
-
-2009-12-27 Matthias Klose <doko@ubuntu.com>
-
- * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
- appropriate.
- * configure: Rebuilt.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
- avr32*-*-*.
- * testsuite/libffi.call/cls_double_va.c: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
- and inttypes.h.
- * testsuite/libffi.special/unwindtest.cc: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-openbsd*.
- * configure: Rebuilt.
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
- openbsd programs with -lpthread.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
- mips*-*-* and arm*-*-*.
- * testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c,
- testsuite/libffi.call/stret_medium2.c,
- testsuite/libffi.call/stret_medium.c,
- testsuite/libffi.call/stret_large.c,
- testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
-
-2009-12-31 Kay Tietz <ktietz70@googlemail.com>
-
- * testsuite/libffi.call/ffitest.h,
- testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
- definitions.
-
-2009-12-31 Carlo Bramini <carlo.bramix@libero.it>
-
- * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
- * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
-
-2009-12-31 Anthony Green <green@redhat.com>
- Blake Chaffin.
-
- * testsuite/libffi.call/huge_struct.c: New test case from Blake
- Chaffin @ Apple.
-
-2009-12-28 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
- local variables.
- (aix_adjust_aggregate_sizes): New function.
- (ffi_prep_cif_machdep): Call it.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
- * configure: Regenerate.
- * fficonfig.h.in: Likewise.
- * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
- Solaris/x86.
-
-2009-12-26 Andreas Schwab <schwab@linux-m68k.org>
-
- * 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.
-
-2009-12-25 Matthias Klose <doko@ubuntu.com>
-
- * man/ffi_call.3: Fix #include in examples.
- * doc/libffi.texi: Add dircategory.
-
-2009-12-25 Frank Everdij <f.p.x.everdij@tudelft.nl>
-
- * include/ffi.h.in: Placed '__GNUC__' ifdef around
- '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
- IRIX MIPSPro c99.
- * include/ffi_common.h: Added '__sgi' define to non
- '__attribute__((__mode__()))' integer typedefs.
- * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
- ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
- (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
- FFI_LONGDOUBLE support and alignment(N32 only).
- * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
- fixed non '__attribute__((__mode__()))' integer typedefs.
- * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
- since they are Linux/GNU Assembler specific.
-
-2009-12-25 Bradley Smith <brad@brad-smith.co.uk>
-
- * configure.ac, Makefile.am, src/avr32/ffi.c,
- src/avr32/ffitarget.h,
- src/avr32/sysv.S: Add AVR32 port.
- * configure, Makefile.in: Rebuilt.
-
-2009-12-21 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
- * configure: Regenerate.
-
-2009-12-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
- type on HP-UX.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
- double' arguments.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40700
- * src/closures.c [X86_64 && __sun__ && __svr4__]
- (FFI_MMAP_EXEC_WRIT): Define.
-
-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.
-
-2009-12-07 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
- typo.
-
-2009-12-05 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
- code.
- * src/powerpc/aix_closure.S: Same.
-
-2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
- linux64_closure.S.
-
-2009-12-04 Uros Bizjak <ubizjak@gmail.com>
-
- 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.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
- pfr for long double split between fpr13 and stack.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
- fparg_count twice for long double.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- PR libffi/42243
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03 Uros Bizjak <ubizjak@gmail.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
- Remove xfails for x86 linux targets.
-
-2009-12-02 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
- case.
-
-2009-12-01 David Edelsohn <edelsohn@gnu.org>
-
- * 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.
-
-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.
-
-2009-11-02 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/41908
- * testsuite/libffi.call/testclosure.c: New test.
-
-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.
-
-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.
-
-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.
-
-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.
-
-2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.am (install-html, install-pdf): Remove.
- * Makefile.in: Regenerate.
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2011-08-22 Jasper Lievisse Adriaanse <jasper@openbsd.org>
-
- * configure.ac: Add OpenBSD/hppa and OpenBSD/powerpc support.
- * configure: Rebuilt.
-
-2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24 Dave Korn <dave.korn.cygwin@gmail.com>
-
- 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.
-
-2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
-
- 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.
-
-2009-07-01 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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 "".)
-
-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.
-
-2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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.
-
-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.
-
-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.
-
-2009-06-16 Andrew Haley <aph@redhat.com>
-
- * configure.ac (TARGETDIR): Add missing blank lines.
- * configure: Regenerate.
-
-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.
-
-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.
-
-2009-06-12 Andrew Haley <aph@redhat.com>
-
- * Makefile.am: Remove info_TEXINFOS.
-
-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-11 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * 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.
-
-2009-06-09 Andrew Haley <aph@redhat.com>
-
- * src/x86/freebsd.S: Add missing file.
-
-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).
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * README: Import from libffi 3.0.8.
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Add xfails.
- * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
- * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
- * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
- * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
- * testsuite/libffi.call/stret_medium.c: Likewise.
- * testsuite/libffi.call/stret_large2.c: Likewise.
- * testsuite/libffi.call/stret_large.c: Likewise.
-
-2008-12-26 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_align_longdouble.c,
- testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
- failures on x86_64 cygwin/mingw.
-
-2008-12-22 Timothy Wall <twall@users.sf.net>
-
- * 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_loc_fn0.c,
- testsuite/libffi.call/closure_stdcall.c,
- testsuite/libffi.call/cls_align_pointer.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
- pointer to integer (intptr_t).
- * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_dbls_struct.c,
- testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c,
- testsuite/libffi.call/err_bad_abi.c: Clean up failures from
- compiler warnings.
-
-2008-03-04 Anthony Green <green@redhat.com>
- Blake Chaffin
- hos@tamanegi.org
-
- * testsuite/libffi.call/cls_align_longdouble_split2.c
- testsuite/libffi.call/cls_align_longdouble_split.c
- testsuite/libffi.call/cls_dbls_struct.c
- testsuite/libffi.call/cls_double_va.c
- testsuite/libffi.call/cls_longdouble.c
- testsuite/libffi.call/cls_longdouble_va.c
- testsuite/libffi.call/cls_pointer.c
- testsuite/libffi.call/cls_pointer_stack.c
- testsuite/libffi.call/err_bad_abi.c
- testsuite/libffi.call/err_bad_typedef.c
- testsuite/libffi.call/stret_large2.c
- testsuite/libffi.call/stret_large.c
- testsuite/libffi.call/stret_medium2.c
- testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
- libffi.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
- stdcall changes.
-
-2008-02-26 Anthony Green <green@redhat.com>
- Thomas Heller <theller@ctypes.org>
-
- * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
- comment.
-
-2008-02-03 Timothy Wall <twall@users.sf.net>
-
- * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
- offset based on code pointer, not data pointer.
-
-2008-01-31 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
- closures.
- * src/x86/ffitarget.h: Increase size of trampoline for stdcall
- closures.
- * src/x86/win32.S: Add assembly for stdcall closure.
- * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Change void (*)() to void (*)(void).
- * src/x86/ffi.c: Likewise.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ppc_closure.S: Insert licence header.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/m68k/sysv.S: Likewise.
-
- * src/sh64/ffi.c: Change void (*)() to void (*)(void).
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/m32r/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi64.c: Likewise.
- * src/alpha/ffi.c: Likewise.
- * src/alpha/osf.S: Likewise.
- * src/frv/ffi.c: Likewise.
- * src/s390/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/pa/hpux32.S: Likewise.
- * src/ia64/unix.S: Likewise.
- * src/ia64/ffi.c: Likewise.
- * src/sparc/ffi.c: Likewise.
- * src/mips/ffi.c: Likewise.
- * src/sh/ffi.c: Likewise.
-
-2008-02-15 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
- Define (conditionally), and use it to include cachectl.h.
- (ffi_prep_closure_loc): Fix cache flushing.
- * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- include/ffi.h.in,
- src/arm/ffitarget.h,
- src/arm/ffi.c,
- src/arm/sysv.S,
- src/powerpc/ffitarget.h,
- src/closures.c,
- src/sh64/ffitarget.h,
- src/sh64/ffi.c,
- src/sh64/sysv.S,
- src/types.c,
- src/x86/ffi64.c,
- src/x86/ffitarget.h,
- src/x86/win32.S,
- src/x86/darwin.S,
- src/x86/ffi.c,
- src/x86/sysv.S,
- src/x86/unix64.S,
- src/alpha/ffitarget.h,
- src/alpha/ffi.c,
- src/alpha/osf.S,
- src/m68k/ffitarget.h,
- src/frv/ffitarget.h,
- src/frv/ffi.c,
- src/s390/ffitarget.h,
- src/s390/sysv.S,
- src/cris/ffitarget.h,
- src/pa/linux.S,
- src/pa/ffitarget.h,
- src/pa/ffi.c,
- src/raw_api.c,
- src/ia64/ffitarget.h,
- src/ia64/unix.S,
- src/ia64/ffi.c,
- src/ia64/ia64_flags.h,
- src/java_raw_api.c,
- src/debug.c,
- src/sparc/v9.S,
- src/sparc/ffitarget.h,
- src/sparc/ffi.c,
- src/sparc/v8.S,
- src/mips/ffitarget.h,
- src/mips/n32.S,
- src/mips/o32.S,
- src/mips/ffi.c,
- src/prep_cif.c,
- src/sh/ffitarget.h,
- src/sh/ffi.c,
- src/sh/sysv.S: Update license text.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * src/x86/win32.S (_ffi_closure_STDCALL): New function.
- (.eh_frame): Add FDE for it.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * configure.ac: Also check if assembler supports pc-relative
- relocs on X86_WIN32 targets.
- * configure: Regenerate.
- * src/x86/win32.S (ffi_prep_args): Declare extern, not global.
- (_ffi_call_SYSV): Add missing function type symbol .def and
- add EH markup labels.
- (_ffi_call_STDCALL): Likewise.
- (_ffi_closure_SYSV): Likewise.
- (_ffi_closure_raw_SYSV): Likewise.
- (.eh_frame): Add hand-crafted EH data.
-
-2009-04-09 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
- version 3 of the GNU General Public License and to point readers
- at the COPYING3 file and the FSF's license web page.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-12-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libffi/26048
- * configure.ac (HAVE_AS_X86_PCREL): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
- RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
- RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
- * src/x86/unix64.S (.Lstore_table): Move to .text section.
- (.Lload_table): Likewise.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
- signed/unsigned int8/16 return values.
- * src/sparc/v8.S (ffi_call_v8): Likewise.
- (ffi_closure_v8): Likewise.
-
-2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
- Steve Ellcey <sje@cup.hp.com>
-
- * configure: Regenerate for new libtool.
- * Makefile.in: Ditto.
- * include/Makefile.in: Ditto.
- * aclocal.m4: Ditto.
-
-2008-08-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
- FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
- Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
- Adjust copyright notice.
- * src/powerpc/ffi.c: Add two new flags to indicate if we have one
- register or two register to use for FFI_SYSV structs.
- (ffi_prep_cif_machdep): Pass the right register flag introduced above.
- (ffi_closure_helper_SYSV): Fix the return type for
- FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
- Adjust copyright notice.
-
-2008-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
- int.
-
-2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2008-06-07 Joseph Myers <joseph@codesourcery.com>
-
- * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
- powerpc-*-beos*): Remove.
- * configure: Regenerate.
-
-2008-05-09 Julian Brown <julian@codesourcery.com>
-
- * Makefile.am (LTLDFLAGS): New.
- (libffi_la_LDFLAGS): Use above.
- * Makefile.in: Regenerate.
-
-2008-04-18 Paolo Bonzini <bonzini@gnu.org>
-
- PR bootstrap/35457
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2008-03-26 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add .note.GNU-stack on Linux.
- * src/sh64/sysv.S: Likewise.
-
-2008-03-26 Daniel Jacobowitz <dan@debian.org>
-
- * src/arm/sysv.S: Fix ARM comment marker.
-
-2008-03-26 Jakub Jelinek <jakub@redhat.com>
-
- * src/alpha/osf.S: Add .note.GNU-stack on Linux.
- * src/s390/sysv.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
- * src/x86/unix64.S: Likewise.
- * src/x86/sysv.S: Likewise.
- * src/sparc/v8.S: Likewise.
- * src/sparc/v9.S: Likewise.
- * src/m68k/sysv.S: Likewise.
- * src/arm/sysv.S: Likewise.
-
-2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * aclocal.m4: Regenerate.
- * configure: Likewise.
- * Makefile.in: Likewise.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2008-02-12 Bjoern Koenig <bkoenig@alpha-tierchen.de>
- Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-freebsd* target.
- * configure: Regenerate.
-
-2008-01-30 H.J. Lu <hongjiu.lu@intel.com>
-
- PR libffi/34612
- * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
- returning struct.
-
- * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
- tests.
-
-2008-01-24 David Edelsohn <edelsohn@gnu.org>
-
- * configure: Regenerate.
-
-2008-01-06 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
-
-2008-01-05 Andreas Tobler <a.tobler@schweiz.org>
-
- PR testsuite/32843
- * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
- signed/unsigned int8/16 for X86_DARWIN.
- Updated copyright info.
- Handle one and two byte structs with special cif->flags.
- * src/x86/ffitarget.h: Add special types for one and two byte structs.
- Updated copyright info.
- * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
- sysv.S
- Remove code to pop args from the stack after call.
- Special-case signed/unsigned for int8/16, one and two byte structs.
- (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
- FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
- FFI_TYPE_SINT32.
- Updated copyright info.
-
-2007-12-08 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_call_N32): Replace dadd with ADDU, dsub with
- SUBU, add with ADDU and use smaller code sequences.
-
-2007-12-07 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
- type.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
- defined.
- (ffi_java_raw): New typedef.
- (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
- ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
- ffi_java_raw.
- (ffi_java_raw_closure) : Same.
- (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
- parameter types.
- * src/java_raw_api.c (ffi_java_raw_size): Replace FFI_SIZEOF_ARG with
- FFI_SIZEOF_JAVA_RAW.
- (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
- Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
- sizeof(ffi_java_raw) for alignment calculations.
- (ffi_java_ptrarray_to_raw): Same.
- (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
- if FFI_SIZEOF_JAVA_RAW == 4.
- (ffi_java_raw_to_rvalue): Same.
- (ffi_java_raw_call): Change type of raw to ffi_java_raw.
- (ffi_java_translate_args): Same.
- (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
- parameter types.
- * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
- pointer values.
-
-2007-12-01 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/31937
- * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
- Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
- * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
- set the NUM_FPR_ARG_REGISTERS according to.
- Add support for potential soft-float support under hard-float
- architecture.
- (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
- FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
- to the FFI_LINUX_SOFT_FLOAT ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Make sure not to store float/double
- on archs where __NO_FPRS__ is true.
- Add FFI_TYPE_UINT128 support.
- * src/powerpc/sysv.S: Add support for soft-float long-double-128.
- Adjust copyright notice.
-
-2007-11-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
- * include/ffi_common.h: ... here.
- Update copyright.
-
-2007-11-17 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
- * testsuite/libffi.call/return_ldl.c: New test.
-
-2007-09-04 <aph@redhat.com>
-
- * src/arm/sysv.S (UNWIND): New.
- (Whole file): Conditionally compile unwinder directives.
- * src/arm/sysv.S: Add unwinder directives.
-
- * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
- Only treat r0 as a struct address if we're actually returning a
- struct by address.
- Only copy the bytes that are actually within a struct.
- (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
- is returned in r0, not passed by address.
- (ffi_call): Allocate a word-sized temporary for the case where
- a composite is returned in r0.
- (ffi_prep_incoming_args_SYSV): Align as necessary.
-
-2007-08-05 Steven Newbury <s_j_newbury@yahoo.co.uk>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
- directly using the sys_cacheflush syscall.
-
-2007-07-27 Andrew Haley <aph@redhat.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
-
-2007-09-03 Maciej W. Rozycki <macro@linux-mips.org>
-
- * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure: Likewise.
-
-2007-08-24 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/return_sl.c: New test.
-
-2007-08-10 David Daney <ddaney@avtrex.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/nested_struct5.c,
- testsuite/libffi.call/cls_double.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/nested_struct.c,
- testsuite/libffi.call/cls_2byte.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_sint16.c,
- testsuite/libffi.call/cls_align_uint32.c,
- testsuite/libffi.call/cls_20byte.c,
- testsuite/libffi.call/cls_float.c,
- testsuite/libffi.call/nested_struct2.c,
- testsuite/libffi.call/cls_5_1_byte.c,
- testsuite/libffi.call/nested_struct4.c,
- testsuite/libffi.call/cls_24byte.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: Remove xfail for mips64*-*-*.
-
-2007-08-10 David Daney <ddaney@avtrex.com>
-
- 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.
-
-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*.
- * 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.
-
-2006-12-13 Andreas Tobler <a.tobler@schweiz.org>
-
- * aclocal.m4: Regenerate with aclocal -I .. as written in the
- Makefile.am.
-
-2006-10-31 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
- (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
- Darwin.
- * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
- * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10 Paolo Bonzini <bonzini@gnu.org>
- Sandro Tolaini <tolaini@libero.it>
-
- * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
- conditional.
- * configure: Regenerated.
- * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
- (EXTRA_DIST): Add src/x86/darwin.S.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
- X86_WIN32, and additionally align stack to 16 bytes.
- * src/x86/darwin.S: New, based on sysv.S.
- * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12 David Daney <ddaney@avtrex.com>
-
- PR libffi/23935
- * include/Makefile.am: Install both ffi.h and ffitarget.h in
- $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
- * aclocal.m4: Regenerated for automake 1.9.6.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
-2006-08-17 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h: Remove lint directives.
- * include/ffi.h.in: Likewise.
-
-2006-07-25 Torsten Schoenfeld <kaffeetisch@gmx.de>
-
- * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
- for 32-bit architectures.
- * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
- xfail remains for mips64.
-
-2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
-
- * Makefile.am: Add install-html target. Add install-html to .PHONY
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
- stack slot.
-
-2006-04-22 Andreas Tobler <a.tobler@schweiz.ch>
-
- * README: Remove notice about 'Crazy Comments'.
- * src/debug.c: Remove lint directives. Cleanup white spaces.
- * src/java_raw_api.c: Likewise.
- * src/prep_cif.c: Likewise.
- * src/raw_api.c: Likewise.
- * src/ffitest.c: Delete. No longer needed, all test cases migrated
- to the testsuite.
- * src/arm/ffi.c: Remove lint directives.
- * src/m32r/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/sh/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/pa/hpux32.S: Correct unwind offset calculation for
- ffi_closure_pa32.
- * src/pa/linux.S: Likewise.
-
-2006-04-12 James E Wilson <wilson@specifix.com>
-
- PR libgcj/26483
- * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
- (hfa_type_load): Call stf_spill.
- (hfa_type_store): Call ldf_fill.
- (ffi_call): Adjust calls to above routines. Add local temps for
- macro result.
-
-2006-04-10 Matthias Klose <doko@debian.org>
-
- * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
- directory names containing underscores.
-
-2006-04-07 James E Wilson <wilson@specifix.com>
-
- * testsuite/libffi.call/float4.c: New testcase.
-
-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.
-
-2006-03-24 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Default
- for 32-bit using IBM extended double format. Fix FFI_LAST_ABI.
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
- FFI_TYPE_LONGDOUBLE.
- (ffi_prep_args64): Assert using IBM extended double.
- (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
- Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
- (ffi_call): Handle FFI_LINUX.
- (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
- gpr3 return pointer as for struct return. Handle FFI_LINUX
- FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf"
- unnecessarily.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
- for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table.
- Don't use r6 as pointer to results, instead use sp offset. Don't
- make a special call to load lr with case table address, instead
- use offset from previous call.
- * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
- return.
-
-2006-03-15 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
- passed with FP registers correctly.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S: Likewise.
-
-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.
-
-2006-02-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
- -O2, -O3, -Os and the warning flags -W -Wall.
- * testsuite/libffi.special/special.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
- unused parameter unused for gcc or else do nothing.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
- * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
- * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
- * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
- * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
- * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
- * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
- * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
- * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
- void* to avoid compiler warning.
- (main): Likewise.
- (cls_struct_align_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
- * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
- * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
- userdata unused.
- (cls_ret_schar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
- userdata unused.
- (cls_ret_sint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
- userdata unused.
- (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn): Mark cif and
- userdata unused.
- (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
- userdata unused.
- (cls_ret_uint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
- userdata unused.
- (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
- * testsuite/libffi.call/float1.c (main): Remove unused variable i.
- Cleanup white spaces.
- * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
- * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
- cif and userdata unused.
- * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
- Likewise.
- * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
- formatters to silence gcc.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct4.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct6.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
- * testsuite/libffi.call/problem1.c (stub): Likewise.
- * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
- gcc.
- * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
- in the last commit for this test case in the test case itself.
- * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
- unused.
- * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
- * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
- * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
- * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
- * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
- * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Fix register numbers in the FDE for
- ffi_closure_SYSV.
-
-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.
-
-2006-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
- and cast integer to void * if needed. Update the pointer to
- the FP register saved area correctly.
-
-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.
-
-2006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/return_dbl.c: New test case.
- * testsuite/libffi.call/return_dbl1.c: Likewise.
- * testsuite/libffi.call/return_dbl2.c: Likewise.
- * testsuite/libffi.call/return_fl.c: Likewise.
- * testsuite/libffi.call/return_fl1.c: Likewise.
- * testsuite/libffi.call/return_fl2.c: Likewise.
- * testsuite/libffi.call/return_fl3.c: Likewise.
- * testsuite/libffi.call/closure_fn6.c: Likewise.
-
- * 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.
-
-2006-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.ac: Enable libffi for sparc64-*-freebsd*.
- * configure: Rebuilt.
-
-2006-01-18 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
- instead do the shifting inline.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
- shift count unconditionally. Simplify load sequences for 1, 2, 3, 4
- and 8 byte structs, for the remaining struct sizes don't call
- __lshrdi3, instead do the shifting inline.
-
-2005-12-07 Thiemo Seufer <ths@networkno.de>
-
- * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
- missing parentheses.
- * src/mips/o32.S (ffi_call_O32): Code formatting. Define
- and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
- (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
- A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
- V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
- FA_0_0_OFF2.
- * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
- endianness bugs.
- (ffi_prep_closure): Improve trampoline instruction scheduling.
- (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c: Formatting.
- (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
- (ffi_prep_args64): Likewise.
-
-2005-09-30 Geoffrey Keating <geoffk@apple.com>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
- darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26 Tom Tromey <tromey@redhat.com>
-
- * 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.
-
-2005-08-25 Alan Modra <amodra@bigpond.net.au>
-
- PR target/23404
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
- homed fp args.
- (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11 Jakub Jelinek <jakub@redhat.com>
-
- * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
- (AH_BOTTOM): Add FFI_HIDDEN definition.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * src/powerpc/ffi.c (hidden): Remove.
- (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
- ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
- .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
- * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
- add FFI_HIDDEN to its prototype.
- (ffi_closure_SYSV_inner): New.
- * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
- * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10 Alfred M. Szmidt <ams@gnu.org>
-
- PR libffi/21819:
- * configure: Rebuilt.
- * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
- DW_CFA_offset_extended_sf rather than
- DW_CFA_GNU_negative_offset_extended.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
-
- * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
- on sh3.
- (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
- * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
- partially on register.
- (ffi_closure_helper_SYSV): Likewise.
- (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_call): Handle small structures correctly.
- Remove empty line.
- * src/sh64/ffi.c (simple_type): Remove.
- (return_type): Handle small structures correctly.
- (ffi_prep_args): Likewise.
- (ffi_call): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
- Emit position independent code if PIC and remove wrong datalabel
- prefixes from EH data.
-
-2005-07-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure.ac: Add POWERPC_FREEBSD rules.
- * configure: Regenerate.
- * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
- (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
- * src/powerpc/ffi.c: Add flags to handle small structure returns
- in ffi_call_SYSV.
- (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
- Aka FFI_SYSV.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Add return types for small structures.
- * src/powerpc/sysv.S: Add bits to handle small structures for
- final SYSV 4 ABI.
-
-2005-07-10 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_5_1_byte.c: New test file.
- * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05 Randolph Chung <tausq@debian.org>
-
- * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
- as FFI_TYPE_SMALL_STRUCT3. Break out handling for 5-7 byte
- structures. Kill compilation warnings.
- (ffi_closure_inner_LINUX): Print return values as hex in debug
- message. Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
- Properly handle 5-7 byte structure returns.
- * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
- (FFI_TYPE_SMALL_STRUCT2): Remove.
- (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
- (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
- * src/pa/linux.S: Mark source file as using PA1.1 assembly.
- (checksmst1, checksmst2): Remove.
- (checksmst3): Optimize handling of 3-byte struct returns.
- (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libgcj/21943
- * src/mips/n32.S: Enforce PIC code.
- * src/mips/o32.S: Likewise.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
- * configure: Regenerate.
-
-2005-06-01 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
- to call ffi_closure_helper_SYSV. Append @local instead.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
- Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
- * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
- * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
- include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-05-08 Richard Henderson <rth@redhat.com>
-
- PR libffi/21285
- * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04 Andreas Degert <ad@papyrus-gmbh.de>
- Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
- bit 11 of flags.
- (ffi_call): Mask return type field. Pass ssecount to ffi_call_unix64.
- (ffi_prep_closure): Set carry bit if sse-used flag set.
- * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
- Only load sse registers if ssecount non-zero.
- (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
- powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
- * configure: Regenerate.
-
-2005-04-20 Hans-Peter Nilsson <hp@axis.com>
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
- have Tcl8.3-compatible intermediate variable.
-
-2005-04-18 Simon Posnjak <simon.posnjak@siol.net>
- Hans-Peter Nilsson <hp@axis.com>
-
- * Makefile.am: Add CRIS support.
- * configure.ac: Likewise.
- * Makefile.in, configure, testsuite/Makefile.in,
- include/Makefile.in: Regenerate.
- * src/cris: New directory.
- * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
- * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
- \r?\n in output tests.
-
-2005-04-12 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-03-30 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30 Steve Ellcey <sje@cup.hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
- (ffi_sarg) Ditto.
- * src/ia64/unix.S (ffi_closure_unix): Extend gp
- to 64 bits in ILP32 mode.
- Load 64 bits even for short data.
-
-2005-03-23 Mike Stump <mrs@apple.com>
-
- * src/powerpc/darwin.S: Update for -m64 multilib.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21 Zack Weinberg <zack@codesourcery.com>
-
- * 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.
-
-2005-02-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
- odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR libffi/20104
- * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11 Janis Johnson <janis187@us.ibm.com>
-
- * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
- * testsuite/libffi.call/float.c: Ditto.
- * testsuite/libffi.call/float2.c: Ditto.
- * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * testsuite/libffi.special/special.exp (cxx_options): Add
- -shared-libgcc.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
- (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
- offset parameters with a type parameter; deduce size and structure
- alignment. Update all users.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
- (FFI_TYPE_LONGDOUBLE): Fix for ia64.
- * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
- into ffi_prep_closure.
- * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
- from scratch.
-
-2004-12-27 Richard Henderson <rth@redhat.com>
-
- * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25 Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
- (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
- (merge_classes): Check for it.
- (SSE_CLASS_P): New.
- (classify_argument): Pass byte_offset by value; perform all updates
- inside struct case.
- (examine_argument): Add classes argument; handle
- X86_64_COMPLEX_X87_CLASS.
- (ffi_prep_args): Merge into ...
- (ffi_call): ... here. Share stack frame with ffi_call_unix64.
- (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
- (ffi_fill_return_value): Remove.
- (ffi_prep_closure): Remove dead assert.
- (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
- Rewrite to use struct register_args instead of va_list. Create
- flags for handling structure returns.
- * src/x86/unix64.S: Remove dead strings.
- (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share
- stack frame with ffi_call. Handle structure returns properly.
- (float2sse, floatfloat2sse, double2sse): Remove.
- (sse2float, sse2double, sse2floatfloat): Remove.
- (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite
- to handle structure returns properly.
-
-2004-12-08 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
- PICFLAG.
- * Makefile.in: Regenerated.
-
-2004-12-02 Richard Sandiford <rsandifo@redhat.com>
-
- * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
- * configure, aclocal.m4, Makefile.in: Regenerate.
- * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-25 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool reversion.
-
-2004-11-24 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23 Richard Sandiford <rsandifo@redhat.com>
-
- * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
- of jal. Use an absolute encoding for the frame information.
-
-2004-11-23 Kelley Cook <kcook@gcc.gnu.org>
-
- * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS.
- * acinclude.m4: Delete logic for sincludes.
- * aclocal.m4, Makefile.in, configure: Regenerate.
- * include/Makefile: Likewise.
- * testsuite/Makefile: Likewise.
-
-2004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
- on a 8-byte boundary.
- * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
- long long values. Round stack allocation to a multiple of 8 bytes
- for ATPCS compatibility.
- * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
- names. Handle returning long long types. Add Thumb and interworking
- support. Improve soft-float code.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
- (libffi_exit): New function.
- (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR other/18138
- * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
- * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
- the function returning a structure pointed with R2.
- * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
- the structure return value if T bit set. Emit position
- independent code and EH data if PIC.
-
-2004-10-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * Makefile.am: Add m32r support.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * confiugre: Regenerate.
- * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
- (uint64, sint64, double, longdouble)
- * src/m32r: New directory.
- * src/m32r/ffi.c: New file.
- * src/m32r/sysv.S: Likewise.
- * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * testsuite/libffi.call/negint.c: New test case.
-
-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.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/many_win32.c: Remove whitespaces.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
- whitespaces.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Fix comments and identation.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
- (ffi_prep_args): Handle longdouble arguments.
- (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
- longdouble.
- (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
- * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
- values.
- * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
- * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/aix.S: Remove whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
- * src/powerpc/asm.h: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffitarget.h: Likewise.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
-
-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.in: Read configure.host.
- * 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 shouldn't 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.
-
-2004-08-24 David Daney <daney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
- to zero.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23 David Daney <daney@avtrex.com>
-
- PR libgcj/13141
- * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
- * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
- (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
- parameters and return types.
- (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
- (ffi_prep_closure): Ditto.
- (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
- alignment calculations.
- * src/mips/o32.S (ffi_closure_O32): Don't use floating point
- instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14 Casey Marshall <csm@gnu.org>
-
- * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
- contain `FFI_TYPE_UINT64' as return type for any 64-bit
- integer (O32 ABI only).
- (ffi_prep_closure): new function.
- (ffi_closure_mips_inner_O32): new function.
- * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
- `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
- * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
- 64 bit integers correctly.
- (ffi_closure_O32): new function.
- Added DWARF-2 unwind info for both functions.
-
-2004-08-10 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01 Robert Millan <robertmh@gnu.org>
-
- * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
- * configure: Regenerate.
-
-2004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
-
- * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
- and mmap() explicitly instead of relying on preset autoconf cache
- variables.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
- (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
- character on Darwin, use '\n\t' instead.
-
-2004-06-26 Matthias Klose <doko@debian.org>
-
- * libtool-version: Fix typo in revision/age.
-
-2004-06-17 Matthias Klose <doko@debian.org>
-
- * libtool-version: New.
- * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
- * Makefile.in: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * Makefile.am: Remove useless multilib rules.
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate with automake 1.8.5.
- * configure.ac: Remove useless multilib configury.
- * configure: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * .cvsignore: New file.
-
-2004-06-10 Jakub Jelinek <jakub@redhat.com>
-
- * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
- fp_done.
- (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
- changed from 8.
-
-2004-06-06 Sean McNeil <sean@mcneil.com>
-
- * configure.ac: Add x86_64-*-freebsd* support.
- * configure: Regenerate.
-
-2004-04-26 Joe Buck <jbuck@welsh-buck.org>
-
- Bug 15093
- * configure.ac: Test for existence of mmap and sys/mman.h before
- checking blacklist. Fix suggested by Jim Wilson.
- * configure: Regenerate.
-
-2004-04-26 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
- FDE location.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
- error. Reported by Thomas Heller <theller@python.net>.
- * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20 Matthias Klose <doko@debian.org>
-
- * src/pa/linux.S: Fix typo.
-
-2004-03-19 Matthias Klose <doko@debian.org>
-
- * Makefile.am: Update.
- * Makefile.in: Regenerate.
- * src/pa/ffi.h.in: Remove.
- * src/pa/ffitarget.h: New file.
-
-2004-02-10 Randolph Chung <tausq@debian.org>
-
- * Makefile.am: Add PA support.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * configure.ac: Add PA target.
- * configure: Regenerate.
- * src/pa/ffi.c: New file.
- * src/pa/ffi.h.in: Add PA support.
- * src/pa/linux.S: New file.
- * prep_cif.c: Add PA support.
-
-2004-03-16 Hosaka Yuji <hos@tamanegi.org>
-
- * src/types.c: Fix alignment size of X86_WIN32 case int64 and
- double.
- * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
- with ecif->cif->flags.
- (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
- with cif->flags.
- (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
- (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
- * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
- sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.in: Rename file to ...
- * configure.ac: ... this.
- * fficonfig.h.in: Regenerate.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2004-03-12 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Fix EH information so it corresponds to
- changes in EH format resulting from addition of linkonce support.
- * src/powerpc/darwin_closure.S: Likewise.
-
-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.
-
-2004-03-11 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
- arguments from fp registers only for the first 8 parameter slots.
- Don't convert a float parameter when passed in memory.
-
-2004-03-09 Hans-Peter Nilsson <hp@axis.com>
-
- * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
-
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
- ecif->cif->bytes to bytes.
- (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
- * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
- (ffi_closure_helper_LINUX64): Fix typo.
- * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
- for powerpc64-*-*.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
- long double function return and long double arg handling.
- (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
- Use "end_pfr" instead of "nf". Correct long double handling.
- Localise "temp".
- * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
- return value.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
- space for long double return value. Adjust stack frame and offsets.
- Load f2 long double return.
-
-2004-02-07 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
- when the structure return address is passed in %o0.
- (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
- (ffi_v9_layout_struct): Align the field following a nested structure
- on a word boundary. Use memmove instead of memcpy.
- (ffi_call): Update call to ffi_V9_return_struct.
- (ffi_prep_closure): Define 'ctx' only for V8.
- (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
- and ffi_closure_sparc_inner_v9.
- (ffi_closure_sparc_inner_v8): Return long doubles by reference.
- Always skip the structure return address. For structures and long
- doubles, copy the argument directly.
- (ffi_closure_sparc_inner_v9): Skip the structure return address only
- if required. Shift the maximum floating-point slot accordingly. For
- big structures, copy the argument directly; otherwise, left-justify the
- argument and call ffi_v9_layout_struct to lay out the structure on
- the stack.
- * src/sparc/v8.S: Undef STACKFRAME before defining it.
- (ffi_closure_v8): Pass the structure return address. Update call to
- ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
- Skip the 'unimp' insn when returning long doubles and structures.
- * src/sparc/v9.S: Undef STACKFRAME before defining it.
- (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
- FFI_TYPE_INT handling. Load structures both in integers and
- floating-point registers on return.
- * README: Update status of the SPARC port.
-
-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.
-
-2004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
-
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
- value as of type ffi_arg, not unsigned int.
-
-2004-01-21 Michael Ritzert <ritzert@t-online.de>
-
- * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
- of the LHS.
-
-2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
- Solaris.
-
-2004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
- to void *.
-
-2003-12-10 Richard Henderson <rth@redhat.com>
-
- * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
- size_t instead of int.
-
-2003-12-04 Hosaka Yuji <hos@tamanegi.org>
-
- * testsuite/libffi.call/many_win32.c: Include <float.h>.
- * testsuite/libffi.call/many_win32.c (main): Replace variable
- int i with unsigned long ul.
-
- * testsuite/libffi.call/cls_align_uint64.c: New test case.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02 Hosaka Yuji <hos@tamanegi.org>
-
- PR other/13221
- * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
- Align arguments to 32 bits.
-
-2003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR other/13221
- * testsuite/libffi.call/cls_multi_sshort.c: New test case.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-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.
-
-2003-11-21 Andreas Jaeger <aj@suse.de>
- Andreas Tobler <a.tobler@schweiz.ch>
-
- * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
- * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
- * Makefile.in: Rebuilt.
- * aclocal.m4: Likewise.
- * configure: Likewise.
- * fficonfig.h.in: Likewise.
- * testsuite/lib/libffi-dg.exp: Add include dir.
- * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
- for ffi_closure if available.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
- Add -lgcc_s to additional flags.
-
-2003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.in, include/Makefile.am: PR libgcj/11147, install
- the ffitarget.h header file in a gcc versioned and target
- dependent place.
- * configure: Regenerated.
- * Makefile.in, include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Print result and check
- with dg-output to make debugging easier.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
- static.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_9byte2.c: New test case.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_double.c: Do a check on the result.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/prep_cif.c (ffi_prep_cif): Move the validity check after
- the initialization.
-
-2003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
- FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
- __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-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
-
-2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
- _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
- Used when FFI_DEBUG = 1.
-
-2003-10-14 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
- and align.
-
-2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
- FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
- SPARC64. Cleanup whitespaces.
-
-2003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
- strongarm, xscale. Cleanup whitespaces.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Cleanup whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
- * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
- parameter stack.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
- according to the Darwin/AIX ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_DARWIN): Likewise.
- Remove the outgoing parameter stack logic. Simplify the evaluation
- of the different CASE types.
- (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
- statement in the trampoline code.
-
-2003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
- for the register size.
- (ffi_closure_helper_SYSV): Handle the structure return value
- address correctly.
- (ffi_closure_helper_SYSV): Return the appropriate type when
- the registers are used for the structure return value.
- * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
- the 64-bit return value. Update copyright years.
-
-2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
- srcdir for ffi_mips.h.
-
-2003-09-12 Alan Modra <amodra@bigpond.net.au>
-
- * src/prep_cif.c (initialize_aggregate): Include tail padding in
- structure size.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
- placement of float result.
- * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
- cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Merge identical SH and ARM
- typedefs, and add POWERPC64.
- * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
- struct split over gpr and rest.
- (ffi_prep_cif_machdep): Correct intarg_count for structures.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
- passing correctly.
-
-2003-09-09 Alan Modra <amodra@bigpond.net.au>
-
- * configure: Regenerate.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Remove build rules for ffitest.
- * Makefile.in: Rebuilt.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
- about implicit declaration of abort().
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
- * Makefile.in: Rebuilt.
- * configure.in: Add dejagnu test framework.
- * configure: Rebuilt.
-
- * testsuite/Makefile.am: New file.
- * testsuite/Makefile.in: Built
- * testsuite/lib/libffi-dg.exp: New file.
- * testsuite/config/default.exp: Likewise.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Likewise.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float1.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/many.c: Likewise.
- * testsuite/libffi.call/many_win32.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
- * testsuite/libffi.call/strlen.c: Likewise.
- * testsuite/libffi.call/strlen_win32.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
- * testsuite/libffi.call/struct2.c: Likewise.
- * testsuite/libffi.call/struct3.c: Likewise.
- * testsuite/libffi.call/struct4.c: Likewise.
- * testsuite/libffi.call/struct5.c: Likewise.
- * testsuite/libffi.call/struct6.c: Likewise.
- * testsuite/libffi.call/struct7.c: Likewise.
- * testsuite/libffi.call/struct8.c: Likewise.
- * testsuite/libffi.call/struct9.c: Likewise.
- * testsuite/libffi.special/special.exp: New file.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
- copyright years.
-
-2003-08-02 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
- structure passing.
- (ffi_closure_helper_LINUX64): Likewise.
- * src/powerpc/linux64.S: Remove code writing to parm save area.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
- address in lr from ffi_closure_helper_LINUX64 call to calculate
- table address. Optimize function tail.
-
-2003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/sparc/ffi.c: Handle all floating point registers.
- * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
-
- * README: Note that libffi is not part of GCC. Update the project
- URL and status.
-
-2003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
- Use C style comments.
-
-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
- should be read-only.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * include/ffi.h.in (EH_FRAME_FLAGS): Define.
- * src/alpha/osf.S: Use EH_FRAME_FLAGS.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
- * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
- if -fpic/-fPIC/-mrelocatable.
- * src/powerpc/powerpc_closure.S: Likewise.
- * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
- #write in .eh_frame flags.
- * src/sparc/v9.S: Likewise.
- * src/x86/unix64.S: Use EH_FRAME_FLAGS.
- * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
- * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
-
-2003-05-07 Jeff Sturm <jsturm@one-point.com>
-
- Fixes PR bootstrap/10656
- * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
- support for .register pseudo-op.
- * src/sparc/v8.S: Use it.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2003-04-18 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (POWERPC64): Define if 64-bit.
- (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
- Make it the default on POWERPC64.
- (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
- * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
- * configure: Rebuilt.
- * src/powerpc/ffi.c (hidden): Define.
- (ffi_prep_args_SYSV): Renamed from
- ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
- (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
- ASM_NEEDS_REGISTERS64): New.
- (ffi_prep_args64): New function.
- (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
- (ffi_call): Likewise.
- (ffi_prep_closure): Likewise.
- (flush_icache): Surround by #ifndef POWERPC64.
- (ffi_dblfl): New union type.
- (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
- (ffi_closure_helper_LINUX64): New function.
- * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
- __powerpc64__.
- * src/powerpc/sysv.S: Likewise.
- (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
- * src/powerpc/linux64.S: New file.
- * src/powerpc/linux64_closure.S: New file.
- * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
- src/powerpc/linux64_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
- * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
- closure_test_fn3): Fix result printing on big-endian 64-bit
- machines.
- (main): Print tst2_arg instead of uninitialized tst2_result.
-
- * src/ffitest.c (main): Hide what closure pointer really points to
- from the compiler.
-
-2003-04-16 Richard Earnshaw <rearnsha@arm.com>
-
- * configure.in (arm-*-netbsdelf*): Add configuration.
- (configure): Regenerated.
-
-2003-04-04 Loren J. Rittle <ljrittle@acm.org>
-
- * include/Makefile.in: Regenerate.
-
-2003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
-
- * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
- bit mode.
- * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
- Receive closure pointer through parameter, read args using
- __builtin_dwarf_cfa.
- (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12 Andreas Schwab <schwab@suse.de>
-
- * configure.in: Avoid trailing /. in toolexeclibdir.
- * configure: Rebuilt.
-
-2003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/powerpc/darwin_closure.S:
- Fix alignement bug, allocate 8 bytes for the result.
- * libffi/src/powerpc/aix_closure.S:
- Likewise.
- * libffi/src/powerpc/ffi_darwin.c:
- Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06 Jakub Jelinek <jakub@redhat.com>
-
- * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
- attribute.
-
-2003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
- Andreas Schwab <schwab@suse.de>
-
- * configure.in: Adjust command to source config-ml.in to account
- for changes to the libffi_basedir definition.
- (libffi_basedir): Remove ${srcdir} from value and include trailing
- slash if nonempty.
-
- * configure: Regenerate.
-
-2003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
- * src/x86/ffi64.c (ffi_prep_closure): New.
- (ffi_closure_UNIX64_inner): New.
- * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
- Remove USE_LIBDIR conditional.
- * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
- * Makefile.in, configure: Rebuilt.
-
-2003-01027 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
- * Makefile.in: Regenerate.
-
-2003-01-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
- unwind info.
-
-2003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Add unwind info.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
- (ffi_prep_cif_machdep): Likewise.
- * src/x86/unix64.S: Add unwind info.
-
-2003-01-14 Andreas Jaeger <aj@suse.de>
-
- * src/ffitest.c (main): Only use ffi_closures if those are
- supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/ffitest.c
- add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
- * libffi/src/powerpc/ffi.c
- fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c: Remove RCS version string.
- * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
- * src/ffitest.c (main): Use static storage for closure.
- * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
- * src/sparc/v8.S (ffi_closure_v8): New.
- * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10 Ranjit Mathew <rmathew@hotmail.com>
-
- * include/ffi.h.in: Added FFI_STDCALL ffi_type
- enumeration for X86_WIN32.
- * src/x86/win32.S: Added ffi_call_STDCALL function
- definition.
- * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
- switch cases for recognising FFI_STDCALL and
- calling ffi_call_STDCALL if target is X86_WIN32.
- * src/ffitest.c (my_stdcall_strlen/stdcall_many):
- stdcall versions of the "my_strlen" and "many"
- test functions (for X86_WIN32).
- Added test cases to test stdcall invocation using
- these functions.
-
-2002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26 Jim Wilson <wilson@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23 H.J. Lu <hjl@gnu.org>
-
- * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
- Include ../config/accross.m4.
- * aclocal.m4; Rebuild.
- * configure: Likewise.
-
-2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11 DJ Delorie <dj@redhat.com>
-
- * configure.in: Look for common files in the right place.
-
-2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
- raw data as _Jv_word values, not ffi_raw.
- (ffi_java_ptrarray_to_raw): Likewise.
- (ffi_java_rvalue_to_raw): New function.
- (ffi_java_raw_call): Call it.
- (ffi_java_raw_to_rvalue): New function.
- (ffi_java_translate_args): Call it.
- * src/ffitest.c (closure_test_fn): Interpret return value
- as ffi_arg, not int.
- * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
- FFI_TYPE_POINTER case.
- (ffi_closure_helper_SYSV): Likewise. Also, assume return
- values extended to word size.
-
-2002-10-02 Andreas Jaeger <aj@suse.de>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01 Bo Thorsen <bo@smetana.suse.de>
-
- * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
-
- * configure.in: Add s390x-*-linux-* target.
- * configure: Regenerate.
- * include/ffi.h.in: Define S390X for s390x targets.
- (FFI_CLOSURES): Define for s390/s390x.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
- * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
- * src/s390/ffi.c: Major rework of existing code. Add support for
- s390x targets. Add closure support.
- * src/s390/sysv.S: Likewise.
-
-2002-09-29 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: Fix typo.
-
-2002-09-28 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
- has defined __USER_LABEL_PREFIX__, then use it in CNAME.
- (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27 Bo Thorsen <bo@suse.de>
-
- * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * configure.in (sh[34]*-*-linux*): Add brackets.
- * configure: Regenerate.
-
-2002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * Makefile.am: Add SH support.
- * Makefile.in: Regenerate.
- * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
- * configure: Regenerate.
- * include/ffi.h.in: Add SH support.
- * src/sh/ffi.c: New file.
- * src/sh/sysv.S: New file.
- * src/types.c: Add SH support.
-
-2002-07-16 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi64.c: New file that adds x86-64 support.
- * src/x86/unix64.S: New file that handles argument setup for
- x86-64.
- * src/x86/sysv.S: Don't use this on x86-64.
- * src/x86/ffi.c: Don't use this on x86-64.
- Remove unused vars.
- * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
- for x86-64.
- * src/ffitest.c (struct6): New test that tests a special case in
- the x86-64 ABI.
- (struct7): Likewise.
- (struct8): Likewise.
- (struct9): Likewise.
- (closure_test_fn): Silence warning about this when it's not used.
- (main): Add the new tests.
- (main): Fix a couple of wrong casts and silence some compiler warnings.
- * include/ffi.h.in: Add x86-64 ABI definition.
- * fficonfig.h.in: Regenerate.
- * Makefile.am: Add x86-64 support.
- * configure.in: Likewise.
- * Makefile.in: Regenerate.
- * configure: Likewise.
-
-2002-06-24 Bo Thorsen <bo@suse.de>
-
- * src/types.c: Merge settings for similar architectures.
- Add x86-64 sizes and alignments.
-
-2002-06-23 Bo Thorsen <bo@suse.de>
-
- * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
- * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
- * src/mips/ffi.c (ffi_prep_args): Likewise.
- * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18 H.J. Lu (hjl@gnu.org)
-
- * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
- (libffi_la_SOURCES): Support MIPS_LINUX.
- (libffi_convenience_la_SOURCES): Likewise.
- * Makefile.in: Regenerated.
-
- * configure.in (mips64*-*): Skip.
- (mips*-*-linux*): New.
- * configure: Regenerated.
-
- * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
-
-2002-05-27 Roger Sayle <roger@eyesopen.com>
-
- * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
- fix formatting.
-
-2002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
- beginning of function (for older apple cc).
-
-2002-05-08 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
- script entry, and set LD to it when configuring multilibs.
- * configure: Rebuilt.
-
-2002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (sparc64-*-netbsd*): Add target.
- (sparc-*-netbsdelf*): Likewise.
- * configure: Regenerate.
-
-2002-04-28 David S. Miller <davem@redhat.com>
-
- * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
-
- * Makefile.am: Add Linux for S/390 support.
- * Makefile.in: Regenerate.
- * configure.in: Add Linux for S/390 support.
- * configure: Regenerate.
- * include/ffi.h.in: Add Linux for S/390 support.
- * src/s390/ffi.c: New file from libffi CVS tree.
- * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
- %r_disp32().
- * src/sparc/v8.S: Use it.
- * src/sparc/v9.S: Likewise.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2002-04-08 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
- correctly.
- * src/ia64/unix.S: Add unwind information. Fix comments.
- Save sp in a way that's compatible with unwind info.
- (ffi_call_unix): Correctly restore sp in all cases.
- * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08 Jakub Jelinek <jakub@redhat.com>
-
- * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (alpha*-*-netbsd*): Add target.
- * configure: Regenerate.
-
-2002-04-04 Jeff Sturm <jsturm@one-point.com>
-
- * src/sparc/v8.S: Add unwind info.
- * src/sparc/v9.S: Likewise.
-
-2002-03-30 Krister Walfridsson <cato@df.lth.se>
-
- * configure.in: Enable i*86-*-netbsdelf*.
- * configure: Rebuilt.
-
-2002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
-
- PR other/2620
- * src/mips/n32.s: Delete
- * src/mips/o32.s: Delete
-
-2002-03-21 Loren J. Rittle <ljrittle@acm.org>
-
- * configure.in: Enable alpha*-*-freebsd*.
- * configure: Rebuilt.
-
-2002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * Makefile.am: libfficonvenience -> libffi_convenience.
- * Makefile.in: Rebuilt.
-
- * Makefile.am: Define ffitest_OBJECTS.
- * Makefile.in: Rebuilt.
-
-2002-03-07 Andreas Tobler <toa@pop.agri.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
- (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
- (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
- * Makefile.in: Regenerate.
- * include/ffi.h.in: Add AIX and Darwin closure definitions.
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
- (flush_icache, flush_range): New functions.
- (ffi_closure_helper_DARWIN): New function.
- * src/powerpc/aix_closure.S: New file.
- * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add typedef for ffi_arg.
- * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21 Andreas Tobler <toa@pop.agri.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
- number of GPRs for floating-point arguments.
-
-2002-01-31 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Replace CHECK_SIZEOF and endian tests with
- cross-compiler friendly macros.
- * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
- macros.
-
-2002-01-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): New.
- * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
- (TARGET_SRC_POWERPC_AIX): New.
- (POWERPC_AIX): New stanza.
- * Makefile.in: Regenerate.
- * configure.in: Add AIX case.
- * configure: Regenerate.
- * include/ffi.h.in (ffi_abi): Add FFI_AIX.
- * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
- size. Fix "long double" support.
- (ffi_call): Add FFI_AIX case.
- * src/powerpc/aix.S: New.
-
-2001-10-09 John Hornkvist <john@toastedmarshmallow.com>
-
- Implement Darwin PowerPC ABI.
- * configure.in: Handle powerpc-*-darwin*.
- * Makefile.am: Set source files for POWERPC_DARWIN.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
- * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
- POWERPC_DARWIN.
- * src/powerpc/darwin.S: New file.
- * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .balign directive.
- Use C style comments.
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
- Fixes PR bootstrap/3563.
-
-2001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.in: Recognize sparc*-sun-* host.
- * configure: Regenerate.
-
-2001-06-06 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S: Add unwind info.
- * src/powerpc/sysv.S: Add unwind info.
- * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31 Jeff Sturm <jsturm@one-point.com>
-
- * configure.in: Fix AC_ARG_ENABLE usage.
- * configure: Rebuilt.
-
-2001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * configure.in: Remove warning about beta code.
- * configure: Rebuilt.
-
-2001-04-25 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/ia64/unix.S: Restore stack pointer when returning from
- ffi_closure_UNIX.
- * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18 Jim Wilson <wilson@redhat.com>
-
- * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
- to eliminate RAW DV.
-
-2001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
-
- * Makefile.am: Make a libtool convenience library.
- * Makefile.in: Rebuilt.
-
-2001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Use different syntax for subdirectory creation.
- * configure: Rebuilt.
-
-2001-03-27 Jon Beniston <jon@beniston.com>
-
- * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
- * configure: Rebuilt.
- * Makefile.am: Added X86_WIN32 target support.
- * Makefile.in: Rebuilt.
-
- * include/ffi.h.in: Added X86_WIN32 target support.
-
- * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
- * src/types.c: Added X86_WIN32 target support.
-
- * src/x86/win32.S: New file. Based on sysv.S, but with EH
- stuff removed and made to work with CygWin's gas.
-
-2001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Make target subdirectory in build dir.
- * Makefile.am: Override suffix based rules to specify correct output
- subdirectory.
- * Makefile.in: Rebuilt.
- * configure: Rebuilt.
-
-2001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
-
- * src/powerpc/ppc_closure.S: New file.
- * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
- involving long long and register pairs.
- (ffi_prep_closure): New function.
- (flush_icache): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * Makefile.in: Rebuilt.
- * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19 Tom Tromey <tromey@redhat.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02 Nick Clifton <nickc@redhat.com>
-
- * include/ffi.h.in: Remove RCS ident string.
- * include/ffi_mips.h: Remove RCS ident string.
- * src/debug.c: Remove RCS ident string.
- * src/ffitest.c: Remove RCS ident string.
- * src/prep_cif.c: Remove RCS ident string.
- * src/types.c: Remove RCS ident string.
- * src/alpha/ffi.c: Remove RCS ident string.
- * src/alpha/osf.S: Remove RCS ident string.
- * src/arm/ffi.c: Remove RCS ident string.
- * src/arm/sysv.S: Remove RCS ident string.
- * src/mips/ffi.c: Remove RCS ident string.
- * src/mips/n32.S: Remove RCS ident string.
- * src/mips/o32.S: Remove RCS ident string.
- * src/sparc/ffi.c: Remove RCS ident string.
- * src/sparc/v8.S: Remove RCS ident string.
- * src/sparc/v9.S: Remove RCS ident string.
- * src/x86/ffi.c: Remove RCS ident string.
- * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * include/ffi.h.in: Change sourceware.cygnus.com references to
- gcc.gnu.org.
-
-2000-12-09 Richard Henderson <rth@redhat.com>
-
- * src/alpha/ffi.c (ffi_call): Simplify struct return test.
- (ffi_closure_osf_inner): Index rather than increment avalue
- and arg_types. Give ffi_closure_osf the raw return value type.
- * src/alpha/osf.S (ffi_closure_osf): Handle return value type
- promotion.
-
-2000-12-07 Richard Henderson <rth@redhat.com>
-
- * src/raw_api.c (ffi_translate_args): Fix typo.
- (ffi_prep_closure): Likewise.
-
- * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
- FFI_TRAMPOLINE_SIZE.
- * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
- cif->bytes for new ffi_call_osf implementation.
- (ffi_prep_args): Absorb into ...
- (ffi_call): ... here. Do all stack allocation here and
- avoid a callback function.
- (ffi_prep_closure, ffi_closure_osf_inner): New.
- * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
- (ffi_closure_osf): New.
-
-2000-09-10 Alexandre Oliva <aoliva@redhat.com>
-
- * config.guess, config.sub, install-sh: Removed.
- * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
- * Makefile.in: Rebuilt.
-
- * acinclude.m4: Include libtool macros from the top level.
- * aclocal.m4, configure: Rebuilt.
-
-2000-08-22 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
- * configure: Rebuilt.
-
-2000-05-11 Scott Bambrough <scottb@netwinder.org>
-
- * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
- memory correctly. Use conditional instructions, not branches where
- possible.
-
-2000-05-04 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Match `arm*-*-linux-*'.
- From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (SUBDIRS): Define.
- (AM_MAKEFLAGS): Likewise.
- (Multilib support.): Add section.
- * Makefile.in: Rebuilt.
- * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
- New variables. Set for gcc using -print-multi-lib. Export them
- to libtool.
- (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
- * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
- for -shared links.
- (extra_compiler_flags_value, extra_compiler_flags): Check these
- for extra compiler options which need to be passed down in
- compiler_flags.
-
-2000-04-16 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
- Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
- * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
- Replace all void * sizeofs with sizeof(int).
- Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
- different than DOUBLE.
- Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
- (ffi_prep_args_v9): New function.
- (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
- (ffi_V9_return_struct): New function.
- (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
- 32bit code (not yet cross-arch calls).
- * src/sparc/v8.S: Add struct return delay nop.
- Handle long long.
- * src/sparc/v9.S: New file.
- * src/prep_cif.c (ffi_prep_cif): Return structure pointer
- is used on sparc64 only for structures larger than 32 bytes.
- Pass by reference for structures is done for structure arguments
- larger than 16 bytes.
- * src/ffitest.c (main): Use 64bit rint on sparc64.
- Run long long tests on sparc.
- * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
- sparc64.
- (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
- on sparc64.
- * configure.in (sparc-*-linux*): New supported target.
- (sparc64-*-linux*): Likewise.
- * configure: Rebuilt.
- * Makefile.am: Add v9.S to SPARC files.
- * Makefile.in: Likewise.
- (LINK): Surround $(CCLD) into double quotes, so that multilib
- compiles work correctly.
-
-2000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: (i*86-*-solaris*): New libffi target. Patch
- proposed by Bryce McKinlay.
-
-2000-03-20 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
-
- * config.guess, config.sub: Update from the gcc tree.
- Fix for PR libgcj/168.
-
-2000-03-03 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Fixed ia64 by hand.
-
- * configure: Rebuilt.
- * configure.in (--enable-multilib): New option.
- (libffi_basedir): New subst.
- (AC_OUTPUT): Added multilib code.
-
-2000-03-02 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
- directory name.
-
-2000-02-25 Hans Boehm <boehm@acm.org>
-
- * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
- files.
- * src/raw_api.c (ffi_translate_args): Fixed typo in argument
- list.
- (ffi_prep_raw_closure): Use ffi_translate_args, not
- ffi_closure_translate.
- * src/java_raw_api.c: New file.
- * src/ffitest.c (closure_test_fn): New function.
- (main): Define `rint' as long long on IA64. Added new test when
- FFI_CLOSURES is defined.
- * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
- (ffi_abi): Recognize IA64.
- (ffi_raw): Added `flt' field.
- Added "Java raw API" code.
- * configure.in: Recognize ia64.
- * Makefile.am (TARGET_SRC_IA64): New macro.
- (libffi_la_common_SOURCES): Added java_raw_api.c.
- (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01 Tom Tromey <tromey@cygnus.com>
-
- * include/ffi.h.in: Removed PACKAGE and VERSION defines and
- undefs.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
- * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
- Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
- * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09 Anthony Green <green@cygnus.com>
-
- * include/ffi.h.in: Try to work around messy header problem
- with PACKAGE and VERSION.
-
- * configure: Rebuilt.
- * configure.in: Change version to 2.00-beta.
-
- * fficonfig.h.in: Rebuilt.
- * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
- * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
-
- * src/x86/ffi.c (ffi_closure_SYSV): New function.
- (ffi_prep_incoming_args_SYSV): Ditto.
- (ffi_prep_closure): Ditto.
- (ffi_closure_raw_SYSV): Ditto.
- (ffi_prep_raw_closure): More ditto.
- (ffi_call_raw): Final ditto.
-
- * include/ffi.h.in: Add definitions for closure and raw API.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
- FFI_TYPE_UINT64.
-
- * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
- * src/raw_api.c: New file.
-
- * include/ffi.h.in (ffi_raw): New type.
- (UINT_ARG, SINT_ARG): New defines.
- (ffi_closure, ffi_raw_closure): New types.
- (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
- * configure.in: Add check for endianness and sizeof void*.
-
- * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
- instead of directly.
-
- * configure: Rebuilt.
-
-Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
-
- * configure.in: Add x86 and powerpc BeOS configurations.
- From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09 Anthony Green <green@cygnus.com>
-
- * configure.in: Add warning about this being beta code.
- Remove src/Makefile.am from the picture.
- * configure: Rebuilt.
-
- * Makefile.am: Move logic from src/Makefile.am. Add changes
- to support libffi as a target library.
- * Makefile.in: Rebuilt.
-
- * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
- Upgraded to new autoconf, automake, libtool.
-
- * README: Tweaks.
-
- * LICENSE: Update copyright date.
-
- * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29 Anthony Green <green@cygnus.com>
-
- * include/ChangeLog: Removed.
- * src/ChangeLog: Removed.
- * src/mips/ChangeLog: Removed.
- * src/sparc/ChangeLog: Remboved.
- * src/x86/ChangeLog: Removed.
-
- * ChangeLog.v1: Created.
diff --git a/.pc/amiga/README b/.pc/amiga/README
deleted file mode 100644
index 46969cc..0000000
--- a/.pc/amiga/README
+++ /dev/null
@@ -1,345 +0,0 @@
-Status
-======
-
-libffi-3.0.11 was released on *****************. Check the libffi web
-page for updates: <URL:http://sourceware.org/libffi/>.
-
-
-What is libffi?
-===============
-
-Compilers for high level languages generate code that follow certain
-conventions. These conventions are necessary, in part, for separate
-compilation to work. One such convention is the "calling
-convention". The "calling convention" is essentially a set of
-assumptions made by the compiler about where function arguments will
-be found on entry to a function. A "calling convention" also specifies
-where the return value for a function is found.
-
-Some programs may not know at the time of compilation what arguments
-are to be passed to a function. For instance, an interpreter may be
-told at run-time about the number and types of arguments used to call
-a given function. Libffi can be used in such programs to provide a
-bridge from the interpreter program to compiled code.
-
-The libffi library provides a portable, high level programming
-interface to various calling conventions. This allows a programmer to
-call any function specified by a call interface description at run
-time.
-
-FFI stands for Foreign Function Interface. A foreign function
-interface is the popular name for the interface that allows code
-written in one language to call code written in another language. The
-libffi library really only provides the lowest, machine dependent
-layer of a fully featured foreign function interface. A layer must
-exist above libffi that handles type conversions for values passed
-between the two languages.
-
-
-Supported Platforms
-===================
-
-Libffi has been ported to many different platforms.
-For specific configuration details and testing status, please
-refer to the wiki page here:
-
- http://www.moxielogic.org/wiki/index.php?title=Libffi_3.0.11
-
-At the time of release, the following basic configurations have been
-tested:
-
-|--------------+------------------|
-| Architecture | Operating System |
-|--------------+------------------|
-| Alpha | Linux |
-| Alpha | Tru64 |
-| ARM | Linux |
-| ARM | iOS |
-| AVR32 | Linux |
-| HPPA | HPUX |
-| IA-64 | Linux |
-| M68K | RTEMS |
-| MIPS | IRIX |
-| MIPS | Linux |
-| MIPS | RTEMS |
-| MIPS64 | Linux |
-| PowerPC | Linux |
-| PowerPC | Mac OSX |
-| PowerPC | FreeBSD |
-| PowerPC64 | Linux |
-| S390 | Linux |
-| S390X | Linux |
-| SPARC | Linux |
-| SPARC | Solaris |
-| SPARC64 | Linux |
-| SPARC64 | FreeBSD |
-| X86 | FreeBSD |
-| X86 | Interix |
-| X86 | kFreeBSD |
-| X86 | Linux |
-| X86 | Mac OSX |
-| X86 | OpenBSD |
-| X86 | OS/2 |
-| X86 | Solaris |
-| X86 | Windows/Cygwin |
-| X86 | Windows/MingW |
-| X86-64 | FreeBSD |
-| X86-64 | Linux |
-| X86-64 | OpenBSD |
-| X86-64 | Windows/MingW |
-|--------------+------------------|
-
-Please send additional platform test results to
-libffi-discuss@sourceware.org and feel free to update the wiki page
-above.
-
-Installing libffi
-=================
-
-First you must configure the distribution for your particular
-system. Go to the directory you wish to build libffi in and run the
-"configure" program found in the root directory of the libffi source
-distribution.
-
-You may want to tell configure where to install the libffi library and
-header files. To do that, use the --prefix configure switch. Libffi
-will install under /usr/local by default.
-
-If you want to enable extra run-time debugging checks use the the
---enable-debug configure switch. This is useful when your program dies
-mysteriously while using libffi.
-
-Another useful configure switch is --enable-purify-safety. Using this
-will add some extra code which will suppress certain warnings when you
-are using Purify with libffi. Only use this switch when using
-Purify, as it will slow down the library.
-
-It's also possible to build libffi on Windows platforms with
-Microsoft's Visual C++ compiler. In this case, use the msvcc.sh
-wrapper script during configuration like so:
-
-path/to/configure CC=path/to/msvcc.sh LD=link CPP=\"cl -nologo -EP\"
-
-For 64-bit Windows builds, use CC="path/to/msvcc.sh -m64".
-You may also need to specify --build appropriately. When building with MSVC
-under a MingW environment, you may need to remove the line in configure
-that sets 'fix_srcfile_path' to a 'cygpath' command. ('cygpath' is not
-present in MingW, and is not required when using MingW-style paths.)
-
-For iOS builds, refer to the build-ios.sh script for guidance.
-
-Configure has many other options. Use "configure --help" to see them all.
-
-Once configure has finished, type "make". Note that you must be using
-GNU make. You can ftp GNU make from prep.ai.mit.edu:/pub/gnu.
-
-To ensure that libffi is working as advertised, type "make check".
-This will require that you have DejaGNU installed.
-
-To install the library and header files, type "make install".
-
-
-History
-=======
-
-See the ChangeLog files for details.
-
-3.0.11 MMM-DD-YY
- ??????????
-
-3.0.10 Aug-23-11
- Add support for Apple's iOS.
- Add support for ARM VFP ABI.
- Add RTEMS support for MIPS and M68K.
- Fix instruction cache clearing problems on
- ARM and SPARC.
- Fix the N64 build on mips-sgi-irix6.5.
- Enable builds with Microsoft's compiler.
- Enable x86 builds with Oracle's Solaris compiler.
- Fix support for calling code compiled with Oracle's Sparc
- Solaris compiler.
- Testsuite fixes for Tru64 Unix.
- Additional platform support.
-
-3.0.9 Dec-31-09
- Add AVR32 and win64 ports. Add ARM softfp support.
- Many fixes for AIX, Solaris, HP-UX, *BSD.
- Several PowerPC and x86-64 bug fixes.
- Build DLL for windows.
-
-3.0.8 Dec-19-08
- Add *BSD, BeOS, and PA-Linux support.
-
-3.0.7 Nov-11-08
- Fix for ppc FreeBSD.
- (thanks to Andreas Tobler)
-
-3.0.6 Jul-17-08
- Fix for closures on sh.
- Mark the sh/sh64 stack as non-executable.
- (both thanks to Kaz Kojima)
-
-3.0.5 Apr-3-08
- Fix libffi.pc file.
- Fix #define ARM for IcedTea users.
- Fix x86 closure bug.
-
-3.0.4 Feb-24-08
- Fix x86 OpenBSD configury.
-
-3.0.3 Feb-22-08
- Enable x86 OpenBSD thanks to Thomas Heller, and
- x86-64 FreeBSD thanks to Björn König and Andreas Tobler.
- Clean up test instruction in README.
-
-3.0.2 Feb-21-08
- Improved x86 FreeBSD support.
- Thanks to Björn König.
-
-3.0.1 Feb-15-08
- Fix instruction cache flushing bug on MIPS.
- Thanks to David Daney.
-
-3.0.0 Feb-15-08
- Many changes, mostly thanks to the GCC project.
- Cygnus Solutions is now Red Hat.
-
- [10 years go by...]
-
-1.20 Oct-5-98
- Raffaele Sena produces ARM port.
-
-1.19 Oct-5-98
- Fixed x86 long double and long long return support.
- m68k bug fixes from Andreas Schwab.
- Patch for DU assembler compatibility for the Alpha from Richard
- Henderson.
-
-1.18 Apr-17-98
- Bug fixes and MIPS configuration changes.
-
-1.17 Feb-24-98
- Bug fixes and m68k port from Andreas Schwab. PowerPC port from
- Geoffrey Keating. Various bug x86, Sparc and MIPS bug fixes.
-
-1.16 Feb-11-98
- Richard Henderson produces Alpha port.
-
-1.15 Dec-4-97
- Fixed an n32 ABI bug. New libtool, auto* support.
-
-1.14 May-13-97
- libtool is now used to generate shared and static libraries.
- Fixed a minor portability problem reported by Russ McManus
- <mcmanr@eq.gs.com>.
-
-1.13 Dec-2-96
- Added --enable-purify-safety to keep Purify from complaining
- about certain low level code.
- Sparc fix for calling functions with < 6 args.
- Linux x86 a.out fix.
-
-1.12 Nov-22-96
- Added missing ffi_type_void, needed for supporting void return
- types. Fixed test case for non MIPS machines. Cygnus Support
- is now Cygnus Solutions.
-
-1.11 Oct-30-96
- Added notes about GNU make.
-
-1.10 Oct-29-96
- Added configuration fix for non GNU compilers.
-
-1.09 Oct-29-96
- Added --enable-debug configure switch. Clean-ups based on LCLint
- feedback. ffi_mips.h is always installed. Many configuration
- fixes. Fixed ffitest.c for sparc builds.
-
-1.08 Oct-15-96
- Fixed n32 problem. Many clean-ups.
-
-1.07 Oct-14-96
- Gordon Irlam rewrites v8.S again. Bug fixes.
-
-1.06 Oct-14-96
- Gordon Irlam improved the sparc port.
-
-1.05 Oct-14-96
- Interface changes based on feedback.
-
-1.04 Oct-11-96
- Sparc port complete (modulo struct passing bug).
-
-1.03 Oct-10-96
- Passing struct args, and returning struct values works for
- all architectures/calling conventions. Expanded tests.
-
-1.02 Oct-9-96
- Added SGI n32 support. Fixed bugs in both o32 and Linux support.
- Added "make test".
-
-1.01 Oct-8-96
- Fixed float passing bug in mips version. Restructured some
- of the code. Builds cleanly with SGI tools.
-
-1.00 Oct-7-96
- First release. No public announcement.
-
-
-Authors & Credits
-=================
-
-libffi was originally written by Anthony Green <green@redhat.com>.
-
-The developers of the GNU Compiler Collection project have made
-innumerable valuable contributions. See the ChangeLog file for
-details.
-
-Some of the ideas behind libffi were inspired by Gianni Mariani's free
-gencall library for Silicon Graphics machines.
-
-The closure mechanism was designed and implemented by Kresten Krab
-Thorup.
-
-Major processor architecture ports were contributed by the following
-developers:
-
-alpha Richard Henderson
-arm Raffaele Sena
-cris Simon Posnjak, Hans-Peter Nilsson
-frv Anthony Green
-ia64 Hans Boehm
-m32r Kazuhiro Inaoka
-m68k Andreas Schwab
-mips Anthony Green, Casey Marshall
-mips64 David Daney
-pa Randolph Chung, Dave Anglin, Andreas Tobler
-powerpc Geoffrey Keating, Andreas Tobler,
- David Edelsohn, John Hornkvist
-powerpc64 Jakub Jelinek
-s390 Gerhard Tonn, Ulrich Weigand
-sh Kaz Kojima
-sh64 Kaz Kojima
-sparc Anthony Green, Gordon Irlam
-x86 Anthony Green, Jon Beniston
-x86-64 Bo Thorsen
-
-Jesper Skov and Andrew Haley both did more than their fair share of
-stepping through the code and tracking down bugs.
-
-Thanks also to Tom Tromey for bug fixes, documentation and
-configuration help.
-
-Thanks to Jim Blandy, who provided some useful feedback on the libffi
-interface.
-
-Andreas Tobler has done a tremendous amount of work on the testsuite.
-
-Alex Oliva solved the executable page problem for SElinux.
-
-The list above is almost certainly incomplete and inaccurate. I'm
-happy to make corrections or additions upon request.
-
-If you have a problem, or have found a bug, please send a note to the
-author at green@moxielogic.com, or the project mailing list at
-libffi-discuss@sourceware.org.
diff --git a/.pc/amiga/configure b/.pc/amiga/configure
deleted file mode 100755
index 73a60ef..0000000
--- a/.pc/amiga/configure
+++ /dev/null
@@ -1,16062 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for libffi 3.0.11-rc2.
-#
-# Report bugs to <http://github.com/atgreen/libffi/issues>.
-#
-#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-# Foundation, Inc.
-#
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in #(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test "x$CONFIG_SHELL" = x; then
- as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '\${1+\"\$@\"}'='\"\$@\"'
- setopt NO_GLOB_SUBST
-else
- case \`(set -o) 2>/dev/null\` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-"
- as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-
-else
- exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1"
- as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
- as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
- eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
- test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-
- test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
- ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
- ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
- ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
- PATH=/empty FPATH=/empty; export PATH FPATH
- test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
- || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
- if (eval "$as_required") 2>/dev/null; then :
- as_have_required=yes
-else
- as_have_required=no
-fi
- if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- as_found=:
- case $as_dir in #(
- /*)
- for as_base in sh bash ksh sh5; do
- # Try only shells that exist, to save several forks.
- as_shell=$as_dir/$as_base
- if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
- CONFIG_SHELL=$as_shell as_have_required=yes
- if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
- break 2
-fi
-fi
- done;;
- esac
- as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
- CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
- if test "x$CONFIG_SHELL" != x; then :
- # We cannot yet assume a decent shell, so we have to provide a
- # neutralization value for shells without unset; and this also
- # works around shells that cannot unset nonexistent variables.
- # Preserve -v and -x to the replacement shell.
- BASH_ENV=/dev/null
- ENV=/dev/null
- (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
- export CONFIG_SHELL
- case $- in # ((((
- *v*x* | *x*v* ) as_opts=-vx ;;
- *v* ) as_opts=-v ;;
- *x* ) as_opts=-x ;;
- * ) as_opts= ;;
- esac
- exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
-fi
-
- if test x$as_have_required = xno; then :
- $as_echo "$0: This script requires a shell more modern than all"
- $as_echo "$0: the shells that I found on your system."
- if test x${ZSH_VERSION+set} = xset ; then
- $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
- $as_echo "$0: be upgraded to zsh 4.3.4 or later."
- else
- $as_echo "$0: Please tell bug-autoconf@gnu.org and
-$0: http://github.com/atgreen/libffi/issues about your
-$0: system, including any error possibly output before this
-$0: message. Then install a modern shell, or manually run
-$0: the script under such a shell if you do have one."
- fi
- exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} # as_fn_exit
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- fi
- $as_echo "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} # as_fn_error
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
- as_lineno_1=$LINENO as_lineno_1a=$LINENO
- as_lineno_2=$LINENO as_lineno_2a=$LINENO
- eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
- test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
- # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
- sed -n '
- p
- /[$]LINENO/=
- ' <$as_myself |
- sed '
- s/[$]LINENO.*/&-/
- t lineno
- b
- :lineno
- N
- :loop
- s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
- t loop
- s/-\n.*//
- ' >$as_me.lineno &&
- chmod +x "$as_me.lineno" ||
- { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensitive to this).
- . "./$as_me.lineno"
- # Exit status is that of the last command.
- exit
-}
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -p'
- fi
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in #(
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-
-test -n "$DJDIR" || exec 7<&0 </dev/null
-exec 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-
-# Identity of this package.
-PACKAGE_NAME='libffi'
-PACKAGE_TARNAME='libffi'
-PACKAGE_VERSION='3.0.11-rc2'
-PACKAGE_STRING='libffi 3.0.11-rc2'
-PACKAGE_BUGREPORT='http://github.com/atgreen/libffi/issues'
-PACKAGE_URL=''
-
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-# include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-# include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='am__EXEEXT_FALSE
-am__EXEEXT_TRUE
-LTLIBOBJS
-LIBOBJS
-toolexeclibdir
-toolexecdir
-FFI_DEBUG_FALSE
-FFI_DEBUG_TRUE
-TARGETDIR
-TARGET
-FFI_EXEC_TRAMPOLINE_TABLE
-FFI_EXEC_TRAMPOLINE_TABLE_FALSE
-FFI_EXEC_TRAMPOLINE_TABLE_TRUE
-sys_symbol_underscore
-HAVE_LONG_DOUBLE
-ALLOCA
-PA64_HPUX_FALSE
-PA64_HPUX_TRUE
-PA_HPUX_FALSE
-PA_HPUX_TRUE
-PA_LINUX_FALSE
-PA_LINUX_TRUE
-SH64_FALSE
-SH64_TRUE
-SH_FALSE
-SH_TRUE
-X86_64_FALSE
-X86_64_TRUE
-S390_FALSE
-S390_TRUE
-FRV_FALSE
-FRV_TRUE
-LIBFFI_CRIS_FALSE
-LIBFFI_CRIS_TRUE
-AVR32_FALSE
-AVR32_TRUE
-ARM_FALSE
-ARM_TRUE
-POWERPC_FREEBSD_FALSE
-POWERPC_FREEBSD_TRUE
-POWERPC_DARWIN_FALSE
-POWERPC_DARWIN_TRUE
-POWERPC_AIX_FALSE
-POWERPC_AIX_TRUE
-POWERPC_FALSE
-POWERPC_TRUE
-MOXIE_FALSE
-MOXIE_TRUE
-M68K_FALSE
-M68K_TRUE
-M32R_FALSE
-M32R_TRUE
-IA64_FALSE
-IA64_TRUE
-ALPHA_FALSE
-ALPHA_TRUE
-X86_DARWIN_FALSE
-X86_DARWIN_TRUE
-X86_WIN64_FALSE
-X86_WIN64_TRUE
-X86_WIN32_FALSE
-X86_WIN32_TRUE
-X86_FREEBSD_FALSE
-X86_FREEBSD_TRUE
-X86_FALSE
-X86_TRUE
-SPARC_FALSE
-SPARC_TRUE
-MIPS_FALSE
-MIPS_TRUE
-AM_LTLDFLAGS
-AM_RUNTESTFLAGS
-TESTSUBDIR_FALSE
-TESTSUBDIR_TRUE
-MAINT
-MAINTAINER_MODE_FALSE
-MAINTAINER_MODE_TRUE
-CPP
-OTOOL64
-OTOOL
-LIPO
-NMEDIT
-DSYMUTIL
-MANIFEST_TOOL
-RANLIB
-ac_ct_AR
-AR
-DLLTOOL
-OBJDUMP
-LN_S
-NM
-ac_ct_DUMPBIN
-DUMPBIN
-LD
-FGREP
-EGREP
-GREP
-SED
-LIBTOOL
-am__fastdepCCAS_FALSE
-am__fastdepCCAS_TRUE
-CCASDEPMODE
-CCASFLAGS
-CCAS
-am__fastdepCC_FALSE
-am__fastdepCC_TRUE
-CCDEPMODE
-AMDEPBACKSLASH
-AMDEP_FALSE
-AMDEP_TRUE
-am__quote
-am__include
-DEPDIR
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-am__untar
-am__tar
-AMTAR
-am__leading_dot
-SET_MAKE
-AWK
-mkdir_p
-MKDIR_P
-INSTALL_STRIP_PROGRAM
-STRIP
-install_sh
-MAKEINFO
-AUTOHEADER
-AUTOMAKE
-AUTOCONF
-ACLOCAL
-VERSION
-PACKAGE
-CYGPATH_W
-am__isrc
-INSTALL_DATA
-INSTALL_SCRIPT
-INSTALL_PROGRAM
-target_os
-target_vendor
-target_cpu
-target
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-enable_dependency_tracking
-enable_shared
-enable_static
-with_pic
-enable_fast_install
-with_gnu_ld
-with_sysroot
-enable_libtool_lock
-enable_maintainer_mode
-enable_debug
-enable_structs
-enable_raw_api
-enable_purify_safety
-'
- ac_precious_vars='build_alias
-host_alias
-target_alias
-CCAS
-CCASFLAGS
-CPP
-CPPFLAGS'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval $ac_prev=\$ac_option
- ac_prev=
- continue
- fi
-
- case $ac_option in
- *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
- *=) ac_optarg= ;;
- *) ac_optarg=yes ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case $ac_dashdash$ac_option in
- --)
- ac_dashdash=yes ;;
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir=$ac_optarg ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build_alias ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build_alias=$ac_optarg ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file=$ac_optarg ;;
-
- --config-cache | -C)
- cache_file=config.cache ;;
-
- -datadir | --datadir | --datadi | --datad)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=*)
- datadir=$ac_optarg ;;
-
- -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
- | --dataroo | --dataro | --datar)
- ac_prev=datarootdir ;;
- -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
- | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
- datarootdir=$ac_optarg ;;
-
- -disable-* | --disable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=no ;;
-
- -docdir | --docdir | --docdi | --doc | --do)
- ac_prev=docdir ;;
- -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
- docdir=$ac_optarg ;;
-
- -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
- ac_prev=dvidir ;;
- -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
- dvidir=$ac_optarg ;;
-
- -enable-* | --enable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=\$ac_optarg ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix=$ac_optarg ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he | -h)
- ac_init_help=long ;;
- -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
- ac_init_help=recursive ;;
- -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
- ac_init_help=short ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host_alias ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host_alias=$ac_optarg ;;
-
- -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
- ac_prev=htmldir ;;
- -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
- | --ht=*)
- htmldir=$ac_optarg ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir=$ac_optarg ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir=$ac_optarg ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir=$ac_optarg ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir=$ac_optarg ;;
-
- -localedir | --localedir | --localedi | --localed | --locale)
- ac_prev=localedir ;;
- -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
- localedir=$ac_optarg ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst | --locals)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
- localstatedir=$ac_optarg ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir=$ac_optarg ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c | -n)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir=$ac_optarg ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix=$ac_optarg ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix=$ac_optarg ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix=$ac_optarg ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name=$ac_optarg ;;
-
- -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
- ac_prev=pdfdir ;;
- -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
- pdfdir=$ac_optarg ;;
-
- -psdir | --psdir | --psdi | --psd | --ps)
- ac_prev=psdir ;;
- -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
- psdir=$ac_optarg ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir=$ac_optarg ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir=$ac_optarg ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site=$ac_optarg ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir=$ac_optarg ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir=$ac_optarg ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target_alias ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target_alias=$ac_optarg ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers | -V)
- ac_init_version=: ;;
-
- -with-* | --with-*)
- ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=\$ac_optarg ;;
-
- -without-* | --without-*)
- ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=no ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes=$ac_optarg ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries=$ac_optarg ;;
-
- -*) as_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
- ;;
-
- *=*)
- ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
- # Reject names that are not valid shell variable names.
- case $ac_envvar in #(
- '' | [0-9]* | *[!_$as_cr_alnum]* )
- as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
- esac
- eval $ac_envvar=\$ac_optarg
- export $ac_envvar ;;
-
- *)
- # FIXME: should be removed in autoconf 3.0.
- $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
- expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- as_fn_error $? "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
- case $enable_option_checking in
- no) ;;
- fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
- *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
- esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
- datadir sysconfdir sharedstatedir localstatedir includedir \
- oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir
-do
- eval ac_val=\$$ac_var
- # Remove trailing slashes.
- case $ac_val in
- */ )
- ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
- eval $ac_var=\$ac_val;;
- esac
- # Be sure to have absolute directory names.
- case $ac_val in
- [\\/$]* | ?:[\\/]* ) continue;;
- NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
- esac
- as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
- if test "x$build_alias" = x; then
- cross_compiling=maybe
- $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
- If a cross compiler is detected then cross compile mode will be used" >&2
- elif test "x$build_alias" != "x$host_alias"; then
- cross_compiling=yes
- fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
- as_fn_error $? "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
- as_fn_error $? "pwd does not report name of working directory"
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then the parent directory.
- ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_myself" : 'X\(//\)[^/]' \| \
- X"$as_myself" : 'X\(//\)$' \| \
- X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- srcdir=$ac_confdir
- if test ! -r "$srcdir/$ac_unique_file"; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
- test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
- as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
- cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
- pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
- srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
- eval ac_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_env_${ac_var}_value=\$${ac_var}
- eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat <<_ACEOF
-\`configure' configures libffi 3.0.11-rc2 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE. See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
- -h, --help display this help and exit
- --help=short display options specific to this package
- --help=recursive display the short help of all the included packages
- -V, --version display version information and exit
- -q, --quiet, --silent do not print \`checking ...' messages
- --cache-file=FILE cache test results in FILE [disabled]
- -C, --config-cache alias for \`--cache-file=config.cache'
- -n, --no-create do not create output files
- --srcdir=DIR find the sources in DIR [configure dir or \`..']
-
-Installation directories:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
- --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
- --infodir=DIR info documentation [DATAROOTDIR/info]
- --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
- --mandir=DIR man documentation [DATAROOTDIR/man]
- --docdir=DIR documentation root [DATAROOTDIR/doc/libffi]
- --htmldir=DIR html documentation [DOCDIR]
- --dvidir=DIR dvi documentation [DOCDIR]
- --pdfdir=DIR pdf documentation [DOCDIR]
- --psdir=DIR ps documentation [DOCDIR]
-_ACEOF
-
- cat <<\_ACEOF
-
-Program names:
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM run sed PROGRAM on installed program names
-
-System types:
- --build=BUILD configure for building on BUILD [guessed]
- --host=HOST cross-compile to build programs to run on HOST [BUILD]
- --target=TARGET configure for building compilers for TARGET [HOST]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
- case $ac_init_help in
- short | recursive ) echo "Configuration of libffi 3.0.11-rc2:";;
- esac
- cat <<\_ACEOF
-
-Optional Features:
- --disable-option-checking ignore unrecognized --enable/--with options
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --disable-dependency-tracking speeds up one-time build
- --enable-dependency-tracking do not reject slow dependency extractors
- --enable-shared[=PKGS] build shared libraries [default=yes]
- --enable-static[=PKGS] build static libraries [default=yes]
- --enable-fast-install[=PKGS]
- optimize for fast installation [default=yes]
- --disable-libtool-lock avoid locking (might break parallel builds)
- --enable-maintainer-mode enable make rules and dependencies not useful
- (and sometimes confusing) to the casual installer
- --enable-debug debugging mode
- --disable-structs omit code for struct support
- --disable-raw-api make the raw api unavailable
- --enable-purify-safety purify-safe mode
-
-Optional Packages:
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --with-pic try to use only PIC/non-PIC objects [default=use
- both]
- --with-gnu-ld assume the C compiler uses GNU ld [default=no]
- --with-sysroot=DIR Search for dependent libraries within DIR
- (or the compiler's sysroot if not specified).
-
-Some influential environment variables:
- CC C compiler command
- CFLAGS C compiler flags
- LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
- nonstandard directory <lib dir>
- LIBS libraries to pass to the linker, e.g. -l<library>
- CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
- you have headers in a nonstandard directory <include dir>
- CCAS assembler compiler command (defaults to CC)
- CCASFLAGS assembler compiler flags (defaults to CFLAGS)
- CPP C preprocessor
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to <http://github.com/atgreen/libffi/issues>.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
- # If there are subdirs, report their specific --help.
- for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d "$ac_dir" ||
- { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
- continue
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
- cd "$ac_dir" || { ac_status=$?; continue; }
- # Check for guested configure.
- if test -f "$ac_srcdir/configure.gnu"; then
- echo &&
- $SHELL "$ac_srcdir/configure.gnu" --help=recursive
- elif test -f "$ac_srcdir/configure"; then
- echo &&
- $SHELL "$ac_srcdir/configure" --help=recursive
- else
- $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi || ac_status=$?
- cd "$ac_pwd" || { ac_status=$?; break; }
- done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
- cat <<\_ACEOF
-libffi configure 3.0.11-rc2
-generated by GNU Autoconf 2.68
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
- exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-# ac_fn_c_try_compile LINENO
-# --------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext
- if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_compile
-
-# ac_fn_c_try_link LINENO
-# -----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext conftest$ac_exeext
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext && {
- test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
- }; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
- # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
- # interfere with the next link command; also delete a directory that is
- # left behind by Apple's compiler. We do this before executing the actions.
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_link
-
-# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists and can be compiled using the include files in
-# INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- eval "$3=yes"
-else
- eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_compile
-
-# ac_fn_c_try_cpp LINENO
-# ----------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } > conftest.i && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_cpp
-
-# ac_fn_c_try_run LINENO
-# ----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
-ac_fn_c_try_run ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
- ac_retval=0
-else
- $as_echo "$as_me: program exited with status $ac_status" >&5
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=$ac_status
-fi
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_run
-
-# ac_fn_c_check_func LINENO FUNC VAR
-# ----------------------------------
-# Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_c_check_func ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $2 innocuous_$2
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $2 (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $2
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $2 ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_$2 || defined __stub___$2
-choke me
-#endif
-
-int
-main ()
-{
-return $2 ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- eval "$3=yes"
-else
- eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_func
-
-# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists, giving a warning if it cannot be compiled using
-# the include files in INCLUDES and setting the cache variable VAR
-# accordingly.
-ac_fn_c_check_header_mongrel ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if eval \${$3+:} false; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
- # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_header_compiler=yes
-else
- ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <$2>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- ac_header_preproc=yes
-else
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
- yes:no: )
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
- ;;
- no:yes:* )
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( $as_echo "## ------------------------------------------------------ ##
-## Report this to http://github.com/atgreen/libffi/issues ##
-## ------------------------------------------------------ ##"
- ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_mongrel
-
-# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
-# -------------------------------------------
-# Tests whether TYPE exists after having included INCLUDES, setting cache
-# variable VAR accordingly.
-ac_fn_c_check_type ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- eval "$3=no"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-if (sizeof ($2))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-if (sizeof (($2)))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
- eval "$3=yes"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_type
-
-# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
-# --------------------------------------------
-# Tries to find the compile-time value of EXPR in a program that includes
-# INCLUDES, setting VAR accordingly. Returns whether the value could be
-# computed
-ac_fn_c_compute_int ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if test "$cross_compiling" = yes; then
- # Depending upon the size, compute the lo and hi bounds.
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_lo=0 ac_mid=0
- while :; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_hi=$ac_mid; break
-else
- as_fn_arith $ac_mid + 1 && ac_lo=$as_val
- if test $ac_lo -le $ac_mid; then
- ac_lo= ac_hi=
- break
- fi
- as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) < 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_hi=-1 ac_mid=-1
- while :; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_lo=$ac_mid; break
-else
- as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
- if test $ac_mid -le $ac_hi; then
- ac_lo= ac_hi=
- break
- fi
- as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- ac_lo= ac_hi=
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
- as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_hi=$ac_mid
-else
- as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in #((
-?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
-'') ac_retval=1 ;;
-esac
- else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-static long int longval () { return $2; }
-static unsigned long int ulongval () { return $2; }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
- FILE *f = fopen ("conftest.val", "w");
- if (! f)
- return 1;
- if (($2) < 0)
- {
- long int i = longval ();
- if (i != ($2))
- return 1;
- fprintf (f, "%ld", i);
- }
- else
- {
- unsigned long int i = ulongval ();
- if (i != ($2))
- return 1;
- fprintf (f, "%lu", i);
- }
- /* Do not output a trailing newline, as this causes \r\n confusion
- on some platforms. */
- return ferror (f) || fclose (f) != 0;
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- echo >>conftest.val; read $3 <conftest.val; ac_retval=0
-else
- ac_retval=1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-rm -f conftest.val
-
- fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_compute_int
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by libffi $as_me 3.0.11-rc2, which was
-generated by GNU Autoconf 2.68. Invocation command line was
-
- $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
-
-/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
-/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
-/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- $as_echo "PATH: $as_dir"
- done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
- for ac_arg
- do
- case $ac_arg in
- -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- continue ;;
- *\'*)
- ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- case $ac_pass in
- 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
- 2)
- as_fn_append ac_configure_args1 " '$ac_arg'"
- if test $ac_must_keep_next = true; then
- ac_must_keep_next=false # Got value, back to normal.
- else
- case $ac_arg in
- *=* | --config-cache | -C | -disable-* | --disable-* \
- | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
- | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
- | -with-* | --with-* | -without-* | --without-* | --x)
- case "$ac_configure_args0 " in
- "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
- esac
- ;;
- -* ) ac_must_keep_next=true ;;
- esac
- fi
- as_fn_append ac_configure_args " '$ac_arg'"
- ;;
- esac
- done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log. We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
- # Save into config.log some information that might help in debugging.
- {
- echo
-
- $as_echo "## ---------------- ##
-## Cache variables. ##
-## ---------------- ##"
- echo
- # The following way of writing the cache mishandles newlines in values,
-(
- for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
- (set) 2>&1 |
- case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- sed -n \
- "s/'\''/'\''\\\\'\'''\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
- ;; #(
- *)
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-)
- echo
-
- $as_echo "## ----------------- ##
-## Output variables. ##
-## ----------------- ##"
- echo
- for ac_var in $ac_subst_vars
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
-
- if test -n "$ac_subst_files"; then
- $as_echo "## ------------------- ##
-## File substitutions. ##
-## ------------------- ##"
- echo
- for ac_var in $ac_subst_files
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
- fi
-
- if test -s confdefs.h; then
- $as_echo "## ----------- ##
-## confdefs.h. ##
-## ----------- ##"
- echo
- cat confdefs.h
- echo
- fi
- test "$ac_signal" != 0 &&
- $as_echo "$as_me: caught signal $ac_signal"
- $as_echo "$as_me: exit $exit_status"
- } >&5
- rm -f core *.core core.conftest.* &&
- rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
- exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
- trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-$as_echo "/* confdefs.h */" > confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
- # We do not want a PATH search for config.site.
- case $CONFIG_SITE in #((
- -*) ac_site_file1=./$CONFIG_SITE;;
- */*) ac_site_file1=$CONFIG_SITE;;
- *) ac_site_file1=./$CONFIG_SITE;;
- esac
-elif test "x$prefix" != xNONE; then
- ac_site_file1=$prefix/share/config.site
- ac_site_file2=$prefix/etc/config.site
-else
- ac_site_file1=$ac_default_prefix/share/config.site
- ac_site_file2=$ac_default_prefix/etc/config.site
-fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
- test "x$ac_site_file" = xNONE && continue
- if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
- sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file" \
- || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5; }
- fi
-done
-
-if test -r "$cache_file"; then
- # Some versions of bash will fail to source /dev/null (special files
- # actually), so we avoid doing that. DJGPP emulates it as a regular file.
- if test /dev/null != "$cache_file" && test -f "$cache_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
- case $cache_file in
- [\\/]* | ?:[\\/]* ) . "$cache_file";;
- *) . "./$cache_file";;
- esac
- fi
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
- >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
- eval ac_old_set=\$ac_cv_env_${ac_var}_set
- eval ac_new_set=\$ac_env_${ac_var}_set
- eval ac_old_val=\$ac_cv_env_${ac_var}_value
- eval ac_new_val=\$ac_env_${ac_var}_value
- case $ac_old_set,$ac_new_set in
- set,)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,set)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,);;
- *)
- if test "x$ac_old_val" != "x$ac_new_val"; then
- # differences in whitespace do not lead to failure.
- ac_old_val_w=`echo x $ac_old_val`
- ac_new_val_w=`echo x $ac_new_val`
- if test "$ac_old_val_w" != "$ac_new_val_w"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- ac_cache_corrupted=:
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
- eval $ac_var=\$ac_old_val
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
-$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
-$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
- fi;;
- esac
- # Pass precious variables to config.status.
- if test "$ac_new_set" = set; then
- case $ac_new_val in
- *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
- *) ac_arg=$ac_var=$ac_new_val ;;
- esac
- case " $ac_configure_args " in
- *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
- *) as_fn_append ac_configure_args " '$ac_arg'" ;;
- esac
- fi
-done
-if $ac_cache_corrupted; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-ac_config_headers="$ac_config_headers fficonfig.h"
-
-
-ac_aux_dir=
-for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
- if test -f "$ac_dir/install-sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f "$ac_dir/install.sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- elif test -f "$ac_dir/shtool"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/shtool install -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
-
-
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
- as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if ${ac_cv_build+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
- ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
- as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if ${ac_cv_host+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "x$host_alias" = x; then
- ac_cv_host=$ac_cv_build
-else
- ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
-$as_echo_n "checking target system type... " >&6; }
-if ${ac_cv_target+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "x$target_alias" = x; then
- ac_cv_target=$ac_cv_host
-else
- ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
-$as_echo "$ac_cv_target" >&6; }
-case $ac_cv_target in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
-esac
-target=$ac_cv_target
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_target
-shift
-target_cpu=$1
-target_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-target_os=$*
-IFS=$ac_save_IFS
-case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
-
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-test -n "$target_alias" &&
- test "$program_prefix$program_suffix$program_transform_name" = \
- NONENONEs,x,x, &&
- program_prefix=${target_alias}-
-
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-AX_ENABLE_BUILDDIR
-
-am__api_version='1.11'
-
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-# Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
-if test -z "$INSTALL"; then
-if ${ac_cv_path_install+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in #((
- ./ | .// | /[cC]/* | \
- /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
- ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
- /usr/ucb/* ) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
- if test $ac_prog = install &&
- grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- elif test $ac_prog = install &&
- grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # program-specific install script used by HP pwplus--don't use.
- :
- else
- rm -rf conftest.one conftest.two conftest.dir
- echo one > conftest.one
- echo two > conftest.two
- mkdir conftest.dir
- if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
- test -s conftest.one && test -s conftest.two &&
- test -s conftest.dir/conftest.one &&
- test -s conftest.dir/conftest.two
- then
- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
- break 3
- fi
- fi
- fi
- done
- done
- ;;
-esac
-
- done
-IFS=$as_save_IFS
-
-rm -rf conftest.one conftest.two conftest.dir
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL=$ac_cv_path_install
- else
- # As a last resort, use the slow shell script. Don't cache a
- # value for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- INSTALL=$ac_install_sh
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
-$as_echo_n "checking whether build environment is sane... " >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name. Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
- *[\\\"\#\$\&\'\`$am_lf]*)
- as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
-esac
-case $srcdir in
- *[\\\"\#\$\&\'\`$am_lf\ \ ]*)
- as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
-esac
-
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
- if test "$*" = "X"; then
- # -L didn't work.
- set X `ls -t "$srcdir/configure" conftest.file`
- fi
- rm -f conftest.file
- if test "$*" != "X $srcdir/configure conftest.file" \
- && test "$*" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
-alias in your environment" "$LINENO" 5
- fi
-
- test "$2" = conftest.file
- )
-then
- # Ok.
- :
-else
- as_fn_error $? "newly created file is older than distributed files!
-Check your system clock" "$LINENO" 5
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-test "$program_prefix" != NONE &&
- program_transform_name="s&^&$program_prefix&;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
- program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $.
-# By default was `s,x,x', remove it if useless.
-ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
-if test x"${MISSING+set}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
- *)
- MISSING="\${SHELL} $am_aux_dir/missing" ;;
- esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
-else
- am_missing_run=
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
-fi
-
-if test x"${install_sh}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
- *)
- install_sh="\${SHELL} $am_aux_dir/install-sh"
- esac
-fi
-
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_STRIP="strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_STRIP" = x; then
- STRIP=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- STRIP=$ac_ct_STRIP
- fi
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
-$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
-if test -z "$MKDIR_P"; then
- if ${ac_cv_path_mkdir+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in mkdir gmkdir; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
- case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
- 'mkdir (GNU coreutils) '* | \
- 'mkdir (coreutils) '* | \
- 'mkdir (fileutils) '4.1*)
- ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
- break 3;;
- esac
- done
- done
- done
-IFS=$as_save_IFS
-
-fi
-
- test -d ./--version && rmdir ./--version
- if test "${ac_cv_path_mkdir+set}" = set; then
- MKDIR_P="$ac_cv_path_mkdir -p"
- else
- # As a last resort, use the slow shell script. Don't cache a
- # value for MKDIR_P within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- MKDIR_P="$ac_install_sh -d"
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
-$as_echo "$MKDIR_P" >&6; }
-
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
- [\\/$]* | ?:[\\/]*) ;;
- */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-
-for ac_prog in gawk mawk nawk awk
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AWK+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$AWK"; then
- ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_AWK="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$AWK" && break
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
- @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
- *@@@%%%=?*=@@@%%%*)
- eval ac_cv_prog_make_${ac_make}_set=yes;;
- *)
- eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- SET_MAKE=
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
- am__leading_dot=.
-else
- am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
- # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
- # is not polluted with repeated "-I."
- am__isrc=' -I$(srcdir)'
- # test to see if srcdir already configured
- if test -f $srcdir/config.status; then
- as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
- fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
- if (cygpath --version) >/dev/null 2>/dev/null; then
- CYGPATH_W='cygpath -w'
- else
- CYGPATH_W=echo
- fi
-fi
-
-
-# Define the identity of the package.
- PACKAGE='libffi'
- VERSION='3.0.11-rc2'
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE "$PACKAGE"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define VERSION "$VERSION"
-_ACEOF
-
-# Some tools Automake needs.
-
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-
-
-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-
-
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-
-
-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-
-
-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
-# Always define AMTAR for backward compatibility.
-
-AMTAR=${AMTAR-"${am_missing_run}tar"}
-
-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
-
-
-
-
-
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-# Also save and restore CFLAGS, since AC_PROG_CC will come up with
-# defaults of its own if none are provided.
-
-
-
-save_CFLAGS=$CFLAGS
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="${ac_tool_prefix}gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_CC="gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-else
- CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="${ac_tool_prefix}cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- fi
-fi
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# != 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
- fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- for ac_prog in cl.exe
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$CC" && break
- done
-fi
-if test -z "$CC"; then
- ac_ct_CC=$CC
- for ac_prog in cl.exe
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_CC="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_CC" && break
-done
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
- { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compiler $ac_option >&5") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- sed '10a\
-... rest of stderr output deleted ...
- 10q' conftest.err >conftest.er1
- cat conftest.er1 >&5
- fi
- rm -f conftest.er1 conftest.err
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- * ) ac_rmfiles="$ac_rmfiles $ac_file";;
- esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link_default") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile. We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
- ;;
- [ab].out )
- # We found the default executable, but exeext='' is most
- # certainly right.
- break;;
- *.* )
- if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
- then :; else
- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- fi
- # We set ac_cv_exeext here because the later test for it is not
- # safe: cross compilers may not add the suffix if given an `-o'
- # argument, so we may need to know it at that point already.
- # Even if this section looks crufty: it has the advantage of
- # actually working.
- break;;
- * )
- break;;
- esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
- ac_file=''
-fi
-if test -z "$ac_file"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-ac_exeext=$ac_cv_exeext
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- break;;
- * ) break;;
- esac
-done
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdio.h>
-int
-main ()
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
- { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if { ac_try='./conftest$ac_cv_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- cross_compiling=no
- else
- if test "$cross_compiling" = maybe; then
- cross_compiling=yes
- else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5; }
- fi
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- for ac_file in conftest.o conftest.obj conftest.*; do
- test -f "$ac_file" || continue;
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
- *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
- break;;
- esac
-done
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-#ifndef __GNUC__
- choke me
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_compiler_gnu=yes
-else
- ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
- GCC=yes
-else
- GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_save_c_werror_flag=$ac_c_werror_flag
- ac_c_werror_flag=yes
- ac_cv_prog_cc_g=no
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-else
- CFLAGS=""
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
- ac_c_werror_flag=$ac_save_c_werror_flag
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
- CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
- if test "$GCC" = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-g"
- fi
-else
- if test "$GCC" = yes; then
- CFLAGS="-O2"
- else
- CFLAGS=
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
- char **p;
- int i;
-{
- return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
- char *s;
- va_list v;
- va_start (v,p);
- s = g (p, va_arg (v,int));
- va_end (v);
- return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
- function prototypes and stuff, but not '\xHH' hex character constants.
- These don't provoke an error unfortunately, instead are silently treated
- as 'x'. The following induces an error, until -std is added to get
- proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
- array size at least. It's necessary to write '\x00'==0 to get something
- that's true only with -std. */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
- inside strings and character constants. */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
- ;
- return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
- -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
- CC="$ac_save_CC $ac_arg"
- if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
- test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
- x)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
- xno)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
- *)
- CC="$CC $ac_cv_prog_cc_c89"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
-
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
- @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
-$as_echo_n "checking for style of include used by $am_make... " >&6; }
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
- am__include=include
- am__quote=
- _am_result=GNU
- ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- case `$am_make -s -f confmf 2> /dev/null` in #(
- *the\ am__doit\ target*)
- am__include=.include
- am__quote="\""
- _am_result=BSD
- ;;
- esac
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
-rm -f confinc confmf
-
-# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then :
- enableval=$enable_dependency_tracking;
-fi
-
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
-fi
- if test "x$enable_dependency_tracking" != xno; then
- AMDEP_TRUE=
- AMDEP_FALSE='#'
-else
- AMDEP_TRUE='#'
- AMDEP_FALSE=
-fi
-
-
-
-depcc="$CC" am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CC_dependencies_compiler_type+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_CC_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
- fi
- am__universal=false
- case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac
-
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs
- am__obj=sub/conftest.${OBJEXT-o}
- am__minus_obj="-o $am__obj"
- case $depmode in
- gcc)
- # This depmode causes a compiler race in universal mode.
- test "$am__universal" = false || continue
- ;;
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- msvisualcpp | msvcmsys)
- # This compiler won't grok `-c -o', but also, the minuso test has
- # not run yet. These depmodes are late enough in the game, and
- # so weak that their functioning should not be impacted.
- am__obj=conftest.${OBJEXT-o}
- am__minus_obj=
- ;;
- none) break ;;
- esac
- if depmode=$depmode \
- source=sub/conftest.c object=$am__obj \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_CC_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
- am__fastdepCC_TRUE=
- am__fastdepCC_FALSE='#'
-else
- am__fastdepCC_TRUE='#'
- am__fastdepCC_FALSE=
-fi
-
-
-CFLAGS=$save_CFLAGS
-
-
-
-
-
-# By default we simply use the C compiler to build assembly code.
-
-test "${CCAS+set}" = set || CCAS=$CC
-test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
-
-
-
-depcc="$CCAS" am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CCAS_dependencies_compiler_type+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_CCAS_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
- fi
- am__universal=false
-
-
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs
- am__obj=sub/conftest.${OBJEXT-o}
- am__minus_obj="-o $am__obj"
- case $depmode in
- gcc)
- # This depmode causes a compiler race in universal mode.
- test "$am__universal" = false || continue
- ;;
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- msvisualcpp | msvcmsys)
- # This compiler won't grok `-c -o', but also, the minuso test has
- # not run yet. These depmodes are late enough in the game, and
- # so weak that their functioning should not be impacted.
- am__obj=conftest.${OBJEXT-o}
- am__minus_obj=
- ;;
- none) break ;;
- esac
- if depmode=$depmode \
- source=sub/conftest.c object=$am__obj \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_CCAS_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_CCAS_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CCAS_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CCAS_dependencies_compiler_type" >&6; }
-CCASDEPMODE=depmode=$am_cv_CCAS_dependencies_compiler_type
-
- if
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CCAS_dependencies_compiler_type" = gcc3; then
- am__fastdepCCAS_TRUE=
- am__fastdepCCAS_FALSE='#'
-else
- am__fastdepCCAS_TRUE='#'
- am__fastdepCCAS_FALSE=
-fi
-
-
-if test "x$CC" != xcc; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
-$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5
-$as_echo_n "checking whether cc understands -c and -o together... " >&6; }
-fi
-set dummy $CC; ac_cc=`$as_echo "$2" |
- sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-# Make sure it works both with $CC and with simple cc.
-# We do the test twice because some compilers refuse to overwrite an
-# existing .o file with -o, though they will create one.
-ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-rm -f conftest2.*
-if { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } &&
- test -f conftest2.$ac_objext && { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; };
-then
- eval ac_cv_prog_cc_${ac_cc}_c_o=yes
- if test "x$CC" != xcc; then
- # Test first that cc exists at all.
- if { ac_try='cc -c conftest.$ac_ext >&5'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
- rm -f conftest2.*
- if { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } &&
- test -f conftest2.$ac_objext && { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; };
- then
- # cc works too.
- :
- else
- # cc exists but doesn't like -o.
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
- fi
- fi
- fi
-else
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
-fi
-rm -f core conftest*
-
-fi
-if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h
-
-fi
-
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
- # Losing compiler, so override with the script.
- # FIXME: It is wrong to rewrite CC.
- # But if we don't then we get into trouble of one sort or another.
- # A longer-term fix would be to have automake use am__CC in this case,
- # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
- CC="$am_aux_dir/compile $CC"
-fi
-
-
-case `pwd` in
- *\ * | *\ *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
-$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
-esac
-
-
-
-macro_version='2.4'
-macro_revision='1.3293'
-
-
-
-
-
-
-
-
-
-
-
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-# Backslashify metacharacters that are still active within
-# double-quoted strings.
-sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
-$as_echo_n "checking how to print strings... " >&6; }
-# Test print first, because it will be a builtin if present.
-if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
- test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
- ECHO='print -r --'
-elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
- ECHO='printf %s\n'
-else
- # Use this function as a fallback that always works.
- func_fallback_echo ()
- {
- eval 'cat <<_LTECHO_EOF
-$1
-_LTECHO_EOF'
- }
- ECHO='func_fallback_echo'
-fi
-
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
- $ECHO ""
-}
-
-case "$ECHO" in
- printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
-$as_echo "printf" >&6; } ;;
- print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
-$as_echo "print -r" >&6; } ;;
- *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
-$as_echo "cat" >&6; } ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
-$as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if ${ac_cv_path_SED+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
- for ac_i in 1 2 3 4 5 6 7; do
- ac_script="$ac_script$as_nl$ac_script"
- done
- echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
- { ac_script=; unset ac_script;}
- if test -z "$SED"; then
- ac_path_SED_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in sed gsed; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
-# Check for GNU ac_path_SED and select it if it is found.
- # Check for GNU $ac_path_SED
-case `"$ac_path_SED" --version 2>&1` in
-*GNU*)
- ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo '' >> "conftest.nl"
- "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_SED_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_SED="$ac_path_SED"
- ac_path_SED_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_SED_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_SED"; then
- as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
- fi
-else
- ac_cv_path_SED=$SED
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
-$as_echo "$ac_cv_path_SED" >&6; }
- SED="$ac_cv_path_SED"
- rm -f conftest.sed
-
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$GREP"; then
- ac_path_GREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in grep ggrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
-# Check for GNU ac_path_GREP and select it if it is found.
- # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'GREP' >> "conftest.nl"
- "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_GREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_GREP="$ac_path_GREP"
- ac_path_GREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_GREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_GREP"; then
- as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
- then ac_cv_path_EGREP="$GREP -E"
- else
- if test -z "$EGREP"; then
- ac_path_EGREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in egrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
- # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'EGREP' >> "conftest.nl"
- "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_EGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_EGREP="$ac_path_EGREP"
- ac_path_EGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_EGREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_EGREP"; then
- as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_EGREP=$EGREP
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
-$as_echo_n "checking for fgrep... " >&6; }
-if ${ac_cv_path_FGREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
- then ac_cv_path_FGREP="$GREP -F"
- else
- if test -z "$FGREP"; then
- ac_path_FGREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in fgrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
-# Check for GNU ac_path_FGREP and select it if it is found.
- # Check for GNU $ac_path_FGREP
-case `"$ac_path_FGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'FGREP' >> "conftest.nl"
- "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_FGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_FGREP="$ac_path_FGREP"
- ac_path_FGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_FGREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_FGREP"; then
- as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_FGREP=$FGREP
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
-$as_echo "$ac_cv_path_FGREP" >&6; }
- FGREP="$ac_cv_path_FGREP"
-
-
-test -z "$GREP" && GREP=grep
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then :
- withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
- with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test "$GCC" = yes; then
- # Check if gcc -print-prog-name=ld gives a path.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
-$as_echo_n "checking for ld used by $CC... " >&6; }
- case $host in
- *-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case $ac_prog in
- # Accept absolute paths.
- [\\/]* | ?:[\\/]*)
- re_direlt='/[^/][^/]*/\.\./'
- # Canonicalize the pathname of ld
- ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
- while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
- done
- test -z "$LD" && LD="$ac_prog"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if ${lt_cv_path_LD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$LD"; then
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- lt_cv_path_LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some variants of GNU ld only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
- *GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break
- ;;
- *)
- test "$with_gnu_ld" != yes && break
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
-else
- lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
-$as_echo "$LD" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if ${lt_cv_prog_gnu_ld+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
- lt_cv_prog_gnu_ld=yes
- ;;
-*)
- lt_cv_prog_gnu_ld=no
- ;;
-esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
-$as_echo "$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
-$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if ${lt_cv_path_NM+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$NM"; then
- # Let the user override the test.
- lt_cv_path_NM="$NM"
-else
- lt_nm_to_check="${ac_tool_prefix}nm"
- if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
- lt_nm_to_check="$lt_nm_to_check nm"
- fi
- for lt_tmp_nm in $lt_nm_to_check; do
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- tmp_nm="$ac_dir/$lt_tmp_nm"
- if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
- # Check to see if the nm accepts a BSD-compat flag.
- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
- # nm: unknown option "B" ignored
- # Tru64's nm complains that /dev/null is an invalid object file
- case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
- */dev/null* | *'Invalid file or object type'*)
- lt_cv_path_NM="$tmp_nm -B"
- break
- ;;
- *)
- case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
- */dev/null*)
- lt_cv_path_NM="$tmp_nm -p"
- break
- ;;
- *)
- lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
- continue # so that we can try to find one that supports BSD flags
- ;;
- esac
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
- done
- : ${lt_cv_path_NM=no}
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
-$as_echo "$lt_cv_path_NM" >&6; }
-if test "$lt_cv_path_NM" != "no"; then
- NM="$lt_cv_path_NM"
-else
- # Didn't find any BSD compatible name lister, look for dumpbin.
- if test -n "$DUMPBIN"; then :
- # Let the user override the test.
- else
- if test -n "$ac_tool_prefix"; then
- for ac_prog in dumpbin "link -dump"
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DUMPBIN+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$DUMPBIN"; then
- ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-DUMPBIN=$ac_cv_prog_DUMPBIN
-if test -n "$DUMPBIN"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
-$as_echo "$DUMPBIN" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$DUMPBIN" && break
- done
-fi
-if test -z "$DUMPBIN"; then
- ac_ct_DUMPBIN=$DUMPBIN
- for ac_prog in dumpbin "link -dump"
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_DUMPBIN"; then
- ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
-if test -n "$ac_ct_DUMPBIN"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
-$as_echo "$ac_ct_DUMPBIN" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_DUMPBIN" && break
-done
-
- if test "x$ac_ct_DUMPBIN" = x; then
- DUMPBIN=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- DUMPBIN=$ac_ct_DUMPBIN
- fi
-fi
-
- case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
- *COFF*)
- DUMPBIN="$DUMPBIN -symbols"
- ;;
- *)
- DUMPBIN=:
- ;;
- esac
- fi
-
- if test "$DUMPBIN" != ":"; then
- NM="$DUMPBIN"
- fi
-fi
-test -z "$NM" && NM=nm
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
-$as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if ${lt_cv_nm_interface+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_nm_interface="BSD nm"
- echo "int some_variable = 0;" > conftest.$ac_ext
- (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
- (eval "$ac_compile" 2>conftest.err)
- cat conftest.err >&5
- (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
- (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
- cat conftest.err >&5
- (eval echo "\"\$as_me:$LINENO: output\"" >&5)
- cat conftest.out >&5
- if $GREP 'External.*some_variable' conftest.out > /dev/null; then
- lt_cv_nm_interface="MS dumpbin"
- fi
- rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
-$as_echo "$lt_cv_nm_interface" >&6; }
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
-$as_echo_n "checking whether ln -s works... " >&6; }
-LN_S=$as_ln_s
-if test "$LN_S" = "ln -s"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
-$as_echo "no, using $LN_S" >&6; }
-fi
-
-# find the maximum length of command line arguments
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
-$as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if ${lt_cv_sys_max_cmd_len+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- i=0
- teststring="ABCD"
-
- case $build_os in
- msdosdjgpp*)
- # On DJGPP, this test can blow up pretty badly due to problems in libc
- # (any single argument exceeding 2000 bytes causes a buffer overrun
- # during glob expansion). Even if it were fixed, the result of this
- # check would be larger than it should be.
- lt_cv_sys_max_cmd_len=12288; # 12K is about right
- ;;
-
- gnu*)
- # Under GNU Hurd, this test is not required because there is
- # no limit to the length of command line arguments.
- # Libtool will interpret -1 as no limit whatsoever
- lt_cv_sys_max_cmd_len=-1;
- ;;
-
- cygwin* | mingw* | cegcc*)
- # On Win9x/ME, this test blows up -- it succeeds, but takes
- # about 5 minutes as the teststring grows exponentially.
- # Worse, since 9x/ME are not pre-emptively multitasking,
- # you end up with a "frozen" computer, even though with patience
- # the test eventually succeeds (with a max line length of 256k).
- # Instead, let's just punt: use the minimum linelength reported by
- # all of the supported platforms: 8192 (on NT/2K/XP).
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- mint*)
- # On MiNT this can take a long time and run out of memory.
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- amigaos*)
- # On AmigaOS with pdksh, this test takes hours, literally.
- # So we just punt and use a minimum line length of 8192.
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
- # This has been around since 386BSD, at least. Likely further.
- if test -x /sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
- elif test -x /usr/sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
- else
- lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
- fi
- # And add a safety zone
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- ;;
-
- interix*)
- # We know the value 262144 and hardcode it with a safety zone (like BSD)
- lt_cv_sys_max_cmd_len=196608
- ;;
-
- osf*)
- # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
- # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
- # nice to cause kernel panics so lets avoid the loop below.
- # First set a reasonable default.
- lt_cv_sys_max_cmd_len=16384
- #
- if test -x /sbin/sysconfig; then
- case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
- *1*) lt_cv_sys_max_cmd_len=-1 ;;
- esac
- fi
- ;;
- sco3.2v5*)
- lt_cv_sys_max_cmd_len=102400
- ;;
- sysv5* | sco5v6* | sysv4.2uw2*)
- kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
- if test -n "$kargmax"; then
- lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
- else
- lt_cv_sys_max_cmd_len=32768
- fi
- ;;
- *)
- lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
- if test -n "$lt_cv_sys_max_cmd_len"; then
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- else
- # Make teststring a little bigger before we do anything with it.
- # a 1K string should be a reasonable start.
- for i in 1 2 3 4 5 6 7 8 ; do
- teststring=$teststring$teststring
- done
- SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
- # If test is not a shell built-in, we'll probably end up computing a
- # maximum length that is only half of the actual maximum length, but
- # we can't tell.
- while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
- = "X$teststring$teststring"; } >/dev/null 2>&1 &&
- test $i != 17 # 1/2 MB should be enough
- do
- i=`expr $i + 1`
- teststring=$teststring$teststring
- done
- # Only check the string length outside the loop.
- lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
- teststring=
- # Add a significant safety factor because C++ compilers can tack on
- # massive amounts of additional arguments before passing them to the
- # linker. It appears as though 1/2 is a usable value.
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
- fi
- ;;
- esac
-
-fi
-
-if test -n $lt_cv_sys_max_cmd_len ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
-$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
-$as_echo "none" >&6; }
-fi
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-
-
-
-
-
-: ${CP="cp -f"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
-$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
- test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
- = c,a/b,b/c, \
- && eval 'test $(( 1 + 1 )) -eq 2 \
- && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
- && xsi_shell=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
-$as_echo "$xsi_shell" >&6; }
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
-$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
- >/dev/null 2>&1 \
- && lt_shell_append=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
-$as_echo "$lt_shell_append" >&6; }
-
-
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- lt_unset=unset
-else
- lt_unset=false
-fi
-
-
-
-
-
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
- # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
- lt_SP2NL='tr \040 \012'
- lt_NL2SP='tr \015\012 \040\040'
- ;;
- *) # EBCDIC based system
- lt_SP2NL='tr \100 \n'
- lt_NL2SP='tr \r\n \100\100'
- ;;
-esac
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
-$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
-if ${lt_cv_to_host_file_cmd+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $host in
- *-*-mingw* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
- ;;
- *-*-cygwin* )
- lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
- ;;
- * ) # otherwise, assume *nix
- lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
- ;;
- esac
- ;;
- *-*-cygwin* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
- ;;
- *-*-cygwin* )
- lt_cv_to_host_file_cmd=func_convert_file_noop
- ;;
- * ) # otherwise, assume *nix
- lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
- ;;
- esac
- ;;
- * ) # unhandled hosts (and "normal" native builds)
- lt_cv_to_host_file_cmd=func_convert_file_noop
- ;;
-esac
-
-fi
-
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
-$as_echo "$lt_cv_to_host_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
-$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
-if ${lt_cv_to_tool_file_cmd+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- #assume ordinary cross tools, or native build.
-lt_cv_to_tool_file_cmd=func_convert_file_noop
-case $host in
- *-*-mingw* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
- ;;
- esac
- ;;
-esac
-
-fi
-
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
-$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
-$as_echo_n "checking for $LD option to reload object files... " >&6; }
-if ${lt_cv_ld_reload_flag+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ld_reload_flag='-r'
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
-$as_echo "$lt_cv_ld_reload_flag" >&6; }
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
- cygwin* | mingw* | pw32* | cegcc*)
- if test "$GCC" != yes; then
- reload_cmds=false
- fi
- ;;
- darwin*)
- if test "$GCC" = yes; then
- reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
- else
- reload_cmds='$LD$reload_flag -o $output$reload_objs'
- fi
- ;;
-esac
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
-set dummy ${ac_tool_prefix}objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OBJDUMP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$OBJDUMP"; then
- ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-OBJDUMP=$ac_cv_prog_OBJDUMP
-if test -n "$OBJDUMP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
-$as_echo "$OBJDUMP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OBJDUMP"; then
- ac_ct_OBJDUMP=$OBJDUMP
- # Extract the first word of "objdump", so it can be a program name with args.
-set dummy objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_OBJDUMP"; then
- ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_OBJDUMP="objdump"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
-if test -n "$ac_ct_OBJDUMP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
-$as_echo "$ac_ct_OBJDUMP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_OBJDUMP" = x; then
- OBJDUMP="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- OBJDUMP=$ac_ct_OBJDUMP
- fi
-else
- OBJDUMP="$ac_cv_prog_OBJDUMP"
-fi
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
-$as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if ${lt_cv_deplibs_check_method+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[4-9]*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-beos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-bsdi[45]*)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
- lt_cv_file_magic_cmd='/usr/bin/file -L'
- lt_cv_file_magic_test_file=/shlib/libc.so
- ;;
-
-cygwin*)
- # func_win32_libid is a shell function defined in ltmain.sh
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- ;;
-
-mingw* | pw32*)
- # Base MSYS/MinGW do not provide the 'file' command needed by
- # func_win32_libid shell function, so use a weaker test based on 'objdump',
- # unless we find 'file', for example because we are cross-compiling.
- # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
- if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- else
- # Keep this pattern in sync with the one in func_win32_libid.
- lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- fi
- ;;
-
-cegcc*)
- # use the weaker test based on 'objdump'. See mingw*.
- lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- ;;
-
-darwin* | rhapsody*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-freebsd* | dragonfly*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
- case $host_cpu in
- i*86 )
- # Not sure whether the presence of OpenBSD here was a mistake.
- # Let's accept both of them until this is cleared up.
- lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
- ;;
- esac
- else
- lt_cv_deplibs_check_method=pass_all
- fi
- ;;
-
-gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-haiku*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-hpux10.20* | hpux11*)
- lt_cv_file_magic_cmd=/usr/bin/file
- case $host_cpu in
- ia64*)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
- lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
- ;;
- hppa*64*)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
- lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
- ;;
- *)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
- lt_cv_file_magic_test_file=/usr/lib/libc.sl
- ;;
- esac
- ;;
-
-interix[3-9]*)
- # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $LD in
- *-32|*"-32 ") libmagic=32-bit;;
- *-n32|*"-n32 ") libmagic=N32;;
- *-64|*"-64 ") libmagic=64-bit;;
- *) libmagic=never-match;;
- esac
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
- fi
- ;;
-
-newos6*)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=/usr/lib/libnls.so
- ;;
-
-*nto* | *qnx*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-openbsd*)
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
- fi
- ;;
-
-osf3* | osf4* | osf5*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-rdos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-solaris*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sysv4 | sysv4.3*)
- case $host_vendor in
- motorola)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
- ;;
- ncr)
- lt_cv_deplibs_check_method=pass_all
- ;;
- sequent)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
- ;;
- sni)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
- lt_cv_file_magic_test_file=/lib/libc.so
- ;;
- siemens)
- lt_cv_deplibs_check_method=pass_all
- ;;
- pc)
- lt_cv_deplibs_check_method=pass_all
- ;;
- esac
- ;;
-
-tpf*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
-$as_echo "$lt_cv_deplibs_check_method" >&6; }
-
-file_magic_glob=
-want_nocaseglob=no
-if test "$build" = "$host"; then
- case $host_os in
- mingw* | pw32*)
- if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
- want_nocaseglob=yes
- else
- file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
- fi
- ;;
- esac
-fi
-
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DLLTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$DLLTOOL"; then
- ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-DLLTOOL=$ac_cv_prog_DLLTOOL
-if test -n "$DLLTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
-$as_echo "$DLLTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DLLTOOL"; then
- ac_ct_DLLTOOL=$DLLTOOL
- # Extract the first word of "dlltool", so it can be a program name with args.
-set dummy dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_DLLTOOL"; then
- ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_DLLTOOL="dlltool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
-if test -n "$ac_ct_DLLTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
-$as_echo "$ac_ct_DLLTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_DLLTOOL" = x; then
- DLLTOOL="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- DLLTOOL=$ac_ct_DLLTOOL
- fi
-else
- DLLTOOL="$ac_cv_prog_DLLTOOL"
-fi
-
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
-$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
-if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_sharedlib_from_linklib_cmd='unknown'
-
-case $host_os in
-cygwin* | mingw* | pw32* | cegcc*)
- # two different shell functions defined in ltmain.sh
- # decide which to use based on capabilities of $DLLTOOL
- case `$DLLTOOL --help 2>&1` in
- *--identify-strict*)
- lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
- ;;
- *)
- lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
- ;;
- esac
- ;;
-*)
- # fallback: assume linklib IS sharedlib
- lt_cv_sharedlib_from_linklib_cmd="$ECHO"
- ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
-$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
-sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
-test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- for ac_prog in ar
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$AR"; then
- ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$AR" && break
- done
-fi
-if test -z "$AR"; then
- ac_ct_AR=$AR
- for ac_prog in ar
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_AR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_AR"; then
- ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_AR="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-$as_echo "$ac_ct_AR" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_AR" && break
-done
-
- if test "x$ac_ct_AR" = x; then
- AR="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- AR=$ac_ct_AR
- fi
-fi
-
-: ${AR=ar}
-: ${AR_FLAGS=cru}
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
-$as_echo_n "checking for archiver @FILE support... " >&6; }
-if ${lt_cv_ar_at_file+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ar_at_file=no
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- echo conftest.$ac_objext > conftest.lst
- lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
- (eval $lt_ar_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if test "$ac_status" -eq 0; then
- # Ensure the archiver fails upon bogus file names.
- rm -f conftest.$ac_objext libconftest.a
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
- (eval $lt_ar_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if test "$ac_status" -ne 0; then
- lt_cv_ar_at_file=@
- fi
- fi
- rm -f conftest.* libconftest.a
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
-$as_echo "$lt_cv_ar_at_file" >&6; }
-
-if test "x$lt_cv_ar_at_file" = xno; then
- archiver_list_spec=
-else
- archiver_list_spec=$lt_cv_ar_at_file
-fi
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_STRIP="strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_STRIP" = x; then
- STRIP=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- STRIP=$ac_ct_STRIP
- fi
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
-
-test -z "$STRIP" && STRIP=:
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
- ac_ct_RANLIB=$RANLIB
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_RANLIB"; then
- ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_RANLIB="ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_RANLIB" = x; then
- RANLIB=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- RANLIB=$ac_ct_RANLIB
- fi
-else
- RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-test -z "$RANLIB" && RANLIB=:
-
-
-
-
-
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
- case $host_os in
- openbsd*)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
- ;;
- *)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
- ;;
- esac
- old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-
-case $host_os in
- darwin*)
- lock_old_archive_extraction=yes ;;
- *)
- lock_old_archive_extraction=no ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
-$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if ${lt_cv_sys_global_symbol_pipe+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix. What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Define system-specific variables.
-case $host_os in
-aix*)
- symcode='[BCDT]'
- ;;
-cygwin* | mingw* | pw32* | cegcc*)
- symcode='[ABCDGISTW]'
- ;;
-hpux*)
- if test "$host_cpu" = ia64; then
- symcode='[ABCDEGRST]'
- fi
- ;;
-irix* | nonstopux*)
- symcode='[BCDEGRST]'
- ;;
-osf*)
- symcode='[BCDEGQRST]'
- ;;
-solaris*)
- symcode='[BDRT]'
- ;;
-sco3.2v5*)
- symcode='[DT]'
- ;;
-sysv4.2uw2*)
- symcode='[DT]'
- ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
- symcode='[ABDT]'
- ;;
-sysv4)
- symcode='[DFNSTU]'
- ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
- symcode='[ABCDGIRSTW]' ;;
-esac
-
-# Transform an extracted symbol line into a proper C declaration.
-# Some systems (esp. on ia64) link data and code symbols differently,
-# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
- opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
- ;;
-esac
-
-# Try without a prefix underscore, then with it.
-for ac_symprfx in "" "_"; do
-
- # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
- symxfrm="\\1 $ac_symprfx\\2 \\2"
-
- # Write the raw and C identifiers.
- if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- # Fake it for dumpbin and say T for any non-static function
- # and D for any global variable.
- # Also find C++ and __fastcall symbols from MSVC++,
- # which start with @ or ?.
- lt_cv_sys_global_symbol_pipe="$AWK '"\
-" {last_section=section; section=\$ 3};"\
-" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-" \$ 0!~/External *\|/{next};"\
-" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-" {if(hide[section]) next};"\
-" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-" s[1]~/^[@?]/{print s[1], s[1]; next};"\
-" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
-" ' prfx=^$ac_symprfx"
- else
- lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
- fi
- lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
-
- # Check to see that the pipe works correctly.
- pipe_works=no
-
- rm -f conftest*
- cat > conftest.$ac_ext <<_LT_EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(void);
-void nm_test_func(void){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-_LT_EOF
-
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- # Now try to grab the symbols.
- nlist=conftest.nm
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
- (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s "$nlist"; then
- # Try sorting and uniquifying the output.
- if sort "$nlist" | uniq > "$nlist"T; then
- mv -f "$nlist"T "$nlist"
- else
- rm -f "$nlist"T
- fi
-
- # Make sure that we snagged all the symbols we need.
- if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
- if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
- cat <<_LT_EOF > conftest.$ac_ext
-/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-/* DATA imports from DLLs on WIN32 con't be const, because runtime
- relocations are performed -- see ld's documentation on pseudo-relocs. */
-# define LT_DLSYM_CONST
-#elif defined(__osf__)
-/* This system does not cope well with relocations in const data. */
-# define LT_DLSYM_CONST
-#else
-# define LT_DLSYM_CONST const
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_LT_EOF
- # Now generate the symbol file.
- eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
-
- cat <<_LT_EOF >> conftest.$ac_ext
-
-/* The mapping between symbol names and symbols. */
-LT_DLSYM_CONST struct {
- const char *name;
- void *address;
-}
-lt__PROGRAM__LTX_preloaded_symbols[] =
-{
- { "@PROGRAM@", (void *) 0 },
-_LT_EOF
- $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
- cat <<\_LT_EOF >> conftest.$ac_ext
- {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
- return lt__PROGRAM__LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-_LT_EOF
- # Now try linking the two files.
- mv conftest.$ac_objext conftstm.$ac_objext
- lt_globsym_save_LIBS=$LIBS
- lt_globsym_save_CFLAGS=$CFLAGS
- LIBS="conftstm.$ac_objext"
- CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext}; then
- pipe_works=yes
- fi
- LIBS=$lt_globsym_save_LIBS
- CFLAGS=$lt_globsym_save_CFLAGS
- else
- echo "cannot find nm_test_func in $nlist" >&5
- fi
- else
- echo "cannot find nm_test_var in $nlist" >&5
- fi
- else
- echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
- fi
- else
- echo "$progname: failed program was:" >&5
- cat conftest.$ac_ext >&5
- fi
- rm -rf conftest* conftst*
-
- # Do not use the global_symbol_pipe unless it works.
- if test "$pipe_works" = yes; then
- break
- else
- lt_cv_sys_global_symbol_pipe=
- fi
-done
-
-fi
-
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
- lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
-$as_echo "ok" >&6; }
-fi
-
-# Response file support.
-if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- nm_file_list_spec='@'
-elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
- nm_file_list_spec='@'
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
-$as_echo_n "checking for sysroot... " >&6; }
-
-# Check whether --with-sysroot was given.
-if test "${with_sysroot+set}" = set; then :
- withval=$with_sysroot;
-else
- with_sysroot=no
-fi
-
-
-lt_sysroot=
-case ${with_sysroot} in #(
- yes)
- if test "$GCC" = yes; then
- lt_sysroot=`$CC --print-sysroot 2>/dev/null`
- fi
- ;; #(
- /*)
- lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
- ;; #(
- no|'')
- ;; #(
- *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
-$as_echo "${with_sysroot}" >&6; }
- as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
- ;;
-esac
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
-$as_echo "${lt_sysroot:-no}" >&6; }
-
-
-
-
-
-# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then :
- enableval=$enable_libtool_lock;
-fi
-
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- case `/usr/bin/file conftest.$ac_objext` in
- *ELF-32*)
- HPUX_IA64_MODE="32"
- ;;
- *ELF-64*)
- HPUX_IA64_MODE="64"
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-*-*-irix6*)
- # Find out which ABI we are using.
- echo '#line '$LINENO' "configure"' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- if test "$lt_cv_prog_gnu_ld" = yes; then
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -melf32bsmip"
- ;;
- *N32*)
- LD="${LD-ld} -melf32bmipn32"
- ;;
- *64-bit*)
- LD="${LD-ld} -melf64bmip"
- ;;
- esac
- else
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -32"
- ;;
- *N32*)
- LD="${LD-ld} -n32"
- ;;
- *64-bit*)
- LD="${LD-ld} -64"
- ;;
- esac
- fi
- fi
- rm -rf conftest*
- ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- case `/usr/bin/file conftest.o` in
- *32-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_i386_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_i386"
- ;;
- ppc64-*linux*|powerpc64-*linux*)
- LD="${LD-ld} -m elf32ppclinux"
- ;;
- s390x-*linux*)
- LD="${LD-ld} -m elf_s390"
- ;;
- sparc64-*linux*)
- LD="${LD-ld} -m elf32_sparc"
- ;;
- esac
- ;;
- *64-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_x86_64_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_x86_64"
- ;;
- ppc*-*linux*|powerpc*-*linux*)
- LD="${LD-ld} -m elf64ppc"
- ;;
- s390*-*linux*|s390*-*tpf*)
- LD="${LD-ld} -m elf64_s390"
- ;;
- sparc*-*linux*)
- LD="${LD-ld} -m elf64_sparc"
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-
-*-*-sco3.2v5*)
- # On SCO OpenServer 5, we need -belf to get full-featured binaries.
- SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -belf"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
-$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if ${lt_cv_cc_needs_belf+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- lt_cv_cc_needs_belf=yes
-else
- lt_cv_cc_needs_belf=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
-$as_echo "$lt_cv_cc_needs_belf" >&6; }
- if test x"$lt_cv_cc_needs_belf" != x"yes"; then
- # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
- CFLAGS="$SAVE_CFLAGS"
- fi
- ;;
-sparc*-*solaris*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- case `/usr/bin/file conftest.o` in
- *64-bit*)
- case $lt_cv_prog_gnu_ld in
- yes*) LD="${LD-ld} -m elf64_sparc" ;;
- *)
- if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
- LD="${LD-ld} -64"
- fi
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-esac
-
-need_locks="$enable_libtool_lock"
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
-set dummy ${ac_tool_prefix}mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$MANIFEST_TOOL"; then
- ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
-if test -n "$MANIFEST_TOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
-$as_echo "$MANIFEST_TOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
- ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
- # Extract the first word of "mt", so it can be a program name with args.
-set dummy mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_MANIFEST_TOOL"; then
- ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
-if test -n "$ac_ct_MANIFEST_TOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
-$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_MANIFEST_TOOL" = x; then
- MANIFEST_TOOL=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
- fi
-else
- MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
-fi
-
-test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
-$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
-if ${lt_cv_path_mainfest_tool+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_path_mainfest_tool=no
- echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
- $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
- cat conftest.err >&5
- if $GREP 'Manifest Tool' conftest.out > /dev/null; then
- lt_cv_path_mainfest_tool=yes
- fi
- rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
-$as_echo "$lt_cv_path_mainfest_tool" >&6; }
-if test "x$lt_cv_path_mainfest_tool" != xyes; then
- MANIFEST_TOOL=:
-fi
-
-
-
-
-
-
- case $host_os in
- rhapsody* | darwin*)
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DSYMUTIL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$DSYMUTIL"; then
- ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-DSYMUTIL=$ac_cv_prog_DSYMUTIL
-if test -n "$DSYMUTIL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
-$as_echo "$DSYMUTIL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DSYMUTIL"; then
- ac_ct_DSYMUTIL=$DSYMUTIL
- # Extract the first word of "dsymutil", so it can be a program name with args.
-set dummy dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_DSYMUTIL"; then
- ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
-if test -n "$ac_ct_DSYMUTIL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
-$as_echo "$ac_ct_DSYMUTIL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_DSYMUTIL" = x; then
- DSYMUTIL=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- DSYMUTIL=$ac_ct_DSYMUTIL
- fi
-else
- DSYMUTIL="$ac_cv_prog_DSYMUTIL"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
-set dummy ${ac_tool_prefix}nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_NMEDIT+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$NMEDIT"; then
- ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-NMEDIT=$ac_cv_prog_NMEDIT
-if test -n "$NMEDIT"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
-$as_echo "$NMEDIT" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_NMEDIT"; then
- ac_ct_NMEDIT=$NMEDIT
- # Extract the first word of "nmedit", so it can be a program name with args.
-set dummy nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_NMEDIT"; then
- ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_NMEDIT="nmedit"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
-if test -n "$ac_ct_NMEDIT"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
-$as_echo "$ac_ct_NMEDIT" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_NMEDIT" = x; then
- NMEDIT=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- NMEDIT=$ac_ct_NMEDIT
- fi
-else
- NMEDIT="$ac_cv_prog_NMEDIT"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
-set dummy ${ac_tool_prefix}lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_LIPO+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$LIPO"; then
- ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-LIPO=$ac_cv_prog_LIPO
-if test -n "$LIPO"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
-$as_echo "$LIPO" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_LIPO"; then
- ac_ct_LIPO=$LIPO
- # Extract the first word of "lipo", so it can be a program name with args.
-set dummy lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_LIPO"; then
- ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_LIPO="lipo"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
-if test -n "$ac_ct_LIPO"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
-$as_echo "$ac_ct_LIPO" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_LIPO" = x; then
- LIPO=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- LIPO=$ac_ct_LIPO
- fi
-else
- LIPO="$ac_cv_prog_LIPO"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$OTOOL"; then
- ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL=$ac_cv_prog_OTOOL
-if test -n "$OTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
-$as_echo "$OTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL"; then
- ac_ct_OTOOL=$OTOOL
- # Extract the first word of "otool", so it can be a program name with args.
-set dummy otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_OTOOL"; then
- ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_OTOOL="otool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
-if test -n "$ac_ct_OTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
-$as_echo "$ac_ct_OTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_OTOOL" = x; then
- OTOOL=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- OTOOL=$ac_ct_OTOOL
- fi
-else
- OTOOL="$ac_cv_prog_OTOOL"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL64+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$OTOOL64"; then
- ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL64=$ac_cv_prog_OTOOL64
-if test -n "$OTOOL64"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
-$as_echo "$OTOOL64" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL64"; then
- ac_ct_OTOOL64=$OTOOL64
- # Extract the first word of "otool64", so it can be a program name with args.
-set dummy otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_OTOOL64"; then
- ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_OTOOL64="otool64"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
-if test -n "$ac_ct_OTOOL64"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
-$as_echo "$ac_ct_OTOOL64" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_OTOOL64" = x; then
- OTOOL64=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- OTOOL64=$ac_ct_OTOOL64
- fi
-else
- OTOOL64="$ac_cv_prog_OTOOL64"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
-$as_echo_n "checking for -single_module linker flag... " >&6; }
-if ${lt_cv_apple_cc_single_mod+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_apple_cc_single_mod=no
- if test -z "${LT_MULTI_MODULE}"; then
- # By default we will add the -single_module flag. You can override
- # by either setting the environment variable LT_MULTI_MODULE
- # non-empty at configure time, or by adding -multi_module to the
- # link flags.
- rm -rf libconftest.dylib*
- echo "int foo(void){return 1;}" > conftest.c
- echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
--dynamiclib -Wl,-single_module conftest.c" >&5
- $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
- -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
- _lt_result=$?
- if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
- lt_cv_apple_cc_single_mod=yes
- else
- cat conftest.err >&5
- fi
- rm -rf libconftest.dylib*
- rm -f conftest.*
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
-$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
-$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if ${lt_cv_ld_exported_symbols_list+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ld_exported_symbols_list=no
- save_LDFLAGS=$LDFLAGS
- echo "_main" > conftest.sym
- LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- lt_cv_ld_exported_symbols_list=yes
-else
- lt_cv_ld_exported_symbols_list=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
-$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
-$as_echo_n "checking for -force_load linker flag... " >&6; }
-if ${lt_cv_ld_force_load+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ld_force_load=no
- cat > conftest.c << _LT_EOF
-int forced_loaded() { return 2;}
-_LT_EOF
- echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
- $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
- echo "$AR cru libconftest.a conftest.o" >&5
- $AR cru libconftest.a conftest.o 2>&5
- echo "$RANLIB libconftest.a" >&5
- $RANLIB libconftest.a 2>&5
- cat > conftest.c << _LT_EOF
-int main() { return 0;}
-_LT_EOF
- echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
- $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
- _lt_result=$?
- if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
- lt_cv_ld_force_load=yes
- else
- cat conftest.err >&5
- fi
- rm -f conftest.err libconftest.a conftest conftest.c
- rm -rf conftest.dSYM
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
-$as_echo "$lt_cv_ld_force_load" >&6; }
- case $host_os in
- rhapsody* | darwin1.[012])
- _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
- darwin1.*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- darwin*) # darwin 5.x on
- # if running on 10.5 or later, the deployment target defaults
- # to the OS version, if on x86, and 10.4, the deployment
- # target defaults to 10.4. Don't you love it?
- case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
- 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- 10.[012]*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- 10.*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- esac
- ;;
- esac
- if test "$lt_cv_apple_cc_single_mod" = "yes"; then
- _lt_dar_single_mod='$single_module'
- fi
- if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
- _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
- else
- _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
- fi
- if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
- _lt_dsymutil='~$DSYMUTIL $lib || :'
- else
- _lt_dsymutil=
- fi
- ;;
- esac
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
- if ${ac_cv_prog_CPP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Double quotes because CPP needs to be expanded
- for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
- do
- ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
- break
-fi
-
- done
- ac_cv_prog_CPP=$CPP
-
-fi
- CPP=$ac_cv_prog_CPP
-else
- ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_header_stdc=yes
-else
- ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then :
- :
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- return 2;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
- inttypes.h stdint.h unistd.h
-do :
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_header in dlfcn.h
-do :
- ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
-"
-if test "x$ac_cv_header_dlfcn_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_DLFCN_H 1
-_ACEOF
-
-fi
-
-done
-
-
-
-
-
-# Set options
-
-
-
- enable_dlopen=no
-
-
- enable_win32_dll=no
-
-
- # Check whether --enable-shared was given.
-if test "${enable_shared+set}" = set; then :
- enableval=$enable_shared; p=${PACKAGE-default}
- case $enableval in
- yes) enable_shared=yes ;;
- no) enable_shared=no ;;
- *)
- enable_shared=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_shared=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_shared=yes
-fi
-
-
-
-
-
-
-
-
-
- # Check whether --enable-static was given.
-if test "${enable_static+set}" = set; then :
- enableval=$enable_static; p=${PACKAGE-default}
- case $enableval in
- yes) enable_static=yes ;;
- no) enable_static=no ;;
- *)
- enable_static=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_static=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_static=yes
-fi
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-pic was given.
-if test "${with_pic+set}" = set; then :
- withval=$with_pic; pic_mode="$withval"
-else
- pic_mode=default
-fi
-
-
-test -z "$pic_mode" && pic_mode=default
-
-
-
-
-
-
-
- # Check whether --enable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then :
- enableval=$enable_fast_install; p=${PACKAGE-default}
- case $enableval in
- yes) enable_fast_install=yes ;;
- no) enable_fast_install=no ;;
- *)
- enable_fast_install=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_fast_install=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_fast_install=yes
-fi
-
-
-
-
-
-
-
-
-
-
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-test -z "$LN_S" && LN_S="ln -s"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
-$as_echo_n "checking for objdir... " >&6; }
-if ${lt_cv_objdir+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
- lt_cv_objdir=.libs
-else
- # MS-DOS does not allow filenames that begin with a dot.
- lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
-$as_echo "$lt_cv_objdir" >&6; }
-objdir=$lt_cv_objdir
-
-
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define LT_OBJDIR "$lt_cv_objdir/"
-_ACEOF
-
-
-
-
-case $host_os in
-aix3*)
- # AIX sometimes has problems with the GCC collect2 program. For some
- # reason, if we set the COLLECT_NAMES environment variable, the problems
- # vanish in a puff of smoke.
- if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
- fi
- ;;
-esac
-
-# Global variables:
-ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$LD" && LD=ld
-test -z "$ac_objext" && ac_objext=o
-
-for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
-
-
-# Only perform the check for file, if the check method requires it
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-case $deplibs_check_method in
-file_magic*)
- if test "$file_magic_cmd" = '$MAGIC_CMD'; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
-$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $MAGIC_CMD in
-[\\/*] | ?:[\\/]*)
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- ;;
-*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
- for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/${ac_tool_prefix}file; then
- lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
- if test -n "$file_magic_test_file"; then
- case $deplibs_check_method in
- "file_magic "*)
- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- $EGREP "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
- fi ;;
- esac
- fi
- break
- fi
- done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
- ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-
-
-if test -z "$lt_cv_path_MAGIC_CMD"; then
- if test -n "$ac_tool_prefix"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
-$as_echo_n "checking for file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $MAGIC_CMD in
-[\\/*] | ?:[\\/]*)
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- ;;
-*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
- for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/file; then
- lt_cv_path_MAGIC_CMD="$ac_dir/file"
- if test -n "$file_magic_test_file"; then
- case $deplibs_check_method in
- "file_magic "*)
- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- $EGREP "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
- fi ;;
- esac
- fi
- break
- fi
- done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
- ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- else
- MAGIC_CMD=:
- fi
-fi
-
- fi
- ;;
-esac
-
-# Use C for the default configuration in the libtool script
-
-lt_save_CC="$CC"
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-objext=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-# Save the default compiler, since it gets overwritten when the other
-# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
-compiler_DEFAULT=$CC
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$RM conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$RM -r conftest*
-
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-if test -n "$compiler"; then
-
-lt_prog_compiler_no_builtin_flag=
-
-if test "$GCC" = yes; then
- case $cc_basename in
- nvcc*)
- lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
- *)
- lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
- esac
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_rtti_exceptions=no
- ac_outfile=conftest.$ac_objext
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="-fno-rtti -fno-exceptions"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_rtti_exceptions=yes
- fi
- fi
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
-
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
- lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
-else
- :
-fi
-
-fi
-
-
-
-
-
-
- lt_prog_compiler_wl=
-lt_prog_compiler_pic=
-lt_prog_compiler_static=
-
-
- if test "$GCC" = yes; then
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_static='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static='-Bstatic'
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- lt_prog_compiler_pic='-fPIC'
- ;;
- m68k)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
- ;;
- esac
- ;;
-
- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
-
- mingw* | cygwin* | pw32* | os2* | cegcc*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- # Although the cygwin gcc ignores -fPIC, still need this for old-style
- # (--disable-auto-import) libraries
- lt_prog_compiler_pic='-DDLL_EXPORT'
- ;;
-
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- lt_prog_compiler_pic='-fno-common'
- ;;
-
- haiku*)
- # PIC is the default for Haiku.
- # The "-static" flag exists, but is broken.
- lt_prog_compiler_static=
- ;;
-
- hpux*)
- # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
- # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
- # sets the default TLS model and affects inlining.
- case $host_cpu in
- hppa*64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic='-fPIC'
- ;;
- esac
- ;;
-
- interix[3-9]*)
- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- # Instead, we relocate shared libraries at runtime.
- ;;
-
- msdosdjgpp*)
- # Just because we use GCC doesn't mean we suddenly get shared libraries
- # on systems that don't support them.
- lt_prog_compiler_can_build_shared=no
- enable_shared=no
- ;;
-
- *nto* | *qnx*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- lt_prog_compiler_pic='-fPIC -shared'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- lt_prog_compiler_pic=-Kconform_pic
- fi
- ;;
-
- *)
- lt_prog_compiler_pic='-fPIC'
- ;;
- esac
-
- case $cc_basename in
- nvcc*) # Cuda Compiler Driver 2.2
- lt_prog_compiler_wl='-Xlinker '
- lt_prog_compiler_pic='-Xcompiler -fPIC'
- ;;
- esac
- else
- # PORTME Check for flag to pass linker flags through the system compiler.
- case $host_os in
- aix*)
- lt_prog_compiler_wl='-Wl,'
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static='-Bstatic'
- else
- lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
-
- mingw* | cygwin* | pw32* | os2* | cegcc*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- lt_prog_compiler_pic='-DDLL_EXPORT'
- ;;
-
- hpux9* | hpux10* | hpux11*)
- lt_prog_compiler_wl='-Wl,'
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic='+Z'
- ;;
- esac
- # Is there a better lt_prog_compiler_static that works with the bundled CC?
- lt_prog_compiler_static='${wl}-a ${wl}archive'
- ;;
-
- irix5* | irix6* | nonstopux*)
- lt_prog_compiler_wl='-Wl,'
- # PIC (with -KPIC) is the default.
- lt_prog_compiler_static='-non_shared'
- ;;
-
- linux* | k*bsd*-gnu | kopensolaris*-gnu)
- case $cc_basename in
- # old Intel for x86_64 which still supported -KPIC.
- ecc*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-static'
- ;;
- # icc used to be incompatible with GCC.
- # ICC 10 doesn't accept -KPIC any more.
- icc* | ifort*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-fPIC'
- lt_prog_compiler_static='-static'
- ;;
- # Lahey Fortran 8.1.
- lf95*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='--shared'
- lt_prog_compiler_static='--static'
- ;;
- nagfor*)
- # NAG Fortran compiler
- lt_prog_compiler_wl='-Wl,-Wl,,'
- lt_prog_compiler_pic='-PIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
- pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
- # Portland Group compilers (*not* the Pentium gcc compiler,
- # which looks to be a dead project)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-fpic'
- lt_prog_compiler_static='-Bstatic'
- ;;
- ccc*)
- lt_prog_compiler_wl='-Wl,'
- # All Alpha code is PIC.
- lt_prog_compiler_static='-non_shared'
- ;;
- xl* | bgxl* | bgf* | mpixl*)
- # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-qpic'
- lt_prog_compiler_static='-qstaticlink'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ F* | *Sun*Fortran*)
- # Sun Fortran 8.3 passes all unrecognized flags to the linker
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- lt_prog_compiler_wl=''
- ;;
- *Sun\ C*)
- # Sun C 5.9
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- lt_prog_compiler_wl='-Wl,'
- ;;
- esac
- ;;
- esac
- ;;
-
- newsos6)
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- *nto* | *qnx*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- lt_prog_compiler_pic='-fPIC -shared'
- ;;
-
- osf3* | osf4* | osf5*)
- lt_prog_compiler_wl='-Wl,'
- # All OSF/1 code is PIC.
- lt_prog_compiler_static='-non_shared'
- ;;
-
- rdos*)
- lt_prog_compiler_static='-non_shared'
- ;;
-
- solaris*)
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- case $cc_basename in
- f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
- lt_prog_compiler_wl='-Qoption ld ';;
- *)
- lt_prog_compiler_wl='-Wl,';;
- esac
- ;;
-
- sunos4*)
- lt_prog_compiler_wl='-Qoption ld '
- lt_prog_compiler_pic='-PIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- sysv4 | sysv4.2uw2* | sysv4.3*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec ;then
- lt_prog_compiler_pic='-Kconform_pic'
- lt_prog_compiler_static='-Bstatic'
- fi
- ;;
-
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- unicos*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_can_build_shared=no
- ;;
-
- uts4*)
- lt_prog_compiler_pic='-pic'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- *)
- lt_prog_compiler_can_build_shared=no
- ;;
- esac
- fi
-
-case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- lt_prog_compiler_pic=
- ;;
- *)
- lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
- ;;
-esac
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
-if ${lt_cv_prog_compiler_pic+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
-$as_echo "$lt_cv_prog_compiler_pic" >&6; }
-lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if ${lt_cv_prog_compiler_pic_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_pic_works=no
- ac_outfile=conftest.$ac_objext
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_pic_works=yes
- fi
- fi
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
-$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
- case $lt_prog_compiler_pic in
- "" | " "*) ;;
- *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
- esac
-else
- lt_prog_compiler_pic=
- lt_prog_compiler_can_build_shared=no
-fi
-
-fi
-
-
-
-
-
-
-
-
-
-
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if ${lt_cv_prog_compiler_static_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_static_works=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
- echo "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_static_works=yes
- fi
- else
- lt_cv_prog_compiler_static_works=yes
- fi
- fi
- $RM -r conftest*
- LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
-$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_static_works" = xyes; then
- :
-else
- lt_prog_compiler_static=
-fi
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_c_o=no
- $RM -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o=yes
- fi
- fi
- chmod u+w . 2>&5
- $RM conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
- $RM out/* && rmdir out
- cd ..
- $RM -r conftest
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_c_o=no
- $RM -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o=yes
- fi
- fi
- chmod u+w . 2>&5
- $RM conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
- $RM out/* && rmdir out
- cd ..
- $RM -r conftest
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
- # do not overwrite the value of need_locks provided by the user
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
-$as_echo_n "checking if we can lock with hard links... " >&6; }
- hard_links=yes
- $RM conftest*
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- touch conftest.a
- ln conftest.a conftest.b 2>&5 || hard_links=no
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
-$as_echo "$hard_links" >&6; }
- if test "$hard_links" = no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
- need_locks=warn
- fi
-else
- need_locks=no
-fi
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
-
- runpath_var=
- allow_undefined_flag=
- always_export_symbols=no
- archive_cmds=
- archive_expsym_cmds=
- compiler_needs_object=no
- enable_shared_with_static_runtimes=no
- export_dynamic_flag_spec=
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- hardcode_automatic=no
- hardcode_direct=no
- hardcode_direct_absolute=no
- hardcode_libdir_flag_spec=
- hardcode_libdir_flag_spec_ld=
- hardcode_libdir_separator=
- hardcode_minus_L=no
- hardcode_shlibpath_var=unsupported
- inherit_rpath=no
- link_all_deplibs=unknown
- module_cmds=
- module_expsym_cmds=
- old_archive_from_new_cmds=
- old_archive_from_expsyms_cmds=
- thread_safe_flag_spec=
- whole_archive_flag_spec=
- # include_expsyms should be a list of space-separated symbols to be *always*
- # included in the symbol list
- include_expsyms=
- # exclude_expsyms can be an extended regexp of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
- exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
- # platforms (ab)use it in PIC code, but their linkers get confused if
- # the symbol is explicitly referenced. Since portable code cannot
- # rely on this symbol name, it's probably fine to never include it in
- # preloaded symbol tables.
- # Exclude shared library initialization/finalization symbols.
- extract_expsyms_cmds=
-
- case $host_os in
- cygwin* | mingw* | pw32* | cegcc*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- if test "$GCC" != yes; then
- with_gnu_ld=no
- fi
- ;;
- interix*)
- # we just hope/assume this is gcc and not c89 (= MSVC++)
- with_gnu_ld=yes
- ;;
- openbsd*)
- with_gnu_ld=no
- ;;
- esac
-
- ld_shlibs=yes
-
- # On some targets, GNU ld is compatible enough with the native linker
- # that we're better off using the native interface for both.
- lt_use_gnu_ld_interface=no
- if test "$with_gnu_ld" = yes; then
- case $host_os in
- aix*)
- # The AIX port of GNU ld has always aspired to compatibility
- # with the native linker. However, as the warning in the GNU ld
- # block says, versions before 2.19.5* couldn't really create working
- # shared libraries, regardless of the interface used.
- case `$LD -v 2>&1` in
- *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
- *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
- *\ \(GNU\ Binutils\)\ [3-9]*) ;;
- *)
- lt_use_gnu_ld_interface=yes
- ;;
- esac
- ;;
- *)
- lt_use_gnu_ld_interface=yes
- ;;
- esac
- fi
-
- if test "$lt_use_gnu_ld_interface" = yes; then
- # If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
-
- # Set some defaults for GNU ld with shared library support. These
- # are reset later if shared libraries are not supported. Putting them
- # here allows them to be overridden if necessary.
- runpath_var=LD_RUN_PATH
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- export_dynamic_flag_spec='${wl}--export-dynamic'
- # ancient GNU ld didn't support --whole-archive et. al.
- if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
- whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- whole_archive_flag_spec=
- fi
- supports_anon_versioning=no
- case `$LD -v 2>&1` in
- *GNU\ gold*) supports_anon_versioning=yes ;;
- *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
- *\ 2.11.*) ;; # other 2.11 versions
- *) supports_anon_versioning=yes ;;
- esac
-
- # See if GNU ld supports shared libraries.
- case $host_os in
- aix[3-9]*)
- # On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
- ld_shlibs=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.19, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support. If you
-*** really care for shared libraries, you may want to install binutils
-*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
-*** You will then need to restart the configuration process.
-
-_LT_EOF
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds=''
- ;;
- m68k)
- archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- ;;
- esac
- ;;
-
- beos*)
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- allow_undefined_flag=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
-
- cygwin* | mingw* | pw32* | cegcc*)
- # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
- # as there is no search path for DLLs.
- hardcode_libdir_flag_spec='-L$libdir'
- export_dynamic_flag_spec='${wl}--export-all-symbols'
- allow_undefined_flag=unsupported
- always_export_symbols=no
- enable_shared_with_static_runtimes=yes
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
- exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
-
- if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- ld_shlibs=no
- fi
- ;;
-
- haiku*)
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- link_all_deplibs=yes
- ;;
-
- interix[3-9]*)
- hardcode_direct=no
- hardcode_shlibpath_var=no
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- export_dynamic_flag_spec='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
-
- gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
- tmp_diet=no
- if test "$host_os" = linux-dietlibc; then
- case $cc_basename in
- diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
- esac
- fi
- if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
- && test "$tmp_diet" = no
- then
- tmp_addflag=' $pic_flag'
- tmp_sharedflag='-shared'
- case $cc_basename,$host_cpu in
- pgcc*) # Portland Group C compiler
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag'
- ;;
- pgf77* | pgf90* | pgf95* | pgfortran*)
- # Portland Group f77 and f90 compilers
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag -Mnomain' ;;
- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
- tmp_addflag=' -i_dynamic' ;;
- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
- tmp_addflag=' -i_dynamic -nofor_main' ;;
- ifc* | ifort*) # Intel Fortran compiler
- tmp_addflag=' -nofor_main' ;;
- lf95*) # Lahey Fortran 8.1
- whole_archive_flag_spec=
- tmp_sharedflag='--shared' ;;
- xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
- tmp_sharedflag='-qmkshrobj'
- tmp_addflag= ;;
- nvcc*) # Cuda Compiler Driver 2.2
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- compiler_needs_object=yes
- ;;
- esac
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*) # Sun C 5.9
- whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- compiler_needs_object=yes
- tmp_sharedflag='-G' ;;
- *Sun\ F*) # Sun Fortran 8.3
- tmp_sharedflag='-G' ;;
- esac
- archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
- if test "x$supports_anon_versioning" = xyes; then
- archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- fi
-
- case $cc_basename in
- xlf* | bgf* | bgxlf* | mpixlf*)
- # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
- whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
- hardcode_libdir_flag_spec=
- hardcode_libdir_flag_spec_ld='-rpath $libdir'
- archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
- if test "x$supports_anon_versioning" = xyes; then
- archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
- fi
- ;;
- esac
- else
- ld_shlibs=no
- fi
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
- wlarc=
- else
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- fi
- ;;
-
- solaris*)
- if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
- ld_shlibs=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
- case `$LD -v 2>&1` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
- ld_shlibs=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- ;;
- *)
- # For security reasons, it is highly recommended that you always
- # use absolute paths for naming shared libraries, and exclude the
- # DT_RUNPATH tag from executables and libraries. But doing so
- # requires that you compile everything twice, which is a pain.
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
- esac
- ;;
-
- sunos4*)
- archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- wlarc=
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- *)
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
- esac
-
- if test "$ld_shlibs" = no; then
- runpath_var=
- hardcode_libdir_flag_spec=
- export_dynamic_flag_spec=
- whole_archive_flag_spec=
- fi
- else
- # PORTME fill in a description of your system's linker (not GNU ld)
- case $host_os in
- aix3*)
- allow_undefined_flag=unsupported
- always_export_symbols=yes
- archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
- # Note: this linker hardcodes the directories in LIBPATH if there
- # are no directories specified by -L.
- hardcode_minus_L=yes
- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
- # Neither direct hardcoding nor static linking is supported with a
- # broken collect2.
- hardcode_direct=unsupported
- fi
- ;;
-
- aix[4-9]*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- # Also, AIX nm treats weak defined symbols like other global
- # defined symbols, whereas GNU nm marks them as "W".
- if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
- export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- else
- export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- fi
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
- for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- aix_use_runtimelinking=yes
- break
- fi
- done
- ;;
- esac
-
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
-
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- archive_cmds=''
- hardcode_direct=yes
- hardcode_direct_absolute=yes
- hardcode_libdir_separator=':'
- link_all_deplibs=yes
- file_list_spec='${wl}-f,'
-
- if test "$GCC" = yes; then
- case $host_os in aix4.[012]|aix4.[012].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" &&
- strings "$collect2name" | $GREP resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- :
- else
- # We have old collect2
- hardcode_direct=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- hardcode_minus_L=yes
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_libdir_separator=
- fi
- ;;
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
-
- export_dynamic_flag_spec='${wl}-bexpall'
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- always_export_symbols=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- allow_undefined_flag='-berok'
- # Determine the default libpath from the value encoded in an
- # empty executable.
- if test "${lt_cv_aix_libpath+set}" = set; then
- aix_libpath=$lt_cv_aix_libpath
-else
- if ${lt_cv_aix_libpath_+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
- lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\([^ ]*\) *$/\1/
- p
- }
- }'
- lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- # Check for a 64-bit object if we didn't find anything.
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_="/usr/lib:/lib"
- fi
-
-fi
-
- aix_libpath=$lt_cv_aix_libpath_
-fi
-
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
- allow_undefined_flag="-z nodefs"
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an
- # empty executable.
- if test "${lt_cv_aix_libpath+set}" = set; then
- aix_libpath=$lt_cv_aix_libpath
-else
- if ${lt_cv_aix_libpath_+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
- lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\([^ ]*\) *$/\1/
- p
- }
- }'
- lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- # Check for a 64-bit object if we didn't find anything.
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_="/usr/lib:/lib"
- fi
-
-fi
-
- aix_libpath=$lt_cv_aix_libpath_
-fi
-
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- no_undefined_flag=' ${wl}-bernotok'
- allow_undefined_flag=' ${wl}-berok'
- if test "$with_gnu_ld" = yes; then
- # We only use this code for GNU lds that support --whole-archive.
- whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
- else
- # Exported symbols can be pulled into shared objects from archives
- whole_archive_flag_spec='$convenience'
- fi
- archive_cmds_need_lc=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds=''
- ;;
- m68k)
- archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- ;;
- esac
- ;;
-
- bsdi[45]*)
- export_dynamic_flag_spec=-rdynamic
- ;;
-
- cygwin* | mingw* | pw32* | cegcc*)
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- case $cc_basename in
- cl*)
- # Native MSVC
- hardcode_libdir_flag_spec=' '
- allow_undefined_flag=unsupported
- always_export_symbols=yes
- file_list_spec='@'
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
- archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
- else
- sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
- fi~
- $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
- linknames='
- # The linker will not automatically build a static lib if we build a DLL.
- # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
- enable_shared_with_static_runtimes=yes
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
- # Don't use ranlib
- old_postinstall_cmds='chmod 644 $oldlib'
- postlink_cmds='lt_outputfile="@OUTPUT@"~
- lt_tool_outputfile="@TOOL_OUTPUT@"~
- case $lt_outputfile in
- *.exe|*.EXE) ;;
- *)
- lt_outputfile="$lt_outputfile.exe"
- lt_tool_outputfile="$lt_tool_outputfile.exe"
- ;;
- esac~
- if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
- $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
- $RM "$lt_outputfile.manifest";
- fi'
- ;;
- *)
- # Assume MSVC wrapper
- hardcode_libdir_flag_spec=' '
- allow_undefined_flag=unsupported
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
- # The linker will automatically build a .lib file if we build a DLL.
- old_archive_from_new_cmds='true'
- # FIXME: Should let the user specify the lib program.
- old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
- enable_shared_with_static_runtimes=yes
- ;;
- esac
- ;;
-
- darwin* | rhapsody*)
-
-
- archive_cmds_need_lc=no
- hardcode_direct=no
- hardcode_automatic=yes
- hardcode_shlibpath_var=unsupported
- if test "$lt_cv_ld_force_load" = "yes"; then
- whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
- else
- whole_archive_flag_spec=''
- fi
- link_all_deplibs=yes
- allow_undefined_flag="$_lt_dar_allow_undefined"
- case $cc_basename in
- ifort*) _lt_dar_can_shared=yes ;;
- *) _lt_dar_can_shared=$GCC ;;
- esac
- if test "$_lt_dar_can_shared" = "yes"; then
- output_verbose_link_cmd=func_echo_all
- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-
- else
- ld_shlibs=no
- fi
-
- ;;
-
- dgux*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_shlibpath_var=no
- ;;
-
- freebsd1*)
- ld_shlibs=no
- ;;
-
- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
- # support. Future versions do this automatically, but an explicit c++rt0.o
- # does not break anything, and helps significantly (at the cost of a little
- # extra space).
- freebsd2.2*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes
- hardcode_minus_L=yes
- hardcode_shlibpath_var=no
- ;;
-
- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | dragonfly*)
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- hpux9*)
- if test "$GCC" = yes; then
- archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- fi
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_direct=yes
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- export_dynamic_flag_spec='${wl}-E'
- ;;
-
- hpux10*)
- if test "$GCC" = yes && test "$with_gnu_ld" = no; then
- archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_flag_spec_ld='+b $libdir'
- hardcode_libdir_separator=:
- hardcode_direct=yes
- hardcode_direct_absolute=yes
- export_dynamic_flag_spec='${wl}-E'
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- fi
- ;;
-
- hpux11*)
- if test "$GCC" = yes && test "$with_gnu_ld" = no; then
- case $host_cpu in
- hppa*64*)
- archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- else
- case $host_cpu in
- hppa*64*)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
-
- # Older versions of the 11.00 compiler do not understand -b yet
- # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
-$as_echo_n "checking if $CC understands -b... " >&6; }
-if ${lt_cv_prog_compiler__b+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler__b=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS -b"
- echo "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler__b=yes
- fi
- else
- lt_cv_prog_compiler__b=yes
- fi
- fi
- $RM -r conftest*
- LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
-$as_echo "$lt_cv_prog_compiler__b" >&6; }
-
-if test x"$lt_cv_prog_compiler__b" = xyes; then
- archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-else
- archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-fi
-
- ;;
- esac
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
-
- case $host_cpu in
- hppa*64*|ia64*)
- hardcode_direct=no
- hardcode_shlibpath_var=no
- ;;
- *)
- hardcode_direct=yes
- hardcode_direct_absolute=yes
- export_dynamic_flag_spec='${wl}-E'
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- ;;
- esac
- fi
- ;;
-
- irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- # Try to use the -exported_symbol ld option, if it does not
- # work, assume that -exports_file does not work either and
- # implicitly export all symbols.
- # This should be the same for all languages, so no per-tag cache variable.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
-$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
-if ${lt_cv_irix_exported_symbol+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-int foo (void) { return 0; }
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- lt_cv_irix_exported_symbol=yes
-else
- lt_cv_irix_exported_symbol=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS="$save_LDFLAGS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
-$as_echo "$lt_cv_irix_exported_symbol" >&6; }
- if test "$lt_cv_irix_exported_symbol" = yes; then
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
- fi
- else
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
- fi
- archive_cmds_need_lc='no'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- inherit_rpath=yes
- link_all_deplibs=yes
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
- else
- archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
- fi
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- newsos6)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_shlibpath_var=no
- ;;
-
- *nto* | *qnx*)
- ;;
-
- openbsd*)
- if test -f /usr/libexec/ld.so; then
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- hardcode_direct_absolute=yes
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- export_dynamic_flag_spec='${wl}-E'
- else
- case $host_os in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-R$libdir'
- ;;
- *)
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- ;;
- esac
- fi
- else
- ld_shlibs=no
- fi
- ;;
-
- os2*)
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- allow_undefined_flag=unsupported
- archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
- ;;
-
- osf3*)
- if test "$GCC" = yes; then
- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- fi
- archive_cmds_need_lc='no'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- ;;
-
- osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- else
- allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
- $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
-
- # Both c and cxx compiler support -rpath directly
- hardcode_libdir_flag_spec='-rpath $libdir'
- fi
- archive_cmds_need_lc='no'
- hardcode_libdir_separator=:
- ;;
-
- solaris*)
- no_undefined_flag=' -z defs'
- if test "$GCC" = yes; then
- wlarc='${wl}'
- archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
- else
- case `$CC -V 2>&1` in
- *"Compilers 5.0"*)
- wlarc=''
- archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
- ;;
- *)
- wlarc='${wl}'
- archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
- ;;
- esac
- fi
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_shlibpath_var=no
- case $host_os in
- solaris2.[0-5] | solaris2.[0-5].*) ;;
- *)
- # The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'. GCC discards it without `$wl',
- # but is careful enough not to reorder.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- if test "$GCC" = yes; then
- whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
- else
- whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
- fi
- ;;
- esac
- link_all_deplibs=yes
- ;;
-
- sunos4*)
- if test "x$host_vendor" = xsequent; then
- # Use $CC to link under sequent, because it throws in some extra .o
- # files that make .init and .fini sections work.
- archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
- fi
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_direct=yes
- hardcode_minus_L=yes
- hardcode_shlibpath_var=no
- ;;
-
- sysv4)
- case $host_vendor in
- sni)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes # is this really true???
- ;;
- siemens)
- ## LD is ld it makes a PLAMLIB
- ## CC just makes a GrossModule.
- archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- reload_cmds='$CC -r -o $output$reload_objs'
- hardcode_direct=no
- ;;
- motorola)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=no #Motorola manual says yes, but my tests say they lie
- ;;
- esac
- runpath_var='LD_RUN_PATH'
- hardcode_shlibpath_var=no
- ;;
-
- sysv4.3*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var=no
- export_dynamic_flag_spec='-Bexport'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var=no
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- ld_shlibs=yes
- fi
- ;;
-
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
- no_undefined_flag='${wl}-z,text'
- archive_cmds_need_lc=no
- hardcode_shlibpath_var=no
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- no_undefined_flag='${wl}-z,text'
- allow_undefined_flag='${wl}-z,nodefs'
- archive_cmds_need_lc=no
- hardcode_shlibpath_var=no
- hardcode_libdir_flag_spec='${wl}-R,$libdir'
- hardcode_libdir_separator=':'
- link_all_deplibs=yes
- export_dynamic_flag_spec='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- uts4*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_shlibpath_var=no
- ;;
-
- *)
- ld_shlibs=no
- ;;
- esac
-
- if test x$host_vendor = xsni; then
- case $host in
- sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- export_dynamic_flag_spec='${wl}-Blargedynsym'
- ;;
- esac
- fi
- fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
-$as_echo "$ld_shlibs" >&6; }
-test "$ld_shlibs" = no && can_build_shared=no
-
-with_gnu_ld=$with_gnu_ld
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc" in
-x|xyes)
- # Assume -lc should be added
- archive_cmds_need_lc=yes
-
- if test "$enable_shared" = yes && test "$GCC" = yes; then
- case $archive_cmds in
- *'~'*)
- # FIXME: we may have to deal with multi-command sequences.
- ;;
- '$CC '*)
- # Test whether the compiler implicitly links with -lc since on some
- # systems, -lgcc has to come before -lc. If gcc already passes -lc
- # to ld, don't add -lc before -lgcc.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
-$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if ${lt_cv_archive_cmds_need_lc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- $RM conftest*
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$lt_prog_compiler_wl
- pic_flag=$lt_prog_compiler_pic
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$allow_undefined_flag
- allow_undefined_flag=
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
- (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- then
- lt_cv_archive_cmds_need_lc=no
- else
- lt_cv_archive_cmds_need_lc=yes
- fi
- allow_undefined_flag=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
-$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
- archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
- ;;
- esac
- fi
- ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
-$as_echo_n "checking dynamic linker characteristics... " >&6; }
-
-if test "$GCC" = yes; then
- case $host_os in
- darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
- *) lt_awk_arg="/^libraries:/" ;;
- esac
- case $host_os in
- mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;;
- *) lt_sed_strip_eq="s,=/,/,g" ;;
- esac
- lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
- case $lt_search_path_spec in
- *\;*)
- # if the path contains ";" then we assume it to be the separator
- # otherwise default to the standard path separator (i.e. ":") - it is
- # assumed that no part of a normal pathname contains ";" but that should
- # okay in the real world where ";" in dirpaths is itself problematic.
- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
- ;;
- *)
- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
- ;;
- esac
- # Ok, now we have the path, separated by spaces, we can step through it
- # and add multilib dir if necessary.
- lt_tmp_lt_search_path_spec=
- lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
- for lt_sys_path in $lt_search_path_spec; do
- if test -d "$lt_sys_path/$lt_multi_os_dir"; then
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
- else
- test -d "$lt_sys_path" && \
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
- fi
- done
- lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
-BEGIN {RS=" "; FS="/|\n";} {
- lt_foo="";
- lt_count=0;
- for (lt_i = NF; lt_i > 0; lt_i--) {
- if ($lt_i != "" && $lt_i != ".") {
- if ($lt_i == "..") {
- lt_count++;
- } else {
- if (lt_count == 0) {
- lt_foo="/" $lt_i lt_foo;
- } else {
- lt_count--;
- }
- }
- }
- }
- if (lt_foo != "") { lt_freq[lt_foo]++; }
- if (lt_freq[lt_foo] == 1) { print lt_foo; }
-}'`
- # AWK program above erroneously prepends '/' to C:/dos/paths
- # for these hosts.
- case $host_os in
- mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
- $SED 's,/\([A-Za-z]:\),\1,g'` ;;
- esac
- sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
-else
- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
- shlibpath_var=LIBPATH
-
- # AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
-
-aix[4-9]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
- # AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- else
- # With GCC up to 2.95.x, collect2 would create an import file
- # for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
- # development snapshots of GCC prior to 3.0.
- case $host_os in
- aix4 | aix4.[01] | aix4.[01].*)
- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
- echo ' yes '
- echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
- :
- else
- can_build_shared=no
- fi
- ;;
- esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
- # soname into executable. Probably we can add versioning support to
- # collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
- # instead of lib<name>.a to let people know that these are not
- # typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
- # We preserve .a as extension for shared libraries through AIX4.2
- # and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
- shlibpath_var=LIBPATH
- fi
- ;;
-
-amigaos*)
- case $host_cpu in
- powerpc)
- # Since July 2007 AmigaOS4 officially supports .so libraries.
- # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- ;;
- m68k)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
- ;;
- esac
- ;;
-
-beos*)
- library_names_spec='${libname}${shared_ext}'
- dynamic_linker="$host_os ld.so"
- shlibpath_var=LIBRARY_PATH
- ;;
-
-bsdi[45]*)
- version_type=linux
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
- # the default ld.so.conf also contains /usr/contrib/lib and
- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
- # libtool to hard-code these into programs
- ;;
-
-cygwin* | mingw* | pw32* | cegcc*)
- version_type=windows
- shrext_cmds=".dll"
- need_version=no
- need_lib_prefix=no
-
- case $GCC,$cc_basename in
- yes,*)
- # gcc
- library_names_spec='$libname.dll.a'
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname~
- chmod a+x \$dldir/$dlname~
- if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
- eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
- fi'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $RM \$dlpath'
- shlibpath_overrides_runpath=yes
-
- case $host_os in
- cygwin*)
- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-
- sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
- ;;
- mingw* | cegcc*)
- # MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- ;;
- pw32*)
- # pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- ;;
- esac
- dynamic_linker='Win32 ld.exe'
- ;;
-
- *,cl*)
- # Native MSVC
- libname_spec='$name'
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- library_names_spec='${libname}.dll.lib'
-
- case $build_os in
- mingw*)
- sys_lib_search_path_spec=
- lt_save_ifs=$IFS
- IFS=';'
- for lt_path in $LIB
- do
- IFS=$lt_save_ifs
- # Let DOS variable expansion print the short 8.3 style file name.
- lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
- sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
- done
- IFS=$lt_save_ifs
- # Convert to MSYS style.
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
- ;;
- cygwin*)
- # Convert to unix form, then to dos form, then back to unix form
- # but this time dos style (no spaces!) so that the unix form looks
- # like /cygdrive/c/PROGRA~1:/cygdr...
- sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
- sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
- sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- ;;
- *)
- sys_lib_search_path_spec="$LIB"
- if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
- # It is most probably a Windows format PATH.
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- # FIXME: find the short name or the path components, as spaces are
- # common. (e.g. "Program Files" -> "PROGRA~1")
- ;;
- esac
-
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $RM \$dlpath'
- shlibpath_overrides_runpath=yes
- dynamic_linker='Win32 link.exe'
- ;;
-
- *)
- # Assume MSVC wrapper
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
- dynamic_linker='Win32 ld.exe'
- ;;
- esac
- # FIXME: first we should search . and the directory the executable is in
- shlibpath_var=PATH
- ;;
-
-darwin* | rhapsody*)
- dynamic_linker="$host_os dyld"
- version_type=darwin
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
- shlibpath_overrides_runpath=yes
- shlibpath_var=DYLD_LIBRARY_PATH
- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-
- sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
- ;;
-
-dgux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-freebsd1*)
- dynamic_linker=no
- ;;
-
-freebsd* | dragonfly*)
- # DragonFly does not have aout. When/if they implement a new
- # versioning mechanism, adjust this.
- if test -x /usr/bin/objformat; then
- objformat=`/usr/bin/objformat`
- else
- case $host_os in
- freebsd[123]*) objformat=aout ;;
- *) objformat=elf ;;
- esac
- fi
- version_type=freebsd-$objformat
- case $version_type in
- freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- need_version=no
- need_lib_prefix=no
- ;;
- freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
- need_version=yes
- ;;
- esac
- shlibpath_var=LD_LIBRARY_PATH
- case $host_os in
- freebsd2*)
- shlibpath_overrides_runpath=yes
- ;;
- freebsd3.[01]* | freebsdelf3.[01]*)
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
- freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
- *) # from 4.6 on, and DragonFly
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- esac
- ;;
-
-gnu*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- ;;
-
-haiku*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- dynamic_linker="$host_os runtime_loader"
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
- hardcode_into_libs=yes
- ;;
-
-hpux9* | hpux10* | hpux11*)
- # Give a soname corresponding to the major version so that dld.sl refuses to
- # link against other versions.
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- case $host_cpu in
- ia64*)
- shrext_cmds='.so'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.so"
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
- else
- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
- fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
- shrext_cmds='.sl'
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=SHLIB_PATH
- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
- esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
- postinstall_cmds='chmod 555 $lib'
- # or fails outright, so override atomically:
- install_override_mode=555
- ;;
-
-interix[3-9]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $host_os in
- nonstopux*) version_type=nonstopux ;;
- *)
- if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
- else
- version_type=irix
- fi ;;
- esac
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
- case $host_os in
- irix5* | nonstopux*)
- libsuff= shlibsuff=
- ;;
- *)
- case $LD in # libtool.m4 will add one of these switches to LD
- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
- libsuff= shlibsuff= libmagic=32-bit;;
- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
- libsuff=32 shlibsuff=N32 libmagic=N32;;
- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
- libsuff=64 shlibsuff=64 libmagic=64-bit;;
- *) libsuff= shlibsuff= libmagic=never-match;;
- esac
- ;;
- esac
- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
- hardcode_into_libs=yes
- ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
- dynamic_linker=no
- ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
-
- # Some binutils ld are patched to set DT_RUNPATH
- if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_shlibpath_overrides_runpath=no
- save_LDFLAGS=$LDFLAGS
- save_libdir=$libdir
- eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
- LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
- lt_cv_shlibpath_overrides_runpath=yes
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS=$save_LDFLAGS
- libdir=$save_libdir
-
-fi
-
- shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
-
- # This implies no fast_install, which is unacceptable.
- # Some rework will be needed to allow for fast_install
- # before this can be enabled.
- hardcode_into_libs=yes
-
- # Append ld.so.conf contents to the search path
- if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
- fi
-
- # We used to test for /lib/ld.so.1 and disable shared libraries on
- # powerpc, because MkLinux only supported shared libraries with the
- # GNU dynamic linker. Since this was broken with cross compilers,
- # most powerpc-linux boxes support dynamic linking these days and
- # people can always --disable-shared, the test was removed, and we
- # assume the GNU/Linux dynamic linker is in use.
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-netbsd*)
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- dynamic_linker='NetBSD (a.out) ld.so'
- else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='NetBSD ld.elf_so'
- fi
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
-
-newsos6)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-*nto* | *qnx*)
- version_type=qnx
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='ldqnx.so'
- ;;
-
-openbsd*)
- version_type=sunos
- sys_lib_dlsearch_path_spec="/usr/lib"
- need_lib_prefix=no
- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
- case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
- esac
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[89] | openbsd2.[89].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
- else
- shlibpath_overrides_runpath=yes
- fi
- ;;
-
-os2*)
- libname_spec='$name'
- shrext_cmds=".dll"
- need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
- dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
- ;;
-
-osf3* | osf4* | osf5*)
- version_type=osf
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
- ;;
-
-rdos*)
- dynamic_linker=no
- ;;
-
-solaris*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- # ldd complains unless libraries are executable
- postinstall_cmds='chmod +x $lib'
- ;;
-
-sunos4*)
- version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- fi
- need_version=yes
- ;;
-
-sysv4 | sysv4.3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- case $host_vendor in
- sni)
- shlibpath_overrides_runpath=no
- need_lib_prefix=no
- runpath_var=LD_RUN_PATH
- ;;
- siemens)
- need_lib_prefix=no
- ;;
- motorola)
- need_lib_prefix=no
- need_version=no
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
- ;;
- esac
- ;;
-
-sysv4*MP*)
- if test -d /usr/nec ;then
- version_type=linux
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
- shlibpath_var=LD_LIBRARY_PATH
- fi
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- version_type=freebsd-elf
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- if test "$with_gnu_ld" = yes; then
- sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
- else
- sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
- case $host_os in
- sco3.2v5*)
- sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
- ;;
- esac
- fi
- sys_lib_dlsearch_path_spec='/usr/lib'
- ;;
-
-tpf*)
- # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-uts4*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-*)
- dynamic_linker=no
- ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
-$as_echo "$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
- sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
- sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
-$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
-hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" ||
- test -n "$runpath_var" ||
- test "X$hardcode_automatic" = "Xyes" ; then
-
- # We can hardcode non-existent directories.
- if test "$hardcode_direct" != no &&
- # If the only mechanism to avoid hardcoding is shlibpath_var, we
- # have to relink, otherwise we might link with an installed library
- # when we should be linking with a yet-to-be-installed one
- ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
- test "$hardcode_minus_L" != no; then
- # Linking always hardcodes the temporary library directory.
- hardcode_action=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- hardcode_action=immediate
- fi
-else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- hardcode_action=unsupported
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
-$as_echo "$hardcode_action" >&6; }
-
-if test "$hardcode_action" = relink ||
- test "$inherit_rpath" = yes; then
- # Fast installation is not supported
- enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
- # Fast installation is not necessary
- enable_fast_install=needless
-fi
-
-
-
-
-
-
- if test "x$enable_dlopen" != xyes; then
- enable_dlopen=unknown
- enable_dlopen_self=unknown
- enable_dlopen_self_static=unknown
-else
- lt_cv_dlopen=no
- lt_cv_dlopen_libs=
-
- case $host_os in
- beos*)
- lt_cv_dlopen="load_add_on"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
- ;;
-
- mingw* | pw32* | cegcc*)
- lt_cv_dlopen="LoadLibrary"
- lt_cv_dlopen_libs=
- ;;
-
- cygwin*)
- lt_cv_dlopen="dlopen"
- lt_cv_dlopen_libs=
- ;;
-
- darwin*)
- # if libdl is installed we need to link against it
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dl_dlopen=yes
-else
- ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-
- lt_cv_dlopen="dyld"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
-
-fi
-
- ;;
-
- *)
- ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = xyes; then :
- lt_cv_dlopen="shl_load"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
-$as_echo_n "checking for shl_load in -ldld... " >&6; }
-if ${ac_cv_lib_dld_shl_load+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load ();
-int
-main ()
-{
-return shl_load ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dld_shl_load=yes
-else
- ac_cv_lib_dld_shl_load=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
-$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
- lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
-else
- ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dl_dlopen=yes
-else
- ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
-$as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if ${ac_cv_lib_svld_dlopen+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsvld $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_svld_dlopen=yes
-else
- ac_cv_lib_svld_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
-$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
-$as_echo_n "checking for dld_link in -ldld... " >&6; }
-if ${ac_cv_lib_dld_dld_link+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dld_link ();
-int
-main ()
-{
-return dld_link ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dld_dld_link=yes
-else
- ac_cv_lib_dld_dld_link=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
-$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
- lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
- ;;
- esac
-
- if test "x$lt_cv_dlopen" != xno; then
- enable_dlopen=yes
- else
- enable_dlopen=no
- fi
-
- case $lt_cv_dlopen in
- dlopen)
- save_CPPFLAGS="$CPPFLAGS"
- test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
- save_LDFLAGS="$LDFLAGS"
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
- save_LIBS="$LIBS"
- LIBS="$lt_cv_dlopen_libs $LIBS"
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
-$as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- lt_cv_dlopen_self=cross
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
- correspondingly for the symbols needed. */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
-
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else
- {
- if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- else puts (dlerror ());
- }
- /* dlclose (self); */
- }
- else
- puts (dlerror ());
-
- return status;
-}
-_LT_EOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) >&5 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
- x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
- x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
- esac
- else :
- # compilation failed
- lt_cv_dlopen_self=no
- fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
-$as_echo "$lt_cv_dlopen_self" >&6; }
-
- if test "x$lt_cv_dlopen_self" = xyes; then
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
-$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self_static+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- lt_cv_dlopen_self_static=cross
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
- correspondingly for the symbols needed. */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
-
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else
- {
- if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- else puts (dlerror ());
- }
- /* dlclose (self); */
- }
- else
- puts (dlerror ());
-
- return status;
-}
-_LT_EOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) >&5 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
- x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
- x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
- esac
- else :
- # compilation failed
- lt_cv_dlopen_self_static=no
- fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
-$as_echo "$lt_cv_dlopen_self_static" >&6; }
- fi
-
- CPPFLAGS="$save_CPPFLAGS"
- LDFLAGS="$save_LDFLAGS"
- LIBS="$save_LIBS"
- ;;
- esac
-
- case $lt_cv_dlopen_self in
- yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
- *) enable_dlopen_self=unknown ;;
- esac
-
- case $lt_cv_dlopen_self_static in
- yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
- *) enable_dlopen_self_static=unknown ;;
- esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-striplib=
-old_striplib=
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
-$as_echo_n "checking whether stripping libraries is possible... " >&6; }
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
- test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-# FIXME - insert some real tests, host_os isn't really good enough
- case $host_os in
- darwin*)
- if test -n "$STRIP" ; then
- striplib="$STRIP -x"
- old_striplib="$STRIP -S"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- fi
- ;;
- *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- ;;
- esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
- # Report which library types will actually be built
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
-$as_echo_n "checking if libtool supports shared libraries... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
-$as_echo "$can_build_shared" >&6; }
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
-$as_echo_n "checking whether to build shared libraries... " >&6; }
- test "$can_build_shared" = "no" && enable_shared=no
-
- # On AIX, shared libraries and static libraries use the same namespace, and
- # are all built from PIC.
- case $host_os in
- aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
-
- aix[4-9]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
- esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
-$as_echo "$enable_shared" >&6; }
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
-$as_echo_n "checking whether to build static libraries... " >&6; }
- # Make sure either enable_shared or enable_static is yes.
- test "$enable_shared" = yes || enable_static=yes
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
-$as_echo "$enable_static" >&6; }
-
-
-
-
-fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC="$lt_save_CC"
-
-
-
-
-
-
-
-
-
-
-
-
-
- ac_config_commands="$ac_config_commands libtool"
-
-
-
-
-# Only expand once:
-
-
-
-
-AX_CC_MAXOPT
-AX_CFLAGS_WARN_ALL
-if test "x$GCC" = "xyes"; then
- CFLAGS="$CFLAGS -fexceptions"
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
-$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
- # Check whether --enable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then :
- enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
-else
- USE_MAINTAINER_MODE=no
-fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
-$as_echo "$USE_MAINTAINER_MODE" >&6; }
- if test $USE_MAINTAINER_MODE = yes; then
- MAINTAINER_MODE_TRUE=
- MAINTAINER_MODE_FALSE='#'
-else
- MAINTAINER_MODE_TRUE='#'
- MAINTAINER_MODE_FALSE=
-fi
-
- MAINT=$MAINTAINER_MODE_TRUE
-
-
-
-for ac_header in sys/mman.h
-do :
- ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_SYS_MMAN_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_func in mmap
-do :
- ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_MMAP 1
-_ACEOF
-
-fi
-done
-
-
-ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
- libffi_header_sys_mman_h=yes
-else
- libffi_header_sys_mman_h=no
-fi
-
-
-ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
- libffi_func_mmap=yes
-else
- libffi_func_mmap=no
-fi
-
-if test "$libffi_header_sys_mman_h" != yes \
- || test "$libffi_func_mmap" != yes; then
- ac_cv_func_mmap_file=no
- ac_cv_func_mmap_dev_zero=no
- ac_cv_func_mmap_anon=no
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether read-only mmap of a plain file works" >&5
-$as_echo_n "checking whether read-only mmap of a plain file works... " >&6; }
-if ${ac_cv_func_mmap_file+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Add a system to this blacklist if
- # mmap(0, stat_size, PROT_READ, MAP_PRIVATE, fd, 0) doesn't return a
- # memory area containing the same data that you'd get if you applied
- # read() to the same fd. The only system known to have a problem here
- # is VMS, where text files have record structure.
- case "$host_os" in
- vms* | ultrix*)
- ac_cv_func_mmap_file=no ;;
- *)
- ac_cv_func_mmap_file=yes;;
- esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_file" >&5
-$as_echo "$ac_cv_func_mmap_file" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap from /dev/zero works" >&5
-$as_echo_n "checking whether mmap from /dev/zero works... " >&6; }
-if ${ac_cv_func_mmap_dev_zero+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Add a system to this blacklist if it has mmap() but /dev/zero
- # does not exist, or if mmapping /dev/zero does not give anonymous
- # zeroed pages with both the following properties:
- # 1. If you map N consecutive pages in with one call, and then
- # unmap any subset of those pages, the pages that were not
- # explicitly unmapped remain accessible.
- # 2. If you map two adjacent blocks of memory and then unmap them
- # both at once, they must both go away.
- # Systems known to be in this category are Windows (all variants),
- # VMS, and Darwin.
- case "$host_os" in
- vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00)
- ac_cv_func_mmap_dev_zero=no ;;
- *)
- ac_cv_func_mmap_dev_zero=yes;;
- esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_dev_zero" >&5
-$as_echo "$ac_cv_func_mmap_dev_zero" >&6; }
-
- # Unlike /dev/zero, the MAP_ANON(YMOUS) defines can be probed for.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANON(YMOUS)" >&5
-$as_echo_n "checking for MAP_ANON(YMOUS)... " >&6; }
-if ${ac_cv_decl_map_anon+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <unistd.h>
-
-#ifndef MAP_ANONYMOUS
-#define MAP_ANONYMOUS MAP_ANON
-#endif
-
-int
-main ()
-{
-int n = MAP_ANONYMOUS;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_decl_map_anon=yes
-else
- ac_cv_decl_map_anon=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_decl_map_anon" >&5
-$as_echo "$ac_cv_decl_map_anon" >&6; }
-
- if test $ac_cv_decl_map_anon = no; then
- ac_cv_func_mmap_anon=no
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap with MAP_ANON(YMOUS) works" >&5
-$as_echo_n "checking whether mmap with MAP_ANON(YMOUS) works... " >&6; }
-if ${ac_cv_func_mmap_anon+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Add a system to this blacklist if it has mmap() and MAP_ANON or
- # MAP_ANONYMOUS, but using mmap(..., MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
- # doesn't give anonymous zeroed pages with the same properties listed
- # above for use of /dev/zero.
- # Systems known to be in this category are Windows, VMS, and SCO Unix.
- case "$host_os" in
- vms* | cygwin* | pe | mingw* | sco* | udk* )
- ac_cv_func_mmap_anon=no ;;
- *)
- ac_cv_func_mmap_anon=yes;;
- esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_anon" >&5
-$as_echo "$ac_cv_func_mmap_anon" >&6; }
- fi
-fi
-
-if test $ac_cv_func_mmap_file = yes; then
-
-$as_echo "#define HAVE_MMAP_FILE 1" >>confdefs.h
-
-fi
-if test $ac_cv_func_mmap_dev_zero = yes; then
-
-$as_echo "#define HAVE_MMAP_DEV_ZERO 1" >>confdefs.h
-
-fi
-if test $ac_cv_func_mmap_anon = yes; then
-
-$as_echo "#define HAVE_MMAP_ANON 1" >>confdefs.h
-
-fi
-
-
- if test -d $srcdir/testsuite; then
- TESTSUBDIR_TRUE=
- TESTSUBDIR_FALSE='#'
-else
- TESTSUBDIR_TRUE='#'
- TESTSUBDIR_FALSE=
-fi
-
-
-TARGETDIR="unknown"
-case "$host" in
- alpha*-*-*)
- TARGET=ALPHA; TARGETDIR=alpha;
- # Support 128-bit long double, changeable via command-line switch.
- HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
- ;;
-
- arm*-*-*)
- TARGET=ARM; TARGETDIR=arm
- ;;
-
- amd64-*-freebsd* | amd64-*-openbsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- amd64-*-freebsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- avr32*-*-*)
- TARGET=AVR32; TARGETDIR=avr32
- ;;
-
- cris-*-*)
- TARGET=LIBFFI_CRIS; TARGETDIR=cris
- ;;
-
- frv-*-*)
- TARGET=FRV; TARGETDIR=frv
- ;;
-
- hppa*-*-linux* | parisc*-*-linux* | hppa*-*-openbsd*)
- TARGET=PA_LINUX; TARGETDIR=pa
- ;;
- hppa*64-*-hpux*)
- TARGET=PA64_HPUX; TARGETDIR=pa
- ;;
- hppa*-*-hpux*)
- TARGET=PA_HPUX; TARGETDIR=pa
- ;;
-
- i?86-*-freebsd* | i?86-*-openbsd*)
- TARGET=X86_FREEBSD; TARGETDIR=x86
- ;;
- i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2* | i?86-*-interix*)
- TARGET=X86_WIN32; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
- i?86-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
- i?86-*-solaris2.1[0-9]*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
- i?86-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- ia64*-*-*)
- TARGET=IA64; TARGETDIR=ia64
- ;;
-
- m32r*-*-*)
- TARGET=M32R; TARGETDIR=m32r
- ;;
-
- m68k-*-*)
- TARGET=M68K; TARGETDIR=m68k
- ;;
-
- mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
- TARGET=MIPS; TARGETDIR=mips
- ;;
- mips*-*-linux* | mips*-*-openbsd*)
- # Support 128-bit long double for NewABI.
- HAVE_LONG_DOUBLE='defined(__mips64)'
- TARGET=MIPS; TARGETDIR=mips
- ;;
-
- moxie-*-*)
- TARGET=MOXIE; TARGETDIR=moxie
- ;;
-
- powerpc*-*-linux* | powerpc-*-sysv*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-beos*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-darwin* | powerpc64-*-darwin*)
- TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
- ;;
- powerpc-*-aix* | rs6000-*-aix*)
- TARGET=POWERPC_AIX; TARGETDIR=powerpc
- ;;
- powerpc-*-freebsd* | powerpc-*-openbsd*)
- TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
- ;;
- powerpc64-*-freebsd*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc*-*-rtems*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
-
- s390-*-* | s390x-*-*)
- TARGET=S390; TARGETDIR=s390
- ;;
-
- sh-*-* | sh[34]*-*-*)
- TARGET=SH; TARGETDIR=sh
- ;;
- sh64-*-* | sh5*-*-*)
- TARGET=SH64; TARGETDIR=sh64
- ;;
-
- sparc*-*-*)
- TARGET=SPARC; TARGETDIR=sparc
- ;;
-
- x86_64-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
-
- x86_64-*-cygwin* | x86_64-*-mingw*)
- TARGET=X86_WIN64; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
-
- x86_64-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-esac
-
-
-
-
-if test $TARGETDIR = unknown; then
- as_fn_error $? "\"libffi has not been ported to $host.\"" "$LINENO" 5
-fi
-
- if test x$TARGET = xMIPS; then
- MIPS_TRUE=
- MIPS_FALSE='#'
-else
- MIPS_TRUE='#'
- MIPS_FALSE=
-fi
-
- if test x$TARGET = xSPARC; then
- SPARC_TRUE=
- SPARC_FALSE='#'
-else
- SPARC_TRUE='#'
- SPARC_FALSE=
-fi
-
- if test x$TARGET = xX86; then
- X86_TRUE=
- X86_FALSE='#'
-else
- X86_TRUE='#'
- X86_FALSE=
-fi
-
- if test x$TARGET = xX86_FREEBSD; then
- X86_FREEBSD_TRUE=
- X86_FREEBSD_FALSE='#'
-else
- X86_FREEBSD_TRUE='#'
- X86_FREEBSD_FALSE=
-fi
-
- if test x$TARGET = xX86_WIN32; then
- X86_WIN32_TRUE=
- X86_WIN32_FALSE='#'
-else
- X86_WIN32_TRUE='#'
- X86_WIN32_FALSE=
-fi
-
- if test x$TARGET = xX86_WIN64; then
- X86_WIN64_TRUE=
- X86_WIN64_FALSE='#'
-else
- X86_WIN64_TRUE='#'
- X86_WIN64_FALSE=
-fi
-
- if test x$TARGET = xX86_DARWIN; then
- X86_DARWIN_TRUE=
- X86_DARWIN_FALSE='#'
-else
- X86_DARWIN_TRUE='#'
- X86_DARWIN_FALSE=
-fi
-
- if test x$TARGET = xALPHA; then
- ALPHA_TRUE=
- ALPHA_FALSE='#'
-else
- ALPHA_TRUE='#'
- ALPHA_FALSE=
-fi
-
- if test x$TARGET = xIA64; then
- IA64_TRUE=
- IA64_FALSE='#'
-else
- IA64_TRUE='#'
- IA64_FALSE=
-fi
-
- if test x$TARGET = xM32R; then
- M32R_TRUE=
- M32R_FALSE='#'
-else
- M32R_TRUE='#'
- M32R_FALSE=
-fi
-
- if test x$TARGET = xM68K; then
- M68K_TRUE=
- M68K_FALSE='#'
-else
- M68K_TRUE='#'
- M68K_FALSE=
-fi
-
- if test x$TARGET = xMOXIE; then
- MOXIE_TRUE=
- MOXIE_FALSE='#'
-else
- MOXIE_TRUE='#'
- MOXIE_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC; then
- POWERPC_TRUE=
- POWERPC_FALSE='#'
-else
- POWERPC_TRUE='#'
- POWERPC_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_AIX; then
- POWERPC_AIX_TRUE=
- POWERPC_AIX_FALSE='#'
-else
- POWERPC_AIX_TRUE='#'
- POWERPC_AIX_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_DARWIN; then
- POWERPC_DARWIN_TRUE=
- POWERPC_DARWIN_FALSE='#'
-else
- POWERPC_DARWIN_TRUE='#'
- POWERPC_DARWIN_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_FREEBSD; then
- POWERPC_FREEBSD_TRUE=
- POWERPC_FREEBSD_FALSE='#'
-else
- POWERPC_FREEBSD_TRUE='#'
- POWERPC_FREEBSD_FALSE=
-fi
-
- if test x$TARGET = xARM; then
- ARM_TRUE=
- ARM_FALSE='#'
-else
- ARM_TRUE='#'
- ARM_FALSE=
-fi
-
- if test x$TARGET = xAVR32; then
- AVR32_TRUE=
- AVR32_FALSE='#'
-else
- AVR32_TRUE='#'
- AVR32_FALSE=
-fi
-
- if test x$TARGET = xLIBFFI_CRIS; then
- LIBFFI_CRIS_TRUE=
- LIBFFI_CRIS_FALSE='#'
-else
- LIBFFI_CRIS_TRUE='#'
- LIBFFI_CRIS_FALSE=
-fi
-
- if test x$TARGET = xFRV; then
- FRV_TRUE=
- FRV_FALSE='#'
-else
- FRV_TRUE='#'
- FRV_FALSE=
-fi
-
- if test x$TARGET = xS390; then
- S390_TRUE=
- S390_FALSE='#'
-else
- S390_TRUE='#'
- S390_FALSE=
-fi
-
- if test x$TARGET = xX86_64; then
- X86_64_TRUE=
- X86_64_FALSE='#'
-else
- X86_64_TRUE='#'
- X86_64_FALSE=
-fi
-
- if test x$TARGET = xSH; then
- SH_TRUE=
- SH_FALSE='#'
-else
- SH_TRUE='#'
- SH_FALSE=
-fi
-
- if test x$TARGET = xSH64; then
- SH64_TRUE=
- SH64_FALSE='#'
-else
- SH64_TRUE='#'
- SH64_FALSE=
-fi
-
- if test x$TARGET = xPA_LINUX; then
- PA_LINUX_TRUE=
- PA_LINUX_FALSE='#'
-else
- PA_LINUX_TRUE='#'
- PA_LINUX_FALSE=
-fi
-
- if test x$TARGET = xPA_HPUX; then
- PA_HPUX_TRUE=
- PA_HPUX_FALSE='#'
-else
- PA_HPUX_TRUE='#'
- PA_HPUX_FALSE=
-fi
-
- if test x$TARGET = xPA64_HPUX; then
- PA64_HPUX_TRUE=
- PA64_HPUX_FALSE='#'
-else
- PA64_HPUX_TRUE='#'
- PA64_HPUX_FALSE=
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_header_stdc=yes
-else
- ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then :
- :
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- return 2;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-for ac_func in memcpy
-do :
- ac_fn_c_check_func "$LINENO" "memcpy" "ac_cv_func_memcpy"
-if test "x$ac_cv_func_memcpy" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_MEMCPY 1
-_ACEOF
-
-fi
-done
-
-ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-if test "x$ac_cv_type_size_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define size_t unsigned int
-_ACEOF
-
-fi
-
-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
-# for constant arguments. Useless!
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
-$as_echo_n "checking for working alloca.h... " >&6; }
-if ${ac_cv_working_alloca_h+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <alloca.h>
-int
-main ()
-{
-char *p = (char *) alloca (2 * sizeof (int));
- if (p) return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_working_alloca_h=yes
-else
- ac_cv_working_alloca_h=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
-$as_echo "$ac_cv_working_alloca_h" >&6; }
-if test $ac_cv_working_alloca_h = yes; then
-
-$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
-$as_echo_n "checking for alloca... " >&6; }
-if ${ac_cv_func_alloca_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# ifdef _MSC_VER
-# include <malloc.h>
-# define alloca _alloca
-# else
-# ifdef HAVE_ALLOCA_H
-# include <alloca.h>
-# else
-# ifdef _AIX
- #pragma alloca
-# else
-# ifndef alloca /* predefined by HP cc +Olibcalls */
-void *alloca (size_t);
-# endif
-# endif
-# endif
-# endif
-#endif
-
-int
-main ()
-{
-char *p = (char *) alloca (1);
- if (p) return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_func_alloca_works=yes
-else
- ac_cv_func_alloca_works=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
-$as_echo "$ac_cv_func_alloca_works" >&6; }
-
-if test $ac_cv_func_alloca_works = yes; then
-
-$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
-
-else
- # The SVR3 libPW and SVR4 libucb both contain incompatible functions
-# that cause trouble. Some versions do not even contain alloca or
-# contain a buggy version. If you still want to use their alloca,
-# use ar to extract alloca.o from them instead of compiling alloca.c.
-
-ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
-
-$as_echo "#define C_ALLOCA 1" >>confdefs.h
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
-$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
-if ${ac_cv_os_cray+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#if defined CRAY && ! defined CRAY2
-webecray
-#else
-wenotbecray
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "webecray" >/dev/null 2>&1; then :
- ac_cv_os_cray=yes
-else
- ac_cv_os_cray=no
-fi
-rm -f conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5
-$as_echo "$ac_cv_os_cray" >&6; }
-if test $ac_cv_os_cray = yes; then
- for ac_func in _getb67 GETB67 getb67; do
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-
-cat >>confdefs.h <<_ACEOF
-#define CRAY_STACKSEG_END $ac_func
-_ACEOF
-
- break
-fi
-
- done
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
-$as_echo_n "checking stack direction for C alloca... " >&6; }
-if ${ac_cv_c_stack_direction+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- ac_cv_c_stack_direction=0
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
-int
-find_stack_direction ()
-{
- static char *addr = 0;
- auto char dummy;
- if (addr == 0)
- {
- addr = &dummy;
- return find_stack_direction ();
- }
- else
- return (&dummy > addr) ? 1 : -1;
-}
-
-int
-main ()
-{
- return find_stack_direction () < 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_c_stack_direction=1
-else
- ac_cv_c_stack_direction=-1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
-$as_echo "$ac_cv_c_stack_direction" >&6; }
-cat >>confdefs.h <<_ACEOF
-#define STACK_DIRECTION $ac_cv_c_stack_direction
-_ACEOF
-
-
-fi
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of double" >&5
-$as_echo_n "checking size of double... " >&6; }
-if ${ac_cv_sizeof_double+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (double))" "ac_cv_sizeof_double" "$ac_includes_default"; then :
-
-else
- if test "$ac_cv_type_double" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (double)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_double=0
- fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_double" >&5
-$as_echo "$ac_cv_sizeof_double" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_DOUBLE $ac_cv_sizeof_double
-_ACEOF
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long double" >&5
-$as_echo_n "checking size of long double... " >&6; }
-if ${ac_cv_sizeof_long_double+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long double))" "ac_cv_sizeof_long_double" "$ac_includes_default"; then :
-
-else
- if test "$ac_cv_type_long_double" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (long double)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_long_double=0
- fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_double" >&5
-$as_echo "$ac_cv_sizeof_long_double" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_LONG_DOUBLE $ac_cv_sizeof_long_double
-_ACEOF
-
-
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
- HAVE_LONG_DOUBLE=0
- if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
- if test $ac_cv_sizeof_long_double != 0; then
- HAVE_LONG_DOUBLE=1
-
-$as_echo "#define HAVE_LONG_DOUBLE 1" >>confdefs.h
-
- fi
- fi
-fi
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
-$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if ${ac_cv_c_bigendian+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_c_bigendian=unknown
- # See if we're dealing with a universal compiler.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifndef __APPLE_CC__
- not a universal capable compiler
- #endif
- typedef int dummy;
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
- # Check for potential -arch flags. It is not universal unless
- # there are at least two -arch flags with different values.
- ac_arch=
- ac_prev=
- for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
- if test -n "$ac_prev"; then
- case $ac_word in
- i?86 | x86_64 | ppc | ppc64)
- if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
- ac_arch=$ac_word
- else
- ac_cv_c_bigendian=universal
- break
- fi
- ;;
- esac
- ac_prev=
- elif test "x$ac_word" = "x-arch"; then
- ac_prev=arch
- fi
- done
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- if test $ac_cv_c_bigendian = unknown; then
- # See if sys/param.h defines the BYTE_ORDER macro.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
- #include <sys/param.h>
-
-int
-main ()
-{
-#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
- && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
- && LITTLE_ENDIAN)
- bogus endian macros
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- # It does; now see whether it defined to BIG_ENDIAN or not.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
- #include <sys/param.h>
-
-int
-main ()
-{
-#if BYTE_ORDER != BIG_ENDIAN
- not big endian
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_c_bigendian=yes
-else
- ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- if test $ac_cv_c_bigendian = unknown; then
- # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <limits.h>
-
-int
-main ()
-{
-#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
- bogus endian macros
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- # It does; now see whether it defined to _BIG_ENDIAN or not.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <limits.h>
-
-int
-main ()
-{
-#ifndef _BIG_ENDIAN
- not big endian
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_c_bigendian=yes
-else
- ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- if test $ac_cv_c_bigendian = unknown; then
- # Compile a test program.
- if test "$cross_compiling" = yes; then :
- # Try to guess by grepping values from an object file.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-short int ascii_mm[] =
- { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
- short int ascii_ii[] =
- { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
- int use_ascii (int i) {
- return ascii_mm[i] + ascii_ii[i];
- }
- short int ebcdic_ii[] =
- { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
- short int ebcdic_mm[] =
- { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
- int use_ebcdic (int i) {
- return ebcdic_mm[i] + ebcdic_ii[i];
- }
- extern int foo;
-
-int
-main ()
-{
-return use_ascii (foo) == use_ebcdic (foo);
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
- ac_cv_c_bigendian=yes
- fi
- if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
- if test "$ac_cv_c_bigendian" = unknown; then
- ac_cv_c_bigendian=no
- else
- # finding both strings is unlikely to happen, but who knows?
- ac_cv_c_bigendian=unknown
- fi
- fi
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-
- /* Are we little or big endian? From Harbison&Steele. */
- union
- {
- long int l;
- char c[sizeof (long int)];
- } u;
- u.l = 1;
- return u.c[sizeof (long int) - 1] == 1;
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_c_bigendian=no
-else
- ac_cv_c_bigendian=yes
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
-$as_echo "$ac_cv_c_bigendian" >&6; }
- case $ac_cv_c_bigendian in #(
- yes)
- $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
-;; #(
- no)
- ;; #(
- universal)
-
-$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
-
- ;; #(
- *)
- as_fn_error $? "unknown endianness
- presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
- esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .cfi pseudo-op support" >&5
-$as_echo_n "checking assembler .cfi pseudo-op support... " >&6; }
-if ${gcc_cv_as_cfi_pseudo_op+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- gcc_cv_as_cfi_pseudo_op=unknown
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".cfi_startproc\n\t.cfi_endproc");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- gcc_cv_as_cfi_pseudo_op=yes
-else
- gcc_cv_as_cfi_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_cfi_pseudo_op" >&5
-$as_echo "$gcc_cv_as_cfi_pseudo_op" >&6; }
- if test "x$gcc_cv_as_cfi_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_CFI_PSEUDO_OP 1" >>confdefs.h
-
- fi
-
-
-if test x$TARGET = xSPARC; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler and linker support unaligned pc related relocs" >&5
-$as_echo_n "checking assembler and linker support unaligned pc related relocs... " >&6; }
-if ${libffi_cv_as_sparc_ua_pcrel+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- save_CFLAGS="$CFLAGS"
- save_LDFLAGS="$LDFLAGS"
- CFLAGS="$CFLAGS -fpic"
- LDFLAGS="$LDFLAGS -shared"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- libffi_cv_as_sparc_ua_pcrel=yes
-else
- libffi_cv_as_sparc_ua_pcrel=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- CFLAGS="$save_CFLAGS"
- LDFLAGS="$save_LDFLAGS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_sparc_ua_pcrel" >&5
-$as_echo "$libffi_cv_as_sparc_ua_pcrel" >&6; }
- if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
-
-$as_echo "#define HAVE_AS_SPARC_UA_PCREL 1" >>confdefs.h
-
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .register pseudo-op support" >&5
-$as_echo_n "checking assembler .register pseudo-op support... " >&6; }
-if ${libffi_cv_as_register_pseudo_op+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_register_pseudo_op=unknown
- # Check if we have .register
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".register %g2, #scratch");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- libffi_cv_as_register_pseudo_op=yes
-else
- libffi_cv_as_register_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_register_pseudo_op" >&5
-$as_echo "$libffi_cv_as_register_pseudo_op" >&6; }
- if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_REGISTER_PSEUDO_OP 1" >>confdefs.h
-
- fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports pc related relocs" >&5
-$as_echo_n "checking assembler supports pc related relocs... " >&6; }
-if ${libffi_cv_as_x86_pcrel+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_x86_pcrel=no
- echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
- if $CC $CFLAGS -c conftest.s > /dev/null; then
- libffi_cv_as_x86_pcrel=yes
- fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_x86_pcrel" >&5
-$as_echo "$libffi_cv_as_x86_pcrel" >&6; }
- if test "x$libffi_cv_as_x86_pcrel" = xyes; then
-
-$as_echo "#define HAVE_AS_X86_PCREL 1" >>confdefs.h
-
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .ascii pseudo-op support" >&5
-$as_echo_n "checking assembler .ascii pseudo-op support... " >&6; }
-if ${libffi_cv_as_ascii_pseudo_op+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_ascii_pseudo_op=unknown
- # Check if we have .ascii
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".ascii \\"string\\"");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- libffi_cv_as_ascii_pseudo_op=yes
-else
- libffi_cv_as_ascii_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_ascii_pseudo_op" >&5
-$as_echo "$libffi_cv_as_ascii_pseudo_op" >&6; }
- if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_ASCII_PSEUDO_OP 1" >>confdefs.h
-
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .string pseudo-op support" >&5
-$as_echo_n "checking assembler .string pseudo-op support... " >&6; }
-if ${libffi_cv_as_string_pseudo_op+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_string_pseudo_op=unknown
- # Check if we have .string
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".string \\"string\\"");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- libffi_cv_as_string_pseudo_op=yes
-else
- libffi_cv_as_string_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_string_pseudo_op" >&5
-$as_echo "$libffi_cv_as_string_pseudo_op" >&6; }
- if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_STRING_PSEUDO_OP 1" >>confdefs.h
-
- fi
-fi
-
-if test x$TARGET = xX86_WIN64; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ prefix in compiled symbols" >&5
-$as_echo_n "checking for _ prefix in compiled symbols... " >&6; }
-if ${lt_cv_sys_symbol_underscore+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_sys_symbol_underscore=no
- cat > conftest.$ac_ext <<_LT_EOF
-void nm_test_func(){}
-int main(){nm_test_func;return 0;}
-_LT_EOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- # Now try to grab the symbols.
- ac_nlist=conftest.nm
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist\""; } >&5
- (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s "$ac_nlist"; then
- # See whether the symbols have a leading underscore.
- if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then
- lt_cv_sys_symbol_underscore=yes
- else
- if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then
- :
- else
- echo "configure: cannot find nm_test_func in $ac_nlist" >&5
- fi
- fi
- else
- echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&5
- fi
- else
- echo "configure: failed program was:" >&5
- cat conftest.c >&5
- fi
- rm -rf conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_symbol_underscore" >&5
-$as_echo "$lt_cv_sys_symbol_underscore" >&6; }
- sys_symbol_underscore=$lt_cv_sys_symbol_underscore
-
-
- if test "x$sys_symbol_underscore" = xyes; then
-
-$as_echo "#define SYMBOL_UNDERSCORE 1" >>confdefs.h
-
- fi
-fi
-
-
-FFI_EXEC_TRAMPOLINE_TABLE=0
-case "$target" in
- *arm*-apple-darwin*)
- FFI_EXEC_TRAMPOLINE_TABLE=1
-
-$as_echo "#define FFI_EXEC_TRAMPOLINE_TABLE 1" >>confdefs.h
-
- ;;
- *-apple-darwin1[10]* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
-
-$as_echo "#define FFI_MMAP_EXEC_WRIT 1" >>confdefs.h
-
- ;;
-esac
- if test x$FFI_EXEC_TRAMPOLINE_TABLE = x1; then
- FFI_EXEC_TRAMPOLINE_TABLE_TRUE=
- FFI_EXEC_TRAMPOLINE_TABLE_FALSE='#'
-else
- FFI_EXEC_TRAMPOLINE_TABLE_TRUE='#'
- FFI_EXEC_TRAMPOLINE_TABLE_FALSE=
-fi
-
-
-
-if test x$TARGET = xX86_64; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports unwind section type" >&5
-$as_echo_n "checking assembler supports unwind section type... " >&6; }
-if ${libffi_cv_as_x86_64_unwind_section_type+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_x86_64_unwind_section_type=yes
- echo '.section .eh_frame,"a",@unwind' > conftest.s
- if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
- libffi_cv_as_x86_64_unwind_section_type=no
- fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_x86_64_unwind_section_type" >&5
-$as_echo "$libffi_cv_as_x86_64_unwind_section_type" >&6; }
- if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
-
-$as_echo "#define HAVE_AS_X86_64_UNWIND_SECTION_TYPE 1" >>confdefs.h
-
- fi
-fi
-
-if test "x$GCC" = "xyes"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether .eh_frame section should be read-only" >&5
-$as_echo_n "checking whether .eh_frame section should be read-only... " >&6; }
-if ${libffi_cv_ro_eh_frame+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_ro_eh_frame=no
- echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
- if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
- if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- elif grep '.section.*eh_frame.*#alloc' conftest.c \
- | grep -v '#write' > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- fi
- fi
- rm -f conftest.*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_ro_eh_frame" >&5
-$as_echo "$libffi_cv_ro_eh_frame" >&6; }
- if test "x$libffi_cv_ro_eh_frame" = xyes; then
-
-$as_echo "#define HAVE_RO_EH_FRAME 1" >>confdefs.h
-
-
-$as_echo "#define EH_FRAME_FLAGS \"a\"" >>confdefs.h
-
- else
-
-$as_echo "#define EH_FRAME_FLAGS \"aw\"" >>confdefs.h
-
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __attribute__((visibility(\"hidden\")))" >&5
-$as_echo_n "checking for __attribute__((visibility(\"hidden\")))... " >&6; }
-if ${libffi_cv_hidden_visibility_attribute+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1 ; }' > conftest.c
- libffi_cv_hidden_visibility_attribute=no
- if { ac_try='${CC-cc} -Werror -S conftest.c -o conftest.s 1>&5'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- if grep '\.hidden.*foo' conftest.s >/dev/null; then
- libffi_cv_hidden_visibility_attribute=yes
- fi
- fi
- rm -f conftest.*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_hidden_visibility_attribute" >&5
-$as_echo "$libffi_cv_hidden_visibility_attribute" >&6; }
- if test $libffi_cv_hidden_visibility_attribute = yes; then
-
-$as_echo "#define HAVE_HIDDEN_VISIBILITY_ATTRIBUTE 1" >>confdefs.h
-
- fi
-fi
-
-
-
-
-
-
-
-
-# Check whether --enable-debug was given.
-if test "${enable_debug+set}" = set; then :
- enableval=$enable_debug; if test "$enable_debug" = "yes"; then
-
-$as_echo "#define FFI_DEBUG 1" >>confdefs.h
-
- fi
-fi
-
- if test "$enable_debug" = "yes"; then
- FFI_DEBUG_TRUE=
- FFI_DEBUG_FALSE='#'
-else
- FFI_DEBUG_TRUE='#'
- FFI_DEBUG_FALSE=
-fi
-
-
-# Check whether --enable-structs was given.
-if test "${enable_structs+set}" = set; then :
- enableval=$enable_structs; if test "$enable_structs" = "no"; then
-
-$as_echo "#define FFI_NO_STRUCTS 1" >>confdefs.h
-
- fi
-fi
-
-
-# Check whether --enable-raw-api was given.
-if test "${enable_raw_api+set}" = set; then :
- enableval=$enable_raw_api; if test "$enable_raw_api" = "no"; then
-
-$as_echo "#define FFI_NO_RAW_API 1" >>confdefs.h
-
- fi
-fi
-
-
-# Check whether --enable-purify-safety was given.
-if test "${enable_purify_safety+set}" = set; then :
- enableval=$enable_purify_safety; if test "$enable_purify_safety" = "yes"; then
-
-$as_echo "#define USING_PURIFY 1" >>confdefs.h
-
- fi
-fi
-
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- toolexecdir='$(exec_prefix)/$(target_alias)'
- toolexeclibdir='$(toolexecdir)/lib'
- else
- toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
- toolexeclibdir='$(libdir)'
- fi
- multi_os_directory=`$CC -print-multi-os-directory`
- case $multi_os_directory in
- .) ;; # Avoid trailing /.
- *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
- esac
-
-
-fi
-
-if test "${multilib}" = "yes"; then
- multilib_arg="--enable-multilib"
-else
- multilib_arg=
-fi
-
-ac_config_commands="$ac_config_commands include"
-
-ac_config_commands="$ac_config_commands src"
-
-
-ac_config_links="$ac_config_links include/ffitarget.h:src/$TARGETDIR/ffitarget.h"
-
-
-ac_config_files="$ac_config_files include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc"
-
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems. If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
- for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
-
- (set) 2>&1 |
- case $as_nl`(ac_space=' '; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- # `set' does not quote correctly, so add quotes: double-quote
- # substitution turns \\\\ into \\, and sed turns \\ into \.
- sed -n \
- "s/'/'\\\\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- ;; #(
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-) |
- sed '
- /^ac_cv_env_/b end
- t clear
- :clear
- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
- t end
- s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
- if test -w "$cache_file"; then
- if test "x$cache_file" != "x/dev/null"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
- if test ! -f "$cache_file" || test -h "$cache_file"; then
- cat confcache >"$cache_file"
- else
- case $cache_file in #(
- */* | ?:*)
- mv -f confcache "$cache_file"$$ &&
- mv -f "$cache_file"$$ "$cache_file" ;; #(
- *)
- mv -f confcache "$cache_file" ;;
- esac
- fi
- fi
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
- fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-U=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
- # 1. Remove the extension, and $U if already installed.
- ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
- ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
- # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
- # will be set to the directory where LIBOBJS objects are built.
- as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
- as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
- if test -n "$EXEEXT"; then
- am__EXEEXT_TRUE=
- am__EXEEXT_FALSE='#'
-else
- am__EXEEXT_TRUE='#'
- am__EXEEXT_FALSE=
-fi
-
-if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
- as_fn_error $? "conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
- as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCCAS_TRUE}" && test -z "${am__fastdepCCAS_FALSE}"; then
- as_fn_error $? "conditional \"am__fastdepCCAS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
- as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${TESTSUBDIR_TRUE}" && test -z "${TESTSUBDIR_FALSE}"; then
- as_fn_error $? "conditional \"TESTSUBDIR\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MIPS_TRUE}" && test -z "${MIPS_FALSE}"; then
- as_fn_error $? "conditional \"MIPS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SPARC_TRUE}" && test -z "${SPARC_FALSE}"; then
- as_fn_error $? "conditional \"SPARC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_TRUE}" && test -z "${X86_FALSE}"; then
- as_fn_error $? "conditional \"X86\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_FREEBSD_TRUE}" && test -z "${X86_FREEBSD_FALSE}"; then
- as_fn_error $? "conditional \"X86_FREEBSD\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_WIN32_TRUE}" && test -z "${X86_WIN32_FALSE}"; then
- as_fn_error $? "conditional \"X86_WIN32\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_WIN64_TRUE}" && test -z "${X86_WIN64_FALSE}"; then
- as_fn_error $? "conditional \"X86_WIN64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_DARWIN_TRUE}" && test -z "${X86_DARWIN_FALSE}"; then
- as_fn_error $? "conditional \"X86_DARWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${ALPHA_TRUE}" && test -z "${ALPHA_FALSE}"; then
- as_fn_error $? "conditional \"ALPHA\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${IA64_TRUE}" && test -z "${IA64_FALSE}"; then
- as_fn_error $? "conditional \"IA64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${M32R_TRUE}" && test -z "${M32R_FALSE}"; then
- as_fn_error $? "conditional \"M32R\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${M68K_TRUE}" && test -z "${M68K_FALSE}"; then
- as_fn_error $? "conditional \"M68K\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MOXIE_TRUE}" && test -z "${MOXIE_FALSE}"; then
- as_fn_error $? "conditional \"MOXIE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_TRUE}" && test -z "${POWERPC_FALSE}"; then
- as_fn_error $? "conditional \"POWERPC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_AIX_TRUE}" && test -z "${POWERPC_AIX_FALSE}"; then
- as_fn_error $? "conditional \"POWERPC_AIX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_DARWIN_TRUE}" && test -z "${POWERPC_DARWIN_FALSE}"; then
- as_fn_error $? "conditional \"POWERPC_DARWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_FREEBSD_TRUE}" && test -z "${POWERPC_FREEBSD_FALSE}"; then
- as_fn_error $? "conditional \"POWERPC_FREEBSD\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${ARM_TRUE}" && test -z "${ARM_FALSE}"; then
- as_fn_error $? "conditional \"ARM\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${AVR32_TRUE}" && test -z "${AVR32_FALSE}"; then
- as_fn_error $? "conditional \"AVR32\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${LIBFFI_CRIS_TRUE}" && test -z "${LIBFFI_CRIS_FALSE}"; then
- as_fn_error $? "conditional \"LIBFFI_CRIS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${FRV_TRUE}" && test -z "${FRV_FALSE}"; then
- as_fn_error $? "conditional \"FRV\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${S390_TRUE}" && test -z "${S390_FALSE}"; then
- as_fn_error $? "conditional \"S390\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_64_TRUE}" && test -z "${X86_64_FALSE}"; then
- as_fn_error $? "conditional \"X86_64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SH_TRUE}" && test -z "${SH_FALSE}"; then
- as_fn_error $? "conditional \"SH\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SH64_TRUE}" && test -z "${SH64_FALSE}"; then
- as_fn_error $? "conditional \"SH64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA_LINUX_TRUE}" && test -z "${PA_LINUX_FALSE}"; then
- as_fn_error $? "conditional \"PA_LINUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA_HPUX_TRUE}" && test -z "${PA_HPUX_FALSE}"; then
- as_fn_error $? "conditional \"PA_HPUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA64_HPUX_TRUE}" && test -z "${PA64_HPUX_FALSE}"; then
- as_fn_error $? "conditional \"PA64_HPUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-if test -z "${FFI_EXEC_TRAMPOLINE_TABLE_TRUE}" && test -z "${FFI_EXEC_TRAMPOLINE_TABLE_FALSE}"; then
- as_fn_error $? "conditional \"FFI_EXEC_TRAMPOLINE_TABLE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${FFI_DEBUG_TRUE}" && test -z "${FFI_DEBUG_FALSE}"; then
- as_fn_error $? "conditional \"FFI_DEBUG\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-: "${CONFIG_STATUS=./config.status}"
-ac_write_fail=0
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in #(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- fi
- $as_echo "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} # as_fn_error
-
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} # as_fn_exit
-
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
-
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -p'
- fi
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in #(
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by libffi $as_me 3.0.11-rc2, which was
-generated by GNU Autoconf 2.68. Invocation command line was
-
- CONFIG_FILES = $CONFIG_FILES
- CONFIG_HEADERS = $CONFIG_HEADERS
- CONFIG_LINKS = $CONFIG_LINKS
- CONFIG_COMMANDS = $CONFIG_COMMANDS
- $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-case $ac_config_headers in *"
-"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
-esac
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-config_links="$ac_config_links"
-config_commands="$ac_config_commands"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration. Unless the files
-and actions are specified as TAGs, all are instantiated by default.
-
-Usage: $0 [OPTION]... [TAG]...
-
- -h, --help print this help, then exit
- -V, --version print version number and configuration settings, then exit
- --config print configuration, then exit
- -q, --quiet, --silent
- do not print progress messages
- -d, --debug don't remove temporary files
- --recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
- --header=FILE[:TEMPLATE]
- instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration links:
-$config_links
-
-Configuration commands:
-$config_commands
-
-Report bugs to <http://github.com/atgreen/libffi/issues>."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-ac_cs_version="\\
-libffi config.status 3.0.11-rc2
-configured by $0, generated by GNU Autoconf 2.68,
- with options \\"\$ac_cs_config\\"
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-INSTALL='$INSTALL'
-MKDIR_P='$MKDIR_P'
-AWK='$AWK'
-test -n "\$AWK" || AWK=awk
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
-ac_need_defaults=:
-while test $# != 0
-do
- case $1 in
- --*=?*)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
- ac_shift=:
- ;;
- --*=)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=
- ac_shift=:
- ;;
- *)
- ac_option=$1
- ac_optarg=$2
- ac_shift=shift
- ;;
- esac
-
- case $ac_option in
- # Handling of the options.
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- ac_cs_recheck=: ;;
- --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
- $as_echo "$ac_cs_version"; exit ;;
- --config | --confi | --conf | --con | --co | --c )
- $as_echo "$ac_cs_config"; exit ;;
- --debug | --debu | --deb | --de | --d | -d )
- debug=: ;;
- --file | --fil | --fi | --f )
- $ac_shift
- case $ac_optarg in
- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
- '') as_fn_error $? "missing file argument" ;;
- esac
- as_fn_append CONFIG_FILES " '$ac_optarg'"
- ac_need_defaults=false;;
- --header | --heade | --head | --hea )
- $ac_shift
- case $ac_optarg in
- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- as_fn_append CONFIG_HEADERS " '$ac_optarg'"
- ac_need_defaults=false;;
- --he | --h)
- # Conflict between --help and --header
- as_fn_error $? "ambiguous option: \`$1'
-Try \`$0 --help' for more information.";;
- --help | --hel | -h )
- $as_echo "$ac_cs_usage"; exit ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil | --si | --s)
- ac_cs_silent=: ;;
-
- # This is an error.
- -*) as_fn_error $? "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
-
- *) as_fn_append ac_config_targets " $1"
- ac_need_defaults=false ;;
-
- esac
- shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
- exec 6>/dev/null
- ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-if \$ac_cs_recheck; then
- set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
- shift
- \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
- CONFIG_SHELL='$SHELL'
- export CONFIG_SHELL
- exec "\$@"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
- $as_echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-#
-# INIT-COMMANDS
-#
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-sed_quote_subst='$sed_quote_subst'
-double_quote_subst='$double_quote_subst'
-delay_variable_subst='$delay_variable_subst'
-macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
-macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
-enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
-enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
-pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
-enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
-SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
-ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
-host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
-host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
-host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
-build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
-build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
-build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
-SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
-Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
-GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
-EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
-FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
-LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
-NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
-LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
-max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
-ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
-exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
-lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
-lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
-lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
-reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
-reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
-OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
-deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
-file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
-file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
-want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
-DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
-sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
-AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
-AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
-archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
-STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
-RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
-old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
-lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
-CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
-CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
-compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
-GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
-nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
-lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
-objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
-MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
-lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
-need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
-MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
-DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
-NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
-LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
-OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
-libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
-shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
-extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
-enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
-export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
-whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
-compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
-old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
-archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
-module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
-allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
-no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_ld='`$ECHO "$hardcode_libdir_flag_spec_ld" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
-hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
-hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
-hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
-hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
-hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
-inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
-link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
-always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
-export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
-exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
-include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
-prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
-postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
-file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
-variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
-need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
-version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
-runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
-libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
-library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
-soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
-install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
-postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
-finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
-hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
-sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
-sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
-enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
-old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
-striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
-
-LTCC='$LTCC'
-LTCFLAGS='$LTCFLAGS'
-compiler='$compiler_DEFAULT'
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
- eval 'cat <<_LTECHO_EOF
-\$1
-_LTECHO_EOF'
-}
-
-# Quote evaled strings.
-for var in SHELL \
-ECHO \
-SED \
-GREP \
-EGREP \
-FGREP \
-LD \
-NM \
-LN_S \
-lt_SP2NL \
-lt_NL2SP \
-reload_flag \
-OBJDUMP \
-deplibs_check_method \
-file_magic_cmd \
-file_magic_glob \
-want_nocaseglob \
-DLLTOOL \
-sharedlib_from_linklib_cmd \
-AR \
-AR_FLAGS \
-archiver_list_spec \
-STRIP \
-RANLIB \
-CC \
-CFLAGS \
-compiler \
-lt_cv_sys_global_symbol_pipe \
-lt_cv_sys_global_symbol_to_cdecl \
-lt_cv_sys_global_symbol_to_c_name_address \
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
-nm_file_list_spec \
-lt_prog_compiler_no_builtin_flag \
-lt_prog_compiler_pic \
-lt_prog_compiler_wl \
-lt_prog_compiler_static \
-lt_cv_prog_compiler_c_o \
-need_locks \
-MANIFEST_TOOL \
-DSYMUTIL \
-NMEDIT \
-LIPO \
-OTOOL \
-OTOOL64 \
-shrext_cmds \
-export_dynamic_flag_spec \
-whole_archive_flag_spec \
-compiler_needs_object \
-with_gnu_ld \
-allow_undefined_flag \
-no_undefined_flag \
-hardcode_libdir_flag_spec \
-hardcode_libdir_flag_spec_ld \
-hardcode_libdir_separator \
-exclude_expsyms \
-include_expsyms \
-file_list_spec \
-variables_saved_for_relink \
-libname_spec \
-library_names_spec \
-soname_spec \
-install_override_mode \
-finish_eval \
-old_striplib \
-striplib; do
- case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
- *[\\\\\\\`\\"\\\$]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
- ;;
- *)
- eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
- ;;
- esac
-done
-
-# Double-quote double-evaled strings.
-for var in reload_cmds \
-old_postinstall_cmds \
-old_postuninstall_cmds \
-old_archive_cmds \
-extract_expsyms_cmds \
-old_archive_from_new_cmds \
-old_archive_from_expsyms_cmds \
-archive_cmds \
-archive_expsym_cmds \
-module_cmds \
-module_expsym_cmds \
-export_symbols_cmds \
-prelink_cmds \
-postlink_cmds \
-postinstall_cmds \
-postuninstall_cmds \
-finish_cmds \
-sys_lib_search_path_spec \
-sys_lib_dlsearch_path_spec; do
- case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
- *[\\\\\\\`\\"\\\$]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
- ;;
- *)
- eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
- ;;
- esac
-done
-
-ac_aux_dir='$ac_aux_dir'
-xsi_shell='$xsi_shell'
-lt_shell_append='$lt_shell_append'
-
-# See if we are running on zsh, and set the options which allow our
-# commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
-fi
-
-
- PACKAGE='$PACKAGE'
- VERSION='$VERSION'
- TIMESTAMP='$TIMESTAMP'
- RM='$RM'
- ofile='$ofile'
-
-
-
-TARGETDIR="$TARGETDIR"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
- case $ac_config_target in
- "fficonfig.h") CONFIG_HEADERS="$CONFIG_HEADERS fficonfig.h" ;;
- "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
- "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
- "include") CONFIG_COMMANDS="$CONFIG_COMMANDS include" ;;
- "src") CONFIG_COMMANDS="$CONFIG_COMMANDS src" ;;
- "include/ffitarget.h") CONFIG_LINKS="$CONFIG_LINKS include/ffitarget.h:src/$TARGETDIR/ffitarget.h" ;;
- "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
- "include/ffi.h") CONFIG_FILES="$CONFIG_FILES include/ffi.h" ;;
- "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- "testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;;
- "man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;;
- "libffi.pc") CONFIG_FILES="$CONFIG_FILES libffi.pc" ;;
-
- *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
- esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used. Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
- test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
- test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
- test "${CONFIG_LINKS+set}" = set || CONFIG_LINKS=$config_links
- test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience. Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
- tmp= ac_tmp=
- trap 'exit_status=$?
- : "${ac_tmp:=$tmp}"
- { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
-' 0
- trap 'as_fn_exit 1' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
- tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
- test -d "$tmp"
-} ||
-{
- tmp=./conf$$-$RANDOM
- (umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-ac_tmp=$tmp
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
- eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
- ac_cs_awk_cr='\\r'
-else
- ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
-_ACEOF
-
-
-{
- echo "cat >conf$$subs.awk <<_ACEOF" &&
- echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
- echo "_ACEOF"
-} >conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
- . ./conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-
- ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
- if test $ac_delim_n = $ac_delim_num; then
- break
- elif $ac_last_try; then
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\)..*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\)..*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^""]/{
- N
- s/\n//
-}
-' >>$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
- for (key in S) S_is_set[key] = 1
- FS = ""
-
-}
-{
- line = $ 0
- nfields = split(line, field, "@")
- substed = 0
- len = length(field[1])
- for (i = 2; i < nfields; i++) {
- key = field[i]
- keylen = length(key)
- if (S_is_set[key]) {
- value = S[key]
- line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
- len += length(value) + length(field[++i])
- substed = 1
- } else
- len += 1 + keylen
- }
-
- print line
-}
-
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
- sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
- cat
-fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
- || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
-# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
-h
-s///
-s/^/:/
-s/[ ]*$/:/
-s/:\$(srcdir):/:/g
-s/:\${srcdir}:/:/g
-s/:@srcdir@:/:/g
-s/^:*//
-s/:*$//
-x
-s/\(=[ ]*\).*/\1/
-G
-s/\n//
-s/^[^=]*=[ ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
-
-# Set up the scripts for CONFIG_HEADERS section.
-# No need to generate them if there are no CONFIG_HEADERS.
-# This happens for instance with `./config.status Makefile'.
-if test -n "$CONFIG_HEADERS"; then
-cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
-BEGIN {
-_ACEOF
-
-# Transform confdefs.h into an awk script `defines.awk', embedded as
-# here-document in config.status, that substitutes the proper values into
-# config.h.in to produce config.h.
-
-# Create a delimiter string that does not exist in confdefs.h, to ease
-# handling of long lines.
-ac_delim='%!_!# '
-for ac_last_try in false false :; do
- ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
- if test -z "$ac_tt"; then
- break
- elif $ac_last_try; then
- as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-
-# For the awk script, D is an array of macro values keyed by name,
-# likewise P contains macro parameters if any. Preserve backslash
-# newline sequences.
-
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-sed -n '
-s/.\{148\}/&'"$ac_delim"'/g
-t rset
-:rset
-s/^[ ]*#[ ]*define[ ][ ]*/ /
-t def
-d
-:def
-s/\\$//
-t bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3"/p
-s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
-d
-:bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3\\\\\\n"\\/p
-t cont
-s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
-t cont
-d
-:cont
-n
-s/.\{148\}/&'"$ac_delim"'/g
-t clear
-:clear
-s/\\$//
-t bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/"/p
-d
-:bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
-b cont
-' <confdefs.h | sed '
-s/'"$ac_delim"'/"\\\
-"/g' >>$CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- for (key in D) D_is_set[key] = 1
- FS = ""
-}
-/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
- line = \$ 0
- split(line, arg, " ")
- if (arg[1] == "#") {
- defundef = arg[2]
- mac1 = arg[3]
- } else {
- defundef = substr(arg[1], 2)
- mac1 = arg[2]
- }
- split(mac1, mac2, "(") #)
- macro = mac2[1]
- prefix = substr(line, 1, index(line, defundef) - 1)
- if (D_is_set[macro]) {
- # Preserve the white space surrounding the "#".
- print prefix "define", macro P[macro] D[macro]
- next
- } else {
- # Replace #undef with comments. This is necessary, for example,
- # in the case of _POSIX_SOURCE, which is predefined and required
- # on some systems where configure will not decide to define it.
- if (defundef == "undef") {
- print "/*", prefix defundef, macro, "*/"
- next
- }
- }
-}
-{ print }
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
- as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
-fi # test -n "$CONFIG_HEADERS"
-
-
-eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :L $CONFIG_LINKS :C $CONFIG_COMMANDS"
-shift
-for ac_tag
-do
- case $ac_tag in
- :[FHLC]) ac_mode=$ac_tag; continue;;
- esac
- case $ac_mode$ac_tag in
- :[FHL]*:*);;
- :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
- :[FH]-) ac_tag=-:-;;
- :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
- esac
- ac_save_IFS=$IFS
- IFS=:
- set x $ac_tag
- IFS=$ac_save_IFS
- shift
- ac_file=$1
- shift
-
- case $ac_mode in
- :L) ac_source=$1;;
- :[FH])
- ac_file_inputs=
- for ac_f
- do
- case $ac_f in
- -) ac_f="$ac_tmp/stdin";;
- *) # Look for the file first in the build tree, then in the source tree
- # (if the path is not absolute). The absolute path cannot be DOS-style,
- # because $ac_f cannot contain `:'.
- test -f "$ac_f" ||
- case $ac_f in
- [\\/$]*) false;;
- *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
- esac ||
- as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
- esac
- case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
- as_fn_append ac_file_inputs " '$ac_f'"
- done
-
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- configure_input='Generated from '`
- $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
- `' by configure.'
- if test x"$ac_file" != x-; then
- configure_input="$ac_file. $configure_input"
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
- fi
- # Neutralize special characters interpreted by sed in replacement strings.
- case $configure_input in #(
- *\&* | *\|* | *\\* )
- ac_sed_conf_input=`$as_echo "$configure_input" |
- sed 's/[\\\\&|]/\\\\&/g'`;; #(
- *) ac_sed_conf_input=$configure_input;;
- esac
-
- case $ac_tag in
- *:-:* | *:-) cat >"$ac_tmp/stdin" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
- esac
- ;;
- esac
-
- ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- as_dir="$ac_dir"; as_fn_mkdir_p
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
- case $ac_mode in
- :F)
- #
- # CONFIG_FILE
- #
-
- case $INSTALL in
- [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
- *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
- esac
- ac_MKDIR_P=$MKDIR_P
- case $MKDIR_P in
- [\\/$]* | ?:[\\/]* ) ;;
- */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
- esac
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
- p
- q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- ac_datarootdir_hack='
- s&@datadir@&$datadir&g
- s&@docdir@&$docdir&g
- s&@infodir@&$infodir&g
- s&@localedir@&$localedir&g
- s&@mandir@&$mandir&g
- s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-s&@INSTALL@&$ac_INSTALL&;t t
-s&@MKDIR_P@&$ac_MKDIR_P&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
- >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
- { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
- { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
- "$ac_tmp/out"`; test -z "$ac_out"; } &&
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined" >&2;}
-
- rm -f "$ac_tmp/stdin"
- case $ac_file in
- -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
- *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
- esac \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- ;;
- :H)
- #
- # CONFIG_HEADER
- #
- if test x"$ac_file" != x-; then
- {
- $as_echo "/* $configure_input */" \
- && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
- } >"$ac_tmp/config.h" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
- else
- rm -f "$ac_file"
- mv "$ac_tmp/config.h" "$ac_file" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- fi
- else
- $as_echo "/* $configure_input */" \
- && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
- || as_fn_error $? "could not create -" "$LINENO" 5
- fi
-# Compute "$ac_file"'s index in $config_headers.
-_am_arg="$ac_file"
-_am_stamp_count=1
-for _am_header in $config_headers :; do
- case $_am_header in
- $_am_arg | $_am_arg:* )
- break ;;
- * )
- _am_stamp_count=`expr $_am_stamp_count + 1` ;;
- esac
-done
-echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
-$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$_am_arg" : 'X\(//\)[^/]' \| \
- X"$_am_arg" : 'X\(//\)$' \| \
- X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$_am_arg" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`/stamp-h$_am_stamp_count
- ;;
- :L)
- #
- # CONFIG_LINK
- #
-
- if test "$ac_source" = "$ac_file" && test "$srcdir" = '.'; then
- :
- else
- # Prefer the file from the source tree if names are identical.
- if test "$ac_source" = "$ac_file" || test ! -r "$ac_source"; then
- ac_source=$srcdir/$ac_source
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: linking $ac_source to $ac_file" >&5
-$as_echo "$as_me: linking $ac_source to $ac_file" >&6;}
-
- if test ! -r "$ac_source"; then
- as_fn_error $? "$ac_source: file not found" "$LINENO" 5
- fi
- rm -f "$ac_file"
-
- # Try a relative symlink, then a hard link, then a copy.
- case $ac_source in
- [\\/$]* | ?:[\\/]* ) ac_rel_source=$ac_source ;;
- *) ac_rel_source=$ac_top_build_prefix$ac_source ;;
- esac
- ln -s "$ac_rel_source" "$ac_file" 2>/dev/null ||
- ln "$ac_source" "$ac_file" 2>/dev/null ||
- cp -p "$ac_source" "$ac_file" ||
- as_fn_error $? "cannot link or copy $ac_source to $ac_file" "$LINENO" 5
- fi
- ;;
- :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-$as_echo "$as_me: executing $ac_file commands" >&6;}
- ;;
- esac
-
-
- case $ac_file$ac_mode in
- "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
- # Autoconf 2.62 quotes --file arguments for eval, but not when files
- # are listed without --file. Let's play safe and only enable the eval
- # if we detect the quoting.
- case $CONFIG_FILES in
- *\'*) eval set x "$CONFIG_FILES" ;;
- *) set x $CONFIG_FILES ;;
- esac
- shift
- for mf
- do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # Grep'ing the whole file is not good either: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
- dirpart=`$as_dirname -- "$mf" ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$mf" : 'X\(//\)[^/]' \| \
- X"$mf" : 'X\(//\)$' \| \
- X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$mf" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`$as_dirname -- "$file" ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$file" : 'X\(//\)[^/]' \| \
- X"$file" : 'X\(//\)$' \| \
- X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- as_dir=$dirpart/$fdir; as_fn_mkdir_p
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
- done
-}
- ;;
- "libtool":C)
-
- # See if we are running on zsh, and set the options which allow our
- # commands through without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
-
- cfgfile="${ofile}T"
- trap "$RM \"$cfgfile\"; exit 1" 1 2 15
- $RM "$cfgfile"
-
- cat <<_LT_EOF >> "$cfgfile"
-#! $SHELL
-
-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-# Inc.
-# Written by Gordon Matzigkeit, 1996
-#
-# This file is part of GNU Libtool.
-#
-# GNU Libtool is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
-#
-# GNU Libtool is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING. If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-
-# The names of the tagged configurations supported by this script.
-available_tags=""
-
-# ### BEGIN LIBTOOL CONFIG
-
-# Which release of libtool.m4 was used?
-macro_version=$macro_version
-macro_revision=$macro_revision
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# What type of objects to build.
-pic_mode=$pic_mode
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# An echo program that protects backslashes.
-ECHO=$lt_ECHO
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# A sed program that does not truncate output.
-SED=$lt_SED
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="\$SED -e 1s/^X//"
-
-# A grep program that handles long lines.
-GREP=$lt_GREP
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# A literal string matcher.
-FGREP=$lt_FGREP
-
-# A BSD- or MS-compatible name lister.
-NM=$lt_NM
-
-# Whether we need soft or hard links.
-LN_S=$lt_LN_S
-
-# What is the maximum length of a command?
-max_cmd_len=$max_cmd_len
-
-# Object file suffix (normally "o").
-objext=$ac_objext
-
-# Executable file suffix (normally "").
-exeext=$exeext
-
-# whether the shell understands "unset".
-lt_unset=$lt_unset
-
-# turn spaces into newlines.
-SP2NL=$lt_lt_SP2NL
-
-# turn newlines into spaces.
-NL2SP=$lt_lt_NL2SP
-
-# convert \$build file names to \$host format.
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-
-# convert \$build files to toolchain format.
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-
-# An object symbol dumper.
-OBJDUMP=$lt_OBJDUMP
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method = "file_magic".
-file_magic_cmd=$lt_file_magic_cmd
-
-# How to find potential files when deplibs_check_method = "file_magic".
-file_magic_glob=$lt_file_magic_glob
-
-# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
-want_nocaseglob=$lt_want_nocaseglob
-
-# DLL creation program.
-DLLTOOL=$lt_DLLTOOL
-
-# Command to associate shared and link libraries.
-sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
-
-# The archiver.
-AR=$lt_AR
-
-# Flags to create an archive.
-AR_FLAGS=$lt_AR_FLAGS
-
-# How to feed a file listing to the archiver.
-archiver_list_spec=$lt_archiver_list_spec
-
-# A symbol stripping program.
-STRIP=$lt_STRIP
-
-# Commands used to install an old-style archive.
-RANLIB=$lt_RANLIB
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Whether to use a lock for old archive extraction.
-lock_old_archive_extraction=$lock_old_archive_extraction
-
-# A C compiler.
-LTCC=$lt_CC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_CFLAGS
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration.
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair.
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# Transform the output of nm in a C name address pair when lib prefix is needed.
-global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
-
-# Specify filename containing input files for \$NM.
-nm_file_list_spec=$lt_nm_file_list_spec
-
-# The root where to search for dependent libraries,and in which our libraries should be installed.
-lt_sysroot=$lt_sysroot
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# Used to examine libraries when file_magic_cmd begins with "file".
-MAGIC_CMD=$MAGIC_CMD
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Manifest tool.
-MANIFEST_TOOL=$lt_MANIFEST_TOOL
-
-# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
-DSYMUTIL=$lt_DSYMUTIL
-
-# Tool to change global to local symbols on Mac OS X.
-NMEDIT=$lt_NMEDIT
-
-# Tool to manipulate fat objects and archives on Mac OS X.
-LIPO=$lt_LIPO
-
-# ldd/readelf like tool for Mach-O binaries on Mac OS X.
-OTOOL=$lt_OTOOL
-
-# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
-OTOOL64=$lt_OTOOL64
-
-# Old archive suffix (normally "a").
-libext=$libext
-
-# Shared library suffix (normally ".so").
-shrext_cmds=$lt_shrext_cmds
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at link time.
-variables_saved_for_relink=$lt_variables_saved_for_relink
-
-# Do we need the "lib" prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Library versioning type.
-version_type=$version_type
-
-# Shared library runtime path variable.
-runpath_var=$runpath_var
-
-# Shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Permission mode override for installation of shared libraries.
-install_override_mode=$lt_install_override_mode
-
-# Command to use after installation of a shared archive.
-postinstall_cmds=$lt_postinstall_cmds
-
-# Command to use after uninstallation of a shared archive.
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# As "finish_cmds", except a single script fragment to be evaled but
-# not shown.
-finish_eval=$lt_finish_eval
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Compile-time system search path for libraries.
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries.
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-
-# The linker used to build libraries.
-LD=$lt_LD
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# Commands used to build an old-style archive.
-old_archive_cmds=$lt_old_archive_cmds
-
-# A language specific compiler.
-CC=$lt_compiler
-
-# Is the compiler the GNU compiler?
-with_gcc=$GCC
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc
-
-# Whether or not to disallow shared libs when runtime libs are static.
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec
-
-# Whether the compiler copes with passing no objects directly.
-compiler_needs_object=$lt_compiler_needs_object
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
-
-# Commands used to build a shared archive.
-archive_cmds=$lt_archive_cmds
-archive_expsym_cmds=$lt_archive_expsym_cmds
-
-# Commands used to build a loadable module if different from building
-# a shared archive.
-module_cmds=$lt_module_cmds
-module_expsym_cmds=$lt_module_expsym_cmds
-
-# Whether we are building with GNU ld or not.
-with_gnu_ld=$lt_with_gnu_ld
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag
-
-# Flag that enforces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
-
-# If ld is used when linking, flag to hardcode \$libdir into a binary
-# during linking. This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
-
-# Whether we need a single "-rpath" flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary.
-hardcode_direct=$hardcode_direct
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary and the resulting library dependency is
-# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
-# library is relocated.
-hardcode_direct_absolute=$hardcode_direct_absolute
-
-# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
-# into the resulting binary.
-hardcode_minus_L=$hardcode_minus_L
-
-# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
-# into the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var
-
-# Set to "yes" if building a shared library automatically hardcodes DIR
-# into the library and all subsequent libraries and executables linked
-# against it.
-hardcode_automatic=$hardcode_automatic
-
-# Set to yes if linker adds runtime paths of dependent libraries
-# to runtime path list.
-inherit_rpath=$inherit_rpath
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs
-
-# Set to "yes" if exported symbols are required.
-always_export_symbols=$always_export_symbols
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms
-
-# Commands necessary for linking programs (against libraries) with templates.
-prelink_cmds=$lt_prelink_cmds
-
-# Commands necessary for finishing linking programs.
-postlink_cmds=$lt_postlink_cmds
-
-# Specify filename containing input files.
-file_list_spec=$lt_file_list_spec
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action
-
-# ### END LIBTOOL CONFIG
-
-_LT_EOF
-
- case $host_os in
- aix3*)
- cat <<\_LT_EOF >> "$cfgfile"
-# AIX sometimes has problems with the GCC collect2 program. For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
-fi
-_LT_EOF
- ;;
- esac
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-
- # We use sed instead of cat because bash on DJGPP gets confused if
- # if finds mixed CR/LF and LF-only lines. Since sed operates in
- # text mode, it properly converts lines to CR/LF. This bash problem
- # is reportedly fixed, but why not run on old versions too?
- sed '$q' "$ltmain" >> "$cfgfile" \
- || (rm -f "$cfgfile"; exit 1)
-
- if test x"$xsi_shell" = xyes; then
- sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
-func_dirname ()\
-{\
-\ case ${1} in\
-\ */*) func_dirname_result="${1%/*}${2}" ;;\
-\ * ) func_dirname_result="${3}" ;;\
-\ esac\
-} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_basename ()$/,/^} # func_basename /c\
-func_basename ()\
-{\
-\ func_basename_result="${1##*/}"\
-} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
-func_dirname_and_basename ()\
-{\
-\ case ${1} in\
-\ */*) func_dirname_result="${1%/*}${2}" ;;\
-\ * ) func_dirname_result="${3}" ;;\
-\ esac\
-\ func_basename_result="${1##*/}"\
-} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
-func_stripname ()\
-{\
-\ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
-\ # positional parameters, so assign one to ordinary parameter first.\
-\ func_stripname_result=${3}\
-\ func_stripname_result=${func_stripname_result#"${1}"}\
-\ func_stripname_result=${func_stripname_result%"${2}"}\
-} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
-func_split_long_opt ()\
-{\
-\ func_split_long_opt_name=${1%%=*}\
-\ func_split_long_opt_arg=${1#*=}\
-} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
-func_split_short_opt ()\
-{\
-\ func_split_short_opt_arg=${1#??}\
-\ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
-} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
-func_lo2o ()\
-{\
-\ case ${1} in\
-\ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
-\ *) func_lo2o_result=${1} ;;\
-\ esac\
-} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_xform ()$/,/^} # func_xform /c\
-func_xform ()\
-{\
- func_xform_result=${1%.*}.lo\
-} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_arith ()$/,/^} # func_arith /c\
-func_arith ()\
-{\
- func_arith_result=$(( $* ))\
-} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_len ()$/,/^} # func_len /c\
-func_len ()\
-{\
- func_len_result=${#1}\
-} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-fi
-
-if test x"$lt_shell_append" = xyes; then
- sed -e '/^func_append ()$/,/^} # func_append /c\
-func_append ()\
-{\
- eval "${1}+=\\${2}"\
-} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
-func_append_quoted ()\
-{\
-\ func_quote_for_eval "${2}"\
-\ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
-} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- # Save a `func_append' function call where possible by direct use of '+='
- sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
- test 0 -eq $? || _lt_function_replace_fail=:
-else
- # Save a `func_append' function call even when '+=' is not available
- sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
- test 0 -eq $? || _lt_function_replace_fail=:
-fi
-
-if test x"$_lt_function_replace_fail" = x":"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
-$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
-fi
-
-
- mv -f "$cfgfile" "$ofile" ||
- (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
- chmod +x "$ofile"
-
- ;;
- "include":C) test -d include || mkdir include ;;
- "src":C)
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
- ;;
-
- esac
-done # for ac_tag
-
-
-as_fn_exit 0
-_ACEOF
-ac_clean_files=$ac_clean_files_save
-
-test $ac_write_fail = 0 ||
- as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded. So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status. When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
- ac_cs_success=:
- ac_config_status_args=
- test "$silent" = yes &&
- ac_config_status_args="$ac_config_status_args --quiet"
- exec 5>/dev/null
- $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
- exec 5>>config.log
- # Use ||, not &&, to avoid exiting from the if with $? = 1, which
- # would make configure fail if this is the last instruction.
- $ac_cs_success || as_fn_exit 1
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
-
diff --git a/.pc/amiga/configure.ac b/.pc/amiga/configure.ac
deleted file mode 100644
index 731f5fe..0000000
--- a/.pc/amiga/configure.ac
+++ /dev/null
@@ -1,499 +0,0 @@
-dnl Process this with autoconf to create configure
-
-AC_PREREQ(2.63)
-
-AC_INIT([libffi], [3.0.11-rc2], [http://github.com/atgreen/libffi/issues])
-AC_CONFIG_HEADERS([fficonfig.h])
-
-AC_CANONICAL_SYSTEM
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-AX_ENABLE_BUILDDIR
-
-AM_INIT_AUTOMAKE
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-# Also save and restore CFLAGS, since AC_PROG_CC will come up with
-# defaults of its own if none are provided.
-
-m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS])
-m4_define([_AC_ARG_VAR_PRECIOUS],[])
-save_CFLAGS=$CFLAGS
-AC_PROG_CC
-CFLAGS=$save_CFLAGS
-m4_undefine([_AC_ARG_VAR_PRECIOUS])
-m4_rename([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
-
-AC_SUBST(CFLAGS)
-
-AM_PROG_AS
-AM_PROG_CC_C_O
-AC_PROG_LIBTOOL
-AC_CONFIG_MACRO_DIR([m4])
-
-AX_CC_MAXOPT
-AX_CFLAGS_WARN_ALL
-if test "x$GCC" = "xyes"; then
- CFLAGS="$CFLAGS -fexceptions"
-fi
-
-AM_MAINTAINER_MODE
-
-AC_CHECK_HEADERS(sys/mman.h)
-AC_CHECK_FUNCS(mmap)
-AC_FUNC_MMAP_BLACKLIST
-
-dnl The -no-testsuite modules omit the test subdir.
-AM_CONDITIONAL(TESTSUBDIR, test -d $srcdir/testsuite)
-
-TARGETDIR="unknown"
-case "$host" in
- alpha*-*-*)
- TARGET=ALPHA; TARGETDIR=alpha;
- # Support 128-bit long double, changeable via command-line switch.
- HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
- ;;
-
- arm*-*-*)
- TARGET=ARM; TARGETDIR=arm
- ;;
-
- amd64-*-freebsd* | amd64-*-openbsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- amd64-*-freebsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- avr32*-*-*)
- TARGET=AVR32; TARGETDIR=avr32
- ;;
-
- cris-*-*)
- TARGET=LIBFFI_CRIS; TARGETDIR=cris
- ;;
-
- frv-*-*)
- TARGET=FRV; TARGETDIR=frv
- ;;
-
- hppa*-*-linux* | parisc*-*-linux* | hppa*-*-openbsd*)
- TARGET=PA_LINUX; TARGETDIR=pa
- ;;
- hppa*64-*-hpux*)
- TARGET=PA64_HPUX; TARGETDIR=pa
- ;;
- hppa*-*-hpux*)
- TARGET=PA_HPUX; TARGETDIR=pa
- ;;
-
- i?86-*-freebsd* | i?86-*-openbsd*)
- TARGET=X86_FREEBSD; TARGETDIR=x86
- ;;
- i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2* | i?86-*-interix*)
- TARGET=X86_WIN32; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
- i?86-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
- i?86-*-solaris2.1[[0-9]]*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
- i?86-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- ia64*-*-*)
- TARGET=IA64; TARGETDIR=ia64
- ;;
-
- m32r*-*-*)
- TARGET=M32R; TARGETDIR=m32r
- ;;
-
- m68k-*-*)
- TARGET=M68K; TARGETDIR=m68k
- ;;
-
- mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
- TARGET=MIPS; TARGETDIR=mips
- ;;
- mips*-*-linux* | mips*-*-openbsd*)
- # Support 128-bit long double for NewABI.
- HAVE_LONG_DOUBLE='defined(__mips64)'
- TARGET=MIPS; TARGETDIR=mips
- ;;
-
- moxie-*-*)
- TARGET=MOXIE; TARGETDIR=moxie
- ;;
-
- powerpc*-*-linux* | powerpc-*-sysv*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-beos*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-darwin* | powerpc64-*-darwin*)
- TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
- ;;
- powerpc-*-aix* | rs6000-*-aix*)
- TARGET=POWERPC_AIX; TARGETDIR=powerpc
- ;;
- powerpc-*-freebsd* | powerpc-*-openbsd*)
- TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
- ;;
- powerpc64-*-freebsd*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc*-*-rtems*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
-
- s390-*-* | s390x-*-*)
- TARGET=S390; TARGETDIR=s390
- ;;
-
- sh-*-* | sh[[34]]*-*-*)
- TARGET=SH; TARGETDIR=sh
- ;;
- sh64-*-* | sh5*-*-*)
- TARGET=SH64; TARGETDIR=sh64
- ;;
-
- sparc*-*-*)
- TARGET=SPARC; TARGETDIR=sparc
- ;;
-
- x86_64-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
-
- x86_64-*-cygwin* | x86_64-*-mingw*)
- TARGET=X86_WIN64; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
-
- x86_64-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-esac
-
-AC_SUBST(AM_RUNTESTFLAGS)
-AC_SUBST(AM_LTLDFLAGS)
-
-if test $TARGETDIR = unknown; then
- AC_MSG_ERROR(["libffi has not been ported to $host."])
-fi
-
-AM_CONDITIONAL(MIPS, test x$TARGET = xMIPS)
-AM_CONDITIONAL(SPARC, test x$TARGET = xSPARC)
-AM_CONDITIONAL(X86, test x$TARGET = xX86)
-AM_CONDITIONAL(X86_FREEBSD, test x$TARGET = xX86_FREEBSD)
-AM_CONDITIONAL(X86_WIN32, test x$TARGET = xX86_WIN32)
-AM_CONDITIONAL(X86_WIN64, test x$TARGET = xX86_WIN64)
-AM_CONDITIONAL(X86_DARWIN, test x$TARGET = xX86_DARWIN)
-AM_CONDITIONAL(ALPHA, test x$TARGET = xALPHA)
-AM_CONDITIONAL(IA64, test x$TARGET = xIA64)
-AM_CONDITIONAL(M32R, test x$TARGET = xM32R)
-AM_CONDITIONAL(M68K, test x$TARGET = xM68K)
-AM_CONDITIONAL(MOXIE, test x$TARGET = xMOXIE)
-AM_CONDITIONAL(POWERPC, test x$TARGET = xPOWERPC)
-AM_CONDITIONAL(POWERPC_AIX, test x$TARGET = xPOWERPC_AIX)
-AM_CONDITIONAL(POWERPC_DARWIN, test x$TARGET = xPOWERPC_DARWIN)
-AM_CONDITIONAL(POWERPC_FREEBSD, test x$TARGET = xPOWERPC_FREEBSD)
-AM_CONDITIONAL(ARM, test x$TARGET = xARM)
-AM_CONDITIONAL(AVR32, test x$TARGET = xAVR32)
-AM_CONDITIONAL(LIBFFI_CRIS, test x$TARGET = xLIBFFI_CRIS)
-AM_CONDITIONAL(FRV, test x$TARGET = xFRV)
-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)
-AM_CONDITIONAL(PA_LINUX, test x$TARGET = xPA_LINUX)
-AM_CONDITIONAL(PA_HPUX, test x$TARGET = xPA_HPUX)
-AM_CONDITIONAL(PA64_HPUX, test x$TARGET = xPA64_HPUX)
-
-AC_HEADER_STDC
-AC_CHECK_FUNCS(memcpy)
-AC_FUNC_ALLOCA
-
-AC_CHECK_SIZEOF(double)
-AC_CHECK_SIZEOF(long double)
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
- HAVE_LONG_DOUBLE=0
- if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
- if test $ac_cv_sizeof_long_double != 0; then
- HAVE_LONG_DOUBLE=1
- AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the long double type and it is bigger than a double])
- fi
- fi
-fi
-AC_SUBST(HAVE_LONG_DOUBLE)
-
-AC_C_BIGENDIAN
-
-GCC_AS_CFI_PSEUDO_OP
-
-if test x$TARGET = xSPARC; then
- AC_CACHE_CHECK([assembler and linker support unaligned pc related relocs],
- libffi_cv_as_sparc_ua_pcrel, [
- save_CFLAGS="$CFLAGS"
- save_LDFLAGS="$LDFLAGS"
- CFLAGS="$CFLAGS -fpic"
- LDFLAGS="$LDFLAGS -shared"
- AC_TRY_LINK([asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");],,
- [libffi_cv_as_sparc_ua_pcrel=yes],
- [libffi_cv_as_sparc_ua_pcrel=no])
- CFLAGS="$save_CFLAGS"
- LDFLAGS="$save_LDFLAGS"])
- if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
- AC_DEFINE(HAVE_AS_SPARC_UA_PCREL, 1,
- [Define if your assembler and linker support unaligned PC relative relocs.])
- fi
-
- AC_CACHE_CHECK([assembler .register pseudo-op support],
- libffi_cv_as_register_pseudo_op, [
- libffi_cv_as_register_pseudo_op=unknown
- # Check if we have .register
- AC_TRY_COMPILE([asm (".register %g2, #scratch");],,
- [libffi_cv_as_register_pseudo_op=yes],
- [libffi_cv_as_register_pseudo_op=no])
- ])
- if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
- AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP, 1,
- [Define if your assembler supports .register.])
- fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
- AC_CACHE_CHECK([assembler supports pc related relocs],
- libffi_cv_as_x86_pcrel, [
- libffi_cv_as_x86_pcrel=no
- echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
- if $CC $CFLAGS -c conftest.s > /dev/null; then
- libffi_cv_as_x86_pcrel=yes
- fi
- ])
- if test "x$libffi_cv_as_x86_pcrel" = xyes; then
- AC_DEFINE(HAVE_AS_X86_PCREL, 1,
- [Define if your assembler supports PC relative relocs.])
- fi
-
- AC_CACHE_CHECK([assembler .ascii pseudo-op support],
- libffi_cv_as_ascii_pseudo_op, [
- libffi_cv_as_ascii_pseudo_op=unknown
- # Check if we have .ascii
- AC_TRY_COMPILE([asm (".ascii \\"string\\"");],,
- [libffi_cv_as_ascii_pseudo_op=yes],
- [libffi_cv_as_ascii_pseudo_op=no])
- ])
- if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
- AC_DEFINE(HAVE_AS_ASCII_PSEUDO_OP, 1,
- [Define if your assembler supports .ascii.])
- fi
-
- AC_CACHE_CHECK([assembler .string pseudo-op support],
- libffi_cv_as_string_pseudo_op, [
- libffi_cv_as_string_pseudo_op=unknown
- # Check if we have .string
- AC_TRY_COMPILE([asm (".string \\"string\\"");],,
- [libffi_cv_as_string_pseudo_op=yes],
- [libffi_cv_as_string_pseudo_op=no])
- ])
- if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
- AC_DEFINE(HAVE_AS_STRING_PSEUDO_OP, 1,
- [Define if your assembler supports .string.])
- fi
-fi
-
-if test x$TARGET = xX86_WIN64; then
- LT_SYS_SYMBOL_USCORE
- if test "x$sys_symbol_underscore" = xyes; then
- AC_DEFINE(SYMBOL_UNDERSCORE, 1, [Define if symbols are underscored.])
- fi
-fi
-
-
-FFI_EXEC_TRAMPOLINE_TABLE=0
-case "$target" in
- *arm*-apple-darwin*)
- FFI_EXEC_TRAMPOLINE_TABLE=1
- AC_DEFINE(FFI_EXEC_TRAMPOLINE_TABLE, 1,
- [Cannot use PROT_EXEC on this target, so, we revert to
- alternative means])
- ;;
- *-apple-darwin1[[10]]* | *-*-freebsd* | *-*-kfreebsd* | *-*-openbsd* | *-pc-solaris*)
- AC_DEFINE(FFI_MMAP_EXEC_WRIT, 1,
- [Cannot use malloc on this target, so, we revert to
- alternative means])
- ;;
-esac
-AM_CONDITIONAL(FFI_EXEC_TRAMPOLINE_TABLE, test x$FFI_EXEC_TRAMPOLINE_TABLE = x1)
-AC_SUBST(FFI_EXEC_TRAMPOLINE_TABLE)
-
-if test x$TARGET = xX86_64; then
- AC_CACHE_CHECK([assembler supports unwind section type],
- libffi_cv_as_x86_64_unwind_section_type, [
- libffi_cv_as_x86_64_unwind_section_type=yes
- echo '.section .eh_frame,"a",@unwind' > conftest.s
- if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
- libffi_cv_as_x86_64_unwind_section_type=no
- fi
- ])
- if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
- AC_DEFINE(HAVE_AS_X86_64_UNWIND_SECTION_TYPE, 1,
- [Define if your assembler supports unwind section type.])
- fi
-fi
-
-if test "x$GCC" = "xyes"; then
- AC_CACHE_CHECK([whether .eh_frame section should be read-only],
- libffi_cv_ro_eh_frame, [
- libffi_cv_ro_eh_frame=no
- echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
- if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
- if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- elif grep '.section.*eh_frame.*#alloc' conftest.c \
- | grep -v '#write' > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- fi
- fi
- rm -f conftest.*
- ])
- if test "x$libffi_cv_ro_eh_frame" = xyes; then
- AC_DEFINE(HAVE_RO_EH_FRAME, 1,
- [Define if .eh_frame sections should be read-only.])
- AC_DEFINE(EH_FRAME_FLAGS, "a",
- [Define to the flags needed for the .section .eh_frame directive. ])
- else
- AC_DEFINE(EH_FRAME_FLAGS, "aw",
- [Define to the flags needed for the .section .eh_frame directive. ])
- fi
-
- AC_CACHE_CHECK([for __attribute__((visibility("hidden")))],
- libffi_cv_hidden_visibility_attribute, [
- echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1 ; }' > conftest.c
- libffi_cv_hidden_visibility_attribute=no
- if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
- if grep '\.hidden.*foo' conftest.s >/dev/null; then
- libffi_cv_hidden_visibility_attribute=yes
- fi
- fi
- rm -f conftest.*
- ])
- if test $libffi_cv_hidden_visibility_attribute = yes; then
- AC_DEFINE(HAVE_HIDDEN_VISIBILITY_ATTRIBUTE, 1,
- [Define if __attribute__((visibility("hidden"))) is supported.])
- fi
-fi
-
-AH_BOTTOM([
-#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
-])
-
-AC_SUBST(TARGET)
-AC_SUBST(TARGETDIR)
-
-AC_SUBST(SHELL)
-
-AC_ARG_ENABLE(debug,
-[ --enable-debug debugging mode],
- if test "$enable_debug" = "yes"; then
- AC_DEFINE(FFI_DEBUG, 1, [Define this if you want extra debugging.])
- fi)
-AM_CONDITIONAL(FFI_DEBUG, test "$enable_debug" = "yes")
-
-AC_ARG_ENABLE(structs,
-[ --disable-structs omit code for struct support],
- if test "$enable_structs" = "no"; then
- AC_DEFINE(FFI_NO_STRUCTS, 1, [Define this is you do not want support for aggregate types.])
- fi)
-
-AC_ARG_ENABLE(raw-api,
-[ --disable-raw-api make the raw api unavailable],
- if test "$enable_raw_api" = "no"; then
- AC_DEFINE(FFI_NO_RAW_API, 1, [Define this is you do not want support for the raw API.])
- fi)
-
-AC_ARG_ENABLE(purify-safety,
-[ --enable-purify-safety purify-safe mode],
- if test "$enable_purify_safety" = "yes"; then
- AC_DEFINE(USING_PURIFY, 1, [Define this if you are using Purify and want to suppress spurious messages.])
- fi)
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- toolexecdir='$(exec_prefix)/$(target_alias)'
- toolexeclibdir='$(toolexecdir)/lib'
- else
- toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
- toolexeclibdir='$(libdir)'
- fi
- multi_os_directory=`$CC -print-multi-os-directory`
- case $multi_os_directory in
- .) ;; # Avoid trailing /.
- *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
- esac
- AC_SUBST(toolexecdir)
- AC_SUBST(toolexeclibdir)
-fi
-
-if test "${multilib}" = "yes"; then
- multilib_arg="--enable-multilib"
-else
- multilib_arg=
-fi
-
-AC_CONFIG_COMMANDS(include, [test -d include || mkdir include])
-AC_CONFIG_COMMANDS(src, [
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
-], [TARGETDIR="$TARGETDIR"])
-
-AC_CONFIG_LINKS(include/ffitarget.h:src/$TARGETDIR/ffitarget.h)
-
-AC_CONFIG_FILES(include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc)
-
-AC_OUTPUT
diff --git a/.pc/applied-patches b/.pc/applied-patches
index 8993602..e8c461f 100644
--- a/.pc/applied-patches
+++ b/.pc/applied-patches
@@ -1,47 +1 @@
stand-alone
-msvcc-warning
-ffi_last_abi
-win64-struct-args
-stdcall-x86-closure-fix
-ml64-safeseh
-debug-build
-win64-underscore
-x86_pcrel_test
-aix-ibm-xlc
-fix-grammar
-sparc-v8-aggregate-returns
-hpux-mallinfo
-copyright-updates
-ios
-fix-xfails
-interix
-ppc64-darwin
-irix
-sparc-abi-check
-ungccify
-ios-fixes
-bad-abi-fix
-msvcc
-fix_maxopt
-fix-ppc32
-darwin-EH-fix
-more-openbsd
-more-openbsd-mips
-darwin11
-powerpc-sysv-without-string-ops
-windows-ce-arm
-kfreebsd-mmap
-minix
-interix-patch
-remove-debug-code
-powerpc-ffi-softfloat
-variadic
-m68k-patches
-unlikely
-amiga
-alpha
-autoconf-archive-update
-ffitarget-include-fix
-no-undefined-fix
-x86_abi_check_fix
-x32-abi
diff --git a/.pc/autoconf-archive-update/.timestamp b/.pc/autoconf-archive-update/.timestamp
deleted file mode 100644
index e69de29..0000000
--- a/.pc/autoconf-archive-update/.timestamp
+++ /dev/null
diff --git a/.pc/autoconf-archive-update/Makefile.in b/.pc/autoconf-archive-update/Makefile.in
deleted file mode 100644
index 861a5b2..0000000
--- a/.pc/autoconf-archive-update/Makefile.in
+++ /dev/null
@@ -1,1836 +0,0 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-@FFI_DEBUG_TRUE@am__append_1 = src/debug.c
-@MIPS_TRUE@am__append_2 = src/mips/ffi.c src/mips/o32.S src/mips/n32.S
-@X86_TRUE@am__append_3 = src/x86/ffi.c src/x86/sysv.S
-@X86_FREEBSD_TRUE@am__append_4 = src/x86/ffi.c src/x86/freebsd.S
-@X86_WIN32_TRUE@am__append_5 = src/x86/ffi.c src/x86/win32.S
-@X86_WIN64_TRUE@am__append_6 = src/x86/ffi.c src/x86/win64.S
-@X86_DARWIN_TRUE@am__append_7 = src/x86/ffi.c src/x86/darwin.S src/x86/ffi64.c src/x86/darwin64.S
-@SPARC_TRUE@am__append_8 = src/sparc/ffi.c src/sparc/v8.S src/sparc/v9.S
-@ALPHA_TRUE@am__append_9 = src/alpha/ffi.c src/alpha/osf.S
-@IA64_TRUE@am__append_10 = src/ia64/ffi.c src/ia64/unix.S
-@M32R_TRUE@am__append_11 = src/m32r/sysv.S src/m32r/ffi.c
-@M68K_TRUE@am__append_12 = src/m68k/ffi.c src/m68k/sysv.S
-@POWERPC_TRUE@am__append_13 = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S src/powerpc/linux64.S src/powerpc/linux64_closure.S
-@POWERPC_AIX_TRUE@am__append_14 = src/powerpc/ffi_darwin.c src/powerpc/aix.S src/powerpc/aix_closure.S
-@POWERPC_DARWIN_TRUE@am__append_15 = src/powerpc/ffi_darwin.c src/powerpc/darwin.S src/powerpc/darwin_closure.S
-@POWERPC_FREEBSD_TRUE@am__append_16 = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S
-@ARM_TRUE@am__append_17 = src/arm/sysv.S src/arm/ffi.c
-@ARM_TRUE@@FFI_EXEC_TRAMPOLINE_TABLE_TRUE@am__append_18 = src/arm/trampoline.S
-@AVR32_TRUE@am__append_19 = src/avr32/sysv.S src/avr32/ffi.c
-@LIBFFI_CRIS_TRUE@am__append_20 = src/cris/sysv.S src/cris/ffi.c
-@FRV_TRUE@am__append_21 = src/frv/eabi.S src/frv/ffi.c
-@MOXIE_TRUE@am__append_22 = src/moxie/eabi.S src/moxie/ffi.c
-@S390_TRUE@am__append_23 = src/s390/sysv.S src/s390/ffi.c
-@X86_64_TRUE@am__append_24 = src/x86/ffi64.c src/x86/unix64.S src/x86/ffi.c src/x86/sysv.S
-@SH_TRUE@am__append_25 = src/sh/sysv.S src/sh/ffi.c
-@SH64_TRUE@am__append_26 = src/sh64/sysv.S src/sh64/ffi.c
-@PA_LINUX_TRUE@am__append_27 = src/pa/linux.S src/pa/ffi.c
-@PA_HPUX_TRUE@am__append_28 = src/pa/hpux32.S src/pa/ffi.c
-# Build debug. Define FFI_DEBUG on the commandline so that, when building with
-# MSVC, it can link against the debug CRT.
-@FFI_DEBUG_TRUE@am__append_29 = -DFFI_DEBUG
-subdir = .
-DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in $(srcdir)/doc/stamp-vti \
- $(srcdir)/doc/version.texi $(srcdir)/fficonfig.h.in \
- $(srcdir)/libffi.pc.in $(top_srcdir)/configure ChangeLog \
- compile config.guess config.sub depcomp install-sh ltmain.sh \
- mdate-sh missing texinfo.tex
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
- $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
- configure.lineno config.status.lineno
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = fficonfig.h
-CONFIG_CLEAN_FILES = libffi.pc
-CONFIG_CLEAN_VPATH_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
- for p in $$list; do echo "$$p $$p"; done | \
- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
- if (++n[$$2] == $(am__install_max)) \
- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
- END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(infodir)" \
- "$(DESTDIR)$(pkgconfigdir)"
-LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES)
-libffi_la_LIBADD =
-am__dirstamp = $(am__leading_dot)dirstamp
-am_libffi_la_OBJECTS = src/prep_cif.lo src/types.lo src/raw_api.lo \
- src/java_raw_api.lo src/closures.lo
-@FFI_DEBUG_TRUE@am__objects_1 = src/debug.lo
-@MIPS_TRUE@am__objects_2 = src/mips/ffi.lo src/mips/o32.lo \
-@MIPS_TRUE@ src/mips/n32.lo
-@X86_TRUE@am__objects_3 = src/x86/ffi.lo src/x86/sysv.lo
-@X86_FREEBSD_TRUE@am__objects_4 = src/x86/ffi.lo src/x86/freebsd.lo
-@X86_WIN32_TRUE@am__objects_5 = src/x86/ffi.lo src/x86/win32.lo
-@X86_WIN64_TRUE@am__objects_6 = src/x86/ffi.lo src/x86/win64.lo
-@X86_DARWIN_TRUE@am__objects_7 = src/x86/ffi.lo src/x86/darwin.lo \
-@X86_DARWIN_TRUE@ src/x86/ffi64.lo src/x86/darwin64.lo
-@SPARC_TRUE@am__objects_8 = src/sparc/ffi.lo src/sparc/v8.lo \
-@SPARC_TRUE@ src/sparc/v9.lo
-@ALPHA_TRUE@am__objects_9 = src/alpha/ffi.lo src/alpha/osf.lo
-@IA64_TRUE@am__objects_10 = src/ia64/ffi.lo src/ia64/unix.lo
-@M32R_TRUE@am__objects_11 = src/m32r/sysv.lo src/m32r/ffi.lo
-@M68K_TRUE@am__objects_12 = src/m68k/ffi.lo src/m68k/sysv.lo
-@POWERPC_TRUE@am__objects_13 = src/powerpc/ffi.lo src/powerpc/sysv.lo \
-@POWERPC_TRUE@ src/powerpc/ppc_closure.lo \
-@POWERPC_TRUE@ src/powerpc/linux64.lo \
-@POWERPC_TRUE@ src/powerpc/linux64_closure.lo
-@POWERPC_AIX_TRUE@am__objects_14 = src/powerpc/ffi_darwin.lo \
-@POWERPC_AIX_TRUE@ src/powerpc/aix.lo \
-@POWERPC_AIX_TRUE@ src/powerpc/aix_closure.lo
-@POWERPC_DARWIN_TRUE@am__objects_15 = src/powerpc/ffi_darwin.lo \
-@POWERPC_DARWIN_TRUE@ src/powerpc/darwin.lo \
-@POWERPC_DARWIN_TRUE@ src/powerpc/darwin_closure.lo
-@POWERPC_FREEBSD_TRUE@am__objects_16 = src/powerpc/ffi.lo \
-@POWERPC_FREEBSD_TRUE@ src/powerpc/sysv.lo \
-@POWERPC_FREEBSD_TRUE@ src/powerpc/ppc_closure.lo
-@ARM_TRUE@am__objects_17 = src/arm/sysv.lo src/arm/ffi.lo
-@ARM_TRUE@@FFI_EXEC_TRAMPOLINE_TABLE_TRUE@am__objects_18 = src/arm/trampoline.lo
-@AVR32_TRUE@am__objects_19 = src/avr32/sysv.lo src/avr32/ffi.lo
-@LIBFFI_CRIS_TRUE@am__objects_20 = src/cris/sysv.lo src/cris/ffi.lo
-@FRV_TRUE@am__objects_21 = src/frv/eabi.lo src/frv/ffi.lo
-@MOXIE_TRUE@am__objects_22 = src/moxie/eabi.lo src/moxie/ffi.lo
-@S390_TRUE@am__objects_23 = src/s390/sysv.lo src/s390/ffi.lo
-@X86_64_TRUE@am__objects_24 = src/x86/ffi64.lo src/x86/unix64.lo \
-@X86_64_TRUE@ src/x86/ffi.lo src/x86/sysv.lo
-@SH_TRUE@am__objects_25 = src/sh/sysv.lo src/sh/ffi.lo
-@SH64_TRUE@am__objects_26 = src/sh64/sysv.lo src/sh64/ffi.lo
-@PA_LINUX_TRUE@am__objects_27 = src/pa/linux.lo src/pa/ffi.lo
-@PA_HPUX_TRUE@am__objects_28 = src/pa/hpux32.lo src/pa/ffi.lo
-nodist_libffi_la_OBJECTS = $(am__objects_1) $(am__objects_2) \
- $(am__objects_3) $(am__objects_4) $(am__objects_5) \
- $(am__objects_6) $(am__objects_7) $(am__objects_8) \
- $(am__objects_9) $(am__objects_10) $(am__objects_11) \
- $(am__objects_12) $(am__objects_13) $(am__objects_14) \
- $(am__objects_15) $(am__objects_16) $(am__objects_17) \
- $(am__objects_18) $(am__objects_19) $(am__objects_20) \
- $(am__objects_21) $(am__objects_22) $(am__objects_23) \
- $(am__objects_24) $(am__objects_25) $(am__objects_26) \
- $(am__objects_27) $(am__objects_28)
-libffi_la_OBJECTS = $(am_libffi_la_OBJECTS) \
- $(nodist_libffi_la_OBJECTS)
-libffi_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libffi_la_LDFLAGS) $(LDFLAGS) -o $@
-libffi_convenience_la_LIBADD =
-am__objects_29 = src/prep_cif.lo src/types.lo src/raw_api.lo \
- src/java_raw_api.lo src/closures.lo
-am_libffi_convenience_la_OBJECTS = $(am__objects_29)
-am__objects_30 = $(am__objects_1) $(am__objects_2) $(am__objects_3) \
- $(am__objects_4) $(am__objects_5) $(am__objects_6) \
- $(am__objects_7) $(am__objects_8) $(am__objects_9) \
- $(am__objects_10) $(am__objects_11) $(am__objects_12) \
- $(am__objects_13) $(am__objects_14) $(am__objects_15) \
- $(am__objects_16) $(am__objects_17) $(am__objects_18) \
- $(am__objects_19) $(am__objects_20) $(am__objects_21) \
- $(am__objects_22) $(am__objects_23) $(am__objects_24) \
- $(am__objects_25) $(am__objects_26) $(am__objects_27) \
- $(am__objects_28)
-nodist_libffi_convenience_la_OBJECTS = $(am__objects_30)
-libffi_convenience_la_OBJECTS = $(am_libffi_convenience_la_OBJECTS) \
- $(nodist_libffi_convenience_la_OBJECTS)
-DEFAULT_INCLUDES = -I.@am__isrc@
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
-LTCPPASCOMPILE = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
-SOURCES = $(libffi_la_SOURCES) $(nodist_libffi_la_SOURCES) \
- $(libffi_convenience_la_SOURCES) \
- $(nodist_libffi_convenience_la_SOURCES)
-DIST_SOURCES = $(libffi_la_SOURCES) $(libffi_convenience_la_SOURCES)
-INFO_DEPS = $(srcdir)/doc/libffi.info
-am__TEXINFO_TEX_DIR = $(srcdir)
-DVIS = doc/libffi.dvi
-PDFS = doc/libffi.pdf
-PSS = doc/libffi.ps
-HTMLS = doc/libffi.html
-TEXINFOS = doc/libffi.texi
-TEXI2DVI = texi2dvi
-TEXI2PDF = $(TEXI2DVI) --pdf --batch
-MAKEINFOHTML = $(MAKEINFO) --html
-AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS)
-DVIPS = dvips
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-dvi-recursive install-exec-recursive \
- install-html-recursive install-info-recursive \
- install-pdf-recursive install-ps-recursive install-recursive \
- installcheck-recursive installdirs-recursive pdf-recursive \
- ps-recursive uninstall-recursive
-DATA = $(pkgconfig_DATA)
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
- distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
- distdir dist dist-all distcheck
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-distdir = $(PACKAGE)-$(VERSION)
-top_distdir = $(distdir)
-am__remove_distdir = \
- { test ! -d "$(distdir)" \
- || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
- && rm -fr "$(distdir)"; }; }
-am__relativize = \
- dir0=`pwd`; \
- sed_first='s,^\([^/]*\)/.*$$,\1,'; \
- sed_rest='s,^[^/]*/*,,'; \
- sed_last='s,^.*/\([^/]*\)$$,\1,'; \
- sed_butlast='s,/*[^/]*$$,,'; \
- while test -n "$$dir1"; do \
- first=`echo "$$dir1" | sed -e "$$sed_first"`; \
- if test "$$first" != "."; then \
- if test "$$first" = ".."; then \
- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
- else \
- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
- if test "$$first2" = "$$first"; then \
- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
- else \
- dir2="../$$dir2"; \
- fi; \
- dir0="$$dir0"/"$$first"; \
- fi; \
- fi; \
- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
- done; \
- reldir="$$dir2"
-DIST_ARCHIVES = $(distdir).tar.gz
-GZIP_ENV = --best
-distuninstallcheck_listfiles = find . -type f -print
-distcleancheck_listfiles = find . -type f -print
-ACLOCAL = @ACLOCAL@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AM_LTLDFLAGS = @AM_LTLDFLAGS@
-AM_RUNTESTFLAGS = @AM_RUNTESTFLAGS@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCAS = @CCAS@
-CCASDEPMODE = @CCASDEPMODE@
-CCASFLAGS = @CCASFLAGS@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FFI_EXEC_TRAMPOLINE_TABLE = @FFI_EXEC_TRAMPOLINE_TABLE@
-FGREP = @FGREP@
-GREP = @GREP@
-HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-TARGET = @TARGET@
-TARGETDIR = @TARGETDIR@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-toolexecdir = @toolexecdir@
-toolexeclibdir = @toolexeclibdir@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-AUTOMAKE_OPTIONS = foreign subdir-objects
-SUBDIRS = include testsuite man
-EXTRA_DIST = LICENSE ChangeLog.v1 ChangeLog.libgcj configure.host \
- src/alpha/ffi.c src/alpha/osf.S src/alpha/ffitarget.h \
- src/arm/ffi.c src/arm/sysv.S src/arm/ffitarget.h \
- src/avr32/ffi.c src/avr32/sysv.S src/avr32/ffitarget.h \
- src/cris/ffi.c src/cris/sysv.S src/cris/ffitarget.h \
- src/ia64/ffi.c src/ia64/ffitarget.h src/ia64/ia64_flags.h \
- src/ia64/unix.S src/mips/ffi.c src/mips/n32.S src/mips/o32.S \
- src/mips/ffitarget.h src/m32r/ffi.c src/m32r/sysv.S \
- src/m32r/ffitarget.h src/m68k/ffi.c src/m68k/sysv.S \
- src/m68k/ffitarget.h src/powerpc/ffi.c src/powerpc/sysv.S \
- src/powerpc/linux64.S src/powerpc/linux64_closure.S \
- src/powerpc/ppc_closure.S src/powerpc/asm.h src/powerpc/aix.S \
- src/powerpc/darwin.S src/powerpc/aix_closure.S \
- src/powerpc/darwin_closure.S src/powerpc/ffi_darwin.c \
- src/powerpc/ffitarget.h src/s390/ffi.c src/s390/sysv.S \
- src/s390/ffitarget.h src/sh/ffi.c src/sh/sysv.S \
- src/sh/ffitarget.h src/sh64/ffi.c src/sh64/sysv.S \
- src/sh64/ffitarget.h src/sparc/v8.S src/sparc/v9.S \
- src/sparc/ffitarget.h src/sparc/ffi.c src/x86/darwin64.S \
- src/x86/ffi.c src/x86/sysv.S src/x86/win32.S src/x86/darwin.S \
- src/x86/win64.S src/x86/freebsd.S src/x86/ffi64.c \
- src/x86/unix64.S src/x86/ffitarget.h src/pa/ffitarget.h \
- src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S src/frv/ffi.c \
- src/frv/eabi.S src/frv/ffitarget.h src/dlmalloc.c \
- src/moxie/ffi.c src/moxie/eabi.S libtool-version \
- ChangeLog.libffi m4/libtool.m4 m4/lt~obsolete.m4 \
- m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4 build-ios.sh \
- m4/ltversion.m4 build-ios.sh src/arm/gentramp.sh src/debug.c \
- msvcc.sh
-
-info_TEXINFOS = doc/libffi.texi
-
-# Work around what appears to be a GNU make bug handling MAKEFLAGS
-# values defined in terms of make variables, as is the case for CC and
-# friends when we are called from the top level Makefile.
-AM_MAKEFLAGS = \
- "AR_FLAGS=$(AR_FLAGS)" \
- "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
- "CFLAGS=$(CFLAGS)" \
- "CXXFLAGS=$(CXXFLAGS)" \
- "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
- "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
- "INSTALL=$(INSTALL)" \
- "INSTALL_DATA=$(INSTALL_DATA)" \
- "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
- "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
- "JC1FLAGS=$(JC1FLAGS)" \
- "LDFLAGS=$(LDFLAGS)" \
- "LIBCFLAGS=$(LIBCFLAGS)" \
- "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
- "MAKE=$(MAKE)" \
- "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
- "PICFLAG=$(PICFLAG)" \
- "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
- "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
- "SHELL=$(SHELL)" \
- "exec_prefix=$(exec_prefix)" \
- "infodir=$(infodir)" \
- "libdir=$(libdir)" \
- "mandir=$(mandir)" \
- "prefix=$(prefix)" \
- "AR=$(AR)" \
- "AS=$(AS)" \
- "CC=$(CC)" \
- "CXX=$(CXX)" \
- "LD=$(LD)" \
- "NM=$(NM)" \
- "RANLIB=$(RANLIB)" \
- "DESTDIR=$(DESTDIR)"
-
-MAKEOVERRIDES =
-ACLOCAL_AMFLAGS = $(ACLOCAL_AMFLAGS) -I m4
-lib_LTLIBRARIES = libffi.la
-noinst_LTLIBRARIES = libffi_convenience.la
-libffi_la_SOURCES = src/prep_cif.c src/types.c \
- src/raw_api.c src/java_raw_api.c src/closures.c
-
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = libffi.pc
-nodist_libffi_la_SOURCES = $(am__append_1) $(am__append_2) \
- $(am__append_3) $(am__append_4) $(am__append_5) \
- $(am__append_6) $(am__append_7) $(am__append_8) \
- $(am__append_9) $(am__append_10) $(am__append_11) \
- $(am__append_12) $(am__append_13) $(am__append_14) \
- $(am__append_15) $(am__append_16) $(am__append_17) \
- $(am__append_18) $(am__append_19) $(am__append_20) \
- $(am__append_21) $(am__append_22) $(am__append_23) \
- $(am__append_24) $(am__append_25) $(am__append_26) \
- $(am__append_27) $(am__append_28)
-libffi_convenience_la_SOURCES = $(libffi_la_SOURCES)
-nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
-AM_CFLAGS = -g $(am__append_29)
-libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LTLDFLAGS) $(AM_LTLDFLAGS)
-AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
-AM_CCASFLAGS = $(AM_CPPFLAGS) -g
-all: fficonfig.h
- $(MAKE) $(AM_MAKEFLAGS) all-recursive
-
-.SUFFIXES:
-.SUFFIXES: .S .c .dvi .lo .o .obj .ps
-am--refresh:
- @:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
- $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --foreign Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- echo ' $(SHELL) ./config.status'; \
- $(SHELL) ./config.status;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- $(SHELL) ./config.status --recheck
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- $(am__cd) $(srcdir) && $(AUTOCONF)
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
-$(am__aclocal_m4_deps):
-
-fficonfig.h: stamp-h1
- @if test ! -f $@; then \
- rm -f stamp-h1; \
- $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
- else :; fi
-
-stamp-h1: $(srcdir)/fficonfig.h.in $(top_builddir)/config.status
- @rm -f stamp-h1
- cd $(top_builddir) && $(SHELL) ./config.status fficonfig.h
-$(srcdir)/fficonfig.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
- rm -f stamp-h1
- touch $@
-
-distclean-hdr:
- -rm -f fficonfig.h stamp-h1
-libffi.pc: $(top_builddir)/config.status $(srcdir)/libffi.pc.in
- cd $(top_builddir) && $(SHELL) ./config.status $@
-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
- @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
- list2=; for p in $$list; do \
- if test -f $$p; then \
- list2="$$list2 $$p"; \
- else :; fi; \
- done; \
- test -z "$$list2" || { \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
- }
-
-uninstall-libLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
- done
-
-clean-libLTLIBRARIES:
- -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-
-clean-noinstLTLIBRARIES:
- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
- @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-src/$(am__dirstamp):
- @$(MKDIR_P) src
- @: > src/$(am__dirstamp)
-src/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/$(DEPDIR)
- @: > src/$(DEPDIR)/$(am__dirstamp)
-src/prep_cif.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/types.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/raw_api.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/java_raw_api.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/closures.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/debug.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/mips/$(am__dirstamp):
- @$(MKDIR_P) src/mips
- @: > src/mips/$(am__dirstamp)
-src/mips/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/mips/$(DEPDIR)
- @: > src/mips/$(DEPDIR)/$(am__dirstamp)
-src/mips/ffi.lo: src/mips/$(am__dirstamp) \
- src/mips/$(DEPDIR)/$(am__dirstamp)
-src/mips/o32.lo: src/mips/$(am__dirstamp) \
- src/mips/$(DEPDIR)/$(am__dirstamp)
-src/mips/n32.lo: src/mips/$(am__dirstamp) \
- src/mips/$(DEPDIR)/$(am__dirstamp)
-src/x86/$(am__dirstamp):
- @$(MKDIR_P) src/x86
- @: > src/x86/$(am__dirstamp)
-src/x86/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/x86/$(DEPDIR)
- @: > src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/ffi.lo: src/x86/$(am__dirstamp) \
- src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/sysv.lo: src/x86/$(am__dirstamp) \
- src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/freebsd.lo: src/x86/$(am__dirstamp) \
- src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/win32.lo: src/x86/$(am__dirstamp) \
- src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/win64.lo: src/x86/$(am__dirstamp) \
- src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/darwin.lo: src/x86/$(am__dirstamp) \
- src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/ffi64.lo: src/x86/$(am__dirstamp) \
- src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/darwin64.lo: src/x86/$(am__dirstamp) \
- src/x86/$(DEPDIR)/$(am__dirstamp)
-src/sparc/$(am__dirstamp):
- @$(MKDIR_P) src/sparc
- @: > src/sparc/$(am__dirstamp)
-src/sparc/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/sparc/$(DEPDIR)
- @: > src/sparc/$(DEPDIR)/$(am__dirstamp)
-src/sparc/ffi.lo: src/sparc/$(am__dirstamp) \
- src/sparc/$(DEPDIR)/$(am__dirstamp)
-src/sparc/v8.lo: src/sparc/$(am__dirstamp) \
- src/sparc/$(DEPDIR)/$(am__dirstamp)
-src/sparc/v9.lo: src/sparc/$(am__dirstamp) \
- src/sparc/$(DEPDIR)/$(am__dirstamp)
-src/alpha/$(am__dirstamp):
- @$(MKDIR_P) src/alpha
- @: > src/alpha/$(am__dirstamp)
-src/alpha/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/alpha/$(DEPDIR)
- @: > src/alpha/$(DEPDIR)/$(am__dirstamp)
-src/alpha/ffi.lo: src/alpha/$(am__dirstamp) \
- src/alpha/$(DEPDIR)/$(am__dirstamp)
-src/alpha/osf.lo: src/alpha/$(am__dirstamp) \
- src/alpha/$(DEPDIR)/$(am__dirstamp)
-src/ia64/$(am__dirstamp):
- @$(MKDIR_P) src/ia64
- @: > src/ia64/$(am__dirstamp)
-src/ia64/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/ia64/$(DEPDIR)
- @: > src/ia64/$(DEPDIR)/$(am__dirstamp)
-src/ia64/ffi.lo: src/ia64/$(am__dirstamp) \
- src/ia64/$(DEPDIR)/$(am__dirstamp)
-src/ia64/unix.lo: src/ia64/$(am__dirstamp) \
- src/ia64/$(DEPDIR)/$(am__dirstamp)
-src/m32r/$(am__dirstamp):
- @$(MKDIR_P) src/m32r
- @: > src/m32r/$(am__dirstamp)
-src/m32r/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/m32r/$(DEPDIR)
- @: > src/m32r/$(DEPDIR)/$(am__dirstamp)
-src/m32r/sysv.lo: src/m32r/$(am__dirstamp) \
- src/m32r/$(DEPDIR)/$(am__dirstamp)
-src/m32r/ffi.lo: src/m32r/$(am__dirstamp) \
- src/m32r/$(DEPDIR)/$(am__dirstamp)
-src/m68k/$(am__dirstamp):
- @$(MKDIR_P) src/m68k
- @: > src/m68k/$(am__dirstamp)
-src/m68k/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/m68k/$(DEPDIR)
- @: > src/m68k/$(DEPDIR)/$(am__dirstamp)
-src/m68k/ffi.lo: src/m68k/$(am__dirstamp) \
- src/m68k/$(DEPDIR)/$(am__dirstamp)
-src/m68k/sysv.lo: src/m68k/$(am__dirstamp) \
- src/m68k/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/$(am__dirstamp):
- @$(MKDIR_P) src/powerpc
- @: > src/powerpc/$(am__dirstamp)
-src/powerpc/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/powerpc/$(DEPDIR)
- @: > src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/ffi.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/sysv.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/ppc_closure.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/linux64.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/linux64_closure.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/ffi_darwin.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/aix.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/aix_closure.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/darwin.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/darwin_closure.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/arm/$(am__dirstamp):
- @$(MKDIR_P) src/arm
- @: > src/arm/$(am__dirstamp)
-src/arm/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/arm/$(DEPDIR)
- @: > src/arm/$(DEPDIR)/$(am__dirstamp)
-src/arm/sysv.lo: src/arm/$(am__dirstamp) \
- src/arm/$(DEPDIR)/$(am__dirstamp)
-src/arm/ffi.lo: src/arm/$(am__dirstamp) \
- src/arm/$(DEPDIR)/$(am__dirstamp)
-src/arm/trampoline.lo: src/arm/$(am__dirstamp) \
- src/arm/$(DEPDIR)/$(am__dirstamp)
-src/avr32/$(am__dirstamp):
- @$(MKDIR_P) src/avr32
- @: > src/avr32/$(am__dirstamp)
-src/avr32/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/avr32/$(DEPDIR)
- @: > src/avr32/$(DEPDIR)/$(am__dirstamp)
-src/avr32/sysv.lo: src/avr32/$(am__dirstamp) \
- src/avr32/$(DEPDIR)/$(am__dirstamp)
-src/avr32/ffi.lo: src/avr32/$(am__dirstamp) \
- src/avr32/$(DEPDIR)/$(am__dirstamp)
-src/cris/$(am__dirstamp):
- @$(MKDIR_P) src/cris
- @: > src/cris/$(am__dirstamp)
-src/cris/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/cris/$(DEPDIR)
- @: > src/cris/$(DEPDIR)/$(am__dirstamp)
-src/cris/sysv.lo: src/cris/$(am__dirstamp) \
- src/cris/$(DEPDIR)/$(am__dirstamp)
-src/cris/ffi.lo: src/cris/$(am__dirstamp) \
- src/cris/$(DEPDIR)/$(am__dirstamp)
-src/frv/$(am__dirstamp):
- @$(MKDIR_P) src/frv
- @: > src/frv/$(am__dirstamp)
-src/frv/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/frv/$(DEPDIR)
- @: > src/frv/$(DEPDIR)/$(am__dirstamp)
-src/frv/eabi.lo: src/frv/$(am__dirstamp) \
- src/frv/$(DEPDIR)/$(am__dirstamp)
-src/frv/ffi.lo: src/frv/$(am__dirstamp) \
- src/frv/$(DEPDIR)/$(am__dirstamp)
-src/moxie/$(am__dirstamp):
- @$(MKDIR_P) src/moxie
- @: > src/moxie/$(am__dirstamp)
-src/moxie/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/moxie/$(DEPDIR)
- @: > src/moxie/$(DEPDIR)/$(am__dirstamp)
-src/moxie/eabi.lo: src/moxie/$(am__dirstamp) \
- src/moxie/$(DEPDIR)/$(am__dirstamp)
-src/moxie/ffi.lo: src/moxie/$(am__dirstamp) \
- src/moxie/$(DEPDIR)/$(am__dirstamp)
-src/s390/$(am__dirstamp):
- @$(MKDIR_P) src/s390
- @: > src/s390/$(am__dirstamp)
-src/s390/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/s390/$(DEPDIR)
- @: > src/s390/$(DEPDIR)/$(am__dirstamp)
-src/s390/sysv.lo: src/s390/$(am__dirstamp) \
- src/s390/$(DEPDIR)/$(am__dirstamp)
-src/s390/ffi.lo: src/s390/$(am__dirstamp) \
- src/s390/$(DEPDIR)/$(am__dirstamp)
-src/x86/unix64.lo: src/x86/$(am__dirstamp) \
- src/x86/$(DEPDIR)/$(am__dirstamp)
-src/sh/$(am__dirstamp):
- @$(MKDIR_P) src/sh
- @: > src/sh/$(am__dirstamp)
-src/sh/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/sh/$(DEPDIR)
- @: > src/sh/$(DEPDIR)/$(am__dirstamp)
-src/sh/sysv.lo: src/sh/$(am__dirstamp) \
- src/sh/$(DEPDIR)/$(am__dirstamp)
-src/sh/ffi.lo: src/sh/$(am__dirstamp) src/sh/$(DEPDIR)/$(am__dirstamp)
-src/sh64/$(am__dirstamp):
- @$(MKDIR_P) src/sh64
- @: > src/sh64/$(am__dirstamp)
-src/sh64/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/sh64/$(DEPDIR)
- @: > src/sh64/$(DEPDIR)/$(am__dirstamp)
-src/sh64/sysv.lo: src/sh64/$(am__dirstamp) \
- src/sh64/$(DEPDIR)/$(am__dirstamp)
-src/sh64/ffi.lo: src/sh64/$(am__dirstamp) \
- src/sh64/$(DEPDIR)/$(am__dirstamp)
-src/pa/$(am__dirstamp):
- @$(MKDIR_P) src/pa
- @: > src/pa/$(am__dirstamp)
-src/pa/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/pa/$(DEPDIR)
- @: > src/pa/$(DEPDIR)/$(am__dirstamp)
-src/pa/linux.lo: src/pa/$(am__dirstamp) \
- src/pa/$(DEPDIR)/$(am__dirstamp)
-src/pa/ffi.lo: src/pa/$(am__dirstamp) src/pa/$(DEPDIR)/$(am__dirstamp)
-src/pa/hpux32.lo: src/pa/$(am__dirstamp) \
- src/pa/$(DEPDIR)/$(am__dirstamp)
-libffi.la: $(libffi_la_OBJECTS) $(libffi_la_DEPENDENCIES)
- $(libffi_la_LINK) -rpath $(libdir) $(libffi_la_OBJECTS) $(libffi_la_LIBADD) $(LIBS)
-libffi_convenience.la: $(libffi_convenience_la_OBJECTS) $(libffi_convenience_la_DEPENDENCIES)
- $(LINK) $(libffi_convenience_la_OBJECTS) $(libffi_convenience_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
- -rm -f src/alpha/ffi.$(OBJEXT)
- -rm -f src/alpha/ffi.lo
- -rm -f src/alpha/osf.$(OBJEXT)
- -rm -f src/alpha/osf.lo
- -rm -f src/arm/ffi.$(OBJEXT)
- -rm -f src/arm/ffi.lo
- -rm -f src/arm/sysv.$(OBJEXT)
- -rm -f src/arm/sysv.lo
- -rm -f src/arm/trampoline.$(OBJEXT)
- -rm -f src/arm/trampoline.lo
- -rm -f src/avr32/ffi.$(OBJEXT)
- -rm -f src/avr32/ffi.lo
- -rm -f src/avr32/sysv.$(OBJEXT)
- -rm -f src/avr32/sysv.lo
- -rm -f src/closures.$(OBJEXT)
- -rm -f src/closures.lo
- -rm -f src/cris/ffi.$(OBJEXT)
- -rm -f src/cris/ffi.lo
- -rm -f src/cris/sysv.$(OBJEXT)
- -rm -f src/cris/sysv.lo
- -rm -f src/debug.$(OBJEXT)
- -rm -f src/debug.lo
- -rm -f src/frv/eabi.$(OBJEXT)
- -rm -f src/frv/eabi.lo
- -rm -f src/frv/ffi.$(OBJEXT)
- -rm -f src/frv/ffi.lo
- -rm -f src/ia64/ffi.$(OBJEXT)
- -rm -f src/ia64/ffi.lo
- -rm -f src/ia64/unix.$(OBJEXT)
- -rm -f src/ia64/unix.lo
- -rm -f src/java_raw_api.$(OBJEXT)
- -rm -f src/java_raw_api.lo
- -rm -f src/m32r/ffi.$(OBJEXT)
- -rm -f src/m32r/ffi.lo
- -rm -f src/m32r/sysv.$(OBJEXT)
- -rm -f src/m32r/sysv.lo
- -rm -f src/m68k/ffi.$(OBJEXT)
- -rm -f src/m68k/ffi.lo
- -rm -f src/m68k/sysv.$(OBJEXT)
- -rm -f src/m68k/sysv.lo
- -rm -f src/mips/ffi.$(OBJEXT)
- -rm -f src/mips/ffi.lo
- -rm -f src/mips/n32.$(OBJEXT)
- -rm -f src/mips/n32.lo
- -rm -f src/mips/o32.$(OBJEXT)
- -rm -f src/mips/o32.lo
- -rm -f src/moxie/eabi.$(OBJEXT)
- -rm -f src/moxie/eabi.lo
- -rm -f src/moxie/ffi.$(OBJEXT)
- -rm -f src/moxie/ffi.lo
- -rm -f src/pa/ffi.$(OBJEXT)
- -rm -f src/pa/ffi.lo
- -rm -f src/pa/hpux32.$(OBJEXT)
- -rm -f src/pa/hpux32.lo
- -rm -f src/pa/linux.$(OBJEXT)
- -rm -f src/pa/linux.lo
- -rm -f src/powerpc/aix.$(OBJEXT)
- -rm -f src/powerpc/aix.lo
- -rm -f src/powerpc/aix_closure.$(OBJEXT)
- -rm -f src/powerpc/aix_closure.lo
- -rm -f src/powerpc/darwin.$(OBJEXT)
- -rm -f src/powerpc/darwin.lo
- -rm -f src/powerpc/darwin_closure.$(OBJEXT)
- -rm -f src/powerpc/darwin_closure.lo
- -rm -f src/powerpc/ffi.$(OBJEXT)
- -rm -f src/powerpc/ffi.lo
- -rm -f src/powerpc/ffi_darwin.$(OBJEXT)
- -rm -f src/powerpc/ffi_darwin.lo
- -rm -f src/powerpc/linux64.$(OBJEXT)
- -rm -f src/powerpc/linux64.lo
- -rm -f src/powerpc/linux64_closure.$(OBJEXT)
- -rm -f src/powerpc/linux64_closure.lo
- -rm -f src/powerpc/ppc_closure.$(OBJEXT)
- -rm -f src/powerpc/ppc_closure.lo
- -rm -f src/powerpc/sysv.$(OBJEXT)
- -rm -f src/powerpc/sysv.lo
- -rm -f src/prep_cif.$(OBJEXT)
- -rm -f src/prep_cif.lo
- -rm -f src/raw_api.$(OBJEXT)
- -rm -f src/raw_api.lo
- -rm -f src/s390/ffi.$(OBJEXT)
- -rm -f src/s390/ffi.lo
- -rm -f src/s390/sysv.$(OBJEXT)
- -rm -f src/s390/sysv.lo
- -rm -f src/sh/ffi.$(OBJEXT)
- -rm -f src/sh/ffi.lo
- -rm -f src/sh/sysv.$(OBJEXT)
- -rm -f src/sh/sysv.lo
- -rm -f src/sh64/ffi.$(OBJEXT)
- -rm -f src/sh64/ffi.lo
- -rm -f src/sh64/sysv.$(OBJEXT)
- -rm -f src/sh64/sysv.lo
- -rm -f src/sparc/ffi.$(OBJEXT)
- -rm -f src/sparc/ffi.lo
- -rm -f src/sparc/v8.$(OBJEXT)
- -rm -f src/sparc/v8.lo
- -rm -f src/sparc/v9.$(OBJEXT)
- -rm -f src/sparc/v9.lo
- -rm -f src/types.$(OBJEXT)
- -rm -f src/types.lo
- -rm -f src/x86/darwin.$(OBJEXT)
- -rm -f src/x86/darwin.lo
- -rm -f src/x86/darwin64.$(OBJEXT)
- -rm -f src/x86/darwin64.lo
- -rm -f src/x86/ffi.$(OBJEXT)
- -rm -f src/x86/ffi.lo
- -rm -f src/x86/ffi64.$(OBJEXT)
- -rm -f src/x86/ffi64.lo
- -rm -f src/x86/freebsd.$(OBJEXT)
- -rm -f src/x86/freebsd.lo
- -rm -f src/x86/sysv.$(OBJEXT)
- -rm -f src/x86/sysv.lo
- -rm -f src/x86/unix64.$(OBJEXT)
- -rm -f src/x86/unix64.lo
- -rm -f src/x86/win32.$(OBJEXT)
- -rm -f src/x86/win32.lo
- -rm -f src/x86/win64.$(OBJEXT)
- -rm -f src/x86/win64.lo
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/closures.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/debug.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/java_raw_api.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/prep_cif.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/raw_api.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/types.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/alpha/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/alpha/$(DEPDIR)/osf.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/trampoline.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/avr32/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/avr32/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/cris/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/cris/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/frv/$(DEPDIR)/eabi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/frv/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/ia64/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/ia64/$(DEPDIR)/unix.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/m32r/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/m32r/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/m68k/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/m68k/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/n32.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/o32.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/moxie/$(DEPDIR)/eabi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/moxie/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/hpux32.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/linux.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/aix.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/aix_closure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/darwin.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/darwin_closure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/ffi_darwin.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/linux64.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/linux64_closure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/ppc_closure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/s390/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/s390/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sh/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sh/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sh64/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sh64/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sparc/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sparc/$(DEPDIR)/v8.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sparc/$(DEPDIR)/v9.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/darwin.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/darwin64.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/ffi64.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/freebsd.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/unix64.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/win32.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/win64.Plo@am__quote@
-
-.S.o:
-@am__fastdepCCAS_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
-@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCCAS_FALSE@ $(CPPASCOMPILE) -c -o $@ $<
-
-.S.obj:
-@am__fastdepCCAS_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
-@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
-@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCCAS_FALSE@ $(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.S.lo:
-@am__fastdepCCAS_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
-@am__fastdepCCAS_TRUE@ $(LTCPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCCAS_FALSE@ $(LTCPPASCOMPILE) -c -o $@ $<
-
-.c.o:
-@am__fastdepCC_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
-@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
-@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
- -rm -rf src/.libs src/_libs
- -rm -rf src/alpha/.libs src/alpha/_libs
- -rm -rf src/arm/.libs src/arm/_libs
- -rm -rf src/avr32/.libs src/avr32/_libs
- -rm -rf src/cris/.libs src/cris/_libs
- -rm -rf src/frv/.libs src/frv/_libs
- -rm -rf src/ia64/.libs src/ia64/_libs
- -rm -rf src/m32r/.libs src/m32r/_libs
- -rm -rf src/m68k/.libs src/m68k/_libs
- -rm -rf src/mips/.libs src/mips/_libs
- -rm -rf src/moxie/.libs src/moxie/_libs
- -rm -rf src/pa/.libs src/pa/_libs
- -rm -rf src/powerpc/.libs src/powerpc/_libs
- -rm -rf src/s390/.libs src/s390/_libs
- -rm -rf src/sh/.libs src/sh/_libs
- -rm -rf src/sh64/.libs src/sh64/_libs
- -rm -rf src/sparc/.libs src/sparc/_libs
- -rm -rf src/x86/.libs src/x86/_libs
-
-distclean-libtool:
- -rm -f libtool config.lt
-doc/$(am__dirstamp):
- @$(MKDIR_P) doc
- @: > doc/$(am__dirstamp)
-
-$(srcdir)/doc/libffi.info: doc/libffi.texi $(srcdir)/doc/version.texi
- restore=: && backupdir="$(am__leading_dot)am$$$$" && \
- am__cwd=`pwd` && $(am__cd) $(srcdir) && \
- rm -rf $$backupdir && mkdir $$backupdir && \
- if ($(MAKEINFO) --version) >/dev/null 2>&1; then \
- for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \
- if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \
- done; \
- else :; fi && \
- cd "$$am__cwd"; \
- if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc \
- -o $@ $(srcdir)/doc/libffi.texi; \
- then \
- rc=0; \
- $(am__cd) $(srcdir); \
- else \
- rc=$$?; \
- $(am__cd) $(srcdir) && \
- $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
- fi; \
- rm -rf $$backupdir; exit $$rc
-
-doc/libffi.dvi: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
- TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
- MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \
- $(TEXI2DVI) -o $@ `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi
-
-doc/libffi.pdf: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
- TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
- MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \
- $(TEXI2PDF) -o $@ `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi
-
-doc/libffi.html: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
- rm -rf $(@:.html=.htp)
- if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc \
- -o $(@:.html=.htp) `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi; \
- then \
- rm -rf $@; \
- if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
- mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \
- else \
- if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
- rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \
- exit 1; \
- fi
-$(srcdir)/doc/version.texi: @MAINTAINER_MODE_TRUE@ $(srcdir)/doc/stamp-vti
-$(srcdir)/doc/stamp-vti: doc/libffi.texi $(top_srcdir)/configure
- test -f doc/$(am__dirstamp) || $(MAKE) $(AM_MAKEFLAGS) doc/$(am__dirstamp)
- @(dir=.; test -f ./doc/libffi.texi || dir=$(srcdir); \
- set `$(SHELL) $(srcdir)/mdate-sh $$dir/doc/libffi.texi`; \
- echo "@set UPDATED $$1 $$2 $$3"; \
- echo "@set UPDATED-MONTH $$2 $$3"; \
- echo "@set EDITION $(VERSION)"; \
- echo "@set VERSION $(VERSION)") > vti.tmp
- @cmp -s vti.tmp $(srcdir)/doc/version.texi \
- || (echo "Updating $(srcdir)/doc/version.texi"; \
- cp vti.tmp $(srcdir)/doc/version.texi)
- -@rm -f vti.tmp
- @cp $(srcdir)/doc/version.texi $@
-
-mostlyclean-vti:
- -rm -f vti.tmp
-
-maintainer-clean-vti:
-@MAINTAINER_MODE_TRUE@ -rm -f $(srcdir)/doc/stamp-vti $(srcdir)/doc/version.texi
-.dvi.ps:
- TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
- $(DVIPS) -o $@ $<
-
-uninstall-dvi-am:
- @$(NORMAL_UNINSTALL)
- @list='$(DVIS)'; test -n "$(dvidir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(dvidir)/$$f'"; \
- rm -f "$(DESTDIR)$(dvidir)/$$f"; \
- done
-
-uninstall-html-am:
- @$(NORMAL_UNINSTALL)
- @list='$(HTMLS)'; test -n "$(htmldir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " rm -rf '$(DESTDIR)$(htmldir)/$$f'"; \
- rm -rf "$(DESTDIR)$(htmldir)/$$f"; \
- done
-
-uninstall-info-am:
- @$(PRE_UNINSTALL)
- @if test -d '$(DESTDIR)$(infodir)' && \
- (install-info --version && \
- install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
- list='$(INFO_DEPS)'; \
- for file in $$list; do \
- relfile=`echo "$$file" | sed 's|^.*/||'`; \
- echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \
- if install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \
- then :; else test ! -f "$(DESTDIR)$(infodir)/$$relfile" || exit 1; fi; \
- done; \
- else :; fi
- @$(NORMAL_UNINSTALL)
- @list='$(INFO_DEPS)'; \
- for file in $$list; do \
- relfile=`echo "$$file" | sed 's|^.*/||'`; \
- relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \
- (if test -d "$(DESTDIR)$(infodir)" && cd "$(DESTDIR)$(infodir)"; then \
- echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \
- rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \
- else :; fi); \
- done
-
-uninstall-pdf-am:
- @$(NORMAL_UNINSTALL)
- @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(pdfdir)/$$f'"; \
- rm -f "$(DESTDIR)$(pdfdir)/$$f"; \
- done
-
-uninstall-ps-am:
- @$(NORMAL_UNINSTALL)
- @list='$(PSS)'; test -n "$(psdir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(psdir)/$$f'"; \
- rm -f "$(DESTDIR)$(psdir)/$$f"; \
- done
-
-dist-info: $(INFO_DEPS)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- list='$(INFO_DEPS)'; \
- for base in $$list; do \
- case $$base in \
- $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \
- esac; \
- if test -f $$base; then d=.; else d=$(srcdir); fi; \
- base_i=`echo "$$base" | sed 's|\.info$$||;s|$$|.i|'`; \
- for file in $$d/$$base $$d/$$base-[0-9] $$d/$$base-[0-9][0-9] $$d/$$base_i[0-9] $$d/$$base_i[0-9][0-9]; do \
- if test -f $$file; then \
- relfile=`expr "$$file" : "$$d/\(.*\)"`; \
- test -f "$(distdir)/$$relfile" || \
- cp -p $$file "$(distdir)/$$relfile"; \
- else :; fi; \
- done; \
- done
-
-mostlyclean-aminfo:
- -rm -rf libffi.aux libffi.cp libffi.cps libffi.fn libffi.ky libffi.log \
- libffi.pg libffi.tmp libffi.toc libffi.tp libffi.vr
-
-clean-aminfo:
- -test -z "doc/libffi.dvi doc/libffi.pdf doc/libffi.ps doc/libffi.html" \
- || rm -rf doc/libffi.dvi doc/libffi.pdf doc/libffi.ps doc/libffi.html
-
-maintainer-clean-aminfo:
- @list='$(INFO_DEPS)'; for i in $$list; do \
- i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \
- echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \
- rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \
- done
-install-pkgconfigDATA: $(pkgconfig_DATA)
- @$(NORMAL_INSTALL)
- test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)"
- @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- echo "$$d$$p"; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
- done
-
-uninstall-pkgconfigDATA:
- @$(NORMAL_UNINSTALL)
- @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
- test -n "$$files" || exit 0; \
- echo " ( cd '$(DESTDIR)$(pkgconfigdir)' && rm -f" $$files ")"; \
- cd "$(DESTDIR)$(pkgconfigdir)" && rm -f $$files
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) fficonfig.h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) fficonfig.h.in $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) fficonfig.h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) fficonfig.h.in $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- $(am__remove_distdir)
- test -d "$(distdir)" || mkdir "$(distdir)"
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d "$(distdir)/$$subdir" \
- || $(MKDIR_P) "$(distdir)/$$subdir" \
- || exit 1; \
- fi; \
- done
- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
- $(am__relativize); \
- new_distdir=$$reldir; \
- dir1=$$subdir; dir2="$(top_distdir)"; \
- $(am__relativize); \
- new_top_distdir=$$reldir; \
- echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
- echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
- ($(am__cd) $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$new_top_distdir" \
- distdir="$$new_distdir" \
- am__remove_distdir=: \
- am__skip_length_check=: \
- am__skip_mode_fix=: \
- distdir) \
- || exit 1; \
- fi; \
- done
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$(top_distdir)" distdir="$(distdir)" \
- dist-info
- -test -n "$(am__skip_mode_fix)" \
- || find "$(distdir)" -type d ! -perm -755 \
- -exec chmod u+rwx,go+rx {} \; -o \
- ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
- ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
- ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
- || chmod -R a+r "$(distdir)"
-dist-gzip: distdir
- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
- $(am__remove_distdir)
-
-dist-bzip2: distdir
- tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
- $(am__remove_distdir)
-
-dist-lzma: distdir
- tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
- $(am__remove_distdir)
-
-dist-xz: distdir
- tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
- $(am__remove_distdir)
-
-dist-tarZ: distdir
- tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
- $(am__remove_distdir)
-
-dist-shar: distdir
- shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
- $(am__remove_distdir)
-
-dist-zip: distdir
- -rm -f $(distdir).zip
- zip -rq $(distdir).zip $(distdir)
- $(am__remove_distdir)
-
-dist dist-all: distdir
- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
- $(am__remove_distdir)
-
-# This target untars the dist file and tries a VPATH configuration. Then
-# it guarantees that the distribution is self-contained by making another
-# tarfile.
-distcheck: dist
- case '$(DIST_ARCHIVES)' in \
- *.tar.gz*) \
- GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
- *.tar.bz2*) \
- bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
- *.tar.lzma*) \
- lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
- *.tar.xz*) \
- xz -dc $(distdir).tar.xz | $(am__untar) ;;\
- *.tar.Z*) \
- uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
- *.shar.gz*) \
- GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
- *.zip*) \
- unzip $(distdir).zip ;;\
- esac
- chmod -R a-w $(distdir); chmod a+w $(distdir)
- mkdir $(distdir)/_build
- mkdir $(distdir)/_inst
- chmod a-w $(distdir)
- test -d $(distdir)/_build || exit 0; \
- dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
- && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
- && am__cwd=`pwd` \
- && $(am__cd) $(distdir)/_build \
- && ../configure --srcdir=.. --prefix="$$dc_install_base" \
- $(DISTCHECK_CONFIGURE_FLAGS) \
- && $(MAKE) $(AM_MAKEFLAGS) \
- && $(MAKE) $(AM_MAKEFLAGS) dvi \
- && $(MAKE) $(AM_MAKEFLAGS) check \
- && $(MAKE) $(AM_MAKEFLAGS) install \
- && $(MAKE) $(AM_MAKEFLAGS) installcheck \
- && $(MAKE) $(AM_MAKEFLAGS) uninstall \
- && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
- distuninstallcheck \
- && chmod -R a-w "$$dc_install_base" \
- && ({ \
- (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
- distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
- } || { rm -rf "$$dc_destdir"; exit 1; }) \
- && rm -rf "$$dc_destdir" \
- && $(MAKE) $(AM_MAKEFLAGS) dist \
- && rm -rf $(DIST_ARCHIVES) \
- && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
- && cd "$$am__cwd" \
- || exit 1
- $(am__remove_distdir)
- @(echo "$(distdir) archives ready for distribution: "; \
- list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
- sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
-distuninstallcheck:
- @$(am__cd) '$(distuninstallcheck_dir)' \
- && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
- || { echo "ERROR: files left after uninstall:" ; \
- if test -n "$(DESTDIR)"; then \
- echo " (check DESTDIR support)"; \
- fi ; \
- $(distuninstallcheck_listfiles) ; \
- exit 1; } >&2
-distcleancheck: distclean
- @if test '$(srcdir)' = . ; then \
- echo "ERROR: distcleancheck can only run from a VPATH build" ; \
- exit 1 ; \
- fi
- @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
- || { echo "ERROR: files left in build directory after distclean:" ; \
- $(distcleancheck_listfiles) ; \
- exit 1; } >&2
-check-am: all-am
-check: check-recursive
-all-am: Makefile $(INFO_DEPS) $(LTLIBRARIES) $(DATA) fficonfig.h
-installdirs: installdirs-recursive
-installdirs-am:
- for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(infodir)" "$(DESTDIR)$(pkgconfigdir)"; do \
- test -z "$$dir" || $(MKDIR_P) "$$dir"; \
- done
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
- -rm -f doc/$(am__dirstamp)
- -rm -f src/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/$(am__dirstamp)
- -rm -f src/alpha/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/alpha/$(am__dirstamp)
- -rm -f src/arm/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/arm/$(am__dirstamp)
- -rm -f src/avr32/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/avr32/$(am__dirstamp)
- -rm -f src/cris/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/cris/$(am__dirstamp)
- -rm -f src/frv/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/frv/$(am__dirstamp)
- -rm -f src/ia64/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/ia64/$(am__dirstamp)
- -rm -f src/m32r/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/m32r/$(am__dirstamp)
- -rm -f src/m68k/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/m68k/$(am__dirstamp)
- -rm -f src/mips/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/mips/$(am__dirstamp)
- -rm -f src/moxie/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/moxie/$(am__dirstamp)
- -rm -f src/pa/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/pa/$(am__dirstamp)
- -rm -f src/powerpc/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/powerpc/$(am__dirstamp)
- -rm -f src/s390/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/s390/$(am__dirstamp)
- -rm -f src/sh/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/sh/$(am__dirstamp)
- -rm -f src/sh64/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/sh64/$(am__dirstamp)
- -rm -f src/sparc/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/sparc/$(am__dirstamp)
- -rm -f src/x86/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/x86/$(am__dirstamp)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-aminfo clean-generic clean-libLTLIBRARIES \
- clean-libtool clean-noinstLTLIBRARIES mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f $(am__CONFIG_DISTCLEAN_FILES)
- -rm -rf src/$(DEPDIR) src/alpha/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/x86/$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-hdr distclean-libtool distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am: $(DVIS)
-
-html: html-recursive
-
-html-am: $(HTMLS)
-
-info: info-recursive
-
-info-am: $(INFO_DEPS)
-
-install-data-am: install-info-am install-pkgconfigDATA
-
-install-dvi: install-dvi-recursive
-
-install-dvi-am: $(DVIS)
- @$(NORMAL_INSTALL)
- test -z "$(dvidir)" || $(MKDIR_P) "$(DESTDIR)$(dvidir)"
- @list='$(DVIS)'; test -n "$(dvidir)" || list=; \
- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- echo "$$d$$p"; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(dvidir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(dvidir)" || exit $$?; \
- done
-install-exec-am: install-libLTLIBRARIES
-
-install-html-am: $(HTMLS)
- @$(NORMAL_INSTALL)
- test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)"
- @list='$(HTMLS)'; list2=; test -n "$(htmldir)" || list=; \
- for p in $$list; do \
- if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \
- $(am__strip_dir) \
- if test -d "$$d$$p"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \
- $(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \
- echo " $(INSTALL_DATA) '$$d$$p'/* '$(DESTDIR)$(htmldir)/$$f'"; \
- $(INSTALL_DATA) "$$d$$p"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \
- else \
- list2="$$list2 $$d$$p"; \
- fi; \
- done; \
- test -z "$$list2" || { echo "$$list2" | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(htmldir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(htmldir)" || exit $$?; \
- done; }
-install-info: install-info-recursive
-
-install-info-am: $(INFO_DEPS)
- @$(NORMAL_INSTALL)
- test -z "$(infodir)" || $(MKDIR_P) "$(DESTDIR)$(infodir)"
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
- for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- esac; \
- if test -f $$file; then d=.; else d=$(srcdir); fi; \
- file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \
- for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \
- $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \
- if test -f $$ifile; then \
- echo "$$ifile"; \
- else : ; fi; \
- done; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(infodir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(infodir)" || exit $$?; done
- @$(POST_INSTALL)
- @if (install-info --version && \
- install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
- list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
- for file in $$list; do \
- relfile=`echo "$$file" | sed 's|^.*/||'`; \
- echo " install-info --info-dir='$(DESTDIR)$(infodir)' '$(DESTDIR)$(infodir)/$$relfile'";\
- install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$relfile" || :;\
- done; \
- else : ; fi
-install-man:
-
-install-pdf-am: $(PDFS)
- @$(NORMAL_INSTALL)
- test -z "$(pdfdir)" || $(MKDIR_P) "$(DESTDIR)$(pdfdir)"
- @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \
- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- echo "$$d$$p"; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pdfdir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(pdfdir)" || exit $$?; done
-install-ps: install-ps-recursive
-
-install-ps-am: $(PSS)
- @$(NORMAL_INSTALL)
- test -z "$(psdir)" || $(MKDIR_P) "$(DESTDIR)$(psdir)"
- @list='$(PSS)'; test -n "$(psdir)" || list=; \
- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- echo "$$d$$p"; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(psdir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(psdir)" || exit $$?; done
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f $(am__CONFIG_DISTCLEAN_FILES)
- -rm -rf $(top_srcdir)/autom4te.cache
- -rm -rf src/$(DEPDIR) src/alpha/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/x86/$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-aminfo \
- maintainer-clean-generic maintainer-clean-vti
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-aminfo mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool mostlyclean-vti
-
-pdf: pdf-recursive
-
-pdf-am: $(PDFS)
-
-ps: ps-recursive
-
-ps-am: $(PSS)
-
-uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \
- uninstall-libLTLIBRARIES uninstall-pdf-am \
- uninstall-pkgconfigDATA uninstall-ps-am
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
- ctags-recursive install-am install-strip tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
- all all-am am--refresh check check-am clean clean-aminfo \
- clean-generic clean-libLTLIBRARIES clean-libtool \
- clean-noinstLTLIBRARIES ctags ctags-recursive dist dist-all \
- dist-bzip2 dist-gzip dist-info dist-lzma dist-shar dist-tarZ \
- dist-xz dist-zip distcheck distclean distclean-compile \
- distclean-generic distclean-hdr distclean-libtool \
- distclean-tags distcleancheck distdir distuninstallcheck dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-dvi install-dvi-am \
- install-exec install-exec-am install-html install-html-am \
- install-info install-info-am install-libLTLIBRARIES \
- install-man install-pdf install-pdf-am install-pkgconfigDATA \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs installdirs-am maintainer-clean \
- maintainer-clean-aminfo maintainer-clean-generic \
- maintainer-clean-vti mostlyclean mostlyclean-aminfo \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- mostlyclean-vti pdf pdf-am ps ps-am tags tags-recursive \
- uninstall uninstall-am uninstall-dvi-am uninstall-html-am \
- uninstall-info-am uninstall-libLTLIBRARIES uninstall-pdf-am \
- uninstall-pkgconfigDATA uninstall-ps-am
-
-
-# No install-html or install-pdf support in automake yet
-.PHONY: install-html install-pdf
-install-html:
-install-pdf:
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/.pc/autoconf-archive-update/aclocal.m4 b/.pc/autoconf-archive-update/aclocal.m4
deleted file mode 100644
index 15f8de3..0000000
--- a/.pc/autoconf-archive-update/aclocal.m4
+++ /dev/null
@@ -1,1866 +0,0 @@
-# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-m4_ifndef([AC_AUTOCONF_VERSION],
- [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.68],,
-[m4_warning([this file was generated for autoconf 2.68.
-You have another version of autoconf. It may work, but is not guaranteed to.
-If you have problems, you may need to regenerate the build system entirely.
-To do so, use the procedure documented by the package, typically `autoreconf'.])])
-
-# ltdl.m4 - Configure ltdl for the target system. -*-Autoconf-*-
-#
-# Copyright (C) 1999-2006, 2007, 2008 Free Software Foundation, Inc.
-# Written by Thomas Tanner, 1999
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-# serial 18 LTDL_INIT
-
-# LT_CONFIG_LTDL_DIR(DIRECTORY, [LTDL-MODE])
-# ------------------------------------------
-# DIRECTORY contains the libltdl sources. It is okay to call this
-# function multiple times, as long as the same DIRECTORY is always given.
-AC_DEFUN([LT_CONFIG_LTDL_DIR],
-[AC_BEFORE([$0], [LTDL_INIT])
-_$0($*)
-])# LT_CONFIG_LTDL_DIR
-
-# We break this out into a separate macro, so that we can call it safely
-# internally without being caught accidentally by the sed scan in libtoolize.
-m4_defun([_LT_CONFIG_LTDL_DIR],
-[dnl remove trailing slashes
-m4_pushdef([_ARG_DIR], m4_bpatsubst([$1], [/*$]))
-m4_case(_LTDL_DIR,
- [], [dnl only set lt_ltdl_dir if _ARG_DIR is not simply `.'
- m4_if(_ARG_DIR, [.],
- [],
- [m4_define([_LTDL_DIR], _ARG_DIR)
- _LT_SHELL_INIT([lt_ltdl_dir=']_ARG_DIR['])])],
- [m4_if(_ARG_DIR, _LTDL_DIR,
- [],
- [m4_fatal([multiple libltdl directories: `]_LTDL_DIR[', `]_ARG_DIR['])])])
-m4_popdef([_ARG_DIR])
-])# _LT_CONFIG_LTDL_DIR
-
-# Initialise:
-m4_define([_LTDL_DIR], [])
-
-
-# _LT_BUILD_PREFIX
-# ----------------
-# If Autoconf is new enough, expand to `${top_build_prefix}', otherwise
-# to `${top_builddir}/'.
-m4_define([_LT_BUILD_PREFIX],
-[m4_ifdef([AC_AUTOCONF_VERSION],
- [m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]), [2.62]),
- [-1], [m4_ifdef([_AC_HAVE_TOP_BUILD_PREFIX],
- [${top_build_prefix}],
- [${top_builddir}/])],
- [${top_build_prefix}])],
- [${top_builddir}/])[]dnl
-])
-
-
-# LTDL_CONVENIENCE
-# ----------------
-# sets LIBLTDL to the link flags for the libltdl convenience library and
-# LTDLINCL to the include flags for the libltdl header and adds
-# --enable-ltdl-convenience to the configure arguments. Note that
-# AC_CONFIG_SUBDIRS is not called here. LIBLTDL will be prefixed with
-# '${top_build_prefix}' if available, otherwise with '${top_builddir}/',
-# and LTDLINCL will be prefixed with '${top_srcdir}/' (note the single
-# quotes!). If your package is not flat and you're not using automake,
-# define top_build_prefix, top_builddir, and top_srcdir appropriately
-# in your Makefiles.
-AC_DEFUN([LTDL_CONVENIENCE],
-[AC_BEFORE([$0], [LTDL_INIT])dnl
-dnl Although the argument is deprecated and no longer documented,
-dnl LTDL_CONVENIENCE used to take a DIRECTORY orgument, if we have one
-dnl here make sure it is the same as any other declaration of libltdl's
-dnl location! This also ensures lt_ltdl_dir is set when configure.ac is
-dnl not yet using an explicit LT_CONFIG_LTDL_DIR.
-m4_ifval([$1], [_LT_CONFIG_LTDL_DIR([$1])])dnl
-_$0()
-])# LTDL_CONVENIENCE
-
-# AC_LIBLTDL_CONVENIENCE accepted a directory argument in older libtools,
-# now we have LT_CONFIG_LTDL_DIR:
-AU_DEFUN([AC_LIBLTDL_CONVENIENCE],
-[_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])])
-_LTDL_CONVENIENCE])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBLTDL_CONVENIENCE], [])
-
-
-# _LTDL_CONVENIENCE
-# -----------------
-# Code shared by LTDL_CONVENIENCE and LTDL_INIT([convenience]).
-m4_defun([_LTDL_CONVENIENCE],
-[case $enable_ltdl_convenience in
- no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
- "") enable_ltdl_convenience=yes
- ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
-esac
-LIBLTDL='_LT_BUILD_PREFIX'"${lt_ltdl_dir+$lt_ltdl_dir/}libltdlc.la"
-LTDLDEPS=$LIBLTDL
-LTDLINCL='-I${top_srcdir}'"${lt_ltdl_dir+/$lt_ltdl_dir}"
-
-AC_SUBST([LIBLTDL])
-AC_SUBST([LTDLDEPS])
-AC_SUBST([LTDLINCL])
-
-# For backwards non-gettext consistent compatibility...
-INCLTDL="$LTDLINCL"
-AC_SUBST([INCLTDL])
-])# _LTDL_CONVENIENCE
-
-
-# LTDL_INSTALLABLE
-# ----------------
-# sets LIBLTDL to the link flags for the libltdl installable library
-# and LTDLINCL to the include flags for the libltdl header and adds
-# --enable-ltdl-install to the configure arguments. Note that
-# AC_CONFIG_SUBDIRS is not called from here. If an installed libltdl
-# is not found, LIBLTDL will be prefixed with '${top_build_prefix}' if
-# available, otherwise with '${top_builddir}/', and LTDLINCL will be
-# prefixed with '${top_srcdir}/' (note the single quotes!). If your
-# package is not flat and you're not using automake, define top_build_prefix,
-# top_builddir, and top_srcdir appropriately in your Makefiles.
-# In the future, this macro may have to be called after LT_INIT.
-AC_DEFUN([LTDL_INSTALLABLE],
-[AC_BEFORE([$0], [LTDL_INIT])dnl
-dnl Although the argument is deprecated and no longer documented,
-dnl LTDL_INSTALLABLE used to take a DIRECTORY orgument, if we have one
-dnl here make sure it is the same as any other declaration of libltdl's
-dnl location! This also ensures lt_ltdl_dir is set when configure.ac is
-dnl not yet using an explicit LT_CONFIG_LTDL_DIR.
-m4_ifval([$1], [_LT_CONFIG_LTDL_DIR([$1])])dnl
-_$0()
-])# LTDL_INSTALLABLE
-
-# AC_LIBLTDL_INSTALLABLE accepted a directory argument in older libtools,
-# now we have LT_CONFIG_LTDL_DIR:
-AU_DEFUN([AC_LIBLTDL_INSTALLABLE],
-[_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])])
-_LTDL_INSTALLABLE])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBLTDL_INSTALLABLE], [])
-
-
-# _LTDL_INSTALLABLE
-# -----------------
-# Code shared by LTDL_INSTALLABLE and LTDL_INIT([installable]).
-m4_defun([_LTDL_INSTALLABLE],
-[if test -f $prefix/lib/libltdl.la; then
- lt_save_LDFLAGS="$LDFLAGS"
- LDFLAGS="-L$prefix/lib $LDFLAGS"
- AC_CHECK_LIB([ltdl], [lt_dlinit], [lt_lib_ltdl=yes])
- LDFLAGS="$lt_save_LDFLAGS"
- if test x"${lt_lib_ltdl-no}" = xyes; then
- if test x"$enable_ltdl_install" != xyes; then
- # Don't overwrite $prefix/lib/libltdl.la without --enable-ltdl-install
- AC_MSG_WARN([not overwriting libltdl at $prefix, force with `--enable-ltdl-install'])
- enable_ltdl_install=no
- fi
- elif test x"$enable_ltdl_install" = xno; then
- AC_MSG_WARN([libltdl not installed, but installation disabled])
- fi
-fi
-
-# If configure.ac declared an installable ltdl, and the user didn't override
-# with --disable-ltdl-install, we will install the shipped libltdl.
-case $enable_ltdl_install in
- no) ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
- LIBLTDL="-lltdl"
- LTDLDEPS=
- LTDLINCL=
- ;;
- *) enable_ltdl_install=yes
- ac_configure_args="$ac_configure_args --enable-ltdl-install"
- LIBLTDL='_LT_BUILD_PREFIX'"${lt_ltdl_dir+$lt_ltdl_dir/}libltdl.la"
- LTDLDEPS=$LIBLTDL
- LTDLINCL='-I${top_srcdir}'"${lt_ltdl_dir+/$lt_ltdl_dir}"
- ;;
-esac
-
-AC_SUBST([LIBLTDL])
-AC_SUBST([LTDLDEPS])
-AC_SUBST([LTDLINCL])
-
-# For backwards non-gettext consistent compatibility...
-INCLTDL="$LTDLINCL"
-AC_SUBST([INCLTDL])
-])# LTDL_INSTALLABLE
-
-
-# _LTDL_MODE_DISPATCH
-# -------------------
-m4_define([_LTDL_MODE_DISPATCH],
-[dnl If _LTDL_DIR is `.', then we are configuring libltdl itself:
-m4_if(_LTDL_DIR, [],
- [],
- dnl if _LTDL_MODE was not set already, the default value is `subproject':
- [m4_case(m4_default(_LTDL_MODE, [subproject]),
- [subproject], [AC_CONFIG_SUBDIRS(_LTDL_DIR)
- _LT_SHELL_INIT([lt_dlopen_dir="$lt_ltdl_dir"])],
- [nonrecursive], [_LT_SHELL_INIT([lt_dlopen_dir="$lt_ltdl_dir"; lt_libobj_prefix="$lt_ltdl_dir/"])],
- [recursive], [],
- [m4_fatal([unknown libltdl mode: ]_LTDL_MODE)])])dnl
-dnl Be careful not to expand twice:
-m4_define([$0], [])
-])# _LTDL_MODE_DISPATCH
-
-
-# _LT_LIBOBJ(MODULE_NAME)
-# -----------------------
-# Like AC_LIBOBJ, except that MODULE_NAME goes into _LT_LIBOBJS instead
-# of into LIBOBJS.
-AC_DEFUN([_LT_LIBOBJ], [
- m4_pattern_allow([^_LT_LIBOBJS$])
- _LT_LIBOBJS="$_LT_LIBOBJS $1.$ac_objext"
-])# _LT_LIBOBJS
-
-
-# LTDL_INIT([OPTIONS])
-# --------------------
-# Clients of libltdl can use this macro to allow the installer to
-# choose between a shipped copy of the ltdl sources or a preinstalled
-# version of the library. If the shipped ltdl sources are not in a
-# subdirectory named libltdl, the directory name must be given by
-# LT_CONFIG_LTDL_DIR.
-AC_DEFUN([LTDL_INIT],
-[dnl Parse OPTIONS
-_LT_SET_OPTIONS([$0], [$1])
-
-dnl We need to keep our own list of libobjs separate from our parent project,
-dnl and the easiest way to do that is redefine the AC_LIBOBJs macro while
-dnl we look for our own LIBOBJs.
-m4_pushdef([AC_LIBOBJ], m4_defn([_LT_LIBOBJ]))
-m4_pushdef([AC_LIBSOURCES])
-
-dnl If not otherwise defined, default to the 1.5.x compatible subproject mode:
-m4_if(_LTDL_MODE, [],
- [m4_define([_LTDL_MODE], m4_default([$2], [subproject]))
- m4_if([-1], [m4_bregexp(_LTDL_MODE, [\(subproject\|\(non\)?recursive\)])],
- [m4_fatal([unknown libltdl mode: ]_LTDL_MODE)])])
-
-AC_ARG_WITH([included_ltdl],
- [AS_HELP_STRING([--with-included-ltdl],
- [use the GNU ltdl sources included here])])
-
-if test "x$with_included_ltdl" != xyes; then
- # We are not being forced to use the included libltdl sources, so
- # decide whether there is a useful installed version we can use.
- AC_CHECK_HEADER([ltdl.h],
- [AC_CHECK_DECL([lt_dlinterface_register],
- [AC_CHECK_LIB([ltdl], [lt_dladvise_preload],
- [with_included_ltdl=no],
- [with_included_ltdl=yes])],
- [with_included_ltdl=yes],
- [AC_INCLUDES_DEFAULT
- #include <ltdl.h>])],
- [with_included_ltdl=yes],
- [AC_INCLUDES_DEFAULT]
- )
-fi
-
-dnl If neither LT_CONFIG_LTDL_DIR, LTDL_CONVENIENCE nor LTDL_INSTALLABLE
-dnl was called yet, then for old times' sake, we assume libltdl is in an
-dnl eponymous directory:
-AC_PROVIDE_IFELSE([LT_CONFIG_LTDL_DIR], [], [_LT_CONFIG_LTDL_DIR([libltdl])])
-
-AC_ARG_WITH([ltdl_include],
- [AS_HELP_STRING([--with-ltdl-include=DIR],
- [use the ltdl headers installed in DIR])])
-
-if test -n "$with_ltdl_include"; then
- if test -f "$with_ltdl_include/ltdl.h"; then :
- else
- AC_MSG_ERROR([invalid ltdl include directory: `$with_ltdl_include'])
- fi
-else
- with_ltdl_include=no
-fi
-
-AC_ARG_WITH([ltdl_lib],
- [AS_HELP_STRING([--with-ltdl-lib=DIR],
- [use the libltdl.la installed in DIR])])
-
-if test -n "$with_ltdl_lib"; then
- if test -f "$with_ltdl_lib/libltdl.la"; then :
- else
- AC_MSG_ERROR([invalid ltdl library directory: `$with_ltdl_lib'])
- fi
-else
- with_ltdl_lib=no
-fi
-
-case ,$with_included_ltdl,$with_ltdl_include,$with_ltdl_lib, in
- ,yes,no,no,)
- m4_case(m4_default(_LTDL_TYPE, [convenience]),
- [convenience], [_LTDL_CONVENIENCE],
- [installable], [_LTDL_INSTALLABLE],
- [m4_fatal([unknown libltdl build type: ]_LTDL_TYPE)])
- ;;
- ,no,no,no,)
- # If the included ltdl is not to be used, then use the
- # preinstalled libltdl we found.
- AC_DEFINE([HAVE_LTDL], [1],
- [Define this if a modern libltdl is already installed])
- LIBLTDL=-lltdl
- LTDLDEPS=
- LTDLINCL=
- ;;
- ,no*,no,*)
- AC_MSG_ERROR([`--with-ltdl-include' and `--with-ltdl-lib' options must be used together])
- ;;
- *) with_included_ltdl=no
- LIBLTDL="-L$with_ltdl_lib -lltdl"
- LTDLDEPS=
- LTDLINCL="-I$with_ltdl_include"
- ;;
-esac
-INCLTDL="$LTDLINCL"
-
-# Report our decision...
-AC_MSG_CHECKING([where to find libltdl headers])
-AC_MSG_RESULT([$LTDLINCL])
-AC_MSG_CHECKING([where to find libltdl library])
-AC_MSG_RESULT([$LIBLTDL])
-
-_LTDL_SETUP
-
-dnl restore autoconf definition.
-m4_popdef([AC_LIBOBJ])
-m4_popdef([AC_LIBSOURCES])
-
-AC_CONFIG_COMMANDS_PRE([
- _ltdl_libobjs=
- _ltdl_ltlibobjs=
- if test -n "$_LT_LIBOBJS"; then
- # Remove the extension.
- _lt_sed_drop_objext='s/\.o$//;s/\.obj$//'
- for i in `for i in $_LT_LIBOBJS; do echo "$i"; done | sed "$_lt_sed_drop_objext" | sort -u`; do
- _ltdl_libobjs="$_ltdl_libobjs $lt_libobj_prefix$i.$ac_objext"
- _ltdl_ltlibobjs="$_ltdl_ltlibobjs $lt_libobj_prefix$i.lo"
- done
- fi
- AC_SUBST([ltdl_LIBOBJS], [$_ltdl_libobjs])
- AC_SUBST([ltdl_LTLIBOBJS], [$_ltdl_ltlibobjs])
-])
-
-# Only expand once:
-m4_define([LTDL_INIT])
-])# LTDL_INIT
-
-# Old names:
-AU_DEFUN([AC_LIB_LTDL], [LTDL_INIT($@)])
-AU_DEFUN([AC_WITH_LTDL], [LTDL_INIT($@)])
-AU_DEFUN([LT_WITH_LTDL], [LTDL_INIT($@)])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIB_LTDL], [])
-dnl AC_DEFUN([AC_WITH_LTDL], [])
-dnl AC_DEFUN([LT_WITH_LTDL], [])
-
-
-# _LTDL_SETUP
-# -----------
-# Perform all the checks necessary for compilation of the ltdl objects
-# -- including compiler checks and header checks. This is a public
-# interface mainly for the benefit of libltdl's own configure.ac, most
-# other users should call LTDL_INIT instead.
-AC_DEFUN([_LTDL_SETUP],
-[AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([LT_SYS_MODULE_EXT])dnl
-AC_REQUIRE([LT_SYS_MODULE_PATH])dnl
-AC_REQUIRE([LT_SYS_DLSEARCH_PATH])dnl
-AC_REQUIRE([LT_LIB_DLLOAD])dnl
-AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl
-AC_REQUIRE([LT_FUNC_DLSYM_USCORE])dnl
-AC_REQUIRE([LT_SYS_DLOPEN_DEPLIBS])dnl
-AC_REQUIRE([gl_FUNC_ARGZ])dnl
-
-m4_require([_LT_CHECK_OBJDIR])dnl
-m4_require([_LT_HEADER_DLFCN])dnl
-m4_require([_LT_CHECK_DLPREOPEN])dnl
-m4_require([_LT_DECL_SED])dnl
-
-dnl Don't require this, or it will be expanded earlier than the code
-dnl that sets the variables it relies on:
-_LT_ENABLE_INSTALL
-
-dnl _LTDL_MODE specific code must be called at least once:
-_LTDL_MODE_DISPATCH
-
-# In order that ltdl.c can compile, find out the first AC_CONFIG_HEADERS
-# the user used. This is so that ltdl.h can pick up the parent projects
-# config.h file, The first file in AC_CONFIG_HEADERS must contain the
-# definitions required by ltdl.c.
-# FIXME: Remove use of undocumented AC_LIST_HEADERS (2.59 compatibility).
-AC_CONFIG_COMMANDS_PRE([dnl
-m4_pattern_allow([^LT_CONFIG_H$])dnl
-m4_ifset([AH_HEADER],
- [LT_CONFIG_H=AH_HEADER],
- [m4_ifset([AC_LIST_HEADERS],
- [LT_CONFIG_H=`echo "AC_LIST_HEADERS" | $SED 's,^[[ ]]*,,;s,[[ :]].*$,,'`],
- [])])])
-AC_SUBST([LT_CONFIG_H])
-
-AC_CHECK_HEADERS([unistd.h dl.h sys/dl.h dld.h mach-o/dyld.h dirent.h],
- [], [], [AC_INCLUDES_DEFAULT])
-
-AC_CHECK_FUNCS([closedir opendir readdir], [], [AC_LIBOBJ([lt__dirent])])
-AC_CHECK_FUNCS([strlcat strlcpy], [], [AC_LIBOBJ([lt__strl])])
-
-m4_pattern_allow([LT_LIBEXT])dnl
-AC_DEFINE_UNQUOTED([LT_LIBEXT],["$libext"],[The archive extension])
-
-name=
-eval "lt_libprefix=\"$libname_spec\""
-m4_pattern_allow([LT_LIBPREFIX])dnl
-AC_DEFINE_UNQUOTED([LT_LIBPREFIX],["$lt_libprefix"],[The archive prefix])
-
-name=ltdl
-eval "LTDLOPEN=\"$libname_spec\""
-AC_SUBST([LTDLOPEN])
-])# _LTDL_SETUP
-
-
-# _LT_ENABLE_INSTALL
-# ------------------
-m4_define([_LT_ENABLE_INSTALL],
-[AC_ARG_ENABLE([ltdl-install],
- [AS_HELP_STRING([--enable-ltdl-install], [install libltdl])])
-
-case ,${enable_ltdl_install},${enable_ltdl_convenience} in
- *yes*) ;;
- *) enable_ltdl_convenience=yes ;;
-esac
-
-m4_ifdef([AM_CONDITIONAL],
-[AM_CONDITIONAL(INSTALL_LTDL, test x"${enable_ltdl_install-no}" != xno)
- AM_CONDITIONAL(CONVENIENCE_LTDL, test x"${enable_ltdl_convenience-no}" != xno)])
-])# _LT_ENABLE_INSTALL
-
-
-# LT_SYS_DLOPEN_DEPLIBS
-# ---------------------
-AC_DEFUN([LT_SYS_DLOPEN_DEPLIBS],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_CACHE_CHECK([whether deplibs are loaded by dlopen],
- [lt_cv_sys_dlopen_deplibs],
- [# PORTME does your system automatically load deplibs for dlopen?
- # or its logical equivalent (e.g. shl_load for HP-UX < 11)
- # For now, we just catch OSes we know something about -- in the
- # future, we'll try test this programmatically.
- lt_cv_sys_dlopen_deplibs=unknown
- case $host_os in
- aix3*|aix4.1.*|aix4.2.*)
- # Unknown whether this is true for these versions of AIX, but
- # we want this `case' here to explicitly catch those versions.
- lt_cv_sys_dlopen_deplibs=unknown
- ;;
- aix[[4-9]]*)
- lt_cv_sys_dlopen_deplibs=yes
- ;;
- amigaos*)
- case $host_cpu in
- powerpc)
- lt_cv_sys_dlopen_deplibs=no
- ;;
- esac
- ;;
- darwin*)
- # Assuming the user has installed a libdl from somewhere, this is true
- # If you are looking for one http://www.opendarwin.org/projects/dlcompat
- lt_cv_sys_dlopen_deplibs=yes
- ;;
- freebsd* | dragonfly*)
- lt_cv_sys_dlopen_deplibs=yes
- ;;
- gnu* | linux* | k*bsd*-gnu | kopensolaris*-gnu)
- # GNU and its variants, using gnu ld.so (Glibc)
- lt_cv_sys_dlopen_deplibs=yes
- ;;
- hpux10*|hpux11*)
- lt_cv_sys_dlopen_deplibs=yes
- ;;
- interix*)
- lt_cv_sys_dlopen_deplibs=yes
- ;;
- irix[[12345]]*|irix6.[[01]]*)
- # Catch all versions of IRIX before 6.2, and indicate that we don't
- # know how it worked for any of those versions.
- lt_cv_sys_dlopen_deplibs=unknown
- ;;
- irix*)
- # The case above catches anything before 6.2, and it's known that
- # at 6.2 and later dlopen does load deplibs.
- lt_cv_sys_dlopen_deplibs=yes
- ;;
- netbsd*)
- lt_cv_sys_dlopen_deplibs=yes
- ;;
- openbsd*)
- lt_cv_sys_dlopen_deplibs=yes
- ;;
- osf[[1234]]*)
- # dlopen did load deplibs (at least at 4.x), but until the 5.x series,
- # it did *not* use an RPATH in a shared library to find objects the
- # library depends on, so we explicitly say `no'.
- lt_cv_sys_dlopen_deplibs=no
- ;;
- osf5.0|osf5.0a|osf5.1)
- # dlopen *does* load deplibs and with the right loader patch applied
- # it even uses RPATH in a shared library to search for shared objects
- # that the library depends on, but there's no easy way to know if that
- # patch is installed. Since this is the case, all we can really
- # say is unknown -- it depends on the patch being installed. If
- # it is, this changes to `yes'. Without it, it would be `no'.
- lt_cv_sys_dlopen_deplibs=unknown
- ;;
- osf*)
- # the two cases above should catch all versions of osf <= 5.1. Read
- # the comments above for what we know about them.
- # At > 5.1, deplibs are loaded *and* any RPATH in a shared library
- # is used to find them so we can finally say `yes'.
- lt_cv_sys_dlopen_deplibs=yes
- ;;
- qnx*)
- lt_cv_sys_dlopen_deplibs=yes
- ;;
- solaris*)
- lt_cv_sys_dlopen_deplibs=yes
- ;;
- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- libltdl_cv_sys_dlopen_deplibs=yes
- ;;
- esac
- ])
-if test "$lt_cv_sys_dlopen_deplibs" != yes; then
- AC_DEFINE([LTDL_DLOPEN_DEPLIBS], [1],
- [Define if the OS needs help to load dependent libraries for dlopen().])
-fi
-])# LT_SYS_DLOPEN_DEPLIBS
-
-# Old name:
-AU_ALIAS([AC_LTDL_SYS_DLOPEN_DEPLIBS], [LT_SYS_DLOPEN_DEPLIBS])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LTDL_SYS_DLOPEN_DEPLIBS], [])
-
-
-# LT_SYS_MODULE_EXT
-# -----------------
-AC_DEFUN([LT_SYS_MODULE_EXT],
-[m4_require([_LT_SYS_DYNAMIC_LINKER])dnl
-AC_CACHE_CHECK([which extension is used for runtime loadable modules],
- [libltdl_cv_shlibext],
-[
-module=yes
-eval libltdl_cv_shlibext=$shrext_cmds
- ])
-if test -n "$libltdl_cv_shlibext"; then
- m4_pattern_allow([LT_MODULE_EXT])dnl
- AC_DEFINE_UNQUOTED([LT_MODULE_EXT], ["$libltdl_cv_shlibext"],
- [Define to the extension used for runtime loadable modules, say, ".so".])
-fi
-])# LT_SYS_MODULE_EXT
-
-# Old name:
-AU_ALIAS([AC_LTDL_SHLIBEXT], [LT_SYS_MODULE_EXT])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LTDL_SHLIBEXT], [])
-
-
-# LT_SYS_MODULE_PATH
-# ------------------
-AC_DEFUN([LT_SYS_MODULE_PATH],
-[m4_require([_LT_SYS_DYNAMIC_LINKER])dnl
-AC_CACHE_CHECK([which variable specifies run-time module search path],
- [lt_cv_module_path_var], [lt_cv_module_path_var="$shlibpath_var"])
-if test -n "$lt_cv_module_path_var"; then
- m4_pattern_allow([LT_MODULE_PATH_VAR])dnl
- AC_DEFINE_UNQUOTED([LT_MODULE_PATH_VAR], ["$lt_cv_module_path_var"],
- [Define to the name of the environment variable that determines the run-time module search path.])
-fi
-])# LT_SYS_MODULE_PATH
-
-# Old name:
-AU_ALIAS([AC_LTDL_SHLIBPATH], [LT_SYS_MODULE_PATH])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LTDL_SHLIBPATH], [])
-
-
-# LT_SYS_DLSEARCH_PATH
-# --------------------
-AC_DEFUN([LT_SYS_DLSEARCH_PATH],
-[m4_require([_LT_SYS_DYNAMIC_LINKER])dnl
-AC_CACHE_CHECK([for the default library search path],
- [lt_cv_sys_dlsearch_path],
- [lt_cv_sys_dlsearch_path="$sys_lib_dlsearch_path_spec"])
-if test -n "$lt_cv_sys_dlsearch_path"; then
- sys_dlsearch_path=
- for dir in $lt_cv_sys_dlsearch_path; do
- if test -z "$sys_dlsearch_path"; then
- sys_dlsearch_path="$dir"
- else
- sys_dlsearch_path="$sys_dlsearch_path$PATH_SEPARATOR$dir"
- fi
- done
- m4_pattern_allow([LT_DLSEARCH_PATH])dnl
- AC_DEFINE_UNQUOTED([LT_DLSEARCH_PATH], ["$sys_dlsearch_path"],
- [Define to the system default library search path.])
-fi
-])# LT_SYS_DLSEARCH_PATH
-
-# Old name:
-AU_ALIAS([AC_LTDL_SYSSEARCHPATH], [LT_SYS_DLSEARCH_PATH])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LTDL_SYSSEARCHPATH], [])
-
-
-# _LT_CHECK_DLPREOPEN
-# -------------------
-m4_defun([_LT_CHECK_DLPREOPEN],
-[m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
-AC_CACHE_CHECK([whether libtool supports -dlopen/-dlpreopen],
- [libltdl_cv_preloaded_symbols],
- [if test -n "$lt_cv_sys_global_symbol_pipe"; then
- libltdl_cv_preloaded_symbols=yes
- else
- libltdl_cv_preloaded_symbols=no
- fi
- ])
-if test x"$libltdl_cv_preloaded_symbols" = xyes; then
- AC_DEFINE([HAVE_PRELOADED_SYMBOLS], [1],
- [Define if libtool can extract symbol lists from object files.])
-fi
-])# _LT_CHECK_DLPREOPEN
-
-
-# LT_LIB_DLLOAD
-# -------------
-AC_DEFUN([LT_LIB_DLLOAD],
-[m4_pattern_allow([^LT_DLLOADERS$])
-LT_DLLOADERS=
-AC_SUBST([LT_DLLOADERS])
-
-AC_LANG_PUSH([C])
-
-LIBADD_DLOPEN=
-AC_SEARCH_LIBS([dlopen], [dl],
- [AC_DEFINE([HAVE_LIBDL], [1],
- [Define if you have the libdl library or equivalent.])
- if test "$ac_cv_search_dlopen" != "none required" ; then
- LIBADD_DLOPEN="-ldl"
- fi
- libltdl_cv_lib_dl_dlopen="yes"
- LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"],
- [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#if HAVE_DLFCN_H
-# include <dlfcn.h>
-#endif
- ]], [[dlopen(0, 0);]])],
- [AC_DEFINE([HAVE_LIBDL], [1],
- [Define if you have the libdl library or equivalent.])
- libltdl_cv_func_dlopen="yes"
- LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"],
- [AC_CHECK_LIB([svld], [dlopen],
- [AC_DEFINE([HAVE_LIBDL], [1],
- [Define if you have the libdl library or equivalent.])
- LIBADD_DLOPEN="-lsvld" libltdl_cv_func_dlopen="yes"
- LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"])])])
-if test x"$libltdl_cv_func_dlopen" = xyes || test x"$libltdl_cv_lib_dl_dlopen" = xyes
-then
- lt_save_LIBS="$LIBS"
- LIBS="$LIBS $LIBADD_DLOPEN"
- AC_CHECK_FUNCS([dlerror])
- LIBS="$lt_save_LIBS"
-fi
-AC_SUBST([LIBADD_DLOPEN])
-
-LIBADD_SHL_LOAD=
-AC_CHECK_FUNC([shl_load],
- [AC_DEFINE([HAVE_SHL_LOAD], [1],
- [Define if you have the shl_load function.])
- LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la"],
- [AC_CHECK_LIB([dld], [shl_load],
- [AC_DEFINE([HAVE_SHL_LOAD], [1],
- [Define if you have the shl_load function.])
- LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la"
- LIBADD_SHL_LOAD="-ldld"])])
-AC_SUBST([LIBADD_SHL_LOAD])
-
-case $host_os in
-darwin[[1567]].*)
-# We only want this for pre-Mac OS X 10.4.
- AC_CHECK_FUNC([_dyld_func_lookup],
- [AC_DEFINE([HAVE_DYLD], [1],
- [Define if you have the _dyld_func_lookup function.])
- LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dyld.la"])
- ;;
-beos*)
- LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}load_add_on.la"
- ;;
-cygwin* | mingw* | os2* | pw32*)
- AC_CHECK_DECLS([cygwin_conv_path], [], [], [[#include <sys/cygwin.h>]])
- LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}loadlibrary.la"
- ;;
-esac
-
-AC_CHECK_LIB([dld], [dld_link],
- [AC_DEFINE([HAVE_DLD], [1],
- [Define if you have the GNU dld library.])
- LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dld_link.la"])
-AC_SUBST([LIBADD_DLD_LINK])
-
-m4_pattern_allow([^LT_DLPREOPEN$])
-LT_DLPREOPEN=
-if test -n "$LT_DLLOADERS"
-then
- for lt_loader in $LT_DLLOADERS; do
- LT_DLPREOPEN="$LT_DLPREOPEN-dlpreopen $lt_loader "
- done
- AC_DEFINE([HAVE_LIBDLLOADER], [1],
- [Define if libdlloader will be built on this platform])
-fi
-AC_SUBST([LT_DLPREOPEN])
-
-dnl This isn't used anymore, but set it for backwards compatibility
-LIBADD_DL="$LIBADD_DLOPEN $LIBADD_SHL_LOAD"
-AC_SUBST([LIBADD_DL])
-
-AC_LANG_POP
-])# LT_LIB_DLLOAD
-
-# Old name:
-AU_ALIAS([AC_LTDL_DLLIB], [LT_LIB_DLLOAD])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LTDL_DLLIB], [])
-
-
-# LT_SYS_SYMBOL_USCORE
-# --------------------
-# does the compiler prefix global symbols with an underscore?
-AC_DEFUN([LT_SYS_SYMBOL_USCORE],
-[m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
-AC_CACHE_CHECK([for _ prefix in compiled symbols],
- [lt_cv_sys_symbol_underscore],
- [lt_cv_sys_symbol_underscore=no
- cat > conftest.$ac_ext <<_LT_EOF
-void nm_test_func(){}
-int main(){nm_test_func;return 0;}
-_LT_EOF
- if AC_TRY_EVAL(ac_compile); then
- # Now try to grab the symbols.
- ac_nlist=conftest.nm
- if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) && test -s "$ac_nlist"; then
- # See whether the symbols have a leading underscore.
- if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then
- lt_cv_sys_symbol_underscore=yes
- else
- if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then
- :
- else
- echo "configure: cannot find nm_test_func in $ac_nlist" >&AS_MESSAGE_LOG_FD
- fi
- fi
- else
- echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
- fi
- else
- echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD
- cat conftest.c >&AS_MESSAGE_LOG_FD
- fi
- rm -rf conftest*
- ])
- sys_symbol_underscore=$lt_cv_sys_symbol_underscore
- AC_SUBST([sys_symbol_underscore])
-])# LT_SYS_SYMBOL_USCORE
-
-# Old name:
-AU_ALIAS([AC_LTDL_SYMBOL_USCORE], [LT_SYS_SYMBOL_USCORE])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LTDL_SYMBOL_USCORE], [])
-
-
-# LT_FUNC_DLSYM_USCORE
-# --------------------
-AC_DEFUN([LT_FUNC_DLSYM_USCORE],
-[AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl
-if test x"$lt_cv_sys_symbol_underscore" = xyes; then
- if test x"$libltdl_cv_func_dlopen" = xyes ||
- test x"$libltdl_cv_lib_dl_dlopen" = xyes ; then
- AC_CACHE_CHECK([whether we have to add an underscore for dlsym],
- [libltdl_cv_need_uscore],
- [libltdl_cv_need_uscore=unknown
- save_LIBS="$LIBS"
- LIBS="$LIBS $LIBADD_DLOPEN"
- _LT_TRY_DLOPEN_SELF(
- [libltdl_cv_need_uscore=no], [libltdl_cv_need_uscore=yes],
- [], [libltdl_cv_need_uscore=cross])
- LIBS="$save_LIBS"
- ])
- fi
-fi
-
-if test x"$libltdl_cv_need_uscore" = xyes; then
- AC_DEFINE([NEED_USCORE], [1],
- [Define if dlsym() requires a leading underscore in symbol names.])
-fi
-])# LT_FUNC_DLSYM_USCORE
-
-# Old name:
-AU_ALIAS([AC_LTDL_DLSYM_USCORE], [LT_FUNC_DLSYM_USCORE])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LTDL_DLSYM_USCORE], [])
-
-# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_AUTOMAKE_VERSION(VERSION)
-# ----------------------------
-# Automake X.Y traces this macro to ensure aclocal.m4 has been
-# generated from the m4 files accompanying Automake X.Y.
-# (This private macro should not be called outside this file.)
-AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.11'
-dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
-dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.11.1], [],
- [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
-])
-
-# _AM_AUTOCONF_VERSION(VERSION)
-# -----------------------------
-# aclocal traces this macro to find the Autoconf version.
-# This is a private macro too. Using m4_define simplifies
-# the logic in aclocal, which can simply ignore this definition.
-m4_define([_AM_AUTOCONF_VERSION], [])
-
-# AM_SET_CURRENT_AUTOMAKE_VERSION
-# -------------------------------
-# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
-# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
-AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11.1])dnl
-m4_ifndef([AC_AUTOCONF_VERSION],
- [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
-
-# Figure out how to run the assembler. -*- Autoconf -*-
-
-# Copyright (C) 2001, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 5
-
-# AM_PROG_AS
-# ----------
-AC_DEFUN([AM_PROG_AS],
-[# By default we simply use the C compiler to build assembly code.
-AC_REQUIRE([AC_PROG_CC])
-test "${CCAS+set}" = set || CCAS=$CC
-test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
-AC_ARG_VAR([CCAS], [assembler compiler command (defaults to CC)])
-AC_ARG_VAR([CCASFLAGS], [assembler compiler flags (defaults to CFLAGS)])
-_AM_IF_OPTION([no-dependencies],, [_AM_DEPENDENCIES([CCAS])])dnl
-])
-
-# AM_AUX_DIR_EXPAND -*- Autoconf -*-
-
-# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
-# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
-#
-# Of course, Automake must honor this variable whenever it calls a
-# tool from the auxiliary directory. The problem is that $srcdir (and
-# therefore $ac_aux_dir as well) can be either absolute or relative,
-# depending on how configure is run. This is pretty annoying, since
-# it makes $ac_aux_dir quite unusable in subdirectories: in the top
-# source directory, any form will work fine, but in subdirectories a
-# relative path needs to be adjusted first.
-#
-# $ac_aux_dir/missing
-# fails when called from a subdirectory if $ac_aux_dir is relative
-# $top_srcdir/$ac_aux_dir/missing
-# fails if $ac_aux_dir is absolute,
-# fails when called from a subdirectory in a VPATH build with
-# a relative $ac_aux_dir
-#
-# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
-# are both prefixed by $srcdir. In an in-source build this is usually
-# harmless because $srcdir is `.', but things will broke when you
-# start a VPATH build or use an absolute $srcdir.
-#
-# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
-# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
-# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
-# and then we would define $MISSING as
-# MISSING="\${SHELL} $am_aux_dir/missing"
-# This will work as long as MISSING is not called from configure, because
-# unfortunately $(top_srcdir) has no meaning in configure.
-# However there are other variables, like CC, which are often used in
-# configure, and could therefore not use this "fixed" $ac_aux_dir.
-#
-# Another solution, used here, is to always expand $ac_aux_dir to an
-# absolute PATH. The drawback is that using absolute paths prevent a
-# configured tree to be moved without reconfiguration.
-
-AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-])
-
-# AM_CONDITIONAL -*- Autoconf -*-
-
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 9
-
-# AM_CONDITIONAL(NAME, SHELL-CONDITION)
-# -------------------------------------
-# Define a conditional.
-AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
- [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
-AC_SUBST([$1_TRUE])dnl
-AC_SUBST([$1_FALSE])dnl
-_AM_SUBST_NOTMAKE([$1_TRUE])dnl
-_AM_SUBST_NOTMAKE([$1_FALSE])dnl
-m4_define([_AM_COND_VALUE_$1], [$2])dnl
-if $2; then
- $1_TRUE=
- $1_FALSE='#'
-else
- $1_TRUE='#'
- $1_FALSE=
-fi
-AC_CONFIG_COMMANDS_PRE(
-[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
- AC_MSG_ERROR([[conditional "$1" was never defined.
-Usually this means the macro was only invoked conditionally.]])
-fi])])
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 10
-
-# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
-# written in clear, in which case automake, when reading aclocal.m4,
-# will think it sees a *use*, and therefore will trigger all it's
-# C support machinery. Also note that it means that autoscan, seeing
-# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
-
-
-# _AM_DEPENDENCIES(NAME)
-# ----------------------
-# See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "GCJ", or "OBJC".
-# We try a few techniques and use that to set a single cache variable.
-#
-# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
-# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
-# dependency, and given that the user is not expected to run this macro,
-# just rely on AC_PROG_CC.
-AC_DEFUN([_AM_DEPENDENCIES],
-[AC_REQUIRE([AM_SET_DEPDIR])dnl
-AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
-AC_REQUIRE([AM_MAKE_INCLUDE])dnl
-AC_REQUIRE([AM_DEP_TRACK])dnl
-
-ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
- [$1], CXX, [depcc="$CXX" am_compiler_list=],
- [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
- [$1], UPC, [depcc="$UPC" am_compiler_list=],
- [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
- [depcc="$$1" am_compiler_list=])
-
-AC_CACHE_CHECK([dependency style of $depcc],
- [am_cv_$1_dependencies_compiler_type],
-[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_$1_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
- fi
- am__universal=false
- m4_case([$1], [CC],
- [case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac],
- [CXX],
- [case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac])
-
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs
- am__obj=sub/conftest.${OBJEXT-o}
- am__minus_obj="-o $am__obj"
- case $depmode in
- gcc)
- # This depmode causes a compiler race in universal mode.
- test "$am__universal" = false || continue
- ;;
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- msvisualcpp | msvcmsys)
- # This compiler won't grok `-c -o', but also, the minuso test has
- # not run yet. These depmodes are late enough in the game, and
- # so weak that their functioning should not be impacted.
- am__obj=conftest.${OBJEXT-o}
- am__minus_obj=
- ;;
- none) break ;;
- esac
- if depmode=$depmode \
- source=sub/conftest.c object=$am__obj \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_$1_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_$1_dependencies_compiler_type=none
-fi
-])
-AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
-AM_CONDITIONAL([am__fastdep$1], [
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
-])
-
-
-# AM_SET_DEPDIR
-# -------------
-# Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES
-AC_DEFUN([AM_SET_DEPDIR],
-[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
-])
-
-
-# AM_DEP_TRACK
-# ------------
-AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE(dependency-tracking,
-[ --disable-dependency-tracking speeds up one-time build
- --enable-dependency-tracking do not reject slow dependency extractors])
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
-fi
-AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
-AC_SUBST([AMDEPBACKSLASH])dnl
-_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
-])
-
-# Generate code to set up dependency tracking. -*- Autoconf -*-
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-#serial 5
-
-# _AM_OUTPUT_DEPENDENCY_COMMANDS
-# ------------------------------
-AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-[{
- # Autoconf 2.62 quotes --file arguments for eval, but not when files
- # are listed without --file. Let's play safe and only enable the eval
- # if we detect the quoting.
- case $CONFIG_FILES in
- *\'*) eval set x "$CONFIG_FILES" ;;
- *) set x $CONFIG_FILES ;;
- esac
- shift
- for mf
- do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # Grep'ing the whole file is not good either: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
- dirpart=`AS_DIRNAME("$mf")`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`AS_DIRNAME(["$file"])`
- AS_MKDIR_P([$dirpart/$fdir])
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
- done
-}
-])# _AM_OUTPUT_DEPENDENCY_COMMANDS
-
-
-# AM_OUTPUT_DEPENDENCY_COMMANDS
-# -----------------------------
-# This macro should only be invoked once -- use via AC_REQUIRE.
-#
-# This code is only required when automatic dependency tracking
-# is enabled. FIXME. This creates each `.P' file that we will
-# need in order to bootstrap the dependency handling code.
-AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
-[AC_CONFIG_COMMANDS([depfiles],
- [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
- [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
-])
-
-# Do all the work for Automake. -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 16
-
-# This macro actually does too much. Some checks are only needed if
-# your package does certain things. But this isn't really a big deal.
-
-# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
-# AM_INIT_AUTOMAKE([OPTIONS])
-# -----------------------------------------------
-# The call with PACKAGE and VERSION arguments is the old style
-# call (pre autoconf-2.50), which is being phased out. PACKAGE
-# and VERSION should now be passed to AC_INIT and removed from
-# the call to AM_INIT_AUTOMAKE.
-# We support both call styles for the transition. After
-# the next Automake release, Autoconf can make the AC_INIT
-# arguments mandatory, and then we can depend on a new Autoconf
-# release and drop the old call support.
-AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.62])dnl
-dnl Autoconf wants to disallow AM_ names. We explicitly allow
-dnl the ones we care about.
-m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
-AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
-AC_REQUIRE([AC_PROG_INSTALL])dnl
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
- # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
- # is not polluted with repeated "-I."
- AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
- # test to see if srcdir already configured
- if test -f $srcdir/config.status; then
- AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
- fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
- if (cygpath --version) >/dev/null 2>/dev/null; then
- CYGPATH_W='cygpath -w'
- else
- CYGPATH_W=echo
- fi
-fi
-AC_SUBST([CYGPATH_W])
-
-# Define the identity of the package.
-dnl Distinguish between old-style and new-style calls.
-m4_ifval([$2],
-[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
- AC_SUBST([PACKAGE], [$1])dnl
- AC_SUBST([VERSION], [$2])],
-[_AM_SET_OPTIONS([$1])dnl
-dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
-m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
- [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
-
-_AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
- AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
-
-# Some tools Automake needs.
-AC_REQUIRE([AM_SANITY_CHECK])dnl
-AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
-AM_MISSING_PROG(AUTOCONF, autoconf)
-AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
-AM_MISSING_PROG(AUTOHEADER, autoheader)
-AM_MISSING_PROG(MAKEINFO, makeinfo)
-AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
-AC_REQUIRE([AM_PROG_MKDIR_P])dnl
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
-AC_REQUIRE([AC_PROG_AWK])dnl
-AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
- [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
- [_AM_PROG_TAR([v7])])])
-_AM_IF_OPTION([no-dependencies],,
-[AC_PROVIDE_IFELSE([AC_PROG_CC],
- [_AM_DEPENDENCIES(CC)],
- [define([AC_PROG_CC],
- defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_CXX],
- [_AM_DEPENDENCIES(CXX)],
- [define([AC_PROG_CXX],
- defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_OBJC],
- [_AM_DEPENDENCIES(OBJC)],
- [define([AC_PROG_OBJC],
- defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
-])
-_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
-dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
-dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro
-dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
-AC_CONFIG_COMMANDS_PRE(dnl
-[m4_provide_if([_AM_COMPILER_EXEEXT],
- [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
-])
-
-dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
-dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
-dnl mangled by Autoconf and run in a shell conditional statement.
-m4_define([_AC_COMPILER_EXEEXT],
-m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
-
-
-# When config.status generates a header, we must update the stamp-h file.
-# This file resides in the same directory as the config header
-# that is generated. The stamp files are numbered to have different names.
-
-# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
-# loop where config.status creates the headers, so we can generate
-# our stamp files there.
-AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
-[# Compute $1's index in $config_headers.
-_am_arg=$1
-_am_stamp_count=1
-for _am_header in $config_headers :; do
- case $_am_header in
- $_am_arg | $_am_arg:* )
- break ;;
- * )
- _am_stamp_count=`expr $_am_stamp_count + 1` ;;
- esac
-done
-echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-
-# Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_INSTALL_SH
-# ------------------
-# Define $install_sh.
-AC_DEFUN([AM_PROG_INSTALL_SH],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-if test x"${install_sh}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
- *)
- install_sh="\${SHELL} $am_aux_dir/install-sh"
- esac
-fi
-AC_SUBST(install_sh)])
-
-# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# Check whether the underlying file-system supports filenames
-# with a leading dot. For instance MS-DOS doesn't.
-AC_DEFUN([AM_SET_LEADING_DOT],
-[rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
- am__leading_dot=.
-else
- am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-AC_SUBST([am__leading_dot])])
-
-# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
-# From Jim Meyering
-
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 5
-
-# AM_MAINTAINER_MODE([DEFAULT-MODE])
-# ----------------------------------
-# Control maintainer-specific portions of Makefiles.
-# Default is to disable them, unless `enable' is passed literally.
-# For symmetry, `disable' may be passed as well. Anyway, the user
-# can override the default with the --enable/--disable switch.
-AC_DEFUN([AM_MAINTAINER_MODE],
-[m4_case(m4_default([$1], [disable]),
- [enable], [m4_define([am_maintainer_other], [disable])],
- [disable], [m4_define([am_maintainer_other], [enable])],
- [m4_define([am_maintainer_other], [enable])
- m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
-AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
- dnl maintainer-mode's default is 'disable' unless 'enable' is passed
- AC_ARG_ENABLE([maintainer-mode],
-[ --][am_maintainer_other][-maintainer-mode am_maintainer_other make rules and dependencies not useful
- (and sometimes confusing) to the casual installer],
- [USE_MAINTAINER_MODE=$enableval],
- [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
- AC_MSG_RESULT([$USE_MAINTAINER_MODE])
- AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
- MAINT=$MAINTAINER_MODE_TRUE
- AC_SUBST([MAINT])dnl
-]
-)
-
-AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
-
-# Check to see how 'make' treats includes. -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 4
-
-# AM_MAKE_INCLUDE()
-# -----------------
-# Check to see how make treats includes.
-AC_DEFUN([AM_MAKE_INCLUDE],
-[am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
- @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-AC_MSG_CHECKING([for style of include used by $am_make])
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
- am__include=include
- am__quote=
- _am_result=GNU
- ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- case `$am_make -s -f confmf 2> /dev/null` in #(
- *the\ am__doit\ target*)
- am__include=.include
- am__quote="\""
- _am_result=BSD
- ;;
- esac
-fi
-AC_SUBST([am__include])
-AC_SUBST([am__quote])
-AC_MSG_RESULT([$_am_result])
-rm -f confinc confmf
-])
-
-# Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 6
-
-# AM_PROG_CC_C_O
-# --------------
-# Like AC_PROG_CC_C_O, but changed for automake.
-AC_DEFUN([AM_PROG_CC_C_O],
-[AC_REQUIRE([AC_PROG_CC_C_O])dnl
-AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([compile])dnl
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
- # Losing compiler, so override with the script.
- # FIXME: It is wrong to rewrite CC.
- # But if we don't then we get into trouble of one sort or another.
- # A longer-term fix would be to have automake use am__CC in this case,
- # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
- CC="$am_aux_dir/compile $CC"
-fi
-dnl Make sure AC_PROG_CC is never called again, or it will override our
-dnl setting of CC.
-m4_define([AC_PROG_CC],
- [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])])
-])
-
-# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 6
-
-# AM_MISSING_PROG(NAME, PROGRAM)
-# ------------------------------
-AC_DEFUN([AM_MISSING_PROG],
-[AC_REQUIRE([AM_MISSING_HAS_RUN])
-$1=${$1-"${am_missing_run}$2"}
-AC_SUBST($1)])
-
-
-# AM_MISSING_HAS_RUN
-# ------------------
-# Define MISSING if not defined so far and test if it supports --run.
-# If it does, set am_missing_run to use it, otherwise, to nothing.
-AC_DEFUN([AM_MISSING_HAS_RUN],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([missing])dnl
-if test x"${MISSING+set}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
- *)
- MISSING="\${SHELL} $am_aux_dir/missing" ;;
- esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
-else
- am_missing_run=
- AC_MSG_WARN([`missing' script is too old or missing])
-fi
-])
-
-# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_MKDIR_P
-# ---------------
-# Check for `mkdir -p'.
-AC_DEFUN([AM_PROG_MKDIR_P],
-[AC_PREREQ([2.60])dnl
-AC_REQUIRE([AC_PROG_MKDIR_P])dnl
-dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
-dnl while keeping a definition of mkdir_p for backward compatibility.
-dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
-dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
-dnl Makefile.ins that do not define MKDIR_P, so we do our own
-dnl adjustment using top_builddir (which is defined more often than
-dnl MKDIR_P).
-AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
-case $mkdir_p in
- [[\\/$]]* | ?:[[\\/]]*) ;;
- */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-])
-
-# Helper functions for option handling. -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 4
-
-# _AM_MANGLE_OPTION(NAME)
-# -----------------------
-AC_DEFUN([_AM_MANGLE_OPTION],
-[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
-
-# _AM_SET_OPTION(NAME)
-# ------------------------------
-# Set option NAME. Presently that only means defining a flag for this option.
-AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
-
-# _AM_SET_OPTIONS(OPTIONS)
-# ----------------------------------
-# OPTIONS is a space-separated list of Automake options.
-AC_DEFUN([_AM_SET_OPTIONS],
-[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
-
-# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
-# -------------------------------------------
-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-AC_DEFUN([_AM_IF_OPTION],
-[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-
-# Check to make sure that the build environment is sane. -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 5
-
-# AM_SANITY_CHECK
-# ---------------
-AC_DEFUN([AM_SANITY_CHECK],
-[AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name. Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
- *[[\\\"\#\$\&\'\`$am_lf]]*)
- AC_MSG_ERROR([unsafe absolute working directory name]);;
-esac
-case $srcdir in
- *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
- AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
-esac
-
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
- if test "$[*]" = "X"; then
- # -L didn't work.
- set X `ls -t "$srcdir/configure" conftest.file`
- fi
- rm -f conftest.file
- if test "$[*]" != "X $srcdir/configure conftest.file" \
- && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
-alias in your environment])
- fi
-
- test "$[2]" = conftest.file
- )
-then
- # Ok.
- :
-else
- AC_MSG_ERROR([newly created file is older than distributed files!
-Check your system clock])
-fi
-AC_MSG_RESULT(yes)])
-
-# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_INSTALL_STRIP
-# ---------------------
-# One issue with vendor `install' (even GNU) is that you can't
-# specify the program used to strip binaries. This is especially
-# annoying in cross-compiling environments, where the build's strip
-# is unlikely to handle the host's binaries.
-# Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in `make install-strip', and initialize
-# STRIPPROG with the value of the STRIP variable (set by the user).
-AC_DEFUN([AM_PROG_INSTALL_STRIP],
-[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
-if test "$cross_compiling" != no; then
- AC_CHECK_TOOL([STRIP], [strip], :)
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-AC_SUBST([INSTALL_STRIP_PROGRAM])])
-
-# Copyright (C) 2006, 2008 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# _AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
-# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
-# This macro is traced by Automake.
-AC_DEFUN([_AM_SUBST_NOTMAKE])
-
-# AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
-# Public sister of _AM_SUBST_NOTMAKE.
-AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
-
-# Check how to create a tarball. -*- Autoconf -*-
-
-# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# _AM_PROG_TAR(FORMAT)
-# --------------------
-# Check how to create a tarball in format FORMAT.
-# FORMAT should be one of `v7', `ustar', or `pax'.
-#
-# Substitute a variable $(am__tar) that is a command
-# writing to stdout a FORMAT-tarball containing the directory
-# $tardir.
-# tardir=directory && $(am__tar) > result.tar
-#
-# Substitute a variable $(am__untar) that extract such
-# a tarball read from stdin.
-# $(am__untar) < result.tar
-AC_DEFUN([_AM_PROG_TAR],
-[# Always define AMTAR for backward compatibility.
-AM_MISSING_PROG([AMTAR], [tar])
-m4_if([$1], [v7],
- [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
- [m4_case([$1], [ustar],, [pax],,
- [m4_fatal([Unknown tar format])])
-AC_MSG_CHECKING([how to create a $1 tar archive])
-# Loop over all known methods to create a tar archive until one works.
-_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-_am_tools=${am_cv_prog_tar_$1-$_am_tools}
-# Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of `-'.
-for _am_tool in $_am_tools
-do
- case $_am_tool in
- gnutar)
- for _am_tar in tar gnutar gtar;
- do
- AM_RUN_LOG([$_am_tar --version]) && break
- done
- am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
- am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
- am__untar="$_am_tar -xf -"
- ;;
- plaintar)
- # Must skip GNU tar: if it does not support --format= it doesn't create
- # ustar tarball either.
- (tar --version) >/dev/null 2>&1 && continue
- am__tar='tar chf - "$$tardir"'
- am__tar_='tar chf - "$tardir"'
- am__untar='tar xf -'
- ;;
- pax)
- am__tar='pax -L -x $1 -w "$$tardir"'
- am__tar_='pax -L -x $1 -w "$tardir"'
- am__untar='pax -r'
- ;;
- cpio)
- am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
- am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
- am__untar='cpio -i -H $1 -d'
- ;;
- none)
- am__tar=false
- am__tar_=false
- am__untar=false
- ;;
- esac
-
- # If the value was cached, stop now. We just wanted to have am__tar
- # and am__untar set.
- test -n "${am_cv_prog_tar_$1}" && break
-
- # tar/untar a dummy directory, and stop if the command works
- rm -rf conftest.dir
- mkdir conftest.dir
- echo GrepMe > conftest.dir/file
- AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
- rm -rf conftest.dir
- if test -s conftest.tar; then
- AM_RUN_LOG([$am__untar <conftest.tar])
- grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
- fi
-done
-rm -rf conftest.dir
-
-AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
-AC_MSG_RESULT([$am_cv_prog_tar_$1])])
-AC_SUBST([am__tar])
-AC_SUBST([am__untar])
-]) # _AM_PROG_TAR
-
-m4_include([m4/asmcfi.m4])
-m4_include([m4/libtool.m4])
-m4_include([m4/ltoptions.m4])
-m4_include([m4/ltsugar.m4])
-m4_include([m4/ltversion.m4])
-m4_include([m4/lt~obsolete.m4])
-m4_include([acinclude.m4])
diff --git a/.pc/autoconf-archive-update/configure b/.pc/autoconf-archive-update/configure
deleted file mode 100755
index cf6995e..0000000
--- a/.pc/autoconf-archive-update/configure
+++ /dev/null
@@ -1,16065 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for libffi 3.0.11-rc2.
-#
-# Report bugs to <http://github.com/atgreen/libffi/issues>.
-#
-#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-# Foundation, Inc.
-#
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in #(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test "x$CONFIG_SHELL" = x; then
- as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '\${1+\"\$@\"}'='\"\$@\"'
- setopt NO_GLOB_SUBST
-else
- case \`(set -o) 2>/dev/null\` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-"
- as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-
-else
- exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1"
- as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
- as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
- eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
- test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-
- test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
- ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
- ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
- ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
- PATH=/empty FPATH=/empty; export PATH FPATH
- test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
- || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
- if (eval "$as_required") 2>/dev/null; then :
- as_have_required=yes
-else
- as_have_required=no
-fi
- if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- as_found=:
- case $as_dir in #(
- /*)
- for as_base in sh bash ksh sh5; do
- # Try only shells that exist, to save several forks.
- as_shell=$as_dir/$as_base
- if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
- CONFIG_SHELL=$as_shell as_have_required=yes
- if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
- break 2
-fi
-fi
- done;;
- esac
- as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
- CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
- if test "x$CONFIG_SHELL" != x; then :
- # We cannot yet assume a decent shell, so we have to provide a
- # neutralization value for shells without unset; and this also
- # works around shells that cannot unset nonexistent variables.
- # Preserve -v and -x to the replacement shell.
- BASH_ENV=/dev/null
- ENV=/dev/null
- (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
- export CONFIG_SHELL
- case $- in # ((((
- *v*x* | *x*v* ) as_opts=-vx ;;
- *v* ) as_opts=-v ;;
- *x* ) as_opts=-x ;;
- * ) as_opts= ;;
- esac
- exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
-fi
-
- if test x$as_have_required = xno; then :
- $as_echo "$0: This script requires a shell more modern than all"
- $as_echo "$0: the shells that I found on your system."
- if test x${ZSH_VERSION+set} = xset ; then
- $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
- $as_echo "$0: be upgraded to zsh 4.3.4 or later."
- else
- $as_echo "$0: Please tell bug-autoconf@gnu.org and
-$0: http://github.com/atgreen/libffi/issues about your
-$0: system, including any error possibly output before this
-$0: message. Then install a modern shell, or manually run
-$0: the script under such a shell if you do have one."
- fi
- exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} # as_fn_exit
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- fi
- $as_echo "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} # as_fn_error
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
- as_lineno_1=$LINENO as_lineno_1a=$LINENO
- as_lineno_2=$LINENO as_lineno_2a=$LINENO
- eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
- test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
- # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
- sed -n '
- p
- /[$]LINENO/=
- ' <$as_myself |
- sed '
- s/[$]LINENO.*/&-/
- t lineno
- b
- :lineno
- N
- :loop
- s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
- t loop
- s/-\n.*//
- ' >$as_me.lineno &&
- chmod +x "$as_me.lineno" ||
- { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensitive to this).
- . "./$as_me.lineno"
- # Exit status is that of the last command.
- exit
-}
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -p'
- fi
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in #(
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-
-test -n "$DJDIR" || exec 7<&0 </dev/null
-exec 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-
-# Identity of this package.
-PACKAGE_NAME='libffi'
-PACKAGE_TARNAME='libffi'
-PACKAGE_VERSION='3.0.11-rc2'
-PACKAGE_STRING='libffi 3.0.11-rc2'
-PACKAGE_BUGREPORT='http://github.com/atgreen/libffi/issues'
-PACKAGE_URL=''
-
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-# include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-# include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='am__EXEEXT_FALSE
-am__EXEEXT_TRUE
-LTLIBOBJS
-LIBOBJS
-toolexeclibdir
-toolexecdir
-FFI_DEBUG_FALSE
-FFI_DEBUG_TRUE
-TARGETDIR
-TARGET
-FFI_EXEC_TRAMPOLINE_TABLE
-FFI_EXEC_TRAMPOLINE_TABLE_FALSE
-FFI_EXEC_TRAMPOLINE_TABLE_TRUE
-sys_symbol_underscore
-HAVE_LONG_DOUBLE
-ALLOCA
-PA64_HPUX_FALSE
-PA64_HPUX_TRUE
-PA_HPUX_FALSE
-PA_HPUX_TRUE
-PA_LINUX_FALSE
-PA_LINUX_TRUE
-SH64_FALSE
-SH64_TRUE
-SH_FALSE
-SH_TRUE
-X86_64_FALSE
-X86_64_TRUE
-S390_FALSE
-S390_TRUE
-FRV_FALSE
-FRV_TRUE
-LIBFFI_CRIS_FALSE
-LIBFFI_CRIS_TRUE
-AVR32_FALSE
-AVR32_TRUE
-ARM_FALSE
-ARM_TRUE
-POWERPC_FREEBSD_FALSE
-POWERPC_FREEBSD_TRUE
-POWERPC_DARWIN_FALSE
-POWERPC_DARWIN_TRUE
-POWERPC_AIX_FALSE
-POWERPC_AIX_TRUE
-POWERPC_FALSE
-POWERPC_TRUE
-MOXIE_FALSE
-MOXIE_TRUE
-M68K_FALSE
-M68K_TRUE
-M32R_FALSE
-M32R_TRUE
-IA64_FALSE
-IA64_TRUE
-ALPHA_FALSE
-ALPHA_TRUE
-X86_DARWIN_FALSE
-X86_DARWIN_TRUE
-X86_WIN64_FALSE
-X86_WIN64_TRUE
-X86_WIN32_FALSE
-X86_WIN32_TRUE
-X86_FREEBSD_FALSE
-X86_FREEBSD_TRUE
-X86_FALSE
-X86_TRUE
-SPARC_FALSE
-SPARC_TRUE
-MIPS_FALSE
-MIPS_TRUE
-AM_LTLDFLAGS
-AM_RUNTESTFLAGS
-TESTSUBDIR_FALSE
-TESTSUBDIR_TRUE
-MAINT
-MAINTAINER_MODE_FALSE
-MAINTAINER_MODE_TRUE
-CPP
-OTOOL64
-OTOOL
-LIPO
-NMEDIT
-DSYMUTIL
-MANIFEST_TOOL
-RANLIB
-ac_ct_AR
-AR
-DLLTOOL
-OBJDUMP
-LN_S
-NM
-ac_ct_DUMPBIN
-DUMPBIN
-LD
-FGREP
-EGREP
-GREP
-SED
-LIBTOOL
-am__fastdepCCAS_FALSE
-am__fastdepCCAS_TRUE
-CCASDEPMODE
-CCASFLAGS
-CCAS
-am__fastdepCC_FALSE
-am__fastdepCC_TRUE
-CCDEPMODE
-AMDEPBACKSLASH
-AMDEP_FALSE
-AMDEP_TRUE
-am__quote
-am__include
-DEPDIR
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-am__untar
-am__tar
-AMTAR
-am__leading_dot
-SET_MAKE
-AWK
-mkdir_p
-MKDIR_P
-INSTALL_STRIP_PROGRAM
-STRIP
-install_sh
-MAKEINFO
-AUTOHEADER
-AUTOMAKE
-AUTOCONF
-ACLOCAL
-VERSION
-PACKAGE
-CYGPATH_W
-am__isrc
-INSTALL_DATA
-INSTALL_SCRIPT
-INSTALL_PROGRAM
-target_os
-target_vendor
-target_cpu
-target
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-enable_dependency_tracking
-enable_shared
-enable_static
-with_pic
-enable_fast_install
-with_gnu_ld
-with_sysroot
-enable_libtool_lock
-enable_maintainer_mode
-enable_debug
-enable_structs
-enable_raw_api
-enable_purify_safety
-'
- ac_precious_vars='build_alias
-host_alias
-target_alias
-CCAS
-CCASFLAGS
-CPP
-CPPFLAGS'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval $ac_prev=\$ac_option
- ac_prev=
- continue
- fi
-
- case $ac_option in
- *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
- *=) ac_optarg= ;;
- *) ac_optarg=yes ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case $ac_dashdash$ac_option in
- --)
- ac_dashdash=yes ;;
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir=$ac_optarg ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build_alias ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build_alias=$ac_optarg ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file=$ac_optarg ;;
-
- --config-cache | -C)
- cache_file=config.cache ;;
-
- -datadir | --datadir | --datadi | --datad)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=*)
- datadir=$ac_optarg ;;
-
- -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
- | --dataroo | --dataro | --datar)
- ac_prev=datarootdir ;;
- -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
- | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
- datarootdir=$ac_optarg ;;
-
- -disable-* | --disable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=no ;;
-
- -docdir | --docdir | --docdi | --doc | --do)
- ac_prev=docdir ;;
- -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
- docdir=$ac_optarg ;;
-
- -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
- ac_prev=dvidir ;;
- -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
- dvidir=$ac_optarg ;;
-
- -enable-* | --enable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=\$ac_optarg ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix=$ac_optarg ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he | -h)
- ac_init_help=long ;;
- -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
- ac_init_help=recursive ;;
- -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
- ac_init_help=short ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host_alias ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host_alias=$ac_optarg ;;
-
- -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
- ac_prev=htmldir ;;
- -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
- | --ht=*)
- htmldir=$ac_optarg ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir=$ac_optarg ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir=$ac_optarg ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir=$ac_optarg ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir=$ac_optarg ;;
-
- -localedir | --localedir | --localedi | --localed | --locale)
- ac_prev=localedir ;;
- -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
- localedir=$ac_optarg ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst | --locals)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
- localstatedir=$ac_optarg ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir=$ac_optarg ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c | -n)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir=$ac_optarg ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix=$ac_optarg ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix=$ac_optarg ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix=$ac_optarg ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name=$ac_optarg ;;
-
- -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
- ac_prev=pdfdir ;;
- -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
- pdfdir=$ac_optarg ;;
-
- -psdir | --psdir | --psdi | --psd | --ps)
- ac_prev=psdir ;;
- -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
- psdir=$ac_optarg ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir=$ac_optarg ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir=$ac_optarg ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site=$ac_optarg ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir=$ac_optarg ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir=$ac_optarg ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target_alias ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target_alias=$ac_optarg ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers | -V)
- ac_init_version=: ;;
-
- -with-* | --with-*)
- ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=\$ac_optarg ;;
-
- -without-* | --without-*)
- ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=no ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes=$ac_optarg ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries=$ac_optarg ;;
-
- -*) as_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
- ;;
-
- *=*)
- ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
- # Reject names that are not valid shell variable names.
- case $ac_envvar in #(
- '' | [0-9]* | *[!_$as_cr_alnum]* )
- as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
- esac
- eval $ac_envvar=\$ac_optarg
- export $ac_envvar ;;
-
- *)
- # FIXME: should be removed in autoconf 3.0.
- $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
- expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- as_fn_error $? "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
- case $enable_option_checking in
- no) ;;
- fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
- *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
- esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
- datadir sysconfdir sharedstatedir localstatedir includedir \
- oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir
-do
- eval ac_val=\$$ac_var
- # Remove trailing slashes.
- case $ac_val in
- */ )
- ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
- eval $ac_var=\$ac_val;;
- esac
- # Be sure to have absolute directory names.
- case $ac_val in
- [\\/$]* | ?:[\\/]* ) continue;;
- NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
- esac
- as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
- if test "x$build_alias" = x; then
- cross_compiling=maybe
- $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
- If a cross compiler is detected then cross compile mode will be used" >&2
- elif test "x$build_alias" != "x$host_alias"; then
- cross_compiling=yes
- fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
- as_fn_error $? "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
- as_fn_error $? "pwd does not report name of working directory"
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then the parent directory.
- ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_myself" : 'X\(//\)[^/]' \| \
- X"$as_myself" : 'X\(//\)$' \| \
- X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- srcdir=$ac_confdir
- if test ! -r "$srcdir/$ac_unique_file"; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
- test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
- as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
- cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
- pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
- srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
- eval ac_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_env_${ac_var}_value=\$${ac_var}
- eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat <<_ACEOF
-\`configure' configures libffi 3.0.11-rc2 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE. See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
- -h, --help display this help and exit
- --help=short display options specific to this package
- --help=recursive display the short help of all the included packages
- -V, --version display version information and exit
- -q, --quiet, --silent do not print \`checking ...' messages
- --cache-file=FILE cache test results in FILE [disabled]
- -C, --config-cache alias for \`--cache-file=config.cache'
- -n, --no-create do not create output files
- --srcdir=DIR find the sources in DIR [configure dir or \`..']
-
-Installation directories:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
- --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
- --infodir=DIR info documentation [DATAROOTDIR/info]
- --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
- --mandir=DIR man documentation [DATAROOTDIR/man]
- --docdir=DIR documentation root [DATAROOTDIR/doc/libffi]
- --htmldir=DIR html documentation [DOCDIR]
- --dvidir=DIR dvi documentation [DOCDIR]
- --pdfdir=DIR pdf documentation [DOCDIR]
- --psdir=DIR ps documentation [DOCDIR]
-_ACEOF
-
- cat <<\_ACEOF
-
-Program names:
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM run sed PROGRAM on installed program names
-
-System types:
- --build=BUILD configure for building on BUILD [guessed]
- --host=HOST cross-compile to build programs to run on HOST [BUILD]
- --target=TARGET configure for building compilers for TARGET [HOST]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
- case $ac_init_help in
- short | recursive ) echo "Configuration of libffi 3.0.11-rc2:";;
- esac
- cat <<\_ACEOF
-
-Optional Features:
- --disable-option-checking ignore unrecognized --enable/--with options
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --disable-dependency-tracking speeds up one-time build
- --enable-dependency-tracking do not reject slow dependency extractors
- --enable-shared[=PKGS] build shared libraries [default=yes]
- --enable-static[=PKGS] build static libraries [default=yes]
- --enable-fast-install[=PKGS]
- optimize for fast installation [default=yes]
- --disable-libtool-lock avoid locking (might break parallel builds)
- --enable-maintainer-mode enable make rules and dependencies not useful
- (and sometimes confusing) to the casual installer
- --enable-debug debugging mode
- --disable-structs omit code for struct support
- --disable-raw-api make the raw api unavailable
- --enable-purify-safety purify-safe mode
-
-Optional Packages:
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --with-pic try to use only PIC/non-PIC objects [default=use
- both]
- --with-gnu-ld assume the C compiler uses GNU ld [default=no]
- --with-sysroot=DIR Search for dependent libraries within DIR
- (or the compiler's sysroot if not specified).
-
-Some influential environment variables:
- CC C compiler command
- CFLAGS C compiler flags
- LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
- nonstandard directory <lib dir>
- LIBS libraries to pass to the linker, e.g. -l<library>
- CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
- you have headers in a nonstandard directory <include dir>
- CCAS assembler compiler command (defaults to CC)
- CCASFLAGS assembler compiler flags (defaults to CFLAGS)
- CPP C preprocessor
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to <http://github.com/atgreen/libffi/issues>.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
- # If there are subdirs, report their specific --help.
- for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d "$ac_dir" ||
- { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
- continue
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
- cd "$ac_dir" || { ac_status=$?; continue; }
- # Check for guested configure.
- if test -f "$ac_srcdir/configure.gnu"; then
- echo &&
- $SHELL "$ac_srcdir/configure.gnu" --help=recursive
- elif test -f "$ac_srcdir/configure"; then
- echo &&
- $SHELL "$ac_srcdir/configure" --help=recursive
- else
- $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi || ac_status=$?
- cd "$ac_pwd" || { ac_status=$?; break; }
- done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
- cat <<\_ACEOF
-libffi configure 3.0.11-rc2
-generated by GNU Autoconf 2.68
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
- exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-# ac_fn_c_try_compile LINENO
-# --------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext
- if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_compile
-
-# ac_fn_c_try_link LINENO
-# -----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext conftest$ac_exeext
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext && {
- test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
- }; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
- # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
- # interfere with the next link command; also delete a directory that is
- # left behind by Apple's compiler. We do this before executing the actions.
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_link
-
-# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists and can be compiled using the include files in
-# INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- eval "$3=yes"
-else
- eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_compile
-
-# ac_fn_c_try_cpp LINENO
-# ----------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } > conftest.i && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_cpp
-
-# ac_fn_c_try_run LINENO
-# ----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
-ac_fn_c_try_run ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
- ac_retval=0
-else
- $as_echo "$as_me: program exited with status $ac_status" >&5
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=$ac_status
-fi
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_run
-
-# ac_fn_c_check_func LINENO FUNC VAR
-# ----------------------------------
-# Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_c_check_func ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $2 innocuous_$2
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $2 (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $2
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $2 ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_$2 || defined __stub___$2
-choke me
-#endif
-
-int
-main ()
-{
-return $2 ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- eval "$3=yes"
-else
- eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_func
-
-# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists, giving a warning if it cannot be compiled using
-# the include files in INCLUDES and setting the cache variable VAR
-# accordingly.
-ac_fn_c_check_header_mongrel ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if eval \${$3+:} false; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
- # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_header_compiler=yes
-else
- ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <$2>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- ac_header_preproc=yes
-else
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
- yes:no: )
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
- ;;
- no:yes:* )
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( $as_echo "## ------------------------------------------------------ ##
-## Report this to http://github.com/atgreen/libffi/issues ##
-## ------------------------------------------------------ ##"
- ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_mongrel
-
-# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
-# -------------------------------------------
-# Tests whether TYPE exists after having included INCLUDES, setting cache
-# variable VAR accordingly.
-ac_fn_c_check_type ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- eval "$3=no"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-if (sizeof ($2))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-if (sizeof (($2)))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
- eval "$3=yes"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_type
-
-# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
-# --------------------------------------------
-# Tries to find the compile-time value of EXPR in a program that includes
-# INCLUDES, setting VAR accordingly. Returns whether the value could be
-# computed
-ac_fn_c_compute_int ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if test "$cross_compiling" = yes; then
- # Depending upon the size, compute the lo and hi bounds.
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_lo=0 ac_mid=0
- while :; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_hi=$ac_mid; break
-else
- as_fn_arith $ac_mid + 1 && ac_lo=$as_val
- if test $ac_lo -le $ac_mid; then
- ac_lo= ac_hi=
- break
- fi
- as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) < 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_hi=-1 ac_mid=-1
- while :; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_lo=$ac_mid; break
-else
- as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
- if test $ac_mid -le $ac_hi; then
- ac_lo= ac_hi=
- break
- fi
- as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- ac_lo= ac_hi=
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
- as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_hi=$ac_mid
-else
- as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in #((
-?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
-'') ac_retval=1 ;;
-esac
- else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-static long int longval () { return $2; }
-static unsigned long int ulongval () { return $2; }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
- FILE *f = fopen ("conftest.val", "w");
- if (! f)
- return 1;
- if (($2) < 0)
- {
- long int i = longval ();
- if (i != ($2))
- return 1;
- fprintf (f, "%ld", i);
- }
- else
- {
- unsigned long int i = ulongval ();
- if (i != ($2))
- return 1;
- fprintf (f, "%lu", i);
- }
- /* Do not output a trailing newline, as this causes \r\n confusion
- on some platforms. */
- return ferror (f) || fclose (f) != 0;
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- echo >>conftest.val; read $3 <conftest.val; ac_retval=0
-else
- ac_retval=1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-rm -f conftest.val
-
- fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_compute_int
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by libffi $as_me 3.0.11-rc2, which was
-generated by GNU Autoconf 2.68. Invocation command line was
-
- $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
-
-/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
-/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
-/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- $as_echo "PATH: $as_dir"
- done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
- for ac_arg
- do
- case $ac_arg in
- -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- continue ;;
- *\'*)
- ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- case $ac_pass in
- 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
- 2)
- as_fn_append ac_configure_args1 " '$ac_arg'"
- if test $ac_must_keep_next = true; then
- ac_must_keep_next=false # Got value, back to normal.
- else
- case $ac_arg in
- *=* | --config-cache | -C | -disable-* | --disable-* \
- | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
- | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
- | -with-* | --with-* | -without-* | --without-* | --x)
- case "$ac_configure_args0 " in
- "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
- esac
- ;;
- -* ) ac_must_keep_next=true ;;
- esac
- fi
- as_fn_append ac_configure_args " '$ac_arg'"
- ;;
- esac
- done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log. We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
- # Save into config.log some information that might help in debugging.
- {
- echo
-
- $as_echo "## ---------------- ##
-## Cache variables. ##
-## ---------------- ##"
- echo
- # The following way of writing the cache mishandles newlines in values,
-(
- for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
- (set) 2>&1 |
- case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- sed -n \
- "s/'\''/'\''\\\\'\'''\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
- ;; #(
- *)
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-)
- echo
-
- $as_echo "## ----------------- ##
-## Output variables. ##
-## ----------------- ##"
- echo
- for ac_var in $ac_subst_vars
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
-
- if test -n "$ac_subst_files"; then
- $as_echo "## ------------------- ##
-## File substitutions. ##
-## ------------------- ##"
- echo
- for ac_var in $ac_subst_files
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
- fi
-
- if test -s confdefs.h; then
- $as_echo "## ----------- ##
-## confdefs.h. ##
-## ----------- ##"
- echo
- cat confdefs.h
- echo
- fi
- test "$ac_signal" != 0 &&
- $as_echo "$as_me: caught signal $ac_signal"
- $as_echo "$as_me: exit $exit_status"
- } >&5
- rm -f core *.core core.conftest.* &&
- rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
- exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
- trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-$as_echo "/* confdefs.h */" > confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
- # We do not want a PATH search for config.site.
- case $CONFIG_SITE in #((
- -*) ac_site_file1=./$CONFIG_SITE;;
- */*) ac_site_file1=$CONFIG_SITE;;
- *) ac_site_file1=./$CONFIG_SITE;;
- esac
-elif test "x$prefix" != xNONE; then
- ac_site_file1=$prefix/share/config.site
- ac_site_file2=$prefix/etc/config.site
-else
- ac_site_file1=$ac_default_prefix/share/config.site
- ac_site_file2=$ac_default_prefix/etc/config.site
-fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
- test "x$ac_site_file" = xNONE && continue
- if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
- sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file" \
- || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5; }
- fi
-done
-
-if test -r "$cache_file"; then
- # Some versions of bash will fail to source /dev/null (special files
- # actually), so we avoid doing that. DJGPP emulates it as a regular file.
- if test /dev/null != "$cache_file" && test -f "$cache_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
- case $cache_file in
- [\\/]* | ?:[\\/]* ) . "$cache_file";;
- *) . "./$cache_file";;
- esac
- fi
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
- >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
- eval ac_old_set=\$ac_cv_env_${ac_var}_set
- eval ac_new_set=\$ac_env_${ac_var}_set
- eval ac_old_val=\$ac_cv_env_${ac_var}_value
- eval ac_new_val=\$ac_env_${ac_var}_value
- case $ac_old_set,$ac_new_set in
- set,)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,set)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,);;
- *)
- if test "x$ac_old_val" != "x$ac_new_val"; then
- # differences in whitespace do not lead to failure.
- ac_old_val_w=`echo x $ac_old_val`
- ac_new_val_w=`echo x $ac_new_val`
- if test "$ac_old_val_w" != "$ac_new_val_w"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- ac_cache_corrupted=:
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
- eval $ac_var=\$ac_old_val
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
-$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
-$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
- fi;;
- esac
- # Pass precious variables to config.status.
- if test "$ac_new_set" = set; then
- case $ac_new_val in
- *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
- *) ac_arg=$ac_var=$ac_new_val ;;
- esac
- case " $ac_configure_args " in
- *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
- *) as_fn_append ac_configure_args " '$ac_arg'" ;;
- esac
- fi
-done
-if $ac_cache_corrupted; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-ac_config_headers="$ac_config_headers fficonfig.h"
-
-
-ac_aux_dir=
-for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
- if test -f "$ac_dir/install-sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f "$ac_dir/install.sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- elif test -f "$ac_dir/shtool"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/shtool install -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
-
-
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
- as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if ${ac_cv_build+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
- ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
- as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if ${ac_cv_host+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "x$host_alias" = x; then
- ac_cv_host=$ac_cv_build
-else
- ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
-$as_echo_n "checking target system type... " >&6; }
-if ${ac_cv_target+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "x$target_alias" = x; then
- ac_cv_target=$ac_cv_host
-else
- ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
-$as_echo "$ac_cv_target" >&6; }
-case $ac_cv_target in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
-esac
-target=$ac_cv_target
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_target
-shift
-target_cpu=$1
-target_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-target_os=$*
-IFS=$ac_save_IFS
-case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
-
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-test -n "$target_alias" &&
- test "$program_prefix$program_suffix$program_transform_name" = \
- NONENONEs,x,x, &&
- program_prefix=${target_alias}-
-
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-AX_ENABLE_BUILDDIR
-
-am__api_version='1.11'
-
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-# Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
-if test -z "$INSTALL"; then
-if ${ac_cv_path_install+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in #((
- ./ | .// | /[cC]/* | \
- /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
- ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
- /usr/ucb/* ) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
- if test $ac_prog = install &&
- grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- elif test $ac_prog = install &&
- grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # program-specific install script used by HP pwplus--don't use.
- :
- else
- rm -rf conftest.one conftest.two conftest.dir
- echo one > conftest.one
- echo two > conftest.two
- mkdir conftest.dir
- if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
- test -s conftest.one && test -s conftest.two &&
- test -s conftest.dir/conftest.one &&
- test -s conftest.dir/conftest.two
- then
- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
- break 3
- fi
- fi
- fi
- done
- done
- ;;
-esac
-
- done
-IFS=$as_save_IFS
-
-rm -rf conftest.one conftest.two conftest.dir
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL=$ac_cv_path_install
- else
- # As a last resort, use the slow shell script. Don't cache a
- # value for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- INSTALL=$ac_install_sh
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
-$as_echo_n "checking whether build environment is sane... " >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name. Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
- *[\\\"\#\$\&\'\`$am_lf]*)
- as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
-esac
-case $srcdir in
- *[\\\"\#\$\&\'\`$am_lf\ \ ]*)
- as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
-esac
-
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
- if test "$*" = "X"; then
- # -L didn't work.
- set X `ls -t "$srcdir/configure" conftest.file`
- fi
- rm -f conftest.file
- if test "$*" != "X $srcdir/configure conftest.file" \
- && test "$*" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
-alias in your environment" "$LINENO" 5
- fi
-
- test "$2" = conftest.file
- )
-then
- # Ok.
- :
-else
- as_fn_error $? "newly created file is older than distributed files!
-Check your system clock" "$LINENO" 5
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-test "$program_prefix" != NONE &&
- program_transform_name="s&^&$program_prefix&;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
- program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $.
-# By default was `s,x,x', remove it if useless.
-ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
-if test x"${MISSING+set}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
- *)
- MISSING="\${SHELL} $am_aux_dir/missing" ;;
- esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
-else
- am_missing_run=
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
-fi
-
-if test x"${install_sh}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
- *)
- install_sh="\${SHELL} $am_aux_dir/install-sh"
- esac
-fi
-
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_STRIP="strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_STRIP" = x; then
- STRIP=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- STRIP=$ac_ct_STRIP
- fi
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
-$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
-if test -z "$MKDIR_P"; then
- if ${ac_cv_path_mkdir+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in mkdir gmkdir; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
- case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
- 'mkdir (GNU coreutils) '* | \
- 'mkdir (coreutils) '* | \
- 'mkdir (fileutils) '4.1*)
- ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
- break 3;;
- esac
- done
- done
- done
-IFS=$as_save_IFS
-
-fi
-
- test -d ./--version && rmdir ./--version
- if test "${ac_cv_path_mkdir+set}" = set; then
- MKDIR_P="$ac_cv_path_mkdir -p"
- else
- # As a last resort, use the slow shell script. Don't cache a
- # value for MKDIR_P within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- MKDIR_P="$ac_install_sh -d"
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
-$as_echo "$MKDIR_P" >&6; }
-
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
- [\\/$]* | ?:[\\/]*) ;;
- */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-
-for ac_prog in gawk mawk nawk awk
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AWK+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$AWK"; then
- ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_AWK="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$AWK" && break
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
- @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
- *@@@%%%=?*=@@@%%%*)
- eval ac_cv_prog_make_${ac_make}_set=yes;;
- *)
- eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- SET_MAKE=
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
- am__leading_dot=.
-else
- am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
- # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
- # is not polluted with repeated "-I."
- am__isrc=' -I$(srcdir)'
- # test to see if srcdir already configured
- if test -f $srcdir/config.status; then
- as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
- fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
- if (cygpath --version) >/dev/null 2>/dev/null; then
- CYGPATH_W='cygpath -w'
- else
- CYGPATH_W=echo
- fi
-fi
-
-
-# Define the identity of the package.
- PACKAGE='libffi'
- VERSION='3.0.11-rc2'
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE "$PACKAGE"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define VERSION "$VERSION"
-_ACEOF
-
-# Some tools Automake needs.
-
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-
-
-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-
-
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-
-
-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-
-
-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
-# Always define AMTAR for backward compatibility.
-
-AMTAR=${AMTAR-"${am_missing_run}tar"}
-
-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
-
-
-
-
-
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-# Also save and restore CFLAGS, since AC_PROG_CC will come up with
-# defaults of its own if none are provided.
-
-
-
-save_CFLAGS=$CFLAGS
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="${ac_tool_prefix}gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_CC="gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-else
- CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="${ac_tool_prefix}cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- fi
-fi
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# != 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
- fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- for ac_prog in cl.exe
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$CC" && break
- done
-fi
-if test -z "$CC"; then
- ac_ct_CC=$CC
- for ac_prog in cl.exe
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_CC="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_CC" && break
-done
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
- { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compiler $ac_option >&5") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- sed '10a\
-... rest of stderr output deleted ...
- 10q' conftest.err >conftest.er1
- cat conftest.er1 >&5
- fi
- rm -f conftest.er1 conftest.err
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- * ) ac_rmfiles="$ac_rmfiles $ac_file";;
- esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link_default") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile. We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
- ;;
- [ab].out )
- # We found the default executable, but exeext='' is most
- # certainly right.
- break;;
- *.* )
- if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
- then :; else
- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- fi
- # We set ac_cv_exeext here because the later test for it is not
- # safe: cross compilers may not add the suffix if given an `-o'
- # argument, so we may need to know it at that point already.
- # Even if this section looks crufty: it has the advantage of
- # actually working.
- break;;
- * )
- break;;
- esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
- ac_file=''
-fi
-if test -z "$ac_file"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-ac_exeext=$ac_cv_exeext
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- break;;
- * ) break;;
- esac
-done
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdio.h>
-int
-main ()
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
- { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if { ac_try='./conftest$ac_cv_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- cross_compiling=no
- else
- if test "$cross_compiling" = maybe; then
- cross_compiling=yes
- else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5; }
- fi
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- for ac_file in conftest.o conftest.obj conftest.*; do
- test -f "$ac_file" || continue;
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
- *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
- break;;
- esac
-done
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-#ifndef __GNUC__
- choke me
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_compiler_gnu=yes
-else
- ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
- GCC=yes
-else
- GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_save_c_werror_flag=$ac_c_werror_flag
- ac_c_werror_flag=yes
- ac_cv_prog_cc_g=no
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-else
- CFLAGS=""
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
- ac_c_werror_flag=$ac_save_c_werror_flag
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
- CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
- if test "$GCC" = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-g"
- fi
-else
- if test "$GCC" = yes; then
- CFLAGS="-O2"
- else
- CFLAGS=
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
- char **p;
- int i;
-{
- return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
- char *s;
- va_list v;
- va_start (v,p);
- s = g (p, va_arg (v,int));
- va_end (v);
- return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
- function prototypes and stuff, but not '\xHH' hex character constants.
- These don't provoke an error unfortunately, instead are silently treated
- as 'x'. The following induces an error, until -std is added to get
- proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
- array size at least. It's necessary to write '\x00'==0 to get something
- that's true only with -std. */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
- inside strings and character constants. */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
- ;
- return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
- -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
- CC="$ac_save_CC $ac_arg"
- if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
- test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
- x)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
- xno)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
- *)
- CC="$CC $ac_cv_prog_cc_c89"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
-
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
- @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
-$as_echo_n "checking for style of include used by $am_make... " >&6; }
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
- am__include=include
- am__quote=
- _am_result=GNU
- ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- case `$am_make -s -f confmf 2> /dev/null` in #(
- *the\ am__doit\ target*)
- am__include=.include
- am__quote="\""
- _am_result=BSD
- ;;
- esac
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
-rm -f confinc confmf
-
-# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then :
- enableval=$enable_dependency_tracking;
-fi
-
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
-fi
- if test "x$enable_dependency_tracking" != xno; then
- AMDEP_TRUE=
- AMDEP_FALSE='#'
-else
- AMDEP_TRUE='#'
- AMDEP_FALSE=
-fi
-
-
-
-depcc="$CC" am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CC_dependencies_compiler_type+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_CC_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
- fi
- am__universal=false
- case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac
-
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs
- am__obj=sub/conftest.${OBJEXT-o}
- am__minus_obj="-o $am__obj"
- case $depmode in
- gcc)
- # This depmode causes a compiler race in universal mode.
- test "$am__universal" = false || continue
- ;;
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- msvisualcpp | msvcmsys)
- # This compiler won't grok `-c -o', but also, the minuso test has
- # not run yet. These depmodes are late enough in the game, and
- # so weak that their functioning should not be impacted.
- am__obj=conftest.${OBJEXT-o}
- am__minus_obj=
- ;;
- none) break ;;
- esac
- if depmode=$depmode \
- source=sub/conftest.c object=$am__obj \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_CC_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
- am__fastdepCC_TRUE=
- am__fastdepCC_FALSE='#'
-else
- am__fastdepCC_TRUE='#'
- am__fastdepCC_FALSE=
-fi
-
-
-CFLAGS=$save_CFLAGS
-
-
-
-
-
-# By default we simply use the C compiler to build assembly code.
-
-test "${CCAS+set}" = set || CCAS=$CC
-test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
-
-
-
-depcc="$CCAS" am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CCAS_dependencies_compiler_type+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_CCAS_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
- fi
- am__universal=false
-
-
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs
- am__obj=sub/conftest.${OBJEXT-o}
- am__minus_obj="-o $am__obj"
- case $depmode in
- gcc)
- # This depmode causes a compiler race in universal mode.
- test "$am__universal" = false || continue
- ;;
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- msvisualcpp | msvcmsys)
- # This compiler won't grok `-c -o', but also, the minuso test has
- # not run yet. These depmodes are late enough in the game, and
- # so weak that their functioning should not be impacted.
- am__obj=conftest.${OBJEXT-o}
- am__minus_obj=
- ;;
- none) break ;;
- esac
- if depmode=$depmode \
- source=sub/conftest.c object=$am__obj \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_CCAS_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_CCAS_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CCAS_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CCAS_dependencies_compiler_type" >&6; }
-CCASDEPMODE=depmode=$am_cv_CCAS_dependencies_compiler_type
-
- if
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CCAS_dependencies_compiler_type" = gcc3; then
- am__fastdepCCAS_TRUE=
- am__fastdepCCAS_FALSE='#'
-else
- am__fastdepCCAS_TRUE='#'
- am__fastdepCCAS_FALSE=
-fi
-
-
-if test "x$CC" != xcc; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
-$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5
-$as_echo_n "checking whether cc understands -c and -o together... " >&6; }
-fi
-set dummy $CC; ac_cc=`$as_echo "$2" |
- sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-# Make sure it works both with $CC and with simple cc.
-# We do the test twice because some compilers refuse to overwrite an
-# existing .o file with -o, though they will create one.
-ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-rm -f conftest2.*
-if { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } &&
- test -f conftest2.$ac_objext && { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; };
-then
- eval ac_cv_prog_cc_${ac_cc}_c_o=yes
- if test "x$CC" != xcc; then
- # Test first that cc exists at all.
- if { ac_try='cc -c conftest.$ac_ext >&5'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
- rm -f conftest2.*
- if { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } &&
- test -f conftest2.$ac_objext && { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; };
- then
- # cc works too.
- :
- else
- # cc exists but doesn't like -o.
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
- fi
- fi
- fi
-else
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
-fi
-rm -f core conftest*
-
-fi
-if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h
-
-fi
-
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
- # Losing compiler, so override with the script.
- # FIXME: It is wrong to rewrite CC.
- # But if we don't then we get into trouble of one sort or another.
- # A longer-term fix would be to have automake use am__CC in this case,
- # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
- CC="$am_aux_dir/compile $CC"
-fi
-
-
-case `pwd` in
- *\ * | *\ *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
-$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
-esac
-
-
-
-macro_version='2.4'
-macro_revision='1.3293'
-
-
-
-
-
-
-
-
-
-
-
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-# Backslashify metacharacters that are still active within
-# double-quoted strings.
-sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
-$as_echo_n "checking how to print strings... " >&6; }
-# Test print first, because it will be a builtin if present.
-if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
- test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
- ECHO='print -r --'
-elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
- ECHO='printf %s\n'
-else
- # Use this function as a fallback that always works.
- func_fallback_echo ()
- {
- eval 'cat <<_LTECHO_EOF
-$1
-_LTECHO_EOF'
- }
- ECHO='func_fallback_echo'
-fi
-
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
- $ECHO ""
-}
-
-case "$ECHO" in
- printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
-$as_echo "printf" >&6; } ;;
- print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
-$as_echo "print -r" >&6; } ;;
- *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
-$as_echo "cat" >&6; } ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
-$as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if ${ac_cv_path_SED+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
- for ac_i in 1 2 3 4 5 6 7; do
- ac_script="$ac_script$as_nl$ac_script"
- done
- echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
- { ac_script=; unset ac_script;}
- if test -z "$SED"; then
- ac_path_SED_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in sed gsed; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
-# Check for GNU ac_path_SED and select it if it is found.
- # Check for GNU $ac_path_SED
-case `"$ac_path_SED" --version 2>&1` in
-*GNU*)
- ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo '' >> "conftest.nl"
- "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_SED_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_SED="$ac_path_SED"
- ac_path_SED_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_SED_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_SED"; then
- as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
- fi
-else
- ac_cv_path_SED=$SED
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
-$as_echo "$ac_cv_path_SED" >&6; }
- SED="$ac_cv_path_SED"
- rm -f conftest.sed
-
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$GREP"; then
- ac_path_GREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in grep ggrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
-# Check for GNU ac_path_GREP and select it if it is found.
- # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'GREP' >> "conftest.nl"
- "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_GREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_GREP="$ac_path_GREP"
- ac_path_GREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_GREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_GREP"; then
- as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
- then ac_cv_path_EGREP="$GREP -E"
- else
- if test -z "$EGREP"; then
- ac_path_EGREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in egrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
- # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'EGREP' >> "conftest.nl"
- "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_EGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_EGREP="$ac_path_EGREP"
- ac_path_EGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_EGREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_EGREP"; then
- as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_EGREP=$EGREP
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
-$as_echo_n "checking for fgrep... " >&6; }
-if ${ac_cv_path_FGREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
- then ac_cv_path_FGREP="$GREP -F"
- else
- if test -z "$FGREP"; then
- ac_path_FGREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in fgrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
-# Check for GNU ac_path_FGREP and select it if it is found.
- # Check for GNU $ac_path_FGREP
-case `"$ac_path_FGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'FGREP' >> "conftest.nl"
- "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_FGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_FGREP="$ac_path_FGREP"
- ac_path_FGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_FGREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_FGREP"; then
- as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_FGREP=$FGREP
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
-$as_echo "$ac_cv_path_FGREP" >&6; }
- FGREP="$ac_cv_path_FGREP"
-
-
-test -z "$GREP" && GREP=grep
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then :
- withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
- with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test "$GCC" = yes; then
- # Check if gcc -print-prog-name=ld gives a path.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
-$as_echo_n "checking for ld used by $CC... " >&6; }
- case $host in
- *-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case $ac_prog in
- # Accept absolute paths.
- [\\/]* | ?:[\\/]*)
- re_direlt='/[^/][^/]*/\.\./'
- # Canonicalize the pathname of ld
- ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
- while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
- done
- test -z "$LD" && LD="$ac_prog"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if ${lt_cv_path_LD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$LD"; then
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- lt_cv_path_LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some variants of GNU ld only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
- *GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break
- ;;
- *)
- test "$with_gnu_ld" != yes && break
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
-else
- lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
-$as_echo "$LD" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if ${lt_cv_prog_gnu_ld+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
- lt_cv_prog_gnu_ld=yes
- ;;
-*)
- lt_cv_prog_gnu_ld=no
- ;;
-esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
-$as_echo "$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
-$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if ${lt_cv_path_NM+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$NM"; then
- # Let the user override the test.
- lt_cv_path_NM="$NM"
-else
- lt_nm_to_check="${ac_tool_prefix}nm"
- if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
- lt_nm_to_check="$lt_nm_to_check nm"
- fi
- for lt_tmp_nm in $lt_nm_to_check; do
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- tmp_nm="$ac_dir/$lt_tmp_nm"
- if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
- # Check to see if the nm accepts a BSD-compat flag.
- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
- # nm: unknown option "B" ignored
- # Tru64's nm complains that /dev/null is an invalid object file
- case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
- */dev/null* | *'Invalid file or object type'*)
- lt_cv_path_NM="$tmp_nm -B"
- break
- ;;
- *)
- case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
- */dev/null*)
- lt_cv_path_NM="$tmp_nm -p"
- break
- ;;
- *)
- lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
- continue # so that we can try to find one that supports BSD flags
- ;;
- esac
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
- done
- : ${lt_cv_path_NM=no}
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
-$as_echo "$lt_cv_path_NM" >&6; }
-if test "$lt_cv_path_NM" != "no"; then
- NM="$lt_cv_path_NM"
-else
- # Didn't find any BSD compatible name lister, look for dumpbin.
- if test -n "$DUMPBIN"; then :
- # Let the user override the test.
- else
- if test -n "$ac_tool_prefix"; then
- for ac_prog in dumpbin "link -dump"
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DUMPBIN+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$DUMPBIN"; then
- ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-DUMPBIN=$ac_cv_prog_DUMPBIN
-if test -n "$DUMPBIN"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
-$as_echo "$DUMPBIN" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$DUMPBIN" && break
- done
-fi
-if test -z "$DUMPBIN"; then
- ac_ct_DUMPBIN=$DUMPBIN
- for ac_prog in dumpbin "link -dump"
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_DUMPBIN"; then
- ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
-if test -n "$ac_ct_DUMPBIN"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
-$as_echo "$ac_ct_DUMPBIN" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_DUMPBIN" && break
-done
-
- if test "x$ac_ct_DUMPBIN" = x; then
- DUMPBIN=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- DUMPBIN=$ac_ct_DUMPBIN
- fi
-fi
-
- case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
- *COFF*)
- DUMPBIN="$DUMPBIN -symbols"
- ;;
- *)
- DUMPBIN=:
- ;;
- esac
- fi
-
- if test "$DUMPBIN" != ":"; then
- NM="$DUMPBIN"
- fi
-fi
-test -z "$NM" && NM=nm
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
-$as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if ${lt_cv_nm_interface+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_nm_interface="BSD nm"
- echo "int some_variable = 0;" > conftest.$ac_ext
- (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
- (eval "$ac_compile" 2>conftest.err)
- cat conftest.err >&5
- (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
- (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
- cat conftest.err >&5
- (eval echo "\"\$as_me:$LINENO: output\"" >&5)
- cat conftest.out >&5
- if $GREP 'External.*some_variable' conftest.out > /dev/null; then
- lt_cv_nm_interface="MS dumpbin"
- fi
- rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
-$as_echo "$lt_cv_nm_interface" >&6; }
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
-$as_echo_n "checking whether ln -s works... " >&6; }
-LN_S=$as_ln_s
-if test "$LN_S" = "ln -s"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
-$as_echo "no, using $LN_S" >&6; }
-fi
-
-# find the maximum length of command line arguments
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
-$as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if ${lt_cv_sys_max_cmd_len+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- i=0
- teststring="ABCD"
-
- case $build_os in
- msdosdjgpp*)
- # On DJGPP, this test can blow up pretty badly due to problems in libc
- # (any single argument exceeding 2000 bytes causes a buffer overrun
- # during glob expansion). Even if it were fixed, the result of this
- # check would be larger than it should be.
- lt_cv_sys_max_cmd_len=12288; # 12K is about right
- ;;
-
- gnu*)
- # Under GNU Hurd, this test is not required because there is
- # no limit to the length of command line arguments.
- # Libtool will interpret -1 as no limit whatsoever
- lt_cv_sys_max_cmd_len=-1;
- ;;
-
- cygwin* | mingw* | cegcc*)
- # On Win9x/ME, this test blows up -- it succeeds, but takes
- # about 5 minutes as the teststring grows exponentially.
- # Worse, since 9x/ME are not pre-emptively multitasking,
- # you end up with a "frozen" computer, even though with patience
- # the test eventually succeeds (with a max line length of 256k).
- # Instead, let's just punt: use the minimum linelength reported by
- # all of the supported platforms: 8192 (on NT/2K/XP).
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- mint*)
- # On MiNT this can take a long time and run out of memory.
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- amigaos*)
- # On AmigaOS with pdksh, this test takes hours, literally.
- # So we just punt and use a minimum line length of 8192.
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
- # This has been around since 386BSD, at least. Likely further.
- if test -x /sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
- elif test -x /usr/sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
- else
- lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
- fi
- # And add a safety zone
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- ;;
-
- interix*)
- # We know the value 262144 and hardcode it with a safety zone (like BSD)
- lt_cv_sys_max_cmd_len=196608
- ;;
-
- osf*)
- # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
- # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
- # nice to cause kernel panics so lets avoid the loop below.
- # First set a reasonable default.
- lt_cv_sys_max_cmd_len=16384
- #
- if test -x /sbin/sysconfig; then
- case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
- *1*) lt_cv_sys_max_cmd_len=-1 ;;
- esac
- fi
- ;;
- sco3.2v5*)
- lt_cv_sys_max_cmd_len=102400
- ;;
- sysv5* | sco5v6* | sysv4.2uw2*)
- kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
- if test -n "$kargmax"; then
- lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
- else
- lt_cv_sys_max_cmd_len=32768
- fi
- ;;
- *)
- lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
- if test -n "$lt_cv_sys_max_cmd_len"; then
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- else
- # Make teststring a little bigger before we do anything with it.
- # a 1K string should be a reasonable start.
- for i in 1 2 3 4 5 6 7 8 ; do
- teststring=$teststring$teststring
- done
- SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
- # If test is not a shell built-in, we'll probably end up computing a
- # maximum length that is only half of the actual maximum length, but
- # we can't tell.
- while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
- = "X$teststring$teststring"; } >/dev/null 2>&1 &&
- test $i != 17 # 1/2 MB should be enough
- do
- i=`expr $i + 1`
- teststring=$teststring$teststring
- done
- # Only check the string length outside the loop.
- lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
- teststring=
- # Add a significant safety factor because C++ compilers can tack on
- # massive amounts of additional arguments before passing them to the
- # linker. It appears as though 1/2 is a usable value.
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
- fi
- ;;
- esac
-
-fi
-
-if test -n $lt_cv_sys_max_cmd_len ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
-$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
-$as_echo "none" >&6; }
-fi
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-
-
-
-
-
-: ${CP="cp -f"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
-$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
- test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
- = c,a/b,b/c, \
- && eval 'test $(( 1 + 1 )) -eq 2 \
- && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
- && xsi_shell=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
-$as_echo "$xsi_shell" >&6; }
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
-$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
- >/dev/null 2>&1 \
- && lt_shell_append=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
-$as_echo "$lt_shell_append" >&6; }
-
-
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- lt_unset=unset
-else
- lt_unset=false
-fi
-
-
-
-
-
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
- # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
- lt_SP2NL='tr \040 \012'
- lt_NL2SP='tr \015\012 \040\040'
- ;;
- *) # EBCDIC based system
- lt_SP2NL='tr \100 \n'
- lt_NL2SP='tr \r\n \100\100'
- ;;
-esac
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
-$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
-if ${lt_cv_to_host_file_cmd+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $host in
- *-*-mingw* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
- ;;
- *-*-cygwin* )
- lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
- ;;
- * ) # otherwise, assume *nix
- lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
- ;;
- esac
- ;;
- *-*-cygwin* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
- ;;
- *-*-cygwin* )
- lt_cv_to_host_file_cmd=func_convert_file_noop
- ;;
- * ) # otherwise, assume *nix
- lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
- ;;
- esac
- ;;
- * ) # unhandled hosts (and "normal" native builds)
- lt_cv_to_host_file_cmd=func_convert_file_noop
- ;;
-esac
-
-fi
-
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
-$as_echo "$lt_cv_to_host_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
-$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
-if ${lt_cv_to_tool_file_cmd+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- #assume ordinary cross tools, or native build.
-lt_cv_to_tool_file_cmd=func_convert_file_noop
-case $host in
- *-*-mingw* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
- ;;
- esac
- ;;
-esac
-
-fi
-
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
-$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
-$as_echo_n "checking for $LD option to reload object files... " >&6; }
-if ${lt_cv_ld_reload_flag+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ld_reload_flag='-r'
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
-$as_echo "$lt_cv_ld_reload_flag" >&6; }
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
- cygwin* | mingw* | pw32* | cegcc*)
- if test "$GCC" != yes; then
- reload_cmds=false
- fi
- ;;
- darwin*)
- if test "$GCC" = yes; then
- reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
- else
- reload_cmds='$LD$reload_flag -o $output$reload_objs'
- fi
- ;;
-esac
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
-set dummy ${ac_tool_prefix}objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OBJDUMP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$OBJDUMP"; then
- ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-OBJDUMP=$ac_cv_prog_OBJDUMP
-if test -n "$OBJDUMP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
-$as_echo "$OBJDUMP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OBJDUMP"; then
- ac_ct_OBJDUMP=$OBJDUMP
- # Extract the first word of "objdump", so it can be a program name with args.
-set dummy objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_OBJDUMP"; then
- ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_OBJDUMP="objdump"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
-if test -n "$ac_ct_OBJDUMP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
-$as_echo "$ac_ct_OBJDUMP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_OBJDUMP" = x; then
- OBJDUMP="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- OBJDUMP=$ac_ct_OBJDUMP
- fi
-else
- OBJDUMP="$ac_cv_prog_OBJDUMP"
-fi
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
-$as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if ${lt_cv_deplibs_check_method+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[4-9]*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-beos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-bsdi[45]*)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
- lt_cv_file_magic_cmd='/usr/bin/file -L'
- lt_cv_file_magic_test_file=/shlib/libc.so
- ;;
-
-cygwin*)
- # func_win32_libid is a shell function defined in ltmain.sh
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- ;;
-
-mingw* | pw32*)
- # Base MSYS/MinGW do not provide the 'file' command needed by
- # func_win32_libid shell function, so use a weaker test based on 'objdump',
- # unless we find 'file', for example because we are cross-compiling.
- # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
- if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- else
- # Keep this pattern in sync with the one in func_win32_libid.
- lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- fi
- ;;
-
-cegcc*)
- # use the weaker test based on 'objdump'. See mingw*.
- lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- ;;
-
-darwin* | rhapsody*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-freebsd* | dragonfly*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
- case $host_cpu in
- i*86 )
- # Not sure whether the presence of OpenBSD here was a mistake.
- # Let's accept both of them until this is cleared up.
- lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
- ;;
- esac
- else
- lt_cv_deplibs_check_method=pass_all
- fi
- ;;
-
-gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-haiku*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-hpux10.20* | hpux11*)
- lt_cv_file_magic_cmd=/usr/bin/file
- case $host_cpu in
- ia64*)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
- lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
- ;;
- hppa*64*)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
- lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
- ;;
- *)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
- lt_cv_file_magic_test_file=/usr/lib/libc.sl
- ;;
- esac
- ;;
-
-interix[3-9]*)
- # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $LD in
- *-32|*"-32 ") libmagic=32-bit;;
- *-n32|*"-n32 ") libmagic=N32;;
- *-64|*"-64 ") libmagic=64-bit;;
- *) libmagic=never-match;;
- esac
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
- fi
- ;;
-
-newos6*)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=/usr/lib/libnls.so
- ;;
-
-*nto* | *qnx*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-openbsd*)
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
- fi
- ;;
-
-osf3* | osf4* | osf5*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-rdos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-solaris*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sysv4 | sysv4.3*)
- case $host_vendor in
- motorola)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
- ;;
- ncr)
- lt_cv_deplibs_check_method=pass_all
- ;;
- sequent)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
- ;;
- sni)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
- lt_cv_file_magic_test_file=/lib/libc.so
- ;;
- siemens)
- lt_cv_deplibs_check_method=pass_all
- ;;
- pc)
- lt_cv_deplibs_check_method=pass_all
- ;;
- esac
- ;;
-
-tpf*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
-$as_echo "$lt_cv_deplibs_check_method" >&6; }
-
-file_magic_glob=
-want_nocaseglob=no
-if test "$build" = "$host"; then
- case $host_os in
- mingw* | pw32*)
- if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
- want_nocaseglob=yes
- else
- file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
- fi
- ;;
- esac
-fi
-
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DLLTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$DLLTOOL"; then
- ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-DLLTOOL=$ac_cv_prog_DLLTOOL
-if test -n "$DLLTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
-$as_echo "$DLLTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DLLTOOL"; then
- ac_ct_DLLTOOL=$DLLTOOL
- # Extract the first word of "dlltool", so it can be a program name with args.
-set dummy dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_DLLTOOL"; then
- ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_DLLTOOL="dlltool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
-if test -n "$ac_ct_DLLTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
-$as_echo "$ac_ct_DLLTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_DLLTOOL" = x; then
- DLLTOOL="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- DLLTOOL=$ac_ct_DLLTOOL
- fi
-else
- DLLTOOL="$ac_cv_prog_DLLTOOL"
-fi
-
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
-$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
-if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_sharedlib_from_linklib_cmd='unknown'
-
-case $host_os in
-cygwin* | mingw* | pw32* | cegcc*)
- # two different shell functions defined in ltmain.sh
- # decide which to use based on capabilities of $DLLTOOL
- case `$DLLTOOL --help 2>&1` in
- *--identify-strict*)
- lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
- ;;
- *)
- lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
- ;;
- esac
- ;;
-*)
- # fallback: assume linklib IS sharedlib
- lt_cv_sharedlib_from_linklib_cmd="$ECHO"
- ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
-$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
-sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
-test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- for ac_prog in ar
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$AR"; then
- ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$AR" && break
- done
-fi
-if test -z "$AR"; then
- ac_ct_AR=$AR
- for ac_prog in ar
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_AR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_AR"; then
- ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_AR="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-$as_echo "$ac_ct_AR" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_AR" && break
-done
-
- if test "x$ac_ct_AR" = x; then
- AR="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- AR=$ac_ct_AR
- fi
-fi
-
-: ${AR=ar}
-: ${AR_FLAGS=cru}
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
-$as_echo_n "checking for archiver @FILE support... " >&6; }
-if ${lt_cv_ar_at_file+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ar_at_file=no
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- echo conftest.$ac_objext > conftest.lst
- lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
- (eval $lt_ar_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if test "$ac_status" -eq 0; then
- # Ensure the archiver fails upon bogus file names.
- rm -f conftest.$ac_objext libconftest.a
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
- (eval $lt_ar_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if test "$ac_status" -ne 0; then
- lt_cv_ar_at_file=@
- fi
- fi
- rm -f conftest.* libconftest.a
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
-$as_echo "$lt_cv_ar_at_file" >&6; }
-
-if test "x$lt_cv_ar_at_file" = xno; then
- archiver_list_spec=
-else
- archiver_list_spec=$lt_cv_ar_at_file
-fi
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_STRIP="strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_STRIP" = x; then
- STRIP=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- STRIP=$ac_ct_STRIP
- fi
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
-
-test -z "$STRIP" && STRIP=:
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
- ac_ct_RANLIB=$RANLIB
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_RANLIB"; then
- ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_RANLIB="ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_RANLIB" = x; then
- RANLIB=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- RANLIB=$ac_ct_RANLIB
- fi
-else
- RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-test -z "$RANLIB" && RANLIB=:
-
-
-
-
-
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
- case $host_os in
- openbsd*)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
- ;;
- *)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
- ;;
- esac
- old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-
-case $host_os in
- darwin*)
- lock_old_archive_extraction=yes ;;
- *)
- lock_old_archive_extraction=no ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
-$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if ${lt_cv_sys_global_symbol_pipe+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix. What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Define system-specific variables.
-case $host_os in
-aix*)
- symcode='[BCDT]'
- ;;
-cygwin* | mingw* | pw32* | cegcc*)
- symcode='[ABCDGISTW]'
- ;;
-hpux*)
- if test "$host_cpu" = ia64; then
- symcode='[ABCDEGRST]'
- fi
- ;;
-irix* | nonstopux*)
- symcode='[BCDEGRST]'
- ;;
-osf*)
- symcode='[BCDEGQRST]'
- ;;
-solaris*)
- symcode='[BDRT]'
- ;;
-sco3.2v5*)
- symcode='[DT]'
- ;;
-sysv4.2uw2*)
- symcode='[DT]'
- ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
- symcode='[ABDT]'
- ;;
-sysv4)
- symcode='[DFNSTU]'
- ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
- symcode='[ABCDGIRSTW]' ;;
-esac
-
-# Transform an extracted symbol line into a proper C declaration.
-# Some systems (esp. on ia64) link data and code symbols differently,
-# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
- opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
- ;;
-esac
-
-# Try without a prefix underscore, then with it.
-for ac_symprfx in "" "_"; do
-
- # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
- symxfrm="\\1 $ac_symprfx\\2 \\2"
-
- # Write the raw and C identifiers.
- if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- # Fake it for dumpbin and say T for any non-static function
- # and D for any global variable.
- # Also find C++ and __fastcall symbols from MSVC++,
- # which start with @ or ?.
- lt_cv_sys_global_symbol_pipe="$AWK '"\
-" {last_section=section; section=\$ 3};"\
-" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-" \$ 0!~/External *\|/{next};"\
-" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-" {if(hide[section]) next};"\
-" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-" s[1]~/^[@?]/{print s[1], s[1]; next};"\
-" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
-" ' prfx=^$ac_symprfx"
- else
- lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
- fi
- lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
-
- # Check to see that the pipe works correctly.
- pipe_works=no
-
- rm -f conftest*
- cat > conftest.$ac_ext <<_LT_EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(void);
-void nm_test_func(void){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-_LT_EOF
-
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- # Now try to grab the symbols.
- nlist=conftest.nm
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
- (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s "$nlist"; then
- # Try sorting and uniquifying the output.
- if sort "$nlist" | uniq > "$nlist"T; then
- mv -f "$nlist"T "$nlist"
- else
- rm -f "$nlist"T
- fi
-
- # Make sure that we snagged all the symbols we need.
- if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
- if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
- cat <<_LT_EOF > conftest.$ac_ext
-/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-/* DATA imports from DLLs on WIN32 con't be const, because runtime
- relocations are performed -- see ld's documentation on pseudo-relocs. */
-# define LT_DLSYM_CONST
-#elif defined(__osf__)
-/* This system does not cope well with relocations in const data. */
-# define LT_DLSYM_CONST
-#else
-# define LT_DLSYM_CONST const
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_LT_EOF
- # Now generate the symbol file.
- eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
-
- cat <<_LT_EOF >> conftest.$ac_ext
-
-/* The mapping between symbol names and symbols. */
-LT_DLSYM_CONST struct {
- const char *name;
- void *address;
-}
-lt__PROGRAM__LTX_preloaded_symbols[] =
-{
- { "@PROGRAM@", (void *) 0 },
-_LT_EOF
- $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
- cat <<\_LT_EOF >> conftest.$ac_ext
- {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
- return lt__PROGRAM__LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-_LT_EOF
- # Now try linking the two files.
- mv conftest.$ac_objext conftstm.$ac_objext
- lt_globsym_save_LIBS=$LIBS
- lt_globsym_save_CFLAGS=$CFLAGS
- LIBS="conftstm.$ac_objext"
- CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext}; then
- pipe_works=yes
- fi
- LIBS=$lt_globsym_save_LIBS
- CFLAGS=$lt_globsym_save_CFLAGS
- else
- echo "cannot find nm_test_func in $nlist" >&5
- fi
- else
- echo "cannot find nm_test_var in $nlist" >&5
- fi
- else
- echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
- fi
- else
- echo "$progname: failed program was:" >&5
- cat conftest.$ac_ext >&5
- fi
- rm -rf conftest* conftst*
-
- # Do not use the global_symbol_pipe unless it works.
- if test "$pipe_works" = yes; then
- break
- else
- lt_cv_sys_global_symbol_pipe=
- fi
-done
-
-fi
-
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
- lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
-$as_echo "ok" >&6; }
-fi
-
-# Response file support.
-if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- nm_file_list_spec='@'
-elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
- nm_file_list_spec='@'
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
-$as_echo_n "checking for sysroot... " >&6; }
-
-# Check whether --with-sysroot was given.
-if test "${with_sysroot+set}" = set; then :
- withval=$with_sysroot;
-else
- with_sysroot=no
-fi
-
-
-lt_sysroot=
-case ${with_sysroot} in #(
- yes)
- if test "$GCC" = yes; then
- lt_sysroot=`$CC --print-sysroot 2>/dev/null`
- fi
- ;; #(
- /*)
- lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
- ;; #(
- no|'')
- ;; #(
- *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
-$as_echo "${with_sysroot}" >&6; }
- as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
- ;;
-esac
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
-$as_echo "${lt_sysroot:-no}" >&6; }
-
-
-
-
-
-# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then :
- enableval=$enable_libtool_lock;
-fi
-
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- case `/usr/bin/file conftest.$ac_objext` in
- *ELF-32*)
- HPUX_IA64_MODE="32"
- ;;
- *ELF-64*)
- HPUX_IA64_MODE="64"
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-*-*-irix6*)
- # Find out which ABI we are using.
- echo '#line '$LINENO' "configure"' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- if test "$lt_cv_prog_gnu_ld" = yes; then
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -melf32bsmip"
- ;;
- *N32*)
- LD="${LD-ld} -melf32bmipn32"
- ;;
- *64-bit*)
- LD="${LD-ld} -melf64bmip"
- ;;
- esac
- else
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -32"
- ;;
- *N32*)
- LD="${LD-ld} -n32"
- ;;
- *64-bit*)
- LD="${LD-ld} -64"
- ;;
- esac
- fi
- fi
- rm -rf conftest*
- ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- case `/usr/bin/file conftest.o` in
- *32-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_i386_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_i386"
- ;;
- ppc64-*linux*|powerpc64-*linux*)
- LD="${LD-ld} -m elf32ppclinux"
- ;;
- s390x-*linux*)
- LD="${LD-ld} -m elf_s390"
- ;;
- sparc64-*linux*)
- LD="${LD-ld} -m elf32_sparc"
- ;;
- esac
- ;;
- *64-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_x86_64_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_x86_64"
- ;;
- ppc*-*linux*|powerpc*-*linux*)
- LD="${LD-ld} -m elf64ppc"
- ;;
- s390*-*linux*|s390*-*tpf*)
- LD="${LD-ld} -m elf64_s390"
- ;;
- sparc*-*linux*)
- LD="${LD-ld} -m elf64_sparc"
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-
-*-*-sco3.2v5*)
- # On SCO OpenServer 5, we need -belf to get full-featured binaries.
- SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -belf"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
-$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if ${lt_cv_cc_needs_belf+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- lt_cv_cc_needs_belf=yes
-else
- lt_cv_cc_needs_belf=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
-$as_echo "$lt_cv_cc_needs_belf" >&6; }
- if test x"$lt_cv_cc_needs_belf" != x"yes"; then
- # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
- CFLAGS="$SAVE_CFLAGS"
- fi
- ;;
-sparc*-*solaris*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- case `/usr/bin/file conftest.o` in
- *64-bit*)
- case $lt_cv_prog_gnu_ld in
- yes*) LD="${LD-ld} -m elf64_sparc" ;;
- *)
- if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
- LD="${LD-ld} -64"
- fi
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-esac
-
-need_locks="$enable_libtool_lock"
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
-set dummy ${ac_tool_prefix}mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$MANIFEST_TOOL"; then
- ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
-if test -n "$MANIFEST_TOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
-$as_echo "$MANIFEST_TOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
- ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
- # Extract the first word of "mt", so it can be a program name with args.
-set dummy mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_MANIFEST_TOOL"; then
- ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
-if test -n "$ac_ct_MANIFEST_TOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
-$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_MANIFEST_TOOL" = x; then
- MANIFEST_TOOL=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
- fi
-else
- MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
-fi
-
-test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
-$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
-if ${lt_cv_path_mainfest_tool+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_path_mainfest_tool=no
- echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
- $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
- cat conftest.err >&5
- if $GREP 'Manifest Tool' conftest.out > /dev/null; then
- lt_cv_path_mainfest_tool=yes
- fi
- rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
-$as_echo "$lt_cv_path_mainfest_tool" >&6; }
-if test "x$lt_cv_path_mainfest_tool" != xyes; then
- MANIFEST_TOOL=:
-fi
-
-
-
-
-
-
- case $host_os in
- rhapsody* | darwin*)
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DSYMUTIL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$DSYMUTIL"; then
- ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-DSYMUTIL=$ac_cv_prog_DSYMUTIL
-if test -n "$DSYMUTIL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
-$as_echo "$DSYMUTIL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DSYMUTIL"; then
- ac_ct_DSYMUTIL=$DSYMUTIL
- # Extract the first word of "dsymutil", so it can be a program name with args.
-set dummy dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_DSYMUTIL"; then
- ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
-if test -n "$ac_ct_DSYMUTIL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
-$as_echo "$ac_ct_DSYMUTIL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_DSYMUTIL" = x; then
- DSYMUTIL=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- DSYMUTIL=$ac_ct_DSYMUTIL
- fi
-else
- DSYMUTIL="$ac_cv_prog_DSYMUTIL"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
-set dummy ${ac_tool_prefix}nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_NMEDIT+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$NMEDIT"; then
- ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-NMEDIT=$ac_cv_prog_NMEDIT
-if test -n "$NMEDIT"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
-$as_echo "$NMEDIT" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_NMEDIT"; then
- ac_ct_NMEDIT=$NMEDIT
- # Extract the first word of "nmedit", so it can be a program name with args.
-set dummy nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_NMEDIT"; then
- ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_NMEDIT="nmedit"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
-if test -n "$ac_ct_NMEDIT"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
-$as_echo "$ac_ct_NMEDIT" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_NMEDIT" = x; then
- NMEDIT=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- NMEDIT=$ac_ct_NMEDIT
- fi
-else
- NMEDIT="$ac_cv_prog_NMEDIT"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
-set dummy ${ac_tool_prefix}lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_LIPO+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$LIPO"; then
- ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-LIPO=$ac_cv_prog_LIPO
-if test -n "$LIPO"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
-$as_echo "$LIPO" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_LIPO"; then
- ac_ct_LIPO=$LIPO
- # Extract the first word of "lipo", so it can be a program name with args.
-set dummy lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_LIPO"; then
- ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_LIPO="lipo"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
-if test -n "$ac_ct_LIPO"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
-$as_echo "$ac_ct_LIPO" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_LIPO" = x; then
- LIPO=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- LIPO=$ac_ct_LIPO
- fi
-else
- LIPO="$ac_cv_prog_LIPO"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$OTOOL"; then
- ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL=$ac_cv_prog_OTOOL
-if test -n "$OTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
-$as_echo "$OTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL"; then
- ac_ct_OTOOL=$OTOOL
- # Extract the first word of "otool", so it can be a program name with args.
-set dummy otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_OTOOL"; then
- ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_OTOOL="otool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
-if test -n "$ac_ct_OTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
-$as_echo "$ac_ct_OTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_OTOOL" = x; then
- OTOOL=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- OTOOL=$ac_ct_OTOOL
- fi
-else
- OTOOL="$ac_cv_prog_OTOOL"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL64+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$OTOOL64"; then
- ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL64=$ac_cv_prog_OTOOL64
-if test -n "$OTOOL64"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
-$as_echo "$OTOOL64" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL64"; then
- ac_ct_OTOOL64=$OTOOL64
- # Extract the first word of "otool64", so it can be a program name with args.
-set dummy otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_OTOOL64"; then
- ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_OTOOL64="otool64"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
-if test -n "$ac_ct_OTOOL64"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
-$as_echo "$ac_ct_OTOOL64" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_OTOOL64" = x; then
- OTOOL64=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- OTOOL64=$ac_ct_OTOOL64
- fi
-else
- OTOOL64="$ac_cv_prog_OTOOL64"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
-$as_echo_n "checking for -single_module linker flag... " >&6; }
-if ${lt_cv_apple_cc_single_mod+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_apple_cc_single_mod=no
- if test -z "${LT_MULTI_MODULE}"; then
- # By default we will add the -single_module flag. You can override
- # by either setting the environment variable LT_MULTI_MODULE
- # non-empty at configure time, or by adding -multi_module to the
- # link flags.
- rm -rf libconftest.dylib*
- echo "int foo(void){return 1;}" > conftest.c
- echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
--dynamiclib -Wl,-single_module conftest.c" >&5
- $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
- -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
- _lt_result=$?
- if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
- lt_cv_apple_cc_single_mod=yes
- else
- cat conftest.err >&5
- fi
- rm -rf libconftest.dylib*
- rm -f conftest.*
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
-$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
-$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if ${lt_cv_ld_exported_symbols_list+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ld_exported_symbols_list=no
- save_LDFLAGS=$LDFLAGS
- echo "_main" > conftest.sym
- LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- lt_cv_ld_exported_symbols_list=yes
-else
- lt_cv_ld_exported_symbols_list=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
-$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
-$as_echo_n "checking for -force_load linker flag... " >&6; }
-if ${lt_cv_ld_force_load+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ld_force_load=no
- cat > conftest.c << _LT_EOF
-int forced_loaded() { return 2;}
-_LT_EOF
- echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
- $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
- echo "$AR cru libconftest.a conftest.o" >&5
- $AR cru libconftest.a conftest.o 2>&5
- echo "$RANLIB libconftest.a" >&5
- $RANLIB libconftest.a 2>&5
- cat > conftest.c << _LT_EOF
-int main() { return 0;}
-_LT_EOF
- echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
- $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
- _lt_result=$?
- if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
- lt_cv_ld_force_load=yes
- else
- cat conftest.err >&5
- fi
- rm -f conftest.err libconftest.a conftest conftest.c
- rm -rf conftest.dSYM
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
-$as_echo "$lt_cv_ld_force_load" >&6; }
- case $host_os in
- rhapsody* | darwin1.[012])
- _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
- darwin1.*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- darwin*) # darwin 5.x on
- # if running on 10.5 or later, the deployment target defaults
- # to the OS version, if on x86, and 10.4, the deployment
- # target defaults to 10.4. Don't you love it?
- case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
- 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- 10.[012]*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- 10.*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- esac
- ;;
- esac
- if test "$lt_cv_apple_cc_single_mod" = "yes"; then
- _lt_dar_single_mod='$single_module'
- fi
- if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
- _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
- else
- _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
- fi
- if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
- _lt_dsymutil='~$DSYMUTIL $lib || :'
- else
- _lt_dsymutil=
- fi
- ;;
- esac
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
- if ${ac_cv_prog_CPP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Double quotes because CPP needs to be expanded
- for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
- do
- ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
- break
-fi
-
- done
- ac_cv_prog_CPP=$CPP
-
-fi
- CPP=$ac_cv_prog_CPP
-else
- ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_header_stdc=yes
-else
- ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then :
- :
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- return 2;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
- inttypes.h stdint.h unistd.h
-do :
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_header in dlfcn.h
-do :
- ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
-"
-if test "x$ac_cv_header_dlfcn_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_DLFCN_H 1
-_ACEOF
-
-fi
-
-done
-
-
-
-
-
-# Set options
-
-
-
- enable_dlopen=no
-
-
- enable_win32_dll=no
-
-
- # Check whether --enable-shared was given.
-if test "${enable_shared+set}" = set; then :
- enableval=$enable_shared; p=${PACKAGE-default}
- case $enableval in
- yes) enable_shared=yes ;;
- no) enable_shared=no ;;
- *)
- enable_shared=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_shared=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_shared=yes
-fi
-
-
-
-
-
-
-
-
-
- # Check whether --enable-static was given.
-if test "${enable_static+set}" = set; then :
- enableval=$enable_static; p=${PACKAGE-default}
- case $enableval in
- yes) enable_static=yes ;;
- no) enable_static=no ;;
- *)
- enable_static=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_static=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_static=yes
-fi
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-pic was given.
-if test "${with_pic+set}" = set; then :
- withval=$with_pic; pic_mode="$withval"
-else
- pic_mode=default
-fi
-
-
-test -z "$pic_mode" && pic_mode=default
-
-
-
-
-
-
-
- # Check whether --enable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then :
- enableval=$enable_fast_install; p=${PACKAGE-default}
- case $enableval in
- yes) enable_fast_install=yes ;;
- no) enable_fast_install=no ;;
- *)
- enable_fast_install=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_fast_install=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_fast_install=yes
-fi
-
-
-
-
-
-
-
-
-
-
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-test -z "$LN_S" && LN_S="ln -s"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
-$as_echo_n "checking for objdir... " >&6; }
-if ${lt_cv_objdir+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
- lt_cv_objdir=.libs
-else
- # MS-DOS does not allow filenames that begin with a dot.
- lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
-$as_echo "$lt_cv_objdir" >&6; }
-objdir=$lt_cv_objdir
-
-
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define LT_OBJDIR "$lt_cv_objdir/"
-_ACEOF
-
-
-
-
-case $host_os in
-aix3*)
- # AIX sometimes has problems with the GCC collect2 program. For some
- # reason, if we set the COLLECT_NAMES environment variable, the problems
- # vanish in a puff of smoke.
- if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
- fi
- ;;
-esac
-
-# Global variables:
-ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$LD" && LD=ld
-test -z "$ac_objext" && ac_objext=o
-
-for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
-
-
-# Only perform the check for file, if the check method requires it
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-case $deplibs_check_method in
-file_magic*)
- if test "$file_magic_cmd" = '$MAGIC_CMD'; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
-$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $MAGIC_CMD in
-[\\/*] | ?:[\\/]*)
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- ;;
-*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
- for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/${ac_tool_prefix}file; then
- lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
- if test -n "$file_magic_test_file"; then
- case $deplibs_check_method in
- "file_magic "*)
- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- $EGREP "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
- fi ;;
- esac
- fi
- break
- fi
- done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
- ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-
-
-if test -z "$lt_cv_path_MAGIC_CMD"; then
- if test -n "$ac_tool_prefix"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
-$as_echo_n "checking for file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $MAGIC_CMD in
-[\\/*] | ?:[\\/]*)
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- ;;
-*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
- for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/file; then
- lt_cv_path_MAGIC_CMD="$ac_dir/file"
- if test -n "$file_magic_test_file"; then
- case $deplibs_check_method in
- "file_magic "*)
- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- $EGREP "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
- fi ;;
- esac
- fi
- break
- fi
- done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
- ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- else
- MAGIC_CMD=:
- fi
-fi
-
- fi
- ;;
-esac
-
-# Use C for the default configuration in the libtool script
-
-lt_save_CC="$CC"
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-objext=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-# Save the default compiler, since it gets overwritten when the other
-# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
-compiler_DEFAULT=$CC
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$RM conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$RM -r conftest*
-
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-if test -n "$compiler"; then
-
-lt_prog_compiler_no_builtin_flag=
-
-if test "$GCC" = yes; then
- case $cc_basename in
- nvcc*)
- lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
- *)
- lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
- esac
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_rtti_exceptions=no
- ac_outfile=conftest.$ac_objext
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="-fno-rtti -fno-exceptions"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_rtti_exceptions=yes
- fi
- fi
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
-
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
- lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
-else
- :
-fi
-
-fi
-
-
-
-
-
-
- lt_prog_compiler_wl=
-lt_prog_compiler_pic=
-lt_prog_compiler_static=
-
-
- if test "$GCC" = yes; then
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_static='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static='-Bstatic'
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- lt_prog_compiler_pic='-fPIC'
- ;;
- m68k)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
- ;;
- esac
- ;;
-
- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
-
- mingw* | cygwin* | pw32* | os2* | cegcc*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- # Although the cygwin gcc ignores -fPIC, still need this for old-style
- # (--disable-auto-import) libraries
- lt_prog_compiler_pic='-DDLL_EXPORT'
- ;;
-
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- lt_prog_compiler_pic='-fno-common'
- ;;
-
- haiku*)
- # PIC is the default for Haiku.
- # The "-static" flag exists, but is broken.
- lt_prog_compiler_static=
- ;;
-
- hpux*)
- # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
- # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
- # sets the default TLS model and affects inlining.
- case $host_cpu in
- hppa*64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic='-fPIC'
- ;;
- esac
- ;;
-
- interix[3-9]*)
- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- # Instead, we relocate shared libraries at runtime.
- ;;
-
- msdosdjgpp*)
- # Just because we use GCC doesn't mean we suddenly get shared libraries
- # on systems that don't support them.
- lt_prog_compiler_can_build_shared=no
- enable_shared=no
- ;;
-
- *nto* | *qnx*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- lt_prog_compiler_pic='-fPIC -shared'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- lt_prog_compiler_pic=-Kconform_pic
- fi
- ;;
-
- *)
- lt_prog_compiler_pic='-fPIC'
- ;;
- esac
-
- case $cc_basename in
- nvcc*) # Cuda Compiler Driver 2.2
- lt_prog_compiler_wl='-Xlinker '
- lt_prog_compiler_pic='-Xcompiler -fPIC'
- ;;
- esac
- else
- # PORTME Check for flag to pass linker flags through the system compiler.
- case $host_os in
- aix*)
- lt_prog_compiler_wl='-Wl,'
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static='-Bstatic'
- else
- lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
-
- mingw* | cygwin* | pw32* | os2* | cegcc*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- lt_prog_compiler_pic='-DDLL_EXPORT'
- ;;
-
- hpux9* | hpux10* | hpux11*)
- lt_prog_compiler_wl='-Wl,'
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic='+Z'
- ;;
- esac
- # Is there a better lt_prog_compiler_static that works with the bundled CC?
- lt_prog_compiler_static='${wl}-a ${wl}archive'
- ;;
-
- irix5* | irix6* | nonstopux*)
- lt_prog_compiler_wl='-Wl,'
- # PIC (with -KPIC) is the default.
- lt_prog_compiler_static='-non_shared'
- ;;
-
- linux* | k*bsd*-gnu | kopensolaris*-gnu)
- case $cc_basename in
- # old Intel for x86_64 which still supported -KPIC.
- ecc*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-static'
- ;;
- # icc used to be incompatible with GCC.
- # ICC 10 doesn't accept -KPIC any more.
- icc* | ifort*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-fPIC'
- lt_prog_compiler_static='-static'
- ;;
- # Lahey Fortran 8.1.
- lf95*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='--shared'
- lt_prog_compiler_static='--static'
- ;;
- nagfor*)
- # NAG Fortran compiler
- lt_prog_compiler_wl='-Wl,-Wl,,'
- lt_prog_compiler_pic='-PIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
- pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
- # Portland Group compilers (*not* the Pentium gcc compiler,
- # which looks to be a dead project)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-fpic'
- lt_prog_compiler_static='-Bstatic'
- ;;
- ccc*)
- lt_prog_compiler_wl='-Wl,'
- # All Alpha code is PIC.
- lt_prog_compiler_static='-non_shared'
- ;;
- xl* | bgxl* | bgf* | mpixl*)
- # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-qpic'
- lt_prog_compiler_static='-qstaticlink'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ F* | *Sun*Fortran*)
- # Sun Fortran 8.3 passes all unrecognized flags to the linker
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- lt_prog_compiler_wl=''
- ;;
- *Sun\ C*)
- # Sun C 5.9
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- lt_prog_compiler_wl='-Wl,'
- ;;
- esac
- ;;
- esac
- ;;
-
- newsos6)
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- *nto* | *qnx*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- lt_prog_compiler_pic='-fPIC -shared'
- ;;
-
- osf3* | osf4* | osf5*)
- lt_prog_compiler_wl='-Wl,'
- # All OSF/1 code is PIC.
- lt_prog_compiler_static='-non_shared'
- ;;
-
- rdos*)
- lt_prog_compiler_static='-non_shared'
- ;;
-
- solaris*)
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- case $cc_basename in
- f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
- lt_prog_compiler_wl='-Qoption ld ';;
- *)
- lt_prog_compiler_wl='-Wl,';;
- esac
- ;;
-
- sunos4*)
- lt_prog_compiler_wl='-Qoption ld '
- lt_prog_compiler_pic='-PIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- sysv4 | sysv4.2uw2* | sysv4.3*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec ;then
- lt_prog_compiler_pic='-Kconform_pic'
- lt_prog_compiler_static='-Bstatic'
- fi
- ;;
-
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- unicos*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_can_build_shared=no
- ;;
-
- uts4*)
- lt_prog_compiler_pic='-pic'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- *)
- lt_prog_compiler_can_build_shared=no
- ;;
- esac
- fi
-
-case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- lt_prog_compiler_pic=
- ;;
- *)
- lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
- ;;
-esac
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
-if ${lt_cv_prog_compiler_pic+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
-$as_echo "$lt_cv_prog_compiler_pic" >&6; }
-lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if ${lt_cv_prog_compiler_pic_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_pic_works=no
- ac_outfile=conftest.$ac_objext
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_pic_works=yes
- fi
- fi
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
-$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
- case $lt_prog_compiler_pic in
- "" | " "*) ;;
- *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
- esac
-else
- lt_prog_compiler_pic=
- lt_prog_compiler_can_build_shared=no
-fi
-
-fi
-
-
-
-
-
-
-
-
-
-
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if ${lt_cv_prog_compiler_static_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_static_works=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
- echo "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_static_works=yes
- fi
- else
- lt_cv_prog_compiler_static_works=yes
- fi
- fi
- $RM -r conftest*
- LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
-$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_static_works" = xyes; then
- :
-else
- lt_prog_compiler_static=
-fi
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_c_o=no
- $RM -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o=yes
- fi
- fi
- chmod u+w . 2>&5
- $RM conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
- $RM out/* && rmdir out
- cd ..
- $RM -r conftest
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_c_o=no
- $RM -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o=yes
- fi
- fi
- chmod u+w . 2>&5
- $RM conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
- $RM out/* && rmdir out
- cd ..
- $RM -r conftest
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
- # do not overwrite the value of need_locks provided by the user
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
-$as_echo_n "checking if we can lock with hard links... " >&6; }
- hard_links=yes
- $RM conftest*
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- touch conftest.a
- ln conftest.a conftest.b 2>&5 || hard_links=no
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
-$as_echo "$hard_links" >&6; }
- if test "$hard_links" = no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
- need_locks=warn
- fi
-else
- need_locks=no
-fi
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
-
- runpath_var=
- allow_undefined_flag=
- always_export_symbols=no
- archive_cmds=
- archive_expsym_cmds=
- compiler_needs_object=no
- enable_shared_with_static_runtimes=no
- export_dynamic_flag_spec=
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- hardcode_automatic=no
- hardcode_direct=no
- hardcode_direct_absolute=no
- hardcode_libdir_flag_spec=
- hardcode_libdir_flag_spec_ld=
- hardcode_libdir_separator=
- hardcode_minus_L=no
- hardcode_shlibpath_var=unsupported
- inherit_rpath=no
- link_all_deplibs=unknown
- module_cmds=
- module_expsym_cmds=
- old_archive_from_new_cmds=
- old_archive_from_expsyms_cmds=
- thread_safe_flag_spec=
- whole_archive_flag_spec=
- # include_expsyms should be a list of space-separated symbols to be *always*
- # included in the symbol list
- include_expsyms=
- # exclude_expsyms can be an extended regexp of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
- exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
- # platforms (ab)use it in PIC code, but their linkers get confused if
- # the symbol is explicitly referenced. Since portable code cannot
- # rely on this symbol name, it's probably fine to never include it in
- # preloaded symbol tables.
- # Exclude shared library initialization/finalization symbols.
- extract_expsyms_cmds=
-
- case $host_os in
- cygwin* | mingw* | pw32* | cegcc*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- if test "$GCC" != yes; then
- with_gnu_ld=no
- fi
- ;;
- interix*)
- # we just hope/assume this is gcc and not c89 (= MSVC++)
- with_gnu_ld=yes
- ;;
- openbsd*)
- with_gnu_ld=no
- ;;
- esac
-
- ld_shlibs=yes
-
- # On some targets, GNU ld is compatible enough with the native linker
- # that we're better off using the native interface for both.
- lt_use_gnu_ld_interface=no
- if test "$with_gnu_ld" = yes; then
- case $host_os in
- aix*)
- # The AIX port of GNU ld has always aspired to compatibility
- # with the native linker. However, as the warning in the GNU ld
- # block says, versions before 2.19.5* couldn't really create working
- # shared libraries, regardless of the interface used.
- case `$LD -v 2>&1` in
- *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
- *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
- *\ \(GNU\ Binutils\)\ [3-9]*) ;;
- *)
- lt_use_gnu_ld_interface=yes
- ;;
- esac
- ;;
- *)
- lt_use_gnu_ld_interface=yes
- ;;
- esac
- fi
-
- if test "$lt_use_gnu_ld_interface" = yes; then
- # If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
-
- # Set some defaults for GNU ld with shared library support. These
- # are reset later if shared libraries are not supported. Putting them
- # here allows them to be overridden if necessary.
- runpath_var=LD_RUN_PATH
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- export_dynamic_flag_spec='${wl}--export-dynamic'
- # ancient GNU ld didn't support --whole-archive et. al.
- if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
- whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- whole_archive_flag_spec=
- fi
- supports_anon_versioning=no
- case `$LD -v 2>&1` in
- *GNU\ gold*) supports_anon_versioning=yes ;;
- *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
- *\ 2.11.*) ;; # other 2.11 versions
- *) supports_anon_versioning=yes ;;
- esac
-
- # See if GNU ld supports shared libraries.
- case $host_os in
- aix[3-9]*)
- # On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
- ld_shlibs=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.19, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support. If you
-*** really care for shared libraries, you may want to install binutils
-*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
-*** You will then need to restart the configuration process.
-
-_LT_EOF
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds=''
- ;;
- m68k)
- archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- ;;
- esac
- ;;
-
- beos*)
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- allow_undefined_flag=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
-
- cygwin* | mingw* | pw32* | cegcc*)
- # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
- # as there is no search path for DLLs.
- hardcode_libdir_flag_spec='-L$libdir'
- export_dynamic_flag_spec='${wl}--export-all-symbols'
- allow_undefined_flag=unsupported
- always_export_symbols=no
- enable_shared_with_static_runtimes=yes
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
- exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
-
- if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- ld_shlibs=no
- fi
- ;;
-
- haiku*)
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- link_all_deplibs=yes
- ;;
-
- interix[3-9]*)
- hardcode_direct=no
- hardcode_shlibpath_var=no
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- export_dynamic_flag_spec='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
-
- gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
- tmp_diet=no
- if test "$host_os" = linux-dietlibc; then
- case $cc_basename in
- diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
- esac
- fi
- if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
- && test "$tmp_diet" = no
- then
- tmp_addflag=' $pic_flag'
- tmp_sharedflag='-shared'
- case $cc_basename,$host_cpu in
- pgcc*) # Portland Group C compiler
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag'
- ;;
- pgf77* | pgf90* | pgf95* | pgfortran*)
- # Portland Group f77 and f90 compilers
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag -Mnomain' ;;
- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
- tmp_addflag=' -i_dynamic' ;;
- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
- tmp_addflag=' -i_dynamic -nofor_main' ;;
- ifc* | ifort*) # Intel Fortran compiler
- tmp_addflag=' -nofor_main' ;;
- lf95*) # Lahey Fortran 8.1
- whole_archive_flag_spec=
- tmp_sharedflag='--shared' ;;
- xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
- tmp_sharedflag='-qmkshrobj'
- tmp_addflag= ;;
- nvcc*) # Cuda Compiler Driver 2.2
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- compiler_needs_object=yes
- ;;
- esac
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*) # Sun C 5.9
- whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- compiler_needs_object=yes
- tmp_sharedflag='-G' ;;
- *Sun\ F*) # Sun Fortran 8.3
- tmp_sharedflag='-G' ;;
- esac
- archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
- if test "x$supports_anon_versioning" = xyes; then
- archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- fi
-
- case $cc_basename in
- xlf* | bgf* | bgxlf* | mpixlf*)
- # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
- whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
- hardcode_libdir_flag_spec=
- hardcode_libdir_flag_spec_ld='-rpath $libdir'
- archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
- if test "x$supports_anon_versioning" = xyes; then
- archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
- fi
- ;;
- esac
- else
- ld_shlibs=no
- fi
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
- wlarc=
- else
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- fi
- ;;
-
- solaris*)
- if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
- ld_shlibs=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
- case `$LD -v 2>&1` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
- ld_shlibs=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- ;;
- *)
- # For security reasons, it is highly recommended that you always
- # use absolute paths for naming shared libraries, and exclude the
- # DT_RUNPATH tag from executables and libraries. But doing so
- # requires that you compile everything twice, which is a pain.
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
- esac
- ;;
-
- sunos4*)
- archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- wlarc=
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- *)
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
- esac
-
- if test "$ld_shlibs" = no; then
- runpath_var=
- hardcode_libdir_flag_spec=
- export_dynamic_flag_spec=
- whole_archive_flag_spec=
- fi
- else
- # PORTME fill in a description of your system's linker (not GNU ld)
- case $host_os in
- aix3*)
- allow_undefined_flag=unsupported
- always_export_symbols=yes
- archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
- # Note: this linker hardcodes the directories in LIBPATH if there
- # are no directories specified by -L.
- hardcode_minus_L=yes
- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
- # Neither direct hardcoding nor static linking is supported with a
- # broken collect2.
- hardcode_direct=unsupported
- fi
- ;;
-
- aix[4-9]*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- # Also, AIX nm treats weak defined symbols like other global
- # defined symbols, whereas GNU nm marks them as "W".
- if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
- export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- else
- export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- fi
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
- for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- aix_use_runtimelinking=yes
- break
- fi
- done
- ;;
- esac
-
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
-
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- archive_cmds=''
- hardcode_direct=yes
- hardcode_direct_absolute=yes
- hardcode_libdir_separator=':'
- link_all_deplibs=yes
- file_list_spec='${wl}-f,'
-
- if test "$GCC" = yes; then
- case $host_os in aix4.[012]|aix4.[012].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" &&
- strings "$collect2name" | $GREP resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- :
- else
- # We have old collect2
- hardcode_direct=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- hardcode_minus_L=yes
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_libdir_separator=
- fi
- ;;
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
-
- export_dynamic_flag_spec='${wl}-bexpall'
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- always_export_symbols=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- allow_undefined_flag='-berok'
- # Determine the default libpath from the value encoded in an
- # empty executable.
- if test "${lt_cv_aix_libpath+set}" = set; then
- aix_libpath=$lt_cv_aix_libpath
-else
- if ${lt_cv_aix_libpath_+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
- lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\([^ ]*\) *$/\1/
- p
- }
- }'
- lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- # Check for a 64-bit object if we didn't find anything.
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_="/usr/lib:/lib"
- fi
-
-fi
-
- aix_libpath=$lt_cv_aix_libpath_
-fi
-
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
- allow_undefined_flag="-z nodefs"
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an
- # empty executable.
- if test "${lt_cv_aix_libpath+set}" = set; then
- aix_libpath=$lt_cv_aix_libpath
-else
- if ${lt_cv_aix_libpath_+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
- lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\([^ ]*\) *$/\1/
- p
- }
- }'
- lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- # Check for a 64-bit object if we didn't find anything.
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_="/usr/lib:/lib"
- fi
-
-fi
-
- aix_libpath=$lt_cv_aix_libpath_
-fi
-
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- no_undefined_flag=' ${wl}-bernotok'
- allow_undefined_flag=' ${wl}-berok'
- if test "$with_gnu_ld" = yes; then
- # We only use this code for GNU lds that support --whole-archive.
- whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
- else
- # Exported symbols can be pulled into shared objects from archives
- whole_archive_flag_spec='$convenience'
- fi
- archive_cmds_need_lc=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds=''
- ;;
- m68k)
- archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- ;;
- esac
- ;;
-
- bsdi[45]*)
- export_dynamic_flag_spec=-rdynamic
- ;;
-
- cygwin* | mingw* | pw32* | cegcc*)
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- case $cc_basename in
- cl*)
- # Native MSVC
- hardcode_libdir_flag_spec=' '
- allow_undefined_flag=unsupported
- always_export_symbols=yes
- file_list_spec='@'
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
- archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
- else
- sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
- fi~
- $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
- linknames='
- # The linker will not automatically build a static lib if we build a DLL.
- # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
- enable_shared_with_static_runtimes=yes
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
- # Don't use ranlib
- old_postinstall_cmds='chmod 644 $oldlib'
- postlink_cmds='lt_outputfile="@OUTPUT@"~
- lt_tool_outputfile="@TOOL_OUTPUT@"~
- case $lt_outputfile in
- *.exe|*.EXE) ;;
- *)
- lt_outputfile="$lt_outputfile.exe"
- lt_tool_outputfile="$lt_tool_outputfile.exe"
- ;;
- esac~
- if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
- $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
- $RM "$lt_outputfile.manifest";
- fi'
- ;;
- *)
- # Assume MSVC wrapper
- hardcode_libdir_flag_spec=' '
- allow_undefined_flag=unsupported
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
- # The linker will automatically build a .lib file if we build a DLL.
- old_archive_from_new_cmds='true'
- # FIXME: Should let the user specify the lib program.
- old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
- enable_shared_with_static_runtimes=yes
- ;;
- esac
- ;;
-
- darwin* | rhapsody*)
-
-
- archive_cmds_need_lc=no
- hardcode_direct=no
- hardcode_automatic=yes
- hardcode_shlibpath_var=unsupported
- if test "$lt_cv_ld_force_load" = "yes"; then
- whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
- else
- whole_archive_flag_spec=''
- fi
- link_all_deplibs=yes
- allow_undefined_flag="$_lt_dar_allow_undefined"
- case $cc_basename in
- ifort*) _lt_dar_can_shared=yes ;;
- *) _lt_dar_can_shared=$GCC ;;
- esac
- if test "$_lt_dar_can_shared" = "yes"; then
- output_verbose_link_cmd=func_echo_all
- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-
- else
- ld_shlibs=no
- fi
-
- ;;
-
- dgux*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_shlibpath_var=no
- ;;
-
- freebsd1*)
- ld_shlibs=no
- ;;
-
- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
- # support. Future versions do this automatically, but an explicit c++rt0.o
- # does not break anything, and helps significantly (at the cost of a little
- # extra space).
- freebsd2.2*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes
- hardcode_minus_L=yes
- hardcode_shlibpath_var=no
- ;;
-
- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | dragonfly*)
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- hpux9*)
- if test "$GCC" = yes; then
- archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- fi
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_direct=yes
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- export_dynamic_flag_spec='${wl}-E'
- ;;
-
- hpux10*)
- if test "$GCC" = yes && test "$with_gnu_ld" = no; then
- archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_flag_spec_ld='+b $libdir'
- hardcode_libdir_separator=:
- hardcode_direct=yes
- hardcode_direct_absolute=yes
- export_dynamic_flag_spec='${wl}-E'
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- fi
- ;;
-
- hpux11*)
- if test "$GCC" = yes && test "$with_gnu_ld" = no; then
- case $host_cpu in
- hppa*64*)
- archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- else
- case $host_cpu in
- hppa*64*)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
-
- # Older versions of the 11.00 compiler do not understand -b yet
- # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
-$as_echo_n "checking if $CC understands -b... " >&6; }
-if ${lt_cv_prog_compiler__b+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler__b=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS -b"
- echo "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler__b=yes
- fi
- else
- lt_cv_prog_compiler__b=yes
- fi
- fi
- $RM -r conftest*
- LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
-$as_echo "$lt_cv_prog_compiler__b" >&6; }
-
-if test x"$lt_cv_prog_compiler__b" = xyes; then
- archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-else
- archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-fi
-
- ;;
- esac
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
-
- case $host_cpu in
- hppa*64*|ia64*)
- hardcode_direct=no
- hardcode_shlibpath_var=no
- ;;
- *)
- hardcode_direct=yes
- hardcode_direct_absolute=yes
- export_dynamic_flag_spec='${wl}-E'
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- ;;
- esac
- fi
- ;;
-
- irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- # Try to use the -exported_symbol ld option, if it does not
- # work, assume that -exports_file does not work either and
- # implicitly export all symbols.
- # This should be the same for all languages, so no per-tag cache variable.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
-$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
-if ${lt_cv_irix_exported_symbol+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-int foo (void) { return 0; }
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- lt_cv_irix_exported_symbol=yes
-else
- lt_cv_irix_exported_symbol=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS="$save_LDFLAGS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
-$as_echo "$lt_cv_irix_exported_symbol" >&6; }
- if test "$lt_cv_irix_exported_symbol" = yes; then
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
- fi
- else
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
- fi
- archive_cmds_need_lc='no'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- inherit_rpath=yes
- link_all_deplibs=yes
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
- else
- archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
- fi
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- newsos6)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_shlibpath_var=no
- ;;
-
- *nto* | *qnx*)
- ;;
-
- openbsd*)
- if test -f /usr/libexec/ld.so; then
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- hardcode_direct_absolute=yes
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- export_dynamic_flag_spec='${wl}-E'
- else
- case $host_os in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-R$libdir'
- ;;
- *)
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- ;;
- esac
- fi
- else
- ld_shlibs=no
- fi
- ;;
-
- os2*)
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- allow_undefined_flag=unsupported
- archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
- ;;
-
- osf3*)
- if test "$GCC" = yes; then
- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- fi
- archive_cmds_need_lc='no'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- ;;
-
- osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- else
- allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
- $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
-
- # Both c and cxx compiler support -rpath directly
- hardcode_libdir_flag_spec='-rpath $libdir'
- fi
- archive_cmds_need_lc='no'
- hardcode_libdir_separator=:
- ;;
-
- solaris*)
- no_undefined_flag=' -z defs'
- if test "$GCC" = yes; then
- wlarc='${wl}'
- archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
- else
- case `$CC -V 2>&1` in
- *"Compilers 5.0"*)
- wlarc=''
- archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
- ;;
- *)
- wlarc='${wl}'
- archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
- ;;
- esac
- fi
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_shlibpath_var=no
- case $host_os in
- solaris2.[0-5] | solaris2.[0-5].*) ;;
- *)
- # The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'. GCC discards it without `$wl',
- # but is careful enough not to reorder.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- if test "$GCC" = yes; then
- whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
- else
- whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
- fi
- ;;
- esac
- link_all_deplibs=yes
- ;;
-
- sunos4*)
- if test "x$host_vendor" = xsequent; then
- # Use $CC to link under sequent, because it throws in some extra .o
- # files that make .init and .fini sections work.
- archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
- fi
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_direct=yes
- hardcode_minus_L=yes
- hardcode_shlibpath_var=no
- ;;
-
- sysv4)
- case $host_vendor in
- sni)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes # is this really true???
- ;;
- siemens)
- ## LD is ld it makes a PLAMLIB
- ## CC just makes a GrossModule.
- archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- reload_cmds='$CC -r -o $output$reload_objs'
- hardcode_direct=no
- ;;
- motorola)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=no #Motorola manual says yes, but my tests say they lie
- ;;
- esac
- runpath_var='LD_RUN_PATH'
- hardcode_shlibpath_var=no
- ;;
-
- sysv4.3*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var=no
- export_dynamic_flag_spec='-Bexport'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var=no
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- ld_shlibs=yes
- fi
- ;;
-
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
- no_undefined_flag='${wl}-z,text'
- archive_cmds_need_lc=no
- hardcode_shlibpath_var=no
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- no_undefined_flag='${wl}-z,text'
- allow_undefined_flag='${wl}-z,nodefs'
- archive_cmds_need_lc=no
- hardcode_shlibpath_var=no
- hardcode_libdir_flag_spec='${wl}-R,$libdir'
- hardcode_libdir_separator=':'
- link_all_deplibs=yes
- export_dynamic_flag_spec='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- uts4*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_shlibpath_var=no
- ;;
-
- *)
- ld_shlibs=no
- ;;
- esac
-
- if test x$host_vendor = xsni; then
- case $host in
- sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- export_dynamic_flag_spec='${wl}-Blargedynsym'
- ;;
- esac
- fi
- fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
-$as_echo "$ld_shlibs" >&6; }
-test "$ld_shlibs" = no && can_build_shared=no
-
-with_gnu_ld=$with_gnu_ld
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc" in
-x|xyes)
- # Assume -lc should be added
- archive_cmds_need_lc=yes
-
- if test "$enable_shared" = yes && test "$GCC" = yes; then
- case $archive_cmds in
- *'~'*)
- # FIXME: we may have to deal with multi-command sequences.
- ;;
- '$CC '*)
- # Test whether the compiler implicitly links with -lc since on some
- # systems, -lgcc has to come before -lc. If gcc already passes -lc
- # to ld, don't add -lc before -lgcc.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
-$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if ${lt_cv_archive_cmds_need_lc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- $RM conftest*
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$lt_prog_compiler_wl
- pic_flag=$lt_prog_compiler_pic
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$allow_undefined_flag
- allow_undefined_flag=
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
- (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- then
- lt_cv_archive_cmds_need_lc=no
- else
- lt_cv_archive_cmds_need_lc=yes
- fi
- allow_undefined_flag=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
-$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
- archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
- ;;
- esac
- fi
- ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
-$as_echo_n "checking dynamic linker characteristics... " >&6; }
-
-if test "$GCC" = yes; then
- case $host_os in
- darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
- *) lt_awk_arg="/^libraries:/" ;;
- esac
- case $host_os in
- mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;;
- *) lt_sed_strip_eq="s,=/,/,g" ;;
- esac
- lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
- case $lt_search_path_spec in
- *\;*)
- # if the path contains ";" then we assume it to be the separator
- # otherwise default to the standard path separator (i.e. ":") - it is
- # assumed that no part of a normal pathname contains ";" but that should
- # okay in the real world where ";" in dirpaths is itself problematic.
- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
- ;;
- *)
- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
- ;;
- esac
- # Ok, now we have the path, separated by spaces, we can step through it
- # and add multilib dir if necessary.
- lt_tmp_lt_search_path_spec=
- lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
- for lt_sys_path in $lt_search_path_spec; do
- if test -d "$lt_sys_path/$lt_multi_os_dir"; then
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
- else
- test -d "$lt_sys_path" && \
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
- fi
- done
- lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
-BEGIN {RS=" "; FS="/|\n";} {
- lt_foo="";
- lt_count=0;
- for (lt_i = NF; lt_i > 0; lt_i--) {
- if ($lt_i != "" && $lt_i != ".") {
- if ($lt_i == "..") {
- lt_count++;
- } else {
- if (lt_count == 0) {
- lt_foo="/" $lt_i lt_foo;
- } else {
- lt_count--;
- }
- }
- }
- }
- if (lt_foo != "") { lt_freq[lt_foo]++; }
- if (lt_freq[lt_foo] == 1) { print lt_foo; }
-}'`
- # AWK program above erroneously prepends '/' to C:/dos/paths
- # for these hosts.
- case $host_os in
- mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
- $SED 's,/\([A-Za-z]:\),\1,g'` ;;
- esac
- sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
-else
- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
- shlibpath_var=LIBPATH
-
- # AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
-
-aix[4-9]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
- # AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- else
- # With GCC up to 2.95.x, collect2 would create an import file
- # for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
- # development snapshots of GCC prior to 3.0.
- case $host_os in
- aix4 | aix4.[01] | aix4.[01].*)
- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
- echo ' yes '
- echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
- :
- else
- can_build_shared=no
- fi
- ;;
- esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
- # soname into executable. Probably we can add versioning support to
- # collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
- # instead of lib<name>.a to let people know that these are not
- # typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
- # We preserve .a as extension for shared libraries through AIX4.2
- # and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
- shlibpath_var=LIBPATH
- fi
- ;;
-
-amigaos*)
- case $host_cpu in
- powerpc)
- # Since July 2007 AmigaOS4 officially supports .so libraries.
- # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- ;;
- m68k)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
- ;;
- esac
- ;;
-
-beos*)
- library_names_spec='${libname}${shared_ext}'
- dynamic_linker="$host_os ld.so"
- shlibpath_var=LIBRARY_PATH
- ;;
-
-bsdi[45]*)
- version_type=linux
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
- # the default ld.so.conf also contains /usr/contrib/lib and
- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
- # libtool to hard-code these into programs
- ;;
-
-cygwin* | mingw* | pw32* | cegcc*)
- version_type=windows
- shrext_cmds=".dll"
- need_version=no
- need_lib_prefix=no
-
- case $GCC,$cc_basename in
- yes,*)
- # gcc
- library_names_spec='$libname.dll.a'
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname~
- chmod a+x \$dldir/$dlname~
- if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
- eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
- fi'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $RM \$dlpath'
- shlibpath_overrides_runpath=yes
-
- case $host_os in
- cygwin*)
- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-
- sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
- ;;
- mingw* | cegcc*)
- # MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- ;;
- pw32*)
- # pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- ;;
- esac
- dynamic_linker='Win32 ld.exe'
- ;;
-
- *,cl*)
- # Native MSVC
- libname_spec='$name'
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- library_names_spec='${libname}.dll.lib'
-
- case $build_os in
- mingw*)
- sys_lib_search_path_spec=
- lt_save_ifs=$IFS
- IFS=';'
- for lt_path in $LIB
- do
- IFS=$lt_save_ifs
- # Let DOS variable expansion print the short 8.3 style file name.
- lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
- sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
- done
- IFS=$lt_save_ifs
- # Convert to MSYS style.
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
- ;;
- cygwin*)
- # Convert to unix form, then to dos form, then back to unix form
- # but this time dos style (no spaces!) so that the unix form looks
- # like /cygdrive/c/PROGRA~1:/cygdr...
- sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
- sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
- sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- ;;
- *)
- sys_lib_search_path_spec="$LIB"
- if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
- # It is most probably a Windows format PATH.
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- # FIXME: find the short name or the path components, as spaces are
- # common. (e.g. "Program Files" -> "PROGRA~1")
- ;;
- esac
-
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $RM \$dlpath'
- shlibpath_overrides_runpath=yes
- dynamic_linker='Win32 link.exe'
- ;;
-
- *)
- # Assume MSVC wrapper
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
- dynamic_linker='Win32 ld.exe'
- ;;
- esac
- # FIXME: first we should search . and the directory the executable is in
- shlibpath_var=PATH
- ;;
-
-darwin* | rhapsody*)
- dynamic_linker="$host_os dyld"
- version_type=darwin
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
- shlibpath_overrides_runpath=yes
- shlibpath_var=DYLD_LIBRARY_PATH
- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-
- sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
- ;;
-
-dgux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-freebsd1*)
- dynamic_linker=no
- ;;
-
-freebsd* | dragonfly*)
- # DragonFly does not have aout. When/if they implement a new
- # versioning mechanism, adjust this.
- if test -x /usr/bin/objformat; then
- objformat=`/usr/bin/objformat`
- else
- case $host_os in
- freebsd[123]*) objformat=aout ;;
- *) objformat=elf ;;
- esac
- fi
- version_type=freebsd-$objformat
- case $version_type in
- freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- need_version=no
- need_lib_prefix=no
- ;;
- freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
- need_version=yes
- ;;
- esac
- shlibpath_var=LD_LIBRARY_PATH
- case $host_os in
- freebsd2*)
- shlibpath_overrides_runpath=yes
- ;;
- freebsd3.[01]* | freebsdelf3.[01]*)
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
- freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
- *) # from 4.6 on, and DragonFly
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- esac
- ;;
-
-gnu*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- ;;
-
-haiku*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- dynamic_linker="$host_os runtime_loader"
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
- hardcode_into_libs=yes
- ;;
-
-hpux9* | hpux10* | hpux11*)
- # Give a soname corresponding to the major version so that dld.sl refuses to
- # link against other versions.
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- case $host_cpu in
- ia64*)
- shrext_cmds='.so'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.so"
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
- else
- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
- fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
- shrext_cmds='.sl'
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=SHLIB_PATH
- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
- esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
- postinstall_cmds='chmod 555 $lib'
- # or fails outright, so override atomically:
- install_override_mode=555
- ;;
-
-interix[3-9]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $host_os in
- nonstopux*) version_type=nonstopux ;;
- *)
- if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
- else
- version_type=irix
- fi ;;
- esac
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
- case $host_os in
- irix5* | nonstopux*)
- libsuff= shlibsuff=
- ;;
- *)
- case $LD in # libtool.m4 will add one of these switches to LD
- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
- libsuff= shlibsuff= libmagic=32-bit;;
- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
- libsuff=32 shlibsuff=N32 libmagic=N32;;
- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
- libsuff=64 shlibsuff=64 libmagic=64-bit;;
- *) libsuff= shlibsuff= libmagic=never-match;;
- esac
- ;;
- esac
- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
- hardcode_into_libs=yes
- ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
- dynamic_linker=no
- ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
-
- # Some binutils ld are patched to set DT_RUNPATH
- if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_shlibpath_overrides_runpath=no
- save_LDFLAGS=$LDFLAGS
- save_libdir=$libdir
- eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
- LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
- lt_cv_shlibpath_overrides_runpath=yes
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS=$save_LDFLAGS
- libdir=$save_libdir
-
-fi
-
- shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
-
- # This implies no fast_install, which is unacceptable.
- # Some rework will be needed to allow for fast_install
- # before this can be enabled.
- hardcode_into_libs=yes
-
- # Append ld.so.conf contents to the search path
- if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
- fi
-
- # We used to test for /lib/ld.so.1 and disable shared libraries on
- # powerpc, because MkLinux only supported shared libraries with the
- # GNU dynamic linker. Since this was broken with cross compilers,
- # most powerpc-linux boxes support dynamic linking these days and
- # people can always --disable-shared, the test was removed, and we
- # assume the GNU/Linux dynamic linker is in use.
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-netbsd*)
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- dynamic_linker='NetBSD (a.out) ld.so'
- else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='NetBSD ld.elf_so'
- fi
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
-
-newsos6)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-*nto* | *qnx*)
- version_type=qnx
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='ldqnx.so'
- ;;
-
-openbsd*)
- version_type=sunos
- sys_lib_dlsearch_path_spec="/usr/lib"
- need_lib_prefix=no
- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
- case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
- esac
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[89] | openbsd2.[89].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
- else
- shlibpath_overrides_runpath=yes
- fi
- ;;
-
-os2*)
- libname_spec='$name'
- shrext_cmds=".dll"
- need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
- dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
- ;;
-
-osf3* | osf4* | osf5*)
- version_type=osf
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
- ;;
-
-rdos*)
- dynamic_linker=no
- ;;
-
-solaris*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- # ldd complains unless libraries are executable
- postinstall_cmds='chmod +x $lib'
- ;;
-
-sunos4*)
- version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- fi
- need_version=yes
- ;;
-
-sysv4 | sysv4.3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- case $host_vendor in
- sni)
- shlibpath_overrides_runpath=no
- need_lib_prefix=no
- runpath_var=LD_RUN_PATH
- ;;
- siemens)
- need_lib_prefix=no
- ;;
- motorola)
- need_lib_prefix=no
- need_version=no
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
- ;;
- esac
- ;;
-
-sysv4*MP*)
- if test -d /usr/nec ;then
- version_type=linux
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
- shlibpath_var=LD_LIBRARY_PATH
- fi
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- version_type=freebsd-elf
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- if test "$with_gnu_ld" = yes; then
- sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
- else
- sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
- case $host_os in
- sco3.2v5*)
- sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
- ;;
- esac
- fi
- sys_lib_dlsearch_path_spec='/usr/lib'
- ;;
-
-tpf*)
- # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-uts4*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-*)
- dynamic_linker=no
- ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
-$as_echo "$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
- sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
- sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
-$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
-hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" ||
- test -n "$runpath_var" ||
- test "X$hardcode_automatic" = "Xyes" ; then
-
- # We can hardcode non-existent directories.
- if test "$hardcode_direct" != no &&
- # If the only mechanism to avoid hardcoding is shlibpath_var, we
- # have to relink, otherwise we might link with an installed library
- # when we should be linking with a yet-to-be-installed one
- ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
- test "$hardcode_minus_L" != no; then
- # Linking always hardcodes the temporary library directory.
- hardcode_action=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- hardcode_action=immediate
- fi
-else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- hardcode_action=unsupported
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
-$as_echo "$hardcode_action" >&6; }
-
-if test "$hardcode_action" = relink ||
- test "$inherit_rpath" = yes; then
- # Fast installation is not supported
- enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
- # Fast installation is not necessary
- enable_fast_install=needless
-fi
-
-
-
-
-
-
- if test "x$enable_dlopen" != xyes; then
- enable_dlopen=unknown
- enable_dlopen_self=unknown
- enable_dlopen_self_static=unknown
-else
- lt_cv_dlopen=no
- lt_cv_dlopen_libs=
-
- case $host_os in
- beos*)
- lt_cv_dlopen="load_add_on"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
- ;;
-
- mingw* | pw32* | cegcc*)
- lt_cv_dlopen="LoadLibrary"
- lt_cv_dlopen_libs=
- ;;
-
- cygwin*)
- lt_cv_dlopen="dlopen"
- lt_cv_dlopen_libs=
- ;;
-
- darwin*)
- # if libdl is installed we need to link against it
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dl_dlopen=yes
-else
- ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-
- lt_cv_dlopen="dyld"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
-
-fi
-
- ;;
-
- *)
- ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = xyes; then :
- lt_cv_dlopen="shl_load"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
-$as_echo_n "checking for shl_load in -ldld... " >&6; }
-if ${ac_cv_lib_dld_shl_load+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load ();
-int
-main ()
-{
-return shl_load ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dld_shl_load=yes
-else
- ac_cv_lib_dld_shl_load=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
-$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
- lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
-else
- ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dl_dlopen=yes
-else
- ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
-$as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if ${ac_cv_lib_svld_dlopen+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsvld $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_svld_dlopen=yes
-else
- ac_cv_lib_svld_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
-$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
-$as_echo_n "checking for dld_link in -ldld... " >&6; }
-if ${ac_cv_lib_dld_dld_link+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dld_link ();
-int
-main ()
-{
-return dld_link ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dld_dld_link=yes
-else
- ac_cv_lib_dld_dld_link=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
-$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
- lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
- ;;
- esac
-
- if test "x$lt_cv_dlopen" != xno; then
- enable_dlopen=yes
- else
- enable_dlopen=no
- fi
-
- case $lt_cv_dlopen in
- dlopen)
- save_CPPFLAGS="$CPPFLAGS"
- test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
- save_LDFLAGS="$LDFLAGS"
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
- save_LIBS="$LIBS"
- LIBS="$lt_cv_dlopen_libs $LIBS"
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
-$as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- lt_cv_dlopen_self=cross
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
- correspondingly for the symbols needed. */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
-
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else
- {
- if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- else puts (dlerror ());
- }
- /* dlclose (self); */
- }
- else
- puts (dlerror ());
-
- return status;
-}
-_LT_EOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) >&5 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
- x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
- x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
- esac
- else :
- # compilation failed
- lt_cv_dlopen_self=no
- fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
-$as_echo "$lt_cv_dlopen_self" >&6; }
-
- if test "x$lt_cv_dlopen_self" = xyes; then
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
-$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self_static+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- lt_cv_dlopen_self_static=cross
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
- correspondingly for the symbols needed. */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
-
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else
- {
- if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- else puts (dlerror ());
- }
- /* dlclose (self); */
- }
- else
- puts (dlerror ());
-
- return status;
-}
-_LT_EOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) >&5 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
- x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
- x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
- esac
- else :
- # compilation failed
- lt_cv_dlopen_self_static=no
- fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
-$as_echo "$lt_cv_dlopen_self_static" >&6; }
- fi
-
- CPPFLAGS="$save_CPPFLAGS"
- LDFLAGS="$save_LDFLAGS"
- LIBS="$save_LIBS"
- ;;
- esac
-
- case $lt_cv_dlopen_self in
- yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
- *) enable_dlopen_self=unknown ;;
- esac
-
- case $lt_cv_dlopen_self_static in
- yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
- *) enable_dlopen_self_static=unknown ;;
- esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-striplib=
-old_striplib=
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
-$as_echo_n "checking whether stripping libraries is possible... " >&6; }
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
- test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-# FIXME - insert some real tests, host_os isn't really good enough
- case $host_os in
- darwin*)
- if test -n "$STRIP" ; then
- striplib="$STRIP -x"
- old_striplib="$STRIP -S"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- fi
- ;;
- *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- ;;
- esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
- # Report which library types will actually be built
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
-$as_echo_n "checking if libtool supports shared libraries... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
-$as_echo "$can_build_shared" >&6; }
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
-$as_echo_n "checking whether to build shared libraries... " >&6; }
- test "$can_build_shared" = "no" && enable_shared=no
-
- # On AIX, shared libraries and static libraries use the same namespace, and
- # are all built from PIC.
- case $host_os in
- aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
-
- aix[4-9]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
- esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
-$as_echo "$enable_shared" >&6; }
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
-$as_echo_n "checking whether to build static libraries... " >&6; }
- # Make sure either enable_shared or enable_static is yes.
- test "$enable_shared" = yes || enable_static=yes
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
-$as_echo "$enable_static" >&6; }
-
-
-
-
-fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC="$lt_save_CC"
-
-
-
-
-
-
-
-
-
-
-
-
-
- ac_config_commands="$ac_config_commands libtool"
-
-
-
-
-# Only expand once:
-
-
-
-
-AX_CC_MAXOPT
-AX_CFLAGS_WARN_ALL
-if test "x$GCC" = "xyes"; then
- CFLAGS="$CFLAGS -fexceptions"
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
-$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
- # Check whether --enable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then :
- enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
-else
- USE_MAINTAINER_MODE=no
-fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
-$as_echo "$USE_MAINTAINER_MODE" >&6; }
- if test $USE_MAINTAINER_MODE = yes; then
- MAINTAINER_MODE_TRUE=
- MAINTAINER_MODE_FALSE='#'
-else
- MAINTAINER_MODE_TRUE='#'
- MAINTAINER_MODE_FALSE=
-fi
-
- MAINT=$MAINTAINER_MODE_TRUE
-
-
-
-for ac_header in sys/mman.h
-do :
- ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_SYS_MMAN_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_func in mmap
-do :
- ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_MMAP 1
-_ACEOF
-
-fi
-done
-
-
-ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
- libffi_header_sys_mman_h=yes
-else
- libffi_header_sys_mman_h=no
-fi
-
-
-ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
- libffi_func_mmap=yes
-else
- libffi_func_mmap=no
-fi
-
-if test "$libffi_header_sys_mman_h" != yes \
- || test "$libffi_func_mmap" != yes; then
- ac_cv_func_mmap_file=no
- ac_cv_func_mmap_dev_zero=no
- ac_cv_func_mmap_anon=no
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether read-only mmap of a plain file works" >&5
-$as_echo_n "checking whether read-only mmap of a plain file works... " >&6; }
-if ${ac_cv_func_mmap_file+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Add a system to this blacklist if
- # mmap(0, stat_size, PROT_READ, MAP_PRIVATE, fd, 0) doesn't return a
- # memory area containing the same data that you'd get if you applied
- # read() to the same fd. The only system known to have a problem here
- # is VMS, where text files have record structure.
- case "$host_os" in
- vms* | ultrix*)
- ac_cv_func_mmap_file=no ;;
- *)
- ac_cv_func_mmap_file=yes;;
- esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_file" >&5
-$as_echo "$ac_cv_func_mmap_file" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap from /dev/zero works" >&5
-$as_echo_n "checking whether mmap from /dev/zero works... " >&6; }
-if ${ac_cv_func_mmap_dev_zero+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Add a system to this blacklist if it has mmap() but /dev/zero
- # does not exist, or if mmapping /dev/zero does not give anonymous
- # zeroed pages with both the following properties:
- # 1. If you map N consecutive pages in with one call, and then
- # unmap any subset of those pages, the pages that were not
- # explicitly unmapped remain accessible.
- # 2. If you map two adjacent blocks of memory and then unmap them
- # both at once, they must both go away.
- # Systems known to be in this category are Windows (all variants),
- # VMS, and Darwin.
- case "$host_os" in
- vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00)
- ac_cv_func_mmap_dev_zero=no ;;
- *)
- ac_cv_func_mmap_dev_zero=yes;;
- esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_dev_zero" >&5
-$as_echo "$ac_cv_func_mmap_dev_zero" >&6; }
-
- # Unlike /dev/zero, the MAP_ANON(YMOUS) defines can be probed for.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANON(YMOUS)" >&5
-$as_echo_n "checking for MAP_ANON(YMOUS)... " >&6; }
-if ${ac_cv_decl_map_anon+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <unistd.h>
-
-#ifndef MAP_ANONYMOUS
-#define MAP_ANONYMOUS MAP_ANON
-#endif
-
-int
-main ()
-{
-int n = MAP_ANONYMOUS;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_decl_map_anon=yes
-else
- ac_cv_decl_map_anon=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_decl_map_anon" >&5
-$as_echo "$ac_cv_decl_map_anon" >&6; }
-
- if test $ac_cv_decl_map_anon = no; then
- ac_cv_func_mmap_anon=no
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap with MAP_ANON(YMOUS) works" >&5
-$as_echo_n "checking whether mmap with MAP_ANON(YMOUS) works... " >&6; }
-if ${ac_cv_func_mmap_anon+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Add a system to this blacklist if it has mmap() and MAP_ANON or
- # MAP_ANONYMOUS, but using mmap(..., MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
- # doesn't give anonymous zeroed pages with the same properties listed
- # above for use of /dev/zero.
- # Systems known to be in this category are Windows, VMS, and SCO Unix.
- case "$host_os" in
- vms* | cygwin* | pe | mingw* | sco* | udk* )
- ac_cv_func_mmap_anon=no ;;
- *)
- ac_cv_func_mmap_anon=yes;;
- esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_anon" >&5
-$as_echo "$ac_cv_func_mmap_anon" >&6; }
- fi
-fi
-
-if test $ac_cv_func_mmap_file = yes; then
-
-$as_echo "#define HAVE_MMAP_FILE 1" >>confdefs.h
-
-fi
-if test $ac_cv_func_mmap_dev_zero = yes; then
-
-$as_echo "#define HAVE_MMAP_DEV_ZERO 1" >>confdefs.h
-
-fi
-if test $ac_cv_func_mmap_anon = yes; then
-
-$as_echo "#define HAVE_MMAP_ANON 1" >>confdefs.h
-
-fi
-
-
- if test -d $srcdir/testsuite; then
- TESTSUBDIR_TRUE=
- TESTSUBDIR_FALSE='#'
-else
- TESTSUBDIR_TRUE='#'
- TESTSUBDIR_FALSE=
-fi
-
-
-TARGETDIR="unknown"
-case "$host" in
- alpha*-*-*)
- TARGET=ALPHA; TARGETDIR=alpha;
- # Support 128-bit long double, changeable via command-line switch.
- HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
- ;;
-
- arm*-*-*)
- TARGET=ARM; TARGETDIR=arm
- ;;
-
- amd64-*-freebsd* | amd64-*-openbsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- amd64-*-freebsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- avr32*-*-*)
- TARGET=AVR32; TARGETDIR=avr32
- ;;
-
- cris-*-*)
- TARGET=LIBFFI_CRIS; TARGETDIR=cris
- ;;
-
- frv-*-*)
- TARGET=FRV; TARGETDIR=frv
- ;;
-
- hppa*-*-linux* | parisc*-*-linux* | hppa*-*-openbsd*)
- TARGET=PA_LINUX; TARGETDIR=pa
- ;;
- hppa*64-*-hpux*)
- TARGET=PA64_HPUX; TARGETDIR=pa
- ;;
- hppa*-*-hpux*)
- TARGET=PA_HPUX; TARGETDIR=pa
- ;;
-
- i?86-*-freebsd* | i?86-*-openbsd*)
- TARGET=X86_FREEBSD; TARGETDIR=x86
- ;;
- i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2* | i?86-*-interix*)
- TARGET=X86_WIN32; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
- i?86-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
- i?86-*-solaris2.1[0-9]*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
- i?86-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- ia64*-*-*)
- TARGET=IA64; TARGETDIR=ia64
- ;;
-
- m32r*-*-*)
- TARGET=M32R; TARGETDIR=m32r
- ;;
-
- m68k-*-*)
- TARGET=M68K; TARGETDIR=m68k
- ;;
-
- mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
- TARGET=MIPS; TARGETDIR=mips
- ;;
- mips*-*-linux* | mips*-*-openbsd*)
- # Support 128-bit long double for NewABI.
- HAVE_LONG_DOUBLE='defined(__mips64)'
- TARGET=MIPS; TARGETDIR=mips
- ;;
-
- moxie-*-*)
- TARGET=MOXIE; TARGETDIR=moxie
- ;;
-
- powerpc*-*-linux* | powerpc-*-sysv*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-amigaos*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-beos*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-darwin* | powerpc64-*-darwin*)
- TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
- ;;
- powerpc-*-aix* | rs6000-*-aix*)
- TARGET=POWERPC_AIX; TARGETDIR=powerpc
- ;;
- powerpc-*-freebsd* | powerpc-*-openbsd*)
- TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
- ;;
- powerpc64-*-freebsd*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc*-*-rtems*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
-
- s390-*-* | s390x-*-*)
- TARGET=S390; TARGETDIR=s390
- ;;
-
- sh-*-* | sh[34]*-*-*)
- TARGET=SH; TARGETDIR=sh
- ;;
- sh64-*-* | sh5*-*-*)
- TARGET=SH64; TARGETDIR=sh64
- ;;
-
- sparc*-*-*)
- TARGET=SPARC; TARGETDIR=sparc
- ;;
-
- x86_64-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
-
- x86_64-*-cygwin* | x86_64-*-mingw*)
- TARGET=X86_WIN64; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
-
- x86_64-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-esac
-
-
-
-
-if test $TARGETDIR = unknown; then
- as_fn_error $? "\"libffi has not been ported to $host.\"" "$LINENO" 5
-fi
-
- if test x$TARGET = xMIPS; then
- MIPS_TRUE=
- MIPS_FALSE='#'
-else
- MIPS_TRUE='#'
- MIPS_FALSE=
-fi
-
- if test x$TARGET = xSPARC; then
- SPARC_TRUE=
- SPARC_FALSE='#'
-else
- SPARC_TRUE='#'
- SPARC_FALSE=
-fi
-
- if test x$TARGET = xX86; then
- X86_TRUE=
- X86_FALSE='#'
-else
- X86_TRUE='#'
- X86_FALSE=
-fi
-
- if test x$TARGET = xX86_FREEBSD; then
- X86_FREEBSD_TRUE=
- X86_FREEBSD_FALSE='#'
-else
- X86_FREEBSD_TRUE='#'
- X86_FREEBSD_FALSE=
-fi
-
- if test x$TARGET = xX86_WIN32; then
- X86_WIN32_TRUE=
- X86_WIN32_FALSE='#'
-else
- X86_WIN32_TRUE='#'
- X86_WIN32_FALSE=
-fi
-
- if test x$TARGET = xX86_WIN64; then
- X86_WIN64_TRUE=
- X86_WIN64_FALSE='#'
-else
- X86_WIN64_TRUE='#'
- X86_WIN64_FALSE=
-fi
-
- if test x$TARGET = xX86_DARWIN; then
- X86_DARWIN_TRUE=
- X86_DARWIN_FALSE='#'
-else
- X86_DARWIN_TRUE='#'
- X86_DARWIN_FALSE=
-fi
-
- if test x$TARGET = xALPHA; then
- ALPHA_TRUE=
- ALPHA_FALSE='#'
-else
- ALPHA_TRUE='#'
- ALPHA_FALSE=
-fi
-
- if test x$TARGET = xIA64; then
- IA64_TRUE=
- IA64_FALSE='#'
-else
- IA64_TRUE='#'
- IA64_FALSE=
-fi
-
- if test x$TARGET = xM32R; then
- M32R_TRUE=
- M32R_FALSE='#'
-else
- M32R_TRUE='#'
- M32R_FALSE=
-fi
-
- if test x$TARGET = xM68K; then
- M68K_TRUE=
- M68K_FALSE='#'
-else
- M68K_TRUE='#'
- M68K_FALSE=
-fi
-
- if test x$TARGET = xMOXIE; then
- MOXIE_TRUE=
- MOXIE_FALSE='#'
-else
- MOXIE_TRUE='#'
- MOXIE_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC; then
- POWERPC_TRUE=
- POWERPC_FALSE='#'
-else
- POWERPC_TRUE='#'
- POWERPC_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_AIX; then
- POWERPC_AIX_TRUE=
- POWERPC_AIX_FALSE='#'
-else
- POWERPC_AIX_TRUE='#'
- POWERPC_AIX_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_DARWIN; then
- POWERPC_DARWIN_TRUE=
- POWERPC_DARWIN_FALSE='#'
-else
- POWERPC_DARWIN_TRUE='#'
- POWERPC_DARWIN_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_FREEBSD; then
- POWERPC_FREEBSD_TRUE=
- POWERPC_FREEBSD_FALSE='#'
-else
- POWERPC_FREEBSD_TRUE='#'
- POWERPC_FREEBSD_FALSE=
-fi
-
- if test x$TARGET = xARM; then
- ARM_TRUE=
- ARM_FALSE='#'
-else
- ARM_TRUE='#'
- ARM_FALSE=
-fi
-
- if test x$TARGET = xAVR32; then
- AVR32_TRUE=
- AVR32_FALSE='#'
-else
- AVR32_TRUE='#'
- AVR32_FALSE=
-fi
-
- if test x$TARGET = xLIBFFI_CRIS; then
- LIBFFI_CRIS_TRUE=
- LIBFFI_CRIS_FALSE='#'
-else
- LIBFFI_CRIS_TRUE='#'
- LIBFFI_CRIS_FALSE=
-fi
-
- if test x$TARGET = xFRV; then
- FRV_TRUE=
- FRV_FALSE='#'
-else
- FRV_TRUE='#'
- FRV_FALSE=
-fi
-
- if test x$TARGET = xS390; then
- S390_TRUE=
- S390_FALSE='#'
-else
- S390_TRUE='#'
- S390_FALSE=
-fi
-
- if test x$TARGET = xX86_64; then
- X86_64_TRUE=
- X86_64_FALSE='#'
-else
- X86_64_TRUE='#'
- X86_64_FALSE=
-fi
-
- if test x$TARGET = xSH; then
- SH_TRUE=
- SH_FALSE='#'
-else
- SH_TRUE='#'
- SH_FALSE=
-fi
-
- if test x$TARGET = xSH64; then
- SH64_TRUE=
- SH64_FALSE='#'
-else
- SH64_TRUE='#'
- SH64_FALSE=
-fi
-
- if test x$TARGET = xPA_LINUX; then
- PA_LINUX_TRUE=
- PA_LINUX_FALSE='#'
-else
- PA_LINUX_TRUE='#'
- PA_LINUX_FALSE=
-fi
-
- if test x$TARGET = xPA_HPUX; then
- PA_HPUX_TRUE=
- PA_HPUX_FALSE='#'
-else
- PA_HPUX_TRUE='#'
- PA_HPUX_FALSE=
-fi
-
- if test x$TARGET = xPA64_HPUX; then
- PA64_HPUX_TRUE=
- PA64_HPUX_FALSE='#'
-else
- PA64_HPUX_TRUE='#'
- PA64_HPUX_FALSE=
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_header_stdc=yes
-else
- ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then :
- :
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- return 2;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-for ac_func in memcpy
-do :
- ac_fn_c_check_func "$LINENO" "memcpy" "ac_cv_func_memcpy"
-if test "x$ac_cv_func_memcpy" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_MEMCPY 1
-_ACEOF
-
-fi
-done
-
-ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-if test "x$ac_cv_type_size_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define size_t unsigned int
-_ACEOF
-
-fi
-
-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
-# for constant arguments. Useless!
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
-$as_echo_n "checking for working alloca.h... " >&6; }
-if ${ac_cv_working_alloca_h+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <alloca.h>
-int
-main ()
-{
-char *p = (char *) alloca (2 * sizeof (int));
- if (p) return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_working_alloca_h=yes
-else
- ac_cv_working_alloca_h=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
-$as_echo "$ac_cv_working_alloca_h" >&6; }
-if test $ac_cv_working_alloca_h = yes; then
-
-$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
-$as_echo_n "checking for alloca... " >&6; }
-if ${ac_cv_func_alloca_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# ifdef _MSC_VER
-# include <malloc.h>
-# define alloca _alloca
-# else
-# ifdef HAVE_ALLOCA_H
-# include <alloca.h>
-# else
-# ifdef _AIX
- #pragma alloca
-# else
-# ifndef alloca /* predefined by HP cc +Olibcalls */
-void *alloca (size_t);
-# endif
-# endif
-# endif
-# endif
-#endif
-
-int
-main ()
-{
-char *p = (char *) alloca (1);
- if (p) return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_func_alloca_works=yes
-else
- ac_cv_func_alloca_works=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
-$as_echo "$ac_cv_func_alloca_works" >&6; }
-
-if test $ac_cv_func_alloca_works = yes; then
-
-$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
-
-else
- # The SVR3 libPW and SVR4 libucb both contain incompatible functions
-# that cause trouble. Some versions do not even contain alloca or
-# contain a buggy version. If you still want to use their alloca,
-# use ar to extract alloca.o from them instead of compiling alloca.c.
-
-ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
-
-$as_echo "#define C_ALLOCA 1" >>confdefs.h
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
-$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
-if ${ac_cv_os_cray+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#if defined CRAY && ! defined CRAY2
-webecray
-#else
-wenotbecray
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "webecray" >/dev/null 2>&1; then :
- ac_cv_os_cray=yes
-else
- ac_cv_os_cray=no
-fi
-rm -f conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5
-$as_echo "$ac_cv_os_cray" >&6; }
-if test $ac_cv_os_cray = yes; then
- for ac_func in _getb67 GETB67 getb67; do
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-
-cat >>confdefs.h <<_ACEOF
-#define CRAY_STACKSEG_END $ac_func
-_ACEOF
-
- break
-fi
-
- done
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
-$as_echo_n "checking stack direction for C alloca... " >&6; }
-if ${ac_cv_c_stack_direction+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- ac_cv_c_stack_direction=0
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
-int
-find_stack_direction ()
-{
- static char *addr = 0;
- auto char dummy;
- if (addr == 0)
- {
- addr = &dummy;
- return find_stack_direction ();
- }
- else
- return (&dummy > addr) ? 1 : -1;
-}
-
-int
-main ()
-{
- return find_stack_direction () < 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_c_stack_direction=1
-else
- ac_cv_c_stack_direction=-1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
-$as_echo "$ac_cv_c_stack_direction" >&6; }
-cat >>confdefs.h <<_ACEOF
-#define STACK_DIRECTION $ac_cv_c_stack_direction
-_ACEOF
-
-
-fi
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of double" >&5
-$as_echo_n "checking size of double... " >&6; }
-if ${ac_cv_sizeof_double+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (double))" "ac_cv_sizeof_double" "$ac_includes_default"; then :
-
-else
- if test "$ac_cv_type_double" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (double)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_double=0
- fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_double" >&5
-$as_echo "$ac_cv_sizeof_double" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_DOUBLE $ac_cv_sizeof_double
-_ACEOF
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long double" >&5
-$as_echo_n "checking size of long double... " >&6; }
-if ${ac_cv_sizeof_long_double+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long double))" "ac_cv_sizeof_long_double" "$ac_includes_default"; then :
-
-else
- if test "$ac_cv_type_long_double" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (long double)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_long_double=0
- fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_double" >&5
-$as_echo "$ac_cv_sizeof_long_double" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_LONG_DOUBLE $ac_cv_sizeof_long_double
-_ACEOF
-
-
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
- HAVE_LONG_DOUBLE=0
- if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
- if test $ac_cv_sizeof_long_double != 0; then
- HAVE_LONG_DOUBLE=1
-
-$as_echo "#define HAVE_LONG_DOUBLE 1" >>confdefs.h
-
- fi
- fi
-fi
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
-$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if ${ac_cv_c_bigendian+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_c_bigendian=unknown
- # See if we're dealing with a universal compiler.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifndef __APPLE_CC__
- not a universal capable compiler
- #endif
- typedef int dummy;
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
- # Check for potential -arch flags. It is not universal unless
- # there are at least two -arch flags with different values.
- ac_arch=
- ac_prev=
- for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
- if test -n "$ac_prev"; then
- case $ac_word in
- i?86 | x86_64 | ppc | ppc64)
- if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
- ac_arch=$ac_word
- else
- ac_cv_c_bigendian=universal
- break
- fi
- ;;
- esac
- ac_prev=
- elif test "x$ac_word" = "x-arch"; then
- ac_prev=arch
- fi
- done
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- if test $ac_cv_c_bigendian = unknown; then
- # See if sys/param.h defines the BYTE_ORDER macro.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
- #include <sys/param.h>
-
-int
-main ()
-{
-#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
- && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
- && LITTLE_ENDIAN)
- bogus endian macros
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- # It does; now see whether it defined to BIG_ENDIAN or not.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
- #include <sys/param.h>
-
-int
-main ()
-{
-#if BYTE_ORDER != BIG_ENDIAN
- not big endian
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_c_bigendian=yes
-else
- ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- if test $ac_cv_c_bigendian = unknown; then
- # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <limits.h>
-
-int
-main ()
-{
-#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
- bogus endian macros
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- # It does; now see whether it defined to _BIG_ENDIAN or not.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <limits.h>
-
-int
-main ()
-{
-#ifndef _BIG_ENDIAN
- not big endian
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_c_bigendian=yes
-else
- ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- if test $ac_cv_c_bigendian = unknown; then
- # Compile a test program.
- if test "$cross_compiling" = yes; then :
- # Try to guess by grepping values from an object file.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-short int ascii_mm[] =
- { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
- short int ascii_ii[] =
- { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
- int use_ascii (int i) {
- return ascii_mm[i] + ascii_ii[i];
- }
- short int ebcdic_ii[] =
- { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
- short int ebcdic_mm[] =
- { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
- int use_ebcdic (int i) {
- return ebcdic_mm[i] + ebcdic_ii[i];
- }
- extern int foo;
-
-int
-main ()
-{
-return use_ascii (foo) == use_ebcdic (foo);
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
- ac_cv_c_bigendian=yes
- fi
- if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
- if test "$ac_cv_c_bigendian" = unknown; then
- ac_cv_c_bigendian=no
- else
- # finding both strings is unlikely to happen, but who knows?
- ac_cv_c_bigendian=unknown
- fi
- fi
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-
- /* Are we little or big endian? From Harbison&Steele. */
- union
- {
- long int l;
- char c[sizeof (long int)];
- } u;
- u.l = 1;
- return u.c[sizeof (long int) - 1] == 1;
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_c_bigendian=no
-else
- ac_cv_c_bigendian=yes
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
-$as_echo "$ac_cv_c_bigendian" >&6; }
- case $ac_cv_c_bigendian in #(
- yes)
- $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
-;; #(
- no)
- ;; #(
- universal)
-
-$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
-
- ;; #(
- *)
- as_fn_error $? "unknown endianness
- presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
- esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .cfi pseudo-op support" >&5
-$as_echo_n "checking assembler .cfi pseudo-op support... " >&6; }
-if ${gcc_cv_as_cfi_pseudo_op+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- gcc_cv_as_cfi_pseudo_op=unknown
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".cfi_startproc\n\t.cfi_endproc");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- gcc_cv_as_cfi_pseudo_op=yes
-else
- gcc_cv_as_cfi_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_cfi_pseudo_op" >&5
-$as_echo "$gcc_cv_as_cfi_pseudo_op" >&6; }
- if test "x$gcc_cv_as_cfi_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_CFI_PSEUDO_OP 1" >>confdefs.h
-
- fi
-
-
-if test x$TARGET = xSPARC; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler and linker support unaligned pc related relocs" >&5
-$as_echo_n "checking assembler and linker support unaligned pc related relocs... " >&6; }
-if ${libffi_cv_as_sparc_ua_pcrel+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- save_CFLAGS="$CFLAGS"
- save_LDFLAGS="$LDFLAGS"
- CFLAGS="$CFLAGS -fpic"
- LDFLAGS="$LDFLAGS -shared"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- libffi_cv_as_sparc_ua_pcrel=yes
-else
- libffi_cv_as_sparc_ua_pcrel=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- CFLAGS="$save_CFLAGS"
- LDFLAGS="$save_LDFLAGS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_sparc_ua_pcrel" >&5
-$as_echo "$libffi_cv_as_sparc_ua_pcrel" >&6; }
- if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
-
-$as_echo "#define HAVE_AS_SPARC_UA_PCREL 1" >>confdefs.h
-
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .register pseudo-op support" >&5
-$as_echo_n "checking assembler .register pseudo-op support... " >&6; }
-if ${libffi_cv_as_register_pseudo_op+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_register_pseudo_op=unknown
- # Check if we have .register
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".register %g2, #scratch");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- libffi_cv_as_register_pseudo_op=yes
-else
- libffi_cv_as_register_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_register_pseudo_op" >&5
-$as_echo "$libffi_cv_as_register_pseudo_op" >&6; }
- if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_REGISTER_PSEUDO_OP 1" >>confdefs.h
-
- fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports pc related relocs" >&5
-$as_echo_n "checking assembler supports pc related relocs... " >&6; }
-if ${libffi_cv_as_x86_pcrel+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_x86_pcrel=no
- echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
- if $CC $CFLAGS -c conftest.s > /dev/null; then
- libffi_cv_as_x86_pcrel=yes
- fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_x86_pcrel" >&5
-$as_echo "$libffi_cv_as_x86_pcrel" >&6; }
- if test "x$libffi_cv_as_x86_pcrel" = xyes; then
-
-$as_echo "#define HAVE_AS_X86_PCREL 1" >>confdefs.h
-
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .ascii pseudo-op support" >&5
-$as_echo_n "checking assembler .ascii pseudo-op support... " >&6; }
-if ${libffi_cv_as_ascii_pseudo_op+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_ascii_pseudo_op=unknown
- # Check if we have .ascii
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".ascii \\"string\\"");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- libffi_cv_as_ascii_pseudo_op=yes
-else
- libffi_cv_as_ascii_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_ascii_pseudo_op" >&5
-$as_echo "$libffi_cv_as_ascii_pseudo_op" >&6; }
- if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_ASCII_PSEUDO_OP 1" >>confdefs.h
-
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .string pseudo-op support" >&5
-$as_echo_n "checking assembler .string pseudo-op support... " >&6; }
-if ${libffi_cv_as_string_pseudo_op+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_string_pseudo_op=unknown
- # Check if we have .string
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".string \\"string\\"");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- libffi_cv_as_string_pseudo_op=yes
-else
- libffi_cv_as_string_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_string_pseudo_op" >&5
-$as_echo "$libffi_cv_as_string_pseudo_op" >&6; }
- if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_STRING_PSEUDO_OP 1" >>confdefs.h
-
- fi
-fi
-
-if test x$TARGET = xX86_WIN64; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ prefix in compiled symbols" >&5
-$as_echo_n "checking for _ prefix in compiled symbols... " >&6; }
-if ${lt_cv_sys_symbol_underscore+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_sys_symbol_underscore=no
- cat > conftest.$ac_ext <<_LT_EOF
-void nm_test_func(){}
-int main(){nm_test_func;return 0;}
-_LT_EOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- # Now try to grab the symbols.
- ac_nlist=conftest.nm
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist\""; } >&5
- (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s "$ac_nlist"; then
- # See whether the symbols have a leading underscore.
- if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then
- lt_cv_sys_symbol_underscore=yes
- else
- if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then
- :
- else
- echo "configure: cannot find nm_test_func in $ac_nlist" >&5
- fi
- fi
- else
- echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&5
- fi
- else
- echo "configure: failed program was:" >&5
- cat conftest.c >&5
- fi
- rm -rf conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_symbol_underscore" >&5
-$as_echo "$lt_cv_sys_symbol_underscore" >&6; }
- sys_symbol_underscore=$lt_cv_sys_symbol_underscore
-
-
- if test "x$sys_symbol_underscore" = xyes; then
-
-$as_echo "#define SYMBOL_UNDERSCORE 1" >>confdefs.h
-
- fi
-fi
-
-
-FFI_EXEC_TRAMPOLINE_TABLE=0
-case "$target" in
- *arm*-apple-darwin*)
- FFI_EXEC_TRAMPOLINE_TABLE=1
-
-$as_echo "#define FFI_EXEC_TRAMPOLINE_TABLE 1" >>confdefs.h
-
- ;;
- *-apple-darwin1[10]* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
-
-$as_echo "#define FFI_MMAP_EXEC_WRIT 1" >>confdefs.h
-
- ;;
-esac
- if test x$FFI_EXEC_TRAMPOLINE_TABLE = x1; then
- FFI_EXEC_TRAMPOLINE_TABLE_TRUE=
- FFI_EXEC_TRAMPOLINE_TABLE_FALSE='#'
-else
- FFI_EXEC_TRAMPOLINE_TABLE_TRUE='#'
- FFI_EXEC_TRAMPOLINE_TABLE_FALSE=
-fi
-
-
-
-if test x$TARGET = xX86_64; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports unwind section type" >&5
-$as_echo_n "checking assembler supports unwind section type... " >&6; }
-if ${libffi_cv_as_x86_64_unwind_section_type+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_x86_64_unwind_section_type=yes
- echo '.section .eh_frame,"a",@unwind' > conftest.s
- if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
- libffi_cv_as_x86_64_unwind_section_type=no
- fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_x86_64_unwind_section_type" >&5
-$as_echo "$libffi_cv_as_x86_64_unwind_section_type" >&6; }
- if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
-
-$as_echo "#define HAVE_AS_X86_64_UNWIND_SECTION_TYPE 1" >>confdefs.h
-
- fi
-fi
-
-if test "x$GCC" = "xyes"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether .eh_frame section should be read-only" >&5
-$as_echo_n "checking whether .eh_frame section should be read-only... " >&6; }
-if ${libffi_cv_ro_eh_frame+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_ro_eh_frame=no
- echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
- if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
- if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- elif grep '.section.*eh_frame.*#alloc' conftest.c \
- | grep -v '#write' > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- fi
- fi
- rm -f conftest.*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_ro_eh_frame" >&5
-$as_echo "$libffi_cv_ro_eh_frame" >&6; }
- if test "x$libffi_cv_ro_eh_frame" = xyes; then
-
-$as_echo "#define HAVE_RO_EH_FRAME 1" >>confdefs.h
-
-
-$as_echo "#define EH_FRAME_FLAGS \"a\"" >>confdefs.h
-
- else
-
-$as_echo "#define EH_FRAME_FLAGS \"aw\"" >>confdefs.h
-
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __attribute__((visibility(\"hidden\")))" >&5
-$as_echo_n "checking for __attribute__((visibility(\"hidden\")))... " >&6; }
-if ${libffi_cv_hidden_visibility_attribute+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1 ; }' > conftest.c
- libffi_cv_hidden_visibility_attribute=no
- if { ac_try='${CC-cc} -Werror -S conftest.c -o conftest.s 1>&5'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- if grep '\.hidden.*foo' conftest.s >/dev/null; then
- libffi_cv_hidden_visibility_attribute=yes
- fi
- fi
- rm -f conftest.*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_hidden_visibility_attribute" >&5
-$as_echo "$libffi_cv_hidden_visibility_attribute" >&6; }
- if test $libffi_cv_hidden_visibility_attribute = yes; then
-
-$as_echo "#define HAVE_HIDDEN_VISIBILITY_ATTRIBUTE 1" >>confdefs.h
-
- fi
-fi
-
-
-
-
-
-
-
-
-# Check whether --enable-debug was given.
-if test "${enable_debug+set}" = set; then :
- enableval=$enable_debug; if test "$enable_debug" = "yes"; then
-
-$as_echo "#define FFI_DEBUG 1" >>confdefs.h
-
- fi
-fi
-
- if test "$enable_debug" = "yes"; then
- FFI_DEBUG_TRUE=
- FFI_DEBUG_FALSE='#'
-else
- FFI_DEBUG_TRUE='#'
- FFI_DEBUG_FALSE=
-fi
-
-
-# Check whether --enable-structs was given.
-if test "${enable_structs+set}" = set; then :
- enableval=$enable_structs; if test "$enable_structs" = "no"; then
-
-$as_echo "#define FFI_NO_STRUCTS 1" >>confdefs.h
-
- fi
-fi
-
-
-# Check whether --enable-raw-api was given.
-if test "${enable_raw_api+set}" = set; then :
- enableval=$enable_raw_api; if test "$enable_raw_api" = "no"; then
-
-$as_echo "#define FFI_NO_RAW_API 1" >>confdefs.h
-
- fi
-fi
-
-
-# Check whether --enable-purify-safety was given.
-if test "${enable_purify_safety+set}" = set; then :
- enableval=$enable_purify_safety; if test "$enable_purify_safety" = "yes"; then
-
-$as_echo "#define USING_PURIFY 1" >>confdefs.h
-
- fi
-fi
-
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- toolexecdir='$(exec_prefix)/$(target_alias)'
- toolexeclibdir='$(toolexecdir)/lib'
- else
- toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
- toolexeclibdir='$(libdir)'
- fi
- multi_os_directory=`$CC -print-multi-os-directory`
- case $multi_os_directory in
- .) ;; # Avoid trailing /.
- *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
- esac
-
-
-fi
-
-if test "${multilib}" = "yes"; then
- multilib_arg="--enable-multilib"
-else
- multilib_arg=
-fi
-
-ac_config_commands="$ac_config_commands include"
-
-ac_config_commands="$ac_config_commands src"
-
-
-ac_config_links="$ac_config_links include/ffitarget.h:src/$TARGETDIR/ffitarget.h"
-
-
-ac_config_files="$ac_config_files include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc"
-
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems. If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
- for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
-
- (set) 2>&1 |
- case $as_nl`(ac_space=' '; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- # `set' does not quote correctly, so add quotes: double-quote
- # substitution turns \\\\ into \\, and sed turns \\ into \.
- sed -n \
- "s/'/'\\\\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- ;; #(
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-) |
- sed '
- /^ac_cv_env_/b end
- t clear
- :clear
- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
- t end
- s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
- if test -w "$cache_file"; then
- if test "x$cache_file" != "x/dev/null"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
- if test ! -f "$cache_file" || test -h "$cache_file"; then
- cat confcache >"$cache_file"
- else
- case $cache_file in #(
- */* | ?:*)
- mv -f confcache "$cache_file"$$ &&
- mv -f "$cache_file"$$ "$cache_file" ;; #(
- *)
- mv -f confcache "$cache_file" ;;
- esac
- fi
- fi
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
- fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-U=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
- # 1. Remove the extension, and $U if already installed.
- ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
- ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
- # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
- # will be set to the directory where LIBOBJS objects are built.
- as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
- as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
- if test -n "$EXEEXT"; then
- am__EXEEXT_TRUE=
- am__EXEEXT_FALSE='#'
-else
- am__EXEEXT_TRUE='#'
- am__EXEEXT_FALSE=
-fi
-
-if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
- as_fn_error $? "conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
- as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCCAS_TRUE}" && test -z "${am__fastdepCCAS_FALSE}"; then
- as_fn_error $? "conditional \"am__fastdepCCAS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
- as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${TESTSUBDIR_TRUE}" && test -z "${TESTSUBDIR_FALSE}"; then
- as_fn_error $? "conditional \"TESTSUBDIR\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MIPS_TRUE}" && test -z "${MIPS_FALSE}"; then
- as_fn_error $? "conditional \"MIPS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SPARC_TRUE}" && test -z "${SPARC_FALSE}"; then
- as_fn_error $? "conditional \"SPARC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_TRUE}" && test -z "${X86_FALSE}"; then
- as_fn_error $? "conditional \"X86\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_FREEBSD_TRUE}" && test -z "${X86_FREEBSD_FALSE}"; then
- as_fn_error $? "conditional \"X86_FREEBSD\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_WIN32_TRUE}" && test -z "${X86_WIN32_FALSE}"; then
- as_fn_error $? "conditional \"X86_WIN32\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_WIN64_TRUE}" && test -z "${X86_WIN64_FALSE}"; then
- as_fn_error $? "conditional \"X86_WIN64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_DARWIN_TRUE}" && test -z "${X86_DARWIN_FALSE}"; then
- as_fn_error $? "conditional \"X86_DARWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${ALPHA_TRUE}" && test -z "${ALPHA_FALSE}"; then
- as_fn_error $? "conditional \"ALPHA\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${IA64_TRUE}" && test -z "${IA64_FALSE}"; then
- as_fn_error $? "conditional \"IA64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${M32R_TRUE}" && test -z "${M32R_FALSE}"; then
- as_fn_error $? "conditional \"M32R\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${M68K_TRUE}" && test -z "${M68K_FALSE}"; then
- as_fn_error $? "conditional \"M68K\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MOXIE_TRUE}" && test -z "${MOXIE_FALSE}"; then
- as_fn_error $? "conditional \"MOXIE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_TRUE}" && test -z "${POWERPC_FALSE}"; then
- as_fn_error $? "conditional \"POWERPC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_AIX_TRUE}" && test -z "${POWERPC_AIX_FALSE}"; then
- as_fn_error $? "conditional \"POWERPC_AIX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_DARWIN_TRUE}" && test -z "${POWERPC_DARWIN_FALSE}"; then
- as_fn_error $? "conditional \"POWERPC_DARWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_FREEBSD_TRUE}" && test -z "${POWERPC_FREEBSD_FALSE}"; then
- as_fn_error $? "conditional \"POWERPC_FREEBSD\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${ARM_TRUE}" && test -z "${ARM_FALSE}"; then
- as_fn_error $? "conditional \"ARM\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${AVR32_TRUE}" && test -z "${AVR32_FALSE}"; then
- as_fn_error $? "conditional \"AVR32\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${LIBFFI_CRIS_TRUE}" && test -z "${LIBFFI_CRIS_FALSE}"; then
- as_fn_error $? "conditional \"LIBFFI_CRIS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${FRV_TRUE}" && test -z "${FRV_FALSE}"; then
- as_fn_error $? "conditional \"FRV\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${S390_TRUE}" && test -z "${S390_FALSE}"; then
- as_fn_error $? "conditional \"S390\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_64_TRUE}" && test -z "${X86_64_FALSE}"; then
- as_fn_error $? "conditional \"X86_64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SH_TRUE}" && test -z "${SH_FALSE}"; then
- as_fn_error $? "conditional \"SH\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SH64_TRUE}" && test -z "${SH64_FALSE}"; then
- as_fn_error $? "conditional \"SH64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA_LINUX_TRUE}" && test -z "${PA_LINUX_FALSE}"; then
- as_fn_error $? "conditional \"PA_LINUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA_HPUX_TRUE}" && test -z "${PA_HPUX_FALSE}"; then
- as_fn_error $? "conditional \"PA_HPUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA64_HPUX_TRUE}" && test -z "${PA64_HPUX_FALSE}"; then
- as_fn_error $? "conditional \"PA64_HPUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-if test -z "${FFI_EXEC_TRAMPOLINE_TABLE_TRUE}" && test -z "${FFI_EXEC_TRAMPOLINE_TABLE_FALSE}"; then
- as_fn_error $? "conditional \"FFI_EXEC_TRAMPOLINE_TABLE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${FFI_DEBUG_TRUE}" && test -z "${FFI_DEBUG_FALSE}"; then
- as_fn_error $? "conditional \"FFI_DEBUG\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-: "${CONFIG_STATUS=./config.status}"
-ac_write_fail=0
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in #(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- fi
- $as_echo "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} # as_fn_error
-
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} # as_fn_exit
-
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
-
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -p'
- fi
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in #(
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by libffi $as_me 3.0.11-rc2, which was
-generated by GNU Autoconf 2.68. Invocation command line was
-
- CONFIG_FILES = $CONFIG_FILES
- CONFIG_HEADERS = $CONFIG_HEADERS
- CONFIG_LINKS = $CONFIG_LINKS
- CONFIG_COMMANDS = $CONFIG_COMMANDS
- $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-case $ac_config_headers in *"
-"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
-esac
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-config_links="$ac_config_links"
-config_commands="$ac_config_commands"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration. Unless the files
-and actions are specified as TAGs, all are instantiated by default.
-
-Usage: $0 [OPTION]... [TAG]...
-
- -h, --help print this help, then exit
- -V, --version print version number and configuration settings, then exit
- --config print configuration, then exit
- -q, --quiet, --silent
- do not print progress messages
- -d, --debug don't remove temporary files
- --recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
- --header=FILE[:TEMPLATE]
- instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration links:
-$config_links
-
-Configuration commands:
-$config_commands
-
-Report bugs to <http://github.com/atgreen/libffi/issues>."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-ac_cs_version="\\
-libffi config.status 3.0.11-rc2
-configured by $0, generated by GNU Autoconf 2.68,
- with options \\"\$ac_cs_config\\"
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-INSTALL='$INSTALL'
-MKDIR_P='$MKDIR_P'
-AWK='$AWK'
-test -n "\$AWK" || AWK=awk
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
-ac_need_defaults=:
-while test $# != 0
-do
- case $1 in
- --*=?*)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
- ac_shift=:
- ;;
- --*=)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=
- ac_shift=:
- ;;
- *)
- ac_option=$1
- ac_optarg=$2
- ac_shift=shift
- ;;
- esac
-
- case $ac_option in
- # Handling of the options.
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- ac_cs_recheck=: ;;
- --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
- $as_echo "$ac_cs_version"; exit ;;
- --config | --confi | --conf | --con | --co | --c )
- $as_echo "$ac_cs_config"; exit ;;
- --debug | --debu | --deb | --de | --d | -d )
- debug=: ;;
- --file | --fil | --fi | --f )
- $ac_shift
- case $ac_optarg in
- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
- '') as_fn_error $? "missing file argument" ;;
- esac
- as_fn_append CONFIG_FILES " '$ac_optarg'"
- ac_need_defaults=false;;
- --header | --heade | --head | --hea )
- $ac_shift
- case $ac_optarg in
- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- as_fn_append CONFIG_HEADERS " '$ac_optarg'"
- ac_need_defaults=false;;
- --he | --h)
- # Conflict between --help and --header
- as_fn_error $? "ambiguous option: \`$1'
-Try \`$0 --help' for more information.";;
- --help | --hel | -h )
- $as_echo "$ac_cs_usage"; exit ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil | --si | --s)
- ac_cs_silent=: ;;
-
- # This is an error.
- -*) as_fn_error $? "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
-
- *) as_fn_append ac_config_targets " $1"
- ac_need_defaults=false ;;
-
- esac
- shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
- exec 6>/dev/null
- ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-if \$ac_cs_recheck; then
- set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
- shift
- \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
- CONFIG_SHELL='$SHELL'
- export CONFIG_SHELL
- exec "\$@"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
- $as_echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-#
-# INIT-COMMANDS
-#
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-sed_quote_subst='$sed_quote_subst'
-double_quote_subst='$double_quote_subst'
-delay_variable_subst='$delay_variable_subst'
-macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
-macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
-enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
-enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
-pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
-enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
-SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
-ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
-host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
-host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
-host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
-build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
-build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
-build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
-SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
-Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
-GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
-EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
-FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
-LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
-NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
-LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
-max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
-ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
-exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
-lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
-lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
-lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
-reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
-reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
-OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
-deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
-file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
-file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
-want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
-DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
-sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
-AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
-AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
-archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
-STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
-RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
-old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
-lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
-CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
-CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
-compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
-GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
-nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
-lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
-objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
-MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
-lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
-need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
-MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
-DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
-NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
-LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
-OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
-libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
-shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
-extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
-enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
-export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
-whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
-compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
-old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
-archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
-module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
-allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
-no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_ld='`$ECHO "$hardcode_libdir_flag_spec_ld" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
-hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
-hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
-hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
-hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
-hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
-inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
-link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
-always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
-export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
-exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
-include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
-prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
-postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
-file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
-variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
-need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
-version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
-runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
-libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
-library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
-soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
-install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
-postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
-finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
-hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
-sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
-sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
-enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
-old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
-striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
-
-LTCC='$LTCC'
-LTCFLAGS='$LTCFLAGS'
-compiler='$compiler_DEFAULT'
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
- eval 'cat <<_LTECHO_EOF
-\$1
-_LTECHO_EOF'
-}
-
-# Quote evaled strings.
-for var in SHELL \
-ECHO \
-SED \
-GREP \
-EGREP \
-FGREP \
-LD \
-NM \
-LN_S \
-lt_SP2NL \
-lt_NL2SP \
-reload_flag \
-OBJDUMP \
-deplibs_check_method \
-file_magic_cmd \
-file_magic_glob \
-want_nocaseglob \
-DLLTOOL \
-sharedlib_from_linklib_cmd \
-AR \
-AR_FLAGS \
-archiver_list_spec \
-STRIP \
-RANLIB \
-CC \
-CFLAGS \
-compiler \
-lt_cv_sys_global_symbol_pipe \
-lt_cv_sys_global_symbol_to_cdecl \
-lt_cv_sys_global_symbol_to_c_name_address \
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
-nm_file_list_spec \
-lt_prog_compiler_no_builtin_flag \
-lt_prog_compiler_pic \
-lt_prog_compiler_wl \
-lt_prog_compiler_static \
-lt_cv_prog_compiler_c_o \
-need_locks \
-MANIFEST_TOOL \
-DSYMUTIL \
-NMEDIT \
-LIPO \
-OTOOL \
-OTOOL64 \
-shrext_cmds \
-export_dynamic_flag_spec \
-whole_archive_flag_spec \
-compiler_needs_object \
-with_gnu_ld \
-allow_undefined_flag \
-no_undefined_flag \
-hardcode_libdir_flag_spec \
-hardcode_libdir_flag_spec_ld \
-hardcode_libdir_separator \
-exclude_expsyms \
-include_expsyms \
-file_list_spec \
-variables_saved_for_relink \
-libname_spec \
-library_names_spec \
-soname_spec \
-install_override_mode \
-finish_eval \
-old_striplib \
-striplib; do
- case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
- *[\\\\\\\`\\"\\\$]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
- ;;
- *)
- eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
- ;;
- esac
-done
-
-# Double-quote double-evaled strings.
-for var in reload_cmds \
-old_postinstall_cmds \
-old_postuninstall_cmds \
-old_archive_cmds \
-extract_expsyms_cmds \
-old_archive_from_new_cmds \
-old_archive_from_expsyms_cmds \
-archive_cmds \
-archive_expsym_cmds \
-module_cmds \
-module_expsym_cmds \
-export_symbols_cmds \
-prelink_cmds \
-postlink_cmds \
-postinstall_cmds \
-postuninstall_cmds \
-finish_cmds \
-sys_lib_search_path_spec \
-sys_lib_dlsearch_path_spec; do
- case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
- *[\\\\\\\`\\"\\\$]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
- ;;
- *)
- eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
- ;;
- esac
-done
-
-ac_aux_dir='$ac_aux_dir'
-xsi_shell='$xsi_shell'
-lt_shell_append='$lt_shell_append'
-
-# See if we are running on zsh, and set the options which allow our
-# commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
-fi
-
-
- PACKAGE='$PACKAGE'
- VERSION='$VERSION'
- TIMESTAMP='$TIMESTAMP'
- RM='$RM'
- ofile='$ofile'
-
-
-
-TARGETDIR="$TARGETDIR"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
- case $ac_config_target in
- "fficonfig.h") CONFIG_HEADERS="$CONFIG_HEADERS fficonfig.h" ;;
- "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
- "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
- "include") CONFIG_COMMANDS="$CONFIG_COMMANDS include" ;;
- "src") CONFIG_COMMANDS="$CONFIG_COMMANDS src" ;;
- "include/ffitarget.h") CONFIG_LINKS="$CONFIG_LINKS include/ffitarget.h:src/$TARGETDIR/ffitarget.h" ;;
- "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
- "include/ffi.h") CONFIG_FILES="$CONFIG_FILES include/ffi.h" ;;
- "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- "testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;;
- "man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;;
- "libffi.pc") CONFIG_FILES="$CONFIG_FILES libffi.pc" ;;
-
- *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
- esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used. Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
- test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
- test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
- test "${CONFIG_LINKS+set}" = set || CONFIG_LINKS=$config_links
- test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience. Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
- tmp= ac_tmp=
- trap 'exit_status=$?
- : "${ac_tmp:=$tmp}"
- { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
-' 0
- trap 'as_fn_exit 1' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
- tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
- test -d "$tmp"
-} ||
-{
- tmp=./conf$$-$RANDOM
- (umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-ac_tmp=$tmp
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
- eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
- ac_cs_awk_cr='\\r'
-else
- ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
-_ACEOF
-
-
-{
- echo "cat >conf$$subs.awk <<_ACEOF" &&
- echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
- echo "_ACEOF"
-} >conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
- . ./conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-
- ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
- if test $ac_delim_n = $ac_delim_num; then
- break
- elif $ac_last_try; then
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\)..*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\)..*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^""]/{
- N
- s/\n//
-}
-' >>$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
- for (key in S) S_is_set[key] = 1
- FS = ""
-
-}
-{
- line = $ 0
- nfields = split(line, field, "@")
- substed = 0
- len = length(field[1])
- for (i = 2; i < nfields; i++) {
- key = field[i]
- keylen = length(key)
- if (S_is_set[key]) {
- value = S[key]
- line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
- len += length(value) + length(field[++i])
- substed = 1
- } else
- len += 1 + keylen
- }
-
- print line
-}
-
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
- sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
- cat
-fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
- || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
-# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
-h
-s///
-s/^/:/
-s/[ ]*$/:/
-s/:\$(srcdir):/:/g
-s/:\${srcdir}:/:/g
-s/:@srcdir@:/:/g
-s/^:*//
-s/:*$//
-x
-s/\(=[ ]*\).*/\1/
-G
-s/\n//
-s/^[^=]*=[ ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
-
-# Set up the scripts for CONFIG_HEADERS section.
-# No need to generate them if there are no CONFIG_HEADERS.
-# This happens for instance with `./config.status Makefile'.
-if test -n "$CONFIG_HEADERS"; then
-cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
-BEGIN {
-_ACEOF
-
-# Transform confdefs.h into an awk script `defines.awk', embedded as
-# here-document in config.status, that substitutes the proper values into
-# config.h.in to produce config.h.
-
-# Create a delimiter string that does not exist in confdefs.h, to ease
-# handling of long lines.
-ac_delim='%!_!# '
-for ac_last_try in false false :; do
- ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
- if test -z "$ac_tt"; then
- break
- elif $ac_last_try; then
- as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-
-# For the awk script, D is an array of macro values keyed by name,
-# likewise P contains macro parameters if any. Preserve backslash
-# newline sequences.
-
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-sed -n '
-s/.\{148\}/&'"$ac_delim"'/g
-t rset
-:rset
-s/^[ ]*#[ ]*define[ ][ ]*/ /
-t def
-d
-:def
-s/\\$//
-t bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3"/p
-s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
-d
-:bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3\\\\\\n"\\/p
-t cont
-s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
-t cont
-d
-:cont
-n
-s/.\{148\}/&'"$ac_delim"'/g
-t clear
-:clear
-s/\\$//
-t bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/"/p
-d
-:bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
-b cont
-' <confdefs.h | sed '
-s/'"$ac_delim"'/"\\\
-"/g' >>$CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- for (key in D) D_is_set[key] = 1
- FS = ""
-}
-/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
- line = \$ 0
- split(line, arg, " ")
- if (arg[1] == "#") {
- defundef = arg[2]
- mac1 = arg[3]
- } else {
- defundef = substr(arg[1], 2)
- mac1 = arg[2]
- }
- split(mac1, mac2, "(") #)
- macro = mac2[1]
- prefix = substr(line, 1, index(line, defundef) - 1)
- if (D_is_set[macro]) {
- # Preserve the white space surrounding the "#".
- print prefix "define", macro P[macro] D[macro]
- next
- } else {
- # Replace #undef with comments. This is necessary, for example,
- # in the case of _POSIX_SOURCE, which is predefined and required
- # on some systems where configure will not decide to define it.
- if (defundef == "undef") {
- print "/*", prefix defundef, macro, "*/"
- next
- }
- }
-}
-{ print }
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
- as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
-fi # test -n "$CONFIG_HEADERS"
-
-
-eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :L $CONFIG_LINKS :C $CONFIG_COMMANDS"
-shift
-for ac_tag
-do
- case $ac_tag in
- :[FHLC]) ac_mode=$ac_tag; continue;;
- esac
- case $ac_mode$ac_tag in
- :[FHL]*:*);;
- :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
- :[FH]-) ac_tag=-:-;;
- :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
- esac
- ac_save_IFS=$IFS
- IFS=:
- set x $ac_tag
- IFS=$ac_save_IFS
- shift
- ac_file=$1
- shift
-
- case $ac_mode in
- :L) ac_source=$1;;
- :[FH])
- ac_file_inputs=
- for ac_f
- do
- case $ac_f in
- -) ac_f="$ac_tmp/stdin";;
- *) # Look for the file first in the build tree, then in the source tree
- # (if the path is not absolute). The absolute path cannot be DOS-style,
- # because $ac_f cannot contain `:'.
- test -f "$ac_f" ||
- case $ac_f in
- [\\/$]*) false;;
- *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
- esac ||
- as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
- esac
- case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
- as_fn_append ac_file_inputs " '$ac_f'"
- done
-
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- configure_input='Generated from '`
- $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
- `' by configure.'
- if test x"$ac_file" != x-; then
- configure_input="$ac_file. $configure_input"
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
- fi
- # Neutralize special characters interpreted by sed in replacement strings.
- case $configure_input in #(
- *\&* | *\|* | *\\* )
- ac_sed_conf_input=`$as_echo "$configure_input" |
- sed 's/[\\\\&|]/\\\\&/g'`;; #(
- *) ac_sed_conf_input=$configure_input;;
- esac
-
- case $ac_tag in
- *:-:* | *:-) cat >"$ac_tmp/stdin" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
- esac
- ;;
- esac
-
- ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- as_dir="$ac_dir"; as_fn_mkdir_p
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
- case $ac_mode in
- :F)
- #
- # CONFIG_FILE
- #
-
- case $INSTALL in
- [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
- *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
- esac
- ac_MKDIR_P=$MKDIR_P
- case $MKDIR_P in
- [\\/$]* | ?:[\\/]* ) ;;
- */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
- esac
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
- p
- q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- ac_datarootdir_hack='
- s&@datadir@&$datadir&g
- s&@docdir@&$docdir&g
- s&@infodir@&$infodir&g
- s&@localedir@&$localedir&g
- s&@mandir@&$mandir&g
- s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-s&@INSTALL@&$ac_INSTALL&;t t
-s&@MKDIR_P@&$ac_MKDIR_P&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
- >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
- { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
- { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
- "$ac_tmp/out"`; test -z "$ac_out"; } &&
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined" >&2;}
-
- rm -f "$ac_tmp/stdin"
- case $ac_file in
- -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
- *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
- esac \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- ;;
- :H)
- #
- # CONFIG_HEADER
- #
- if test x"$ac_file" != x-; then
- {
- $as_echo "/* $configure_input */" \
- && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
- } >"$ac_tmp/config.h" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
- else
- rm -f "$ac_file"
- mv "$ac_tmp/config.h" "$ac_file" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- fi
- else
- $as_echo "/* $configure_input */" \
- && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
- || as_fn_error $? "could not create -" "$LINENO" 5
- fi
-# Compute "$ac_file"'s index in $config_headers.
-_am_arg="$ac_file"
-_am_stamp_count=1
-for _am_header in $config_headers :; do
- case $_am_header in
- $_am_arg | $_am_arg:* )
- break ;;
- * )
- _am_stamp_count=`expr $_am_stamp_count + 1` ;;
- esac
-done
-echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
-$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$_am_arg" : 'X\(//\)[^/]' \| \
- X"$_am_arg" : 'X\(//\)$' \| \
- X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$_am_arg" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`/stamp-h$_am_stamp_count
- ;;
- :L)
- #
- # CONFIG_LINK
- #
-
- if test "$ac_source" = "$ac_file" && test "$srcdir" = '.'; then
- :
- else
- # Prefer the file from the source tree if names are identical.
- if test "$ac_source" = "$ac_file" || test ! -r "$ac_source"; then
- ac_source=$srcdir/$ac_source
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: linking $ac_source to $ac_file" >&5
-$as_echo "$as_me: linking $ac_source to $ac_file" >&6;}
-
- if test ! -r "$ac_source"; then
- as_fn_error $? "$ac_source: file not found" "$LINENO" 5
- fi
- rm -f "$ac_file"
-
- # Try a relative symlink, then a hard link, then a copy.
- case $ac_source in
- [\\/$]* | ?:[\\/]* ) ac_rel_source=$ac_source ;;
- *) ac_rel_source=$ac_top_build_prefix$ac_source ;;
- esac
- ln -s "$ac_rel_source" "$ac_file" 2>/dev/null ||
- ln "$ac_source" "$ac_file" 2>/dev/null ||
- cp -p "$ac_source" "$ac_file" ||
- as_fn_error $? "cannot link or copy $ac_source to $ac_file" "$LINENO" 5
- fi
- ;;
- :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-$as_echo "$as_me: executing $ac_file commands" >&6;}
- ;;
- esac
-
-
- case $ac_file$ac_mode in
- "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
- # Autoconf 2.62 quotes --file arguments for eval, but not when files
- # are listed without --file. Let's play safe and only enable the eval
- # if we detect the quoting.
- case $CONFIG_FILES in
- *\'*) eval set x "$CONFIG_FILES" ;;
- *) set x $CONFIG_FILES ;;
- esac
- shift
- for mf
- do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # Grep'ing the whole file is not good either: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
- dirpart=`$as_dirname -- "$mf" ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$mf" : 'X\(//\)[^/]' \| \
- X"$mf" : 'X\(//\)$' \| \
- X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$mf" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`$as_dirname -- "$file" ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$file" : 'X\(//\)[^/]' \| \
- X"$file" : 'X\(//\)$' \| \
- X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- as_dir=$dirpart/$fdir; as_fn_mkdir_p
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
- done
-}
- ;;
- "libtool":C)
-
- # See if we are running on zsh, and set the options which allow our
- # commands through without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
-
- cfgfile="${ofile}T"
- trap "$RM \"$cfgfile\"; exit 1" 1 2 15
- $RM "$cfgfile"
-
- cat <<_LT_EOF >> "$cfgfile"
-#! $SHELL
-
-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-# Inc.
-# Written by Gordon Matzigkeit, 1996
-#
-# This file is part of GNU Libtool.
-#
-# GNU Libtool is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
-#
-# GNU Libtool is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING. If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-
-# The names of the tagged configurations supported by this script.
-available_tags=""
-
-# ### BEGIN LIBTOOL CONFIG
-
-# Which release of libtool.m4 was used?
-macro_version=$macro_version
-macro_revision=$macro_revision
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# What type of objects to build.
-pic_mode=$pic_mode
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# An echo program that protects backslashes.
-ECHO=$lt_ECHO
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# A sed program that does not truncate output.
-SED=$lt_SED
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="\$SED -e 1s/^X//"
-
-# A grep program that handles long lines.
-GREP=$lt_GREP
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# A literal string matcher.
-FGREP=$lt_FGREP
-
-# A BSD- or MS-compatible name lister.
-NM=$lt_NM
-
-# Whether we need soft or hard links.
-LN_S=$lt_LN_S
-
-# What is the maximum length of a command?
-max_cmd_len=$max_cmd_len
-
-# Object file suffix (normally "o").
-objext=$ac_objext
-
-# Executable file suffix (normally "").
-exeext=$exeext
-
-# whether the shell understands "unset".
-lt_unset=$lt_unset
-
-# turn spaces into newlines.
-SP2NL=$lt_lt_SP2NL
-
-# turn newlines into spaces.
-NL2SP=$lt_lt_NL2SP
-
-# convert \$build file names to \$host format.
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-
-# convert \$build files to toolchain format.
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-
-# An object symbol dumper.
-OBJDUMP=$lt_OBJDUMP
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method = "file_magic".
-file_magic_cmd=$lt_file_magic_cmd
-
-# How to find potential files when deplibs_check_method = "file_magic".
-file_magic_glob=$lt_file_magic_glob
-
-# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
-want_nocaseglob=$lt_want_nocaseglob
-
-# DLL creation program.
-DLLTOOL=$lt_DLLTOOL
-
-# Command to associate shared and link libraries.
-sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
-
-# The archiver.
-AR=$lt_AR
-
-# Flags to create an archive.
-AR_FLAGS=$lt_AR_FLAGS
-
-# How to feed a file listing to the archiver.
-archiver_list_spec=$lt_archiver_list_spec
-
-# A symbol stripping program.
-STRIP=$lt_STRIP
-
-# Commands used to install an old-style archive.
-RANLIB=$lt_RANLIB
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Whether to use a lock for old archive extraction.
-lock_old_archive_extraction=$lock_old_archive_extraction
-
-# A C compiler.
-LTCC=$lt_CC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_CFLAGS
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration.
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair.
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# Transform the output of nm in a C name address pair when lib prefix is needed.
-global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
-
-# Specify filename containing input files for \$NM.
-nm_file_list_spec=$lt_nm_file_list_spec
-
-# The root where to search for dependent libraries,and in which our libraries should be installed.
-lt_sysroot=$lt_sysroot
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# Used to examine libraries when file_magic_cmd begins with "file".
-MAGIC_CMD=$MAGIC_CMD
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Manifest tool.
-MANIFEST_TOOL=$lt_MANIFEST_TOOL
-
-# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
-DSYMUTIL=$lt_DSYMUTIL
-
-# Tool to change global to local symbols on Mac OS X.
-NMEDIT=$lt_NMEDIT
-
-# Tool to manipulate fat objects and archives on Mac OS X.
-LIPO=$lt_LIPO
-
-# ldd/readelf like tool for Mach-O binaries on Mac OS X.
-OTOOL=$lt_OTOOL
-
-# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
-OTOOL64=$lt_OTOOL64
-
-# Old archive suffix (normally "a").
-libext=$libext
-
-# Shared library suffix (normally ".so").
-shrext_cmds=$lt_shrext_cmds
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at link time.
-variables_saved_for_relink=$lt_variables_saved_for_relink
-
-# Do we need the "lib" prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Library versioning type.
-version_type=$version_type
-
-# Shared library runtime path variable.
-runpath_var=$runpath_var
-
-# Shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Permission mode override for installation of shared libraries.
-install_override_mode=$lt_install_override_mode
-
-# Command to use after installation of a shared archive.
-postinstall_cmds=$lt_postinstall_cmds
-
-# Command to use after uninstallation of a shared archive.
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# As "finish_cmds", except a single script fragment to be evaled but
-# not shown.
-finish_eval=$lt_finish_eval
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Compile-time system search path for libraries.
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries.
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-
-# The linker used to build libraries.
-LD=$lt_LD
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# Commands used to build an old-style archive.
-old_archive_cmds=$lt_old_archive_cmds
-
-# A language specific compiler.
-CC=$lt_compiler
-
-# Is the compiler the GNU compiler?
-with_gcc=$GCC
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc
-
-# Whether or not to disallow shared libs when runtime libs are static.
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec
-
-# Whether the compiler copes with passing no objects directly.
-compiler_needs_object=$lt_compiler_needs_object
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
-
-# Commands used to build a shared archive.
-archive_cmds=$lt_archive_cmds
-archive_expsym_cmds=$lt_archive_expsym_cmds
-
-# Commands used to build a loadable module if different from building
-# a shared archive.
-module_cmds=$lt_module_cmds
-module_expsym_cmds=$lt_module_expsym_cmds
-
-# Whether we are building with GNU ld or not.
-with_gnu_ld=$lt_with_gnu_ld
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag
-
-# Flag that enforces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
-
-# If ld is used when linking, flag to hardcode \$libdir into a binary
-# during linking. This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
-
-# Whether we need a single "-rpath" flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary.
-hardcode_direct=$hardcode_direct
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary and the resulting library dependency is
-# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
-# library is relocated.
-hardcode_direct_absolute=$hardcode_direct_absolute
-
-# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
-# into the resulting binary.
-hardcode_minus_L=$hardcode_minus_L
-
-# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
-# into the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var
-
-# Set to "yes" if building a shared library automatically hardcodes DIR
-# into the library and all subsequent libraries and executables linked
-# against it.
-hardcode_automatic=$hardcode_automatic
-
-# Set to yes if linker adds runtime paths of dependent libraries
-# to runtime path list.
-inherit_rpath=$inherit_rpath
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs
-
-# Set to "yes" if exported symbols are required.
-always_export_symbols=$always_export_symbols
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms
-
-# Commands necessary for linking programs (against libraries) with templates.
-prelink_cmds=$lt_prelink_cmds
-
-# Commands necessary for finishing linking programs.
-postlink_cmds=$lt_postlink_cmds
-
-# Specify filename containing input files.
-file_list_spec=$lt_file_list_spec
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action
-
-# ### END LIBTOOL CONFIG
-
-_LT_EOF
-
- case $host_os in
- aix3*)
- cat <<\_LT_EOF >> "$cfgfile"
-# AIX sometimes has problems with the GCC collect2 program. For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
-fi
-_LT_EOF
- ;;
- esac
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-
- # We use sed instead of cat because bash on DJGPP gets confused if
- # if finds mixed CR/LF and LF-only lines. Since sed operates in
- # text mode, it properly converts lines to CR/LF. This bash problem
- # is reportedly fixed, but why not run on old versions too?
- sed '$q' "$ltmain" >> "$cfgfile" \
- || (rm -f "$cfgfile"; exit 1)
-
- if test x"$xsi_shell" = xyes; then
- sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
-func_dirname ()\
-{\
-\ case ${1} in\
-\ */*) func_dirname_result="${1%/*}${2}" ;;\
-\ * ) func_dirname_result="${3}" ;;\
-\ esac\
-} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_basename ()$/,/^} # func_basename /c\
-func_basename ()\
-{\
-\ func_basename_result="${1##*/}"\
-} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
-func_dirname_and_basename ()\
-{\
-\ case ${1} in\
-\ */*) func_dirname_result="${1%/*}${2}" ;;\
-\ * ) func_dirname_result="${3}" ;;\
-\ esac\
-\ func_basename_result="${1##*/}"\
-} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
-func_stripname ()\
-{\
-\ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
-\ # positional parameters, so assign one to ordinary parameter first.\
-\ func_stripname_result=${3}\
-\ func_stripname_result=${func_stripname_result#"${1}"}\
-\ func_stripname_result=${func_stripname_result%"${2}"}\
-} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
-func_split_long_opt ()\
-{\
-\ func_split_long_opt_name=${1%%=*}\
-\ func_split_long_opt_arg=${1#*=}\
-} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
-func_split_short_opt ()\
-{\
-\ func_split_short_opt_arg=${1#??}\
-\ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
-} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
-func_lo2o ()\
-{\
-\ case ${1} in\
-\ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
-\ *) func_lo2o_result=${1} ;;\
-\ esac\
-} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_xform ()$/,/^} # func_xform /c\
-func_xform ()\
-{\
- func_xform_result=${1%.*}.lo\
-} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_arith ()$/,/^} # func_arith /c\
-func_arith ()\
-{\
- func_arith_result=$(( $* ))\
-} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_len ()$/,/^} # func_len /c\
-func_len ()\
-{\
- func_len_result=${#1}\
-} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-fi
-
-if test x"$lt_shell_append" = xyes; then
- sed -e '/^func_append ()$/,/^} # func_append /c\
-func_append ()\
-{\
- eval "${1}+=\\${2}"\
-} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
-func_append_quoted ()\
-{\
-\ func_quote_for_eval "${2}"\
-\ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
-} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- # Save a `func_append' function call where possible by direct use of '+='
- sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
- test 0 -eq $? || _lt_function_replace_fail=:
-else
- # Save a `func_append' function call even when '+=' is not available
- sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
- test 0 -eq $? || _lt_function_replace_fail=:
-fi
-
-if test x"$_lt_function_replace_fail" = x":"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
-$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
-fi
-
-
- mv -f "$cfgfile" "$ofile" ||
- (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
- chmod +x "$ofile"
-
- ;;
- "include":C) test -d include || mkdir include ;;
- "src":C)
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
- ;;
-
- esac
-done # for ac_tag
-
-
-as_fn_exit 0
-_ACEOF
-ac_clean_files=$ac_clean_files_save
-
-test $ac_write_fail = 0 ||
- as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded. So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status. When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
- ac_cs_success=:
- ac_config_status_args=
- test "$silent" = yes &&
- ac_config_status_args="$ac_config_status_args --quiet"
- exec 5>/dev/null
- $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
- exec 5>>config.log
- # Use ||, not &&, to avoid exiting from the if with $? = 1, which
- # would make configure fail if this is the last instruction.
- $ac_cs_success || as_fn_exit 1
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
-
diff --git a/.pc/autoconf-archive-update/m4/ax_cc_maxopt.m4 b/.pc/autoconf-archive-update/m4/ax_cc_maxopt.m4
deleted file mode 100644
index 2957da7..0000000
--- a/.pc/autoconf-archive-update/m4/ax_cc_maxopt.m4
+++ /dev/null
@@ -1,176 +0,0 @@
-# ===========================================================================
-# http://www.gnu.org/software/autoconf-archive/ax_cc_maxopt.html
-# ===========================================================================
-#
-# SYNOPSIS
-#
-# AX_CC_MAXOPT
-#
-# DESCRIPTION
-#
-# Try to turn on "good" C optimization flags for various compilers and
-# architectures, for some definition of "good". (In our case, good for
-# FFTW and hopefully for other scientific codes. Modify as needed.)
-#
-# The user can override the flags by setting the CFLAGS environment
-# variable. The user can also specify --enable-portable-binary in order to
-# disable any optimization flags that might result in a binary that only
-# runs on the host architecture.
-#
-# Note also that the flags assume that ANSI C aliasing rules are followed
-# by the code (e.g. for gcc's -fstrict-aliasing), and that floating-point
-# computations can be re-ordered as needed.
-#
-# Requires macros: AX_CHECK_COMPILER_FLAGS, AX_COMPILER_VENDOR,
-# AX_GCC_ARCHFLAG, AX_GCC_X86_CPUID.
-#
-# LICENSE
-#
-# Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
-# Copyright (c) 2008 Matteo Frigo
-#
-# This program is free software: you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by the
-# Free Software Foundation, either version 3 of the License, or (at your
-# option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
-# Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-# As a special exception, the respective Autoconf Macro's copyright owner
-# gives unlimited permission to copy, distribute and modify the configure
-# scripts that are the output of Autoconf when processing the Macro. You
-# need not follow the terms of the GNU General Public License when using
-# or distributing such scripts, even though portions of the text of the
-# Macro appear in them. The GNU General Public License (GPL) does govern
-# all other use of the material that constitutes the Autoconf Macro.
-#
-# This special exception to the GPL applies to versions of the Autoconf
-# Macro released by the Autoconf Archive. When you make and distribute a
-# modified version of the Autoconf Macro, you may extend this special
-# exception to the GPL to apply to your modified version as well.
-
-#serial 11
-
-AC_DEFUN([AX_CC_MAXOPT],
-[
-AC_REQUIRE([AC_PROG_CC])
-AC_REQUIRE([AX_COMPILER_VENDOR])
-AC_REQUIRE([AC_CANONICAL_HOST])
-
-AC_ARG_ENABLE(portable-binary, [AS_HELP_STRING([--enable-portable-binary], [disable compiler optimizations that would produce unportable binaries])],
- acx_maxopt_portable=$withval, acx_maxopt_portable=no)
-
-# Try to determine "good" native compiler flags if none specified via CFLAGS
-if test "$ac_test_CFLAGS" != "set"; then
- CFLAGS=""
- case $ax_cv_c_compiler_vendor in
- dec) CFLAGS="-newc -w0 -O5 -ansi_alias -ansi_args -fp_reorder -tune host"
- if test "x$acx_maxopt_portable" = xno; then
- CFLAGS="$CFLAGS -arch host"
- fi;;
-
- sun) CFLAGS="-native -fast -xO5 -dalign"
- if test "x$acx_maxopt_portable" = xyes; then
- CFLAGS="$CFLAGS -xarch=generic"
- fi;;
-
- hp) CFLAGS="+Oall +Optrs_ansi +DSnative"
- if test "x$acx_maxopt_portable" = xyes; then
- CFLAGS="$CFLAGS +DAportable"
- fi;;
-
- ibm) if test "x$acx_maxopt_portable" = xno; then
- xlc_opt="-qarch=auto -qtune=auto"
- else
- xlc_opt="-qtune=auto"
- fi
- AX_CHECK_COMPILER_FLAGS($xlc_opt,
- CFLAGS="-O3 -qansialias -w $xlc_opt",
- [CFLAGS="-O3 -qansialias -w"
- echo "******************************************************"
- echo "* You seem to have the IBM C compiler. It is *"
- echo "* recommended for best performance that you use: *"
- echo "* *"
- echo "* CFLAGS=-O3 -qarch=xxx -qtune=xxx -qansialias -w *"
- echo "* ^^^ ^^^ *"
- echo "* where xxx is pwr2, pwr3, 604, or whatever kind of *"
- echo "* CPU you have. (Set the CFLAGS environment var. *"
- echo "* and re-run configure.) For more info, man cc. *"
- echo "******************************************************"])
- ;;
-
- intel) CFLAGS="-O3 -ansi_alias"
- if test "x$acx_maxopt_portable" = xno; then
- icc_archflag=unknown
- icc_flags=""
- case $host_cpu in
- i686*|x86_64*)
- # icc accepts gcc assembly syntax, so these should work:
- AX_GCC_X86_CPUID(0)
- AX_GCC_X86_CPUID(1)
- case $ax_cv_gcc_x86_cpuid_0 in # see AX_GCC_ARCHFLAG
- *:756e6547:*:*) # Intel
- case $ax_cv_gcc_x86_cpuid_1 in
- *6a?:*[[234]]:*:*|*6[[789b]]?:*:*:*) icc_flags="-xK";;
- *f3[[347]]:*:*:*|*f4[1347]:*:*:*) icc_flags="-xP -xN -xW -xK";;
- *f??:*:*:*) icc_flags="-xN -xW -xK";;
- esac ;;
- esac ;;
- esac
- if test "x$icc_flags" != x; then
- for flag in $icc_flags; do
- AX_CHECK_COMPILER_FLAGS($flag, [icc_archflag=$flag; break])
- done
- fi
- AC_MSG_CHECKING([for icc architecture flag])
- AC_MSG_RESULT($icc_archflag)
- if test "x$icc_archflag" != xunknown; then
- CFLAGS="$CFLAGS $icc_archflag"
- fi
- fi
- ;;
-
- gnu)
- # default optimization flags for gcc on all systems
- CFLAGS="-O3 -fomit-frame-pointer"
-
- # -fstrict-aliasing for gcc-2.95+
- AX_CHECK_COMPILER_FLAGS(-fstrict-aliasing,
- CFLAGS="$CFLAGS -fstrict-aliasing")
-
- AX_CHECK_COMPILER_FLAGS(-ffast-math, CFLAGS="$CFLAGS -ffast-math")
-
- AX_GCC_ARCHFLAG($acx_maxopt_portable)
- ;;
- esac
-
- if test -z "$CFLAGS"; then
- echo ""
- echo "********************************************************"
- echo "* WARNING: Don't know the best CFLAGS for this system *"
- echo "* Use ./configure CFLAGS=... to specify your own flags *"
- echo "* (otherwise, a default of CFLAGS=-O3 will be used) *"
- echo "********************************************************"
- echo ""
- CFLAGS="-O3"
- fi
-
- AX_CHECK_COMPILER_FLAGS($CFLAGS, [], [
- echo ""
- echo "********************************************************"
- echo "* WARNING: The guessed CFLAGS don't seem to work with *"
- echo "* your compiler. *"
- echo "* Use ./configure CFLAGS=... to specify your own flags *"
- echo "********************************************************"
- echo ""
- CFLAGS=""
- ])
-
-fi
-])
diff --git a/.pc/autoconf-archive-update/m4/ax_cflags_warn_all.m4 b/.pc/autoconf-archive-update/m4/ax_cflags_warn_all.m4
deleted file mode 100644
index 7625580..0000000
--- a/.pc/autoconf-archive-update/m4/ax_cflags_warn_all.m4
+++ /dev/null
@@ -1,195 +0,0 @@
-# ===========================================================================
-# http://www.gnu.org/software/autoconf-archive/ax_cflags_warn_all.html
-# ===========================================================================
-#
-# SYNOPSIS
-#
-# AX_CFLAGS_WARN_ALL [(shellvar [,default, [A/NA]])]
-# AX_CXXFLAGS_WARN_ALL [(shellvar [,default, [A/NA]])]
-# AX_FCFLAGS_WARN_ALL [(shellvar [,default, [A/NA]])]
-#
-# DESCRIPTION
-#
-# Try to find a compiler option that enables most reasonable warnings.
-#
-# For the GNU compiler it will be -Wall (and -ansi -pedantic) The result
-# is added to the shellvar being CFLAGS, CXXFLAGS, or FCFLAGS by default.
-#
-# Currently this macro knows about the GCC, Solaris, Digital Unix, AIX,
-# HP-UX, IRIX, NEC SX-5 (Super-UX 10), Cray J90 (Unicos 10.0.0.8), and
-# Intel compilers. For a given compiler, the Fortran flags are much more
-# experimental than their C equivalents.
-#
-# - $1 shell-variable-to-add-to : CFLAGS, CXXFLAGS, or FCFLAGS
-# - $2 add-value-if-not-found : nothing
-# - $3 action-if-found : add value to shellvariable
-# - $4 action-if-not-found : nothing
-#
-# LICENSE
-#
-# Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de>
-# Copyright (c) 2010 Rhys Ulerich <rhys.ulerich@gmail.com>
-#
-# This program is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by the
-# Free Software Foundation; either version 3 of the License, or (at your
-# option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
-# Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-# As a special exception, the respective Autoconf Macro's copyright owner
-# gives unlimited permission to copy, distribute and modify the configure
-# scripts that are the output of Autoconf when processing the Macro. You
-# need not follow the terms of the GNU General Public License when using
-# or distributing such scripts, even though portions of the text of the
-# Macro appear in them. The GNU General Public License (GPL) does govern
-# all other use of the material that constitutes the Autoconf Macro.
-#
-# This special exception to the GPL applies to versions of the Autoconf
-# Macro released by the Autoconf Archive. When you make and distribute a
-# modified version of the Autoconf Macro, you may extend this special
-# exception to the GPL to apply to your modified version as well.
-
-#serial 10
-
-AC_DEFUN([AX_CFLAGS_WARN_ALL],[dnl
-AS_VAR_PUSHDEF([FLAGS],[CFLAGS])dnl
-AS_VAR_PUSHDEF([VAR],[ac_cv_cflags_warn_all])dnl
-AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for maximum warnings],
-VAR,[VAR="no, unknown"
- AC_LANG_PUSH([C])
- ac_save_[]FLAGS="$[]FLAGS"
-for ac_arg dnl
-in "-pedantic % -Wall" dnl GCC
- "-xstrconst % -v" dnl Solaris C
- "-std1 % -verbose -w0 -warnprotos" dnl Digital Unix
- "-qlanglvl=ansi % -qsrcmsg -qinfo=all:noppt:noppc:noobs:nocnd" dnl AIX
- "-ansi -ansiE % -fullwarn" dnl IRIX
- "+ESlit % +w1" dnl HP-UX C
- "-Xc % -pvctl[,]fullmsg" dnl NEC SX-5 (Super-UX 10)
- "-h conform % -h msglevel 2" dnl Cray C (Unicos)
- #
-do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
- [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break])
-done
- FLAGS="$ac_save_[]FLAGS"
- AC_LANG_POP([C])
-])
-case ".$VAR" in
- .ok|.ok,*) m4_ifvaln($3,$3) ;;
- .|.no|.no,*) m4_ifvaln($4,$4,[m4_ifval($2,[
- AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $2"])
- m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $2"])]) ;;
- *) m4_ifvaln($3,$3,[
- if echo " $[]m4_ifval($1,$1,FLAGS) " | grep " $VAR " 2>&1 >/dev/null
- then AC_RUN_LOG([: m4_ifval($1,$1,FLAGS) does contain $VAR])
- else AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"])
- m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"
- fi ]) ;;
-esac
-AS_VAR_POPDEF([VAR])dnl
-AS_VAR_POPDEF([FLAGS])dnl
-])
-
-dnl the only difference - the LANG selection... and the default FLAGS
-
-AC_DEFUN([AX_CXXFLAGS_WARN_ALL],[dnl
-AS_VAR_PUSHDEF([FLAGS],[CXXFLAGS])dnl
-AS_VAR_PUSHDEF([VAR],[ax_cv_cxxflags_warn_all])dnl
-AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for maximum warnings],
-VAR,[VAR="no, unknown"
- AC_LANG_PUSH([C++])
- ac_save_[]FLAGS="$[]FLAGS"
-for ac_arg dnl
-in "-pedantic % -Wall" dnl GCC
- "-xstrconst % -v" dnl Solaris C
- "-std1 % -verbose -w0 -warnprotos" dnl Digital Unix
- "-qlanglvl=ansi % -qsrcmsg -qinfo=all:noppt:noppc:noobs:nocnd" dnl AIX
- "-ansi -ansiE % -fullwarn" dnl IRIX
- "+ESlit % +w1" dnl HP-UX C
- "-Xc % -pvctl[,]fullmsg" dnl NEC SX-5 (Super-UX 10)
- "-h conform % -h msglevel 2" dnl Cray C (Unicos)
- #
-do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
- [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break])
-done
- FLAGS="$ac_save_[]FLAGS"
- AC_LANG_POP([C++])
-])
-case ".$VAR" in
- .ok|.ok,*) m4_ifvaln($3,$3) ;;
- .|.no|.no,*) m4_ifvaln($4,$4,[m4_ifval($2,[
- AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $2"])
- m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $2"])]) ;;
- *) m4_ifvaln($3,$3,[
- if echo " $[]m4_ifval($1,$1,FLAGS) " | grep " $VAR " 2>&1 >/dev/null
- then AC_RUN_LOG([: m4_ifval($1,$1,FLAGS) does contain $VAR])
- else AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"])
- m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"
- fi ]) ;;
-esac
-AS_VAR_POPDEF([VAR])dnl
-AS_VAR_POPDEF([FLAGS])dnl
-])
-
-dnl the only difference - the LANG selection... and the default FLAGS
-
-AC_DEFUN([AX_FCFLAGS_WARN_ALL],[dnl
-AS_VAR_PUSHDEF([FLAGS],[FCFLAGS])dnl
-AS_VAR_PUSHDEF([VAR],[ax_cv_fcflags_warn_all])dnl
-AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for maximum warnings],
-VAR,[VAR="no, unknown"
- AC_LANG_PUSH([Fortran])
- ac_save_[]FLAGS="$[]FLAGS"
-for ac_arg dnl
-in "-warn all % -warn all" dnl Intel
- "-pedantic % -Wall" dnl GCC
- "-xstrconst % -v" dnl Solaris C
- "-std1 % -verbose -w0 -warnprotos" dnl Digital Unix
- "-qlanglvl=ansi % -qsrcmsg -qinfo=all:noppt:noppc:noobs:nocnd" dnl AIX
- "-ansi -ansiE % -fullwarn" dnl IRIX
- "+ESlit % +w1" dnl HP-UX C
- "-Xc % -pvctl[,]fullmsg" dnl NEC SX-5 (Super-UX 10)
- "-h conform % -h msglevel 2" dnl Cray C (Unicos)
- #
-do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
- [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break])
-done
- FLAGS="$ac_save_[]FLAGS"
- AC_LANG_POP([Fortran])
-])
-case ".$VAR" in
- .ok|.ok,*) m4_ifvaln($3,$3) ;;
- .|.no|.no,*) m4_ifvaln($4,$4,[m4_ifval($2,[
- AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $2"])
- m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $2"])]) ;;
- *) m4_ifvaln($3,$3,[
- if echo " $[]m4_ifval($1,$1,FLAGS) " | grep " $VAR " 2>&1 >/dev/null
- then AC_RUN_LOG([: m4_ifval($1,$1,FLAGS) does contain $VAR])
- else AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"])
- m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"
- fi ]) ;;
-esac
-AS_VAR_POPDEF([VAR])dnl
-AS_VAR_POPDEF([FLAGS])dnl
-])
-
-dnl implementation tactics:
-dnl the for-argument contains a list of options. The first part of
-dnl these does only exist to detect the compiler - usually it is
-dnl a global option to enable -ansi or -extrawarnings. All other
-dnl compilers will fail about it. That was needed since a lot of
-dnl compilers will give false positives for some option-syntax
-dnl like -Woption or -Xoption as they think of it is a pass-through
-dnl to later compile stages or something. The "%" is used as a
-dnl delimiter. A non-option comment can be given after "%%" marks
-dnl which will be shown but not added to the respective C/CXXFLAGS.
diff --git a/.pc/autoconf-archive-update/m4/ax_compiler_vendor.m4 b/.pc/autoconf-archive-update/m4/ax_compiler_vendor.m4
deleted file mode 100644
index 3214706..0000000
--- a/.pc/autoconf-archive-update/m4/ax_compiler_vendor.m4
+++ /dev/null
@@ -1,63 +0,0 @@
-# ===========================================================================
-# http://www.gnu.org/software/autoconf-archive/ax_compiler_vendor.html
-# ===========================================================================
-#
-# SYNOPSIS
-#
-# AX_COMPILER_VENDOR
-#
-# DESCRIPTION
-#
-# Determine the vendor of the C/C++ compiler, e.g., gnu, intel, ibm, sun,
-# hp, borland, comeau, dec, cray, kai, lcc, metrowerks, sgi, microsoft,
-# watcom, etc. The vendor is returned in the cache variable
-# $ax_cv_c_compiler_vendor for C and $ax_cv_cxx_compiler_vendor for C++.
-#
-# LICENSE
-#
-# Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
-# Copyright (c) 2008 Matteo Frigo
-#
-# This program is free software: you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by the
-# Free Software Foundation, either version 3 of the License, or (at your
-# option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
-# Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-# As a special exception, the respective Autoconf Macro's copyright owner
-# gives unlimited permission to copy, distribute and modify the configure
-# scripts that are the output of Autoconf when processing the Macro. You
-# need not follow the terms of the GNU General Public License when using
-# or distributing such scripts, even though portions of the text of the
-# Macro appear in them. The GNU General Public License (GPL) does govern
-# all other use of the material that constitutes the Autoconf Macro.
-#
-# This special exception to the GPL applies to versions of the Autoconf
-# Macro released by the Autoconf Archive. When you make and distribute a
-# modified version of the Autoconf Macro, you may extend this special
-# exception to the GPL to apply to your modified version as well.
-
-#serial 9
-
-AC_DEFUN([AX_COMPILER_VENDOR],
-[
-AC_CACHE_CHECK([for _AC_LANG compiler vendor], ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor,
- [ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor=unknown
- # note: don't check for gcc first since some other compilers define __GNUC__
- for ventest in intel:__ICC,__ECC,__INTEL_COMPILER ibm:__xlc__,__xlC__,__IBMC__,__IBMCPP__ pathscale:__PATHCC__,__PATHSCALE__ clang:__clang__ gnu:__GNUC__ sun:__SUNPRO_C,__SUNPRO_CC hp:__HP_cc,__HP_aCC dec:__DECC,__DECCXX,__DECC_VER,__DECCXX_VER borland:__BORLANDC__,__TURBOC__ comeau:__COMO__ cray:_CRAYC kai:__KCC lcc:__LCC__ metrowerks:__MWERKS__ sgi:__sgi,sgi microsoft:_MSC_VER watcom:__WATCOMC__ portland:__PGI; do
- vencpp="defined("`echo $ventest | cut -d: -f2 | sed 's/,/) || defined(/g'`")"
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[
-#if !($vencpp)
- thisisanerror;
-#endif
-])], [ax_cv_]_AC_LANG_ABBREV[_compiler_vendor=`echo $ventest | cut -d: -f1`; break])
- done
- ])
-])
diff --git a/.pc/autoconf-archive-update/m4/ax_enable_builddir.m4 b/.pc/autoconf-archive-update/m4/ax_enable_builddir.m4
deleted file mode 100644
index 98ea911..0000000
--- a/.pc/autoconf-archive-update/m4/ax_enable_builddir.m4
+++ /dev/null
@@ -1,300 +0,0 @@
-# ===========================================================================
-# http://www.gnu.org/software/autoconf-archive/ax_enable_builddir.html
-# ===========================================================================
-#
-# SYNOPSIS
-#
-# AX_ENABLE_BUILDDIR [(dirstring-or-command [,Makefile.mk [,-all]])]
-#
-# DESCRIPTION
-#
-# If the current configure was run within the srcdir then we move all
-# configure-files into a subdir and let the configure steps continue
-# there. We provide an option --disable-builddir to suppress the move into
-# a separate builddir.
-#
-# Defaults:
-#
-# $1 = $host (overridden with $HOST)
-# $2 = Makefile.mk
-# $3 = -all
-#
-# This macro must be called before AM_INIT_AUTOMAKE. It creates a default
-# toplevel srcdir Makefile from the information found in the created
-# toplevel builddir Makefile. It just copies the variables and
-# rule-targets, each extended with a default rule-execution that recurses
-# into the build directory of the current "HOST". You can override the
-# auto-dection through `config.guess` and build-time of course, as in
-#
-# make HOST=i386-mingw-cross
-#
-# which can of course set at configure time as well using
-#
-# configure --host=i386-mingw-cross
-#
-# After the default has been created, additional rules can be appended
-# that will not just recurse into the subdirectories and only ever exist
-# in the srcdir toplevel makefile - these parts are read from the $2 =
-# Makefile.mk file
-#
-# The automatic rules are usually scanning the toplevel Makefile for lines
-# like '#### $host |$builddir' to recognize the place where to recurse
-# into. Usually, the last one is the only one used. However, almost all
-# targets have an additional "*-all" rule which makes the script to
-# recurse into _all_ variants of the current HOST (!!) setting. The "-all"
-# suffix can be overriden for the macro as well.
-#
-# a special rule is only given for things like "dist" that will copy the
-# tarball from the builddir to the sourcedir (or $(PUB)) for reason of
-# convenience.
-#
-# LICENSE
-#
-# Copyright (c) 2009 Guido U. Draheim <guidod@gmx.de>
-# Copyright (c) 2009 Alan Jenkins <alan-jenkins@tuffmail.co.uk>
-#
-# This program is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by the
-# Free Software Foundation; either version 3 of the License, or (at your
-# option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
-# Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-# As a special exception, the respective Autoconf Macro's copyright owner
-# gives unlimited permission to copy, distribute and modify the configure
-# scripts that are the output of Autoconf when processing the Macro. You
-# need not follow the terms of the GNU General Public License when using
-# or distributing such scripts, even though portions of the text of the
-# Macro appear in them. The GNU General Public License (GPL) does govern
-# all other use of the material that constitutes the Autoconf Macro.
-#
-# This special exception to the GPL applies to versions of the Autoconf
-# Macro released by the Autoconf Archive. When you make and distribute a
-# modified version of the Autoconf Macro, you may extend this special
-# exception to the GPL to apply to your modified version as well.
-
-#serial 22
-
-AC_DEFUN([AX_ENABLE_BUILDDIR],[
-AC_REQUIRE([AC_CANONICAL_HOST])[]dnl
-AC_REQUIRE([AX_CONFIGURE_ARGS])[]dnl
-AC_REQUIRE([AM_AUX_DIR_EXPAND])[]dnl
-AC_BEFORE([$0],[AM_INIT_AUTOMAKE])dnl
-AS_VAR_PUSHDEF([SUB],[ax_enable_builddir])dnl
-AS_VAR_PUSHDEF([AUX],[ax_enable_builddir_auxdir])dnl
-AS_VAR_PUSHDEF([SED],[ax_enable_builddir_sed])dnl
-SUB="."
-AC_ARG_ENABLE([builddir], AS_HELP_STRING(
- [--disable-builddir],[disable automatic build in subdir of sources])
- ,[SUB="$enableval"], [SUB="auto"])
-if test ".$ac_srcdir_defaulted" != ".no" ; then
-if test ".$srcdir" = ".." ; then
- if test -f config.status ; then
- AC_MSG_NOTICE(toplevel srcdir already configured... skipping subdir build)
- else
- test ".$SUB" = "." && SUB="."
- test ".$SUB" = ".no" && SUB="."
- test ".$TARGET" = "." && TARGET="$target"
- test ".$SUB" = ".auto" && SUB="m4_ifval([$1], [$1],[$TARGET])"
- if test ".$SUB" != ".." ; then # we know where to go and
- AS_MKDIR_P([$SUB])
- echo __.$SUB.__ > $SUB/conftest.tmp
- cd $SUB
- if grep __.$SUB.__ conftest.tmp >/dev/null 2>/dev/null ; then
- rm conftest.tmp
- AC_MSG_RESULT([continue configure in default builddir "./$SUB"])
- else
- AC_MSG_ERROR([could not change to default builddir "./$SUB"])
- fi
- srcdir=`echo "$SUB" |
- sed -e 's,^\./,,;s,[[^/]]$,&/,;s,[[^/]]*/,../,g;s,[[/]]$,,;'`
- # going to restart from subdirectory location
- test -f $srcdir/config.log && mv $srcdir/config.log .
- test -f $srcdir/confdefs.h && mv $srcdir/confdefs.h .
- test -f $srcdir/conftest.log && mv $srcdir/conftest.log .
- test -f $srcdir/$cache_file && mv $srcdir/$cache_file .
- AC_MSG_RESULT(....exec $SHELL $srcdir/[$]0 "--srcdir=$srcdir" "--enable-builddir=$SUB" ${1+"[$]@"})
- case "[$]0" in # restart
- [/\\]*) eval $SHELL "'[$]0'" "'--srcdir=$srcdir'" "'--enable-builddir=$SUB'" $ac_configure_args ;;
- *) eval $SHELL "'$srcdir/[$]0'" "'--srcdir=$srcdir'" "'--enable-builddir=$SUB'" $ac_configure_args ;;
- esac ; exit $?
- fi
- fi
-fi fi
-test ".$SUB" = ".auto" && SUB="."
-dnl ac_path_prog uses "set dummy" to override $@ which would defeat the "exec"
-AC_PATH_PROG(SED,gsed sed, sed)
-AUX="$am_aux_dir"
-AS_VAR_POPDEF([SED])dnl
-AS_VAR_POPDEF([AUX])dnl
-AS_VAR_POPDEF([SUB])dnl
-AC_CONFIG_COMMANDS([buildir],[dnl .............. config.status ..............
-AS_VAR_PUSHDEF([SUB],[ax_enable_builddir])dnl
-AS_VAR_PUSHDEF([TOP],[top_srcdir])dnl
-AS_VAR_PUSHDEF([SRC],[ac_top_srcdir])dnl
-AS_VAR_PUSHDEF([AUX],[ax_enable_builddir_auxdir])dnl
-AS_VAR_PUSHDEF([SED],[ax_enable_builddir_sed])dnl
-pushdef([END],[Makefile.mk])dnl
-pushdef([_ALL],[ifelse([$3],,[-all],[$3])])dnl
- SRC="$ax_enable_builddir_srcdir"
- if test ".$SUB" = ".." ; then
- if test -f "$TOP/Makefile" ; then
- AC_MSG_NOTICE([skipping TOP/Makefile - left untouched])
- else
- AC_MSG_NOTICE([skipping TOP/Makefile - not created])
- fi
- else
- if test -f "$SRC/Makefile" ; then
- a=`grep "^VERSION " "$SRC/Makefile"` ; b=`grep "^VERSION " Makefile`
- test "$a" != "$b" && rm "$SRC/Makefile"
- fi
- if test -f "$SRC/Makefile" ; then
- echo "$SRC/Makefile : $SRC/Makefile.in" > $tmp/conftemp.mk
- echo " []@ echo 'REMOVED,,,' >\$[]@" >> $tmp/conftemp.mk
- eval "${MAKE-make} -f $tmp/conftemp.mk 2>/dev/null >/dev/null"
- if grep '^REMOVED,,,' "$SRC/Makefile" >/dev/null
- then rm $SRC/Makefile ; fi
- cp $tmp/conftemp.mk $SRC/makefiles.mk~ ## DEBUGGING
- fi
- if test ! -f "$SRC/Makefile" ; then
- AC_MSG_NOTICE([create TOP/Makefile guessed from local Makefile])
- x='`' ; cat >$tmp/conftemp.sed <<_EOF
-/^\$/n
-x
-/^\$/bS
-x
-/\\\\\$/{H;d;}
-{H;s/.*//;x;}
-bM
-:S
-x
-/\\\\\$/{h;d;}
-{h;s/.*//;x;}
-:M
-s/\\(\\n\\) /\\1 /g
-/^ /d
-/^[[ ]]*[[\\#]]/d
-/^VPATH *=/d
-s/^srcdir *=.*/srcdir = ./
-s/^top_srcdir *=.*/top_srcdir = ./
-/[[:=]]/!d
-/^\\./d
-dnl Now handle rules (i.e. lines containing ":" but not " = ").
-/ = /b
-/ .= /b
-/:/!b
-s/:.*/:/
-s/ / /g
-s/ \\([[a-z]][[a-z-]]*[[a-zA-Z0-9]]\\)\\([[ :]]\\)/ \\1 \\1[]_ALL\\2/g
-s/^\\([[a-z]][[a-z-]]*[[a-zA-Z0-9]]\\)\\([[ :]]\\)/\\1 \\1[]_ALL\\2/
-s/ / /g
-/^all all[]_ALL[[ :]]/i\\
-all-configured : all[]_ALL
-dnl dist-all exists... and would make for dist-all-all
-s/ [[a-zA-Z0-9-]]*[]_ALL [[a-zA-Z0-9-]]*[]_ALL[]_ALL//g
-/[]_ALL[]_ALL/d
-a\\
- @ HOST="\$(HOST)\" \\\\\\
- ; test ".\$\$HOST" = "." && HOST=$x sh $AUX/config.guess $x \\\\\\
- ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
- ; use=$x basename "\$\@" _ALL $x; n=$x echo \$\$BUILD | wc -w $x \\\\\\
- ; echo "MAKE \$\$HOST : \$\$n * \$\@"; if test "\$\$n" -eq "0" ; then : \\\\\\
- ; BUILD=$x grep "^####.*|" Makefile |tail -1| sed -e 's/.*|//' $x ; fi \\\\\\
- ; test ".\$\$BUILD" = "." && BUILD="." \\\\\\
- ; test "\$\$use" = "\$\@" && BUILD=$x echo "\$\$BUILD" | tail -1 $x \\\\\\
- ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
- ; (cd "\$\$i" && test ! -f configure && \$(MAKE) \$\$use) || exit; done
-dnl special rule add-on: "dist" copies the tarball to $(PUB). (source tree)
-/dist[]_ALL *:/a\\
- @ HOST="\$(HOST)\" \\\\\\
- ; test ".\$\$HOST" = "." && HOST=$x sh $AUX/config.guess $x \\\\\\
- ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
- ; found=$x echo \$\$BUILD | wc -w $x \\\\\\
- ; echo "MAKE \$\$HOST : \$\$found \$(PACKAGE)-\$(VERSION).tar.*" \\\\\\
- ; if test "\$\$found" -eq "0" ; then : \\\\\\
- ; BUILD=$x grep "^#### .*|" Makefile |tail -1| sed -e 's/.*|//' $x \\\\\\
- ; fi ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
- ; for f in \$\$i/\$(PACKAGE)-\$(VERSION).tar.* \\\\\\
- ; do test -f "\$\$f" && mv "\$\$f" \$(PUB). ; done ; break ; done
-dnl special rule add-on: "dist-foo" copies all the archives to $(PUB). (source tree)
-/dist-[[a-zA-Z0-9]]*[]_ALL *:/a\\
- @ HOST="\$(HOST)\" \\\\\\
- ; test ".\$\$HOST" = "." && HOST=$x sh ./config.guess $x \\\\\\
- ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
- ; found=$x echo \$\$BUILD | wc -w $x \\\\\\
- ; echo "MAKE \$\$HOST : \$\$found \$(PACKAGE)-\$(VERSION).*" \\\\\\
- ; if test "\$\$found" -eq "0" ; then : \\\\\\
- ; BUILD=$x grep "^#### .*|" Makefile |tail -1| sed -e 's/.*|//' $x \\\\\\
- ; fi ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
- ; for f in \$\$i/\$(PACKAGE)-\$(VERSION).* \\\\\\
- ; do test -f "\$\$f" && mv "\$\$f" \$(PUB). ; done ; break ; done
-dnl special rule add-on: "distclean" removes all local builddirs completely
-/distclean[]_ALL *:/a\\
- @ HOST="\$(HOST)\" \\\\\\
- ; test ".\$\$HOST" = "." && HOST=$x sh $AUX/config.guess $x \\\\\\
- ; BUILD=$x grep "^#### .*|" Makefile | sed -e 's/.*|//' $x \\\\\\
- ; use=$x basename "\$\@" _ALL $x; n=$x echo \$\$BUILD | wc -w $x \\\\\\
- ; echo "MAKE \$\$HOST : \$\$n * \$\@ (all local builds)" \\\\\\
- ; test ".\$\$BUILD" = "." && BUILD="." \\\\\\
- ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
- ; echo "# rm -r \$\$i"; done ; echo "# (sleep 3)" ; sleep 3 \\\\\\
- ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
- ; echo "\$\$i" | grep "^/" > /dev/null && continue \\\\\\
- ; echo "\$\$i" | grep "^../" > /dev/null && continue \\\\\\
- ; echo "rm -r \$\$i"; (rm -r "\$\$i") ; done ; rm Makefile
-_EOF
- cp "$tmp/conftemp.sed" "$SRC/makefile.sed~" ## DEBUGGING
- $SED -f $tmp/conftemp.sed Makefile >$SRC/Makefile
- if test -f "$SRC/m4_ifval([$2],[$2],[END])" ; then
- AC_MSG_NOTICE([extend TOP/Makefile with TOP/m4_ifval([$2],[$2],[END])])
- cat $SRC/END >>$SRC/Makefile
- fi ; xxxx="####"
- echo "$xxxx CONFIGURATIONS FOR TOPLEVEL MAKEFILE: " >>$SRC/Makefile
- # sanity check
- if grep '^; echo "MAKE ' $SRC/Makefile >/dev/null ; then
- AC_MSG_NOTICE([buggy sed found - it deletes tab in "a" text parts])
- $SED -e '/^@ HOST=/s/^/ /' -e '/^; /s/^/ /' $SRC/Makefile \
- >$SRC/Makefile~
- (test -s $SRC/Makefile~ && mv $SRC/Makefile~ $SRC/Makefile) 2>/dev/null
- fi
- else
- xxxx="\\#\\#\\#\\#"
- # echo "/^$xxxx *$ax_enable_builddir_host /d" >$tmp/conftemp.sed
- echo "s!^$xxxx [[^|]]* | *$SUB *\$!$xxxx ...... $SUB!" >$tmp/conftemp.sed
- $SED -f "$tmp/conftemp.sed" "$SRC/Makefile" >$tmp/mkfile.tmp
- cp "$tmp/conftemp.sed" "$SRC/makefiles.sed~" ## DEBUGGING
- cp "$tmp/mkfile.tmp" "$SRC/makefiles.out~" ## DEBUGGING
- if cmp -s "$SRC/Makefile" "$tmp/mkfile.tmp" 2>/dev/null ; then
- AC_MSG_NOTICE([keeping TOP/Makefile from earlier configure])
- rm "$tmp/mkfile.tmp"
- else
- AC_MSG_NOTICE([reusing TOP/Makefile from earlier configure])
- mv "$tmp/mkfile.tmp" "$SRC/Makefile"
- fi
- fi
- AC_MSG_NOTICE([build in $SUB (HOST=$ax_enable_builddir_host)])
- xxxx="####"
- echo "$xxxx" "$ax_enable_builddir_host" "|$SUB" >>$SRC/Makefile
- fi
-popdef([END])dnl
-AS_VAR_POPDEF([SED])dnl
-AS_VAR_POPDEF([AUX])dnl
-AS_VAR_POPDEF([SRC])dnl
-AS_VAR_POPDEF([TOP])dnl
-AS_VAR_POPDEF([SUB])dnl
-],[dnl
-ax_enable_builddir_srcdir="$srcdir" # $srcdir
-ax_enable_builddir_host="$HOST" # $HOST / $host
-ax_enable_builddir_version="$VERSION" # $VERSION
-ax_enable_builddir_package="$PACKAGE" # $PACKAGE
-ax_enable_builddir_auxdir="$ax_enable_builddir_auxdir" # $AUX
-ax_enable_builddir_sed="$ax_enable_builddir_sed" # $SED
-ax_enable_builddir="$ax_enable_builddir" # $SUB
-])dnl
-])
diff --git a/.pc/autoconf-archive-update/m4/ax_gcc_archflag.m4 b/.pc/autoconf-archive-update/m4/ax_gcc_archflag.m4
deleted file mode 100644
index d37a913..0000000
--- a/.pc/autoconf-archive-update/m4/ax_gcc_archflag.m4
+++ /dev/null
@@ -1,215 +0,0 @@
-# ===========================================================================
-# http://www.gnu.org/software/autoconf-archive/ax_gcc_archflag.html
-# ===========================================================================
-#
-# SYNOPSIS
-#
-# AX_GCC_ARCHFLAG([PORTABLE?], [ACTION-SUCCESS], [ACTION-FAILURE])
-#
-# DESCRIPTION
-#
-# This macro tries to guess the "native" arch corresponding to the target
-# architecture for use with gcc's -march=arch or -mtune=arch flags. If
-# found, the cache variable $ax_cv_gcc_archflag is set to this flag and
-# ACTION-SUCCESS is executed; otherwise $ax_cv_gcc_archflag is is set to
-# "unknown" and ACTION-FAILURE is executed. The default ACTION-SUCCESS is
-# to add $ax_cv_gcc_archflag to the end of $CFLAGS.
-#
-# PORTABLE? should be either [yes] (default) or [no]. In the former case,
-# the flag is set to -mtune (or equivalent) so that the architecture is
-# only used for tuning, but the instruction set used is still portable. In
-# the latter case, the flag is set to -march (or equivalent) so that
-# architecture-specific instructions are enabled.
-#
-# The user can specify --with-gcc-arch=<arch> in order to override the
-# macro's choice of architecture, or --without-gcc-arch to disable this.
-#
-# When cross-compiling, or if $CC is not gcc, then ACTION-FAILURE is
-# called unless the user specified --with-gcc-arch manually.
-#
-# Requires macros: AX_CHECK_COMPILER_FLAGS, AX_GCC_X86_CPUID
-#
-# (The main emphasis here is on recent CPUs, on the principle that doing
-# high-performance computing on old hardware is uncommon.)
-#
-# LICENSE
-#
-# Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
-# Copyright (c) 2008 Matteo Frigo
-#
-# This program is free software: you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by the
-# Free Software Foundation, either version 3 of the License, or (at your
-# option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
-# Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-# As a special exception, the respective Autoconf Macro's copyright owner
-# gives unlimited permission to copy, distribute and modify the configure
-# scripts that are the output of Autoconf when processing the Macro. You
-# need not follow the terms of the GNU General Public License when using
-# or distributing such scripts, even though portions of the text of the
-# Macro appear in them. The GNU General Public License (GPL) does govern
-# all other use of the material that constitutes the Autoconf Macro.
-#
-# This special exception to the GPL applies to versions of the Autoconf
-# Macro released by the Autoconf Archive. When you make and distribute a
-# modified version of the Autoconf Macro, you may extend this special
-# exception to the GPL to apply to your modified version as well.
-
-#serial 8
-
-AC_DEFUN([AX_GCC_ARCHFLAG],
-[AC_REQUIRE([AC_PROG_CC])
-AC_REQUIRE([AC_CANONICAL_HOST])
-
-AC_ARG_WITH(gcc-arch, [AS_HELP_STRING([--with-gcc-arch=<arch>], [use architecture <arch> for gcc -march/-mtune, instead of guessing])],
- ax_gcc_arch=$withval, ax_gcc_arch=yes)
-
-AC_MSG_CHECKING([for gcc architecture flag])
-AC_MSG_RESULT([])
-AC_CACHE_VAL(ax_cv_gcc_archflag,
-[
-ax_cv_gcc_archflag="unknown"
-
-if test "$GCC" = yes; then
-
-if test "x$ax_gcc_arch" = xyes; then
-ax_gcc_arch=""
-if test "$cross_compiling" = no; then
-case $host_cpu in
- i[[3456]]86*|x86_64*) # use cpuid codes, in part from x86info-1.7 by D. Jones
- AX_GCC_X86_CPUID(0)
- AX_GCC_X86_CPUID(1)
- case $ax_cv_gcc_x86_cpuid_0 in
- *:756e6547:*:*) # Intel
- case $ax_cv_gcc_x86_cpuid_1 in
- *5[[48]]?:*:*:*) ax_gcc_arch="pentium-mmx pentium" ;;
- *5??:*:*:*) ax_gcc_arch=pentium ;;
- *6[[3456]]?:*:*:*) ax_gcc_arch="pentium2 pentiumpro" ;;
- *6a?:*[[01]]:*:*) ax_gcc_arch="pentium2 pentiumpro" ;;
- *6a?:*[[234]]:*:*) ax_gcc_arch="pentium3 pentiumpro" ;;
- *6[[9d]]?:*:*:*) ax_gcc_arch="pentium-m pentium3 pentiumpro" ;;
- *6[[78b]]?:*:*:*) ax_gcc_arch="pentium3 pentiumpro" ;;
- *6??:*:*:*) ax_gcc_arch=pentiumpro ;;
- *f3[[347]]:*:*:*|*f4[1347]:*:*:*)
- case $host_cpu in
- x86_64*) ax_gcc_arch="nocona pentium4 pentiumpro" ;;
- *) ax_gcc_arch="prescott pentium4 pentiumpro" ;;
- esac ;;
- *f??:*:*:*) ax_gcc_arch="pentium4 pentiumpro";;
- esac ;;
- *:68747541:*:*) # AMD
- case $ax_cv_gcc_x86_cpuid_1 in
- *5[[67]]?:*:*:*) ax_gcc_arch=k6 ;;
- *5[[8d]]?:*:*:*) ax_gcc_arch="k6-2 k6" ;;
- *5[[9]]?:*:*:*) ax_gcc_arch="k6-3 k6" ;;
- *60?:*:*:*) ax_gcc_arch=k7 ;;
- *6[[12]]?:*:*:*) ax_gcc_arch="athlon k7" ;;
- *6[[34]]?:*:*:*) ax_gcc_arch="athlon-tbird k7" ;;
- *67?:*:*:*) ax_gcc_arch="athlon-4 athlon k7" ;;
- *6[[68a]]?:*:*:*)
- AX_GCC_X86_CPUID(0x80000006) # L2 cache size
- case $ax_cv_gcc_x86_cpuid_0x80000006 in
- *:*:*[[1-9a-f]]??????:*) # (L2 = ecx >> 16) >= 256
- ax_gcc_arch="athlon-xp athlon-4 athlon k7" ;;
- *) ax_gcc_arch="athlon-4 athlon k7" ;;
- esac ;;
- *f[[4cef8b]]?:*:*:*) ax_gcc_arch="athlon64 k8" ;;
- *f5?:*:*:*) ax_gcc_arch="opteron k8" ;;
- *f7?:*:*:*) ax_gcc_arch="athlon-fx opteron k8" ;;
- *f??:*:*:*) ax_gcc_arch="k8" ;;
- esac ;;
- *:746e6543:*:*) # IDT
- case $ax_cv_gcc_x86_cpuid_1 in
- *54?:*:*:*) ax_gcc_arch=winchip-c6 ;;
- *58?:*:*:*) ax_gcc_arch=winchip2 ;;
- *6[[78]]?:*:*:*) ax_gcc_arch=c3 ;;
- *69?:*:*:*) ax_gcc_arch="c3-2 c3" ;;
- esac ;;
- esac
- if test x"$ax_gcc_arch" = x; then # fallback
- case $host_cpu in
- i586*) ax_gcc_arch=pentium ;;
- i686*) ax_gcc_arch=pentiumpro ;;
- esac
- fi
- ;;
-
- sparc*)
- AC_PATH_PROG([PRTDIAG], [prtdiag], [prtdiag], [$PATH:/usr/platform/`uname -i`/sbin/:/usr/platform/`uname -m`/sbin/])
- cputype=`(((grep cpu /proc/cpuinfo | cut -d: -f2) ; ($PRTDIAG -v |grep -i sparc) ; grep -i cpu /var/run/dmesg.boot ) | head -n 1) 2> /dev/null`
- cputype=`echo "$cputype" | tr -d ' -' |tr $as_cr_LETTERS $as_cr_letters`
- case $cputype in
- *ultrasparciv*) ax_gcc_arch="ultrasparc4 ultrasparc3 ultrasparc v9" ;;
- *ultrasparciii*) ax_gcc_arch="ultrasparc3 ultrasparc v9" ;;
- *ultrasparc*) ax_gcc_arch="ultrasparc v9" ;;
- *supersparc*|*tms390z5[[05]]*) ax_gcc_arch="supersparc v8" ;;
- *hypersparc*|*rt62[[056]]*) ax_gcc_arch="hypersparc v8" ;;
- *cypress*) ax_gcc_arch=cypress ;;
- esac ;;
-
- alphaev5) ax_gcc_arch=ev5 ;;
- alphaev56) ax_gcc_arch=ev56 ;;
- alphapca56) ax_gcc_arch="pca56 ev56" ;;
- alphapca57) ax_gcc_arch="pca57 pca56 ev56" ;;
- alphaev6) ax_gcc_arch=ev6 ;;
- alphaev67) ax_gcc_arch=ev67 ;;
- alphaev68) ax_gcc_arch="ev68 ev67" ;;
- alphaev69) ax_gcc_arch="ev69 ev68 ev67" ;;
- alphaev7) ax_gcc_arch="ev7 ev69 ev68 ev67" ;;
- alphaev79) ax_gcc_arch="ev79 ev7 ev69 ev68 ev67" ;;
-
- powerpc*)
- cputype=`((grep cpu /proc/cpuinfo | head -n 1 | cut -d: -f2 | cut -d, -f1 | sed 's/ //g') ; /usr/bin/machine ; /bin/machine; grep CPU /var/run/dmesg.boot | head -n 1 | cut -d" " -f2) 2> /dev/null`
- cputype=`echo $cputype | sed -e 's/ppc//g;s/ *//g'`
- case $cputype in
- *750*) ax_gcc_arch="750 G3" ;;
- *740[[0-9]]*) ax_gcc_arch="$cputype 7400 G4" ;;
- *74[[4-5]][[0-9]]*) ax_gcc_arch="$cputype 7450 G4" ;;
- *74[[0-9]][[0-9]]*) ax_gcc_arch="$cputype G4" ;;
- *970*) ax_gcc_arch="970 G5 power4";;
- *POWER4*|*power4*|*gq*) ax_gcc_arch="power4 970";;
- *POWER5*|*power5*|*gr*|*gs*) ax_gcc_arch="power5 power4 970";;
- 603ev|8240) ax_gcc_arch="$cputype 603e 603";;
- *) ax_gcc_arch=$cputype ;;
- esac
- ax_gcc_arch="$ax_gcc_arch powerpc"
- ;;
-esac
-fi # not cross-compiling
-fi # guess arch
-
-if test "x$ax_gcc_arch" != x -a "x$ax_gcc_arch" != xno; then
-for arch in $ax_gcc_arch; do
- if test "x[]m4_default([$1],yes)" = xyes; then # if we require portable code
- flags="-mtune=$arch"
- # -mcpu=$arch and m$arch generate nonportable code on every arch except
- # x86. And some other arches (e.g. Alpha) don't accept -mtune. Grrr.
- case $host_cpu in i*86|x86_64*) flags="$flags -mcpu=$arch -m$arch";; esac
- else
- flags="-march=$arch -mcpu=$arch -m$arch"
- fi
- for flag in $flags; do
- AX_CHECK_COMPILER_FLAGS($flag, [ax_cv_gcc_archflag=$flag; break])
- done
- test "x$ax_cv_gcc_archflag" = xunknown || break
-done
-fi
-
-fi # $GCC=yes
-])
-AC_MSG_CHECKING([for gcc architecture flag])
-AC_MSG_RESULT($ax_cv_gcc_archflag)
-if test "x$ax_cv_gcc_archflag" = xunknown; then
- m4_default([$3],:)
-else
- m4_default([$2], [CFLAGS="$CFLAGS $ax_cv_gcc_archflag"])
-fi
-])
diff --git a/.pc/bad-abi-fix/.timestamp b/.pc/bad-abi-fix/.timestamp
deleted file mode 100644
index e69de29..0000000
--- a/.pc/bad-abi-fix/.timestamp
+++ /dev/null
diff --git a/.pc/bad-abi-fix/ChangeLog b/.pc/bad-abi-fix/ChangeLog
deleted file mode 100644
index f27b6be..0000000
--- a/.pc/bad-abi-fix/ChangeLog
+++ /dev/null
@@ -1,4641 +0,0 @@
-2012-02-10 Kai Tietz <ktietz@redhat.com>
-
- * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
- windows target.
- * configure: Regenerated.
-
-2012-02-08 Kai Tietz <ktietz@redhat.com>
-
- * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
- also FFI_THISCALL.
- * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
- (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
- (ffi_prep_closure_loc): Add FFI_THISCALL support.
- * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
- * src/x86/win32.S (ffi_closure_THISCALL): New closure code
- for thiscall-calling convention.
- * testsuite/libffi.call/closure_thiscall.c: New test.
-
-2012-01-28 Kai Tietz <ktietz@redhat.com>
-
- * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
- argument to prototype for specify calling-convention.
- (ffi_call): Add support for stdcall/thiscall convention.
- (ffi_prep_args): Likewise.
- (ffi_raw_call): Likewise.
- * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
- FFI_FASTCALL.
- * src/x86/win32.S (_ffi_call_win32): Add support for
- fastcall/thiscall calling-convention calls.
- * testsuite/libffi.call/fastthis1_win32.c: New test.
- * testsuite/libffi.call/fastthis2_win32.c: New test.
- * testsuite/libffi.call/fastthis3_win32.c: New test.
- * testsuite/libffi.call/strlen2_win32.c: New test.
- * testsuite/libffi.call/many2_win32.c: New test.
- * testsuite/libffi.call/struct1_win32.c: New test.
- * testsuite/libffi.call/struct2_win32.c: New test.
-
-2012-01-23 Andreas Schwab <schwab@linux-m68k.org>
-
- * src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
- mc68000. Test for __HAVE_68881__ in addition to __MC68881__.
-
-2012-01-19 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/48496
- * src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
-
-2012-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (i?86-*-*): Set TARGET to X86_64.
- * configure: Regenerate.
-
-2011-12-07 Andrew Pinski <apinski@cavium.com>
-
- PR libffi/50051
- * src/mips/n32.S: Add ".set mips4".
-
-2011-11-21 Andreas Tobler <andreast@fgznet.ch>
-
- * configure: Regenerate.
-
-2011-11-10 Richard Henderson <rth@redhat.com>
-
- * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
- * configure, aclocal.m4: Rebuild.
-
-2011-09-04 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/49594
- * src/powerpc/darwin_closure.S (stubs): Make the stub binding
- helper reference track the architecture pointer size.
-
-2011-08-25 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
- instructions.
- * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
-
-2011-07-11 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46660
- * testsuite/libffi.call/cls_double_va.c: xfail dg-output on
- mips-sgi-irix6*.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
- PRId8 instead of %hhu, %hhd.
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
- PRIu8): Define.
- [__sgi__] (PRId8, PRIu8): Define.
-
-2011-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
- Define.
- Use them to handle ELF vs. ECOFF differences.
- [__osf__] (_GLOBAL__F_ffi_call_osf): Define.
-
-2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2011-02-11 Anthony Green <green@moxielogic.com>
-
- * src/sparc/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
- just return FFI_BAD_ABI when things are wrong.
-
-2011-02-09 Stuart Shelton <srcshelton@gmail.com>
-
- http://bugs.gentoo.org/show_bug.cgi?id=286911
- * src/mips/ffitarget.h: Clean up error messages.
- * src/java_raw_api.c (ffi_java_translate_args): Cast raw arg to
- ffi_raw*.
- * include/ffi.h.in: Add pragma for SGI compiler.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * configure.ac: Add powerpc64-*-darwin* support.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * README: Mention Interix.
-
-2011-02-09 Jonathan Callen <abcd@gentoo.org>
-
- * configure.ac: Add Interix to win32/cygwin/mingw case.
- * configure: Ditto.
- * src/closures.c: Treat Interix like Cygwin, instead of as a
- generic win32.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * testsuite/libffi.call/err_bad_typedef.c: Remove xfail.
- * testsuite/libffi.call/err_bad_abi.c: Remove xfail.
- * src/x86/ffi64.c (UNLIKELY, LIKELY): Define.
- (ffi_prep_closure_loc): Check for bad ABI.
- * src/prep_cif.c (UNLIKELY, LIKELY): Define.
- (initialize_aggregate): Check for bad types.
-
-2011-02-09 Landon Fuller <landonf@plausible.coop>
-
- * Makefile.am (EXTRA_DIST): Add build-ios.sh, src/arm/gentramp.sh,
- src/arm/trampoline.S.
- (nodist_libffi_la_SOURCES): Add src/arc/trampoline.S.
- * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Define.
- * src/arm/ffi.c (ffi_trampoline_table)
- (ffi_closure_trampoline_table_page, ffi_trampoline_table_entry)
- (FFI_TRAMPOLINE_CODELOC_CONFIG, FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET)
- (FFI_TRAMPOLINE_COUNT, ffi_trampoline_lock, ffi_trampoline_tables)
- (ffi_trampoline_table_alloc, ffi_closure_alloc, ffi_closure_free):
- Define for FFI_EXEC_TRAMPOLINE_TABLE case (iOS).
- (ffi_prep_closure_loc): Handl FFI_EXEC_TRAMPOLINE_TABLE case
- separately.
- * src/arm/sysv.S: Handle Apple iOS host.
- * src/closures.c: Handle FFI_EXEC_TRAMPOLINE_TABLE case.
- * build-ios.sh: New file.
- * fficonfig.h.in, configure, Makefile.in: Rebuilt.
- * README: Mention ARM iOS.
-
-2011-02-08 Oren Held <orenhe@il.ibm.com>
-
- * src/dlmalloc.c (_STRUCT_MALLINFO): Define in order to avoid
- redefinition of mallinfo on HP-UX.
-
-2011-02-08 Ginn Chen <ginn.chen@oracle.com>
-
- * src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
- aggregate return ABI. Flush cache.
- (ffi_prep_closure_loc): Flush cache.
-
-2011-02-11 Anthony Green <green@moxielogic.com>
-
- From Tom Honermann <tom.honermann@oracle.com>:
- * src/powerpc/aix.S (ffi_call_AIX): Support for xlc toolchain on
- AIX. Declare .ffi_prep_args. Insert nops after branch
- instructions so that the AIX linker can insert TOC reload
- instructions.
- * src/powerpc/aix_closure.S: Declare .ffi_closure_helper_DARWIN.
-
-2011-02-08 Ed <ed@kdtc.net>
-
- * src/powerpc/asm.h: Fix grammar nit in comment.
-
-2011-02-08 Uli Link <ul.mcamafia@linkitup.de>
-
- * include/ffi.h.in (FFI_64_BIT_MAX): Define and use.
-
-2011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46661
- * testsuite/libffi.call/cls_pointer.c (main): Cast void * to
- uintptr_t first.
- * testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
-
-2011-02-08 Rafael Avila de Espindola <respindola@mozilla.com>
-
- * configure.ac: Fix x86 test for pc related relocs.
- * configure: Rebuilt.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
- Handle case when CPU variant does not have long double support.
- * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
- and cores with soft floating point.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * configure.ac: Add mips*-*-rtems* support.
- * configure: Regenerate.
- * src/mips/ffitarget.h: Ensure needed constants are available
- for targets which do not have sgidefs.h.
-
-2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR target/40125
- * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
- * configure: Regenerate.
-
-2010-12-18 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/29152
- PR libffi/42378
- * src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
- (FFI_TRAMPOLINE_SIZE): Update for Darwin64.
- * src/powerpc/darwin.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
- backslashes.
- (libffi_cv_as_string_pseudo_op): Likewise.
- * configure: Regenerate.
-
-2010-12-03 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
- (ffi_closure_VFP): Same.
- (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
- directive.
-
-2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
- (PRIuPTR): Define.
-
-2010-11-29 Richard Henderson <rth@redhat.com>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
- (.eh_frame): Use FDE_ENCODING.
- (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
-
-2010-11-22 Jacek Caban <jacek@codeweavers.com>
-
- * configure.ac: Check for symbol underscores on mingw-w64.
- * configure: Rebuilt.
- * src/x86/win64.S: Correctly access extern symbols in respect to
- underscores.
-
-2010-11-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp: Rename ...
- * testsuite/lib/libffi.exp: ... to this.
- * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
- * libffi/testsuite/libffi.special/special.exp: Likewise.
-
-2010-10-28 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
- code, new parameter, and return value. Update comments.
- (ffi_prep_cif_machdep): Add case for VFP struct return values. Add
- call to layout_vfp_args().
- (ffi_call_SYSV): Update declaration.
- (ffi_call_VFP): New declaration.
- (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
- when ABI is FFI_VFP.
- (ffi_closure_VFP): New declaration.
- (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
- ffi_prep_incoming_args_SYSV().
- (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
- case handling.
- (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
- construction under VFP hard-float.
- (rec_vfp_type_p): New function.
- (vfp_type_p): Same.
- (place_vfp_arg): Same.
- (layout_vfp_args): Same.
- * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
- based on __ARM_PCS_VFP.
- (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
- fields.
- (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
- (FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
- * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
- direct call. Move function pointer load upwards.
- (ffi_call_VFP): New function.
- (ffi_closure_VFP): Same.
-
- * testsuite/lib/libffi-dg.exp (check-flags): New function.
- (dg-skip-if): New function.
- * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
- and compiler options include -mfloat-abi=hard.
- * testsuite/libffi.call/cls_longdouble_va.c: Same.
-
-2010-10-01 Jakub Jelinek <jakub@redhat.com>
-
- PR libffi/45677
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
- a multiple of 8.
- * testsuite/libffi.call/many2.c: New test.
-
-2010-08-20 Mark Wielaard <mjw@redhat.com>
-
- * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
- returns NULL.
-
-2010-08-09 Andreas Tobler <andreast@fgznet.ch>
-
- * configure.ac: Add target powerpc64-*-freebsd*.
- * configure: Regenerate.
- * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
- -mlong-double-128 only to linux targets.
- * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
- * testsuite/libffi.call/cls_longdouble.c: Likewise.
- * testsuite/libffi.call/huge_struct.c: Likewise.
-
-2010-08-05 Dan Witte <dwitte@mozilla.com>
-
- * Makefile.am: Pass FFI_DEBUG define to msvcc.sh for linking to the
- debug CRT when --enable-debug is given.
- * configure.ac: Define it.
- * msvcc.sh: Translate -g and -DFFI_DEBUG appropriately.
-
-2010-08-04 Dan Witte <dwitte@mozilla.com>
-
- * src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64
- platforms.
- * src/x86/ffi.c: Remove redundant ifdef checks.
- * src/prep_cif.c: Push stack space computation into src/x86/ffi.c
- for X86_ANY so return value space doesn't get added twice.
-
-2010-08-03 Neil Rashbrooke <neil@parkwaycc.co.uk>
-
- * msvcc.sh: Don't pass -safeseh to ml64 because behavior is buggy.
-
-2010-07-22 Dan Witte <dwitte@mozilla.com>
-
- * src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
- * src/prep_cif.c: Fix ABI assertion.
- * src/cris/ffi.c: Ditto.
-
-2010-07-10 Evan Phoenix <evan@fallingsnow.net>
-
- * src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
-
-2010-07-07 Dan Horák <dan@danny.cz>
-
- * include/ffi.h.in: Protect #define with #ifndef.
- * src/powerpc/ffitarget.h: Ditto.
- * src/s390/ffitarget.h: Ditto.
- * src/sparc/ffitarget.h: Ditto.
-
-2010-07-07 Neil Roberts <neil@linux.intel.com>
-
- * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
- 16-bytes.
-
-2010-07-02 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
- * Makefile.in: Regenerated.
-
-2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
- output, too.
- (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
- (libffi_cv_as_string_pseudo_op): Check for .string.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
-
-2010-05-11 Dan Witte <dwitte@mozilla.com>
-
- * doc/libffi.tex: Document previous change.
-
-2010-05-11 Makoto Kato <m_kato@ga2.so-net.ne.jp>
-
- * src/x86/ffi.c (ffi_call): Don't copy structs passed by value.
-
-2010-05-05 Michael Kohler <michaelkohler@live.com>
-
- * src/dlmalloc.c (dlfree): Fix spelling.
- * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
- * configure.ac: Ditto.
- * configure: Rebuilt.
-
-2010-04-13 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Build with -W3 instead of -Wall.
- * src/powerpc/ffi_darwin.c: Remove build warnings.
- * src/x86/ffi.c: Ditto.
- * src/x86/ffitarget.h: Ditto.
-
-2010-04-12 Dan Witte <dwitte@mozilla.com>
- Walter Meinl <wuno@lsvw.de>
-
- * configure.ac: Add OS/2 support.
- * configure: Rebuilt.
- * src/closures.c: Ditto.
- * src/dlmalloc.c: Ditto.
- * src/x86/win32.S: Ditto.
-
-2010-04-07 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
-
-2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2010-03-30 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Disable build warnings.
- * README (tested): Clarify windows build procedure.
-
-2010-03-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * libffi/src/x86/unix64.S (.eh_frame)
- [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
-
-2010-03-14 Matthias Klose <doko@ubuntu.com>
-
- * src/x86/ffi64.c: Fix typo in comment.
- * src/x86/ffi.c: Use /* ... */ comment style.
-
-2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/libffi.texi (The Closure API): Fix typo.
- * doc/libffi.info: Remove.
-
-2010-02-15 Matthias Klose <doko@ubuntu.com>
-
- * src/arm/sysv.S (__ARM_ARCH__): Define for processor
- __ARM_ARCH_7EM__.
-
-2010-01-15 Anthony Green <green@redhat.com>
-
- * README: Add notes on building with Microsoft Visual C++.
-
-2010-01-15 Daniel Witte <dwitte@mozilla.com>
-
- * msvcc.sh: New file.
-
- * src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
- * src/x86/ffi.c: Tweak function declaration and remove excess
- parens.
- * include/ffi.h.in: Add __declspec(align(8)) to typedef struct
- ffi_closure.
-
- * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
- function ffi_call_win32 on X86_WIN32.
- * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
- (ffi_call_STDCALL): Remove.
-
- * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
- to ffi_prep_cif_machdep for x86.
- * src/x86/ffi.c (ffi_prep_cif_machdep): To here.
-
-2010-01-15 Oliver Kiddle <okiddle@yahoo.co.uk>
-
- * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
- Sun Studio compiler compatibility.
-
-2010-01-12 Conrad Irwin <conrad.irwin@gmail.com>
-
- * doc/libffi.texi: Add closure example.
-
-2010-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40701
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
- PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
- * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
- alpha*-dec-osf*.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/return_ll1.c: Likewise.
- * testsuite/libffi.call/stret_medium2.c: Likewise.
- * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
- MAP_FAILED to char *.
-
-2010-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
-
-2009-12-31 Anthony Green <green@redhat.com>
-
- * README: Update for libffi 3.0.9.
-
-2009-12-27 Matthias Klose <doko@ubuntu.com>
-
- * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
- appropriate.
- * configure: Rebuilt.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
- avr32*-*-*.
- * testsuite/libffi.call/cls_double_va.c: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
- and inttypes.h.
- * testsuite/libffi.special/unwindtest.cc: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-openbsd*.
- * configure: Rebuilt.
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
- openbsd programs with -lpthread.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
- mips*-*-* and arm*-*-*.
- * testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c,
- testsuite/libffi.call/stret_medium2.c,
- testsuite/libffi.call/stret_medium.c,
- testsuite/libffi.call/stret_large.c,
- testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
-
-2009-12-31 Kay Tietz <ktietz70@googlemail.com>
-
- * testsuite/libffi.call/ffitest.h,
- testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
- definitions.
-
-2009-12-31 Carlo Bramini <carlo.bramix@libero.it>
-
- * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
- * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
-
-2009-12-31 Anthony Green <green@redhat.com>
- Blake Chaffin.
-
- * testsuite/libffi.call/huge_struct.c: New test case from Blake
- Chaffin @ Apple.
-
-2009-12-28 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
- local variables.
- (aix_adjust_aggregate_sizes): New function.
- (ffi_prep_cif_machdep): Call it.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
- * configure: Regenerate.
- * fficonfig.h.in: Likewise.
- * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
- Solaris/x86.
-
-2009-12-26 Andreas Schwab <schwab@linux-m68k.org>
-
- * 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.
-
-2009-12-25 Matthias Klose <doko@ubuntu.com>
-
- * man/ffi_call.3: Fix #include in examples.
- * doc/libffi.texi: Add dircategory.
-
-2009-12-25 Frank Everdij <f.p.x.everdij@tudelft.nl>
-
- * include/ffi.h.in: Placed '__GNUC__' ifdef around
- '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
- IRIX MIPSPro c99.
- * include/ffi_common.h: Added '__sgi' define to non
- '__attribute__((__mode__()))' integer typedefs.
- * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
- ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
- (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
- FFI_LONGDOUBLE support and alignment(N32 only).
- * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
- fixed non '__attribute__((__mode__()))' integer typedefs.
- * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
- since they are Linux/GNU Assembler specific.
-
-2009-12-25 Bradley Smith <brad@brad-smith.co.uk>
-
- * configure.ac, Makefile.am, src/avr32/ffi.c,
- src/avr32/ffitarget.h,
- src/avr32/sysv.S: Add AVR32 port.
- * configure, Makefile.in: Rebuilt.
-
-2009-12-21 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
- * configure: Regenerate.
-
-2009-12-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
- type on HP-UX.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
- double' arguments.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40700
- * src/closures.c [X86_64 && __sun__ && __svr4__]
- (FFI_MMAP_EXEC_WRIT): Define.
-
-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.
-
-2009-12-07 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
- typo.
-
-2009-12-05 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
- code.
- * src/powerpc/aix_closure.S: Same.
-
-2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
- linux64_closure.S.
-
-2009-12-04 Uros Bizjak <ubizjak@gmail.com>
-
- 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.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
- pfr for long double split between fpr13 and stack.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
- fparg_count twice for long double.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- PR libffi/42243
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03 Uros Bizjak <ubizjak@gmail.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
- Remove xfails for x86 linux targets.
-
-2009-12-02 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
- case.
-
-2009-12-01 David Edelsohn <edelsohn@gnu.org>
-
- * 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.
-
-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.
-
-2009-11-02 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/41908
- * testsuite/libffi.call/testclosure.c: New test.
-
-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.
-
-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.
-
-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.
-
-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.
-
-2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.am (install-html, install-pdf): Remove.
- * Makefile.in: Regenerate.
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24 Dave Korn <dave.korn.cygwin@gmail.com>
-
- 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.
-
-2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
-
- 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.
-
-2009-07-01 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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 "".)
-
-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.
-
-2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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.
-
-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.
-
-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.
-
-2009-06-16 Andrew Haley <aph@redhat.com>
-
- * configure.ac (TARGETDIR): Add missing blank lines.
- * configure: Regenerate.
-
-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.
-
-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.
-
-2009-06-12 Andrew Haley <aph@redhat.com>
-
- * Makefile.am: Remove info_TEXINFOS.
-
-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-11 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * 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.
-
-2009-06-09 Andrew Haley <aph@redhat.com>
-
- * src/x86/freebsd.S: Add missing file.
-
-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).
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * README: Import from libffi 3.0.8.
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Add xfails.
- * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
- * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
- * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
- * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
- * testsuite/libffi.call/stret_medium.c: Likewise.
- * testsuite/libffi.call/stret_large2.c: Likewise.
- * testsuite/libffi.call/stret_large.c: Likewise.
-
-2008-12-26 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_align_longdouble.c,
- testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
- failures on x86_64 cygwin/mingw.
-
-2008-12-22 Timothy Wall <twall@users.sf.net>
-
- * 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_loc_fn0.c,
- testsuite/libffi.call/closure_stdcall.c,
- testsuite/libffi.call/cls_align_pointer.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
- pointer to integer (intptr_t).
- * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_dbls_struct.c,
- testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c,
- testsuite/libffi.call/err_bad_abi.c: Clean up failures from
- compiler warnings.
-
-2008-03-04 Anthony Green <green@redhat.com>
- Blake Chaffin
- hos@tamanegi.org
-
- * testsuite/libffi.call/cls_align_longdouble_split2.c
- testsuite/libffi.call/cls_align_longdouble_split.c
- testsuite/libffi.call/cls_dbls_struct.c
- testsuite/libffi.call/cls_double_va.c
- testsuite/libffi.call/cls_longdouble.c
- testsuite/libffi.call/cls_longdouble_va.c
- testsuite/libffi.call/cls_pointer.c
- testsuite/libffi.call/cls_pointer_stack.c
- testsuite/libffi.call/err_bad_abi.c
- testsuite/libffi.call/err_bad_typedef.c
- testsuite/libffi.call/stret_large2.c
- testsuite/libffi.call/stret_large.c
- testsuite/libffi.call/stret_medium2.c
- testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
- libffi.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
- stdcall changes.
-
-2008-02-26 Anthony Green <green@redhat.com>
- Thomas Heller <theller@ctypes.org>
-
- * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
- comment.
-
-2008-02-03 Timothy Wall <twall@users.sf.net>
-
- * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
- offset based on code pointer, not data pointer.
-
-2008-01-31 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
- closures.
- * src/x86/ffitarget.h: Increase size of trampoline for stdcall
- closures.
- * src/x86/win32.S: Add assembly for stdcall closure.
- * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Change void (*)() to void (*)(void).
- * src/x86/ffi.c: Likewise.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ppc_closure.S: Insert licence header.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/m68k/sysv.S: Likewise.
-
- * src/sh64/ffi.c: Change void (*)() to void (*)(void).
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/m32r/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi64.c: Likewise.
- * src/alpha/ffi.c: Likewise.
- * src/alpha/osf.S: Likewise.
- * src/frv/ffi.c: Likewise.
- * src/s390/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/pa/hpux32.S: Likewise.
- * src/ia64/unix.S: Likewise.
- * src/ia64/ffi.c: Likewise.
- * src/sparc/ffi.c: Likewise.
- * src/mips/ffi.c: Likewise.
- * src/sh/ffi.c: Likewise.
-
-2008-02-15 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
- Define (conditionally), and use it to include cachectl.h.
- (ffi_prep_closure_loc): Fix cache flushing.
- * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- include/ffi.h.in,
- src/arm/ffitarget.h,
- src/arm/ffi.c,
- src/arm/sysv.S,
- src/powerpc/ffitarget.h,
- src/closures.c,
- src/sh64/ffitarget.h,
- src/sh64/ffi.c,
- src/sh64/sysv.S,
- src/types.c,
- src/x86/ffi64.c,
- src/x86/ffitarget.h,
- src/x86/win32.S,
- src/x86/darwin.S,
- src/x86/ffi.c,
- src/x86/sysv.S,
- src/x86/unix64.S,
- src/alpha/ffitarget.h,
- src/alpha/ffi.c,
- src/alpha/osf.S,
- src/m68k/ffitarget.h,
- src/frv/ffitarget.h,
- src/frv/ffi.c,
- src/s390/ffitarget.h,
- src/s390/sysv.S,
- src/cris/ffitarget.h,
- src/pa/linux.S,
- src/pa/ffitarget.h,
- src/pa/ffi.c,
- src/raw_api.c,
- src/ia64/ffitarget.h,
- src/ia64/unix.S,
- src/ia64/ffi.c,
- src/ia64/ia64_flags.h,
- src/java_raw_api.c,
- src/debug.c,
- src/sparc/v9.S,
- src/sparc/ffitarget.h,
- src/sparc/ffi.c,
- src/sparc/v8.S,
- src/mips/ffitarget.h,
- src/mips/n32.S,
- src/mips/o32.S,
- src/mips/ffi.c,
- src/prep_cif.c,
- src/sh/ffitarget.h,
- src/sh/ffi.c,
- src/sh/sysv.S: Update license text.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * src/x86/win32.S (_ffi_closure_STDCALL): New function.
- (.eh_frame): Add FDE for it.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * configure.ac: Also check if assembler supports pc-relative
- relocs on X86_WIN32 targets.
- * configure: Regenerate.
- * src/x86/win32.S (ffi_prep_args): Declare extern, not global.
- (_ffi_call_SYSV): Add missing function type symbol .def and
- add EH markup labels.
- (_ffi_call_STDCALL): Likewise.
- (_ffi_closure_SYSV): Likewise.
- (_ffi_closure_raw_SYSV): Likewise.
- (.eh_frame): Add hand-crafted EH data.
-
-2009-04-09 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
- version 3 of the GNU General Public License and to point readers
- at the COPYING3 file and the FSF's license web page.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-12-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libffi/26048
- * configure.ac (HAVE_AS_X86_PCREL): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
- RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
- RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
- * src/x86/unix64.S (.Lstore_table): Move to .text section.
- (.Lload_table): Likewise.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
- signed/unsigned int8/16 return values.
- * src/sparc/v8.S (ffi_call_v8): Likewise.
- (ffi_closure_v8): Likewise.
-
-2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
- Steve Ellcey <sje@cup.hp.com>
-
- * configure: Regenerate for new libtool.
- * Makefile.in: Ditto.
- * include/Makefile.in: Ditto.
- * aclocal.m4: Ditto.
-
-2008-08-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
- FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
- Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
- Adjust copyright notice.
- * src/powerpc/ffi.c: Add two new flags to indicate if we have one
- register or two register to use for FFI_SYSV structs.
- (ffi_prep_cif_machdep): Pass the right register flag introduced above.
- (ffi_closure_helper_SYSV): Fix the return type for
- FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
- Adjust copyright notice.
-
-2008-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
- int.
-
-2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2008-06-07 Joseph Myers <joseph@codesourcery.com>
-
- * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
- powerpc-*-beos*): Remove.
- * configure: Regenerate.
-
-2008-05-09 Julian Brown <julian@codesourcery.com>
-
- * Makefile.am (LTLDFLAGS): New.
- (libffi_la_LDFLAGS): Use above.
- * Makefile.in: Regenerate.
-
-2008-04-18 Paolo Bonzini <bonzini@gnu.org>
-
- PR bootstrap/35457
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2008-03-26 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add .note.GNU-stack on Linux.
- * src/sh64/sysv.S: Likewise.
-
-2008-03-26 Daniel Jacobowitz <dan@debian.org>
-
- * src/arm/sysv.S: Fix ARM comment marker.
-
-2008-03-26 Jakub Jelinek <jakub@redhat.com>
-
- * src/alpha/osf.S: Add .note.GNU-stack on Linux.
- * src/s390/sysv.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
- * src/x86/unix64.S: Likewise.
- * src/x86/sysv.S: Likewise.
- * src/sparc/v8.S: Likewise.
- * src/sparc/v9.S: Likewise.
- * src/m68k/sysv.S: Likewise.
- * src/arm/sysv.S: Likewise.
-
-2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * aclocal.m4: Regenerate.
- * configure: Likewise.
- * Makefile.in: Likewise.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2008-02-12 Bjoern Koenig <bkoenig@alpha-tierchen.de>
- Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-freebsd* target.
- * configure: Regenerate.
-
-2008-01-30 H.J. Lu <hongjiu.lu@intel.com>
-
- PR libffi/34612
- * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
- returning struct.
-
- * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
- tests.
-
-2008-01-24 David Edelsohn <edelsohn@gnu.org>
-
- * configure: Regenerate.
-
-2008-01-06 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
-
-2008-01-05 Andreas Tobler <a.tobler@schweiz.org>
-
- PR testsuite/32843
- * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
- signed/unsigned int8/16 for X86_DARWIN.
- Updated copyright info.
- Handle one and two byte structs with special cif->flags.
- * src/x86/ffitarget.h: Add special types for one and two byte structs.
- Updated copyright info.
- * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
- sysv.S
- Remove code to pop args from the stack after call.
- Special-case signed/unsigned for int8/16, one and two byte structs.
- (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
- FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
- FFI_TYPE_SINT32.
- Updated copyright info.
-
-2007-12-08 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_call_N32): Replace dadd with ADDU, dsub with
- SUBU, add with ADDU and use smaller code sequences.
-
-2007-12-07 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
- type.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
- defined.
- (ffi_java_raw): New typedef.
- (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
- ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
- ffi_java_raw.
- (ffi_java_raw_closure) : Same.
- (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
- parameter types.
- * src/java_raw_api.c (ffi_java_raw_size): Replace FFI_SIZEOF_ARG with
- FFI_SIZEOF_JAVA_RAW.
- (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
- Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
- sizeof(ffi_java_raw) for alignment calculations.
- (ffi_java_ptrarray_to_raw): Same.
- (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
- if FFI_SIZEOF_JAVA_RAW == 4.
- (ffi_java_raw_to_rvalue): Same.
- (ffi_java_raw_call): Change type of raw to ffi_java_raw.
- (ffi_java_translate_args): Same.
- (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
- parameter types.
- * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
- pointer values.
-
-2007-12-01 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/31937
- * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
- Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
- * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
- set the NUM_FPR_ARG_REGISTERS according to.
- Add support for potential soft-float support under hard-float
- architecture.
- (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
- FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
- to the FFI_LINUX_SOFT_FLOAT ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Make sure not to store float/double
- on archs where __NO_FPRS__ is true.
- Add FFI_TYPE_UINT128 support.
- * src/powerpc/sysv.S: Add support for soft-float long-double-128.
- Adjust copyright notice.
-
-2007-11-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
- * include/ffi_common.h: ... here.
- Update copyright.
-
-2007-11-17 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
- * testsuite/libffi.call/return_ldl.c: New test.
-
-2007-09-04 <aph@redhat.com>
-
- * src/arm/sysv.S (UNWIND): New.
- (Whole file): Conditionally compile unwinder directives.
- * src/arm/sysv.S: Add unwinder directives.
-
- * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
- Only treat r0 as a struct address if we're actually returning a
- struct by address.
- Only copy the bytes that are actually within a struct.
- (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
- is returned in r0, not passed by address.
- (ffi_call): Allocate a word-sized temporary for the case where
- a composite is returned in r0.
- (ffi_prep_incoming_args_SYSV): Align as necessary.
-
-2007-08-05 Steven Newbury <s_j_newbury@yahoo.co.uk>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
- directly using the sys_cacheflush syscall.
-
-2007-07-27 Andrew Haley <aph@redhat.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
-
-2007-09-03 Maciej W. Rozycki <macro@linux-mips.org>
-
- * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure: Likewise.
-
-2007-08-24 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/return_sl.c: New test.
-
-2007-08-10 David Daney <ddaney@avtrex.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/nested_struct5.c,
- testsuite/libffi.call/cls_double.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/nested_struct.c,
- testsuite/libffi.call/cls_2byte.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_sint16.c,
- testsuite/libffi.call/cls_align_uint32.c,
- testsuite/libffi.call/cls_20byte.c,
- testsuite/libffi.call/cls_float.c,
- testsuite/libffi.call/nested_struct2.c,
- testsuite/libffi.call/cls_5_1_byte.c,
- testsuite/libffi.call/nested_struct4.c,
- testsuite/libffi.call/cls_24byte.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: Remove xfail for mips64*-*-*.
-
-2007-08-10 David Daney <ddaney@avtrex.com>
-
- 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.
-
-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*.
- * 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.
-
-2006-12-13 Andreas Tobler <a.tobler@schweiz.org>
-
- * aclocal.m4: Regenerate with aclocal -I .. as written in the
- Makefile.am.
-
-2006-10-31 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
- (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
- Darwin.
- * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
- * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10 Paolo Bonzini <bonzini@gnu.org>
- Sandro Tolaini <tolaini@libero.it>
-
- * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
- conditional.
- * configure: Regenerated.
- * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
- (EXTRA_DIST): Add src/x86/darwin.S.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
- X86_WIN32, and additionally align stack to 16 bytes.
- * src/x86/darwin.S: New, based on sysv.S.
- * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12 David Daney <ddaney@avtrex.com>
-
- PR libffi/23935
- * include/Makefile.am: Install both ffi.h and ffitarget.h in
- $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
- * aclocal.m4: Regenerated for automake 1.9.6.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
-2006-08-17 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h: Remove lint directives.
- * include/ffi.h.in: Likewise.
-
-2006-07-25 Torsten Schoenfeld <kaffeetisch@gmx.de>
-
- * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
- for 32-bit architectures.
- * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
- xfail remains for mips64.
-
-2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
-
- * Makefile.am: Add install-html target. Add install-html to .PHONY
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
- stack slot.
-
-2006-04-22 Andreas Tobler <a.tobler@schweiz.ch>
-
- * README: Remove notice about 'Crazy Comments'.
- * src/debug.c: Remove lint directives. Cleanup white spaces.
- * src/java_raw_api.c: Likewise.
- * src/prep_cif.c: Likewise.
- * src/raw_api.c: Likewise.
- * src/ffitest.c: Delete. No longer needed, all test cases migrated
- to the testsuite.
- * src/arm/ffi.c: Remove lint directives.
- * src/m32r/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/sh/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/pa/hpux32.S: Correct unwind offset calculation for
- ffi_closure_pa32.
- * src/pa/linux.S: Likewise.
-
-2006-04-12 James E Wilson <wilson@specifix.com>
-
- PR libgcj/26483
- * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
- (hfa_type_load): Call stf_spill.
- (hfa_type_store): Call ldf_fill.
- (ffi_call): Adjust calls to above routines. Add local temps for
- macro result.
-
-2006-04-10 Matthias Klose <doko@debian.org>
-
- * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
- directory names containing underscores.
-
-2006-04-07 James E Wilson <wilson@specifix.com>
-
- * testsuite/libffi.call/float4.c: New testcase.
-
-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.
-
-2006-03-24 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Default
- for 32-bit using IBM extended double format. Fix FFI_LAST_ABI.
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
- FFI_TYPE_LONGDOUBLE.
- (ffi_prep_args64): Assert using IBM extended double.
- (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
- Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
- (ffi_call): Handle FFI_LINUX.
- (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
- gpr3 return pointer as for struct return. Handle FFI_LINUX
- FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf"
- unnecessarily.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
- for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table.
- Don't use r6 as pointer to results, instead use sp offset. Don't
- make a special call to load lr with case table address, instead
- use offset from previous call.
- * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
- return.
-
-2006-03-15 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
- passed with FP registers correctly.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S: Likewise.
-
-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.
-
-2006-02-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
- -O2, -O3, -Os and the warning flags -W -Wall.
- * testsuite/libffi.special/special.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
- unused parameter unused for gcc or else do nothing.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
- * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
- * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
- * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
- * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
- * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
- * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
- * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
- * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
- void* to avoid compiler warning.
- (main): Likewise.
- (cls_struct_align_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
- * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
- * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
- userdata unused.
- (cls_ret_schar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
- userdata unused.
- (cls_ret_sint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
- userdata unused.
- (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn): Mark cif and
- userdata unused.
- (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
- userdata unused.
- (cls_ret_uint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
- userdata unused.
- (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
- * testsuite/libffi.call/float1.c (main): Remove unused variable i.
- Cleanup white spaces.
- * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
- * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
- cif and userdata unused.
- * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
- Likewise.
- * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
- formatters to silence gcc.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct4.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct6.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
- * testsuite/libffi.call/problem1.c (stub): Likewise.
- * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
- gcc.
- * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
- in the last commit for this test case in the test case itself.
- * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
- unused.
- * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
- * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
- * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
- * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
- * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
- * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Fix register numbers in the FDE for
- ffi_closure_SYSV.
-
-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.
-
-2006-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
- and cast integer to void * if needed. Update the pointer to
- the FP register saved area correctly.
-
-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.
-
-2006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/return_dbl.c: New test case.
- * testsuite/libffi.call/return_dbl1.c: Likewise.
- * testsuite/libffi.call/return_dbl2.c: Likewise.
- * testsuite/libffi.call/return_fl.c: Likewise.
- * testsuite/libffi.call/return_fl1.c: Likewise.
- * testsuite/libffi.call/return_fl2.c: Likewise.
- * testsuite/libffi.call/return_fl3.c: Likewise.
- * testsuite/libffi.call/closure_fn6.c: Likewise.
-
- * 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.
-
-2006-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.ac: Enable libffi for sparc64-*-freebsd*.
- * configure: Rebuilt.
-
-2006-01-18 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
- instead do the shifting inline.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
- shift count unconditionally. Simplify load sequences for 1, 2, 3, 4
- and 8 byte structs, for the remaining struct sizes don't call
- __lshrdi3, instead do the shifting inline.
-
-2005-12-07 Thiemo Seufer <ths@networkno.de>
-
- * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
- missing parentheses.
- * src/mips/o32.S (ffi_call_O32): Code formatting. Define
- and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
- (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
- A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
- V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
- FA_0_0_OFF2.
- * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
- endianness bugs.
- (ffi_prep_closure): Improve trampoline instruction scheduling.
- (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c: Formatting.
- (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
- (ffi_prep_args64): Likewise.
-
-2005-09-30 Geoffrey Keating <geoffk@apple.com>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
- darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26 Tom Tromey <tromey@redhat.com>
-
- * 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.
-
-2005-08-25 Alan Modra <amodra@bigpond.net.au>
-
- PR target/23404
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
- homed fp args.
- (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11 Jakub Jelinek <jakub@redhat.com>
-
- * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
- (AH_BOTTOM): Add FFI_HIDDEN definition.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * src/powerpc/ffi.c (hidden): Remove.
- (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
- ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
- .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
- * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
- add FFI_HIDDEN to its prototype.
- (ffi_closure_SYSV_inner): New.
- * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
- * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10 Alfred M. Szmidt <ams@gnu.org>
-
- PR libffi/21819:
- * configure: Rebuilt.
- * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
- DW_CFA_offset_extended_sf rather than
- DW_CFA_GNU_negative_offset_extended.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
-
- * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
- on sh3.
- (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
- * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
- partially on register.
- (ffi_closure_helper_SYSV): Likewise.
- (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_call): Handle small structures correctly.
- Remove empty line.
- * src/sh64/ffi.c (simple_type): Remove.
- (return_type): Handle small structures correctly.
- (ffi_prep_args): Likewise.
- (ffi_call): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
- Emit position independent code if PIC and remove wrong datalabel
- prefixes from EH data.
-
-2005-07-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure.ac: Add POWERPC_FREEBSD rules.
- * configure: Regenerate.
- * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
- (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
- * src/powerpc/ffi.c: Add flags to handle small structure returns
- in ffi_call_SYSV.
- (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
- Aka FFI_SYSV.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Add return types for small structures.
- * src/powerpc/sysv.S: Add bits to handle small structures for
- final SYSV 4 ABI.
-
-2005-07-10 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_5_1_byte.c: New test file.
- * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05 Randolph Chung <tausq@debian.org>
-
- * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
- as FFI_TYPE_SMALL_STRUCT3. Break out handling for 5-7 byte
- structures. Kill compilation warnings.
- (ffi_closure_inner_LINUX): Print return values as hex in debug
- message. Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
- Properly handle 5-7 byte structure returns.
- * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
- (FFI_TYPE_SMALL_STRUCT2): Remove.
- (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
- (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
- * src/pa/linux.S: Mark source file as using PA1.1 assembly.
- (checksmst1, checksmst2): Remove.
- (checksmst3): Optimize handling of 3-byte struct returns.
- (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libgcj/21943
- * src/mips/n32.S: Enforce PIC code.
- * src/mips/o32.S: Likewise.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
- * configure: Regenerate.
-
-2005-06-01 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
- to call ffi_closure_helper_SYSV. Append @local instead.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
- Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
- * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
- * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
- include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-05-08 Richard Henderson <rth@redhat.com>
-
- PR libffi/21285
- * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04 Andreas Degert <ad@papyrus-gmbh.de>
- Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
- bit 11 of flags.
- (ffi_call): Mask return type field. Pass ssecount to ffi_call_unix64.
- (ffi_prep_closure): Set carry bit if sse-used flag set.
- * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
- Only load sse registers if ssecount non-zero.
- (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
- powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
- * configure: Regenerate.
-
-2005-04-20 Hans-Peter Nilsson <hp@axis.com>
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
- have Tcl8.3-compatible intermediate variable.
-
-2005-04-18 Simon Posnjak <simon.posnjak@siol.net>
- Hans-Peter Nilsson <hp@axis.com>
-
- * Makefile.am: Add CRIS support.
- * configure.ac: Likewise.
- * Makefile.in, configure, testsuite/Makefile.in,
- include/Makefile.in: Regenerate.
- * src/cris: New directory.
- * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
- * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
- \r?\n in output tests.
-
-2005-04-12 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-03-30 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30 Steve Ellcey <sje@cup.hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
- (ffi_sarg) Ditto.
- * src/ia64/unix.S (ffi_closure_unix): Extend gp
- to 64 bits in ILP32 mode.
- Load 64 bits even for short data.
-
-2005-03-23 Mike Stump <mrs@apple.com>
-
- * src/powerpc/darwin.S: Update for -m64 multilib.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21 Zack Weinberg <zack@codesourcery.com>
-
- * 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.
-
-2005-02-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
- odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR libffi/20104
- * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11 Janis Johnson <janis187@us.ibm.com>
-
- * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
- * testsuite/libffi.call/float.c: Ditto.
- * testsuite/libffi.call/float2.c: Ditto.
- * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * testsuite/libffi.special/special.exp (cxx_options): Add
- -shared-libgcc.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
- (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
- offset parameters with a type parameter; deduce size and structure
- alignment. Update all users.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
- (FFI_TYPE_LONGDOUBLE): Fix for ia64.
- * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
- into ffi_prep_closure.
- * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
- from scratch.
-
-2004-12-27 Richard Henderson <rth@redhat.com>
-
- * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25 Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
- (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
- (merge_classes): Check for it.
- (SSE_CLASS_P): New.
- (classify_argument): Pass byte_offset by value; perform all updates
- inside struct case.
- (examine_argument): Add classes argument; handle
- X86_64_COMPLEX_X87_CLASS.
- (ffi_prep_args): Merge into ...
- (ffi_call): ... here. Share stack frame with ffi_call_unix64.
- (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
- (ffi_fill_return_value): Remove.
- (ffi_prep_closure): Remove dead assert.
- (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
- Rewrite to use struct register_args instead of va_list. Create
- flags for handling structure returns.
- * src/x86/unix64.S: Remove dead strings.
- (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share
- stack frame with ffi_call. Handle structure returns properly.
- (float2sse, floatfloat2sse, double2sse): Remove.
- (sse2float, sse2double, sse2floatfloat): Remove.
- (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite
- to handle structure returns properly.
-
-2004-12-08 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
- PICFLAG.
- * Makefile.in: Regenerated.
-
-2004-12-02 Richard Sandiford <rsandifo@redhat.com>
-
- * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
- * configure, aclocal.m4, Makefile.in: Regenerate.
- * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-25 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool reversion.
-
-2004-11-24 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23 Richard Sandiford <rsandifo@redhat.com>
-
- * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
- of jal. Use an absolute encoding for the frame information.
-
-2004-11-23 Kelley Cook <kcook@gcc.gnu.org>
-
- * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS.
- * acinclude.m4: Delete logic for sincludes.
- * aclocal.m4, Makefile.in, configure: Regenerate.
- * include/Makefile: Likewise.
- * testsuite/Makefile: Likewise.
-
-2004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
- on a 8-byte boundary.
- * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
- long long values. Round stack allocation to a multiple of 8 bytes
- for ATPCS compatibility.
- * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
- names. Handle returning long long types. Add Thumb and interworking
- support. Improve soft-float code.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
- (libffi_exit): New function.
- (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR other/18138
- * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
- * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
- the function returning a structure pointed with R2.
- * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
- the structure return value if T bit set. Emit position
- independent code and EH data if PIC.
-
-2004-10-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * Makefile.am: Add m32r support.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * confiugre: Regenerate.
- * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
- (uint64, sint64, double, longdouble)
- * src/m32r: New directory.
- * src/m32r/ffi.c: New file.
- * src/m32r/sysv.S: Likewise.
- * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * testsuite/libffi.call/negint.c: New test case.
-
-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.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/many_win32.c: Remove whitespaces.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
- whitespaces.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Fix comments and identation.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
- (ffi_prep_args): Handle longdouble arguments.
- (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
- longdouble.
- (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
- * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
- values.
- * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
- * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/aix.S: Remove whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
- * src/powerpc/asm.h: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffitarget.h: Likewise.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
-
-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.in: Read configure.host.
- * 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 shouldn't 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.
-
-2004-08-24 David Daney <daney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
- to zero.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23 David Daney <daney@avtrex.com>
-
- PR libgcj/13141
- * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
- * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
- (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
- parameters and return types.
- (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
- (ffi_prep_closure): Ditto.
- (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
- alignment calculations.
- * src/mips/o32.S (ffi_closure_O32): Don't use floating point
- instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14 Casey Marshall <csm@gnu.org>
-
- * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
- contain `FFI_TYPE_UINT64' as return type for any 64-bit
- integer (O32 ABI only).
- (ffi_prep_closure): new function.
- (ffi_closure_mips_inner_O32): new function.
- * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
- `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
- * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
- 64 bit integers correctly.
- (ffi_closure_O32): new function.
- Added DWARF-2 unwind info for both functions.
-
-2004-08-10 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01 Robert Millan <robertmh@gnu.org>
-
- * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
- * configure: Regenerate.
-
-2004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
-
- * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
- and mmap() explicitly instead of relying on preset autoconf cache
- variables.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
- (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
- character on Darwin, use '\n\t' instead.
-
-2004-06-26 Matthias Klose <doko@debian.org>
-
- * libtool-version: Fix typo in revision/age.
-
-2004-06-17 Matthias Klose <doko@debian.org>
-
- * libtool-version: New.
- * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
- * Makefile.in: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * Makefile.am: Remove useless multilib rules.
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate with automake 1.8.5.
- * configure.ac: Remove useless multilib configury.
- * configure: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * .cvsignore: New file.
-
-2004-06-10 Jakub Jelinek <jakub@redhat.com>
-
- * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
- fp_done.
- (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
- changed from 8.
-
-2004-06-06 Sean McNeil <sean@mcneil.com>
-
- * configure.ac: Add x86_64-*-freebsd* support.
- * configure: Regenerate.
-
-2004-04-26 Joe Buck <jbuck@welsh-buck.org>
-
- Bug 15093
- * configure.ac: Test for existence of mmap and sys/mman.h before
- checking blacklist. Fix suggested by Jim Wilson.
- * configure: Regenerate.
-
-2004-04-26 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
- FDE location.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
- error. Reported by Thomas Heller <theller@python.net>.
- * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20 Matthias Klose <doko@debian.org>
-
- * src/pa/linux.S: Fix typo.
-
-2004-03-19 Matthias Klose <doko@debian.org>
-
- * Makefile.am: Update.
- * Makefile.in: Regenerate.
- * src/pa/ffi.h.in: Remove.
- * src/pa/ffitarget.h: New file.
-
-2004-02-10 Randolph Chung <tausq@debian.org>
-
- * Makefile.am: Add PA support.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * configure.ac: Add PA target.
- * configure: Regenerate.
- * src/pa/ffi.c: New file.
- * src/pa/ffi.h.in: Add PA support.
- * src/pa/linux.S: New file.
- * prep_cif.c: Add PA support.
-
-2004-03-16 Hosaka Yuji <hos@tamanegi.org>
-
- * src/types.c: Fix alignment size of X86_WIN32 case int64 and
- double.
- * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
- with ecif->cif->flags.
- (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
- with cif->flags.
- (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
- (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
- * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
- sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.in: Rename file to ...
- * configure.ac: ... this.
- * fficonfig.h.in: Regenerate.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2004-03-12 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Fix EH information so it corresponds to
- changes in EH format resulting from addition of linkonce support.
- * src/powerpc/darwin_closure.S: Likewise.
-
-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.
-
-2004-03-11 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
- arguments from fp registers only for the first 8 parameter slots.
- Don't convert a float parameter when passed in memory.
-
-2004-03-09 Hans-Peter Nilsson <hp@axis.com>
-
- * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
-
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
- ecif->cif->bytes to bytes.
- (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
- * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
- (ffi_closure_helper_LINUX64): Fix typo.
- * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
- for powerpc64-*-*.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
- long double function return and long double arg handling.
- (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
- Use "end_pfr" instead of "nf". Correct long double handling.
- Localise "temp".
- * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
- return value.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
- space for long double return value. Adjust stack frame and offsets.
- Load f2 long double return.
-
-2004-02-07 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
- when the structure return address is passed in %o0.
- (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
- (ffi_v9_layout_struct): Align the field following a nested structure
- on a word boundary. Use memmove instead of memcpy.
- (ffi_call): Update call to ffi_V9_return_struct.
- (ffi_prep_closure): Define 'ctx' only for V8.
- (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
- and ffi_closure_sparc_inner_v9.
- (ffi_closure_sparc_inner_v8): Return long doubles by reference.
- Always skip the structure return address. For structures and long
- doubles, copy the argument directly.
- (ffi_closure_sparc_inner_v9): Skip the structure return address only
- if required. Shift the maximum floating-point slot accordingly. For
- big structures, copy the argument directly; otherwise, left-justify the
- argument and call ffi_v9_layout_struct to lay out the structure on
- the stack.
- * src/sparc/v8.S: Undef STACKFRAME before defining it.
- (ffi_closure_v8): Pass the structure return address. Update call to
- ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
- Skip the 'unimp' insn when returning long doubles and structures.
- * src/sparc/v9.S: Undef STACKFRAME before defining it.
- (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
- FFI_TYPE_INT handling. Load structures both in integers and
- floating-point registers on return.
- * README: Update status of the SPARC port.
-
-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.
-
-2004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
-
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
- value as of type ffi_arg, not unsigned int.
-
-2004-01-21 Michael Ritzert <ritzert@t-online.de>
-
- * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
- of the LHS.
-
-2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
- Solaris.
-
-2004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
- to void *.
-
-2003-12-10 Richard Henderson <rth@redhat.com>
-
- * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
- size_t instead of int.
-
-2003-12-04 Hosaka Yuji <hos@tamanegi.org>
-
- * testsuite/libffi.call/many_win32.c: Include <float.h>.
- * testsuite/libffi.call/many_win32.c (main): Replace variable
- int i with unsigned long ul.
-
- * testsuite/libffi.call/cls_align_uint64.c: New test case.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02 Hosaka Yuji <hos@tamanegi.org>
-
- PR other/13221
- * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
- Align arguments to 32 bits.
-
-2003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR other/13221
- * testsuite/libffi.call/cls_multi_sshort.c: New test case.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-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.
-
-2003-11-21 Andreas Jaeger <aj@suse.de>
- Andreas Tobler <a.tobler@schweiz.ch>
-
- * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
- * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
- * Makefile.in: Rebuilt.
- * aclocal.m4: Likewise.
- * configure: Likewise.
- * fficonfig.h.in: Likewise.
- * testsuite/lib/libffi-dg.exp: Add include dir.
- * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
- for ffi_closure if available.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
- Add -lgcc_s to additional flags.
-
-2003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.in, include/Makefile.am: PR libgcj/11147, install
- the ffitarget.h header file in a gcc versioned and target
- dependent place.
- * configure: Regenerated.
- * Makefile.in, include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Print result and check
- with dg-output to make debugging easier.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
- static.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_9byte2.c: New test case.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_double.c: Do a check on the result.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/prep_cif.c (ffi_prep_cif): Move the validity check after
- the initialization.
-
-2003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
- FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
- __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-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
-
-2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
- _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
- Used when FFI_DEBUG = 1.
-
-2003-10-14 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
- and align.
-
-2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
- FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
- SPARC64. Cleanup whitespaces.
-
-2003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
- strongarm, xscale. Cleanup whitespaces.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Cleanup whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
- * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
- parameter stack.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
- according to the Darwin/AIX ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_DARWIN): Likewise.
- Remove the outgoing parameter stack logic. Simplify the evaluation
- of the different CASE types.
- (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
- statement in the trampoline code.
-
-2003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
- for the register size.
- (ffi_closure_helper_SYSV): Handle the structure return value
- address correctly.
- (ffi_closure_helper_SYSV): Return the appropriate type when
- the registers are used for the structure return value.
- * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
- the 64-bit return value. Update copyright years.
-
-2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
- srcdir for ffi_mips.h.
-
-2003-09-12 Alan Modra <amodra@bigpond.net.au>
-
- * src/prep_cif.c (initialize_aggregate): Include tail padding in
- structure size.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
- placement of float result.
- * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
- cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Merge identical SH and ARM
- typedefs, and add POWERPC64.
- * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
- struct split over gpr and rest.
- (ffi_prep_cif_machdep): Correct intarg_count for structures.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
- passing correctly.
-
-2003-09-09 Alan Modra <amodra@bigpond.net.au>
-
- * configure: Regenerate.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Remove build rules for ffitest.
- * Makefile.in: Rebuilt.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
- about implicit declaration of abort().
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
- * Makefile.in: Rebuilt.
- * configure.in: Add dejagnu test framework.
- * configure: Rebuilt.
-
- * testsuite/Makefile.am: New file.
- * testsuite/Makefile.in: Built
- * testsuite/lib/libffi-dg.exp: New file.
- * testsuite/config/default.exp: Likewise.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Likewise.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float1.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/many.c: Likewise.
- * testsuite/libffi.call/many_win32.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
- * testsuite/libffi.call/strlen.c: Likewise.
- * testsuite/libffi.call/strlen_win32.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
- * testsuite/libffi.call/struct2.c: Likewise.
- * testsuite/libffi.call/struct3.c: Likewise.
- * testsuite/libffi.call/struct4.c: Likewise.
- * testsuite/libffi.call/struct5.c: Likewise.
- * testsuite/libffi.call/struct6.c: Likewise.
- * testsuite/libffi.call/struct7.c: Likewise.
- * testsuite/libffi.call/struct8.c: Likewise.
- * testsuite/libffi.call/struct9.c: Likewise.
- * testsuite/libffi.special/special.exp: New file.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
- copyright years.
-
-2003-08-02 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
- structure passing.
- (ffi_closure_helper_LINUX64): Likewise.
- * src/powerpc/linux64.S: Remove code writing to parm save area.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
- address in lr from ffi_closure_helper_LINUX64 call to calculate
- table address. Optimize function tail.
-
-2003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/sparc/ffi.c: Handle all floating point registers.
- * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
-
- * README: Note that libffi is not part of GCC. Update the project
- URL and status.
-
-2003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
- Use C style comments.
-
-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
- should be read-only.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * include/ffi.h.in (EH_FRAME_FLAGS): Define.
- * src/alpha/osf.S: Use EH_FRAME_FLAGS.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
- * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
- if -fpic/-fPIC/-mrelocatable.
- * src/powerpc/powerpc_closure.S: Likewise.
- * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
- #write in .eh_frame flags.
- * src/sparc/v9.S: Likewise.
- * src/x86/unix64.S: Use EH_FRAME_FLAGS.
- * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
- * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
-
-2003-05-07 Jeff Sturm <jsturm@one-point.com>
-
- Fixes PR bootstrap/10656
- * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
- support for .register pseudo-op.
- * src/sparc/v8.S: Use it.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2003-04-18 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (POWERPC64): Define if 64-bit.
- (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
- Make it the default on POWERPC64.
- (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
- * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
- * configure: Rebuilt.
- * src/powerpc/ffi.c (hidden): Define.
- (ffi_prep_args_SYSV): Renamed from
- ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
- (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
- ASM_NEEDS_REGISTERS64): New.
- (ffi_prep_args64): New function.
- (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
- (ffi_call): Likewise.
- (ffi_prep_closure): Likewise.
- (flush_icache): Surround by #ifndef POWERPC64.
- (ffi_dblfl): New union type.
- (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
- (ffi_closure_helper_LINUX64): New function.
- * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
- __powerpc64__.
- * src/powerpc/sysv.S: Likewise.
- (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
- * src/powerpc/linux64.S: New file.
- * src/powerpc/linux64_closure.S: New file.
- * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
- src/powerpc/linux64_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
- * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
- closure_test_fn3): Fix result printing on big-endian 64-bit
- machines.
- (main): Print tst2_arg instead of uninitialized tst2_result.
-
- * src/ffitest.c (main): Hide what closure pointer really points to
- from the compiler.
-
-2003-04-16 Richard Earnshaw <rearnsha@arm.com>
-
- * configure.in (arm-*-netbsdelf*): Add configuration.
- (configure): Regenerated.
-
-2003-04-04 Loren J. Rittle <ljrittle@acm.org>
-
- * include/Makefile.in: Regenerate.
-
-2003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
-
- * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
- bit mode.
- * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
- Receive closure pointer through parameter, read args using
- __builtin_dwarf_cfa.
- (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12 Andreas Schwab <schwab@suse.de>
-
- * configure.in: Avoid trailing /. in toolexeclibdir.
- * configure: Rebuilt.
-
-2003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/powerpc/darwin_closure.S:
- Fix alignement bug, allocate 8 bytes for the result.
- * libffi/src/powerpc/aix_closure.S:
- Likewise.
- * libffi/src/powerpc/ffi_darwin.c:
- Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06 Jakub Jelinek <jakub@redhat.com>
-
- * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
- attribute.
-
-2003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
- Andreas Schwab <schwab@suse.de>
-
- * configure.in: Adjust command to source config-ml.in to account
- for changes to the libffi_basedir definition.
- (libffi_basedir): Remove ${srcdir} from value and include trailing
- slash if nonempty.
-
- * configure: Regenerate.
-
-2003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
- * src/x86/ffi64.c (ffi_prep_closure): New.
- (ffi_closure_UNIX64_inner): New.
- * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
- Remove USE_LIBDIR conditional.
- * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
- * Makefile.in, configure: Rebuilt.
-
-2003-01027 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
- * Makefile.in: Regenerate.
-
-2003-01-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
- unwind info.
-
-2003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Add unwind info.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
- (ffi_prep_cif_machdep): Likewise.
- * src/x86/unix64.S: Add unwind info.
-
-2003-01-14 Andreas Jaeger <aj@suse.de>
-
- * src/ffitest.c (main): Only use ffi_closures if those are
- supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/ffitest.c
- add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
- * libffi/src/powerpc/ffi.c
- fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c: Remove RCS version string.
- * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
- * src/ffitest.c (main): Use static storage for closure.
- * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
- * src/sparc/v8.S (ffi_closure_v8): New.
- * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10 Ranjit Mathew <rmathew@hotmail.com>
-
- * include/ffi.h.in: Added FFI_STDCALL ffi_type
- enumeration for X86_WIN32.
- * src/x86/win32.S: Added ffi_call_STDCALL function
- definition.
- * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
- switch cases for recognising FFI_STDCALL and
- calling ffi_call_STDCALL if target is X86_WIN32.
- * src/ffitest.c (my_stdcall_strlen/stdcall_many):
- stdcall versions of the "my_strlen" and "many"
- test functions (for X86_WIN32).
- Added test cases to test stdcall invocation using
- these functions.
-
-2002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26 Jim Wilson <wilson@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23 H.J. Lu <hjl@gnu.org>
-
- * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
- Include ../config/accross.m4.
- * aclocal.m4; Rebuild.
- * configure: Likewise.
-
-2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11 DJ Delorie <dj@redhat.com>
-
- * configure.in: Look for common files in the right place.
-
-2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
- raw data as _Jv_word values, not ffi_raw.
- (ffi_java_ptrarray_to_raw): Likewise.
- (ffi_java_rvalue_to_raw): New function.
- (ffi_java_raw_call): Call it.
- (ffi_java_raw_to_rvalue): New function.
- (ffi_java_translate_args): Call it.
- * src/ffitest.c (closure_test_fn): Interpret return value
- as ffi_arg, not int.
- * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
- FFI_TYPE_POINTER case.
- (ffi_closure_helper_SYSV): Likewise. Also, assume return
- values extended to word size.
-
-2002-10-02 Andreas Jaeger <aj@suse.de>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01 Bo Thorsen <bo@smetana.suse.de>
-
- * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
-
- * configure.in: Add s390x-*-linux-* target.
- * configure: Regenerate.
- * include/ffi.h.in: Define S390X for s390x targets.
- (FFI_CLOSURES): Define for s390/s390x.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
- * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
- * src/s390/ffi.c: Major rework of existing code. Add support for
- s390x targets. Add closure support.
- * src/s390/sysv.S: Likewise.
-
-2002-09-29 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: Fix typo.
-
-2002-09-28 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
- has defined __USER_LABEL_PREFIX__, then use it in CNAME.
- (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27 Bo Thorsen <bo@suse.de>
-
- * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * configure.in (sh[34]*-*-linux*): Add brackets.
- * configure: Regenerate.
-
-2002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * Makefile.am: Add SH support.
- * Makefile.in: Regenerate.
- * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
- * configure: Regenerate.
- * include/ffi.h.in: Add SH support.
- * src/sh/ffi.c: New file.
- * src/sh/sysv.S: New file.
- * src/types.c: Add SH support.
-
-2002-07-16 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi64.c: New file that adds x86-64 support.
- * src/x86/unix64.S: New file that handles argument setup for
- x86-64.
- * src/x86/sysv.S: Don't use this on x86-64.
- * src/x86/ffi.c: Don't use this on x86-64.
- Remove unused vars.
- * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
- for x86-64.
- * src/ffitest.c (struct6): New test that tests a special case in
- the x86-64 ABI.
- (struct7): Likewise.
- (struct8): Likewise.
- (struct9): Likewise.
- (closure_test_fn): Silence warning about this when it's not used.
- (main): Add the new tests.
- (main): Fix a couple of wrong casts and silence some compiler warnings.
- * include/ffi.h.in: Add x86-64 ABI definition.
- * fficonfig.h.in: Regenerate.
- * Makefile.am: Add x86-64 support.
- * configure.in: Likewise.
- * Makefile.in: Regenerate.
- * configure: Likewise.
-
-2002-06-24 Bo Thorsen <bo@suse.de>
-
- * src/types.c: Merge settings for similar architectures.
- Add x86-64 sizes and alignments.
-
-2002-06-23 Bo Thorsen <bo@suse.de>
-
- * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
- * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
- * src/mips/ffi.c (ffi_prep_args): Likewise.
- * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18 H.J. Lu (hjl@gnu.org)
-
- * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
- (libffi_la_SOURCES): Support MIPS_LINUX.
- (libffi_convenience_la_SOURCES): Likewise.
- * Makefile.in: Regenerated.
-
- * configure.in (mips64*-*): Skip.
- (mips*-*-linux*): New.
- * configure: Regenerated.
-
- * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
-
-2002-05-27 Roger Sayle <roger@eyesopen.com>
-
- * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
- fix formatting.
-
-2002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
- beginning of function (for older apple cc).
-
-2002-05-08 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
- script entry, and set LD to it when configuring multilibs.
- * configure: Rebuilt.
-
-2002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (sparc64-*-netbsd*): Add target.
- (sparc-*-netbsdelf*): Likewise.
- * configure: Regenerate.
-
-2002-04-28 David S. Miller <davem@redhat.com>
-
- * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
-
- * Makefile.am: Add Linux for S/390 support.
- * Makefile.in: Regenerate.
- * configure.in: Add Linux for S/390 support.
- * configure: Regenerate.
- * include/ffi.h.in: Add Linux for S/390 support.
- * src/s390/ffi.c: New file from libffi CVS tree.
- * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
- %r_disp32().
- * src/sparc/v8.S: Use it.
- * src/sparc/v9.S: Likewise.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2002-04-08 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
- correctly.
- * src/ia64/unix.S: Add unwind information. Fix comments.
- Save sp in a way that's compatible with unwind info.
- (ffi_call_unix): Correctly restore sp in all cases.
- * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08 Jakub Jelinek <jakub@redhat.com>
-
- * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (alpha*-*-netbsd*): Add target.
- * configure: Regenerate.
-
-2002-04-04 Jeff Sturm <jsturm@one-point.com>
-
- * src/sparc/v8.S: Add unwind info.
- * src/sparc/v9.S: Likewise.
-
-2002-03-30 Krister Walfridsson <cato@df.lth.se>
-
- * configure.in: Enable i*86-*-netbsdelf*.
- * configure: Rebuilt.
-
-2002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
-
- PR other/2620
- * src/mips/n32.s: Delete
- * src/mips/o32.s: Delete
-
-2002-03-21 Loren J. Rittle <ljrittle@acm.org>
-
- * configure.in: Enable alpha*-*-freebsd*.
- * configure: Rebuilt.
-
-2002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * Makefile.am: libfficonvenience -> libffi_convenience.
- * Makefile.in: Rebuilt.
-
- * Makefile.am: Define ffitest_OBJECTS.
- * Makefile.in: Rebuilt.
-
-2002-03-07 Andreas Tobler <toa@pop.agri.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
- (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
- (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
- * Makefile.in: Regenerate.
- * include/ffi.h.in: Add AIX and Darwin closure definitions.
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
- (flush_icache, flush_range): New functions.
- (ffi_closure_helper_DARWIN): New function.
- * src/powerpc/aix_closure.S: New file.
- * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add typedef for ffi_arg.
- * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21 Andreas Tobler <toa@pop.agri.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
- number of GPRs for floating-point arguments.
-
-2002-01-31 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Replace CHECK_SIZEOF and endian tests with
- cross-compiler friendly macros.
- * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
- macros.
-
-2002-01-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): New.
- * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
- (TARGET_SRC_POWERPC_AIX): New.
- (POWERPC_AIX): New stanza.
- * Makefile.in: Regenerate.
- * configure.in: Add AIX case.
- * configure: Regenerate.
- * include/ffi.h.in (ffi_abi): Add FFI_AIX.
- * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
- size. Fix "long double" support.
- (ffi_call): Add FFI_AIX case.
- * src/powerpc/aix.S: New.
-
-2001-10-09 John Hornkvist <john@toastedmarshmallow.com>
-
- Implement Darwin PowerPC ABI.
- * configure.in: Handle powerpc-*-darwin*.
- * Makefile.am: Set source files for POWERPC_DARWIN.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
- * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
- POWERPC_DARWIN.
- * src/powerpc/darwin.S: New file.
- * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .balign directive.
- Use C style comments.
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
- Fixes PR bootstrap/3563.
-
-2001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.in: Recognize sparc*-sun-* host.
- * configure: Regenerate.
-
-2001-06-06 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S: Add unwind info.
- * src/powerpc/sysv.S: Add unwind info.
- * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31 Jeff Sturm <jsturm@one-point.com>
-
- * configure.in: Fix AC_ARG_ENABLE usage.
- * configure: Rebuilt.
-
-2001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * configure.in: Remove warning about beta code.
- * configure: Rebuilt.
-
-2001-04-25 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/ia64/unix.S: Restore stack pointer when returning from
- ffi_closure_UNIX.
- * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18 Jim Wilson <wilson@redhat.com>
-
- * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
- to eliminate RAW DV.
-
-2001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
-
- * Makefile.am: Make a libtool convenience library.
- * Makefile.in: Rebuilt.
-
-2001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Use different syntax for subdirectory creation.
- * configure: Rebuilt.
-
-2001-03-27 Jon Beniston <jon@beniston.com>
-
- * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
- * configure: Rebuilt.
- * Makefile.am: Added X86_WIN32 target support.
- * Makefile.in: Rebuilt.
-
- * include/ffi.h.in: Added X86_WIN32 target support.
-
- * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
- * src/types.c: Added X86_WIN32 target support.
-
- * src/x86/win32.S: New file. Based on sysv.S, but with EH
- stuff removed and made to work with CygWin's gas.
-
-2001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Make target subdirectory in build dir.
- * Makefile.am: Override suffix based rules to specify correct output
- subdirectory.
- * Makefile.in: Rebuilt.
- * configure: Rebuilt.
-
-2001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
-
- * src/powerpc/ppc_closure.S: New file.
- * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
- involving long long and register pairs.
- (ffi_prep_closure): New function.
- (flush_icache): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * Makefile.in: Rebuilt.
- * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19 Tom Tromey <tromey@redhat.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02 Nick Clifton <nickc@redhat.com>
-
- * include/ffi.h.in: Remove RCS ident string.
- * include/ffi_mips.h: Remove RCS ident string.
- * src/debug.c: Remove RCS ident string.
- * src/ffitest.c: Remove RCS ident string.
- * src/prep_cif.c: Remove RCS ident string.
- * src/types.c: Remove RCS ident string.
- * src/alpha/ffi.c: Remove RCS ident string.
- * src/alpha/osf.S: Remove RCS ident string.
- * src/arm/ffi.c: Remove RCS ident string.
- * src/arm/sysv.S: Remove RCS ident string.
- * src/mips/ffi.c: Remove RCS ident string.
- * src/mips/n32.S: Remove RCS ident string.
- * src/mips/o32.S: Remove RCS ident string.
- * src/sparc/ffi.c: Remove RCS ident string.
- * src/sparc/v8.S: Remove RCS ident string.
- * src/sparc/v9.S: Remove RCS ident string.
- * src/x86/ffi.c: Remove RCS ident string.
- * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * include/ffi.h.in: Change sourceware.cygnus.com references to
- gcc.gnu.org.
-
-2000-12-09 Richard Henderson <rth@redhat.com>
-
- * src/alpha/ffi.c (ffi_call): Simplify struct return test.
- (ffi_closure_osf_inner): Index rather than increment avalue
- and arg_types. Give ffi_closure_osf the raw return value type.
- * src/alpha/osf.S (ffi_closure_osf): Handle return value type
- promotion.
-
-2000-12-07 Richard Henderson <rth@redhat.com>
-
- * src/raw_api.c (ffi_translate_args): Fix typo.
- (ffi_prep_closure): Likewise.
-
- * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
- FFI_TRAMPOLINE_SIZE.
- * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
- cif->bytes for new ffi_call_osf implementation.
- (ffi_prep_args): Absorb into ...
- (ffi_call): ... here. Do all stack allocation here and
- avoid a callback function.
- (ffi_prep_closure, ffi_closure_osf_inner): New.
- * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
- (ffi_closure_osf): New.
-
-2000-09-10 Alexandre Oliva <aoliva@redhat.com>
-
- * config.guess, config.sub, install-sh: Removed.
- * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
- * Makefile.in: Rebuilt.
-
- * acinclude.m4: Include libtool macros from the top level.
- * aclocal.m4, configure: Rebuilt.
-
-2000-08-22 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
- * configure: Rebuilt.
-
-2000-05-11 Scott Bambrough <scottb@netwinder.org>
-
- * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
- memory correctly. Use conditional instructions, not branches where
- possible.
-
-2000-05-04 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Match `arm*-*-linux-*'.
- From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (SUBDIRS): Define.
- (AM_MAKEFLAGS): Likewise.
- (Multilib support.): Add section.
- * Makefile.in: Rebuilt.
- * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
- New variables. Set for gcc using -print-multi-lib. Export them
- to libtool.
- (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
- * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
- for -shared links.
- (extra_compiler_flags_value, extra_compiler_flags): Check these
- for extra compiler options which need to be passed down in
- compiler_flags.
-
-2000-04-16 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
- Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
- * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
- Replace all void * sizeofs with sizeof(int).
- Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
- different than DOUBLE.
- Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
- (ffi_prep_args_v9): New function.
- (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
- (ffi_V9_return_struct): New function.
- (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
- 32bit code (not yet cross-arch calls).
- * src/sparc/v8.S: Add struct return delay nop.
- Handle long long.
- * src/sparc/v9.S: New file.
- * src/prep_cif.c (ffi_prep_cif): Return structure pointer
- is used on sparc64 only for structures larger than 32 bytes.
- Pass by reference for structures is done for structure arguments
- larger than 16 bytes.
- * src/ffitest.c (main): Use 64bit rint on sparc64.
- Run long long tests on sparc.
- * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
- sparc64.
- (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
- on sparc64.
- * configure.in (sparc-*-linux*): New supported target.
- (sparc64-*-linux*): Likewise.
- * configure: Rebuilt.
- * Makefile.am: Add v9.S to SPARC files.
- * Makefile.in: Likewise.
- (LINK): Surround $(CCLD) into double quotes, so that multilib
- compiles work correctly.
-
-2000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: (i*86-*-solaris*): New libffi target. Patch
- proposed by Bryce McKinlay.
-
-2000-03-20 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
-
- * config.guess, config.sub: Update from the gcc tree.
- Fix for PR libgcj/168.
-
-2000-03-03 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Fixed ia64 by hand.
-
- * configure: Rebuilt.
- * configure.in (--enable-multilib): New option.
- (libffi_basedir): New subst.
- (AC_OUTPUT): Added multilib code.
-
-2000-03-02 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
- directory name.
-
-2000-02-25 Hans Boehm <boehm@acm.org>
-
- * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
- files.
- * src/raw_api.c (ffi_translate_args): Fixed typo in argument
- list.
- (ffi_prep_raw_closure): Use ffi_translate_args, not
- ffi_closure_translate.
- * src/java_raw_api.c: New file.
- * src/ffitest.c (closure_test_fn): New function.
- (main): Define `rint' as long long on IA64. Added new test when
- FFI_CLOSURES is defined.
- * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
- (ffi_abi): Recognize IA64.
- (ffi_raw): Added `flt' field.
- Added "Java raw API" code.
- * configure.in: Recognize ia64.
- * Makefile.am (TARGET_SRC_IA64): New macro.
- (libffi_la_common_SOURCES): Added java_raw_api.c.
- (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01 Tom Tromey <tromey@cygnus.com>
-
- * include/ffi.h.in: Removed PACKAGE and VERSION defines and
- undefs.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
- * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
- Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
- * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09 Anthony Green <green@cygnus.com>
-
- * include/ffi.h.in: Try to work around messy header problem
- with PACKAGE and VERSION.
-
- * configure: Rebuilt.
- * configure.in: Change version to 2.00-beta.
-
- * fficonfig.h.in: Rebuilt.
- * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
- * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
-
- * src/x86/ffi.c (ffi_closure_SYSV): New function.
- (ffi_prep_incoming_args_SYSV): Ditto.
- (ffi_prep_closure): Ditto.
- (ffi_closure_raw_SYSV): Ditto.
- (ffi_prep_raw_closure): More ditto.
- (ffi_call_raw): Final ditto.
-
- * include/ffi.h.in: Add definitions for closure and raw API.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
- FFI_TYPE_UINT64.
-
- * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
- * src/raw_api.c: New file.
-
- * include/ffi.h.in (ffi_raw): New type.
- (UINT_ARG, SINT_ARG): New defines.
- (ffi_closure, ffi_raw_closure): New types.
- (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
- * configure.in: Add check for endianness and sizeof void*.
-
- * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
- instead of directly.
-
- * configure: Rebuilt.
-
-Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
-
- * configure.in: Add x86 and powerpc BeOS configurations.
- From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09 Anthony Green <green@cygnus.com>
-
- * configure.in: Add warning about this being beta code.
- Remove src/Makefile.am from the picture.
- * configure: Rebuilt.
-
- * Makefile.am: Move logic from src/Makefile.am. Add changes
- to support libffi as a target library.
- * Makefile.in: Rebuilt.
-
- * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
- Upgraded to new autoconf, automake, libtool.
-
- * README: Tweaks.
-
- * LICENSE: Update copyright date.
-
- * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29 Anthony Green <green@cygnus.com>
-
- * include/ChangeLog: Removed.
- * src/ChangeLog: Removed.
- * src/mips/ChangeLog: Removed.
- * src/sparc/ChangeLog: Remboved.
- * src/x86/ChangeLog: Removed.
-
- * ChangeLog.v1: Created.
diff --git a/.pc/bad-abi-fix/include/ffi_common.h b/.pc/bad-abi-fix/include/ffi_common.h
deleted file mode 100644
index 42cace9..0000000
--- a/.pc/bad-abi-fix/include/ffi_common.h
+++ /dev/null
@@ -1,122 +0,0 @@
-/* -----------------------------------------------------------------------
- ffi_common.h - Copyright (c) 1996 Red Hat, Inc.
- Copyright (C) 2007 Free Software Foundation, Inc
-
- Common internal definitions and macros. Only necessary for building
- libffi.
- ----------------------------------------------------------------------- */
-
-#ifndef FFI_COMMON_H
-#define FFI_COMMON_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <fficonfig.h>
-
-/* Do not move this. Some versions of AIX are very picky about where
- this is positioned. */
-#ifdef __GNUC__
-/* mingw64 defines this already in malloc.h. */
-#ifndef alloca
-# define alloca __builtin_alloca
-#endif
-# define MAYBE_UNUSED __attribute__((__unused__))
-#else
-# define MAYBE_UNUSED
-# if HAVE_ALLOCA_H
-# include <alloca.h>
-# else
-# ifdef _AIX
- #pragma alloca
-# else
-# ifndef alloca /* predefined by HP cc +Olibcalls */
-# ifdef _MSC_VER
-# define alloca _alloca
-# else
-char *alloca ();
-# endif
-# endif
-# endif
-# endif
-#endif
-
-/* Check for the existence of memcpy. */
-#if STDC_HEADERS
-# include <string.h>
-#else
-# ifndef HAVE_MEMCPY
-# define memcpy(d, s, n) bcopy ((s), (d), (n))
-# endif
-#endif
-
-#if defined(FFI_DEBUG)
-#include <stdio.h>
-#endif
-
-#ifdef FFI_DEBUG
-void ffi_assert(char *expr, char *file, int line);
-void ffi_stop_here(void);
-void ffi_type_test(ffi_type *a, char *file, int line);
-
-#define FFI_ASSERT(x) ((x) ? (void)0 : ffi_assert(#x, __FILE__,__LINE__))
-#define FFI_ASSERT_AT(x, f, l) ((x) ? 0 : ffi_assert(#x, (f), (l)))
-#define FFI_ASSERT_VALID_TYPE(x) ffi_type_test (x, __FILE__, __LINE__)
-#else
-#define FFI_ASSERT(x)
-#define FFI_ASSERT_AT(x, f, l)
-#define FFI_ASSERT_VALID_TYPE(x)
-#endif
-
-#define ALIGN(v, a) (((((size_t) (v))-1) | ((a)-1))+1)
-#define ALIGN_DOWN(v, a) (((size_t) (v)) & -a)
-
-/* Perform machine dependent cif processing */
-ffi_status ffi_prep_cif_machdep(ffi_cif *cif);
-
-/* Extended cif, used in callback from assembly routine */
-typedef struct
-{
- ffi_cif *cif;
- void *rvalue;
- void **avalue;
-} extended_cif;
-
-/* Terse sized type definitions. */
-#if defined(_MSC_VER) || defined(__sgi)
-typedef unsigned char UINT8;
-typedef signed char SINT8;
-typedef unsigned short UINT16;
-typedef signed short SINT16;
-typedef unsigned int UINT32;
-typedef signed int SINT32;
-# ifdef _MSC_VER
-typedef unsigned __int64 UINT64;
-typedef signed __int64 SINT64;
-# else
-# include <inttypes.h>
-typedef uint64_t UINT64;
-typedef int64_t SINT64;
-# endif
-#else
-typedef unsigned int UINT8 __attribute__((__mode__(__QI__)));
-typedef signed int SINT8 __attribute__((__mode__(__QI__)));
-typedef unsigned int UINT16 __attribute__((__mode__(__HI__)));
-typedef signed int SINT16 __attribute__((__mode__(__HI__)));
-typedef unsigned int UINT32 __attribute__((__mode__(__SI__)));
-typedef signed int SINT32 __attribute__((__mode__(__SI__)));
-typedef unsigned int UINT64 __attribute__((__mode__(__DI__)));
-typedef signed int SINT64 __attribute__((__mode__(__DI__)));
-#endif
-
-typedef float FLOAT32;
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-
diff --git a/.pc/bad-abi-fix/src/arm/ffi.c b/.pc/bad-abi-fix/src/arm/ffi.c
deleted file mode 100644
index 521346c..0000000
--- a/.pc/bad-abi-fix/src/arm/ffi.c
+++ /dev/null
@@ -1,726 +0,0 @@
-/* -----------------------------------------------------------------------
- ffi.c - Copyright (c) 1998, 2008, 2011 Red Hat, Inc.
- Copyright (c) 2011 Plausible Labs Cooperative, Inc.
-
- ARM Foreign Function Interface
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
- ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#include <stdlib.h>
-
-/* Forward declares. */
-static int vfp_type_p (ffi_type *);
-static void layout_vfp_args (ffi_cif *);
-
-/* ffi_prep_args is called by the assembly routine once stack space
- has been allocated for the function's arguments
-
- The vfp_space parameter is the load area for VFP regs, the return
- value is cif->vfp_used (word bitset of VFP regs used for passing
- arguments). These are only used for the VFP hard-float ABI.
-*/
-int ffi_prep_args(char *stack, extended_cif *ecif, float *vfp_space)
-{
- register unsigned int i, vi = 0;
- register void **p_argv;
- register char *argp;
- register ffi_type **p_arg;
-
- argp = stack;
-
- if ( ecif->cif->flags == FFI_TYPE_STRUCT ) {
- *(void **) argp = ecif->rvalue;
- argp += 4;
- }
-
- p_argv = ecif->avalue;
-
- for (i = ecif->cif->nargs, p_arg = ecif->cif->arg_types;
- (i != 0);
- i--, p_arg++)
- {
- size_t z;
-
- /* Allocated in VFP registers. */
- if (ecif->cif->abi == FFI_VFP
- && vi < ecif->cif->vfp_nargs && vfp_type_p (*p_arg))
- {
- float* vfp_slot = vfp_space + ecif->cif->vfp_args[vi++];
- if ((*p_arg)->type == FFI_TYPE_FLOAT)
- *((float*)vfp_slot) = *((float*)*p_argv);
- else if ((*p_arg)->type == FFI_TYPE_DOUBLE)
- *((double*)vfp_slot) = *((double*)*p_argv);
- else
- memcpy(vfp_slot, *p_argv, (*p_arg)->size);
- p_argv++;
- continue;
- }
-
- /* Align if necessary */
- if (((*p_arg)->alignment - 1) & (unsigned) argp) {
- argp = (char *) ALIGN(argp, (*p_arg)->alignment);
- }
-
- if ((*p_arg)->type == FFI_TYPE_STRUCT)
- argp = (char *) ALIGN(argp, 4);
-
- z = (*p_arg)->size;
- if (z < sizeof(int))
- {
- z = sizeof(int);
- switch ((*p_arg)->type)
- {
- case FFI_TYPE_SINT8:
- *(signed int *) argp = (signed int)*(SINT8 *)(* p_argv);
- break;
-
- case FFI_TYPE_UINT8:
- *(unsigned int *) argp = (unsigned int)*(UINT8 *)(* p_argv);
- break;
-
- case FFI_TYPE_SINT16:
- *(signed int *) argp = (signed int)*(SINT16 *)(* p_argv);
- break;
-
- case FFI_TYPE_UINT16:
- *(unsigned int *) argp = (unsigned int)*(UINT16 *)(* p_argv);
- break;
-
- case FFI_TYPE_STRUCT:
- memcpy(argp, *p_argv, (*p_arg)->size);
- break;
-
- default:
- FFI_ASSERT(0);
- }
- }
- else if (z == sizeof(int))
- {
- *(unsigned int *) argp = (unsigned int)*(UINT32 *)(* p_argv);
- }
- else
- {
- memcpy(argp, *p_argv, z);
- }
- p_argv++;
- argp += z;
- }
-
- /* Indicate the VFP registers used. */
- return ecif->cif->vfp_used;
-}
-
-/* Perform machine dependent cif processing */
-ffi_status ffi_prep_cif_machdep(ffi_cif *cif)
-{
- int type_code;
- /* Round the stack up to a multiple of 8 bytes. This isn't needed
- everywhere, but it is on some platforms, and it doesn't harm anything
- when it isn't needed. */
- cif->bytes = (cif->bytes + 7) & ~7;
-
- /* Set the return type flag */
- switch (cif->rtype->type)
- {
- case FFI_TYPE_VOID:
- case FFI_TYPE_FLOAT:
- case FFI_TYPE_DOUBLE:
- cif->flags = (unsigned) cif->rtype->type;
- break;
-
- case FFI_TYPE_SINT64:
- case FFI_TYPE_UINT64:
- cif->flags = (unsigned) FFI_TYPE_SINT64;
- break;
-
- case FFI_TYPE_STRUCT:
- if (cif->abi == FFI_VFP
- && (type_code = vfp_type_p (cif->rtype)) != 0)
- {
- /* A Composite Type passed in VFP registers, either
- FFI_TYPE_STRUCT_VFP_FLOAT or FFI_TYPE_STRUCT_VFP_DOUBLE. */
- cif->flags = (unsigned) type_code;
- }
- else if (cif->rtype->size <= 4)
- /* A Composite Type not larger than 4 bytes is returned in r0. */
- cif->flags = (unsigned)FFI_TYPE_INT;
- else
- /* A Composite Type larger than 4 bytes, or whose size cannot
- be determined statically ... is stored in memory at an
- address passed [in r0]. */
- cif->flags = (unsigned)FFI_TYPE_STRUCT;
- break;
-
- default:
- cif->flags = FFI_TYPE_INT;
- break;
- }
-
- /* Map out the register placements of VFP register args.
- The VFP hard-float calling conventions are slightly more sophisticated than
- the base calling conventions, so we do it here instead of in ffi_prep_args(). */
- if (cif->abi == FFI_VFP)
- layout_vfp_args (cif);
-
- return FFI_OK;
-}
-
-/* Prototypes for assembly functions, in sysv.S */
-extern void ffi_call_SYSV (void (*fn)(void), extended_cif *, unsigned, unsigned, unsigned *);
-extern void ffi_call_VFP (void (*fn)(void), extended_cif *, unsigned, unsigned, unsigned *);
-
-void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
-{
- extended_cif ecif;
-
- int small_struct = (cif->flags == FFI_TYPE_INT
- && cif->rtype->type == FFI_TYPE_STRUCT);
- int vfp_struct = (cif->flags == FFI_TYPE_STRUCT_VFP_FLOAT
- || cif->flags == FFI_TYPE_STRUCT_VFP_DOUBLE);
-
- ecif.cif = cif;
- ecif.avalue = avalue;
-
- unsigned int temp;
-
- /* If the return value is a struct and we don't have a return */
- /* value address then we need to make one */
-
- if ((rvalue == NULL) &&
- (cif->flags == FFI_TYPE_STRUCT))
- {
- ecif.rvalue = alloca(cif->rtype->size);
- }
- else if (small_struct)
- ecif.rvalue = &temp;
- else if (vfp_struct)
- {
- /* Largest case is double x 4. */
- ecif.rvalue = alloca(32);
- }
- else
- ecif.rvalue = rvalue;
-
- switch (cif->abi)
- {
- case FFI_SYSV:
- ffi_call_SYSV (fn, &ecif, cif->bytes, cif->flags, ecif.rvalue);
- break;
-
- case FFI_VFP:
- ffi_call_VFP (fn, &ecif, cif->bytes, cif->flags, ecif.rvalue);
- break;
-
- default:
- FFI_ASSERT(0);
- break;
- }
- if (small_struct)
- memcpy (rvalue, &temp, cif->rtype->size);
- else if (vfp_struct)
- memcpy (rvalue, ecif.rvalue, cif->rtype->size);
-}
-
-/** private members **/
-
-static void ffi_prep_incoming_args_SYSV (char *stack, void **ret,
- void** args, ffi_cif* cif, float *vfp_stack);
-
-void ffi_closure_SYSV (ffi_closure *);
-
-void ffi_closure_VFP (ffi_closure *);
-
-/* This function is jumped to by the trampoline */
-
-unsigned int
-ffi_closure_SYSV_inner (closure, respp, args, vfp_args)
- ffi_closure *closure;
- void **respp;
- void *args;
- void *vfp_args;
-{
- // our various things...
- ffi_cif *cif;
- void **arg_area;
-
- cif = closure->cif;
- arg_area = (void**) alloca (cif->nargs * sizeof (void*));
-
- /* this call will initialize ARG_AREA, such that each
- * element in that array points to the corresponding
- * value on the stack; and if the function returns
- * a structure, it will re-set RESP to point to the
- * structure return address. */
-
- ffi_prep_incoming_args_SYSV(args, respp, arg_area, cif, vfp_args);
-
- (closure->fun) (cif, *respp, arg_area, closure->user_data);
-
- return cif->flags;
-}
-
-/*@-exportheader@*/
-static void
-ffi_prep_incoming_args_SYSV(char *stack, void **rvalue,
- void **avalue, ffi_cif *cif,
- /* Used only under VFP hard-float ABI. */
- float *vfp_stack)
-/*@=exportheader@*/
-{
- register unsigned int i, vi = 0;
- register void **p_argv;
- register char *argp;
- register ffi_type **p_arg;
-
- argp = stack;
-
- if ( cif->flags == FFI_TYPE_STRUCT ) {
- *rvalue = *(void **) argp;
- argp += 4;
- }
-
- p_argv = avalue;
-
- for (i = cif->nargs, p_arg = cif->arg_types; (i != 0); i--, p_arg++)
- {
- size_t z;
- size_t alignment;
-
- if (cif->abi == FFI_VFP
- && vi < cif->vfp_nargs && vfp_type_p (*p_arg))
- {
- *p_argv++ = (void*)(vfp_stack + cif->vfp_args[vi++]);
- continue;
- }
-
- alignment = (*p_arg)->alignment;
- if (alignment < 4)
- alignment = 4;
- /* Align if necessary */
- if ((alignment - 1) & (unsigned) argp) {
- argp = (char *) ALIGN(argp, alignment);
- }
-
- z = (*p_arg)->size;
-
- /* because we're little endian, this is what it turns into. */
-
- *p_argv = (void*) argp;
-
- p_argv++;
- argp += z;
- }
-
- return;
-}
-
-/* How to make a trampoline. */
-
-extern unsigned int ffi_arm_trampoline[3];
-
-#if FFI_EXEC_TRAMPOLINE_TABLE
-
-#include <mach/mach.h>
-#include <pthread.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-extern void *ffi_closure_trampoline_table_page;
-
-typedef struct ffi_trampoline_table ffi_trampoline_table;
-typedef struct ffi_trampoline_table_entry ffi_trampoline_table_entry;
-
-struct ffi_trampoline_table {
- /* contigious writable and executable pages */
- vm_address_t config_page;
- vm_address_t trampoline_page;
-
- /* free list tracking */
- uint16_t free_count;
- ffi_trampoline_table_entry *free_list;
- ffi_trampoline_table_entry *free_list_pool;
-
- ffi_trampoline_table *prev;
- ffi_trampoline_table *next;
-};
-
-struct ffi_trampoline_table_entry {
- void *(*trampoline)();
- ffi_trampoline_table_entry *next;
-};
-
-/* Override the standard architecture trampoline size */
-// XXX TODO - Fix
-#undef FFI_TRAMPOLINE_SIZE
-#define FFI_TRAMPOLINE_SIZE 12
-
-/* The trampoline configuration is placed at 4080 bytes prior to the trampoline's entry point */
-#define FFI_TRAMPOLINE_CODELOC_CONFIG(codeloc) ((void **) (((uint8_t *) codeloc) - 4080));
-
-/* The first 16 bytes of the config page are unused, as they are unaddressable from the trampoline page. */
-#define FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET 16
-
-/* Total number of trampolines that fit in one trampoline table */
-#define FFI_TRAMPOLINE_COUNT ((PAGE_SIZE - FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET) / FFI_TRAMPOLINE_SIZE)
-
-static pthread_mutex_t ffi_trampoline_lock = PTHREAD_MUTEX_INITIALIZER;
-static ffi_trampoline_table *ffi_trampoline_tables = NULL;
-
-static ffi_trampoline_table *
-ffi_trampoline_table_alloc ()
-{
- ffi_trampoline_table *table = NULL;
-
- /* Loop until we can allocate two contigious pages */
- while (table == NULL) {
- vm_address_t config_page = 0x0;
- kern_return_t kt;
-
- /* Try to allocate two pages */
- kt = vm_allocate (mach_task_self (), &config_page, PAGE_SIZE*2, VM_FLAGS_ANYWHERE);
- if (kt != KERN_SUCCESS) {
- fprintf(stderr, "vm_allocate() failure: %d at %s:%d\n", kt, __FILE__, __LINE__);
- break;
- }
-
- /* Now drop the second half of the allocation to make room for the trampoline table */
- vm_address_t trampoline_page = config_page+PAGE_SIZE;
- kt = vm_deallocate (mach_task_self (), trampoline_page, PAGE_SIZE);
- if (kt != KERN_SUCCESS) {
- fprintf(stderr, "vm_deallocate() failure: %d at %s:%d\n", kt, __FILE__, __LINE__);
- break;
- }
-
- /* Remap the trampoline table to directly follow the config page */
- vm_prot_t cur_prot;
- vm_prot_t max_prot;
-
- kt = vm_remap (mach_task_self (), &trampoline_page, PAGE_SIZE, 0x0, FALSE, mach_task_self (), (vm_address_t) &ffi_closure_trampoline_table_page, FALSE, &cur_prot, &max_prot, VM_INHERIT_SHARE);
-
- /* If we lost access to the destination trampoline page, drop our config allocation mapping and retry */
- if (kt != KERN_SUCCESS) {
- /* Log unexpected failures */
- if (kt != KERN_NO_SPACE) {
- fprintf(stderr, "vm_remap() failure: %d at %s:%d\n", kt, __FILE__, __LINE__);
- }
-
- vm_deallocate (mach_task_self (), config_page, PAGE_SIZE);
- continue;
- }
-
- /* We have valid trampoline and config pages */
- table = calloc (1, sizeof(ffi_trampoline_table));
- table->free_count = FFI_TRAMPOLINE_COUNT;
- table->config_page = config_page;
- table->trampoline_page = trampoline_page;
-
- /* Create and initialize the free list */
- table->free_list_pool = calloc(FFI_TRAMPOLINE_COUNT, sizeof(ffi_trampoline_table_entry));
-
- uint16_t i;
- for (i = 0; i < table->free_count; i++) {
- ffi_trampoline_table_entry *entry = &table->free_list_pool[i];
- entry->trampoline = (void *) (table->trampoline_page + (i * FFI_TRAMPOLINE_SIZE));
-
- if (i < table->free_count - 1)
- entry->next = &table->free_list_pool[i+1];
- }
-
- table->free_list = table->free_list_pool;
- }
-
- return table;
-}
-
-void *
-ffi_closure_alloc (size_t size, void **code)
-{
- /* Create the closure */
- ffi_closure *closure = malloc(size);
- if (closure == NULL)
- return NULL;
-
- pthread_mutex_lock(&ffi_trampoline_lock);
-
- /* Check for an active trampoline table with available entries. */
- ffi_trampoline_table *table = ffi_trampoline_tables;
- if (table == NULL || table->free_list == NULL) {
- table = ffi_trampoline_table_alloc ();
- if (table == NULL) {
- free(closure);
- return NULL;
- }
-
- /* Insert the new table at the top of the list */
- table->next = ffi_trampoline_tables;
- if (table->next != NULL)
- table->next->prev = table;
-
- ffi_trampoline_tables = table;
- }
-
- /* Claim the free entry */
- ffi_trampoline_table_entry *entry = ffi_trampoline_tables->free_list;
- ffi_trampoline_tables->free_list = entry->next;
- ffi_trampoline_tables->free_count--;
- entry->next = NULL;
-
- pthread_mutex_unlock(&ffi_trampoline_lock);
-
- /* Initialize the return values */
- *code = entry->trampoline;
- closure->trampoline_table = table;
- closure->trampoline_table_entry = entry;
-
- return closure;
-}
-
-void
-ffi_closure_free (void *ptr)
-{
- ffi_closure *closure = ptr;
-
- pthread_mutex_lock(&ffi_trampoline_lock);
-
- /* Fetch the table and entry references */
- ffi_trampoline_table *table = closure->trampoline_table;
- ffi_trampoline_table_entry *entry = closure->trampoline_table_entry;
-
- /* Return the entry to the free list */
- entry->next = table->free_list;
- table->free_list = entry;
- table->free_count++;
-
- /* If all trampolines within this table are free, and at least one other table exists, deallocate
- * the table */
- if (table->free_count == FFI_TRAMPOLINE_COUNT && ffi_trampoline_tables != table) {
- /* Remove from the list */
- if (table->prev != NULL)
- table->prev->next = table->next;
-
- if (table->next != NULL)
- table->next->prev = table->prev;
-
- /* Deallocate pages */
- kern_return_t kt;
- kt = vm_deallocate (mach_task_self (), table->config_page, PAGE_SIZE);
- if (kt != KERN_SUCCESS)
- fprintf(stderr, "vm_deallocate() failure: %d at %s:%d\n", kt, __FILE__, __LINE__);
-
- kt = vm_deallocate (mach_task_self (), table->trampoline_page, PAGE_SIZE);
- if (kt != KERN_SUCCESS)
- fprintf(stderr, "vm_deallocate() failure: %d at %s:%d\n", kt, __FILE__, __LINE__);
-
- /* Deallocate free list */
- free (table->free_list_pool);
- free (table);
- } else if (ffi_trampoline_tables != table) {
- /* Otherwise, bump this table to the top of the list */
- table->prev = NULL;
- table->next = ffi_trampoline_tables;
- if (ffi_trampoline_tables != NULL)
- ffi_trampoline_tables->prev = table;
-
- ffi_trampoline_tables = table;
- }
-
- pthread_mutex_unlock (&ffi_trampoline_lock);
-
- /* Free the closure */
- free (closure);
-}
-
-#else
-
-#define FFI_INIT_TRAMPOLINE(TRAMP,FUN,CTX) \
-({ unsigned char *__tramp = (unsigned char*)(TRAMP); \
- unsigned int __fun = (unsigned int)(FUN); \
- unsigned int __ctx = (unsigned int)(CTX); \
- unsigned char *insns = (unsigned char *)(CTX); \
- memcpy (__tramp, ffi_arm_trampoline, sizeof ffi_arm_trampoline); \
- *(unsigned int*) &__tramp[12] = __ctx; \
- *(unsigned int*) &__tramp[16] = __fun; \
- __clear_cache((&__tramp[0]), (&__tramp[19])); /* Clear data mapping. */ \
- __clear_cache(insns, insns + 3 * sizeof (unsigned int)); \
- /* Clear instruction \
- mapping. */ \
- })
-
-#endif
-
-/* the cif must already be prep'ed */
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure* closure,
- ffi_cif* cif,
- void (*fun)(ffi_cif*,void*,void**,void*),
- void *user_data,
- void *codeloc)
-{
- void (*closure_func)(ffi_closure*) = NULL;
-
- if (cif->abi == FFI_SYSV)
- closure_func = &ffi_closure_SYSV;
- else if (cif->abi == FFI_VFP)
- closure_func = &ffi_closure_VFP;
- else
- FFI_ASSERT (0);
-
-#if FFI_EXEC_TRAMPOLINE_TABLE
- void **config = FFI_TRAMPOLINE_CODELOC_CONFIG(codeloc);
- config[0] = closure;
- config[1] = closure_func;
-#else
- FFI_INIT_TRAMPOLINE (&closure->tramp[0], \
- closure_func, \
- codeloc);
-#endif
-
- closure->cif = cif;
- closure->user_data = user_data;
- closure->fun = fun;
-
- return FFI_OK;
-}
-
-/* Below are routines for VFP hard-float support. */
-
-static int rec_vfp_type_p (ffi_type *t, int *elt, int *elnum)
-{
- switch (t->type)
- {
- case FFI_TYPE_FLOAT:
- case FFI_TYPE_DOUBLE:
- *elt = (int) t->type;
- *elnum = 1;
- return 1;
-
- case FFI_TYPE_STRUCT_VFP_FLOAT:
- *elt = FFI_TYPE_FLOAT;
- *elnum = t->size / sizeof (float);
- return 1;
-
- case FFI_TYPE_STRUCT_VFP_DOUBLE:
- *elt = FFI_TYPE_DOUBLE;
- *elnum = t->size / sizeof (double);
- return 1;
-
- case FFI_TYPE_STRUCT:;
- {
- int base_elt = 0, total_elnum = 0;
- ffi_type **el = t->elements;
- while (*el)
- {
- int el_elt = 0, el_elnum = 0;
- if (! rec_vfp_type_p (*el, &el_elt, &el_elnum)
- || (base_elt && base_elt != el_elt)
- || total_elnum + el_elnum > 4)
- return 0;
- base_elt = el_elt;
- total_elnum += el_elnum;
- el++;
- }
- *elnum = total_elnum;
- *elt = base_elt;
- return 1;
- }
- default: ;
- }
- return 0;
-}
-
-static int vfp_type_p (ffi_type *t)
-{
- int elt, elnum;
- if (rec_vfp_type_p (t, &elt, &elnum))
- {
- if (t->type == FFI_TYPE_STRUCT)
- {
- if (elnum == 1)
- t->type = elt;
- else
- t->type = (elt == FFI_TYPE_FLOAT
- ? FFI_TYPE_STRUCT_VFP_FLOAT
- : FFI_TYPE_STRUCT_VFP_DOUBLE);
- }
- return (int) t->type;
- }
- return 0;
-}
-
-static void place_vfp_arg (ffi_cif *cif, ffi_type *t)
-{
- int reg = cif->vfp_reg_free;
- int nregs = t->size / sizeof (float);
- int align = ((t->type == FFI_TYPE_STRUCT_VFP_FLOAT
- || t->type == FFI_TYPE_FLOAT) ? 1 : 2);
- /* Align register number. */
- if ((reg & 1) && align == 2)
- reg++;
- while (reg + nregs <= 16)
- {
- int s, new_used = 0;
- for (s = reg; s < reg + nregs; s++)
- {
- new_used |= (1 << s);
- if (cif->vfp_used & (1 << s))
- {
- reg += align;
- goto next_reg;
- }
- }
- /* Found regs to allocate. */
- cif->vfp_used |= new_used;
- cif->vfp_args[cif->vfp_nargs++] = reg;
-
- /* Update vfp_reg_free. */
- if (cif->vfp_used & (1 << cif->vfp_reg_free))
- {
- reg += nregs;
- while (cif->vfp_used & (1 << reg))
- reg += 1;
- cif->vfp_reg_free = reg;
- }
- return;
- next_reg: ;
- }
-}
-
-static void layout_vfp_args (ffi_cif *cif)
-{
- int i;
- /* Init VFP fields */
- cif->vfp_used = 0;
- cif->vfp_nargs = 0;
- cif->vfp_reg_free = 0;
- memset (cif->vfp_args, -1, 16); /* Init to -1. */
-
- for (i = 0; i < cif->nargs; i++)
- {
- ffi_type *t = cif->arg_types[i];
- if (vfp_type_p (t))
- place_vfp_arg (cif, t);
- }
-}
diff --git a/.pc/bad-abi-fix/src/avr32/ffi.c b/.pc/bad-abi-fix/src/avr32/ffi.c
deleted file mode 100644
index 39fba2b..0000000
--- a/.pc/bad-abi-fix/src/avr32/ffi.c
+++ /dev/null
@@ -1,421 +0,0 @@
-/* -----------------------------------------------------------------------
- ffi.c - Copyright (c) 2009 Bradley Smith <brad@brad-smith.co.uk>
-
- AVR32 Foreign Function Interface
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
- ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <unistd.h>
-#include <asm/unistd.h>
-
-/* #define DEBUG */
-
-extern void ffi_call_SYSV(void (*)(char *, extended_cif *), extended_cif *,
- unsigned int, unsigned int, unsigned int*, unsigned int,
- void (*fn)(void));
-extern void ffi_closure_SYSV (ffi_closure *);
-
-unsigned int pass_struct_on_stack(ffi_type *type)
-{
- if(type->type != FFI_TYPE_STRUCT)
- return 0;
-
- if(type->alignment < type->size &&
- !(type->size == 4 || type->size == 8) &&
- !(type->size == 8 && type->alignment >= 4))
- return 1;
-
- if(type->size == 3 || type->size == 5 || type->size == 6 ||
- type->size == 7)
- return 1;
-
- return 0;
-}
-
-/* ffi_prep_args is called by the assembly routine once stack space
- * has been allocated for the function's arguments
- *
- * This is annoyingly complex since we need to keep track of used
- * registers.
- */
-
-void ffi_prep_args(char *stack, extended_cif *ecif)
-{
- unsigned int i;
- void **p_argv;
- ffi_type **p_arg;
- char *reg_base = stack;
- char *stack_base = stack + 20;
- unsigned int stack_offset = 0;
- unsigned int reg_mask = 0;
-
- p_argv = ecif->avalue;
-
- /* If cif->flags is struct then we know it's not passed in registers */
- if(ecif->cif->flags == FFI_TYPE_STRUCT)
- {
- *(void**)reg_base = ecif->rvalue;
- reg_mask |= 1;
- }
-
- for(i = 0, p_arg = ecif->cif->arg_types; i < ecif->cif->nargs;
- i++, p_arg++)
- {
- size_t z = (*p_arg)->size;
- int alignment = (*p_arg)->alignment;
- int type = (*p_arg)->type;
- char *addr = 0;
-
- if(z % 4 != 0)
- z += (4 - z % 4);
-
- if(reg_mask != 0x1f)
- {
- if(pass_struct_on_stack(*p_arg))
- {
- addr = stack_base + stack_offset;
- stack_offset += z;
- }
- else if(z == sizeof(int))
- {
- char index = 0;
-
- while((reg_mask >> index) & 1)
- index++;
-
- addr = reg_base + (index * 4);
- reg_mask |= (1 << index);
- }
- else if(z == 2 * sizeof(int))
- {
- if(!((reg_mask >> 1) & 1))
- {
- addr = reg_base + 4;
- reg_mask |= (3 << 1);
- }
- else if(!((reg_mask >> 3) & 1))
- {
- addr = reg_base + 12;
- reg_mask |= (3 << 3);
- }
- }
- }
-
- if(!addr)
- {
- addr = stack_base + stack_offset;
- stack_offset += z;
- }
-
- if(type == FFI_TYPE_STRUCT && (*p_arg)->elements[1] == NULL)
- type = (*p_arg)->elements[0]->type;
-
- switch(type)
- {
- case FFI_TYPE_UINT8:
- *(unsigned int *)addr = (unsigned int)*(UINT8 *)(*p_argv);
- break;
- case FFI_TYPE_SINT8:
- *(signed int *)addr = (signed int)*(SINT8 *)(*p_argv);
- break;
- case FFI_TYPE_UINT16:
- *(unsigned int *)addr = (unsigned int)*(UINT16 *)(*p_argv);
- break;
- case FFI_TYPE_SINT16:
- *(signed int *)addr = (signed int)*(SINT16 *)(*p_argv);
- break;
- default:
- memcpy(addr, *p_argv, z);
- }
-
- p_argv++;
- }
-
-#ifdef DEBUG
- /* Debugging */
- for(i = 0; i < 5; i++)
- {
- if((reg_mask & (1 << i)) == 0)
- printf("r%d: (unused)\n", 12 - i);
- else
- printf("r%d: 0x%08x\n", 12 - i, ((unsigned int*)reg_base)[i]);
- }
-
- for(i = 0; i < stack_offset / 4; i++)
- {
- printf("sp+%d: 0x%08x\n", i*4, ((unsigned int*)stack_base)[i]);
- }
-#endif
-}
-
-/* Perform machine dependent cif processing */
-ffi_status ffi_prep_cif_machdep(ffi_cif *cif)
-{
- /* Round the stack up to a multiple of 8 bytes. This isn't needed
- * everywhere, but it is on some platforms, and it doesn't harm
- * anything when it isn't needed. */
- cif->bytes = (cif->bytes + 7) & ~7;
-
- /* Flag to indicate that he return value is in fact a struct */
- cif->rstruct_flag = 0;
-
- /* Set the return type flag */
- switch(cif->rtype->type)
- {
- case FFI_TYPE_SINT8:
- case FFI_TYPE_UINT8:
- cif->flags = (unsigned)FFI_TYPE_UINT8;
- break;
- case FFI_TYPE_SINT16:
- case FFI_TYPE_UINT16:
- cif->flags = (unsigned)FFI_TYPE_UINT16;
- break;
- case FFI_TYPE_FLOAT:
- case FFI_TYPE_SINT32:
- case FFI_TYPE_UINT32:
- case FFI_TYPE_POINTER:
- cif->flags = (unsigned)FFI_TYPE_UINT32;
- break;
- case FFI_TYPE_DOUBLE:
- case FFI_TYPE_SINT64:
- case FFI_TYPE_UINT64:
- cif->flags = (unsigned)FFI_TYPE_UINT64;
- break;
- case FFI_TYPE_STRUCT:
- cif->rstruct_flag = 1;
- if(!pass_struct_on_stack(cif->rtype))
- {
- if(cif->rtype->size <= 1)
- cif->flags = (unsigned)FFI_TYPE_UINT8;
- else if(cif->rtype->size <= 2)
- cif->flags = (unsigned)FFI_TYPE_UINT16;
- else if(cif->rtype->size <= 4)
- cif->flags = (unsigned)FFI_TYPE_UINT32;
- else if(cif->rtype->size <= 8)
- cif->flags = (unsigned)FFI_TYPE_UINT64;
- else
- cif->flags = (unsigned)cif->rtype->type;
- }
- else
- cif->flags = (unsigned)cif->rtype->type;
- break;
- default:
- cif->flags = (unsigned)cif->rtype->type;
- break;
- }
-
- return FFI_OK;
-}
-
-void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
-{
- extended_cif ecif;
-
- unsigned int size = 0, i = 0;
- ffi_type **p_arg;
-
- ecif.cif = cif;
- ecif.avalue = avalue;
-
- for(i = 0, p_arg = cif->arg_types; i < cif->nargs; i++, p_arg++)
- size += (*p_arg)->size + (4 - (*p_arg)->size % 4);
-
- /* If the return value is a struct and we don't have a return value
- * address then we need to make one */
-
- /* If cif->flags is struct then it's not suitable for registers */
- if((rvalue == NULL) && (cif->flags == FFI_TYPE_STRUCT))
- ecif.rvalue = alloca(cif->rtype->size);
- else
- ecif.rvalue = rvalue;
-
- switch(cif->abi)
- {
- case FFI_SYSV:
- ffi_call_SYSV(ffi_prep_args, &ecif, size, cif->flags,
- ecif.rvalue, cif->rstruct_flag, fn);
- break;
- default:
- FFI_ASSERT(0);
- break;
- }
-}
-
-static void ffi_prep_incoming_args_SYSV(char *stack, void **rvalue,
- void **avalue, ffi_cif *cif)
-{
- register unsigned int i, reg_mask = 0;
- register void **p_argv;
- register ffi_type **p_arg;
- register char *reg_base = stack;
- register char *stack_base = stack + 20;
- register unsigned int stack_offset = 0;
-
-#ifdef DEBUG
- /* Debugging */
- for(i = 0; i < cif->nargs + 7; i++)
- {
- printf("sp+%d: 0x%08x\n", i*4, ((unsigned int*)stack)[i]);
- }
-#endif
-
- /* If cif->flags is struct then we know it's not passed in registers */
- if(cif->flags == FFI_TYPE_STRUCT)
- {
- *rvalue = *(void **)reg_base;
- reg_mask |= 1;
- }
-
- p_argv = avalue;
-
- for(i = 0, p_arg = cif->arg_types; i < cif->nargs; i++, p_arg++)
- {
- size_t z = (*p_arg)->size;
- int alignment = (*p_arg)->alignment;
-
- *p_argv = 0;
-
- if(z % 4 != 0)
- z += (4 - z % 4);
-
- if(reg_mask != 0x1f)
- {
- if(pass_struct_on_stack(*p_arg))
- {
- *p_argv = (void*)stack_base + stack_offset;
- stack_offset += z;
- }
- else if(z <= sizeof(int))
- {
- char index = 0;
-
- while((reg_mask >> index) & 1)
- index++;
-
- *p_argv = (void*)reg_base + (index * 4);
- reg_mask |= (1 << index);
- }
- else if(z == 2 * sizeof(int))
- {
- if(!((reg_mask >> 1) & 1))
- {
- *p_argv = (void*)reg_base + 4;
- reg_mask |= (3 << 1);
- }
- else if(!((reg_mask >> 3) & 1))
- {
- *p_argv = (void*)reg_base + 12;
- reg_mask |= (3 << 3);
- }
- }
- }
-
- if(!*p_argv)
- {
- *p_argv = (void*)stack_base + stack_offset;
- stack_offset += z;
- }
-
- if((*p_arg)->type != FFI_TYPE_STRUCT ||
- (*p_arg)->elements[1] == NULL)
- {
- if(alignment == 1)
- **(unsigned int**)p_argv <<= 24;
- else if(alignment == 2)
- **(unsigned int**)p_argv <<= 16;
- }
-
- p_argv++;
- }
-
-#ifdef DEBUG
- /* Debugging */
- for(i = 0; i < cif->nargs; i++)
- {
- printf("sp+%d: 0x%08x\n", i*4, *(((unsigned int**)avalue)[i]));
- }
-#endif
-}
-
-/* This function is jumped to by the trampoline */
-
-unsigned int ffi_closure_SYSV_inner(ffi_closure *closure, void **respp,
- void *args)
-{
- ffi_cif *cif;
- void **arg_area;
- unsigned int i, size = 0;
- ffi_type **p_arg;
-
- cif = closure->cif;
-
- for(i = 0, p_arg = cif->arg_types; i < cif->nargs; i++, p_arg++)
- size += (*p_arg)->size + (4 - (*p_arg)->size % 4);
-
- arg_area = (void **)alloca(size);
-
- /* this call will initialize ARG_AREA, such that each element in that
- * array points to the corresponding value on the stack; and if the
- * function returns a structure, it will re-set RESP to point to the
- * structure return address. */
-
- ffi_prep_incoming_args_SYSV(args, respp, arg_area, cif);
-
- (closure->fun)(cif, *respp, arg_area, closure->user_data);
-
- return cif->flags;
-}
-
-ffi_status ffi_prep_closure_loc(ffi_closure* closure, ffi_cif* cif,
- void (*fun)(ffi_cif*, void*, void**, void*), void *user_data,
- void *codeloc)
-{
- FFI_ASSERT(cif->abi == FFI_SYSV);
-
- unsigned char *__tramp = (unsigned char*)(&closure->tramp[0]);
- unsigned int __fun = (unsigned int)(&ffi_closure_SYSV);
- unsigned int __ctx = (unsigned int)(codeloc);
- unsigned int __rstruct_flag = (unsigned int)(cif->rstruct_flag);
- unsigned int __inner = (unsigned int)(&ffi_closure_SYSV_inner);
- *(unsigned int*) &__tramp[0] = 0xebcd1f00; /* pushm r8-r12 */
- *(unsigned int*) &__tramp[4] = 0xfefc0010; /* ld.w r12, pc[16] */
- *(unsigned int*) &__tramp[8] = 0xfefb0010; /* ld.w r11, pc[16] */
- *(unsigned int*) &__tramp[12] = 0xfefa0010; /* ld.w r10, pc[16] */
- *(unsigned int*) &__tramp[16] = 0xfeff0010; /* ld.w pc, pc[16] */
- *(unsigned int*) &__tramp[20] = __ctx;
- *(unsigned int*) &__tramp[24] = __rstruct_flag;
- *(unsigned int*) &__tramp[28] = __inner;
- *(unsigned int*) &__tramp[32] = __fun;
- syscall(__NR_cacheflush, 0, (&__tramp[0]), 36);
-
- closure->cif = cif;
- closure->user_data = user_data;
- closure->fun = fun;
-
- return FFI_OK;
-}
-
diff --git a/.pc/bad-abi-fix/src/ia64/ffi.c b/.pc/bad-abi-fix/src/ia64/ffi.c
deleted file mode 100644
index 79e29b4..0000000
--- a/.pc/bad-abi-fix/src/ia64/ffi.c
+++ /dev/null
@@ -1,584 +0,0 @@
-/* -----------------------------------------------------------------------
- ffi.c - Copyright (c) 1998, 2007, 2008, 2012 Red Hat, Inc.
- Copyright (c) 2000 Hewlett Packard Company
-
- IA64 Foreign Function Interface
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
- ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#include <stdlib.h>
-#include <stdbool.h>
-#include <float.h>
-
-#include "ia64_flags.h"
-
-/* A 64-bit pointer value. In LP64 mode, this is effectively a plain
- pointer. In ILP32 mode, it's a pointer that's been extended to
- 64 bits by "addp4". */
-typedef void *PTR64 __attribute__((mode(DI)));
-
-/* Memory image of fp register contents. This is the implementation
- specific format used by ldf.fill/stf.spill. All we care about is
- that it wants a 16 byte aligned slot. */
-typedef struct
-{
- UINT64 x[2] __attribute__((aligned(16)));
-} fpreg;
-
-
-/* The stack layout given to ffi_call_unix and ffi_closure_unix_inner. */
-
-struct ia64_args
-{
- fpreg fp_regs[8]; /* Contents of 8 fp arg registers. */
- UINT64 gp_regs[8]; /* Contents of 8 gp arg registers. */
- UINT64 other_args[]; /* Arguments passed on stack, variable size. */
-};
-
-
-/* Adjust ADDR, a pointer to an 8 byte slot, to point to the low LEN bytes. */
-
-static inline void *
-endian_adjust (void *addr, size_t len)
-{
-#ifdef __BIG_ENDIAN__
- return addr + (8 - len);
-#else
- return addr;
-#endif
-}
-
-/* Store VALUE to ADDR in the current cpu implementation's fp spill format.
- This is a macro instead of a function, so that it works for all 3 floating
- point types without type conversions. Type conversion to long double breaks
- the denorm support. */
-
-#define stf_spill(addr, value) \
- asm ("stf.spill %0 = %1%P0" : "=m" (*addr) : "f"(value));
-
-/* Load a value from ADDR, which is in the current cpu implementation's
- fp spill format. As above, this must also be a macro. */
-
-#define ldf_fill(result, addr) \
- asm ("ldf.fill %0 = %1%P1" : "=f"(result) : "m"(*addr));
-
-/* Return the size of the C type associated with with TYPE. Which will
- be one of the FFI_IA64_TYPE_HFA_* values. */
-
-static size_t
-hfa_type_size (int type)
-{
- switch (type)
- {
- case FFI_IA64_TYPE_HFA_FLOAT:
- return sizeof(float);
- case FFI_IA64_TYPE_HFA_DOUBLE:
- return sizeof(double);
- case FFI_IA64_TYPE_HFA_LDOUBLE:
- return sizeof(__float80);
- default:
- abort ();
- }
-}
-
-/* Load from ADDR a value indicated by TYPE. Which will be one of
- the FFI_IA64_TYPE_HFA_* values. */
-
-static void
-hfa_type_load (fpreg *fpaddr, int type, void *addr)
-{
- switch (type)
- {
- case FFI_IA64_TYPE_HFA_FLOAT:
- stf_spill (fpaddr, *(float *) addr);
- return;
- case FFI_IA64_TYPE_HFA_DOUBLE:
- stf_spill (fpaddr, *(double *) addr);
- return;
- case FFI_IA64_TYPE_HFA_LDOUBLE:
- stf_spill (fpaddr, *(__float80 *) addr);
- return;
- default:
- abort ();
- }
-}
-
-/* Load VALUE into ADDR as indicated by TYPE. Which will be one of
- the FFI_IA64_TYPE_HFA_* values. */
-
-static void
-hfa_type_store (int type, void *addr, fpreg *fpaddr)
-{
- switch (type)
- {
- case FFI_IA64_TYPE_HFA_FLOAT:
- {
- float result;
- ldf_fill (result, fpaddr);
- *(float *) addr = result;
- break;
- }
- case FFI_IA64_TYPE_HFA_DOUBLE:
- {
- double result;
- ldf_fill (result, fpaddr);
- *(double *) addr = result;
- break;
- }
- case FFI_IA64_TYPE_HFA_LDOUBLE:
- {
- __float80 result;
- ldf_fill (result, fpaddr);
- *(__float80 *) addr = result;
- break;
- }
- default:
- abort ();
- }
-}
-
-/* Is TYPE a struct containing floats, doubles, or extended doubles,
- all of the same fp type? If so, return the element type. Return
- FFI_TYPE_VOID if not. */
-
-static int
-hfa_element_type (ffi_type *type, int nested)
-{
- int element = FFI_TYPE_VOID;
-
- switch (type->type)
- {
- case FFI_TYPE_FLOAT:
- /* We want to return VOID for raw floating-point types, but the
- synthetic HFA type if we're nested within an aggregate. */
- if (nested)
- element = FFI_IA64_TYPE_HFA_FLOAT;
- break;
-
- case FFI_TYPE_DOUBLE:
- /* Similarly. */
- if (nested)
- element = FFI_IA64_TYPE_HFA_DOUBLE;
- break;
-
- case FFI_TYPE_LONGDOUBLE:
- /* Similarly, except that that HFA is true for double extended,
- but not quad precision. Both have sizeof == 16, so tell the
- difference based on the precision. */
- if (LDBL_MANT_DIG == 64 && nested)
- element = FFI_IA64_TYPE_HFA_LDOUBLE;
- break;
-
- case FFI_TYPE_STRUCT:
- {
- ffi_type **ptr = &type->elements[0];
-
- for (ptr = &type->elements[0]; *ptr ; ptr++)
- {
- int sub_element = hfa_element_type (*ptr, 1);
- if (sub_element == FFI_TYPE_VOID)
- return FFI_TYPE_VOID;
-
- if (element == FFI_TYPE_VOID)
- element = sub_element;
- else if (element != sub_element)
- return FFI_TYPE_VOID;
- }
- }
- break;
-
- default:
- return FFI_TYPE_VOID;
- }
-
- return element;
-}
-
-
-/* Perform machine dependent cif processing. */
-
-ffi_status
-ffi_prep_cif_machdep(ffi_cif *cif)
-{
- int flags;
-
- /* Adjust cif->bytes to include space for the bits of the ia64_args frame
- that precedes the integer register portion. The estimate that the
- generic bits did for the argument space required is good enough for the
- integer component. */
- cif->bytes += offsetof(struct ia64_args, gp_regs[0]);
- if (cif->bytes < sizeof(struct ia64_args))
- cif->bytes = sizeof(struct ia64_args);
-
- /* Set the return type flag. */
- flags = cif->rtype->type;
- switch (cif->rtype->type)
- {
- case FFI_TYPE_LONGDOUBLE:
- /* Leave FFI_TYPE_LONGDOUBLE as meaning double extended precision,
- and encode quad precision as a two-word integer structure. */
- if (LDBL_MANT_DIG != 64)
- flags = FFI_IA64_TYPE_SMALL_STRUCT | (16 << 8);
- break;
-
- case FFI_TYPE_STRUCT:
- {
- size_t size = cif->rtype->size;
- int hfa_type = hfa_element_type (cif->rtype, 0);
-
- if (hfa_type != FFI_TYPE_VOID)
- {
- size_t nelts = size / hfa_type_size (hfa_type);
- if (nelts <= 8)
- flags = hfa_type | (size << 8);
- }
- else
- {
- if (size <= 32)
- flags = FFI_IA64_TYPE_SMALL_STRUCT | (size << 8);
- }
- }
- break;
-
- default:
- break;
- }
- cif->flags = flags;
-
- return FFI_OK;
-}
-
-extern int ffi_call_unix (struct ia64_args *, PTR64, void (*)(void), UINT64);
-
-void
-ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
-{
- struct ia64_args *stack;
- long i, avn, gpcount, fpcount;
- ffi_type **p_arg;
-
- FFI_ASSERT (cif->abi == FFI_UNIX);
-
- /* If we have no spot for a return value, make one. */
- if (rvalue == NULL && cif->rtype->type != FFI_TYPE_VOID)
- rvalue = alloca (cif->rtype->size);
-
- /* Allocate the stack frame. */
- stack = alloca (cif->bytes);
-
- gpcount = fpcount = 0;
- avn = cif->nargs;
- for (i = 0, p_arg = cif->arg_types; i < avn; i++, p_arg++)
- {
- switch ((*p_arg)->type)
- {
- case FFI_TYPE_SINT8:
- stack->gp_regs[gpcount++] = *(SINT8 *)avalue[i];
- break;
- case FFI_TYPE_UINT8:
- stack->gp_regs[gpcount++] = *(UINT8 *)avalue[i];
- break;
- case FFI_TYPE_SINT16:
- stack->gp_regs[gpcount++] = *(SINT16 *)avalue[i];
- break;
- case FFI_TYPE_UINT16:
- stack->gp_regs[gpcount++] = *(UINT16 *)avalue[i];
- break;
- case FFI_TYPE_SINT32:
- stack->gp_regs[gpcount++] = *(SINT32 *)avalue[i];
- break;
- case FFI_TYPE_UINT32:
- stack->gp_regs[gpcount++] = *(UINT32 *)avalue[i];
- break;
- case FFI_TYPE_SINT64:
- case FFI_TYPE_UINT64:
- stack->gp_regs[gpcount++] = *(UINT64 *)avalue[i];
- break;
-
- case FFI_TYPE_POINTER:
- stack->gp_regs[gpcount++] = (UINT64)(PTR64) *(void **)avalue[i];
- break;
-
- case FFI_TYPE_FLOAT:
- if (gpcount < 8 && fpcount < 8)
- stf_spill (&stack->fp_regs[fpcount++], *(float *)avalue[i]);
- {
- UINT32 tmp;
- memcpy (&tmp, avalue[i], sizeof (UINT32));
- stack->gp_regs[gpcount++] = tmp;
- }
- break;
-
- case FFI_TYPE_DOUBLE:
- if (gpcount < 8 && fpcount < 8)
- stf_spill (&stack->fp_regs[fpcount++], *(double *)avalue[i]);
- memcpy (&stack->gp_regs[gpcount++], avalue[i], sizeof (UINT64));
- break;
-
- case FFI_TYPE_LONGDOUBLE:
- if (gpcount & 1)
- gpcount++;
- if (LDBL_MANT_DIG == 64 && gpcount < 8 && fpcount < 8)
- stf_spill (&stack->fp_regs[fpcount++], *(__float80 *)avalue[i]);
- memcpy (&stack->gp_regs[gpcount], avalue[i], 16);
- gpcount += 2;
- break;
-
- case FFI_TYPE_STRUCT:
- {
- size_t size = (*p_arg)->size;
- size_t align = (*p_arg)->alignment;
- int hfa_type = hfa_element_type (*p_arg, 0);
-
- FFI_ASSERT (align <= 16);
- if (align == 16 && (gpcount & 1))
- gpcount++;
-
- if (hfa_type != FFI_TYPE_VOID)
- {
- size_t hfa_size = hfa_type_size (hfa_type);
- size_t offset = 0;
- size_t gp_offset = gpcount * 8;
-
- while (fpcount < 8
- && offset < size
- && gp_offset < 8 * 8)
- {
- hfa_type_load (&stack->fp_regs[fpcount], hfa_type,
- avalue[i] + offset);
- offset += hfa_size;
- gp_offset += hfa_size;
- fpcount += 1;
- }
- }
-
- memcpy (&stack->gp_regs[gpcount], avalue[i], size);
- gpcount += (size + 7) / 8;
- }
- break;
-
- default:
- abort ();
- }
- }
-
- ffi_call_unix (stack, rvalue, fn, cif->flags);
-}
-
-/* Closures represent a pair consisting of a function pointer, and
- some user data. A closure is invoked by reinterpreting the closure
- as a function pointer, and branching to it. Thus we can make an
- interpreted function callable as a C function: We turn the
- interpreter itself, together with a pointer specifying the
- interpreted procedure, into a closure.
-
- For IA64, function pointer are already pairs consisting of a code
- pointer, and a gp pointer. The latter is needed to access global
- variables. Here we set up such a pair as the first two words of
- the closure (in the "trampoline" area), but we replace the gp
- pointer with a pointer to the closure itself. We also add the real
- gp pointer to the closure. This allows the function entry code to
- both retrieve the user data, and to restire the correct gp pointer. */
-
-extern void ffi_closure_unix ();
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure* closure,
- ffi_cif* cif,
- void (*fun)(ffi_cif*,void*,void**,void*),
- void *user_data,
- void *codeloc)
-{
- /* The layout of a function descriptor. A C function pointer really
- points to one of these. */
- struct ia64_fd
- {
- UINT64 code_pointer;
- UINT64 gp;
- };
-
- struct ffi_ia64_trampoline_struct
- {
- UINT64 code_pointer; /* Pointer to ffi_closure_unix. */
- UINT64 fake_gp; /* Pointer to closure, installed as gp. */
- UINT64 real_gp; /* Real gp value. */
- };
-
- struct ffi_ia64_trampoline_struct *tramp;
- struct ia64_fd *fd;
-
- FFI_ASSERT (cif->abi == FFI_UNIX);
-
- tramp = (struct ffi_ia64_trampoline_struct *)closure->tramp;
- fd = (struct ia64_fd *)(void *)ffi_closure_unix;
-
- tramp->code_pointer = fd->code_pointer;
- tramp->real_gp = fd->gp;
- tramp->fake_gp = (UINT64)(PTR64)codeloc;
- closure->cif = cif;
- closure->user_data = user_data;
- closure->fun = fun;
-
- return FFI_OK;
-}
-
-
-UINT64
-ffi_closure_unix_inner (ffi_closure *closure, struct ia64_args *stack,
- void *rvalue, void *r8)
-{
- ffi_cif *cif;
- void **avalue;
- ffi_type **p_arg;
- long i, avn, gpcount, fpcount;
-
- cif = closure->cif;
- avn = cif->nargs;
- avalue = alloca (avn * sizeof (void *));
-
- /* If the structure return value is passed in memory get that location
- from r8 so as to pass the value directly back to the caller. */
- if (cif->flags == FFI_TYPE_STRUCT)
- rvalue = r8;
-
- gpcount = fpcount = 0;
- for (i = 0, p_arg = cif->arg_types; i < avn; i++, p_arg++)
- {
- switch ((*p_arg)->type)
- {
- case FFI_TYPE_SINT8:
- case FFI_TYPE_UINT8:
- avalue[i] = endian_adjust(&stack->gp_regs[gpcount++], 1);
- break;
- case FFI_TYPE_SINT16:
- case FFI_TYPE_UINT16:
- avalue[i] = endian_adjust(&stack->gp_regs[gpcount++], 2);
- break;
- case FFI_TYPE_SINT32:
- case FFI_TYPE_UINT32:
- avalue[i] = endian_adjust(&stack->gp_regs[gpcount++], 4);
- break;
- case FFI_TYPE_SINT64:
- case FFI_TYPE_UINT64:
- avalue[i] = &stack->gp_regs[gpcount++];
- break;
- case FFI_TYPE_POINTER:
- avalue[i] = endian_adjust(&stack->gp_regs[gpcount++], sizeof(void*));
- break;
-
- case FFI_TYPE_FLOAT:
- if (gpcount < 8 && fpcount < 8)
- {
- fpreg *addr = &stack->fp_regs[fpcount++];
- float result;
- avalue[i] = addr;
- ldf_fill (result, addr);
- *(float *)addr = result;
- }
- else
- avalue[i] = endian_adjust(&stack->gp_regs[gpcount], 4);
- gpcount++;
- break;
-
- case FFI_TYPE_DOUBLE:
- if (gpcount < 8 && fpcount < 8)
- {
- fpreg *addr = &stack->fp_regs[fpcount++];
- double result;
- avalue[i] = addr;
- ldf_fill (result, addr);
- *(double *)addr = result;
- }
- else
- avalue[i] = &stack->gp_regs[gpcount];
- gpcount++;
- break;
-
- case FFI_TYPE_LONGDOUBLE:
- if (gpcount & 1)
- gpcount++;
- if (LDBL_MANT_DIG == 64 && gpcount < 8 && fpcount < 8)
- {
- fpreg *addr = &stack->fp_regs[fpcount++];
- __float80 result;
- avalue[i] = addr;
- ldf_fill (result, addr);
- *(__float80 *)addr = result;
- }
- else
- avalue[i] = &stack->gp_regs[gpcount];
- gpcount += 2;
- break;
-
- case FFI_TYPE_STRUCT:
- {
- size_t size = (*p_arg)->size;
- size_t align = (*p_arg)->alignment;
- int hfa_type = hfa_element_type (*p_arg, 0);
-
- FFI_ASSERT (align <= 16);
- if (align == 16 && (gpcount & 1))
- gpcount++;
-
- if (hfa_type != FFI_TYPE_VOID)
- {
- size_t hfa_size = hfa_type_size (hfa_type);
- size_t offset = 0;
- size_t gp_offset = gpcount * 8;
- void *addr = alloca (size);
-
- avalue[i] = addr;
-
- while (fpcount < 8
- && offset < size
- && gp_offset < 8 * 8)
- {
- hfa_type_store (hfa_type, addr + offset,
- &stack->fp_regs[fpcount]);
- offset += hfa_size;
- gp_offset += hfa_size;
- fpcount += 1;
- }
-
- if (offset < size)
- memcpy (addr + offset, (char *)stack->gp_regs + gp_offset,
- size - offset);
- }
- else
- avalue[i] = &stack->gp_regs[gpcount];
-
- gpcount += (size + 7) / 8;
- }
- break;
-
- default:
- abort ();
- }
- }
-
- closure->fun (cif, rvalue, avalue, closure->user_data);
-
- return cif->flags;
-}
diff --git a/.pc/bad-abi-fix/src/mips/ffi.c b/.pc/bad-abi-fix/src/mips/ffi.c
deleted file mode 100644
index d714cc9..0000000
--- a/.pc/bad-abi-fix/src/mips/ffi.c
+++ /dev/null
@@ -1,1029 +0,0 @@
-/* -----------------------------------------------------------------------
- ffi.c - Copyright (c) 1996, 2007, 2008 Red Hat, Inc.
- Copyright (c) 2008 David Daney
-
- MIPS Foreign Function Interface
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
- ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#include <stdlib.h>
-
-#ifdef __GNUC__
-# if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3))
-# define USE__BUILTIN___CLEAR_CACHE 1
-# endif
-#endif
-
-#ifndef USE__BUILTIN___CLEAR_CACHE
-#include <sys/cachectl.h>
-#endif
-
-#ifdef FFI_DEBUG
-# define FFI_MIPS_STOP_HERE() ffi_stop_here()
-#else
-# define FFI_MIPS_STOP_HERE() do {} while(0)
-#endif
-
-#ifdef FFI_MIPS_N32
-#define FIX_ARGP \
-FFI_ASSERT(argp <= &stack[bytes]); \
-if (argp == &stack[bytes]) \
-{ \
- argp = stack; \
- FFI_MIPS_STOP_HERE(); \
-}
-#else
-#define FIX_ARGP
-#endif
-
-
-/* ffi_prep_args is called by the assembly routine once stack space
- has been allocated for the function's arguments */
-
-static void ffi_prep_args(char *stack,
- extended_cif *ecif,
- int bytes,
- int flags)
-{
- int i;
- void **p_argv;
- char *argp;
- ffi_type **p_arg;
-
-#ifdef FFI_MIPS_N32
- /* If more than 8 double words are used, the remainder go
- on the stack. We reorder stuff on the stack here to
- support this easily. */
- if (bytes > 8 * sizeof(ffi_arg))
- argp = &stack[bytes - (8 * sizeof(ffi_arg))];
- else
- argp = stack;
-#else
- argp = stack;
-#endif
-
- memset(stack, 0, bytes);
-
-#ifdef FFI_MIPS_N32
- if ( ecif->cif->rstruct_flag != 0 )
-#else
- if ( ecif->cif->rtype->type == FFI_TYPE_STRUCT )
-#endif
- {
- *(ffi_arg *) argp = (ffi_arg) ecif->rvalue;
- argp += sizeof(ffi_arg);
- FIX_ARGP;
- }
-
- p_argv = ecif->avalue;
-
- for (i = 0, p_arg = ecif->cif->arg_types; i < ecif->cif->nargs; i++, p_arg++)
- {
- size_t z;
- unsigned int a;
-
- /* Align if necessary. */
- a = (*p_arg)->alignment;
- if (a < sizeof(ffi_arg))
- a = sizeof(ffi_arg);
-
- if ((a - 1) & (unsigned long) argp)
- {
- argp = (char *) ALIGN(argp, a);
- FIX_ARGP;
- }
-
- z = (*p_arg)->size;
- if (z <= sizeof(ffi_arg))
- {
- int type = (*p_arg)->type;
- z = sizeof(ffi_arg);
-
- /* The size of a pointer depends on the ABI */
- if (type == FFI_TYPE_POINTER)
- type = (ecif->cif->abi == FFI_N64
- || ecif->cif->abi == FFI_N64_SOFT_FLOAT)
- ? FFI_TYPE_SINT64 : FFI_TYPE_SINT32;
-
- if (i < 8 && (ecif->cif->abi == FFI_N32_SOFT_FLOAT
- || ecif->cif->abi == FFI_N64_SOFT_FLOAT))
- {
- switch (type)
- {
- case FFI_TYPE_FLOAT:
- type = FFI_TYPE_UINT32;
- break;
- case FFI_TYPE_DOUBLE:
- type = FFI_TYPE_UINT64;
- break;
- default:
- break;
- }
- }
- switch (type)
- {
- case FFI_TYPE_SINT8:
- *(ffi_arg *)argp = *(SINT8 *)(* p_argv);
- break;
-
- case FFI_TYPE_UINT8:
- *(ffi_arg *)argp = *(UINT8 *)(* p_argv);
- break;
-
- case FFI_TYPE_SINT16:
- *(ffi_arg *)argp = *(SINT16 *)(* p_argv);
- break;
-
- case FFI_TYPE_UINT16:
- *(ffi_arg *)argp = *(UINT16 *)(* p_argv);
- break;
-
- case FFI_TYPE_SINT32:
- *(ffi_arg *)argp = *(SINT32 *)(* p_argv);
- break;
-
- case FFI_TYPE_UINT32:
- *(ffi_arg *)argp = *(UINT32 *)(* p_argv);
- break;
-
- /* This can only happen with 64bit slots. */
- case FFI_TYPE_FLOAT:
- *(float *) argp = *(float *)(* p_argv);
- break;
-
- /* Handle structures. */
- default:
- memcpy(argp, *p_argv, (*p_arg)->size);
- break;
- }
- }
- else
- {
-#ifdef FFI_MIPS_O32
- memcpy(argp, *p_argv, z);
-#else
- {
- unsigned long end = (unsigned long) argp + z;
- unsigned long cap = (unsigned long) stack + bytes;
-
- /* Check if the data will fit within the register space.
- Handle it if it doesn't. */
-
- if (end <= cap)
- memcpy(argp, *p_argv, z);
- else
- {
- unsigned long portion = cap - (unsigned long)argp;
-
- memcpy(argp, *p_argv, portion);
- argp = stack;
- z -= portion;
- memcpy(argp, (void*)((unsigned long)(*p_argv) + portion),
- z);
- }
- }
-#endif
- }
- p_argv++;
- argp += z;
- FIX_ARGP;
- }
-}
-
-#ifdef FFI_MIPS_N32
-
-/* The n32 spec says that if "a chunk consists solely of a double
- float field (but not a double, which is part of a union), it
- is passed in a floating point register. Any other chunk is
- passed in an integer register". This code traverses structure
- definitions and generates the appropriate flags. */
-
-static unsigned
-calc_n32_struct_flags(int soft_float, ffi_type *arg,
- unsigned *loc, unsigned *arg_reg)
-{
- unsigned flags = 0;
- unsigned index = 0;
-
- ffi_type *e;
-
- if (soft_float)
- return 0;
-
- while ((e = arg->elements[index]))
- {
- /* Align this object. */
- *loc = ALIGN(*loc, e->alignment);
- if (e->type == FFI_TYPE_DOUBLE)
- {
- /* Already aligned to FFI_SIZEOF_ARG. */
- *arg_reg = *loc / FFI_SIZEOF_ARG;
- if (*arg_reg > 7)
- break;
- flags += (FFI_TYPE_DOUBLE << (*arg_reg * FFI_FLAG_BITS));
- *loc += e->size;
- }
- else
- *loc += e->size;
- index++;
- }
- /* Next Argument register at alignment of FFI_SIZEOF_ARG. */
- *arg_reg = ALIGN(*loc, FFI_SIZEOF_ARG) / FFI_SIZEOF_ARG;
-
- return flags;
-}
-
-static unsigned
-calc_n32_return_struct_flags(int soft_float, ffi_type *arg)
-{
- unsigned flags = 0;
- unsigned small = FFI_TYPE_SMALLSTRUCT;
- ffi_type *e;
-
- /* Returning structures under n32 is a tricky thing.
- A struct with only one or two floating point fields
- is returned in $f0 (and $f2 if necessary). Any other
- struct results at most 128 bits are returned in $2
- (the first 64 bits) and $3 (remainder, if necessary).
- Larger structs are handled normally. */
-
- if (arg->size > 16)
- return 0;
-
- if (arg->size > 8)
- small = FFI_TYPE_SMALLSTRUCT2;
-
- e = arg->elements[0];
-
- if (e->type == FFI_TYPE_DOUBLE)
- flags = FFI_TYPE_DOUBLE;
- else if (e->type == FFI_TYPE_FLOAT)
- flags = FFI_TYPE_FLOAT;
-
- if (flags && (e = arg->elements[1]))
- {
- if (e->type == FFI_TYPE_DOUBLE)
- flags += FFI_TYPE_DOUBLE << FFI_FLAG_BITS;
- else if (e->type == FFI_TYPE_FLOAT)
- flags += FFI_TYPE_FLOAT << FFI_FLAG_BITS;
- else
- return small;
-
- if (flags && (arg->elements[2]))
- {
- /* There are three arguments and the first two are
- floats! This must be passed the old way. */
- return small;
- }
- if (soft_float)
- flags += FFI_TYPE_STRUCT_SOFT;
- }
- else
- if (!flags)
- return small;
-
- return flags;
-}
-
-#endif
-
-/* Perform machine dependent cif processing */
-ffi_status ffi_prep_cif_machdep(ffi_cif *cif)
-{
- cif->flags = 0;
-
-#ifdef FFI_MIPS_O32
- /* Set the flags necessary for O32 processing. FFI_O32_SOFT_FLOAT
- * does not have special handling for floating point args.
- */
-
- if (cif->rtype->type != FFI_TYPE_STRUCT && cif->abi == FFI_O32)
- {
- if (cif->nargs > 0)
- {
- switch ((cif->arg_types)[0]->type)
- {
- case FFI_TYPE_FLOAT:
- case FFI_TYPE_DOUBLE:
- cif->flags += (cif->arg_types)[0]->type;
- break;
-
- default:
- break;
- }
-
- if (cif->nargs > 1)
- {
- /* Only handle the second argument if the first
- is a float or double. */
- if (cif->flags)
- {
- switch ((cif->arg_types)[1]->type)
- {
- case FFI_TYPE_FLOAT:
- case FFI_TYPE_DOUBLE:
- cif->flags += (cif->arg_types)[1]->type << FFI_FLAG_BITS;
- break;
-
- default:
- break;
- }
- }
- }
- }
- }
-
- /* Set the return type flag */
-
- if (cif->abi == FFI_O32_SOFT_FLOAT)
- {
- switch (cif->rtype->type)
- {
- case FFI_TYPE_VOID:
- case FFI_TYPE_STRUCT:
- cif->flags += cif->rtype->type << (FFI_FLAG_BITS * 2);
- break;
-
- case FFI_TYPE_SINT64:
- case FFI_TYPE_UINT64:
- case FFI_TYPE_DOUBLE:
- cif->flags += FFI_TYPE_UINT64 << (FFI_FLAG_BITS * 2);
- break;
-
- case FFI_TYPE_FLOAT:
- default:
- cif->flags += FFI_TYPE_INT << (FFI_FLAG_BITS * 2);
- break;
- }
- }
- else
- {
- /* FFI_O32 */
- switch (cif->rtype->type)
- {
- case FFI_TYPE_VOID:
- case FFI_TYPE_STRUCT:
- case FFI_TYPE_FLOAT:
- case FFI_TYPE_DOUBLE:
- cif->flags += cif->rtype->type << (FFI_FLAG_BITS * 2);
- break;
-
- case FFI_TYPE_SINT64:
- case FFI_TYPE_UINT64:
- cif->flags += FFI_TYPE_UINT64 << (FFI_FLAG_BITS * 2);
- break;
-
- default:
- cif->flags += FFI_TYPE_INT << (FFI_FLAG_BITS * 2);
- break;
- }
- }
-#endif
-
-#ifdef FFI_MIPS_N32
- /* Set the flags necessary for N32 processing */
- {
- int type;
- unsigned arg_reg = 0;
- unsigned loc = 0;
- unsigned count = (cif->nargs < 8) ? cif->nargs : 8;
- unsigned index = 0;
-
- unsigned struct_flags = 0;
- int soft_float = (cif->abi == FFI_N32_SOFT_FLOAT
- || cif->abi == FFI_N64_SOFT_FLOAT);
-
- if (cif->rtype->type == FFI_TYPE_STRUCT)
- {
- struct_flags = calc_n32_return_struct_flags(soft_float, cif->rtype);
-
- if (struct_flags == 0)
- {
- /* This means that the structure is being passed as
- a hidden argument */
-
- arg_reg = 1;
- count = (cif->nargs < 7) ? cif->nargs : 7;
-
- cif->rstruct_flag = !0;
- }
- else
- cif->rstruct_flag = 0;
- }
- else
- cif->rstruct_flag = 0;
-
- while (count-- > 0 && arg_reg < 8)
- {
- type = (cif->arg_types)[index]->type;
- if (soft_float)
- {
- switch (type)
- {
- case FFI_TYPE_FLOAT:
- type = FFI_TYPE_UINT32;
- break;
- case FFI_TYPE_DOUBLE:
- type = FFI_TYPE_UINT64;
- break;
- default:
- break;
- }
- }
- switch (type)
- {
- case FFI_TYPE_FLOAT:
- case FFI_TYPE_DOUBLE:
- cif->flags +=
- ((cif->arg_types)[index]->type << (arg_reg * FFI_FLAG_BITS));
- arg_reg++;
- break;
- case FFI_TYPE_LONGDOUBLE:
- /* Align it. */
- arg_reg = ALIGN(arg_reg, 2);
- /* Treat it as two adjacent doubles. */
- if (soft_float)
- {
- arg_reg += 2;
- }
- else
- {
- cif->flags +=
- (FFI_TYPE_DOUBLE << (arg_reg * FFI_FLAG_BITS));
- arg_reg++;
- cif->flags +=
- (FFI_TYPE_DOUBLE << (arg_reg * FFI_FLAG_BITS));
- arg_reg++;
- }
- break;
-
- case FFI_TYPE_STRUCT:
- loc = arg_reg * FFI_SIZEOF_ARG;
- cif->flags += calc_n32_struct_flags(soft_float,
- (cif->arg_types)[index],
- &loc, &arg_reg);
- break;
-
- default:
- arg_reg++;
- break;
- }
-
- index++;
- }
-
- /* Set the return type flag */
- switch (cif->rtype->type)
- {
- case FFI_TYPE_STRUCT:
- {
- if (struct_flags == 0)
- {
- /* The structure is returned through a hidden
- first argument. Do nothing, 'cause FFI_TYPE_VOID
- is 0 */
- }
- else
- {
- /* The structure is returned via some tricky
- mechanism */
- cif->flags += FFI_TYPE_STRUCT << (FFI_FLAG_BITS * 8);
- cif->flags += struct_flags << (4 + (FFI_FLAG_BITS * 8));
- }
- break;
- }
-
- case FFI_TYPE_VOID:
- /* Do nothing, 'cause FFI_TYPE_VOID is 0 */
- break;
-
- case FFI_TYPE_POINTER:
- if (cif->abi == FFI_N32_SOFT_FLOAT || cif->abi == FFI_N32)
- cif->flags += FFI_TYPE_SINT32 << (FFI_FLAG_BITS * 8);
- else
- cif->flags += FFI_TYPE_INT << (FFI_FLAG_BITS * 8);
- break;
-
- case FFI_TYPE_FLOAT:
- if (soft_float)
- {
- cif->flags += FFI_TYPE_SINT32 << (FFI_FLAG_BITS * 8);
- break;
- }
- /* else fall through */
- case FFI_TYPE_DOUBLE:
- if (soft_float)
- cif->flags += FFI_TYPE_INT << (FFI_FLAG_BITS * 8);
- else
- cif->flags += cif->rtype->type << (FFI_FLAG_BITS * 8);
- break;
-
- case FFI_TYPE_LONGDOUBLE:
- /* Long double is returned as if it were a struct containing
- two doubles. */
- if (soft_float)
- {
- cif->flags += FFI_TYPE_STRUCT << (FFI_FLAG_BITS * 8);
- cif->flags += FFI_TYPE_SMALLSTRUCT2 << (4 + (FFI_FLAG_BITS * 8));
- }
- else
- {
- cif->flags += FFI_TYPE_STRUCT << (FFI_FLAG_BITS * 8);
- cif->flags += (FFI_TYPE_DOUBLE
- + (FFI_TYPE_DOUBLE << FFI_FLAG_BITS))
- << (4 + (FFI_FLAG_BITS * 8));
- }
- break;
- default:
- cif->flags += FFI_TYPE_INT << (FFI_FLAG_BITS * 8);
- break;
- }
- }
-#endif
-
- return FFI_OK;
-}
-
-/* Low level routine for calling O32 functions */
-extern int ffi_call_O32(void (*)(char *, extended_cif *, int, int),
- extended_cif *, unsigned,
- unsigned, unsigned *, void (*)(void));
-
-/* Low level routine for calling N32 functions */
-extern int ffi_call_N32(void (*)(char *, extended_cif *, int, int),
- extended_cif *, unsigned,
- unsigned, void *, void (*)(void));
-
-void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
-{
- extended_cif ecif;
-
- ecif.cif = cif;
- ecif.avalue = avalue;
-
- /* If the return value is a struct and we don't have a return */
- /* value address then we need to make one */
-
- if ((rvalue == NULL) &&
- (cif->rtype->type == FFI_TYPE_STRUCT))
- ecif.rvalue = alloca(cif->rtype->size);
- else
- ecif.rvalue = rvalue;
-
- switch (cif->abi)
- {
-#ifdef FFI_MIPS_O32
- case FFI_O32:
- case FFI_O32_SOFT_FLOAT:
- ffi_call_O32(ffi_prep_args, &ecif, cif->bytes,
- cif->flags, ecif.rvalue, fn);
- break;
-#endif
-
-#ifdef FFI_MIPS_N32
- case FFI_N32:
- case FFI_N32_SOFT_FLOAT:
- case FFI_N64:
- case FFI_N64_SOFT_FLOAT:
- {
- int copy_rvalue = 0;
- int copy_offset = 0;
- char *rvalue_copy = ecif.rvalue;
- if (cif->rtype->type == FFI_TYPE_STRUCT && cif->rtype->size < 16)
- {
- /* For structures smaller than 16 bytes we clobber memory
- in 8 byte increments. Make a copy so we don't clobber
- the callers memory outside of the struct bounds. */
- rvalue_copy = alloca(16);
- copy_rvalue = 1;
- }
- else if (cif->rtype->type == FFI_TYPE_FLOAT
- && (cif->abi == FFI_N64_SOFT_FLOAT
- || cif->abi == FFI_N32_SOFT_FLOAT))
- {
- rvalue_copy = alloca (8);
- copy_rvalue = 1;
-#if defined(__MIPSEB__) || defined(_MIPSEB)
- copy_offset = 4;
-#endif
- }
- ffi_call_N32(ffi_prep_args, &ecif, cif->bytes,
- cif->flags, rvalue_copy, fn);
- if (copy_rvalue)
- memcpy(ecif.rvalue, rvalue_copy + copy_offset, cif->rtype->size);
- }
- break;
-#endif
-
- default:
- FFI_ASSERT(0);
- break;
- }
-}
-
-#if FFI_CLOSURES
-#if defined(FFI_MIPS_O32)
-extern void ffi_closure_O32(void);
-#else
-extern void ffi_closure_N32(void);
-#endif /* FFI_MIPS_O32 */
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure *closure,
- ffi_cif *cif,
- void (*fun)(ffi_cif*,void*,void**,void*),
- void *user_data,
- void *codeloc)
-{
- unsigned int *tramp = (unsigned int *) &closure->tramp[0];
- void * fn;
- char *clear_location = (char *) codeloc;
-
-#if defined(FFI_MIPS_O32)
- FFI_ASSERT(cif->abi == FFI_O32 || cif->abi == FFI_O32_SOFT_FLOAT);
- fn = ffi_closure_O32;
-#else /* FFI_MIPS_N32 */
- FFI_ASSERT(cif->abi == FFI_N32 || cif->abi == FFI_N64);
- fn = ffi_closure_N32;
-#endif /* FFI_MIPS_O32 */
-
-#if defined(FFI_MIPS_O32) || (_MIPS_SIM ==_ABIN32)
- /* lui $25,high(fn) */
- tramp[0] = 0x3c190000 | ((unsigned)fn >> 16);
- /* ori $25,low(fn) */
- tramp[1] = 0x37390000 | ((unsigned)fn & 0xffff);
- /* lui $12,high(codeloc) */
- tramp[2] = 0x3c0c0000 | ((unsigned)codeloc >> 16);
- /* jr $25 */
- tramp[3] = 0x03200008;
- /* ori $12,low(codeloc) */
- tramp[4] = 0x358c0000 | ((unsigned)codeloc & 0xffff);
-#else
- /* N64 has a somewhat larger trampoline. */
- /* lui $25,high(fn) */
- tramp[0] = 0x3c190000 | ((unsigned long)fn >> 48);
- /* lui $12,high(codeloc) */
- tramp[1] = 0x3c0c0000 | ((unsigned long)codeloc >> 48);
- /* ori $25,mid-high(fn) */
- tramp[2] = 0x37390000 | (((unsigned long)fn >> 32 ) & 0xffff);
- /* ori $12,mid-high(codeloc) */
- tramp[3] = 0x358c0000 | (((unsigned long)codeloc >> 32) & 0xffff);
- /* dsll $25,$25,16 */
- tramp[4] = 0x0019cc38;
- /* dsll $12,$12,16 */
- tramp[5] = 0x000c6438;
- /* ori $25,mid-low(fn) */
- tramp[6] = 0x37390000 | (((unsigned long)fn >> 16 ) & 0xffff);
- /* ori $12,mid-low(codeloc) */
- tramp[7] = 0x358c0000 | (((unsigned long)codeloc >> 16) & 0xffff);
- /* dsll $25,$25,16 */
- tramp[8] = 0x0019cc38;
- /* dsll $12,$12,16 */
- tramp[9] = 0x000c6438;
- /* ori $25,low(fn) */
- tramp[10] = 0x37390000 | ((unsigned long)fn & 0xffff);
- /* jr $25 */
- tramp[11] = 0x03200008;
- /* ori $12,low(codeloc) */
- tramp[12] = 0x358c0000 | ((unsigned long)codeloc & 0xffff);
-
-#endif
-
- closure->cif = cif;
- closure->fun = fun;
- closure->user_data = user_data;
-
-#ifdef USE__BUILTIN___CLEAR_CACHE
- __builtin___clear_cache(clear_location, clear_location + FFI_TRAMPOLINE_SIZE);
-#else
- cacheflush (clear_location, FFI_TRAMPOLINE_SIZE, ICACHE);
-#endif
- return FFI_OK;
-}
-
-/*
- * Decodes the arguments to a function, which will be stored on the
- * stack. AR is the pointer to the beginning of the integer arguments
- * (and, depending upon the arguments, some floating-point arguments
- * as well). FPR is a pointer to the area where floating point
- * registers have been saved, if any.
- *
- * RVALUE is the location where the function return value will be
- * stored. CLOSURE is the prepared closure to invoke.
- *
- * This function should only be called from assembly, which is in
- * turn called from a trampoline.
- *
- * Returns the function return type.
- *
- * Based on the similar routine for sparc.
- */
-int
-ffi_closure_mips_inner_O32 (ffi_closure *closure,
- void *rvalue, ffi_arg *ar,
- double *fpr)
-{
- ffi_cif *cif;
- void **avaluep;
- ffi_arg *avalue;
- ffi_type **arg_types;
- int i, avn, argn, seen_int;
-
- cif = closure->cif;
- avalue = alloca (cif->nargs * sizeof (ffi_arg));
- avaluep = alloca (cif->nargs * sizeof (ffi_arg));
-
- seen_int = (cif->abi == FFI_O32_SOFT_FLOAT);
- argn = 0;
-
- if ((cif->flags >> (FFI_FLAG_BITS * 2)) == FFI_TYPE_STRUCT)
- {
- rvalue = (void *)(UINT32)ar[0];
- argn = 1;
- }
-
- i = 0;
- avn = cif->nargs;
- arg_types = cif->arg_types;
-
- while (i < avn)
- {
- if (i < 2 && !seen_int &&
- (arg_types[i]->type == FFI_TYPE_FLOAT ||
- arg_types[i]->type == FFI_TYPE_DOUBLE ||
- arg_types[i]->type == FFI_TYPE_LONGDOUBLE))
- {
-#if defined(__MIPSEB__) || defined(_MIPSEB)
- if (arg_types[i]->type == FFI_TYPE_FLOAT)
- avaluep[i] = ((char *) &fpr[i]) + sizeof (float);
- else
-#endif
- avaluep[i] = (char *) &fpr[i];
- }
- else
- {
- if (arg_types[i]->alignment == 8 && (argn & 0x1))
- argn++;
- switch (arg_types[i]->type)
- {
- case FFI_TYPE_SINT8:
- avaluep[i] = &avalue[i];
- *(SINT8 *) &avalue[i] = (SINT8) ar[argn];
- break;
-
- case FFI_TYPE_UINT8:
- avaluep[i] = &avalue[i];
- *(UINT8 *) &avalue[i] = (UINT8) ar[argn];
- break;
-
- case FFI_TYPE_SINT16:
- avaluep[i] = &avalue[i];
- *(SINT16 *) &avalue[i] = (SINT16) ar[argn];
- break;
-
- case FFI_TYPE_UINT16:
- avaluep[i] = &avalue[i];
- *(UINT16 *) &avalue[i] = (UINT16) ar[argn];
- break;
-
- default:
- avaluep[i] = (char *) &ar[argn];
- break;
- }
- seen_int = 1;
- }
- argn += ALIGN(arg_types[i]->size, FFI_SIZEOF_ARG) / FFI_SIZEOF_ARG;
- i++;
- }
-
- /* Invoke the closure. */
- (closure->fun) (cif, rvalue, avaluep, closure->user_data);
-
- if (cif->abi == FFI_O32_SOFT_FLOAT)
- {
- switch (cif->rtype->type)
- {
- case FFI_TYPE_FLOAT:
- return FFI_TYPE_INT;
- case FFI_TYPE_DOUBLE:
- return FFI_TYPE_UINT64;
- default:
- return cif->rtype->type;
- }
- }
- else
- {
- return cif->rtype->type;
- }
-}
-
-#if defined(FFI_MIPS_N32)
-
-static void
-copy_struct_N32(char *target, unsigned offset, ffi_abi abi, ffi_type *type,
- int argn, unsigned arg_offset, ffi_arg *ar,
- ffi_arg *fpr, int soft_float)
-{
- ffi_type **elt_typep = type->elements;
- while(*elt_typep)
- {
- ffi_type *elt_type = *elt_typep;
- unsigned o;
- char *tp;
- char *argp;
- char *fpp;
-
- o = ALIGN(offset, elt_type->alignment);
- arg_offset += o - offset;
- offset = o;
- argn += arg_offset / sizeof(ffi_arg);
- arg_offset = arg_offset % sizeof(ffi_arg);
-
- argp = (char *)(ar + argn);
- fpp = (char *)(argn >= 8 ? ar + argn : fpr + argn);
-
- tp = target + offset;
-
- if (elt_type->type == FFI_TYPE_DOUBLE && !soft_float)
- *(double *)tp = *(double *)fpp;
- else
- memcpy(tp, argp + arg_offset, elt_type->size);
-
- offset += elt_type->size;
- arg_offset += elt_type->size;
- elt_typep++;
- argn += arg_offset / sizeof(ffi_arg);
- arg_offset = arg_offset % sizeof(ffi_arg);
- }
-}
-
-/*
- * Decodes the arguments to a function, which will be stored on the
- * stack. AR is the pointer to the beginning of the integer
- * arguments. FPR is a pointer to the area where floating point
- * registers have been saved.
- *
- * RVALUE is the location where the function return value will be
- * stored. CLOSURE is the prepared closure to invoke.
- *
- * This function should only be called from assembly, which is in
- * turn called from a trampoline.
- *
- * Returns the function return flags.
- *
- */
-int
-ffi_closure_mips_inner_N32 (ffi_closure *closure,
- void *rvalue, ffi_arg *ar,
- ffi_arg *fpr)
-{
- ffi_cif *cif;
- void **avaluep;
- ffi_arg *avalue;
- ffi_type **arg_types;
- int i, avn, argn;
- int soft_float;
- ffi_arg *argp;
-
- cif = closure->cif;
- soft_float = cif->abi == FFI_N64_SOFT_FLOAT
- || cif->abi == FFI_N32_SOFT_FLOAT;
- avalue = alloca (cif->nargs * sizeof (ffi_arg));
- avaluep = alloca (cif->nargs * sizeof (ffi_arg));
-
- argn = 0;
-
- if (cif->rstruct_flag)
- {
-#if _MIPS_SIM==_ABIN32
- rvalue = (void *)(UINT32)ar[0];
-#else /* N64 */
- rvalue = (void *)ar[0];
-#endif
- argn = 1;
- }
-
- i = 0;
- avn = cif->nargs;
- arg_types = cif->arg_types;
-
- while (i < avn)
- {
- if (arg_types[i]->type == FFI_TYPE_FLOAT
- || arg_types[i]->type == FFI_TYPE_DOUBLE
- || arg_types[i]->type == FFI_TYPE_LONGDOUBLE)
- {
- argp = (argn >= 8 || soft_float) ? ar + argn : fpr + argn;
- if ((arg_types[i]->type == FFI_TYPE_LONGDOUBLE) && ((unsigned)argp & (arg_types[i]->alignment-1)))
- {
- argp=(ffi_arg*)ALIGN(argp,arg_types[i]->alignment);
- argn++;
- }
-#if defined(__MIPSEB__) || defined(_MIPSEB)
- if (arg_types[i]->type == FFI_TYPE_FLOAT && argn < 8)
- avaluep[i] = ((char *) argp) + sizeof (float);
- else
-#endif
- avaluep[i] = (char *) argp;
- }
- else
- {
- unsigned type = arg_types[i]->type;
-
- if (arg_types[i]->alignment > sizeof(ffi_arg))
- argn = ALIGN(argn, arg_types[i]->alignment / sizeof(ffi_arg));
-
- argp = ar + argn;
-
- /* The size of a pointer depends on the ABI */
- if (type == FFI_TYPE_POINTER)
- type = (cif->abi == FFI_N64 || cif->abi == FFI_N64_SOFT_FLOAT)
- ? FFI_TYPE_SINT64 : FFI_TYPE_SINT32;
-
- if (soft_float && type == FFI_TYPE_FLOAT)
- type = FFI_TYPE_UINT32;
-
- switch (type)
- {
- case FFI_TYPE_SINT8:
- avaluep[i] = &avalue[i];
- *(SINT8 *) &avalue[i] = (SINT8) *argp;
- break;
-
- case FFI_TYPE_UINT8:
- avaluep[i] = &avalue[i];
- *(UINT8 *) &avalue[i] = (UINT8) *argp;
- break;
-
- case FFI_TYPE_SINT16:
- avaluep[i] = &avalue[i];
- *(SINT16 *) &avalue[i] = (SINT16) *argp;
- break;
-
- case FFI_TYPE_UINT16:
- avaluep[i] = &avalue[i];
- *(UINT16 *) &avalue[i] = (UINT16) *argp;
- break;
-
- case FFI_TYPE_SINT32:
- avaluep[i] = &avalue[i];
- *(SINT32 *) &avalue[i] = (SINT32) *argp;
- break;
-
- case FFI_TYPE_UINT32:
- avaluep[i] = &avalue[i];
- *(UINT32 *) &avalue[i] = (UINT32) *argp;
- break;
-
- case FFI_TYPE_STRUCT:
- if (argn < 8)
- {
- /* Allocate space for the struct as at least part of
- it was passed in registers. */
- avaluep[i] = alloca(arg_types[i]->size);
- copy_struct_N32(avaluep[i], 0, cif->abi, arg_types[i],
- argn, 0, ar, fpr, soft_float);
-
- break;
- }
- /* Else fall through. */
- default:
- avaluep[i] = (char *) argp;
- break;
- }
- }
- argn += ALIGN(arg_types[i]->size, sizeof(ffi_arg)) / sizeof(ffi_arg);
- i++;
- }
-
- /* Invoke the closure. */
- (closure->fun) (cif, rvalue, avaluep, closure->user_data);
-
- return cif->flags >> (FFI_FLAG_BITS * 8);
-}
-
-#endif /* FFI_MIPS_N32 */
-
-#endif /* FFI_CLOSURES */
diff --git a/.pc/bad-abi-fix/src/pa/ffi.c b/.pc/bad-abi-fix/src/pa/ffi.c
deleted file mode 100644
index 6d7606f..0000000
--- a/.pc/bad-abi-fix/src/pa/ffi.c
+++ /dev/null
@@ -1,716 +0,0 @@
-/* -----------------------------------------------------------------------
- ffi.c - (c) 2003-2004 Randolph Chung <tausq@debian.org>
- (c) 2008 Red Hat, Inc.
-
- HPPA Foreign Function Interface
- HP-UX PA ABI support (c) 2006 Free Software Foundation, Inc.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
- ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#include <stdlib.h>
-#include <stdio.h>
-
-#define ROUND_UP(v, a) (((size_t)(v) + (a) - 1) & ~((a) - 1))
-
-#define MIN_STACK_SIZE 64
-#define FIRST_ARG_SLOT 9
-#define DEBUG_LEVEL 0
-
-#define fldw(addr, fpreg) \
- __asm__ volatile ("fldw 0(%0), %%" #fpreg "L" : : "r"(addr) : #fpreg)
-#define fstw(fpreg, addr) \
- __asm__ volatile ("fstw %%" #fpreg "L, 0(%0)" : : "r"(addr))
-#define fldd(addr, fpreg) \
- __asm__ volatile ("fldd 0(%0), %%" #fpreg : : "r"(addr) : #fpreg)
-#define fstd(fpreg, addr) \
- __asm__ volatile ("fstd %%" #fpreg "L, 0(%0)" : : "r"(addr))
-
-#define debug(lvl, x...) do { if (lvl <= DEBUG_LEVEL) { printf(x); } } while (0)
-
-static inline int ffi_struct_type(ffi_type *t)
-{
- size_t sz = t->size;
-
- /* Small structure results are passed in registers,
- larger ones are passed by pointer. Note that
- small structures of size 2, 4 and 8 differ from
- the corresponding integer types in that they have
- different alignment requirements. */
-
- if (sz <= 1)
- return FFI_TYPE_UINT8;
- else if (sz == 2)
- return FFI_TYPE_SMALL_STRUCT2;
- else if (sz == 3)
- return FFI_TYPE_SMALL_STRUCT3;
- else if (sz == 4)
- return FFI_TYPE_SMALL_STRUCT4;
- else if (sz == 5)
- return FFI_TYPE_SMALL_STRUCT5;
- else if (sz == 6)
- return FFI_TYPE_SMALL_STRUCT6;
- else if (sz == 7)
- return FFI_TYPE_SMALL_STRUCT7;
- else if (sz <= 8)
- return FFI_TYPE_SMALL_STRUCT8;
- else
- return FFI_TYPE_STRUCT; /* else, we pass it by pointer. */
-}
-
-/* PA has a downward growing stack, which looks like this:
-
- Offset
- [ Variable args ]
- SP = (4*(n+9)) arg word N
- ...
- SP-52 arg word 4
- [ Fixed args ]
- SP-48 arg word 3
- SP-44 arg word 2
- SP-40 arg word 1
- SP-36 arg word 0
- [ Frame marker ]
- ...
- SP-20 RP
- SP-4 previous SP
-
- The first four argument words on the stack are reserved for use by
- the callee. Instead, the general and floating registers replace
- the first four argument slots. Non FP arguments are passed solely
- in the general registers. FP arguments are passed in both general
- and floating registers when using libffi.
-
- Non-FP 32-bit args are passed in gr26, gr25, gr24 and gr23.
- Non-FP 64-bit args are passed in register pairs, starting
- on an odd numbered register (i.e. r25+r26 and r23+r24).
- FP 32-bit arguments are passed in fr4L, fr5L, fr6L and fr7L.
- FP 64-bit arguments are passed in fr5 and fr7.
-
- The registers are allocated in the same manner as stack slots.
- This allows the callee to save its arguments on the stack if
- necessary:
-
- arg word 3 -> gr23 or fr7L
- arg word 2 -> gr24 or fr6L or fr7R
- arg word 1 -> gr25 or fr5L
- arg word 0 -> gr26 or fr4L or fr5R
-
- Note that fr4R and fr6R are never used for arguments (i.e.,
- doubles are not passed in fr4 or fr6).
-
- The rest of the arguments are passed on the stack starting at SP-52,
- but 64-bit arguments need to be aligned to an 8-byte boundary
-
- This means we can have holes either in the register allocation,
- or in the stack. */
-
-/* ffi_prep_args is called by the assembly routine once stack space
- has been allocated for the function's arguments
-
- The following code will put everything into the stack frame
- (which was allocated by the asm routine), and on return
- the asm routine will load the arguments that should be
- passed by register into the appropriate registers
-
- NOTE: We load floating point args in this function... that means we
- assume gcc will not mess with fp regs in here. */
-
-void ffi_prep_args_pa32(UINT32 *stack, extended_cif *ecif, unsigned bytes)
-{
- register unsigned int i;
- register ffi_type **p_arg;
- register void **p_argv;
- unsigned int slot = FIRST_ARG_SLOT;
- char *dest_cpy;
- size_t len;
-
- debug(1, "%s: stack = %p, ecif = %p, bytes = %u\n", __FUNCTION__, stack,
- ecif, bytes);
-
- p_arg = ecif->cif->arg_types;
- p_argv = ecif->avalue;
-
- for (i = 0; i < ecif->cif->nargs; i++)
- {
- int type = (*p_arg)->type;
-
- switch (type)
- {
- case FFI_TYPE_SINT8:
- *(SINT32 *)(stack - slot) = *(SINT8 *)(*p_argv);
- break;
-
- case FFI_TYPE_UINT8:
- *(UINT32 *)(stack - slot) = *(UINT8 *)(*p_argv);
- break;
-
- case FFI_TYPE_SINT16:
- *(SINT32 *)(stack - slot) = *(SINT16 *)(*p_argv);
- break;
-
- case FFI_TYPE_UINT16:
- *(UINT32 *)(stack - slot) = *(UINT16 *)(*p_argv);
- break;
-
- case FFI_TYPE_UINT32:
- case FFI_TYPE_SINT32:
- case FFI_TYPE_POINTER:
- debug(3, "Storing UINT32 %u in slot %u\n", *(UINT32 *)(*p_argv),
- slot);
- *(UINT32 *)(stack - slot) = *(UINT32 *)(*p_argv);
- break;
-
- case FFI_TYPE_UINT64:
- case FFI_TYPE_SINT64:
- /* Align slot for 64-bit type. */
- slot += (slot & 1) ? 1 : 2;
- *(UINT64 *)(stack - slot) = *(UINT64 *)(*p_argv);
- break;
-
- case FFI_TYPE_FLOAT:
- /* First 4 args go in fr4L - fr7L. */
- debug(3, "Storing UINT32(float) in slot %u\n", slot);
- *(UINT32 *)(stack - slot) = *(UINT32 *)(*p_argv);
- switch (slot - FIRST_ARG_SLOT)
- {
- /* First 4 args go in fr4L - fr7L. */
- case 0: fldw(stack - slot, fr4); break;
- case 1: fldw(stack - slot, fr5); break;
- case 2: fldw(stack - slot, fr6); break;
- case 3: fldw(stack - slot, fr7); break;
- }
- break;
-
- case FFI_TYPE_DOUBLE:
- /* Align slot for 64-bit type. */
- slot += (slot & 1) ? 1 : 2;
- debug(3, "Storing UINT64(double) at slot %u\n", slot);
- *(UINT64 *)(stack - slot) = *(UINT64 *)(*p_argv);
- switch (slot - FIRST_ARG_SLOT)
- {
- /* First 2 args go in fr5, fr7. */
- case 1: fldd(stack - slot, fr5); break;
- case 3: fldd(stack - slot, fr7); break;
- }
- break;
-
-#ifdef PA_HPUX
- case FFI_TYPE_LONGDOUBLE:
- /* Long doubles are passed in the same manner as structures
- larger than 8 bytes. */
- *(UINT32 *)(stack - slot) = (UINT32)(*p_argv);
- break;
-#endif
-
- case FFI_TYPE_STRUCT:
-
- /* Structs smaller or equal than 4 bytes are passed in one
- register. Structs smaller or equal 8 bytes are passed in two
- registers. Larger structures are passed by pointer. */
-
- len = (*p_arg)->size;
- if (len <= 4)
- {
- dest_cpy = (char *)(stack - slot) + 4 - len;
- memcpy(dest_cpy, (char *)*p_argv, len);
- }
- else if (len <= 8)
- {
- slot += (slot & 1) ? 1 : 2;
- dest_cpy = (char *)(stack - slot) + 8 - len;
- memcpy(dest_cpy, (char *)*p_argv, len);
- }
- else
- *(UINT32 *)(stack - slot) = (UINT32)(*p_argv);
- break;
-
- default:
- FFI_ASSERT(0);
- }
-
- slot++;
- p_arg++;
- p_argv++;
- }
-
- /* Make sure we didn't mess up and scribble on the stack. */
- {
- unsigned int n;
-
- debug(5, "Stack setup:\n");
- for (n = 0; n < (bytes + 3) / 4; n++)
- {
- if ((n%4) == 0) { debug(5, "\n%08x: ", (unsigned int)(stack - n)); }
- debug(5, "%08x ", *(stack - n));
- }
- debug(5, "\n");
- }
-
- FFI_ASSERT(slot * 4 <= bytes);
-
- return;
-}
-
-static void ffi_size_stack_pa32(ffi_cif *cif)
-{
- ffi_type **ptr;
- int i;
- int z = 0; /* # stack slots */
-
- for (ptr = cif->arg_types, i = 0; i < cif->nargs; ptr++, i++)
- {
- int type = (*ptr)->type;
-
- switch (type)
- {
- case FFI_TYPE_DOUBLE:
- case FFI_TYPE_UINT64:
- case FFI_TYPE_SINT64:
- z += 2 + (z & 1); /* must start on even regs, so we may waste one */
- break;
-
-#ifdef PA_HPUX
- case FFI_TYPE_LONGDOUBLE:
-#endif
- case FFI_TYPE_STRUCT:
- z += 1; /* pass by ptr, callee will copy */
- break;
-
- default: /* <= 32-bit values */
- z++;
- }
- }
-
- /* We can fit up to 6 args in the default 64-byte stack frame,
- if we need more, we need more stack. */
- if (z <= 6)
- cif->bytes = MIN_STACK_SIZE; /* min stack size */
- else
- cif->bytes = 64 + ROUND_UP((z - 6) * sizeof(UINT32), MIN_STACK_SIZE);
-
- debug(3, "Calculated stack size is %u bytes\n", cif->bytes);
-}
-
-/* Perform machine dependent cif processing. */
-ffi_status ffi_prep_cif_machdep(ffi_cif *cif)
-{
- /* Set the return type flag */
- switch (cif->rtype->type)
- {
- case FFI_TYPE_VOID:
- case FFI_TYPE_FLOAT:
- case FFI_TYPE_DOUBLE:
- cif->flags = (unsigned) cif->rtype->type;
- break;
-
-#ifdef PA_HPUX
- case FFI_TYPE_LONGDOUBLE:
- /* Long doubles are treated like a structure. */
- cif->flags = FFI_TYPE_STRUCT;
- break;
-#endif
-
- case FFI_TYPE_STRUCT:
- /* For the return type we have to check the size of the structures.
- If the size is smaller or equal 4 bytes, the result is given back
- in one register. If the size is smaller or equal 8 bytes than we
- return the result in two registers. But if the size is bigger than
- 8 bytes, we work with pointers. */
- cif->flags = ffi_struct_type(cif->rtype);
- break;
-
- case FFI_TYPE_UINT64:
- case FFI_TYPE_SINT64:
- cif->flags = FFI_TYPE_UINT64;
- break;
-
- default:
- cif->flags = FFI_TYPE_INT;
- break;
- }
-
- /* Lucky us, because of the unique PA ABI we get to do our
- own stack sizing. */
- switch (cif->abi)
- {
- case FFI_PA32:
- ffi_size_stack_pa32(cif);
- break;
-
- default:
- FFI_ASSERT(0);
- break;
- }
-
- return FFI_OK;
-}
-
-extern void ffi_call_pa32(void (*)(UINT32 *, extended_cif *, unsigned),
- extended_cif *, unsigned, unsigned, unsigned *,
- void (*fn)(void));
-
-void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
-{
- extended_cif ecif;
-
- ecif.cif = cif;
- ecif.avalue = avalue;
-
- /* If the return value is a struct and we don't have a return
- value address then we need to make one. */
-
- if (rvalue == NULL
-#ifdef PA_HPUX
- && (cif->rtype->type == FFI_TYPE_STRUCT
- || cif->rtype->type == FFI_TYPE_LONGDOUBLE))
-#else
- && cif->rtype->type == FFI_TYPE_STRUCT)
-#endif
- {
- ecif.rvalue = alloca(cif->rtype->size);
- }
- else
- ecif.rvalue = rvalue;
-
-
- switch (cif->abi)
- {
- case FFI_PA32:
- debug(3, "Calling ffi_call_pa32: ecif=%p, bytes=%u, flags=%u, rvalue=%p, fn=%p\n", &ecif, cif->bytes, cif->flags, ecif.rvalue, (void *)fn);
- ffi_call_pa32(ffi_prep_args_pa32, &ecif, cif->bytes,
- cif->flags, ecif.rvalue, fn);
- break;
-
- default:
- FFI_ASSERT(0);
- break;
- }
-}
-
-#if FFI_CLOSURES
-/* This is more-or-less an inverse of ffi_call -- we have arguments on
- the stack, and we need to fill them into a cif structure and invoke
- the user function. This really ought to be in asm to make sure
- the compiler doesn't do things we don't expect. */
-ffi_status ffi_closure_inner_pa32(ffi_closure *closure, UINT32 *stack)
-{
- ffi_cif *cif;
- void **avalue;
- void *rvalue;
- UINT32 ret[2]; /* function can return up to 64-bits in registers */
- ffi_type **p_arg;
- char *tmp;
- int i, avn;
- unsigned int slot = FIRST_ARG_SLOT;
- register UINT32 r28 asm("r28");
-
- cif = closure->cif;
-
- /* If returning via structure, callee will write to our pointer. */
- if (cif->flags == FFI_TYPE_STRUCT)
- rvalue = (void *)r28;
- else
- rvalue = &ret[0];
-
- avalue = (void **)alloca(cif->nargs * FFI_SIZEOF_ARG);
- avn = cif->nargs;
- p_arg = cif->arg_types;
-
- for (i = 0; i < avn; i++)
- {
- int type = (*p_arg)->type;
-
- switch (type)
- {
- case FFI_TYPE_SINT8:
- case FFI_TYPE_UINT8:
- case FFI_TYPE_SINT16:
- case FFI_TYPE_UINT16:
- case FFI_TYPE_SINT32:
- case FFI_TYPE_UINT32:
- case FFI_TYPE_POINTER:
- avalue[i] = (char *)(stack - slot) + sizeof(UINT32) - (*p_arg)->size;
- break;
-
- case FFI_TYPE_SINT64:
- case FFI_TYPE_UINT64:
- slot += (slot & 1) ? 1 : 2;
- avalue[i] = (void *)(stack - slot);
- break;
-
- case FFI_TYPE_FLOAT:
-#ifdef PA_LINUX
- /* The closure call is indirect. In Linux, floating point
- arguments in indirect calls with a prototype are passed
- in the floating point registers instead of the general
- registers. So, we need to replace what was previously
- stored in the current slot with the value in the
- corresponding floating point register. */
- switch (slot - FIRST_ARG_SLOT)
- {
- case 0: fstw(fr4, (void *)(stack - slot)); break;
- case 1: fstw(fr5, (void *)(stack - slot)); break;
- case 2: fstw(fr6, (void *)(stack - slot)); break;
- case 3: fstw(fr7, (void *)(stack - slot)); break;
- }
-#endif
- avalue[i] = (void *)(stack - slot);
- break;
-
- case FFI_TYPE_DOUBLE:
- slot += (slot & 1) ? 1 : 2;
-#ifdef PA_LINUX
- /* See previous comment for FFI_TYPE_FLOAT. */
- switch (slot - FIRST_ARG_SLOT)
- {
- case 1: fstd(fr5, (void *)(stack - slot)); break;
- case 3: fstd(fr7, (void *)(stack - slot)); break;
- }
-#endif
- avalue[i] = (void *)(stack - slot);
- break;
-
-#ifdef PA_HPUX
- case FFI_TYPE_LONGDOUBLE:
- /* Long doubles are treated like a big structure. */
- avalue[i] = (void *) *(stack - slot);
- break;
-#endif
-
- case FFI_TYPE_STRUCT:
- /* Structs smaller or equal than 4 bytes are passed in one
- register. Structs smaller or equal 8 bytes are passed in two
- registers. Larger structures are passed by pointer. */
- if((*p_arg)->size <= 4)
- {
- avalue[i] = (void *)(stack - slot) + sizeof(UINT32) -
- (*p_arg)->size;
- }
- else if ((*p_arg)->size <= 8)
- {
- slot += (slot & 1) ? 1 : 2;
- avalue[i] = (void *)(stack - slot) + sizeof(UINT64) -
- (*p_arg)->size;
- }
- else
- avalue[i] = (void *) *(stack - slot);
- break;
-
- default:
- FFI_ASSERT(0);
- }
-
- slot++;
- p_arg++;
- }
-
- /* Invoke the closure. */
- (closure->fun) (cif, rvalue, avalue, closure->user_data);
-
- debug(3, "after calling function, ret[0] = %08x, ret[1] = %08x\n", ret[0],
- ret[1]);
-
- /* Store the result using the lower 2 bytes of the flags. */
- switch (cif->flags)
- {
- case FFI_TYPE_UINT8:
- *(stack - FIRST_ARG_SLOT) = (UINT8)(ret[0] >> 24);
- break;
- case FFI_TYPE_SINT8:
- *(stack - FIRST_ARG_SLOT) = (SINT8)(ret[0] >> 24);
- break;
- case FFI_TYPE_UINT16:
- *(stack - FIRST_ARG_SLOT) = (UINT16)(ret[0] >> 16);
- break;
- case FFI_TYPE_SINT16:
- *(stack - FIRST_ARG_SLOT) = (SINT16)(ret[0] >> 16);
- break;
- case FFI_TYPE_INT:
- case FFI_TYPE_SINT32:
- case FFI_TYPE_UINT32:
- *(stack - FIRST_ARG_SLOT) = ret[0];
- break;
- case FFI_TYPE_SINT64:
- case FFI_TYPE_UINT64:
- *(stack - FIRST_ARG_SLOT) = ret[0];
- *(stack - FIRST_ARG_SLOT - 1) = ret[1];
- break;
-
- case FFI_TYPE_DOUBLE:
- fldd(rvalue, fr4);
- break;
-
- case FFI_TYPE_FLOAT:
- fldw(rvalue, fr4);
- break;
-
- case FFI_TYPE_STRUCT:
- /* Don't need a return value, done by caller. */
- break;
-
- case FFI_TYPE_SMALL_STRUCT2:
- case FFI_TYPE_SMALL_STRUCT3:
- case FFI_TYPE_SMALL_STRUCT4:
- tmp = (void*)(stack - FIRST_ARG_SLOT);
- tmp += 4 - cif->rtype->size;
- memcpy((void*)tmp, &ret[0], cif->rtype->size);
- break;
-
- case FFI_TYPE_SMALL_STRUCT5:
- case FFI_TYPE_SMALL_STRUCT6:
- case FFI_TYPE_SMALL_STRUCT7:
- case FFI_TYPE_SMALL_STRUCT8:
- {
- unsigned int ret2[2];
- int off;
-
- /* Right justify ret[0] and ret[1] */
- switch (cif->flags)
- {
- case FFI_TYPE_SMALL_STRUCT5: off = 3; break;
- case FFI_TYPE_SMALL_STRUCT6: off = 2; break;
- case FFI_TYPE_SMALL_STRUCT7: off = 1; break;
- default: off = 0; break;
- }
-
- memset (ret2, 0, sizeof (ret2));
- memcpy ((char *)ret2 + off, ret, 8 - off);
-
- *(stack - FIRST_ARG_SLOT) = ret2[0];
- *(stack - FIRST_ARG_SLOT - 1) = ret2[1];
- }
- break;
-
- case FFI_TYPE_POINTER:
- case FFI_TYPE_VOID:
- break;
-
- default:
- debug(0, "assert with cif->flags: %d\n",cif->flags);
- FFI_ASSERT(0);
- break;
- }
- return FFI_OK;
-}
-
-/* Fill in a closure to refer to the specified fun and user_data.
- cif specifies the argument and result types for fun.
- The cif must already be prep'ed. */
-
-extern void ffi_closure_pa32(void);
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure* closure,
- ffi_cif* cif,
- void (*fun)(ffi_cif*,void*,void**,void*),
- void *user_data,
- void *codeloc)
-{
- UINT32 *tramp = (UINT32 *)(closure->tramp);
-#ifdef PA_HPUX
- UINT32 *tmp;
-#endif
-
- FFI_ASSERT (cif->abi == FFI_PA32);
-
- /* Make a small trampoline that will branch to our
- handler function. Use PC-relative addressing. */
-
-#ifdef PA_LINUX
- tramp[0] = 0xeaa00000; /* b,l .+8,%r21 ; %r21 <- pc+8 */
- tramp[1] = 0xd6a01c1e; /* depi 0,31,2,%r21 ; mask priv bits */
- tramp[2] = 0x4aa10028; /* ldw 20(%r21),%r1 ; load plabel */
- tramp[3] = 0x36b53ff1; /* ldo -8(%r21),%r21 ; get closure addr */
- tramp[4] = 0x0c201096; /* ldw 0(%r1),%r22 ; address of handler */
- tramp[5] = 0xeac0c000; /* bv%r0(%r22) ; branch to handler */
- tramp[6] = 0x0c281093; /* ldw 4(%r1),%r19 ; GP of handler */
- tramp[7] = ((UINT32)(ffi_closure_pa32) & ~2);
-
- /* Flush d/icache -- have to flush up 2 two lines because of
- alignment. */
- __asm__ volatile(
- "fdc 0(%0)\n\t"
- "fdc %1(%0)\n\t"
- "fic 0(%%sr4, %0)\n\t"
- "fic %1(%%sr4, %0)\n\t"
- "sync\n\t"
- "nop\n\t"
- "nop\n\t"
- "nop\n\t"
- "nop\n\t"
- "nop\n\t"
- "nop\n\t"
- "nop\n"
- :
- : "r"((unsigned long)tramp & ~31),
- "r"(32 /* stride */)
- : "memory");
-#endif
-
-#ifdef PA_HPUX
- tramp[0] = 0xeaa00000; /* b,l .+8,%r21 ; %r21 <- pc+8 */
- tramp[1] = 0xd6a01c1e; /* depi 0,31,2,%r21 ; mask priv bits */
- tramp[2] = 0x4aa10038; /* ldw 28(%r21),%r1 ; load plabel */
- tramp[3] = 0x36b53ff1; /* ldo -8(%r21),%r21 ; get closure addr */
- tramp[4] = 0x0c201096; /* ldw 0(%r1),%r22 ; address of handler */
- tramp[5] = 0x02c010b4; /* ldsid (%r22),%r20 ; load space id */
- tramp[6] = 0x00141820; /* mtsp %r20,%sr0 ; into %sr0 */
- tramp[7] = 0xe2c00000; /* be 0(%sr0,%r22) ; branch to handler */
- tramp[8] = 0x0c281093; /* ldw 4(%r1),%r19 ; GP of handler */
- tramp[9] = ((UINT32)(ffi_closure_pa32) & ~2);
-
- /* Flush d/icache -- have to flush three lines because of alignment. */
- __asm__ volatile(
- "copy %1,%0\n\t"
- "fdc,m %2(%0)\n\t"
- "fdc,m %2(%0)\n\t"
- "fdc,m %2(%0)\n\t"
- "ldsid (%1),%0\n\t"
- "mtsp %0,%%sr0\n\t"
- "copy %1,%0\n\t"
- "fic,m %2(%%sr0,%0)\n\t"
- "fic,m %2(%%sr0,%0)\n\t"
- "fic,m %2(%%sr0,%0)\n\t"
- "sync\n\t"
- "nop\n\t"
- "nop\n\t"
- "nop\n\t"
- "nop\n\t"
- "nop\n\t"
- "nop\n\t"
- "nop\n"
- : "=&r" ((unsigned long)tmp)
- : "r" ((unsigned long)tramp & ~31),
- "r" (32/* stride */)
- : "memory");
-#endif
-
- closure->cif = cif;
- closure->user_data = user_data;
- closure->fun = fun;
-
- return FFI_OK;
-}
-#endif
diff --git a/.pc/bad-abi-fix/src/powerpc/ffi.c b/.pc/bad-abi-fix/src/powerpc/ffi.c
deleted file mode 100644
index 75784a9..0000000
--- a/.pc/bad-abi-fix/src/powerpc/ffi.c
+++ /dev/null
@@ -1,1442 +0,0 @@
-/* -----------------------------------------------------------------------
- ffi.c - Copyright (c) 1998 Geoffrey Keating
- Copyright (C) 2007, 2008 Free Software Foundation, Inc
- Copyright (C) 2008 Red Hat, Inc
-
- PowerPC Foreign Function Interface
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS
- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR
- OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- OTHER DEALINGS IN THE SOFTWARE.
- ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#include <stdlib.h>
-#include <stdio.h>
-
-
-extern void ffi_closure_SYSV (void);
-extern void FFI_HIDDEN ffi_closure_LINUX64 (void);
-
-enum {
- /* The assembly depends on these exact flags. */
- FLAG_RETURNS_SMST = 1 << (31-31), /* Used for FFI_SYSV small structs. */
- FLAG_RETURNS_NOTHING = 1 << (31-30), /* These go in cr7 */
- FLAG_RETURNS_FP = 1 << (31-29),
- FLAG_RETURNS_64BITS = 1 << (31-28),
-
- FLAG_RETURNS_128BITS = 1 << (31-27), /* cr6 */
- FLAG_SYSV_SMST_R4 = 1 << (31-26), /* use r4 for FFI_SYSV 8 byte
- structs. */
- FLAG_SYSV_SMST_R3 = 1 << (31-25), /* use r3 for FFI_SYSV 4 byte
- structs. */
- /* Bits (31-24) through (31-19) store shift value for SMST */
-
- FLAG_ARG_NEEDS_COPY = 1 << (31- 7),
- FLAG_FP_ARGUMENTS = 1 << (31- 6), /* cr1.eq; specified by ABI */
- FLAG_4_GPR_ARGUMENTS = 1 << (31- 5),
- FLAG_RETVAL_REFERENCE = 1 << (31- 4)
-};
-
-/* About the SYSV ABI. */
-unsigned int NUM_GPR_ARG_REGISTERS = 8;
-#ifndef __NO_FPRS__
-unsigned int NUM_FPR_ARG_REGISTERS = 8;
-#else
-unsigned int NUM_FPR_ARG_REGISTERS = 0;
-#endif
-
-enum { ASM_NEEDS_REGISTERS = 4 };
-
-/* ffi_prep_args_SYSV is called by the assembly routine once stack space
- has been allocated for the function's arguments.
-
- The stack layout we want looks like this:
-
- | Return address from ffi_call_SYSV 4bytes | higher addresses
- |--------------------------------------------|
- | Previous backchain pointer 4 | stack pointer here
- |--------------------------------------------|<+ <<< on entry to
- | Saved r28-r31 4*4 | | ffi_call_SYSV
- |--------------------------------------------| |
- | GPR registers r3-r10 8*4 | | ffi_call_SYSV
- |--------------------------------------------| |
- | FPR registers f1-f8 (optional) 8*8 | |
- |--------------------------------------------| | stack |
- | Space for copied structures | | grows |
- |--------------------------------------------| | down V
- | Parameters that didn't fit in registers | |
- |--------------------------------------------| | lower addresses
- | Space for callee's LR 4 | |
- |--------------------------------------------| | stack pointer here
- | Current backchain pointer 4 |-/ during
- |--------------------------------------------| <<< ffi_call_SYSV
-
-*/
-
-void
-ffi_prep_args_SYSV (extended_cif *ecif, unsigned *const stack)
-{
- const unsigned bytes = ecif->cif->bytes;
- const unsigned flags = ecif->cif->flags;
-
- typedef union {
- char *c;
- unsigned *u;
- long long *ll;
- float *f;
- double *d;
- } valp;
-
- /* 'stacktop' points at the previous backchain pointer. */
- valp stacktop;
-
- /* 'gpr_base' points at the space for gpr3, and grows upwards as
- we use GPR registers. */
- valp gpr_base;
- int intarg_count;
-
- /* 'fpr_base' points at the space for fpr1, and grows upwards as
- we use FPR registers. */
- valp fpr_base;
- int fparg_count;
-
- /* 'copy_space' grows down as we put structures in it. It should
- stay 16-byte aligned. */
- valp copy_space;
-
- /* 'next_arg' grows up as we put parameters in it. */
- valp next_arg;
-
- int i, ii MAYBE_UNUSED;
- ffi_type **ptr;
- double double_tmp;
- union {
- void **v;
- char **c;
- signed char **sc;
- unsigned char **uc;
- signed short **ss;
- unsigned short **us;
- unsigned int **ui;
- long long **ll;
- float **f;
- double **d;
- } p_argv;
- size_t struct_copy_size;
- unsigned gprvalue;
-
- if (ecif->cif->abi == FFI_LINUX_SOFT_FLOAT)
- NUM_FPR_ARG_REGISTERS = 0;
-
- stacktop.c = (char *) stack + bytes;
- gpr_base.u = stacktop.u - ASM_NEEDS_REGISTERS - NUM_GPR_ARG_REGISTERS;
- intarg_count = 0;
- fpr_base.d = gpr_base.d - NUM_FPR_ARG_REGISTERS;
- fparg_count = 0;
- copy_space.c = ((flags & FLAG_FP_ARGUMENTS) ? fpr_base.c : gpr_base.c);
- next_arg.u = stack + 2;
-
- /* Check that everything starts aligned properly. */
- FFI_ASSERT (((unsigned) (char *) stack & 0xF) == 0);
- FFI_ASSERT (((unsigned) copy_space.c & 0xF) == 0);
- FFI_ASSERT (((unsigned) stacktop.c & 0xF) == 0);
- FFI_ASSERT ((bytes & 0xF) == 0);
- FFI_ASSERT (copy_space.c >= next_arg.c);
-
- /* Deal with return values that are actually pass-by-reference. */
- if (flags & FLAG_RETVAL_REFERENCE)
- {
- *gpr_base.u++ = (unsigned long) (char *) ecif->rvalue;
- intarg_count++;
- }
-
- /* Now for the arguments. */
- p_argv.v = ecif->avalue;
- for (ptr = ecif->cif->arg_types, i = ecif->cif->nargs;
- i > 0;
- i--, ptr++, p_argv.v++)
- {
- switch ((*ptr)->type)
- {
- case FFI_TYPE_FLOAT:
- /* With FFI_LINUX_SOFT_FLOAT floats are handled like UINT32. */
- if (ecif->cif->abi == FFI_LINUX_SOFT_FLOAT)
- goto soft_float_prep;
- double_tmp = **p_argv.f;
- if (fparg_count >= NUM_FPR_ARG_REGISTERS)
- {
- *next_arg.f = (float) double_tmp;
- next_arg.u += 1;
- intarg_count++;
- }
- else
- *fpr_base.d++ = double_tmp;
- fparg_count++;
- FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
- break;
-
- case FFI_TYPE_DOUBLE:
- /* With FFI_LINUX_SOFT_FLOAT doubles are handled like UINT64. */
- if (ecif->cif->abi == FFI_LINUX_SOFT_FLOAT)
- goto soft_double_prep;
- double_tmp = **p_argv.d;
-
- if (fparg_count >= NUM_FPR_ARG_REGISTERS)
- {
- if (intarg_count >= NUM_GPR_ARG_REGISTERS
- && intarg_count % 2 != 0)
- {
- intarg_count++;
- next_arg.u++;
- }
- *next_arg.d = double_tmp;
- next_arg.u += 2;
- }
- else
- *fpr_base.d++ = double_tmp;
- fparg_count++;
- FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
- break;
-
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- case FFI_TYPE_LONGDOUBLE:
- if ((ecif->cif->abi != FFI_LINUX)
- && (ecif->cif->abi != FFI_LINUX_SOFT_FLOAT))
- goto do_struct;
- /* The soft float ABI for long doubles works like this,
- a long double is passed in four consecutive gprs if available.
- A maximum of 2 long doubles can be passed in gprs.
- If we do not have 4 gprs left, the long double is passed on the
- stack, 4-byte aligned. */
- if (ecif->cif->abi == FFI_LINUX_SOFT_FLOAT)
- {
- unsigned int int_tmp = (*p_argv.ui)[0];
- if (intarg_count >= NUM_GPR_ARG_REGISTERS - 3)
- {
- if (intarg_count < NUM_GPR_ARG_REGISTERS)
- intarg_count += NUM_GPR_ARG_REGISTERS - intarg_count;
- *next_arg.u = int_tmp;
- next_arg.u++;
- for (ii = 1; ii < 4; ii++)
- {
- int_tmp = (*p_argv.ui)[ii];
- *next_arg.u = int_tmp;
- next_arg.u++;
- }
- }
- else
- {
- *gpr_base.u++ = int_tmp;
- for (ii = 1; ii < 4; ii++)
- {
- int_tmp = (*p_argv.ui)[ii];
- *gpr_base.u++ = int_tmp;
- }
- }
- intarg_count +=4;
- }
- else
- {
- double_tmp = (*p_argv.d)[0];
-
- if (fparg_count >= NUM_FPR_ARG_REGISTERS - 1)
- {
- if (intarg_count >= NUM_GPR_ARG_REGISTERS
- && intarg_count % 2 != 0)
- {
- intarg_count++;
- next_arg.u++;
- }
- *next_arg.d = double_tmp;
- next_arg.u += 2;
- double_tmp = (*p_argv.d)[1];
- *next_arg.d = double_tmp;
- next_arg.u += 2;
- }
- else
- {
- *fpr_base.d++ = double_tmp;
- double_tmp = (*p_argv.d)[1];
- *fpr_base.d++ = double_tmp;
- }
-
- fparg_count += 2;
- FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
- }
- break;
-#endif
-
- case FFI_TYPE_UINT64:
- case FFI_TYPE_SINT64:
- soft_double_prep:
- if (intarg_count == NUM_GPR_ARG_REGISTERS-1)
- intarg_count++;
- if (intarg_count >= NUM_GPR_ARG_REGISTERS)
- {
- if (intarg_count % 2 != 0)
- {
- intarg_count++;
- next_arg.u++;
- }
- *next_arg.ll = **p_argv.ll;
- next_arg.u += 2;
- }
- else
- {
- /* whoops: abi states only certain register pairs
- * can be used for passing long long int
- * specifically (r3,r4), (r5,r6), (r7,r8),
- * (r9,r10) and if next arg is long long but
- * not correct starting register of pair then skip
- * until the proper starting register
- */
- if (intarg_count % 2 != 0)
- {
- intarg_count ++;
- gpr_base.u++;
- }
- *gpr_base.ll++ = **p_argv.ll;
- }
- intarg_count += 2;
- break;
-
- case FFI_TYPE_STRUCT:
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- do_struct:
-#endif
- struct_copy_size = ((*ptr)->size + 15) & ~0xF;
- copy_space.c -= struct_copy_size;
- memcpy (copy_space.c, *p_argv.c, (*ptr)->size);
-
- gprvalue = (unsigned long) copy_space.c;
-
- FFI_ASSERT (copy_space.c > next_arg.c);
- FFI_ASSERT (flags & FLAG_ARG_NEEDS_COPY);
- goto putgpr;
-
- case FFI_TYPE_UINT8:
- gprvalue = **p_argv.uc;
- goto putgpr;
- case FFI_TYPE_SINT8:
- gprvalue = **p_argv.sc;
- goto putgpr;
- case FFI_TYPE_UINT16:
- gprvalue = **p_argv.us;
- goto putgpr;
- case FFI_TYPE_SINT16:
- gprvalue = **p_argv.ss;
- goto putgpr;
-
- case FFI_TYPE_INT:
- case FFI_TYPE_UINT32:
- case FFI_TYPE_SINT32:
- case FFI_TYPE_POINTER:
- soft_float_prep:
-
- gprvalue = **p_argv.ui;
-
- putgpr:
- if (intarg_count >= NUM_GPR_ARG_REGISTERS)
- *next_arg.u++ = gprvalue;
- else
- *gpr_base.u++ = gprvalue;
- intarg_count++;
- break;
- }
- }
-
- /* Check that we didn't overrun the stack... */
- FFI_ASSERT (copy_space.c >= next_arg.c);
- FFI_ASSERT (gpr_base.u <= stacktop.u - ASM_NEEDS_REGISTERS);
- FFI_ASSERT (fpr_base.u
- <= stacktop.u - ASM_NEEDS_REGISTERS - NUM_GPR_ARG_REGISTERS);
- FFI_ASSERT (flags & FLAG_4_GPR_ARGUMENTS || intarg_count <= 4);
-}
-
-/* About the LINUX64 ABI. */
-enum {
- NUM_GPR_ARG_REGISTERS64 = 8,
- NUM_FPR_ARG_REGISTERS64 = 13
-};
-enum { ASM_NEEDS_REGISTERS64 = 4 };
-
-/* ffi_prep_args64 is called by the assembly routine once stack space
- has been allocated for the function's arguments.
-
- The stack layout we want looks like this:
-
- | Ret addr from ffi_call_LINUX64 8bytes | higher addresses
- |--------------------------------------------|
- | CR save area 8bytes |
- |--------------------------------------------|
- | Previous backchain pointer 8 | stack pointer here
- |--------------------------------------------|<+ <<< on entry to
- | Saved r28-r31 4*8 | | ffi_call_LINUX64
- |--------------------------------------------| |
- | GPR registers r3-r10 8*8 | |
- |--------------------------------------------| |
- | FPR registers f1-f13 (optional) 13*8 | |
- |--------------------------------------------| |
- | Parameter save area | |
- |--------------------------------------------| |
- | TOC save area 8 | |
- |--------------------------------------------| | stack |
- | Linker doubleword 8 | | grows |
- |--------------------------------------------| | down V
- | Compiler doubleword 8 | |
- |--------------------------------------------| | lower addresses
- | Space for callee's LR 8 | |
- |--------------------------------------------| |
- | CR save area 8 | |
- |--------------------------------------------| | stack pointer here
- | Current backchain pointer 8 |-/ during
- |--------------------------------------------| <<< ffi_call_LINUX64
-
-*/
-
-void FFI_HIDDEN
-ffi_prep_args64 (extended_cif *ecif, unsigned long *const stack)
-{
- const unsigned long bytes = ecif->cif->bytes;
- const unsigned long flags = ecif->cif->flags;
-
- typedef union {
- char *c;
- unsigned long *ul;
- float *f;
- double *d;
- } valp;
-
- /* 'stacktop' points at the previous backchain pointer. */
- valp stacktop;
-
- /* 'next_arg' points at the space for gpr3, and grows upwards as
- we use GPR registers, then continues at rest. */
- valp gpr_base;
- valp gpr_end;
- valp rest;
- valp next_arg;
-
- /* 'fpr_base' points at the space for fpr3, and grows upwards as
- we use FPR registers. */
- valp fpr_base;
- int fparg_count;
-
- int i, words;
- ffi_type **ptr;
- double double_tmp;
- union {
- void **v;
- char **c;
- signed char **sc;
- unsigned char **uc;
- signed short **ss;
- unsigned short **us;
- signed int **si;
- unsigned int **ui;
- unsigned long **ul;
- float **f;
- double **d;
- } p_argv;
- unsigned long gprvalue;
-
- stacktop.c = (char *) stack + bytes;
- gpr_base.ul = stacktop.ul - ASM_NEEDS_REGISTERS64 - NUM_GPR_ARG_REGISTERS64;
- gpr_end.ul = gpr_base.ul + NUM_GPR_ARG_REGISTERS64;
- rest.ul = stack + 6 + NUM_GPR_ARG_REGISTERS64;
- fpr_base.d = gpr_base.d - NUM_FPR_ARG_REGISTERS64;
- fparg_count = 0;
- next_arg.ul = gpr_base.ul;
-
- /* Check that everything starts aligned properly. */
- FFI_ASSERT (((unsigned long) (char *) stack & 0xF) == 0);
- FFI_ASSERT (((unsigned long) stacktop.c & 0xF) == 0);
- FFI_ASSERT ((bytes & 0xF) == 0);
-
- /* Deal with return values that are actually pass-by-reference. */
- if (flags & FLAG_RETVAL_REFERENCE)
- *next_arg.ul++ = (unsigned long) (char *) ecif->rvalue;
-
- /* Now for the arguments. */
- p_argv.v = ecif->avalue;
- for (ptr = ecif->cif->arg_types, i = ecif->cif->nargs;
- i > 0;
- i--, ptr++, p_argv.v++)
- {
- switch ((*ptr)->type)
- {
- case FFI_TYPE_FLOAT:
- double_tmp = **p_argv.f;
- *next_arg.f = (float) double_tmp;
- if (++next_arg.ul == gpr_end.ul)
- next_arg.ul = rest.ul;
- if (fparg_count < NUM_FPR_ARG_REGISTERS64)
- *fpr_base.d++ = double_tmp;
- fparg_count++;
- FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
- break;
-
- case FFI_TYPE_DOUBLE:
- double_tmp = **p_argv.d;
- *next_arg.d = double_tmp;
- if (++next_arg.ul == gpr_end.ul)
- next_arg.ul = rest.ul;
- if (fparg_count < NUM_FPR_ARG_REGISTERS64)
- *fpr_base.d++ = double_tmp;
- fparg_count++;
- FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
- break;
-
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- case FFI_TYPE_LONGDOUBLE:
- double_tmp = (*p_argv.d)[0];
- *next_arg.d = double_tmp;
- if (++next_arg.ul == gpr_end.ul)
- next_arg.ul = rest.ul;
- if (fparg_count < NUM_FPR_ARG_REGISTERS64)
- *fpr_base.d++ = double_tmp;
- fparg_count++;
- double_tmp = (*p_argv.d)[1];
- *next_arg.d = double_tmp;
- if (++next_arg.ul == gpr_end.ul)
- next_arg.ul = rest.ul;
- if (fparg_count < NUM_FPR_ARG_REGISTERS64)
- *fpr_base.d++ = double_tmp;
- fparg_count++;
- FFI_ASSERT (__LDBL_MANT_DIG__ == 106);
- FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
- break;
-#endif
-
- case FFI_TYPE_STRUCT:
- words = ((*ptr)->size + 7) / 8;
- if (next_arg.ul >= gpr_base.ul && next_arg.ul + words > gpr_end.ul)
- {
- size_t first = gpr_end.c - next_arg.c;
- memcpy (next_arg.c, *p_argv.c, first);
- memcpy (rest.c, *p_argv.c + first, (*ptr)->size - first);
- next_arg.c = rest.c + words * 8 - first;
- }
- else
- {
- char *where = next_arg.c;
-
- /* Structures with size less than eight bytes are passed
- left-padded. */
- if ((*ptr)->size < 8)
- where += 8 - (*ptr)->size;
-
- memcpy (where, *p_argv.c, (*ptr)->size);
- next_arg.ul += words;
- if (next_arg.ul == gpr_end.ul)
- next_arg.ul = rest.ul;
- }
- break;
-
- case FFI_TYPE_UINT8:
- gprvalue = **p_argv.uc;
- goto putgpr;
- case FFI_TYPE_SINT8:
- gprvalue = **p_argv.sc;
- goto putgpr;
- case FFI_TYPE_UINT16:
- gprvalue = **p_argv.us;
- goto putgpr;
- case FFI_TYPE_SINT16:
- gprvalue = **p_argv.ss;
- goto putgpr;
- case FFI_TYPE_UINT32:
- gprvalue = **p_argv.ui;
- goto putgpr;
- case FFI_TYPE_INT:
- case FFI_TYPE_SINT32:
- gprvalue = **p_argv.si;
- goto putgpr;
-
- case FFI_TYPE_UINT64:
- case FFI_TYPE_SINT64:
- case FFI_TYPE_POINTER:
- gprvalue = **p_argv.ul;
- putgpr:
- *next_arg.ul++ = gprvalue;
- if (next_arg.ul == gpr_end.ul)
- next_arg.ul = rest.ul;
- break;
- }
- }
-
- FFI_ASSERT (flags & FLAG_4_GPR_ARGUMENTS
- || (next_arg.ul >= gpr_base.ul
- && next_arg.ul <= gpr_base.ul + 4));
-}
-
-
-
-/* Perform machine dependent cif processing */
-ffi_status
-ffi_prep_cif_machdep (ffi_cif *cif)
-{
- /* All this is for the SYSV and LINUX64 ABI. */
- int i;
- ffi_type **ptr;
- unsigned bytes;
- int fparg_count = 0, intarg_count = 0;
- unsigned flags = 0;
- unsigned struct_copy_size = 0;
- unsigned type = cif->rtype->type;
- unsigned size = cif->rtype->size;
-
- if (cif->abi == FFI_LINUX_SOFT_FLOAT)
- NUM_FPR_ARG_REGISTERS = 0;
-
- if (cif->abi != FFI_LINUX64)
- {
- /* All the machine-independent calculation of cif->bytes will be wrong.
- Redo the calculation for SYSV. */
-
- /* Space for the frame pointer, callee's LR, and the asm's temp regs. */
- bytes = (2 + ASM_NEEDS_REGISTERS) * sizeof (int);
-
- /* Space for the GPR registers. */
- bytes += NUM_GPR_ARG_REGISTERS * sizeof (int);
- }
- else
- {
- /* 64-bit ABI. */
-
- /* Space for backchain, CR, LR, cc/ld doubleword, TOC and the asm's temp
- regs. */
- bytes = (6 + ASM_NEEDS_REGISTERS64) * sizeof (long);
-
- /* Space for the mandatory parm save area and general registers. */
- bytes += 2 * NUM_GPR_ARG_REGISTERS64 * sizeof (long);
- }
-
- /* Return value handling. The rules for SYSV are as follows:
- - 32-bit (or less) integer values are returned in gpr3;
- - Structures of size <= 4 bytes also returned in gpr3;
- - 64-bit integer values and structures between 5 and 8 bytes are returned
- in gpr3 and gpr4;
- - Single/double FP values are returned in fpr1;
- - Larger structures are allocated space and a pointer is passed as
- the first argument.
- - long doubles (if not equivalent to double) are returned in
- fpr1,fpr2 for Linux and as for large structs for SysV.
- For LINUX64:
- - integer values in gpr3;
- - Structures/Unions by reference;
- - Single/double FP values in fpr1, long double in fpr1,fpr2.
- - soft-float float/doubles are treated as UINT32/UINT64 respectivley.
- - soft-float long doubles are returned in gpr3-gpr6. */
- switch (type)
- {
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- case FFI_TYPE_LONGDOUBLE:
- if (cif->abi != FFI_LINUX && cif->abi != FFI_LINUX64
- && cif->abi != FFI_LINUX_SOFT_FLOAT)
- goto byref;
- flags |= FLAG_RETURNS_128BITS;
- /* Fall through. */
-#endif
- case FFI_TYPE_DOUBLE:
- flags |= FLAG_RETURNS_64BITS;
- /* Fall through. */
- case FFI_TYPE_FLOAT:
- /* With FFI_LINUX_SOFT_FLOAT no fp registers are used. */
- if (cif->abi != FFI_LINUX_SOFT_FLOAT)
- flags |= FLAG_RETURNS_FP;
- break;
-
- case FFI_TYPE_UINT64:
- case FFI_TYPE_SINT64:
- flags |= FLAG_RETURNS_64BITS;
- break;
-
- case FFI_TYPE_STRUCT:
- if (cif->abi == FFI_SYSV)
- {
- /* The final SYSV ABI says that structures smaller or equal 8 bytes
- are returned in r3/r4. The FFI_GCC_SYSV ABI instead returns them
- in memory. */
-
- /* Treat structs with size <= 8 bytes. */
- if (size <= 8)
- {
- flags |= FLAG_RETURNS_SMST;
- /* These structs are returned in r3. We pack the type and the
- precalculated shift value (needed in the sysv.S) into flags.
- The same applies for the structs returned in r3/r4. */
- if (size <= 4)
- {
- flags |= FLAG_SYSV_SMST_R3;
- flags |= 8 * (4 - size) << 8;
- break;
- }
- /* These structs are returned in r3 and r4. See above. */
- if (size <= 8)
- {
- flags |= FLAG_SYSV_SMST_R3 | FLAG_SYSV_SMST_R4;
- flags |= 8 * (8 - size) << 8;
- break;
- }
- }
- }
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- byref:
-#endif
- intarg_count++;
- flags |= FLAG_RETVAL_REFERENCE;
- /* Fall through. */
- case FFI_TYPE_VOID:
- flags |= FLAG_RETURNS_NOTHING;
- break;
-
- default:
- /* Returns 32-bit integer, or similar. Nothing to do here. */
- break;
- }
-
- if (cif->abi != FFI_LINUX64)
- /* The first NUM_GPR_ARG_REGISTERS words of integer arguments, and the
- first NUM_FPR_ARG_REGISTERS fp arguments, go in registers; the rest
- goes on the stack. Structures and long doubles (if not equivalent
- to double) are passed as a pointer to a copy of the structure.
- Stuff on the stack needs to keep proper alignment. */
- for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++)
- {
- switch ((*ptr)->type)
- {
- case FFI_TYPE_FLOAT:
- /* With FFI_LINUX_SOFT_FLOAT floats are handled like UINT32. */
- if (cif->abi == FFI_LINUX_SOFT_FLOAT)
- goto soft_float_cif;
- fparg_count++;
- /* floating singles are not 8-aligned on stack */
- break;
-
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- case FFI_TYPE_LONGDOUBLE:
- if (cif->abi != FFI_LINUX && cif->abi != FFI_LINUX_SOFT_FLOAT)
- goto do_struct;
- if (cif->abi == FFI_LINUX_SOFT_FLOAT)
- {
- if (intarg_count >= NUM_GPR_ARG_REGISTERS - 3
- || intarg_count < NUM_GPR_ARG_REGISTERS)
- /* A long double in FFI_LINUX_SOFT_FLOAT can use only
- a set of four consecutive gprs. If we have not enough,
- we have to adjust the intarg_count value. */
- intarg_count += NUM_GPR_ARG_REGISTERS - intarg_count;
- intarg_count += 4;
- break;
- }
- else
- fparg_count++;
- /* Fall thru */
-#endif
- case FFI_TYPE_DOUBLE:
- /* With FFI_LINUX_SOFT_FLOAT doubles are handled like UINT64. */
- if (cif->abi == FFI_LINUX_SOFT_FLOAT)
- goto soft_double_cif;
- fparg_count++;
- /* If this FP arg is going on the stack, it must be
- 8-byte-aligned. */
- if (fparg_count > NUM_FPR_ARG_REGISTERS
- && intarg_count >= NUM_GPR_ARG_REGISTERS
- && intarg_count % 2 != 0)
- intarg_count++;
- break;
-
- case FFI_TYPE_UINT64:
- case FFI_TYPE_SINT64:
- soft_double_cif:
- /* 'long long' arguments are passed as two words, but
- either both words must fit in registers or both go
- on the stack. If they go on the stack, they must
- be 8-byte-aligned.
-
- Also, only certain register pairs can be used for
- passing long long int -- specifically (r3,r4), (r5,r6),
- (r7,r8), (r9,r10).
- */
- if (intarg_count == NUM_GPR_ARG_REGISTERS-1
- || intarg_count % 2 != 0)
- intarg_count++;
- intarg_count += 2;
- break;
-
- case FFI_TYPE_STRUCT:
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- do_struct:
-#endif
- /* We must allocate space for a copy of these to enforce
- pass-by-value. Pad the space up to a multiple of 16
- bytes (the maximum alignment required for anything under
- the SYSV ABI). */
- struct_copy_size += ((*ptr)->size + 15) & ~0xF;
- /* Fall through (allocate space for the pointer). */
-
- default:
- soft_float_cif:
- /* Everything else is passed as a 4-byte word in a GPR, either
- the object itself or a pointer to it. */
- intarg_count++;
- break;
- }
- }
- else
- for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++)
- {
- switch ((*ptr)->type)
- {
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- case FFI_TYPE_LONGDOUBLE:
- if (cif->abi == FFI_LINUX_SOFT_FLOAT)
- intarg_count += 4;
- else
- {
- fparg_count += 2;
- intarg_count += 2;
- }
- break;
-#endif
- case FFI_TYPE_FLOAT:
- case FFI_TYPE_DOUBLE:
- fparg_count++;
- intarg_count++;
- break;
-
- case FFI_TYPE_STRUCT:
- intarg_count += ((*ptr)->size + 7) / 8;
- break;
-
- default:
- /* Everything else is passed as a 8-byte word in a GPR, either
- the object itself or a pointer to it. */
- intarg_count++;
- break;
- }
- }
-
- if (fparg_count != 0)
- flags |= FLAG_FP_ARGUMENTS;
- if (intarg_count > 4)
- flags |= FLAG_4_GPR_ARGUMENTS;
- if (struct_copy_size != 0)
- flags |= FLAG_ARG_NEEDS_COPY;
-
- if (cif->abi != FFI_LINUX64)
- {
- /* Space for the FPR registers, if needed. */
- if (fparg_count != 0)
- bytes += NUM_FPR_ARG_REGISTERS * sizeof (double);
-
- /* Stack space. */
- if (intarg_count > NUM_GPR_ARG_REGISTERS)
- bytes += (intarg_count - NUM_GPR_ARG_REGISTERS) * sizeof (int);
- if (fparg_count > NUM_FPR_ARG_REGISTERS)
- bytes += (fparg_count - NUM_FPR_ARG_REGISTERS) * sizeof (double);
- }
- else
- {
- /* Space for the FPR registers, if needed. */
- if (fparg_count != 0)
- bytes += NUM_FPR_ARG_REGISTERS64 * sizeof (double);
-
- /* Stack space. */
- if (intarg_count > NUM_GPR_ARG_REGISTERS64)
- bytes += (intarg_count - NUM_GPR_ARG_REGISTERS64) * sizeof (long);
- }
-
- /* The stack space allocated needs to be a multiple of 16 bytes. */
- bytes = (bytes + 15) & ~0xF;
-
- /* Add in the space for the copied structures. */
- bytes += struct_copy_size;
-
- cif->flags = flags;
- cif->bytes = bytes;
-
- return FFI_OK;
-}
-
-extern void ffi_call_SYSV(extended_cif *, unsigned, unsigned, unsigned *,
- void (*fn)(void));
-extern void FFI_HIDDEN ffi_call_LINUX64(extended_cif *, unsigned long,
- unsigned long, unsigned long *,
- void (*fn)(void));
-
-void
-ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
-{
- extended_cif ecif;
-
- ecif.cif = cif;
- ecif.avalue = avalue;
-
- /* If the return value is a struct and we don't have a return */
- /* value address then we need to make one */
-
- if ((rvalue == NULL) && (cif->rtype->type == FFI_TYPE_STRUCT))
- {
- ecif.rvalue = alloca(cif->rtype->size);
- }
- else
- ecif.rvalue = rvalue;
-
-
- switch (cif->abi)
- {
-#ifndef POWERPC64
- case FFI_SYSV:
- case FFI_GCC_SYSV:
- case FFI_LINUX:
- case FFI_LINUX_SOFT_FLOAT:
- ffi_call_SYSV (&ecif, -cif->bytes, cif->flags, ecif.rvalue, fn);
- break;
-#else
- case FFI_LINUX64:
- ffi_call_LINUX64 (&ecif, -(long) cif->bytes, cif->flags, ecif.rvalue, fn);
- break;
-#endif
- default:
- FFI_ASSERT (0);
- break;
- }
-}
-
-
-#ifndef POWERPC64
-#define MIN_CACHE_LINE_SIZE 8
-
-static void
-flush_icache (char *wraddr, char *xaddr, int size)
-{
- int i;
- for (i = 0; i < size; i += MIN_CACHE_LINE_SIZE)
- __asm__ volatile ("icbi 0,%0;" "dcbf 0,%1;"
- : : "r" (xaddr + i), "r" (wraddr + i) : "memory");
- __asm__ volatile ("icbi 0,%0;" "dcbf 0,%1;" "sync;" "isync;"
- : : "r"(xaddr + size - 1), "r"(wraddr + size - 1)
- : "memory");
-}
-#endif
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure *closure,
- ffi_cif *cif,
- void (*fun) (ffi_cif *, void *, void **, void *),
- void *user_data,
- void *codeloc)
-{
-#ifdef POWERPC64
- void **tramp = (void **) &closure->tramp[0];
-
- FFI_ASSERT (cif->abi == FFI_LINUX64);
- /* Copy function address and TOC from ffi_closure_LINUX64. */
- memcpy (tramp, (char *) ffi_closure_LINUX64, 16);
- tramp[2] = codeloc;
-#else
- unsigned int *tramp;
-
- FFI_ASSERT (cif->abi == FFI_GCC_SYSV || cif->abi == FFI_SYSV);
-
- tramp = (unsigned int *) &closure->tramp[0];
- tramp[0] = 0x7c0802a6; /* mflr r0 */
- tramp[1] = 0x4800000d; /* bl 10 <trampoline_initial+0x10> */
- tramp[4] = 0x7d6802a6; /* mflr r11 */
- tramp[5] = 0x7c0803a6; /* mtlr r0 */
- tramp[6] = 0x800b0000; /* lwz r0,0(r11) */
- tramp[7] = 0x816b0004; /* lwz r11,4(r11) */
- tramp[8] = 0x7c0903a6; /* mtctr r0 */
- tramp[9] = 0x4e800420; /* bctr */
- *(void **) &tramp[2] = (void *) ffi_closure_SYSV; /* function */
- *(void **) &tramp[3] = codeloc; /* context */
-
- /* Flush the icache. */
- flush_icache ((char *)tramp, (char *)codeloc, FFI_TRAMPOLINE_SIZE);
-#endif
-
- closure->cif = cif;
- closure->fun = fun;
- closure->user_data = user_data;
-
- return FFI_OK;
-}
-
-typedef union
-{
- float f;
- double d;
-} ffi_dblfl;
-
-int ffi_closure_helper_SYSV (ffi_closure *, void *, unsigned long *,
- ffi_dblfl *, unsigned long *);
-
-/* Basically the trampoline invokes ffi_closure_SYSV, and on
- * entry, r11 holds the address of the closure.
- * After storing the registers that could possibly contain
- * parameters to be passed into the stack frame and setting
- * up space for a return value, ffi_closure_SYSV invokes the
- * following helper function to do most of the work
- */
-
-int
-ffi_closure_helper_SYSV (ffi_closure *closure, void *rvalue,
- unsigned long *pgr, ffi_dblfl *pfr,
- unsigned long *pst)
-{
- /* rvalue is the pointer to space for return value in closure assembly */
- /* pgr is the pointer to where r3-r10 are stored in ffi_closure_SYSV */
- /* pfr is the pointer to where f1-f8 are stored in ffi_closure_SYSV */
- /* pst is the pointer to outgoing parameter stack in original caller */
-
- void ** avalue;
- ffi_type ** arg_types;
- long i, avn;
- long nf; /* number of floating registers already used */
- long ng; /* number of general registers already used */
- ffi_cif * cif;
- double temp;
- unsigned size;
-
- cif = closure->cif;
- avalue = alloca (cif->nargs * sizeof (void *));
- size = cif->rtype->size;
-
- nf = 0;
- ng = 0;
-
- /* Copy the caller's structure return value address so that the closure
- returns the data directly to the caller.
- For FFI_SYSV the result is passed in r3/r4 if the struct size is less
- or equal 8 bytes. */
-
- if ((cif->rtype->type == FFI_TYPE_STRUCT
- && !((cif->abi == FFI_SYSV) && (size <= 8)))
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- || (cif->rtype->type == FFI_TYPE_LONGDOUBLE
- && cif->abi != FFI_LINUX && cif->abi != FFI_LINUX_SOFT_FLOAT)
-#endif
- )
- {
- rvalue = (void *) *pgr;
- ng++;
- pgr++;
- }
-
- i = 0;
- avn = cif->nargs;
- arg_types = cif->arg_types;
-
- /* Grab the addresses of the arguments from the stack frame. */
- while (i < avn)
- {
- switch (arg_types[i]->type)
- {
- case FFI_TYPE_SINT8:
- case FFI_TYPE_UINT8:
- /* there are 8 gpr registers used to pass values */
- if (ng < 8)
- {
- avalue[i] = (char *) pgr + 3;
- ng++;
- pgr++;
- }
- else
- {
- avalue[i] = (char *) pst + 3;
- pst++;
- }
- break;
-
- case FFI_TYPE_SINT16:
- case FFI_TYPE_UINT16:
- /* there are 8 gpr registers used to pass values */
- if (ng < 8)
- {
- avalue[i] = (char *) pgr + 2;
- ng++;
- pgr++;
- }
- else
- {
- avalue[i] = (char *) pst + 2;
- pst++;
- }
- break;
-
- case FFI_TYPE_SINT32:
- case FFI_TYPE_UINT32:
- case FFI_TYPE_POINTER:
- soft_float_closure:
- /* there are 8 gpr registers used to pass values */
- if (ng < 8)
- {
- avalue[i] = pgr;
- ng++;
- pgr++;
- }
- else
- {
- avalue[i] = pst;
- pst++;
- }
- break;
-
- case FFI_TYPE_STRUCT:
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- do_struct:
-#endif
- /* Structs are passed by reference. The address will appear in a
- gpr if it is one of the first 8 arguments. */
- if (ng < 8)
- {
- avalue[i] = (void *) *pgr;
- ng++;
- pgr++;
- }
- else
- {
- avalue[i] = (void *) *pst;
- pst++;
- }
- break;
-
- case FFI_TYPE_SINT64:
- case FFI_TYPE_UINT64:
- soft_double_closure:
- /* passing long long ints are complex, they must
- * be passed in suitable register pairs such as
- * (r3,r4) or (r5,r6) or (r6,r7), or (r7,r8) or (r9,r10)
- * and if the entire pair aren't available then the outgoing
- * parameter stack is used for both but an alignment of 8
- * must will be kept. So we must either look in pgr
- * or pst to find the correct address for this type
- * of parameter.
- */
- if (ng < 7)
- {
- if (ng & 0x01)
- {
- /* skip r4, r6, r8 as starting points */
- ng++;
- pgr++;
- }
- avalue[i] = pgr;
- ng += 2;
- pgr += 2;
- }
- else
- {
- if (((long) pst) & 4)
- pst++;
- avalue[i] = pst;
- pst += 2;
- ng = 8;
- }
- break;
-
- case FFI_TYPE_FLOAT:
- /* With FFI_LINUX_SOFT_FLOAT floats are handled like UINT32. */
- if (cif->abi == FFI_LINUX_SOFT_FLOAT)
- goto soft_float_closure;
- /* unfortunately float values are stored as doubles
- * in the ffi_closure_SYSV code (since we don't check
- * the type in that routine).
- */
-
- /* there are 8 64bit floating point registers */
-
- if (nf < 8)
- {
- temp = pfr->d;
- pfr->f = (float) temp;
- avalue[i] = pfr;
- nf++;
- pfr++;
- }
- else
- {
- /* FIXME? here we are really changing the values
- * stored in the original calling routines outgoing
- * parameter stack. This is probably a really
- * naughty thing to do but...
- */
- avalue[i] = pst;
- pst += 1;
- }
- break;
-
- case FFI_TYPE_DOUBLE:
- /* With FFI_LINUX_SOFT_FLOAT doubles are handled like UINT64. */
- if (cif->abi == FFI_LINUX_SOFT_FLOAT)
- goto soft_double_closure;
- /* On the outgoing stack all values are aligned to 8 */
- /* there are 8 64bit floating point registers */
-
- if (nf < 8)
- {
- avalue[i] = pfr;
- nf++;
- pfr++;
- }
- else
- {
- if (((long) pst) & 4)
- pst++;
- avalue[i] = pst;
- pst += 2;
- }
- break;
-
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- case FFI_TYPE_LONGDOUBLE:
- if (cif->abi != FFI_LINUX && cif->abi != FFI_LINUX_SOFT_FLOAT)
- goto do_struct;
- if (cif->abi == FFI_LINUX_SOFT_FLOAT)
- { /* Test if for the whole long double, 4 gprs are available.
- otherwise the stuff ends up on the stack. */
- if (ng < 5)
- {
- avalue[i] = pgr;
- pgr += 4;
- ng += 4;
- }
- else
- {
- avalue[i] = pst;
- pst += 4;
- ng = 8;
- }
- break;
- }
- if (nf < 7)
- {
- avalue[i] = pfr;
- pfr += 2;
- nf += 2;
- }
- else
- {
- if (((long) pst) & 4)
- pst++;
- avalue[i] = pst;
- pst += 4;
- nf = 8;
- }
- break;
-#endif
-
- default:
- FFI_ASSERT (0);
- }
-
- i++;
- }
-
-
- (closure->fun) (cif, rvalue, avalue, closure->user_data);
-
- /* Tell ffi_closure_SYSV how to perform return type promotions.
- Because the FFI_SYSV ABI returns the structures <= 8 bytes in r3/r4
- we have to tell ffi_closure_SYSV how to treat them. We combine the base
- type FFI_SYSV_TYPE_SMALL_STRUCT - 1 with the size of the struct.
- So a one byte struct gets the return type 16. Return type 1 to 15 are
- already used and we never have a struct with size zero. That is the reason
- for the subtraction of 1. See the comment in ffitarget.h about ordering.
- */
- if (cif->abi == FFI_SYSV && cif->rtype->type == FFI_TYPE_STRUCT
- && size <= 8)
- return (FFI_SYSV_TYPE_SMALL_STRUCT - 1) + size;
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- else if (cif->rtype->type == FFI_TYPE_LONGDOUBLE
- && cif->abi != FFI_LINUX && cif->abi != FFI_LINUX_SOFT_FLOAT)
- return FFI_TYPE_STRUCT;
-#endif
- /* With FFI_LINUX_SOFT_FLOAT floats and doubles are handled like UINT32
- respectivley UINT64. */
- if (cif->abi == FFI_LINUX_SOFT_FLOAT)
- {
- switch (cif->rtype->type)
- {
- case FFI_TYPE_FLOAT:
- return FFI_TYPE_UINT32;
- break;
- case FFI_TYPE_DOUBLE:
- return FFI_TYPE_UINT64;
- break;
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- case FFI_TYPE_LONGDOUBLE:
- return FFI_TYPE_UINT128;
- break;
-#endif
- default:
- return cif->rtype->type;
- }
- }
- else
- {
- return cif->rtype->type;
- }
-}
-
-int FFI_HIDDEN ffi_closure_helper_LINUX64 (ffi_closure *, void *,
- unsigned long *, ffi_dblfl *);
-
-int FFI_HIDDEN
-ffi_closure_helper_LINUX64 (ffi_closure *closure, void *rvalue,
- unsigned long *pst, ffi_dblfl *pfr)
-{
- /* rvalue is the pointer to space for return value in closure assembly */
- /* pst is the pointer to parameter save area
- (r3-r10 are stored into its first 8 slots by ffi_closure_LINUX64) */
- /* pfr is the pointer to where f1-f13 are stored in ffi_closure_LINUX64 */
-
- void **avalue;
- ffi_type **arg_types;
- long i, avn;
- ffi_cif *cif;
- ffi_dblfl *end_pfr = pfr + NUM_FPR_ARG_REGISTERS64;
-
- cif = closure->cif;
- avalue = alloca (cif->nargs * sizeof (void *));
-
- /* Copy the caller's structure return value address so that the closure
- returns the data directly to the caller. */
- if (cif->rtype->type == FFI_TYPE_STRUCT)
- {
- rvalue = (void *) *pst;
- pst++;
- }
-
- i = 0;
- avn = cif->nargs;
- arg_types = cif->arg_types;
-
- /* Grab the addresses of the arguments from the stack frame. */
- while (i < avn)
- {
- switch (arg_types[i]->type)
- {
- case FFI_TYPE_SINT8:
- case FFI_TYPE_UINT8:
- avalue[i] = (char *) pst + 7;
- pst++;
- break;
-
- case FFI_TYPE_SINT16:
- case FFI_TYPE_UINT16:
- avalue[i] = (char *) pst + 6;
- pst++;
- break;
-
- case FFI_TYPE_SINT32:
- case FFI_TYPE_UINT32:
- avalue[i] = (char *) pst + 4;
- pst++;
- break;
-
- case FFI_TYPE_SINT64:
- case FFI_TYPE_UINT64:
- case FFI_TYPE_POINTER:
- avalue[i] = pst;
- pst++;
- break;
-
- case FFI_TYPE_STRUCT:
- /* Structures with size less than eight bytes are passed
- left-padded. */
- if (arg_types[i]->size < 8)
- avalue[i] = (char *) pst + 8 - arg_types[i]->size;
- else
- avalue[i] = pst;
- pst += (arg_types[i]->size + 7) / 8;
- break;
-
- case FFI_TYPE_FLOAT:
- /* unfortunately float values are stored as doubles
- * in the ffi_closure_LINUX64 code (since we don't check
- * the type in that routine).
- */
-
- /* there are 13 64bit floating point registers */
-
- if (pfr < end_pfr)
- {
- double temp = pfr->d;
- pfr->f = (float) temp;
- avalue[i] = pfr;
- pfr++;
- }
- else
- avalue[i] = pst;
- pst++;
- break;
-
- case FFI_TYPE_DOUBLE:
- /* On the outgoing stack all values are aligned to 8 */
- /* there are 13 64bit floating point registers */
-
- if (pfr < end_pfr)
- {
- avalue[i] = pfr;
- pfr++;
- }
- else
- avalue[i] = pst;
- pst++;
- break;
-
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- case FFI_TYPE_LONGDOUBLE:
- if (pfr + 1 < end_pfr)
- {
- avalue[i] = pfr;
- pfr += 2;
- }
- else
- {
- if (pfr < end_pfr)
- {
- /* Passed partly in f13 and partly on the stack.
- Move it all to the stack. */
- *pst = *(unsigned long *) pfr;
- pfr++;
- }
- avalue[i] = pst;
- }
- pst += 2;
- break;
-#endif
-
- default:
- FFI_ASSERT (0);
- }
-
- i++;
- }
-
-
- (closure->fun) (cif, rvalue, avalue, closure->user_data);
-
- /* Tell ffi_closure_LINUX64 how to perform return type promotions. */
- return cif->rtype->type;
-}
diff --git a/.pc/bad-abi-fix/src/prep_cif.c b/.pc/bad-abi-fix/src/prep_cif.c
deleted file mode 100644
index 66ac0ba..0000000
--- a/.pc/bad-abi-fix/src/prep_cif.c
+++ /dev/null
@@ -1,188 +0,0 @@
-/* -----------------------------------------------------------------------
- prep_cif.c - Copyright (c) 2011, 2012 Anthony Green
- Copyright (c) 1996, 1998, 2007 Red Hat, Inc.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
- ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-#include <stdlib.h>
-
-#ifndef __GNUC__
-#define __builtin_expect(x, expected_value) (x)
-#endif
-#define LIKELY(x) __builtin_expect((x),1)
-#define UNLIKELY(x) __builtin_expect((x),1)
-
-/* Round up to FFI_SIZEOF_ARG. */
-
-#define STACK_ARG_SIZE(x) ALIGN(x, FFI_SIZEOF_ARG)
-
-/* Perform machine independent initialization of aggregate type
- specifications. */
-
-static ffi_status initialize_aggregate(ffi_type *arg)
-{
- ffi_type **ptr;
-
- FFI_ASSERT(arg != NULL);
-
- FFI_ASSERT(arg->elements != NULL);
- FFI_ASSERT(arg->size == 0);
- FFI_ASSERT(arg->alignment == 0);
-
- ptr = &(arg->elements[0]);
-
- if (UNLIKELY(ptr == 0))
- return FFI_BAD_TYPEDEF;
-
- while ((*ptr) != NULL)
- {
- if (UNLIKELY(((*ptr)->size == 0)
- && (initialize_aggregate((*ptr)) != FFI_OK)))
- return FFI_BAD_TYPEDEF;
-
- /* Perform a sanity check on the argument type */
- FFI_ASSERT_VALID_TYPE(*ptr);
-
- arg->size = ALIGN(arg->size, (*ptr)->alignment);
- arg->size += (*ptr)->size;
-
- arg->alignment = (arg->alignment > (*ptr)->alignment) ?
- arg->alignment : (*ptr)->alignment;
-
- ptr++;
- }
-
- /* Structure size includes tail padding. This is important for
- structures that fit in one register on ABIs like the PowerPC64
- Linux ABI that right justify small structs in a register.
- It's also needed for nested structure layout, for example
- struct A { long a; char b; }; struct B { struct A x; char y; };
- should find y at an offset of 2*sizeof(long) and result in a
- total size of 3*sizeof(long). */
- arg->size = ALIGN (arg->size, arg->alignment);
-
- if (arg->size == 0)
- return FFI_BAD_TYPEDEF;
- else
- return FFI_OK;
-}
-
-#ifndef __CRIS__
-/* The CRIS ABI specifies structure elements to have byte
- alignment only, so it completely overrides this functions,
- which assumes "natural" alignment and padding. */
-
-/* Perform machine independent ffi_cif preparation, then call
- machine dependent routine. */
-
-ffi_status ffi_prep_cif(ffi_cif *cif, ffi_abi abi, unsigned int nargs,
- ffi_type *rtype, ffi_type **atypes)
-{
- unsigned bytes = 0;
- unsigned int i;
- ffi_type **ptr;
-
- FFI_ASSERT(cif != NULL);
-#ifndef X86_WIN32
- if (! (abi > FFI_FIRST_ABI) && (abi <= FFI_LAST_ABI))
- return FFI_BAD_ABI;
-#else
- if (! (abi > FFI_FIRST_ABI && abi < FFI_LAST_ABI || abi == FFI_THISCALL))
- return FFI_BAD_ABI;
-#endif
-
- cif->abi = abi;
- cif->arg_types = atypes;
- cif->nargs = nargs;
- cif->rtype = rtype;
-
- cif->flags = 0;
-
- /* Initialize the return type if necessary */
- if ((cif->rtype->size == 0) && (initialize_aggregate(cif->rtype) != FFI_OK))
- return FFI_BAD_TYPEDEF;
-
- /* Perform a sanity check on the return type */
- FFI_ASSERT_VALID_TYPE(cif->rtype);
-
- /* x86, x86-64 and s390 stack space allocation is handled in prep_machdep. */
-#if !defined M68K && !defined X86_ANY && !defined S390 && !defined PA
- /* Make space for the return structure pointer */
- if (cif->rtype->type == FFI_TYPE_STRUCT
-#ifdef SPARC
- && (cif->abi != FFI_V9 || cif->rtype->size > 32)
-#endif
- )
- bytes = STACK_ARG_SIZE(sizeof(void*));
-#endif
-
- for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++)
- {
-
- /* Initialize any uninitialized aggregate type definitions */
- if (((*ptr)->size == 0) && (initialize_aggregate((*ptr)) != FFI_OK))
- return FFI_BAD_TYPEDEF;
-
- /* Perform a sanity check on the argument type, do this
- check after the initialization. */
- FFI_ASSERT_VALID_TYPE(*ptr);
-
-#if !defined X86_ANY && !defined S390 && !defined PA
-#ifdef SPARC
- if (((*ptr)->type == FFI_TYPE_STRUCT
- && ((*ptr)->size > 16 || cif->abi != FFI_V9))
- || ((*ptr)->type == FFI_TYPE_LONGDOUBLE
- && cif->abi != FFI_V9))
- bytes += sizeof(void*);
- else
-#endif
- {
- /* Add any padding if necessary */
- if (((*ptr)->alignment - 1) & bytes)
- bytes = ALIGN(bytes, (*ptr)->alignment);
-
- bytes += STACK_ARG_SIZE((*ptr)->size);
- }
-#endif
- }
-
- cif->bytes = bytes;
-
- /* Perform machine dependent cif processing */
- return ffi_prep_cif_machdep(cif);
-}
-#endif /* not __CRIS__ */
-
-#if FFI_CLOSURES
-
-ffi_status
-ffi_prep_closure (ffi_closure* closure,
- ffi_cif* cif,
- void (*fun)(ffi_cif*,void*,void**,void*),
- void *user_data)
-{
- return ffi_prep_closure_loc (closure, cif, fun, user_data, closure);
-}
-
-#endif
diff --git a/.pc/bad-abi-fix/src/x86/ffi64.c b/.pc/bad-abi-fix/src/x86/ffi64.c
deleted file mode 100644
index c523b2e..0000000
--- a/.pc/bad-abi-fix/src/x86/ffi64.c
+++ /dev/null
@@ -1,640 +0,0 @@
-/* -----------------------------------------------------------------------
- ffi64.c - Copyright (c) 2002, 2007 Bo Thorsen <bo@suse.de>
- Copyright (c) 2008, 2010 Red Hat, Inc.
-
- x86-64 Foreign Function Interface
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
- ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#ifndef __GNUC__
-#define __builtin_expect(x, expected_value) (x)
-#endif
-#define LIKELY(x) __builtin_expect((x),1)
-#define UNLIKELY(x) __builtin_expect((x),1)
-
-#include <stdlib.h>
-#include <stdarg.h>
-
-#ifdef __x86_64__
-
-#define MAX_GPR_REGS 6
-#define MAX_SSE_REGS 8
-
-struct register_args
-{
- /* Registers for argument passing. */
- UINT64 gpr[MAX_GPR_REGS];
- __int128_t sse[MAX_SSE_REGS];
-};
-
-extern void ffi_call_unix64 (void *args, unsigned long bytes, unsigned flags,
- void *raddr, void (*fnaddr)(void), unsigned ssecount);
-
-/* All reference to register classes here is identical to the code in
- gcc/config/i386/i386.c. Do *not* change one without the other. */
-
-/* Register class used for passing given 64bit part of the argument.
- These represent classes as documented by the PS ABI, with the
- exception of SSESF, SSEDF classes, that are basically SSE class,
- just gcc will use SF or DFmode move instead of DImode to avoid
- reformatting penalties.
-
- Similary we play games with INTEGERSI_CLASS to use cheaper SImode moves
- whenever possible (upper half does contain padding). */
-enum x86_64_reg_class
- {
- X86_64_NO_CLASS,
- X86_64_INTEGER_CLASS,
- X86_64_INTEGERSI_CLASS,
- X86_64_SSE_CLASS,
- X86_64_SSESF_CLASS,
- X86_64_SSEDF_CLASS,
- X86_64_SSEUP_CLASS,
- X86_64_X87_CLASS,
- X86_64_X87UP_CLASS,
- X86_64_COMPLEX_X87_CLASS,
- X86_64_MEMORY_CLASS
- };
-
-#define MAX_CLASSES 4
-
-#define SSE_CLASS_P(X) ((X) >= X86_64_SSE_CLASS && X <= X86_64_SSEUP_CLASS)
-
-/* x86-64 register passing implementation. See x86-64 ABI for details. Goal
- of this code is to classify each 8bytes of incoming argument by the register
- class and assign registers accordingly. */
-
-/* Return the union class of CLASS1 and CLASS2.
- See the x86-64 PS ABI for details. */
-
-static enum x86_64_reg_class
-merge_classes (enum x86_64_reg_class class1, enum x86_64_reg_class class2)
-{
- /* Rule #1: If both classes are equal, this is the resulting class. */
- if (class1 == class2)
- return class1;
-
- /* Rule #2: If one of the classes is NO_CLASS, the resulting class is
- the other class. */
- if (class1 == X86_64_NO_CLASS)
- return class2;
- if (class2 == X86_64_NO_CLASS)
- return class1;
-
- /* Rule #3: If one of the classes is MEMORY, the result is MEMORY. */
- if (class1 == X86_64_MEMORY_CLASS || class2 == X86_64_MEMORY_CLASS)
- return X86_64_MEMORY_CLASS;
-
- /* Rule #4: If one of the classes is INTEGER, the result is INTEGER. */
- if ((class1 == X86_64_INTEGERSI_CLASS && class2 == X86_64_SSESF_CLASS)
- || (class2 == X86_64_INTEGERSI_CLASS && class1 == X86_64_SSESF_CLASS))
- return X86_64_INTEGERSI_CLASS;
- if (class1 == X86_64_INTEGER_CLASS || class1 == X86_64_INTEGERSI_CLASS
- || class2 == X86_64_INTEGER_CLASS || class2 == X86_64_INTEGERSI_CLASS)
- return X86_64_INTEGER_CLASS;
-
- /* Rule #5: If one of the classes is X87, X87UP, or COMPLEX_X87 class,
- MEMORY is used. */
- if (class1 == X86_64_X87_CLASS
- || class1 == X86_64_X87UP_CLASS
- || class1 == X86_64_COMPLEX_X87_CLASS
- || class2 == X86_64_X87_CLASS
- || class2 == X86_64_X87UP_CLASS
- || class2 == X86_64_COMPLEX_X87_CLASS)
- return X86_64_MEMORY_CLASS;
-
- /* Rule #6: Otherwise class SSE is used. */
- return X86_64_SSE_CLASS;
-}
-
-/* Classify the argument of type TYPE and mode MODE.
- CLASSES will be filled by the register class used to pass each word
- of the operand. The number of words is returned. In case the parameter
- should be passed in memory, 0 is returned. As a special case for zero
- sized containers, classes[0] will be NO_CLASS and 1 is returned.
-
- See the x86-64 PS ABI for details.
-*/
-static int
-classify_argument (ffi_type *type, enum x86_64_reg_class classes[],
- size_t byte_offset)
-{
- switch (type->type)
- {
- case FFI_TYPE_UINT8:
- case FFI_TYPE_SINT8:
- case FFI_TYPE_UINT16:
- case FFI_TYPE_SINT16:
- case FFI_TYPE_UINT32:
- case FFI_TYPE_SINT32:
- case FFI_TYPE_UINT64:
- case FFI_TYPE_SINT64:
- case FFI_TYPE_POINTER:
- {
- int size = byte_offset + type->size;
-
- if (size <= 4)
- {
- classes[0] = X86_64_INTEGERSI_CLASS;
- return 1;
- }
- else if (size <= 8)
- {
- classes[0] = X86_64_INTEGER_CLASS;
- return 1;
- }
- else if (size <= 12)
- {
- classes[0] = X86_64_INTEGER_CLASS;
- classes[1] = X86_64_INTEGERSI_CLASS;
- return 2;
- }
- else if (size <= 16)
- {
- classes[0] = classes[1] = X86_64_INTEGERSI_CLASS;
- return 2;
- }
- else
- FFI_ASSERT (0);
- }
- case FFI_TYPE_FLOAT:
- if (!(byte_offset % 8))
- classes[0] = X86_64_SSESF_CLASS;
- else
- classes[0] = X86_64_SSE_CLASS;
- return 1;
- case FFI_TYPE_DOUBLE:
- classes[0] = X86_64_SSEDF_CLASS;
- return 1;
- case FFI_TYPE_LONGDOUBLE:
- classes[0] = X86_64_X87_CLASS;
- classes[1] = X86_64_X87UP_CLASS;
- return 2;
- case FFI_TYPE_STRUCT:
- {
- const int UNITS_PER_WORD = 8;
- int words = (type->size + UNITS_PER_WORD - 1) / UNITS_PER_WORD;
- ffi_type **ptr;
- int i;
- enum x86_64_reg_class subclasses[MAX_CLASSES];
-
- /* If the struct is larger than 32 bytes, pass it on the stack. */
- if (type->size > 32)
- return 0;
-
- for (i = 0; i < words; i++)
- classes[i] = X86_64_NO_CLASS;
-
- /* Zero sized arrays or structures are NO_CLASS. We return 0 to
- signalize memory class, so handle it as special case. */
- if (!words)
- {
- classes[0] = X86_64_NO_CLASS;
- return 1;
- }
-
- /* Merge the fields of structure. */
- for (ptr = type->elements; *ptr != NULL; ptr++)
- {
- int num;
-
- byte_offset = ALIGN (byte_offset, (*ptr)->alignment);
-
- num = classify_argument (*ptr, subclasses, byte_offset % 8);
- if (num == 0)
- return 0;
- for (i = 0; i < num; i++)
- {
- int pos = byte_offset / 8;
- classes[i + pos] =
- merge_classes (subclasses[i], classes[i + pos]);
- }
-
- byte_offset += (*ptr)->size;
- }
-
- if (words > 2)
- {
- /* When size > 16 bytes, if the first one isn't
- X86_64_SSE_CLASS or any other ones aren't
- X86_64_SSEUP_CLASS, everything should be passed in
- memory. */
- if (classes[0] != X86_64_SSE_CLASS)
- return 0;
-
- for (i = 1; i < words; i++)
- if (classes[i] != X86_64_SSEUP_CLASS)
- return 0;
- }
-
- /* Final merger cleanup. */
- for (i = 0; i < words; i++)
- {
- /* If one class is MEMORY, everything should be passed in
- memory. */
- if (classes[i] == X86_64_MEMORY_CLASS)
- return 0;
-
- /* The X86_64_SSEUP_CLASS should be always preceded by
- X86_64_SSE_CLASS or X86_64_SSEUP_CLASS. */
- if (classes[i] == X86_64_SSEUP_CLASS
- && classes[i - 1] != X86_64_SSE_CLASS
- && classes[i - 1] != X86_64_SSEUP_CLASS)
- {
- /* The first one should never be X86_64_SSEUP_CLASS. */
- FFI_ASSERT (i != 0);
- classes[i] = X86_64_SSE_CLASS;
- }
-
- /* If X86_64_X87UP_CLASS isn't preceded by X86_64_X87_CLASS,
- everything should be passed in memory. */
- if (classes[i] == X86_64_X87UP_CLASS
- && (classes[i - 1] != X86_64_X87_CLASS))
- {
- /* The first one should never be X86_64_X87UP_CLASS. */
- FFI_ASSERT (i != 0);
- return 0;
- }
- }
- return words;
- }
-
- default:
- FFI_ASSERT(0);
- }
- return 0; /* Never reached. */
-}
-
-/* Examine the argument and return set number of register required in each
- class. Return zero iff parameter should be passed in memory, otherwise
- the number of registers. */
-
-static int
-examine_argument (ffi_type *type, enum x86_64_reg_class classes[MAX_CLASSES],
- _Bool in_return, int *pngpr, int *pnsse)
-{
- int i, n, ngpr, nsse;
-
- n = classify_argument (type, classes, 0);
- if (n == 0)
- return 0;
-
- ngpr = nsse = 0;
- for (i = 0; i < n; ++i)
- switch (classes[i])
- {
- case X86_64_INTEGER_CLASS:
- case X86_64_INTEGERSI_CLASS:
- ngpr++;
- break;
- case X86_64_SSE_CLASS:
- case X86_64_SSESF_CLASS:
- case X86_64_SSEDF_CLASS:
- nsse++;
- break;
- case X86_64_NO_CLASS:
- case X86_64_SSEUP_CLASS:
- break;
- case X86_64_X87_CLASS:
- case X86_64_X87UP_CLASS:
- case X86_64_COMPLEX_X87_CLASS:
- return in_return != 0;
- default:
- abort ();
- }
-
- *pngpr = ngpr;
- *pnsse = nsse;
-
- return n;
-}
-
-/* Perform machine dependent cif processing. */
-
-ffi_status
-ffi_prep_cif_machdep (ffi_cif *cif)
-{
- int gprcount, ssecount, i, avn, n, ngpr, nsse, flags;
- enum x86_64_reg_class classes[MAX_CLASSES];
- size_t bytes;
-
- gprcount = ssecount = 0;
-
- flags = cif->rtype->type;
- if (flags != FFI_TYPE_VOID)
- {
- n = examine_argument (cif->rtype, classes, 1, &ngpr, &nsse);
- if (n == 0)
- {
- /* The return value is passed in memory. A pointer to that
- memory is the first argument. Allocate a register for it. */
- gprcount++;
- /* We don't have to do anything in asm for the return. */
- flags = FFI_TYPE_VOID;
- }
- else if (flags == FFI_TYPE_STRUCT)
- {
- /* Mark which registers the result appears in. */
- _Bool sse0 = SSE_CLASS_P (classes[0]);
- _Bool sse1 = n == 2 && SSE_CLASS_P (classes[1]);
- if (sse0 && !sse1)
- flags |= 1 << 8;
- else if (!sse0 && sse1)
- flags |= 1 << 9;
- else if (sse0 && sse1)
- flags |= 1 << 10;
- /* Mark the true size of the structure. */
- flags |= cif->rtype->size << 12;
- }
- }
-
- /* Go over all arguments and determine the way they should be passed.
- If it's in a register and there is space for it, let that be so. If
- not, add it's size to the stack byte count. */
- for (bytes = 0, i = 0, avn = cif->nargs; i < avn; i++)
- {
- if (examine_argument (cif->arg_types[i], classes, 0, &ngpr, &nsse) == 0
- || gprcount + ngpr > MAX_GPR_REGS
- || ssecount + nsse > MAX_SSE_REGS)
- {
- long align = cif->arg_types[i]->alignment;
-
- if (align < 8)
- align = 8;
-
- bytes = ALIGN (bytes, align);
- bytes += cif->arg_types[i]->size;
- }
- else
- {
- gprcount += ngpr;
- ssecount += nsse;
- }
- }
- if (ssecount)
- flags |= 1 << 11;
- cif->flags = flags;
- cif->bytes = ALIGN (bytes, 8);
-
- return FFI_OK;
-}
-
-void
-ffi_call (ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
-{
- enum x86_64_reg_class classes[MAX_CLASSES];
- char *stack, *argp;
- ffi_type **arg_types;
- int gprcount, ssecount, ngpr, nsse, i, avn;
- _Bool ret_in_memory;
- struct register_args *reg_args;
-
- /* Can't call 32-bit mode from 64-bit mode. */
- FFI_ASSERT (cif->abi == FFI_UNIX64);
-
- /* If the return value is a struct and we don't have a return value
- address then we need to make one. Note the setting of flags to
- VOID above in ffi_prep_cif_machdep. */
- ret_in_memory = (cif->rtype->type == FFI_TYPE_STRUCT
- && (cif->flags & 0xff) == FFI_TYPE_VOID);
- if (rvalue == NULL && ret_in_memory)
- rvalue = alloca (cif->rtype->size);
-
- /* Allocate the space for the arguments, plus 4 words of temp space. */
- stack = alloca (sizeof (struct register_args) + cif->bytes + 4*8);
- reg_args = (struct register_args *) stack;
- argp = stack + sizeof (struct register_args);
-
- gprcount = ssecount = 0;
-
- /* If the return value is passed in memory, add the pointer as the
- first integer argument. */
- if (ret_in_memory)
- reg_args->gpr[gprcount++] = (long) rvalue;
-
- avn = cif->nargs;
- arg_types = cif->arg_types;
-
- for (i = 0; i < avn; ++i)
- {
- size_t size = arg_types[i]->size;
- int n;
-
- n = examine_argument (arg_types[i], classes, 0, &ngpr, &nsse);
- if (n == 0
- || gprcount + ngpr > MAX_GPR_REGS
- || ssecount + nsse > MAX_SSE_REGS)
- {
- long align = arg_types[i]->alignment;
-
- /* Stack arguments are *always* at least 8 byte aligned. */
- if (align < 8)
- align = 8;
-
- /* Pass this argument in memory. */
- argp = (void *) ALIGN (argp, align);
- memcpy (argp, avalue[i], size);
- argp += size;
- }
- else
- {
- /* The argument is passed entirely in registers. */
- char *a = (char *) avalue[i];
- int j;
-
- for (j = 0; j < n; j++, a += 8, size -= 8)
- {
- switch (classes[j])
- {
- case X86_64_INTEGER_CLASS:
- case X86_64_INTEGERSI_CLASS:
- reg_args->gpr[gprcount] = 0;
- memcpy (&reg_args->gpr[gprcount], a, size < 8 ? size : 8);
- gprcount++;
- break;
- case X86_64_SSE_CLASS:
- case X86_64_SSEDF_CLASS:
- reg_args->sse[ssecount++] = *(UINT64 *) a;
- break;
- case X86_64_SSESF_CLASS:
- reg_args->sse[ssecount++] = *(UINT32 *) a;
- break;
- default:
- abort();
- }
- }
- }
- }
-
- ffi_call_unix64 (stack, cif->bytes + sizeof (struct register_args),
- cif->flags, rvalue, fn, ssecount);
-}
-
-
-extern void ffi_closure_unix64(void);
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure* closure,
- ffi_cif* cif,
- void (*fun)(ffi_cif*, void*, void**, void*),
- void *user_data,
- void *codeloc)
-{
- volatile unsigned short *tramp;
-
- /* Sanity check on the cif ABI. */
- {
- int abi = cif->abi;
- if (UNLIKELY (! (abi > FFI_FIRST_ABI && abi < FFI_LAST_ABI)))
- return FFI_BAD_ABI;
- }
-
- tramp = (volatile unsigned short *) &closure->tramp[0];
-
- tramp[0] = 0xbb49; /* mov <code>, %r11 */
- *(void * volatile *) &tramp[1] = ffi_closure_unix64;
- tramp[5] = 0xba49; /* mov <data>, %r10 */
- *(void * volatile *) &tramp[6] = codeloc;
-
- /* Set the carry bit iff the function uses any sse registers.
- This is clc or stc, together with the first byte of the jmp. */
- tramp[10] = cif->flags & (1 << 11) ? 0x49f9 : 0x49f8;
-
- tramp[11] = 0xe3ff; /* jmp *%r11 */
-
- closure->cif = cif;
- closure->fun = fun;
- closure->user_data = user_data;
-
- return FFI_OK;
-}
-
-int
-ffi_closure_unix64_inner(ffi_closure *closure, void *rvalue,
- struct register_args *reg_args, char *argp)
-{
- ffi_cif *cif;
- void **avalue;
- ffi_type **arg_types;
- long i, avn;
- int gprcount, ssecount, ngpr, nsse;
- int ret;
-
- cif = closure->cif;
- avalue = alloca(cif->nargs * sizeof(void *));
- gprcount = ssecount = 0;
-
- ret = cif->rtype->type;
- if (ret != FFI_TYPE_VOID)
- {
- enum x86_64_reg_class classes[MAX_CLASSES];
- int n = examine_argument (cif->rtype, classes, 1, &ngpr, &nsse);
- if (n == 0)
- {
- /* The return value goes in memory. Arrange for the closure
- return value to go directly back to the original caller. */
- rvalue = (void *) reg_args->gpr[gprcount++];
- /* We don't have to do anything in asm for the return. */
- ret = FFI_TYPE_VOID;
- }
- else if (ret == FFI_TYPE_STRUCT && n == 2)
- {
- /* Mark which register the second word of the structure goes in. */
- _Bool sse0 = SSE_CLASS_P (classes[0]);
- _Bool sse1 = SSE_CLASS_P (classes[1]);
- if (!sse0 && sse1)
- ret |= 1 << 8;
- else if (sse0 && !sse1)
- ret |= 1 << 9;
- }
- }
-
- avn = cif->nargs;
- arg_types = cif->arg_types;
-
- for (i = 0; i < avn; ++i)
- {
- enum x86_64_reg_class classes[MAX_CLASSES];
- int n;
-
- n = examine_argument (arg_types[i], classes, 0, &ngpr, &nsse);
- if (n == 0
- || gprcount + ngpr > MAX_GPR_REGS
- || ssecount + nsse > MAX_SSE_REGS)
- {
- long align = arg_types[i]->alignment;
-
- /* Stack arguments are *always* at least 8 byte aligned. */
- if (align < 8)
- align = 8;
-
- /* Pass this argument in memory. */
- argp = (void *) ALIGN (argp, align);
- avalue[i] = argp;
- argp += arg_types[i]->size;
- }
- /* If the argument is in a single register, or two consecutive
- integer registers, then we can use that address directly. */
- else if (n == 1
- || (n == 2 && !(SSE_CLASS_P (classes[0])
- || SSE_CLASS_P (classes[1]))))
- {
- /* The argument is in a single register. */
- if (SSE_CLASS_P (classes[0]))
- {
- avalue[i] = &reg_args->sse[ssecount];
- ssecount += n;
- }
- else
- {
- avalue[i] = &reg_args->gpr[gprcount];
- gprcount += n;
- }
- }
- /* Otherwise, allocate space to make them consecutive. */
- else
- {
- char *a = alloca (16);
- int j;
-
- avalue[i] = a;
- for (j = 0; j < n; j++, a += 8)
- {
- if (SSE_CLASS_P (classes[j]))
- memcpy (a, &reg_args->sse[ssecount++], 8);
- else
- memcpy (a, &reg_args->gpr[gprcount++], 8);
- }
- }
- }
-
- /* Invoke the closure. */
- closure->fun (cif, rvalue, avalue, closure->user_data);
-
- /* Tell assembly how to perform return type promotions. */
- return ret;
-}
-
-#endif /* __x86_64__ */
diff --git a/.pc/copyright-updates/.timestamp b/.pc/copyright-updates/.timestamp
deleted file mode 100644
index e69de29..0000000
--- a/.pc/copyright-updates/.timestamp
+++ /dev/null
diff --git a/.pc/copyright-updates/LICENSE b/.pc/copyright-updates/LICENSE
deleted file mode 100644
index ec2fd69..0000000
--- a/.pc/copyright-updates/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-libffi - Copyright (c) 1996-2009 Anthony Green, Red Hat, Inc and others.
-See source files for details.
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-``Software''), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be included
-in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/.pc/darwin-EH-fix/.timestamp b/.pc/darwin-EH-fix/.timestamp
deleted file mode 100644
index e69de29..0000000
--- a/.pc/darwin-EH-fix/.timestamp
+++ /dev/null
diff --git a/.pc/darwin-EH-fix/ChangeLog b/.pc/darwin-EH-fix/ChangeLog
deleted file mode 100644
index 15eac6e..0000000
--- a/.pc/darwin-EH-fix/ChangeLog
+++ /dev/null
@@ -1,4668 +0,0 @@
-2012-02-10 Kai Tietz <ktietz@redhat.com>
-
- * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
- windows target.
- * configure: Regenerated.
-
-2012-02-08 Kai Tietz <ktietz@redhat.com>
-
- * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
- also FFI_THISCALL.
- * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
- (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
- (ffi_prep_closure_loc): Add FFI_THISCALL support.
- * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
- * src/x86/win32.S (ffi_closure_THISCALL): New closure code
- for thiscall-calling convention.
- * testsuite/libffi.call/closure_thiscall.c: New test.
-
-2012-01-28 Kai Tietz <ktietz@redhat.com>
-
- * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
- argument to prototype for specify calling-convention.
- (ffi_call): Add support for stdcall/thiscall convention.
- (ffi_prep_args): Likewise.
- (ffi_raw_call): Likewise.
- * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
- FFI_FASTCALL.
- * src/x86/win32.S (_ffi_call_win32): Add support for
- fastcall/thiscall calling-convention calls.
- * testsuite/libffi.call/fastthis1_win32.c: New test.
- * testsuite/libffi.call/fastthis2_win32.c: New test.
- * testsuite/libffi.call/fastthis3_win32.c: New test.
- * testsuite/libffi.call/strlen2_win32.c: New test.
- * testsuite/libffi.call/many2_win32.c: New test.
- * testsuite/libffi.call/struct1_win32.c: New test.
- * testsuite/libffi.call/struct2_win32.c: New test.
-
-2012-01-23 Andreas Schwab <schwab@linux-m68k.org>
-
- * src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
- mc68000. Test for __HAVE_68881__ in addition to __MC68881__.
-
-2012-01-19 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/48496
- * src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
-
-2012-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (i?86-*-*): Set TARGET to X86_64.
- * configure: Regenerate.
-
-2011-12-07 Andrew Pinski <apinski@cavium.com>
-
- PR libffi/50051
- * src/mips/n32.S: Add ".set mips4".
-
-2011-11-21 Andreas Tobler <andreast@fgznet.ch>
-
- * configure: Regenerate.
-
-2011-11-10 Richard Henderson <rth@redhat.com>
-
- * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
- * configure, aclocal.m4: Rebuild.
-
-2011-09-04 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/49594
- * src/powerpc/darwin_closure.S (stubs): Make the stub binding
- helper reference track the architecture pointer size.
-
-2011-08-25 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
- instructions.
- * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
-
-2011-07-11 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46660
- * testsuite/libffi.call/cls_double_va.c: xfail dg-output on
- mips-sgi-irix6*.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
- PRId8 instead of %hhu, %hhd.
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
- PRIu8): Define.
- [__sgi__] (PRId8, PRIu8): Define.
-
-2011-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
- Define.
- Use them to handle ELF vs. ECOFF differences.
- [__osf__] (_GLOBAL__F_ffi_call_osf): Define.
-
-2011-02-25 Anthony Green <green@moxielogic.com>
-
- * src/powerpc/ffi.c (ffi_prep_closure_loc): Allow for more
- 32-bit ABIs.
-
-2011-02-15 Anthony Green <green@moxielogic.com>
-
- * m4/ax_cc_maxopt.m4: Don't -malign-double or use -ffast-math.
- * configure: Rebuilt.
-
-2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2011-02-13 Anthony Green <green@moxielogic.com>
-
- * include/ffi_common.h (UNLIKELY, LIKELY): Define.
- * src/x86/ffi64.c (UNLIKELY, LIKELY): Remove definition.
- * src/prep_cif.c (UNLIKELY, LIKELY): Remove definition.
-
- * src/prep_cif.c (initialize_aggregate): Convert assertion into
- FFI_BAD_TYPEDEF return. Initialize arg size and alignment to 0.
-
- * src/pa/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
- just return FFI_BAD_ABI when things are wrong.
- * src/arm/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/powerpc/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/mips/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/ia64/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/avr32/ffi.c (ffi_prep_closure_loc): Ditto.
-
-2011-02-11 Anthony Green <green@moxielogic.com>
-
- * src/sparc/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
- just return FFI_BAD_ABI when things are wrong.
-
-2011-02-09 Stuart Shelton <srcshelton@gmail.com>
-
- http://bugs.gentoo.org/show_bug.cgi?id=286911
- * src/mips/ffitarget.h: Clean up error messages.
- * src/java_raw_api.c (ffi_java_translate_args): Cast raw arg to
- ffi_raw*.
- * include/ffi.h.in: Add pragma for SGI compiler.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * configure.ac: Add powerpc64-*-darwin* support.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * README: Mention Interix.
-
-2011-02-09 Jonathan Callen <abcd@gentoo.org>
-
- * configure.ac: Add Interix to win32/cygwin/mingw case.
- * configure: Ditto.
- * src/closures.c: Treat Interix like Cygwin, instead of as a
- generic win32.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * testsuite/libffi.call/err_bad_typedef.c: Remove xfail.
- * testsuite/libffi.call/err_bad_abi.c: Remove xfail.
- * src/x86/ffi64.c (UNLIKELY, LIKELY): Define.
- (ffi_prep_closure_loc): Check for bad ABI.
- * src/prep_cif.c (UNLIKELY, LIKELY): Define.
- (initialize_aggregate): Check for bad types.
-
-2011-02-09 Landon Fuller <landonf@plausible.coop>
-
- * Makefile.am (EXTRA_DIST): Add build-ios.sh, src/arm/gentramp.sh,
- src/arm/trampoline.S.
- (nodist_libffi_la_SOURCES): Add src/arc/trampoline.S.
- * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Define.
- * src/arm/ffi.c (ffi_trampoline_table)
- (ffi_closure_trampoline_table_page, ffi_trampoline_table_entry)
- (FFI_TRAMPOLINE_CODELOC_CONFIG, FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET)
- (FFI_TRAMPOLINE_COUNT, ffi_trampoline_lock, ffi_trampoline_tables)
- (ffi_trampoline_table_alloc, ffi_closure_alloc, ffi_closure_free):
- Define for FFI_EXEC_TRAMPOLINE_TABLE case (iOS).
- (ffi_prep_closure_loc): Handl FFI_EXEC_TRAMPOLINE_TABLE case
- separately.
- * src/arm/sysv.S: Handle Apple iOS host.
- * src/closures.c: Handle FFI_EXEC_TRAMPOLINE_TABLE case.
- * build-ios.sh: New file.
- * fficonfig.h.in, configure, Makefile.in: Rebuilt.
- * README: Mention ARM iOS.
-
-2011-02-08 Oren Held <orenhe@il.ibm.com>
-
- * src/dlmalloc.c (_STRUCT_MALLINFO): Define in order to avoid
- redefinition of mallinfo on HP-UX.
-
-2011-02-08 Ginn Chen <ginn.chen@oracle.com>
-
- * src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
- aggregate return ABI. Flush cache.
- (ffi_prep_closure_loc): Flush cache.
-
-2011-02-11 Anthony Green <green@moxielogic.com>
-
- From Tom Honermann <tom.honermann@oracle.com>:
- * src/powerpc/aix.S (ffi_call_AIX): Support for xlc toolchain on
- AIX. Declare .ffi_prep_args. Insert nops after branch
- instructions so that the AIX linker can insert TOC reload
- instructions.
- * src/powerpc/aix_closure.S: Declare .ffi_closure_helper_DARWIN.
-
-2011-02-08 Ed <ed@kdtc.net>
-
- * src/powerpc/asm.h: Fix grammar nit in comment.
-
-2011-02-08 Uli Link <ul.mcamafia@linkitup.de>
-
- * include/ffi.h.in (FFI_64_BIT_MAX): Define and use.
-
-2011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46661
- * testsuite/libffi.call/cls_pointer.c (main): Cast void * to
- uintptr_t first.
- * testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
-
-2011-02-08 Rafael Avila de Espindola <respindola@mozilla.com>
-
- * configure.ac: Fix x86 test for pc related relocs.
- * configure: Rebuilt.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
- Handle case when CPU variant does not have long double support.
- * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
- and cores with soft floating point.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * configure.ac: Add mips*-*-rtems* support.
- * configure: Regenerate.
- * src/mips/ffitarget.h: Ensure needed constants are available
- for targets which do not have sgidefs.h.
-
-2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR target/40125
- * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
- * configure: Regenerate.
-
-2010-12-18 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/29152
- PR libffi/42378
- * src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
- (FFI_TRAMPOLINE_SIZE): Update for Darwin64.
- * src/powerpc/darwin.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
- backslashes.
- (libffi_cv_as_string_pseudo_op): Likewise.
- * configure: Regenerate.
-
-2010-12-03 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
- (ffi_closure_VFP): Same.
- (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
- directive.
-
-2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
- (PRIuPTR): Define.
-
-2010-11-29 Richard Henderson <rth@redhat.com>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
- (.eh_frame): Use FDE_ENCODING.
- (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
-
-2010-11-22 Jacek Caban <jacek@codeweavers.com>
-
- * configure.ac: Check for symbol underscores on mingw-w64.
- * configure: Rebuilt.
- * src/x86/win64.S: Correctly access extern symbols in respect to
- underscores.
-
-2010-11-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp: Rename ...
- * testsuite/lib/libffi.exp: ... to this.
- * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
- * libffi/testsuite/libffi.special/special.exp: Likewise.
-
-2010-10-28 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
- code, new parameter, and return value. Update comments.
- (ffi_prep_cif_machdep): Add case for VFP struct return values. Add
- call to layout_vfp_args().
- (ffi_call_SYSV): Update declaration.
- (ffi_call_VFP): New declaration.
- (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
- when ABI is FFI_VFP.
- (ffi_closure_VFP): New declaration.
- (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
- ffi_prep_incoming_args_SYSV().
- (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
- case handling.
- (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
- construction under VFP hard-float.
- (rec_vfp_type_p): New function.
- (vfp_type_p): Same.
- (place_vfp_arg): Same.
- (layout_vfp_args): Same.
- * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
- based on __ARM_PCS_VFP.
- (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
- fields.
- (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
- (FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
- * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
- direct call. Move function pointer load upwards.
- (ffi_call_VFP): New function.
- (ffi_closure_VFP): Same.
-
- * testsuite/lib/libffi-dg.exp (check-flags): New function.
- (dg-skip-if): New function.
- * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
- and compiler options include -mfloat-abi=hard.
- * testsuite/libffi.call/cls_longdouble_va.c: Same.
-
-2010-10-01 Jakub Jelinek <jakub@redhat.com>
-
- PR libffi/45677
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
- a multiple of 8.
- * testsuite/libffi.call/many2.c: New test.
-
-2010-08-20 Mark Wielaard <mjw@redhat.com>
-
- * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
- returns NULL.
-
-2010-08-09 Andreas Tobler <andreast@fgznet.ch>
-
- * configure.ac: Add target powerpc64-*-freebsd*.
- * configure: Regenerate.
- * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
- -mlong-double-128 only to linux targets.
- * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
- * testsuite/libffi.call/cls_longdouble.c: Likewise.
- * testsuite/libffi.call/huge_struct.c: Likewise.
-
-2010-08-05 Dan Witte <dwitte@mozilla.com>
-
- * Makefile.am: Pass FFI_DEBUG define to msvcc.sh for linking to the
- debug CRT when --enable-debug is given.
- * configure.ac: Define it.
- * msvcc.sh: Translate -g and -DFFI_DEBUG appropriately.
-
-2010-08-04 Dan Witte <dwitte@mozilla.com>
-
- * src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64
- platforms.
- * src/x86/ffi.c: Remove redundant ifdef checks.
- * src/prep_cif.c: Push stack space computation into src/x86/ffi.c
- for X86_ANY so return value space doesn't get added twice.
-
-2010-08-03 Neil Rashbrooke <neil@parkwaycc.co.uk>
-
- * msvcc.sh: Don't pass -safeseh to ml64 because behavior is buggy.
-
-2010-07-22 Dan Witte <dwitte@mozilla.com>
-
- * src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
- * src/prep_cif.c: Fix ABI assertion.
- * src/cris/ffi.c: Ditto.
-
-2010-07-10 Evan Phoenix <evan@fallingsnow.net>
-
- * src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
-
-2010-07-07 Dan Horák <dan@danny.cz>
-
- * include/ffi.h.in: Protect #define with #ifndef.
- * src/powerpc/ffitarget.h: Ditto.
- * src/s390/ffitarget.h: Ditto.
- * src/sparc/ffitarget.h: Ditto.
-
-2010-07-07 Neil Roberts <neil@linux.intel.com>
-
- * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
- 16-bytes.
-
-2010-07-02 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
- * Makefile.in: Regenerated.
-
-2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
- output, too.
- (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
- (libffi_cv_as_string_pseudo_op): Check for .string.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
-
-2010-05-11 Dan Witte <dwitte@mozilla.com>
-
- * doc/libffi.tex: Document previous change.
-
-2010-05-11 Makoto Kato <m_kato@ga2.so-net.ne.jp>
-
- * src/x86/ffi.c (ffi_call): Don't copy structs passed by value.
-
-2010-05-05 Michael Kohler <michaelkohler@live.com>
-
- * src/dlmalloc.c (dlfree): Fix spelling.
- * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
- * configure.ac: Ditto.
- * configure: Rebuilt.
-
-2010-04-13 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Build with -W3 instead of -Wall.
- * src/powerpc/ffi_darwin.c: Remove build warnings.
- * src/x86/ffi.c: Ditto.
- * src/x86/ffitarget.h: Ditto.
-
-2010-04-12 Dan Witte <dwitte@mozilla.com>
- Walter Meinl <wuno@lsvw.de>
-
- * configure.ac: Add OS/2 support.
- * configure: Rebuilt.
- * src/closures.c: Ditto.
- * src/dlmalloc.c: Ditto.
- * src/x86/win32.S: Ditto.
-
-2010-04-07 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
-
-2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2010-03-30 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Disable build warnings.
- * README (tested): Clarify windows build procedure.
-
-2010-03-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * libffi/src/x86/unix64.S (.eh_frame)
- [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
-
-2010-03-14 Matthias Klose <doko@ubuntu.com>
-
- * src/x86/ffi64.c: Fix typo in comment.
- * src/x86/ffi.c: Use /* ... */ comment style.
-
-2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/libffi.texi (The Closure API): Fix typo.
- * doc/libffi.info: Remove.
-
-2010-02-15 Matthias Klose <doko@ubuntu.com>
-
- * src/arm/sysv.S (__ARM_ARCH__): Define for processor
- __ARM_ARCH_7EM__.
-
-2010-01-15 Anthony Green <green@redhat.com>
-
- * README: Add notes on building with Microsoft Visual C++.
-
-2010-01-15 Daniel Witte <dwitte@mozilla.com>
-
- * msvcc.sh: New file.
-
- * src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
- * src/x86/ffi.c: Tweak function declaration and remove excess
- parens.
- * include/ffi.h.in: Add __declspec(align(8)) to typedef struct
- ffi_closure.
-
- * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
- function ffi_call_win32 on X86_WIN32.
- * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
- (ffi_call_STDCALL): Remove.
-
- * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
- to ffi_prep_cif_machdep for x86.
- * src/x86/ffi.c (ffi_prep_cif_machdep): To here.
-
-2010-01-15 Oliver Kiddle <okiddle@yahoo.co.uk>
-
- * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
- Sun Studio compiler compatibility.
-
-2010-01-12 Conrad Irwin <conrad.irwin@gmail.com>
-
- * doc/libffi.texi: Add closure example.
-
-2010-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40701
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
- PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
- * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
- alpha*-dec-osf*.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/return_ll1.c: Likewise.
- * testsuite/libffi.call/stret_medium2.c: Likewise.
- * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
- MAP_FAILED to char *.
-
-2010-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
-
-2009-12-31 Anthony Green <green@redhat.com>
-
- * README: Update for libffi 3.0.9.
-
-2009-12-27 Matthias Klose <doko@ubuntu.com>
-
- * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
- appropriate.
- * configure: Rebuilt.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
- avr32*-*-*.
- * testsuite/libffi.call/cls_double_va.c: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
- and inttypes.h.
- * testsuite/libffi.special/unwindtest.cc: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-openbsd*.
- * configure: Rebuilt.
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
- openbsd programs with -lpthread.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
- mips*-*-* and arm*-*-*.
- * testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c,
- testsuite/libffi.call/stret_medium2.c,
- testsuite/libffi.call/stret_medium.c,
- testsuite/libffi.call/stret_large.c,
- testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
-
-2009-12-31 Kay Tietz <ktietz70@googlemail.com>
-
- * testsuite/libffi.call/ffitest.h,
- testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
- definitions.
-
-2009-12-31 Carlo Bramini <carlo.bramix@libero.it>
-
- * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
- * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
-
-2009-12-31 Anthony Green <green@redhat.com>
- Blake Chaffin.
-
- * testsuite/libffi.call/huge_struct.c: New test case from Blake
- Chaffin @ Apple.
-
-2009-12-28 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
- local variables.
- (aix_adjust_aggregate_sizes): New function.
- (ffi_prep_cif_machdep): Call it.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
- * configure: Regenerate.
- * fficonfig.h.in: Likewise.
- * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
- Solaris/x86.
-
-2009-12-26 Andreas Schwab <schwab@linux-m68k.org>
-
- * 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.
-
-2009-12-25 Matthias Klose <doko@ubuntu.com>
-
- * man/ffi_call.3: Fix #include in examples.
- * doc/libffi.texi: Add dircategory.
-
-2009-12-25 Frank Everdij <f.p.x.everdij@tudelft.nl>
-
- * include/ffi.h.in: Placed '__GNUC__' ifdef around
- '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
- IRIX MIPSPro c99.
- * include/ffi_common.h: Added '__sgi' define to non
- '__attribute__((__mode__()))' integer typedefs.
- * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
- ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
- (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
- FFI_LONGDOUBLE support and alignment(N32 only).
- * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
- fixed non '__attribute__((__mode__()))' integer typedefs.
- * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
- since they are Linux/GNU Assembler specific.
-
-2009-12-25 Bradley Smith <brad@brad-smith.co.uk>
-
- * configure.ac, Makefile.am, src/avr32/ffi.c,
- src/avr32/ffitarget.h,
- src/avr32/sysv.S: Add AVR32 port.
- * configure, Makefile.in: Rebuilt.
-
-2009-12-21 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
- * configure: Regenerate.
-
-2009-12-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
- type on HP-UX.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
- double' arguments.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40700
- * src/closures.c [X86_64 && __sun__ && __svr4__]
- (FFI_MMAP_EXEC_WRIT): Define.
-
-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.
-
-2009-12-07 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
- typo.
-
-2009-12-05 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
- code.
- * src/powerpc/aix_closure.S: Same.
-
-2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
- linux64_closure.S.
-
-2009-12-04 Uros Bizjak <ubizjak@gmail.com>
-
- 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.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
- pfr for long double split between fpr13 and stack.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
- fparg_count twice for long double.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- PR libffi/42243
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03 Uros Bizjak <ubizjak@gmail.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
- Remove xfails for x86 linux targets.
-
-2009-12-02 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
- case.
-
-2009-12-01 David Edelsohn <edelsohn@gnu.org>
-
- * 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.
-
-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.
-
-2009-11-02 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/41908
- * testsuite/libffi.call/testclosure.c: New test.
-
-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.
-
-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.
-
-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.
-
-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.
-
-2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.am (install-html, install-pdf): Remove.
- * Makefile.in: Regenerate.
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24 Dave Korn <dave.korn.cygwin@gmail.com>
-
- 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.
-
-2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
-
- 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.
-
-2009-07-01 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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 "".)
-
-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.
-
-2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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.
-
-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.
-
-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.
-
-2009-06-16 Andrew Haley <aph@redhat.com>
-
- * configure.ac (TARGETDIR): Add missing blank lines.
- * configure: Regenerate.
-
-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.
-
-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.
-
-2009-06-12 Andrew Haley <aph@redhat.com>
-
- * Makefile.am: Remove info_TEXINFOS.
-
-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-11 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * 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.
-
-2009-06-09 Andrew Haley <aph@redhat.com>
-
- * src/x86/freebsd.S: Add missing file.
-
-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).
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * README: Import from libffi 3.0.8.
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Add xfails.
- * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
- * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
- * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
- * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
- * testsuite/libffi.call/stret_medium.c: Likewise.
- * testsuite/libffi.call/stret_large2.c: Likewise.
- * testsuite/libffi.call/stret_large.c: Likewise.
-
-2008-12-26 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_align_longdouble.c,
- testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
- failures on x86_64 cygwin/mingw.
-
-2008-12-22 Timothy Wall <twall@users.sf.net>
-
- * 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_loc_fn0.c,
- testsuite/libffi.call/closure_stdcall.c,
- testsuite/libffi.call/cls_align_pointer.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
- pointer to integer (intptr_t).
- * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_dbls_struct.c,
- testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c,
- testsuite/libffi.call/err_bad_abi.c: Clean up failures from
- compiler warnings.
-
-2008-03-04 Anthony Green <green@redhat.com>
- Blake Chaffin
- hos@tamanegi.org
-
- * testsuite/libffi.call/cls_align_longdouble_split2.c
- testsuite/libffi.call/cls_align_longdouble_split.c
- testsuite/libffi.call/cls_dbls_struct.c
- testsuite/libffi.call/cls_double_va.c
- testsuite/libffi.call/cls_longdouble.c
- testsuite/libffi.call/cls_longdouble_va.c
- testsuite/libffi.call/cls_pointer.c
- testsuite/libffi.call/cls_pointer_stack.c
- testsuite/libffi.call/err_bad_abi.c
- testsuite/libffi.call/err_bad_typedef.c
- testsuite/libffi.call/stret_large2.c
- testsuite/libffi.call/stret_large.c
- testsuite/libffi.call/stret_medium2.c
- testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
- libffi.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
- stdcall changes.
-
-2008-02-26 Anthony Green <green@redhat.com>
- Thomas Heller <theller@ctypes.org>
-
- * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
- comment.
-
-2008-02-03 Timothy Wall <twall@users.sf.net>
-
- * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
- offset based on code pointer, not data pointer.
-
-2008-01-31 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
- closures.
- * src/x86/ffitarget.h: Increase size of trampoline for stdcall
- closures.
- * src/x86/win32.S: Add assembly for stdcall closure.
- * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Change void (*)() to void (*)(void).
- * src/x86/ffi.c: Likewise.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ppc_closure.S: Insert licence header.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/m68k/sysv.S: Likewise.
-
- * src/sh64/ffi.c: Change void (*)() to void (*)(void).
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/m32r/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi64.c: Likewise.
- * src/alpha/ffi.c: Likewise.
- * src/alpha/osf.S: Likewise.
- * src/frv/ffi.c: Likewise.
- * src/s390/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/pa/hpux32.S: Likewise.
- * src/ia64/unix.S: Likewise.
- * src/ia64/ffi.c: Likewise.
- * src/sparc/ffi.c: Likewise.
- * src/mips/ffi.c: Likewise.
- * src/sh/ffi.c: Likewise.
-
-2008-02-15 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
- Define (conditionally), and use it to include cachectl.h.
- (ffi_prep_closure_loc): Fix cache flushing.
- * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- include/ffi.h.in,
- src/arm/ffitarget.h,
- src/arm/ffi.c,
- src/arm/sysv.S,
- src/powerpc/ffitarget.h,
- src/closures.c,
- src/sh64/ffitarget.h,
- src/sh64/ffi.c,
- src/sh64/sysv.S,
- src/types.c,
- src/x86/ffi64.c,
- src/x86/ffitarget.h,
- src/x86/win32.S,
- src/x86/darwin.S,
- src/x86/ffi.c,
- src/x86/sysv.S,
- src/x86/unix64.S,
- src/alpha/ffitarget.h,
- src/alpha/ffi.c,
- src/alpha/osf.S,
- src/m68k/ffitarget.h,
- src/frv/ffitarget.h,
- src/frv/ffi.c,
- src/s390/ffitarget.h,
- src/s390/sysv.S,
- src/cris/ffitarget.h,
- src/pa/linux.S,
- src/pa/ffitarget.h,
- src/pa/ffi.c,
- src/raw_api.c,
- src/ia64/ffitarget.h,
- src/ia64/unix.S,
- src/ia64/ffi.c,
- src/ia64/ia64_flags.h,
- src/java_raw_api.c,
- src/debug.c,
- src/sparc/v9.S,
- src/sparc/ffitarget.h,
- src/sparc/ffi.c,
- src/sparc/v8.S,
- src/mips/ffitarget.h,
- src/mips/n32.S,
- src/mips/o32.S,
- src/mips/ffi.c,
- src/prep_cif.c,
- src/sh/ffitarget.h,
- src/sh/ffi.c,
- src/sh/sysv.S: Update license text.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * src/x86/win32.S (_ffi_closure_STDCALL): New function.
- (.eh_frame): Add FDE for it.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * configure.ac: Also check if assembler supports pc-relative
- relocs on X86_WIN32 targets.
- * configure: Regenerate.
- * src/x86/win32.S (ffi_prep_args): Declare extern, not global.
- (_ffi_call_SYSV): Add missing function type symbol .def and
- add EH markup labels.
- (_ffi_call_STDCALL): Likewise.
- (_ffi_closure_SYSV): Likewise.
- (_ffi_closure_raw_SYSV): Likewise.
- (.eh_frame): Add hand-crafted EH data.
-
-2009-04-09 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
- version 3 of the GNU General Public License and to point readers
- at the COPYING3 file and the FSF's license web page.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-12-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libffi/26048
- * configure.ac (HAVE_AS_X86_PCREL): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
- RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
- RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
- * src/x86/unix64.S (.Lstore_table): Move to .text section.
- (.Lload_table): Likewise.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
- signed/unsigned int8/16 return values.
- * src/sparc/v8.S (ffi_call_v8): Likewise.
- (ffi_closure_v8): Likewise.
-
-2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
- Steve Ellcey <sje@cup.hp.com>
-
- * configure: Regenerate for new libtool.
- * Makefile.in: Ditto.
- * include/Makefile.in: Ditto.
- * aclocal.m4: Ditto.
-
-2008-08-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
- FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
- Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
- Adjust copyright notice.
- * src/powerpc/ffi.c: Add two new flags to indicate if we have one
- register or two register to use for FFI_SYSV structs.
- (ffi_prep_cif_machdep): Pass the right register flag introduced above.
- (ffi_closure_helper_SYSV): Fix the return type for
- FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
- Adjust copyright notice.
-
-2008-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
- int.
-
-2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2008-06-07 Joseph Myers <joseph@codesourcery.com>
-
- * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
- powerpc-*-beos*): Remove.
- * configure: Regenerate.
-
-2008-05-09 Julian Brown <julian@codesourcery.com>
-
- * Makefile.am (LTLDFLAGS): New.
- (libffi_la_LDFLAGS): Use above.
- * Makefile.in: Regenerate.
-
-2008-04-18 Paolo Bonzini <bonzini@gnu.org>
-
- PR bootstrap/35457
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2008-03-26 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add .note.GNU-stack on Linux.
- * src/sh64/sysv.S: Likewise.
-
-2008-03-26 Daniel Jacobowitz <dan@debian.org>
-
- * src/arm/sysv.S: Fix ARM comment marker.
-
-2008-03-26 Jakub Jelinek <jakub@redhat.com>
-
- * src/alpha/osf.S: Add .note.GNU-stack on Linux.
- * src/s390/sysv.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
- * src/x86/unix64.S: Likewise.
- * src/x86/sysv.S: Likewise.
- * src/sparc/v8.S: Likewise.
- * src/sparc/v9.S: Likewise.
- * src/m68k/sysv.S: Likewise.
- * src/arm/sysv.S: Likewise.
-
-2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * aclocal.m4: Regenerate.
- * configure: Likewise.
- * Makefile.in: Likewise.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2008-02-12 Bjoern Koenig <bkoenig@alpha-tierchen.de>
- Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-freebsd* target.
- * configure: Regenerate.
-
-2008-01-30 H.J. Lu <hongjiu.lu@intel.com>
-
- PR libffi/34612
- * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
- returning struct.
-
- * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
- tests.
-
-2008-01-24 David Edelsohn <edelsohn@gnu.org>
-
- * configure: Regenerate.
-
-2008-01-06 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
-
-2008-01-05 Andreas Tobler <a.tobler@schweiz.org>
-
- PR testsuite/32843
- * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
- signed/unsigned int8/16 for X86_DARWIN.
- Updated copyright info.
- Handle one and two byte structs with special cif->flags.
- * src/x86/ffitarget.h: Add special types for one and two byte structs.
- Updated copyright info.
- * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
- sysv.S
- Remove code to pop args from the stack after call.
- Special-case signed/unsigned for int8/16, one and two byte structs.
- (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
- FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
- FFI_TYPE_SINT32.
- Updated copyright info.
-
-2007-12-08 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_call_N32): Replace dadd with ADDU, dsub with
- SUBU, add with ADDU and use smaller code sequences.
-
-2007-12-07 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
- type.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
- defined.
- (ffi_java_raw): New typedef.
- (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
- ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
- ffi_java_raw.
- (ffi_java_raw_closure) : Same.
- (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
- parameter types.
- * src/java_raw_api.c (ffi_java_raw_size): Replace FFI_SIZEOF_ARG with
- FFI_SIZEOF_JAVA_RAW.
- (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
- Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
- sizeof(ffi_java_raw) for alignment calculations.
- (ffi_java_ptrarray_to_raw): Same.
- (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
- if FFI_SIZEOF_JAVA_RAW == 4.
- (ffi_java_raw_to_rvalue): Same.
- (ffi_java_raw_call): Change type of raw to ffi_java_raw.
- (ffi_java_translate_args): Same.
- (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
- parameter types.
- * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
- pointer values.
-
-2007-12-01 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/31937
- * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
- Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
- * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
- set the NUM_FPR_ARG_REGISTERS according to.
- Add support for potential soft-float support under hard-float
- architecture.
- (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
- FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
- to the FFI_LINUX_SOFT_FLOAT ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Make sure not to store float/double
- on archs where __NO_FPRS__ is true.
- Add FFI_TYPE_UINT128 support.
- * src/powerpc/sysv.S: Add support for soft-float long-double-128.
- Adjust copyright notice.
-
-2007-11-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
- * include/ffi_common.h: ... here.
- Update copyright.
-
-2007-11-17 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
- * testsuite/libffi.call/return_ldl.c: New test.
-
-2007-09-04 <aph@redhat.com>
-
- * src/arm/sysv.S (UNWIND): New.
- (Whole file): Conditionally compile unwinder directives.
- * src/arm/sysv.S: Add unwinder directives.
-
- * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
- Only treat r0 as a struct address if we're actually returning a
- struct by address.
- Only copy the bytes that are actually within a struct.
- (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
- is returned in r0, not passed by address.
- (ffi_call): Allocate a word-sized temporary for the case where
- a composite is returned in r0.
- (ffi_prep_incoming_args_SYSV): Align as necessary.
-
-2007-08-05 Steven Newbury <s_j_newbury@yahoo.co.uk>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
- directly using the sys_cacheflush syscall.
-
-2007-07-27 Andrew Haley <aph@redhat.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
-
-2007-09-03 Maciej W. Rozycki <macro@linux-mips.org>
-
- * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure: Likewise.
-
-2007-08-24 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/return_sl.c: New test.
-
-2007-08-10 David Daney <ddaney@avtrex.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/nested_struct5.c,
- testsuite/libffi.call/cls_double.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/nested_struct.c,
- testsuite/libffi.call/cls_2byte.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_sint16.c,
- testsuite/libffi.call/cls_align_uint32.c,
- testsuite/libffi.call/cls_20byte.c,
- testsuite/libffi.call/cls_float.c,
- testsuite/libffi.call/nested_struct2.c,
- testsuite/libffi.call/cls_5_1_byte.c,
- testsuite/libffi.call/nested_struct4.c,
- testsuite/libffi.call/cls_24byte.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: Remove xfail for mips64*-*-*.
-
-2007-08-10 David Daney <ddaney@avtrex.com>
-
- 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.
-
-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*.
- * 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.
-
-2006-12-13 Andreas Tobler <a.tobler@schweiz.org>
-
- * aclocal.m4: Regenerate with aclocal -I .. as written in the
- Makefile.am.
-
-2006-10-31 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
- (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
- Darwin.
- * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
- * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10 Paolo Bonzini <bonzini@gnu.org>
- Sandro Tolaini <tolaini@libero.it>
-
- * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
- conditional.
- * configure: Regenerated.
- * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
- (EXTRA_DIST): Add src/x86/darwin.S.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
- X86_WIN32, and additionally align stack to 16 bytes.
- * src/x86/darwin.S: New, based on sysv.S.
- * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12 David Daney <ddaney@avtrex.com>
-
- PR libffi/23935
- * include/Makefile.am: Install both ffi.h and ffitarget.h in
- $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
- * aclocal.m4: Regenerated for automake 1.9.6.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
-2006-08-17 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h: Remove lint directives.
- * include/ffi.h.in: Likewise.
-
-2006-07-25 Torsten Schoenfeld <kaffeetisch@gmx.de>
-
- * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
- for 32-bit architectures.
- * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
- xfail remains for mips64.
-
-2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
-
- * Makefile.am: Add install-html target. Add install-html to .PHONY
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
- stack slot.
-
-2006-04-22 Andreas Tobler <a.tobler@schweiz.ch>
-
- * README: Remove notice about 'Crazy Comments'.
- * src/debug.c: Remove lint directives. Cleanup white spaces.
- * src/java_raw_api.c: Likewise.
- * src/prep_cif.c: Likewise.
- * src/raw_api.c: Likewise.
- * src/ffitest.c: Delete. No longer needed, all test cases migrated
- to the testsuite.
- * src/arm/ffi.c: Remove lint directives.
- * src/m32r/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/sh/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/pa/hpux32.S: Correct unwind offset calculation for
- ffi_closure_pa32.
- * src/pa/linux.S: Likewise.
-
-2006-04-12 James E Wilson <wilson@specifix.com>
-
- PR libgcj/26483
- * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
- (hfa_type_load): Call stf_spill.
- (hfa_type_store): Call ldf_fill.
- (ffi_call): Adjust calls to above routines. Add local temps for
- macro result.
-
-2006-04-10 Matthias Klose <doko@debian.org>
-
- * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
- directory names containing underscores.
-
-2006-04-07 James E Wilson <wilson@specifix.com>
-
- * testsuite/libffi.call/float4.c: New testcase.
-
-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.
-
-2006-03-24 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Default
- for 32-bit using IBM extended double format. Fix FFI_LAST_ABI.
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
- FFI_TYPE_LONGDOUBLE.
- (ffi_prep_args64): Assert using IBM extended double.
- (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
- Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
- (ffi_call): Handle FFI_LINUX.
- (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
- gpr3 return pointer as for struct return. Handle FFI_LINUX
- FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf"
- unnecessarily.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
- for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table.
- Don't use r6 as pointer to results, instead use sp offset. Don't
- make a special call to load lr with case table address, instead
- use offset from previous call.
- * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
- return.
-
-2006-03-15 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
- passed with FP registers correctly.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S: Likewise.
-
-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.
-
-2006-02-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
- -O2, -O3, -Os and the warning flags -W -Wall.
- * testsuite/libffi.special/special.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
- unused parameter unused for gcc or else do nothing.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
- * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
- * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
- * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
- * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
- * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
- * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
- * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
- * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
- void* to avoid compiler warning.
- (main): Likewise.
- (cls_struct_align_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
- * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
- * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
- userdata unused.
- (cls_ret_schar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
- userdata unused.
- (cls_ret_sint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
- userdata unused.
- (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn): Mark cif and
- userdata unused.
- (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
- userdata unused.
- (cls_ret_uint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
- userdata unused.
- (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
- * testsuite/libffi.call/float1.c (main): Remove unused variable i.
- Cleanup white spaces.
- * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
- * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
- cif and userdata unused.
- * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
- Likewise.
- * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
- formatters to silence gcc.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct4.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct6.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
- * testsuite/libffi.call/problem1.c (stub): Likewise.
- * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
- gcc.
- * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
- in the last commit for this test case in the test case itself.
- * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
- unused.
- * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
- * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
- * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
- * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
- * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
- * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Fix register numbers in the FDE for
- ffi_closure_SYSV.
-
-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.
-
-2006-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
- and cast integer to void * if needed. Update the pointer to
- the FP register saved area correctly.
-
-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.
-
-2006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/return_dbl.c: New test case.
- * testsuite/libffi.call/return_dbl1.c: Likewise.
- * testsuite/libffi.call/return_dbl2.c: Likewise.
- * testsuite/libffi.call/return_fl.c: Likewise.
- * testsuite/libffi.call/return_fl1.c: Likewise.
- * testsuite/libffi.call/return_fl2.c: Likewise.
- * testsuite/libffi.call/return_fl3.c: Likewise.
- * testsuite/libffi.call/closure_fn6.c: Likewise.
-
- * 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.
-
-2006-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.ac: Enable libffi for sparc64-*-freebsd*.
- * configure: Rebuilt.
-
-2006-01-18 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
- instead do the shifting inline.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
- shift count unconditionally. Simplify load sequences for 1, 2, 3, 4
- and 8 byte structs, for the remaining struct sizes don't call
- __lshrdi3, instead do the shifting inline.
-
-2005-12-07 Thiemo Seufer <ths@networkno.de>
-
- * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
- missing parentheses.
- * src/mips/o32.S (ffi_call_O32): Code formatting. Define
- and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
- (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
- A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
- V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
- FA_0_0_OFF2.
- * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
- endianness bugs.
- (ffi_prep_closure): Improve trampoline instruction scheduling.
- (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c: Formatting.
- (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
- (ffi_prep_args64): Likewise.
-
-2005-09-30 Geoffrey Keating <geoffk@apple.com>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
- darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26 Tom Tromey <tromey@redhat.com>
-
- * 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.
-
-2005-08-25 Alan Modra <amodra@bigpond.net.au>
-
- PR target/23404
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
- homed fp args.
- (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11 Jakub Jelinek <jakub@redhat.com>
-
- * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
- (AH_BOTTOM): Add FFI_HIDDEN definition.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * src/powerpc/ffi.c (hidden): Remove.
- (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
- ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
- .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
- * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
- add FFI_HIDDEN to its prototype.
- (ffi_closure_SYSV_inner): New.
- * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
- * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10 Alfred M. Szmidt <ams@gnu.org>
-
- PR libffi/21819:
- * configure: Rebuilt.
- * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
- DW_CFA_offset_extended_sf rather than
- DW_CFA_GNU_negative_offset_extended.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
-
- * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
- on sh3.
- (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
- * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
- partially on register.
- (ffi_closure_helper_SYSV): Likewise.
- (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_call): Handle small structures correctly.
- Remove empty line.
- * src/sh64/ffi.c (simple_type): Remove.
- (return_type): Handle small structures correctly.
- (ffi_prep_args): Likewise.
- (ffi_call): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
- Emit position independent code if PIC and remove wrong datalabel
- prefixes from EH data.
-
-2005-07-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure.ac: Add POWERPC_FREEBSD rules.
- * configure: Regenerate.
- * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
- (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
- * src/powerpc/ffi.c: Add flags to handle small structure returns
- in ffi_call_SYSV.
- (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
- Aka FFI_SYSV.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Add return types for small structures.
- * src/powerpc/sysv.S: Add bits to handle small structures for
- final SYSV 4 ABI.
-
-2005-07-10 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_5_1_byte.c: New test file.
- * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05 Randolph Chung <tausq@debian.org>
-
- * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
- as FFI_TYPE_SMALL_STRUCT3. Break out handling for 5-7 byte
- structures. Kill compilation warnings.
- (ffi_closure_inner_LINUX): Print return values as hex in debug
- message. Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
- Properly handle 5-7 byte structure returns.
- * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
- (FFI_TYPE_SMALL_STRUCT2): Remove.
- (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
- (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
- * src/pa/linux.S: Mark source file as using PA1.1 assembly.
- (checksmst1, checksmst2): Remove.
- (checksmst3): Optimize handling of 3-byte struct returns.
- (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libgcj/21943
- * src/mips/n32.S: Enforce PIC code.
- * src/mips/o32.S: Likewise.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
- * configure: Regenerate.
-
-2005-06-01 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
- to call ffi_closure_helper_SYSV. Append @local instead.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
- Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
- * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
- * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
- include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-05-08 Richard Henderson <rth@redhat.com>
-
- PR libffi/21285
- * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04 Andreas Degert <ad@papyrus-gmbh.de>
- Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
- bit 11 of flags.
- (ffi_call): Mask return type field. Pass ssecount to ffi_call_unix64.
- (ffi_prep_closure): Set carry bit if sse-used flag set.
- * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
- Only load sse registers if ssecount non-zero.
- (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
- powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
- * configure: Regenerate.
-
-2005-04-20 Hans-Peter Nilsson <hp@axis.com>
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
- have Tcl8.3-compatible intermediate variable.
-
-2005-04-18 Simon Posnjak <simon.posnjak@siol.net>
- Hans-Peter Nilsson <hp@axis.com>
-
- * Makefile.am: Add CRIS support.
- * configure.ac: Likewise.
- * Makefile.in, configure, testsuite/Makefile.in,
- include/Makefile.in: Regenerate.
- * src/cris: New directory.
- * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
- * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
- \r?\n in output tests.
-
-2005-04-12 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-03-30 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30 Steve Ellcey <sje@cup.hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
- (ffi_sarg) Ditto.
- * src/ia64/unix.S (ffi_closure_unix): Extend gp
- to 64 bits in ILP32 mode.
- Load 64 bits even for short data.
-
-2005-03-23 Mike Stump <mrs@apple.com>
-
- * src/powerpc/darwin.S: Update for -m64 multilib.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21 Zack Weinberg <zack@codesourcery.com>
-
- * 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.
-
-2005-02-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
- odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR libffi/20104
- * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11 Janis Johnson <janis187@us.ibm.com>
-
- * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
- * testsuite/libffi.call/float.c: Ditto.
- * testsuite/libffi.call/float2.c: Ditto.
- * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * testsuite/libffi.special/special.exp (cxx_options): Add
- -shared-libgcc.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
- (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
- offset parameters with a type parameter; deduce size and structure
- alignment. Update all users.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
- (FFI_TYPE_LONGDOUBLE): Fix for ia64.
- * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
- into ffi_prep_closure.
- * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
- from scratch.
-
-2004-12-27 Richard Henderson <rth@redhat.com>
-
- * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25 Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
- (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
- (merge_classes): Check for it.
- (SSE_CLASS_P): New.
- (classify_argument): Pass byte_offset by value; perform all updates
- inside struct case.
- (examine_argument): Add classes argument; handle
- X86_64_COMPLEX_X87_CLASS.
- (ffi_prep_args): Merge into ...
- (ffi_call): ... here. Share stack frame with ffi_call_unix64.
- (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
- (ffi_fill_return_value): Remove.
- (ffi_prep_closure): Remove dead assert.
- (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
- Rewrite to use struct register_args instead of va_list. Create
- flags for handling structure returns.
- * src/x86/unix64.S: Remove dead strings.
- (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share
- stack frame with ffi_call. Handle structure returns properly.
- (float2sse, floatfloat2sse, double2sse): Remove.
- (sse2float, sse2double, sse2floatfloat): Remove.
- (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite
- to handle structure returns properly.
-
-2004-12-08 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
- PICFLAG.
- * Makefile.in: Regenerated.
-
-2004-12-02 Richard Sandiford <rsandifo@redhat.com>
-
- * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
- * configure, aclocal.m4, Makefile.in: Regenerate.
- * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-25 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool reversion.
-
-2004-11-24 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23 Richard Sandiford <rsandifo@redhat.com>
-
- * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
- of jal. Use an absolute encoding for the frame information.
-
-2004-11-23 Kelley Cook <kcook@gcc.gnu.org>
-
- * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS.
- * acinclude.m4: Delete logic for sincludes.
- * aclocal.m4, Makefile.in, configure: Regenerate.
- * include/Makefile: Likewise.
- * testsuite/Makefile: Likewise.
-
-2004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
- on a 8-byte boundary.
- * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
- long long values. Round stack allocation to a multiple of 8 bytes
- for ATPCS compatibility.
- * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
- names. Handle returning long long types. Add Thumb and interworking
- support. Improve soft-float code.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
- (libffi_exit): New function.
- (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR other/18138
- * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
- * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
- the function returning a structure pointed with R2.
- * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
- the structure return value if T bit set. Emit position
- independent code and EH data if PIC.
-
-2004-10-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * Makefile.am: Add m32r support.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * confiugre: Regenerate.
- * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
- (uint64, sint64, double, longdouble)
- * src/m32r: New directory.
- * src/m32r/ffi.c: New file.
- * src/m32r/sysv.S: Likewise.
- * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * testsuite/libffi.call/negint.c: New test case.
-
-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.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/many_win32.c: Remove whitespaces.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
- whitespaces.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Fix comments and identation.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
- (ffi_prep_args): Handle longdouble arguments.
- (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
- longdouble.
- (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
- * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
- values.
- * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
- * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/aix.S: Remove whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
- * src/powerpc/asm.h: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffitarget.h: Likewise.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
-
-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.in: Read configure.host.
- * 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 shouldn't 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.
-
-2004-08-24 David Daney <daney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
- to zero.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23 David Daney <daney@avtrex.com>
-
- PR libgcj/13141
- * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
- * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
- (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
- parameters and return types.
- (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
- (ffi_prep_closure): Ditto.
- (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
- alignment calculations.
- * src/mips/o32.S (ffi_closure_O32): Don't use floating point
- instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14 Casey Marshall <csm@gnu.org>
-
- * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
- contain `FFI_TYPE_UINT64' as return type for any 64-bit
- integer (O32 ABI only).
- (ffi_prep_closure): new function.
- (ffi_closure_mips_inner_O32): new function.
- * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
- `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
- * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
- 64 bit integers correctly.
- (ffi_closure_O32): new function.
- Added DWARF-2 unwind info for both functions.
-
-2004-08-10 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01 Robert Millan <robertmh@gnu.org>
-
- * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
- * configure: Regenerate.
-
-2004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
-
- * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
- and mmap() explicitly instead of relying on preset autoconf cache
- variables.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
- (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
- character on Darwin, use '\n\t' instead.
-
-2004-06-26 Matthias Klose <doko@debian.org>
-
- * libtool-version: Fix typo in revision/age.
-
-2004-06-17 Matthias Klose <doko@debian.org>
-
- * libtool-version: New.
- * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
- * Makefile.in: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * Makefile.am: Remove useless multilib rules.
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate with automake 1.8.5.
- * configure.ac: Remove useless multilib configury.
- * configure: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * .cvsignore: New file.
-
-2004-06-10 Jakub Jelinek <jakub@redhat.com>
-
- * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
- fp_done.
- (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
- changed from 8.
-
-2004-06-06 Sean McNeil <sean@mcneil.com>
-
- * configure.ac: Add x86_64-*-freebsd* support.
- * configure: Regenerate.
-
-2004-04-26 Joe Buck <jbuck@welsh-buck.org>
-
- Bug 15093
- * configure.ac: Test for existence of mmap and sys/mman.h before
- checking blacklist. Fix suggested by Jim Wilson.
- * configure: Regenerate.
-
-2004-04-26 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
- FDE location.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
- error. Reported by Thomas Heller <theller@python.net>.
- * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20 Matthias Klose <doko@debian.org>
-
- * src/pa/linux.S: Fix typo.
-
-2004-03-19 Matthias Klose <doko@debian.org>
-
- * Makefile.am: Update.
- * Makefile.in: Regenerate.
- * src/pa/ffi.h.in: Remove.
- * src/pa/ffitarget.h: New file.
-
-2004-02-10 Randolph Chung <tausq@debian.org>
-
- * Makefile.am: Add PA support.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * configure.ac: Add PA target.
- * configure: Regenerate.
- * src/pa/ffi.c: New file.
- * src/pa/ffi.h.in: Add PA support.
- * src/pa/linux.S: New file.
- * prep_cif.c: Add PA support.
-
-2004-03-16 Hosaka Yuji <hos@tamanegi.org>
-
- * src/types.c: Fix alignment size of X86_WIN32 case int64 and
- double.
- * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
- with ecif->cif->flags.
- (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
- with cif->flags.
- (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
- (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
- * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
- sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.in: Rename file to ...
- * configure.ac: ... this.
- * fficonfig.h.in: Regenerate.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2004-03-12 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Fix EH information so it corresponds to
- changes in EH format resulting from addition of linkonce support.
- * src/powerpc/darwin_closure.S: Likewise.
-
-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.
-
-2004-03-11 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
- arguments from fp registers only for the first 8 parameter slots.
- Don't convert a float parameter when passed in memory.
-
-2004-03-09 Hans-Peter Nilsson <hp@axis.com>
-
- * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
-
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
- ecif->cif->bytes to bytes.
- (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
- * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
- (ffi_closure_helper_LINUX64): Fix typo.
- * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
- for powerpc64-*-*.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
- long double function return and long double arg handling.
- (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
- Use "end_pfr" instead of "nf". Correct long double handling.
- Localise "temp".
- * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
- return value.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
- space for long double return value. Adjust stack frame and offsets.
- Load f2 long double return.
-
-2004-02-07 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
- when the structure return address is passed in %o0.
- (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
- (ffi_v9_layout_struct): Align the field following a nested structure
- on a word boundary. Use memmove instead of memcpy.
- (ffi_call): Update call to ffi_V9_return_struct.
- (ffi_prep_closure): Define 'ctx' only for V8.
- (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
- and ffi_closure_sparc_inner_v9.
- (ffi_closure_sparc_inner_v8): Return long doubles by reference.
- Always skip the structure return address. For structures and long
- doubles, copy the argument directly.
- (ffi_closure_sparc_inner_v9): Skip the structure return address only
- if required. Shift the maximum floating-point slot accordingly. For
- big structures, copy the argument directly; otherwise, left-justify the
- argument and call ffi_v9_layout_struct to lay out the structure on
- the stack.
- * src/sparc/v8.S: Undef STACKFRAME before defining it.
- (ffi_closure_v8): Pass the structure return address. Update call to
- ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
- Skip the 'unimp' insn when returning long doubles and structures.
- * src/sparc/v9.S: Undef STACKFRAME before defining it.
- (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
- FFI_TYPE_INT handling. Load structures both in integers and
- floating-point registers on return.
- * README: Update status of the SPARC port.
-
-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.
-
-2004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
-
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
- value as of type ffi_arg, not unsigned int.
-
-2004-01-21 Michael Ritzert <ritzert@t-online.de>
-
- * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
- of the LHS.
-
-2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
- Solaris.
-
-2004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
- to void *.
-
-2003-12-10 Richard Henderson <rth@redhat.com>
-
- * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
- size_t instead of int.
-
-2003-12-04 Hosaka Yuji <hos@tamanegi.org>
-
- * testsuite/libffi.call/many_win32.c: Include <float.h>.
- * testsuite/libffi.call/many_win32.c (main): Replace variable
- int i with unsigned long ul.
-
- * testsuite/libffi.call/cls_align_uint64.c: New test case.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02 Hosaka Yuji <hos@tamanegi.org>
-
- PR other/13221
- * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
- Align arguments to 32 bits.
-
-2003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR other/13221
- * testsuite/libffi.call/cls_multi_sshort.c: New test case.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-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.
-
-2003-11-21 Andreas Jaeger <aj@suse.de>
- Andreas Tobler <a.tobler@schweiz.ch>
-
- * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
- * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
- * Makefile.in: Rebuilt.
- * aclocal.m4: Likewise.
- * configure: Likewise.
- * fficonfig.h.in: Likewise.
- * testsuite/lib/libffi-dg.exp: Add include dir.
- * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
- for ffi_closure if available.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
- Add -lgcc_s to additional flags.
-
-2003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.in, include/Makefile.am: PR libgcj/11147, install
- the ffitarget.h header file in a gcc versioned and target
- dependent place.
- * configure: Regenerated.
- * Makefile.in, include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Print result and check
- with dg-output to make debugging easier.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
- static.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_9byte2.c: New test case.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_double.c: Do a check on the result.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/prep_cif.c (ffi_prep_cif): Move the validity check after
- the initialization.
-
-2003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
- FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
- __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-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
-
-2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
- _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
- Used when FFI_DEBUG = 1.
-
-2003-10-14 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
- and align.
-
-2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
- FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
- SPARC64. Cleanup whitespaces.
-
-2003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
- strongarm, xscale. Cleanup whitespaces.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Cleanup whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
- * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
- parameter stack.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
- according to the Darwin/AIX ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_DARWIN): Likewise.
- Remove the outgoing parameter stack logic. Simplify the evaluation
- of the different CASE types.
- (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
- statement in the trampoline code.
-
-2003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
- for the register size.
- (ffi_closure_helper_SYSV): Handle the structure return value
- address correctly.
- (ffi_closure_helper_SYSV): Return the appropriate type when
- the registers are used for the structure return value.
- * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
- the 64-bit return value. Update copyright years.
-
-2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
- srcdir for ffi_mips.h.
-
-2003-09-12 Alan Modra <amodra@bigpond.net.au>
-
- * src/prep_cif.c (initialize_aggregate): Include tail padding in
- structure size.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
- placement of float result.
- * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
- cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Merge identical SH and ARM
- typedefs, and add POWERPC64.
- * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
- struct split over gpr and rest.
- (ffi_prep_cif_machdep): Correct intarg_count for structures.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
- passing correctly.
-
-2003-09-09 Alan Modra <amodra@bigpond.net.au>
-
- * configure: Regenerate.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Remove build rules for ffitest.
- * Makefile.in: Rebuilt.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
- about implicit declaration of abort().
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
- * Makefile.in: Rebuilt.
- * configure.in: Add dejagnu test framework.
- * configure: Rebuilt.
-
- * testsuite/Makefile.am: New file.
- * testsuite/Makefile.in: Built
- * testsuite/lib/libffi-dg.exp: New file.
- * testsuite/config/default.exp: Likewise.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Likewise.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float1.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/many.c: Likewise.
- * testsuite/libffi.call/many_win32.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
- * testsuite/libffi.call/strlen.c: Likewise.
- * testsuite/libffi.call/strlen_win32.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
- * testsuite/libffi.call/struct2.c: Likewise.
- * testsuite/libffi.call/struct3.c: Likewise.
- * testsuite/libffi.call/struct4.c: Likewise.
- * testsuite/libffi.call/struct5.c: Likewise.
- * testsuite/libffi.call/struct6.c: Likewise.
- * testsuite/libffi.call/struct7.c: Likewise.
- * testsuite/libffi.call/struct8.c: Likewise.
- * testsuite/libffi.call/struct9.c: Likewise.
- * testsuite/libffi.special/special.exp: New file.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
- copyright years.
-
-2003-08-02 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
- structure passing.
- (ffi_closure_helper_LINUX64): Likewise.
- * src/powerpc/linux64.S: Remove code writing to parm save area.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
- address in lr from ffi_closure_helper_LINUX64 call to calculate
- table address. Optimize function tail.
-
-2003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/sparc/ffi.c: Handle all floating point registers.
- * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
-
- * README: Note that libffi is not part of GCC. Update the project
- URL and status.
-
-2003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
- Use C style comments.
-
-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
- should be read-only.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * include/ffi.h.in (EH_FRAME_FLAGS): Define.
- * src/alpha/osf.S: Use EH_FRAME_FLAGS.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
- * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
- if -fpic/-fPIC/-mrelocatable.
- * src/powerpc/powerpc_closure.S: Likewise.
- * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
- #write in .eh_frame flags.
- * src/sparc/v9.S: Likewise.
- * src/x86/unix64.S: Use EH_FRAME_FLAGS.
- * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
- * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
-
-2003-05-07 Jeff Sturm <jsturm@one-point.com>
-
- Fixes PR bootstrap/10656
- * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
- support for .register pseudo-op.
- * src/sparc/v8.S: Use it.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2003-04-18 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (POWERPC64): Define if 64-bit.
- (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
- Make it the default on POWERPC64.
- (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
- * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
- * configure: Rebuilt.
- * src/powerpc/ffi.c (hidden): Define.
- (ffi_prep_args_SYSV): Renamed from
- ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
- (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
- ASM_NEEDS_REGISTERS64): New.
- (ffi_prep_args64): New function.
- (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
- (ffi_call): Likewise.
- (ffi_prep_closure): Likewise.
- (flush_icache): Surround by #ifndef POWERPC64.
- (ffi_dblfl): New union type.
- (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
- (ffi_closure_helper_LINUX64): New function.
- * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
- __powerpc64__.
- * src/powerpc/sysv.S: Likewise.
- (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
- * src/powerpc/linux64.S: New file.
- * src/powerpc/linux64_closure.S: New file.
- * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
- src/powerpc/linux64_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
- * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
- closure_test_fn3): Fix result printing on big-endian 64-bit
- machines.
- (main): Print tst2_arg instead of uninitialized tst2_result.
-
- * src/ffitest.c (main): Hide what closure pointer really points to
- from the compiler.
-
-2003-04-16 Richard Earnshaw <rearnsha@arm.com>
-
- * configure.in (arm-*-netbsdelf*): Add configuration.
- (configure): Regenerated.
-
-2003-04-04 Loren J. Rittle <ljrittle@acm.org>
-
- * include/Makefile.in: Regenerate.
-
-2003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
-
- * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
- bit mode.
- * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
- Receive closure pointer through parameter, read args using
- __builtin_dwarf_cfa.
- (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12 Andreas Schwab <schwab@suse.de>
-
- * configure.in: Avoid trailing /. in toolexeclibdir.
- * configure: Rebuilt.
-
-2003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/powerpc/darwin_closure.S:
- Fix alignement bug, allocate 8 bytes for the result.
- * libffi/src/powerpc/aix_closure.S:
- Likewise.
- * libffi/src/powerpc/ffi_darwin.c:
- Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06 Jakub Jelinek <jakub@redhat.com>
-
- * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
- attribute.
-
-2003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
- Andreas Schwab <schwab@suse.de>
-
- * configure.in: Adjust command to source config-ml.in to account
- for changes to the libffi_basedir definition.
- (libffi_basedir): Remove ${srcdir} from value and include trailing
- slash if nonempty.
-
- * configure: Regenerate.
-
-2003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
- * src/x86/ffi64.c (ffi_prep_closure): New.
- (ffi_closure_UNIX64_inner): New.
- * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
- Remove USE_LIBDIR conditional.
- * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
- * Makefile.in, configure: Rebuilt.
-
-2003-01027 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
- * Makefile.in: Regenerate.
-
-2003-01-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
- unwind info.
-
-2003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Add unwind info.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
- (ffi_prep_cif_machdep): Likewise.
- * src/x86/unix64.S: Add unwind info.
-
-2003-01-14 Andreas Jaeger <aj@suse.de>
-
- * src/ffitest.c (main): Only use ffi_closures if those are
- supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/ffitest.c
- add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
- * libffi/src/powerpc/ffi.c
- fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c: Remove RCS version string.
- * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
- * src/ffitest.c (main): Use static storage for closure.
- * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
- * src/sparc/v8.S (ffi_closure_v8): New.
- * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10 Ranjit Mathew <rmathew@hotmail.com>
-
- * include/ffi.h.in: Added FFI_STDCALL ffi_type
- enumeration for X86_WIN32.
- * src/x86/win32.S: Added ffi_call_STDCALL function
- definition.
- * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
- switch cases for recognising FFI_STDCALL and
- calling ffi_call_STDCALL if target is X86_WIN32.
- * src/ffitest.c (my_stdcall_strlen/stdcall_many):
- stdcall versions of the "my_strlen" and "many"
- test functions (for X86_WIN32).
- Added test cases to test stdcall invocation using
- these functions.
-
-2002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26 Jim Wilson <wilson@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23 H.J. Lu <hjl@gnu.org>
-
- * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
- Include ../config/accross.m4.
- * aclocal.m4; Rebuild.
- * configure: Likewise.
-
-2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11 DJ Delorie <dj@redhat.com>
-
- * configure.in: Look for common files in the right place.
-
-2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
- raw data as _Jv_word values, not ffi_raw.
- (ffi_java_ptrarray_to_raw): Likewise.
- (ffi_java_rvalue_to_raw): New function.
- (ffi_java_raw_call): Call it.
- (ffi_java_raw_to_rvalue): New function.
- (ffi_java_translate_args): Call it.
- * src/ffitest.c (closure_test_fn): Interpret return value
- as ffi_arg, not int.
- * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
- FFI_TYPE_POINTER case.
- (ffi_closure_helper_SYSV): Likewise. Also, assume return
- values extended to word size.
-
-2002-10-02 Andreas Jaeger <aj@suse.de>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01 Bo Thorsen <bo@smetana.suse.de>
-
- * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
-
- * configure.in: Add s390x-*-linux-* target.
- * configure: Regenerate.
- * include/ffi.h.in: Define S390X for s390x targets.
- (FFI_CLOSURES): Define for s390/s390x.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
- * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
- * src/s390/ffi.c: Major rework of existing code. Add support for
- s390x targets. Add closure support.
- * src/s390/sysv.S: Likewise.
-
-2002-09-29 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: Fix typo.
-
-2002-09-28 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
- has defined __USER_LABEL_PREFIX__, then use it in CNAME.
- (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27 Bo Thorsen <bo@suse.de>
-
- * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * configure.in (sh[34]*-*-linux*): Add brackets.
- * configure: Regenerate.
-
-2002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * Makefile.am: Add SH support.
- * Makefile.in: Regenerate.
- * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
- * configure: Regenerate.
- * include/ffi.h.in: Add SH support.
- * src/sh/ffi.c: New file.
- * src/sh/sysv.S: New file.
- * src/types.c: Add SH support.
-
-2002-07-16 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi64.c: New file that adds x86-64 support.
- * src/x86/unix64.S: New file that handles argument setup for
- x86-64.
- * src/x86/sysv.S: Don't use this on x86-64.
- * src/x86/ffi.c: Don't use this on x86-64.
- Remove unused vars.
- * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
- for x86-64.
- * src/ffitest.c (struct6): New test that tests a special case in
- the x86-64 ABI.
- (struct7): Likewise.
- (struct8): Likewise.
- (struct9): Likewise.
- (closure_test_fn): Silence warning about this when it's not used.
- (main): Add the new tests.
- (main): Fix a couple of wrong casts and silence some compiler warnings.
- * include/ffi.h.in: Add x86-64 ABI definition.
- * fficonfig.h.in: Regenerate.
- * Makefile.am: Add x86-64 support.
- * configure.in: Likewise.
- * Makefile.in: Regenerate.
- * configure: Likewise.
-
-2002-06-24 Bo Thorsen <bo@suse.de>
-
- * src/types.c: Merge settings for similar architectures.
- Add x86-64 sizes and alignments.
-
-2002-06-23 Bo Thorsen <bo@suse.de>
-
- * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
- * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
- * src/mips/ffi.c (ffi_prep_args): Likewise.
- * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18 H.J. Lu (hjl@gnu.org)
-
- * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
- (libffi_la_SOURCES): Support MIPS_LINUX.
- (libffi_convenience_la_SOURCES): Likewise.
- * Makefile.in: Regenerated.
-
- * configure.in (mips64*-*): Skip.
- (mips*-*-linux*): New.
- * configure: Regenerated.
-
- * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
-
-2002-05-27 Roger Sayle <roger@eyesopen.com>
-
- * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
- fix formatting.
-
-2002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
- beginning of function (for older apple cc).
-
-2002-05-08 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
- script entry, and set LD to it when configuring multilibs.
- * configure: Rebuilt.
-
-2002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (sparc64-*-netbsd*): Add target.
- (sparc-*-netbsdelf*): Likewise.
- * configure: Regenerate.
-
-2002-04-28 David S. Miller <davem@redhat.com>
-
- * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
-
- * Makefile.am: Add Linux for S/390 support.
- * Makefile.in: Regenerate.
- * configure.in: Add Linux for S/390 support.
- * configure: Regenerate.
- * include/ffi.h.in: Add Linux for S/390 support.
- * src/s390/ffi.c: New file from libffi CVS tree.
- * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
- %r_disp32().
- * src/sparc/v8.S: Use it.
- * src/sparc/v9.S: Likewise.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2002-04-08 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
- correctly.
- * src/ia64/unix.S: Add unwind information. Fix comments.
- Save sp in a way that's compatible with unwind info.
- (ffi_call_unix): Correctly restore sp in all cases.
- * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08 Jakub Jelinek <jakub@redhat.com>
-
- * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (alpha*-*-netbsd*): Add target.
- * configure: Regenerate.
-
-2002-04-04 Jeff Sturm <jsturm@one-point.com>
-
- * src/sparc/v8.S: Add unwind info.
- * src/sparc/v9.S: Likewise.
-
-2002-03-30 Krister Walfridsson <cato@df.lth.se>
-
- * configure.in: Enable i*86-*-netbsdelf*.
- * configure: Rebuilt.
-
-2002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
-
- PR other/2620
- * src/mips/n32.s: Delete
- * src/mips/o32.s: Delete
-
-2002-03-21 Loren J. Rittle <ljrittle@acm.org>
-
- * configure.in: Enable alpha*-*-freebsd*.
- * configure: Rebuilt.
-
-2002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * Makefile.am: libfficonvenience -> libffi_convenience.
- * Makefile.in: Rebuilt.
-
- * Makefile.am: Define ffitest_OBJECTS.
- * Makefile.in: Rebuilt.
-
-2002-03-07 Andreas Tobler <toa@pop.agri.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
- (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
- (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
- * Makefile.in: Regenerate.
- * include/ffi.h.in: Add AIX and Darwin closure definitions.
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
- (flush_icache, flush_range): New functions.
- (ffi_closure_helper_DARWIN): New function.
- * src/powerpc/aix_closure.S: New file.
- * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add typedef for ffi_arg.
- * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21 Andreas Tobler <toa@pop.agri.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
- number of GPRs for floating-point arguments.
-
-2002-01-31 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Replace CHECK_SIZEOF and endian tests with
- cross-compiler friendly macros.
- * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
- macros.
-
-2002-01-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): New.
- * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
- (TARGET_SRC_POWERPC_AIX): New.
- (POWERPC_AIX): New stanza.
- * Makefile.in: Regenerate.
- * configure.in: Add AIX case.
- * configure: Regenerate.
- * include/ffi.h.in (ffi_abi): Add FFI_AIX.
- * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
- size. Fix "long double" support.
- (ffi_call): Add FFI_AIX case.
- * src/powerpc/aix.S: New.
-
-2001-10-09 John Hornkvist <john@toastedmarshmallow.com>
-
- Implement Darwin PowerPC ABI.
- * configure.in: Handle powerpc-*-darwin*.
- * Makefile.am: Set source files for POWERPC_DARWIN.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
- * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
- POWERPC_DARWIN.
- * src/powerpc/darwin.S: New file.
- * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .balign directive.
- Use C style comments.
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
- Fixes PR bootstrap/3563.
-
-2001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.in: Recognize sparc*-sun-* host.
- * configure: Regenerate.
-
-2001-06-06 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S: Add unwind info.
- * src/powerpc/sysv.S: Add unwind info.
- * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31 Jeff Sturm <jsturm@one-point.com>
-
- * configure.in: Fix AC_ARG_ENABLE usage.
- * configure: Rebuilt.
-
-2001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * configure.in: Remove warning about beta code.
- * configure: Rebuilt.
-
-2001-04-25 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/ia64/unix.S: Restore stack pointer when returning from
- ffi_closure_UNIX.
- * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18 Jim Wilson <wilson@redhat.com>
-
- * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
- to eliminate RAW DV.
-
-2001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
-
- * Makefile.am: Make a libtool convenience library.
- * Makefile.in: Rebuilt.
-
-2001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Use different syntax for subdirectory creation.
- * configure: Rebuilt.
-
-2001-03-27 Jon Beniston <jon@beniston.com>
-
- * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
- * configure: Rebuilt.
- * Makefile.am: Added X86_WIN32 target support.
- * Makefile.in: Rebuilt.
-
- * include/ffi.h.in: Added X86_WIN32 target support.
-
- * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
- * src/types.c: Added X86_WIN32 target support.
-
- * src/x86/win32.S: New file. Based on sysv.S, but with EH
- stuff removed and made to work with CygWin's gas.
-
-2001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Make target subdirectory in build dir.
- * Makefile.am: Override suffix based rules to specify correct output
- subdirectory.
- * Makefile.in: Rebuilt.
- * configure: Rebuilt.
-
-2001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
-
- * src/powerpc/ppc_closure.S: New file.
- * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
- involving long long and register pairs.
- (ffi_prep_closure): New function.
- (flush_icache): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * Makefile.in: Rebuilt.
- * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19 Tom Tromey <tromey@redhat.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02 Nick Clifton <nickc@redhat.com>
-
- * include/ffi.h.in: Remove RCS ident string.
- * include/ffi_mips.h: Remove RCS ident string.
- * src/debug.c: Remove RCS ident string.
- * src/ffitest.c: Remove RCS ident string.
- * src/prep_cif.c: Remove RCS ident string.
- * src/types.c: Remove RCS ident string.
- * src/alpha/ffi.c: Remove RCS ident string.
- * src/alpha/osf.S: Remove RCS ident string.
- * src/arm/ffi.c: Remove RCS ident string.
- * src/arm/sysv.S: Remove RCS ident string.
- * src/mips/ffi.c: Remove RCS ident string.
- * src/mips/n32.S: Remove RCS ident string.
- * src/mips/o32.S: Remove RCS ident string.
- * src/sparc/ffi.c: Remove RCS ident string.
- * src/sparc/v8.S: Remove RCS ident string.
- * src/sparc/v9.S: Remove RCS ident string.
- * src/x86/ffi.c: Remove RCS ident string.
- * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * include/ffi.h.in: Change sourceware.cygnus.com references to
- gcc.gnu.org.
-
-2000-12-09 Richard Henderson <rth@redhat.com>
-
- * src/alpha/ffi.c (ffi_call): Simplify struct return test.
- (ffi_closure_osf_inner): Index rather than increment avalue
- and arg_types. Give ffi_closure_osf the raw return value type.
- * src/alpha/osf.S (ffi_closure_osf): Handle return value type
- promotion.
-
-2000-12-07 Richard Henderson <rth@redhat.com>
-
- * src/raw_api.c (ffi_translate_args): Fix typo.
- (ffi_prep_closure): Likewise.
-
- * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
- FFI_TRAMPOLINE_SIZE.
- * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
- cif->bytes for new ffi_call_osf implementation.
- (ffi_prep_args): Absorb into ...
- (ffi_call): ... here. Do all stack allocation here and
- avoid a callback function.
- (ffi_prep_closure, ffi_closure_osf_inner): New.
- * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
- (ffi_closure_osf): New.
-
-2000-09-10 Alexandre Oliva <aoliva@redhat.com>
-
- * config.guess, config.sub, install-sh: Removed.
- * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
- * Makefile.in: Rebuilt.
-
- * acinclude.m4: Include libtool macros from the top level.
- * aclocal.m4, configure: Rebuilt.
-
-2000-08-22 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
- * configure: Rebuilt.
-
-2000-05-11 Scott Bambrough <scottb@netwinder.org>
-
- * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
- memory correctly. Use conditional instructions, not branches where
- possible.
-
-2000-05-04 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Match `arm*-*-linux-*'.
- From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (SUBDIRS): Define.
- (AM_MAKEFLAGS): Likewise.
- (Multilib support.): Add section.
- * Makefile.in: Rebuilt.
- * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
- New variables. Set for gcc using -print-multi-lib. Export them
- to libtool.
- (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
- * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
- for -shared links.
- (extra_compiler_flags_value, extra_compiler_flags): Check these
- for extra compiler options which need to be passed down in
- compiler_flags.
-
-2000-04-16 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
- Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
- * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
- Replace all void * sizeofs with sizeof(int).
- Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
- different than DOUBLE.
- Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
- (ffi_prep_args_v9): New function.
- (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
- (ffi_V9_return_struct): New function.
- (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
- 32bit code (not yet cross-arch calls).
- * src/sparc/v8.S: Add struct return delay nop.
- Handle long long.
- * src/sparc/v9.S: New file.
- * src/prep_cif.c (ffi_prep_cif): Return structure pointer
- is used on sparc64 only for structures larger than 32 bytes.
- Pass by reference for structures is done for structure arguments
- larger than 16 bytes.
- * src/ffitest.c (main): Use 64bit rint on sparc64.
- Run long long tests on sparc.
- * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
- sparc64.
- (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
- on sparc64.
- * configure.in (sparc-*-linux*): New supported target.
- (sparc64-*-linux*): Likewise.
- * configure: Rebuilt.
- * Makefile.am: Add v9.S to SPARC files.
- * Makefile.in: Likewise.
- (LINK): Surround $(CCLD) into double quotes, so that multilib
- compiles work correctly.
-
-2000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: (i*86-*-solaris*): New libffi target. Patch
- proposed by Bryce McKinlay.
-
-2000-03-20 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
-
- * config.guess, config.sub: Update from the gcc tree.
- Fix for PR libgcj/168.
-
-2000-03-03 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Fixed ia64 by hand.
-
- * configure: Rebuilt.
- * configure.in (--enable-multilib): New option.
- (libffi_basedir): New subst.
- (AC_OUTPUT): Added multilib code.
-
-2000-03-02 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
- directory name.
-
-2000-02-25 Hans Boehm <boehm@acm.org>
-
- * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
- files.
- * src/raw_api.c (ffi_translate_args): Fixed typo in argument
- list.
- (ffi_prep_raw_closure): Use ffi_translate_args, not
- ffi_closure_translate.
- * src/java_raw_api.c: New file.
- * src/ffitest.c (closure_test_fn): New function.
- (main): Define `rint' as long long on IA64. Added new test when
- FFI_CLOSURES is defined.
- * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
- (ffi_abi): Recognize IA64.
- (ffi_raw): Added `flt' field.
- Added "Java raw API" code.
- * configure.in: Recognize ia64.
- * Makefile.am (TARGET_SRC_IA64): New macro.
- (libffi_la_common_SOURCES): Added java_raw_api.c.
- (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01 Tom Tromey <tromey@cygnus.com>
-
- * include/ffi.h.in: Removed PACKAGE and VERSION defines and
- undefs.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
- * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
- Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
- * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09 Anthony Green <green@cygnus.com>
-
- * include/ffi.h.in: Try to work around messy header problem
- with PACKAGE and VERSION.
-
- * configure: Rebuilt.
- * configure.in: Change version to 2.00-beta.
-
- * fficonfig.h.in: Rebuilt.
- * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
- * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
-
- * src/x86/ffi.c (ffi_closure_SYSV): New function.
- (ffi_prep_incoming_args_SYSV): Ditto.
- (ffi_prep_closure): Ditto.
- (ffi_closure_raw_SYSV): Ditto.
- (ffi_prep_raw_closure): More ditto.
- (ffi_call_raw): Final ditto.
-
- * include/ffi.h.in: Add definitions for closure and raw API.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
- FFI_TYPE_UINT64.
-
- * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
- * src/raw_api.c: New file.
-
- * include/ffi.h.in (ffi_raw): New type.
- (UINT_ARG, SINT_ARG): New defines.
- (ffi_closure, ffi_raw_closure): New types.
- (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
- * configure.in: Add check for endianness and sizeof void*.
-
- * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
- instead of directly.
-
- * configure: Rebuilt.
-
-Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
-
- * configure.in: Add x86 and powerpc BeOS configurations.
- From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09 Anthony Green <green@cygnus.com>
-
- * configure.in: Add warning about this being beta code.
- Remove src/Makefile.am from the picture.
- * configure: Rebuilt.
-
- * Makefile.am: Move logic from src/Makefile.am. Add changes
- to support libffi as a target library.
- * Makefile.in: Rebuilt.
-
- * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
- Upgraded to new autoconf, automake, libtool.
-
- * README: Tweaks.
-
- * LICENSE: Update copyright date.
-
- * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29 Anthony Green <green@cygnus.com>
-
- * include/ChangeLog: Removed.
- * src/ChangeLog: Removed.
- * src/mips/ChangeLog: Removed.
- * src/sparc/ChangeLog: Remboved.
- * src/x86/ChangeLog: Removed.
-
- * ChangeLog.v1: Created.
diff --git a/.pc/darwin-EH-fix/src/powerpc/darwin.S b/.pc/darwin-EH-fix/src/powerpc/darwin.S
deleted file mode 100644
index 3b425da..0000000
--- a/.pc/darwin-EH-fix/src/powerpc/darwin.S
+++ /dev/null
@@ -1,383 +0,0 @@
-/* -----------------------------------------------------------------------
- darwin.S - Copyright (c) 2000 John Hornkvist
- Copyright (c) 2004, 2010 Free Software Foundation, Inc.
-
- PowerPC Assembly glue.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS
- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR
- OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- OTHER DEALINGS IN THE SOFTWARE.
- ----------------------------------------------------------------------- */
-
-#define LIBFFI_ASM
-#if defined(__ppc64__)
-#define MODE_CHOICE(x, y) y
-#else
-#define MODE_CHOICE(x, y) x
-#endif
-
-#define machine_choice MODE_CHOICE(ppc7400,ppc64)
-
-; Define some pseudo-opcodes for size-independent load & store of GPRs ...
-#define lgu MODE_CHOICE(lwzu, ldu)
-#define lg MODE_CHOICE(lwz,ld)
-#define sg MODE_CHOICE(stw,std)
-#define sgu MODE_CHOICE(stwu,stdu)
-#define sgux MODE_CHOICE(stwux,stdux)
-
-; ... and the size of GPRs and their storage indicator.
-#define GPR_BYTES MODE_CHOICE(4,8)
-#define LOG2_GPR_BYTES MODE_CHOICE(2,3) /* log2(GPR_BYTES) */
-#define g_long MODE_CHOICE(long, quad) /* usage is ".g_long" */
-
-; From the ABI doc: "Mac OS X ABI Function Call Guide" Version 2009-02-04.
-#define LINKAGE_SIZE MODE_CHOICE(24,48)
-#define PARAM_AREA MODE_CHOICE(32,64)
-#define SAVED_LR_OFFSET MODE_CHOICE(8,16) /* save position for lr */
-
-/* If there is any FP stuff we make space for all of the regs. */
-#define SAVED_FPR_COUNT 13
-#define FPR_SIZE 8
-#define RESULT_BYTES 16
-
-/* This should be kept in step with the same value in ffi_darwin.c. */
-#define ASM_NEEDS_REGISTERS 4
-#define SAVE_REGS_SIZE (ASM_NEEDS_REGISTERS * GPR_BYTES)
-
-#include <fficonfig.h>
-#include <ffi.h>
-
-#define JUMPTARGET(name) name
-#define L(x) x
-
- .text
- .align 2
- .globl _ffi_prep_args
-
- .align 2
- .globl _ffi_call_DARWIN
-
- /* We arrive here with:
- r3 = ptr to extended cif.
- r4 = -bytes.
- r5 = cif flags.
- r6 = ptr to return value.
- r7 = fn pointer (user func).
- r8 = fn pointer (ffi_prep_args).
- r9 = ffi_type* for the ret val. */
-
-_ffi_call_DARWIN:
-Lstartcode:
- mr r12,r8 /* We only need r12 until the call,
- so it does not have to be saved. */
-LFB1:
- /* Save the old stack pointer as AP. */
- mr r8,r1
-LCFI0:
-
- /* Save the retval type in parents frame. */
- sg r9,(LINKAGE_SIZE+6*GPR_BYTES)(r8)
-
- /* Allocate the stack space we need. */
- sgux r1,r1,r4
-
- /* Save registers we use. */
- mflr r9
- sg r9,SAVED_LR_OFFSET(r8)
-
- sg r28,-(4 * GPR_BYTES)(r8)
- sg r29,-(3 * GPR_BYTES)(r8)
- sg r30,-(2 * GPR_BYTES)(r8)
- sg r31,-( GPR_BYTES)(r8)
-
-#if !defined(POWERPC_DARWIN)
- /* The TOC slot is reserved in the Darwin ABI and r2 is volatile. */
- sg r2,(5 * GPR_BYTES)(r1)
-#endif
-
-LCFI1:
-
- /* Save arguments over call. */
- mr r31,r5 /* flags, */
- mr r30,r6 /* rvalue, */
- mr r29,r7 /* function address, */
- mr r28,r8 /* our AP. */
-LCFI2:
- /* Call ffi_prep_args. r3 = extended cif, r4 = stack ptr copy. */
- mr r4,r1
- li r9,0
-
- mtctr r12 /* r12 holds address of _ffi_prep_args. */
- bctrl
-
-#if !defined(POWERPC_DARWIN)
- /* The TOC slot is reserved in the Darwin ABI and r2 is volatile. */
- lg r2,(5 * GPR_BYTES)(r1)
-#endif
- /* Now do the call.
- Set up cr1 with bits 4-7 of the flags. */
- mtcrf 0x40,r31
- /* Get the address to call into CTR. */
- mtctr r29
- /* Load all those argument registers.
- We have set up a nice stack frame, just load it into registers. */
- lg r3, (LINKAGE_SIZE )(r1)
- lg r4, (LINKAGE_SIZE + GPR_BYTES)(r1)
- lg r5, (LINKAGE_SIZE + 2 * GPR_BYTES)(r1)
- lg r6, (LINKAGE_SIZE + 3 * GPR_BYTES)(r1)
- nop
- lg r7, (LINKAGE_SIZE + 4 * GPR_BYTES)(r1)
- lg r8, (LINKAGE_SIZE + 5 * GPR_BYTES)(r1)
- lg r9, (LINKAGE_SIZE + 6 * GPR_BYTES)(r1)
- lg r10,(LINKAGE_SIZE + 7 * GPR_BYTES)(r1)
-
-L1:
- /* ... Load all the FP registers. */
- bf 6,L2 /* No floats to load. */
- lfd f1, -SAVE_REGS_SIZE-(13*FPR_SIZE)(r28)
- lfd f2, -SAVE_REGS_SIZE-(12*FPR_SIZE)(r28)
- lfd f3, -SAVE_REGS_SIZE-(11*FPR_SIZE)(r28)
- lfd f4, -SAVE_REGS_SIZE-(10*FPR_SIZE)(r28)
- nop
- lfd f5, -SAVE_REGS_SIZE-( 9*FPR_SIZE)(r28)
- lfd f6, -SAVE_REGS_SIZE-( 8*FPR_SIZE)(r28)
- lfd f7, -SAVE_REGS_SIZE-( 7*FPR_SIZE)(r28)
- lfd f8, -SAVE_REGS_SIZE-( 6*FPR_SIZE)(r28)
- nop
- lfd f9, -SAVE_REGS_SIZE-( 5*FPR_SIZE)(r28)
- lfd f10,-SAVE_REGS_SIZE-( 4*FPR_SIZE)(r28)
- lfd f11,-SAVE_REGS_SIZE-( 3*FPR_SIZE)(r28)
- lfd f12,-SAVE_REGS_SIZE-( 2*FPR_SIZE)(r28)
- nop
- lfd f13,-SAVE_REGS_SIZE-( 1*FPR_SIZE)(r28)
-
-L2:
- mr r12,r29 /* Put the target address in r12 as specified. */
- mtctr r12
- nop
- nop
-
- /* Make the call. */
- bctrl
-
- /* Now, deal with the return value. */
-
- /* m64 structure returns can occupy the same set of registers as
- would be used to pass such a structure as arg0 - so take care
- not to step on any possibly hot regs. */
-
- /* Get the flags.. */
- mtcrf 0x03,r31 ; we need c6 & cr7 now.
- ; FLAG_RETURNS_NOTHING also covers struct ret-by-ref.
- bt 30,L(done_return_value) ; FLAG_RETURNS_NOTHING
- bf 27,L(scalar_return_value) ; not FLAG_RETURNS_STRUCT
-
- /* OK, so we have a struct. */
-#if defined(__ppc64__)
- bt 31,L(maybe_return_128) ; FLAG_RETURNS_128BITS, special case
-
- /* OK, we have to map the return back to a mem struct.
- We are about to trample the parents param area, so recover the
- return type. r29 is free, since the call is done. */
- lg r29,(LINKAGE_SIZE + 6 * GPR_BYTES)(r28)
-
- sg r3, (LINKAGE_SIZE )(r28)
- sg r4, (LINKAGE_SIZE + GPR_BYTES)(r28)
- sg r5, (LINKAGE_SIZE + 2 * GPR_BYTES)(r28)
- sg r6, (LINKAGE_SIZE + 3 * GPR_BYTES)(r28)
- nop
- sg r7, (LINKAGE_SIZE + 4 * GPR_BYTES)(r28)
- sg r8, (LINKAGE_SIZE + 5 * GPR_BYTES)(r28)
- sg r9, (LINKAGE_SIZE + 6 * GPR_BYTES)(r28)
- sg r10,(LINKAGE_SIZE + 7 * GPR_BYTES)(r28)
- /* OK, so do the block move - we trust that memcpy will not trample
- the fprs... */
- mr r3,r30 ; dest
- addi r4,r28,LINKAGE_SIZE ; source
- /* The size is a size_t, should be long. */
- lg r5,0(r29)
- /* Figure out small structs */
- cmpi 0,r5,4
- bgt L3 ; 1, 2 and 4 bytes have special rules.
- cmpi 0,r5,3
- beq L3 ; not 3
- addi r4,r4,8
- subf r4,r5,r4
-L3:
- bl _memcpy
-
- /* ... do we need the FP registers? - recover the flags.. */
- mtcrf 0x03,r31 ; we need c6 & cr7 now.
- bf 29,L(done_return_value) /* No floats in the struct. */
- stfd f1, -SAVE_REGS_SIZE-(13*FPR_SIZE)(r28)
- stfd f2, -SAVE_REGS_SIZE-(12*FPR_SIZE)(r28)
- stfd f3, -SAVE_REGS_SIZE-(11*FPR_SIZE)(r28)
- stfd f4, -SAVE_REGS_SIZE-(10*FPR_SIZE)(r28)
- nop
- stfd f5, -SAVE_REGS_SIZE-( 9*FPR_SIZE)(r28)
- stfd f6, -SAVE_REGS_SIZE-( 8*FPR_SIZE)(r28)
- stfd f7, -SAVE_REGS_SIZE-( 7*FPR_SIZE)(r28)
- stfd f8, -SAVE_REGS_SIZE-( 6*FPR_SIZE)(r28)
- nop
- stfd f9, -SAVE_REGS_SIZE-( 5*FPR_SIZE)(r28)
- stfd f10,-SAVE_REGS_SIZE-( 4*FPR_SIZE)(r28)
- stfd f11,-SAVE_REGS_SIZE-( 3*FPR_SIZE)(r28)
- stfd f12,-SAVE_REGS_SIZE-( 2*FPR_SIZE)(r28)
- nop
- stfd f13,-SAVE_REGS_SIZE-( 1*FPR_SIZE)(r28)
-
- mr r3,r29 ; ffi_type *
- mr r4,r30 ; dest
- addi r5,r28,-SAVE_REGS_SIZE-(13*FPR_SIZE) ; fprs
- xor r6,r6,r6
- sg r6,(LINKAGE_SIZE + 7 * GPR_BYTES)(r28)
- addi r6,r28,(LINKAGE_SIZE + 7 * GPR_BYTES) ; point to a zeroed counter.
- bl _darwin64_struct_floats_to_mem
-
- b L(done_return_value)
-#else
- stw r3,0(r30) ; m32 the only struct return in reg is 4 bytes.
-#endif
- b L(done_return_value)
-
-L(fp_return_value):
- /* Do we have long double to store? */
- bf 31,L(fd_return_value) ; FLAG_RETURNS_128BITS
- stfd f1,0(r30)
- stfd f2,FPR_SIZE(r30)
- b L(done_return_value)
-
-L(fd_return_value):
- /* Do we have double to store? */
- bf 28,L(float_return_value)
- stfd f1,0(r30)
- b L(done_return_value)
-
-L(float_return_value):
- /* We only have a float to store. */
- stfs f1,0(r30)
- b L(done_return_value)
-
-L(scalar_return_value):
- bt 29,L(fp_return_value) ; FLAG_RETURNS_FP
- ; ffi_arg is defined as unsigned long.
- sg r3,0(r30) ; Save the reg.
- bf 28,L(done_return_value) ; not FLAG_RETURNS_64BITS
-
-#if defined(__ppc64__)
-L(maybe_return_128):
- std r3,0(r30)
- bf 31,L(done_return_value) ; not FLAG_RETURNS_128BITS
- std r4,8(r30)
-#else
- stw r4,4(r30)
-#endif
-
- /* Fall through. */
- /* We want this at the end to simplify eh epilog computation. */
-
-L(done_return_value):
- /* Restore the registers we used and return. */
- lg r29,SAVED_LR_OFFSET(r28)
- ; epilog
- lg r31,-(1 * GPR_BYTES)(r28)
- mtlr r29
- lg r30,-(2 * GPR_BYTES)(r28)
- lg r29,-(3 * GPR_BYTES)(r28)
- lg r28,-(4 * GPR_BYTES)(r28)
- lg r1,0(r1)
- blr
-LFE1:
- .align 1
-/* END(_ffi_call_DARWIN) */
-
-/* Provide a null definition of _ffi_call_AIX. */
- .text
- .globl _ffi_call_AIX
- .align 2
-_ffi_call_AIX:
- blr
-/* END(_ffi_call_AIX) */
-
-/* EH stuff. */
-
-#define EH_DATA_ALIGN_FACT MODE_CHOICE(0x7c,0x78)
-
- .static_data
- .align LOG2_GPR_BYTES
-LLFB0$non_lazy_ptr:
- .g_long Lstartcode
-
- .section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support
-EH_frame1:
- .set L$set$0,LECIE1-LSCIE1
- .long L$set$0 ; Length of Common Information Entry
-LSCIE1:
- .long 0x0 ; CIE Identifier Tag
- .byte 0x1 ; CIE Version
- .ascii "zR\0" ; CIE Augmentation
- .byte 0x1 ; uleb128 0x1; CIE Code Alignment Factor
- .byte EH_DATA_ALIGN_FACT ; sleb128 -4; CIE Data Alignment Factor
- .byte 0x41 ; CIE RA Column
- .byte 0x1 ; uleb128 0x1; Augmentation size
- .byte 0x90 ; FDE Encoding (indirect pcrel)
- .byte 0xc ; DW_CFA_def_cfa
- .byte 0x1 ; uleb128 0x1
- .byte 0x0 ; uleb128 0x0
- .align LOG2_GPR_BYTES
-LECIE1:
-
- .globl _ffi_call_DARWIN.eh
-_ffi_call_DARWIN.eh:
-LSFDE1:
- .set L$set$1,LEFDE1-LASFDE1
- .long L$set$1 ; FDE Length
-LASFDE1:
- .long LASFDE1-EH_frame1 ; FDE CIE offset
- .g_long LLFB0$non_lazy_ptr-. ; FDE initial location
- .set L$set$3,LFE1-Lstartcode
- .g_long L$set$3 ; FDE address range
- .byte 0x0 ; uleb128 0x0; Augmentation size
- .byte 0x4 ; DW_CFA_advance_loc4
- .set L$set$4,LCFI0-Lstartcode
- .long L$set$4
- .byte 0xd ; DW_CFA_def_cfa_register
- .byte 0x08 ; uleb128 0x08
- .byte 0x4 ; DW_CFA_advance_loc4
- .set L$set$5,LCFI1-LCFI0
- .long L$set$5
- .byte 0x11 ; DW_CFA_offset_extended_sf
- .byte 0x41 ; uleb128 0x41
- .byte 0x7e ; sleb128 -2
- .byte 0x9f ; DW_CFA_offset, column 0x1f
- .byte 0x1 ; uleb128 0x1
- .byte 0x9e ; DW_CFA_offset, column 0x1e
- .byte 0x2 ; uleb128 0x2
- .byte 0x9d ; DW_CFA_offset, column 0x1d
- .byte 0x3 ; uleb128 0x3
- .byte 0x9c ; DW_CFA_offset, column 0x1c
- .byte 0x4 ; uleb128 0x4
- .byte 0x4 ; DW_CFA_advance_loc4
- .set L$set$6,LCFI2-LCFI1
- .long L$set$6
- .byte 0xd ; DW_CFA_def_cfa_register
- .byte 0x1c ; uleb128 0x1c
- .align LOG2_GPR_BYTES
-LEFDE1:
- .align 1
-
diff --git a/.pc/darwin-EH-fix/src/powerpc/darwin_closure.S b/.pc/darwin-EH-fix/src/powerpc/darwin_closure.S
deleted file mode 100644
index b43f965..0000000
--- a/.pc/darwin-EH-fix/src/powerpc/darwin_closure.S
+++ /dev/null
@@ -1,576 +0,0 @@
-/* -----------------------------------------------------------------------
- darwin_closure.S - Copyright (c) 2002, 2003, 2004, 2010,
- Free Software Foundation, Inc.
- based on ppc_closure.S
-
- PowerPC Assembly glue.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS
- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR
- OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- OTHER DEALINGS IN THE SOFTWARE.
- ----------------------------------------------------------------------- */
-
-#define LIBFFI_ASM
-#define L(x) x
-
-#if defined(__ppc64__)
-#define MODE_CHOICE(x, y) y
-#else
-#define MODE_CHOICE(x, y) x
-#endif
-
-#define machine_choice MODE_CHOICE(ppc7400,ppc64)
-
-; Define some pseudo-opcodes for size-independent load & store of GPRs ...
-#define lgu MODE_CHOICE(lwzu, ldu)
-#define lg MODE_CHOICE(lwz,ld)
-#define sg MODE_CHOICE(stw,std)
-#define sgu MODE_CHOICE(stwu,stdu)
-
-; ... and the size of GPRs and their storage indicator.
-#define GPR_BYTES MODE_CHOICE(4,8)
-#define LOG2_GPR_BYTES MODE_CHOICE(2,3) /* log2(GPR_BYTES) */
-#define g_long MODE_CHOICE(long, quad) /* usage is ".g_long" */
-
-; From the ABI doc: "Mac OS X ABI Function Call Guide" Version 2009-02-04.
-#define LINKAGE_SIZE MODE_CHOICE(24,48)
-#define PARAM_AREA MODE_CHOICE(32,64)
-
-#define SAVED_CR_OFFSET MODE_CHOICE(4,8) /* save position for CR */
-#define SAVED_LR_OFFSET MODE_CHOICE(8,16) /* save position for lr */
-
-/* WARNING: if ffi_type is changed... here be monsters.
- Offsets of items within the result type. */
-#define FFI_TYPE_TYPE MODE_CHOICE(6,10)
-#define FFI_TYPE_ELEM MODE_CHOICE(8,16)
-
-#define SAVED_FPR_COUNT 13
-#define FPR_SIZE 8
-/* biggest m64 struct ret is 8GPRS + 13FPRS = 168 bytes - rounded to 16bytes = 176. */
-#define RESULT_BYTES MODE_CHOICE(16,176)
-
-; The whole stack frame **MUST** be 16byte-aligned.
-#define SAVE_SIZE (((LINKAGE_SIZE+PARAM_AREA+SAVED_FPR_COUNT*FPR_SIZE+RESULT_BYTES)+15) & -16LL)
-#define PAD_SIZE (SAVE_SIZE-(LINKAGE_SIZE+PARAM_AREA+SAVED_FPR_COUNT*FPR_SIZE+RESULT_BYTES))
-
-#define PARENT_PARM_BASE (SAVE_SIZE+LINKAGE_SIZE)
-#define FP_SAVE_BASE (LINKAGE_SIZE+PARAM_AREA)
-
-#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1050
-; We no longer need the pic symbol stub for Darwin >= 9.
-#define BLCLS_HELP _ffi_closure_helper_DARWIN
-#define STRUCT_RETVALUE_P _darwin64_struct_ret_by_value_p
-#define PASS_STR_FLOATS _darwin64_pass_struct_floats
-#undef WANT_STUB
-#else
-#define BLCLS_HELP L_ffi_closure_helper_DARWIN$stub
-#define STRUCT_RETVALUE_P L_darwin64_struct_ret_by_value_p$stub
-#define PASS_STR_FLOATS L_darwin64_pass_struct_floats$stub
-#define WANT_STUB
-#endif
-
-/* m32/m64
-
- The stack layout looks like this:
-
- | Additional params... | | Higher address
- ~ ~ ~
- | Parameters (at least 8*4/8=32/64) | | NUM_GPR_ARG_REGISTERS
- |--------------------------------------------| |
- | TOC=R2 (AIX) Reserved (Darwin) 4/8 | |
- |--------------------------------------------| |
- | Reserved 2*4/8 | |
- |--------------------------------------------| |
- | Space for callee`s LR 4/8 | |
- |--------------------------------------------| |
- | Saved CR [low word for m64] 4/8 | |
- |--------------------------------------------| |
- | Current backchain pointer 4/8 |-/ Parent`s frame.
- |--------------------------------------------| <+ <<< on entry to
- | Result Bytes 16/176 | |
- |--------------------------------------------| |
- ~ padding to 16-byte alignment ~ ~
- |--------------------------------------------| |
- | NUM_FPR_ARG_REGISTERS slots | |
- | here fp13 .. fp1 13*8 | |
- |--------------------------------------------| |
- | R3..R10 8*4/8=32/64 | | NUM_GPR_ARG_REGISTERS
- |--------------------------------------------| |
- | TOC=R2 (AIX) Reserved (Darwin) 4/8 | |
- |--------------------------------------------| | stack |
- | Reserved [compiler,binder] 2*4/8 | | grows |
- |--------------------------------------------| | down V
- | Space for callees LR 4/8 | |
- |--------------------------------------------| | lower addresses
- | Saved CR [low word for m64] 4/8 | |
- |--------------------------------------------| | stack pointer here
- | Current backchain pointer 4/8 |-/ during
- |--------------------------------------------| <<< call.
-
-*/
-
- .file "darwin_closure.S"
-
- .machine machine_choice
-
- .text
- .globl _ffi_closure_ASM
- .align LOG2_GPR_BYTES
-_ffi_closure_ASM:
-LFB1:
-Lstartcode:
- mflr r0 /* extract return address */
- sg r0,SAVED_LR_OFFSET(r1) /* save the return address */
-LCFI0:
- sgu r1,-SAVE_SIZE(r1) /* skip over caller save area
- keep stack aligned to 16. */
-LCFI1:
- /* We want to build up an area for the parameters passed
- in registers. (both floating point and integer) */
-
- /* Put gpr 3 to gpr 10 in the parents outgoing area...
- ... the remainder of any params that overflowed the regs will
- follow here. */
- sg r3, (PARENT_PARM_BASE )(r1)
- sg r4, (PARENT_PARM_BASE + GPR_BYTES )(r1)
- sg r5, (PARENT_PARM_BASE + GPR_BYTES * 2)(r1)
- sg r6, (PARENT_PARM_BASE + GPR_BYTES * 3)(r1)
- sg r7, (PARENT_PARM_BASE + GPR_BYTES * 4)(r1)
- sg r8, (PARENT_PARM_BASE + GPR_BYTES * 5)(r1)
- sg r9, (PARENT_PARM_BASE + GPR_BYTES * 6)(r1)
- sg r10,(PARENT_PARM_BASE + GPR_BYTES * 7)(r1)
-
- /* We save fpr 1 to fpr 14 in our own save frame. */
- stfd f1, (FP_SAVE_BASE )(r1)
- stfd f2, (FP_SAVE_BASE + FPR_SIZE )(r1)
- stfd f3, (FP_SAVE_BASE + FPR_SIZE * 2 )(r1)
- stfd f4, (FP_SAVE_BASE + FPR_SIZE * 3 )(r1)
- stfd f5, (FP_SAVE_BASE + FPR_SIZE * 4 )(r1)
- stfd f6, (FP_SAVE_BASE + FPR_SIZE * 5 )(r1)
- stfd f7, (FP_SAVE_BASE + FPR_SIZE * 6 )(r1)
- stfd f8, (FP_SAVE_BASE + FPR_SIZE * 7 )(r1)
- stfd f9, (FP_SAVE_BASE + FPR_SIZE * 8 )(r1)
- stfd f10,(FP_SAVE_BASE + FPR_SIZE * 9 )(r1)
- stfd f11,(FP_SAVE_BASE + FPR_SIZE * 10)(r1)
- stfd f12,(FP_SAVE_BASE + FPR_SIZE * 11)(r1)
- stfd f13,(FP_SAVE_BASE + FPR_SIZE * 12)(r1)
-
- /* Set up registers for the routine that actually does the work
- get the context pointer from the trampoline. */
- mr r3,r11
-
- /* Now load up the pointer to the result storage. */
- addi r4,r1,(SAVE_SIZE-RESULT_BYTES)
-
- /* Now load up the pointer to the saved gpr registers. */
- addi r5,r1,PARENT_PARM_BASE
-
- /* Now load up the pointer to the saved fpr registers. */
- addi r6,r1,FP_SAVE_BASE
-
- /* Make the call. */
- bl BLCLS_HELP
-
- /* r3 contains the rtype pointer... save it since we will need
- it later. */
- sg r3,LINKAGE_SIZE(r1) ; ffi_type * result_type
- lg r0,0(r3) ; size => r0
- lhz r3,FFI_TYPE_TYPE(r3) ; type => r3
-
- /* The helper will have intercepted struture returns and inserted
- the caller`s destination address for structs returned by ref. */
-
- /* r3 contains the return type so use it to look up in a table
- so we know how to deal with each type. */
-
- addi r5,r1,(SAVE_SIZE-RESULT_BYTES) /* Otherwise, our return is here. */
- bl Lget_ret_type0_addr /* Get pointer to Lret_type0 into LR. */
- mflr r4 /* Move to r4. */
- slwi r3,r3,4 /* Now multiply return type by 16. */
- add r3,r3,r4 /* Add contents of table to table address. */
- mtctr r3
- bctr /* Jump to it. */
-LFE1:
-/* Each of the ret_typeX code fragments has to be exactly 16 bytes long
- (4 instructions). For cache effectiveness we align to a 16 byte boundary
- first. */
-
- .align 4
-
- nop
- nop
- nop
-Lget_ret_type0_addr:
- blrl
-
-/* case FFI_TYPE_VOID */
-Lret_type0:
- b Lfinish
- nop
- nop
- nop
-
-/* case FFI_TYPE_INT */
-Lret_type1:
- lg r3,0(r5)
- b Lfinish
- nop
- nop
-
-/* case FFI_TYPE_FLOAT */
-Lret_type2:
- lfs f1,0(r5)
- b Lfinish
- nop
- nop
-
-/* case FFI_TYPE_DOUBLE */
-Lret_type3:
- lfd f1,0(r5)
- b Lfinish
- nop
- nop
-
-/* case FFI_TYPE_LONGDOUBLE */
-Lret_type4:
- lfd f1,0(r5)
- lfd f2,8(r5)
- b Lfinish
- nop
-
-/* case FFI_TYPE_UINT8 */
-Lret_type5:
-#if defined(__ppc64__)
- lbz r3,7(r5)
-#else
- lbz r3,3(r5)
-#endif
- b Lfinish
- nop
- nop
-
-/* case FFI_TYPE_SINT8 */
-Lret_type6:
-#if defined(__ppc64__)
- lbz r3,7(r5)
-#else
- lbz r3,3(r5)
-#endif
- extsb r3,r3
- b Lfinish
- nop
-
-/* case FFI_TYPE_UINT16 */
-Lret_type7:
-#if defined(__ppc64__)
- lhz r3,6(r5)
-#else
- lhz r3,2(r5)
-#endif
- b Lfinish
- nop
- nop
-
-/* case FFI_TYPE_SINT16 */
-Lret_type8:
-#if defined(__ppc64__)
- lha r3,6(r5)
-#else
- lha r3,2(r5)
-#endif
- b Lfinish
- nop
- nop
-
-/* case FFI_TYPE_UINT32 */
-Lret_type9:
-#if defined(__ppc64__)
- lwz r3,4(r5)
-#else
- lwz r3,0(r5)
-#endif
- b Lfinish
- nop
- nop
-
-/* case FFI_TYPE_SINT32 */
-Lret_type10:
-#if defined(__ppc64__)
- lwz r3,4(r5)
-#else
- lwz r3,0(r5)
-#endif
- b Lfinish
- nop
- nop
-
-/* case FFI_TYPE_UINT64 */
-Lret_type11:
-#if defined(__ppc64__)
- lg r3,0(r5)
- b Lfinish
- nop
-#else
- lwz r3,0(r5)
- lwz r4,4(r5)
- b Lfinish
-#endif
- nop
-
-/* case FFI_TYPE_SINT64 */
-Lret_type12:
-#if defined(__ppc64__)
- lg r3,0(r5)
- b Lfinish
- nop
-#else
- lwz r3,0(r5)
- lwz r4,4(r5)
- b Lfinish
-#endif
- nop
-
-/* case FFI_TYPE_STRUCT */
-Lret_type13:
-#if defined(__ppc64__)
- lg r3,0(r5) ; we need at least this...
- cmpi 0,r0,4
- bgt Lstructend ; not a special small case
- b Lsmallstruct ; see if we need more.
-#else
- cmpi 0,r0,4
- bgt Lfinish ; not by value
- lg r3,0(r5)
- b Lfinish
-#endif
-/* case FFI_TYPE_POINTER */
-Lret_type14:
- lg r3,0(r5)
- b Lfinish
- nop
- nop
-
-#if defined(__ppc64__)
-Lsmallstruct:
- beq Lfour ; continuation of Lret13.
- cmpi 0,r0,3
- beq Lfinish ; don`t adjust this - can`t be any floats here...
- srdi r3,r3,48
- cmpi 0,r0,2
- beq Lfinish ; .. or here ..
- srdi r3,r3,8
- b Lfinish ; .. or here.
-
-Lfour:
- lg r6,LINKAGE_SIZE(r1) ; get the result type
- lg r6,FFI_TYPE_ELEM(r6) ; elements array pointer
- lg r6,0(r6) ; first element
- lhz r0,FFI_TYPE_TYPE(r6) ; OK go the type
- cmpi 0,r0,2 ; FFI_TYPE_FLOAT
- bne Lfourint
- lfs f1,0(r5) ; just one float in the struct.
- b Lfinish
-
-Lfourint:
- srdi r3,r3,32 ; four bytes.
- b Lfinish
-
-Lstructend:
- lg r3,LINKAGE_SIZE(r1) ; get the result type
- bl STRUCT_RETVALUE_P
- cmpi 0,r3,0
- beq Lfinish ; nope.
- /* Recover a pointer to the results. */
- addi r11,r1,(SAVE_SIZE-RESULT_BYTES)
- lg r3,0(r11) ; we need at least this...
- lg r4,8(r11)
- cmpi 0,r0,16
- beq Lfinish ; special case 16 bytes we don't consider floats.
-
- /* OK, frustratingly, the process of saving the struct to mem might have
- messed with the FPRs, so we have to re-load them :(.
- We`ll use our FPRs space again - calling:
- void darwin64_pass_struct_floats (ffi_type *s, char *src,
- unsigned *nfpr, double **fprs)
- We`ll temporarily pinch the first two slots of the param area for local
- vars used by the routine. */
- xor r6,r6,r6
- addi r5,r1,PARENT_PARM_BASE ; some space
- sg r6,0(r5) ; *nfpr zeroed.
- addi r6,r5,8 ; **fprs
- addi r3,r1,FP_SAVE_BASE ; pointer to FPRs space
- sg r3,0(r6)
- mr r4,r11 ; the struct is here...
- lg r3,LINKAGE_SIZE(r1) ; ffi_type * result_type.
- bl PASS_STR_FLOATS ; get struct floats into FPR save space.
- /* See if we used any floats */
- lwz r0,(SAVE_SIZE-RESULT_BYTES)(r1)
- cmpi 0,r0,0
- beq Lstructints ; nope.
- /* OK load `em up... */
- lfd f1, (FP_SAVE_BASE )(r1)
- lfd f2, (FP_SAVE_BASE + FPR_SIZE )(r1)
- lfd f3, (FP_SAVE_BASE + FPR_SIZE * 2 )(r1)
- lfd f4, (FP_SAVE_BASE + FPR_SIZE * 3 )(r1)
- lfd f5, (FP_SAVE_BASE + FPR_SIZE * 4 )(r1)
- lfd f6, (FP_SAVE_BASE + FPR_SIZE * 5 )(r1)
- lfd f7, (FP_SAVE_BASE + FPR_SIZE * 6 )(r1)
- lfd f8, (FP_SAVE_BASE + FPR_SIZE * 7 )(r1)
- lfd f9, (FP_SAVE_BASE + FPR_SIZE * 8 )(r1)
- lfd f10,(FP_SAVE_BASE + FPR_SIZE * 9 )(r1)
- lfd f11,(FP_SAVE_BASE + FPR_SIZE * 10)(r1)
- lfd f12,(FP_SAVE_BASE + FPR_SIZE * 11)(r1)
- lfd f13,(FP_SAVE_BASE + FPR_SIZE * 12)(r1)
-
- /* point back at our saved struct. */
-Lstructints:
- addi r11,r1,(SAVE_SIZE-RESULT_BYTES)
- lg r3,0(r11) ; we end up picking the
- lg r4,8(r11) ; first two again.
- lg r5,16(r11)
- lg r6,24(r11)
- lg r7,32(r11)
- lg r8,40(r11)
- lg r9,48(r11)
- lg r10,56(r11)
-#endif
-
-/* case done */
-Lfinish:
- addi r1,r1,SAVE_SIZE /* Restore stack pointer. */
- lg r0,SAVED_LR_OFFSET(r1) /* Get return address. */
- mtlr r0 /* Reset link register. */
- blr
-Lendcode:
- .align 1
-
-/* END(ffi_closure_ASM) */
-
-/* EH frame stuff. */
-#define EH_DATA_ALIGN_FACT MODE_CHOICE(0x7c,0x78)
-/* 176, 400 */
-#define EH_FRAME_OFFSETA MODE_CHOICE(176,0x90)
-#define EH_FRAME_OFFSETB MODE_CHOICE(1,3)
-
- .static_data
- .align LOG2_GPR_BYTES
-LLFB1$non_lazy_ptr:
- .g_long Lstartcode
-
- .section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support
-EH_frame1:
- .set L$set$0,LECIE1-LSCIE1
- .long L$set$0 ; Length of Common Information Entry
-LSCIE1:
- .long 0x0 ; CIE Identifier Tag
- .byte 0x1 ; CIE Version
- .ascii "zR\0" ; CIE Augmentation
- .byte 0x1 ; uleb128 0x1; CIE Code Alignment Factor
- .byte EH_DATA_ALIGN_FACT ; sleb128 -4; CIE Data Alignment Factor
- .byte 0x41 ; CIE RA Column
- .byte 0x1 ; uleb128 0x1; Augmentation size
- .byte 0x90 ; FDE Encoding (indirect pcrel)
- .byte 0xc ; DW_CFA_def_cfa
- .byte 0x1 ; uleb128 0x1
- .byte 0x0 ; uleb128 0x0
- .align LOG2_GPR_BYTES
-LECIE1:
- .globl _ffi_closure_ASM.eh
-_ffi_closure_ASM.eh:
-LSFDE1:
- .set L$set$1,LEFDE1-LASFDE1
- .long L$set$1 ; FDE Length
-
-LASFDE1:
- .long LASFDE1-EH_frame1 ; FDE CIE offset
- .g_long LLFB1$non_lazy_ptr-. ; FDE initial location
- .set L$set$3,LFE1-Lstartcode
- .g_long L$set$3 ; FDE address range
- .byte 0x0 ; uleb128 0x0; Augmentation size
- .byte 0x4 ; DW_CFA_advance_loc4
- .set L$set$3,LCFI1-LCFI0
- .long L$set$3
- .byte 0xe ; DW_CFA_def_cfa_offset
- .byte EH_FRAME_OFFSETA,EH_FRAME_OFFSETB ; uleb128 176,1/190,3
- .byte 0x4 ; DW_CFA_advance_loc4
- .set L$set$4,LCFI0-Lstartcode
- .long L$set$4
- .byte 0x11 ; DW_CFA_offset_extended_sf
- .byte 0x41 ; uleb128 0x41
- .byte 0x7e ; sleb128 -2
- .align LOG2_GPR_BYTES
-LEFDE1:
- .align 1
-
-#ifdef WANT_STUB
- .section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
- .align 5
-L_ffi_closure_helper_DARWIN$stub:
- .indirect_symbol _ffi_closure_helper_DARWIN
- mflr r0
- bcl 20,31,"L00000000001$spb"
-"L00000000001$spb":
- mflr r11
- addis r11,r11,ha16(L_ffi_closure_helper_DARWIN$lazy_ptr-"L00000000001$spb")
- mtlr r0
- lwzu r12,lo16(L_ffi_closure_helper_DARWIN$lazy_ptr-"L00000000001$spb")(r11)
- mtctr r12
- bctr
- .lazy_symbol_pointer
-L_ffi_closure_helper_DARWIN$lazy_ptr:
- .indirect_symbol _ffi_closure_helper_DARWIN
- .g_long dyld_stub_binding_helper
-
-#if defined(__ppc64__)
- .section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
- .align 5
-L_darwin64_struct_ret_by_value_p$stub:
- .indirect_symbol _darwin64_struct_ret_by_value_p
- mflr r0
- bcl 20,31,"L00000000002$spb"
-"L00000000002$spb":
- mflr r11
- addis r11,r11,ha16(L_darwin64_struct_ret_by_value_p$lazy_ptr-"L00000000002$spb")
- mtlr r0
- lwzu r12,lo16(L_darwin64_struct_ret_by_value_p$lazy_ptr-"L00000000002$spb")(r11)
- mtctr r12
- bctr
- .lazy_symbol_pointer
-L_darwin64_struct_ret_by_value_p$lazy_ptr:
- .indirect_symbol _darwin64_struct_ret_by_value_p
- .g_long dyld_stub_binding_helper
-
- .section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
- .align 5
-L_darwin64_pass_struct_floats$stub:
- .indirect_symbol _darwin64_pass_struct_floats
- mflr r0
- bcl 20,31,"L00000000003$spb"
-"L00000000003$spb":
- mflr r11
- addis r11,r11,ha16(L_darwin64_pass_struct_floats$lazy_ptr-"L00000000003$spb")
- mtlr r0
- lwzu r12,lo16(L_darwin64_pass_struct_floats$lazy_ptr-"L00000000003$spb")(r11)
- mtctr r12
- bctr
- .lazy_symbol_pointer
-L_darwin64_pass_struct_floats$lazy_ptr:
- .indirect_symbol _darwin64_pass_struct_floats
- .g_long dyld_stub_binding_helper
-# endif
-#endif
diff --git a/.pc/darwin11/.timestamp b/.pc/darwin11/.timestamp
deleted file mode 100644
index e69de29..0000000
--- a/.pc/darwin11/.timestamp
+++ /dev/null
diff --git a/.pc/darwin11/ChangeLog b/.pc/darwin11/ChangeLog
deleted file mode 100644
index c4bb4c3..0000000
--- a/.pc/darwin11/ChangeLog
+++ /dev/null
@@ -1,4678 +0,0 @@
-2012-02-10 Kai Tietz <ktietz@redhat.com>
-
- * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
- windows target.
- * configure: Regenerated.
-
-2012-02-08 Kai Tietz <ktietz@redhat.com>
-
- * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
- also FFI_THISCALL.
- * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
- (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
- (ffi_prep_closure_loc): Add FFI_THISCALL support.
- * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
- * src/x86/win32.S (ffi_closure_THISCALL): New closure code
- for thiscall-calling convention.
- * testsuite/libffi.call/closure_thiscall.c: New test.
-
-2012-01-28 Kai Tietz <ktietz@redhat.com>
-
- * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
- argument to prototype for specify calling-convention.
- (ffi_call): Add support for stdcall/thiscall convention.
- (ffi_prep_args): Likewise.
- (ffi_raw_call): Likewise.
- * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
- FFI_FASTCALL.
- * src/x86/win32.S (_ffi_call_win32): Add support for
- fastcall/thiscall calling-convention calls.
- * testsuite/libffi.call/fastthis1_win32.c: New test.
- * testsuite/libffi.call/fastthis2_win32.c: New test.
- * testsuite/libffi.call/fastthis3_win32.c: New test.
- * testsuite/libffi.call/strlen2_win32.c: New test.
- * testsuite/libffi.call/many2_win32.c: New test.
- * testsuite/libffi.call/struct1_win32.c: New test.
- * testsuite/libffi.call/struct2_win32.c: New test.
-
-2012-01-23 Andreas Schwab <schwab@linux-m68k.org>
-
- * src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
- mc68000. Test for __HAVE_68881__ in addition to __MC68881__.
-
-2012-01-19 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/48496
- * src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
-
-2012-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (i?86-*-*): Set TARGET to X86_64.
- * configure: Regenerate.
-
-2011-12-07 Andrew Pinski <apinski@cavium.com>
-
- PR libffi/50051
- * src/mips/n32.S: Add ".set mips4".
-
-2011-11-21 Andreas Tobler <andreast@fgznet.ch>
-
- * configure: Regenerate.
-
-2011-11-10 Richard Henderson <rth@redhat.com>
-
- * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
- * configure, aclocal.m4: Rebuild.
-
-2011-09-04 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/49594
- * src/powerpc/darwin_closure.S (stubs): Make the stub binding
- helper reference track the architecture pointer size.
-
-2011-08-25 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
- instructions.
- * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
-
-2011-07-11 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46660
- * testsuite/libffi.call/cls_double_va.c: xfail dg-output on
- mips-sgi-irix6*.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
- PRId8 instead of %hhu, %hhd.
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
- PRIu8): Define.
- [__sgi__] (PRId8, PRIu8): Define.
-
-2011-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
- Define.
- Use them to handle ELF vs. ECOFF differences.
- [__osf__] (_GLOBAL__F_ffi_call_osf): Define.
-
-2011-03-30 Timothy Wall <twall@users.sf.net>
-
- * src/powerpc/darwin.S: Fix unknown FDE encoding.
- * src/powerpc/darwin_closure.S: ditto.
-
-2011-02-25 Anthony Green <green@moxielogic.com>
-
- * src/powerpc/ffi.c (ffi_prep_closure_loc): Allow for more
- 32-bit ABIs.
-
-2011-02-15 Anthony Green <green@moxielogic.com>
-
- * m4/ax_cc_maxopt.m4: Don't -malign-double or use -ffast-math.
- * configure: Rebuilt.
-
-2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2011-02-13 Anthony Green <green@moxielogic.com>
-
- * include/ffi_common.h (UNLIKELY, LIKELY): Define.
- * src/x86/ffi64.c (UNLIKELY, LIKELY): Remove definition.
- * src/prep_cif.c (UNLIKELY, LIKELY): Remove definition.
-
- * src/prep_cif.c (initialize_aggregate): Convert assertion into
- FFI_BAD_TYPEDEF return. Initialize arg size and alignment to 0.
-
- * src/pa/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
- just return FFI_BAD_ABI when things are wrong.
- * src/arm/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/powerpc/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/mips/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/ia64/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/avr32/ffi.c (ffi_prep_closure_loc): Ditto.
-
-2011-02-11 Anthony Green <green@moxielogic.com>
-
- * src/sparc/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
- just return FFI_BAD_ABI when things are wrong.
-
-2011-02-09 Stuart Shelton <srcshelton@gmail.com>
-
- http://bugs.gentoo.org/show_bug.cgi?id=286911
- * src/mips/ffitarget.h: Clean up error messages.
- * src/java_raw_api.c (ffi_java_translate_args): Cast raw arg to
- ffi_raw*.
- * include/ffi.h.in: Add pragma for SGI compiler.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * configure.ac: Add powerpc64-*-darwin* support.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * README: Mention Interix.
-
-2011-02-09 Jonathan Callen <abcd@gentoo.org>
-
- * configure.ac: Add Interix to win32/cygwin/mingw case.
- * configure: Ditto.
- * src/closures.c: Treat Interix like Cygwin, instead of as a
- generic win32.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * testsuite/libffi.call/err_bad_typedef.c: Remove xfail.
- * testsuite/libffi.call/err_bad_abi.c: Remove xfail.
- * src/x86/ffi64.c (UNLIKELY, LIKELY): Define.
- (ffi_prep_closure_loc): Check for bad ABI.
- * src/prep_cif.c (UNLIKELY, LIKELY): Define.
- (initialize_aggregate): Check for bad types.
-
-2011-02-09 Landon Fuller <landonf@plausible.coop>
-
- * Makefile.am (EXTRA_DIST): Add build-ios.sh, src/arm/gentramp.sh,
- src/arm/trampoline.S.
- (nodist_libffi_la_SOURCES): Add src/arc/trampoline.S.
- * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Define.
- * src/arm/ffi.c (ffi_trampoline_table)
- (ffi_closure_trampoline_table_page, ffi_trampoline_table_entry)
- (FFI_TRAMPOLINE_CODELOC_CONFIG, FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET)
- (FFI_TRAMPOLINE_COUNT, ffi_trampoline_lock, ffi_trampoline_tables)
- (ffi_trampoline_table_alloc, ffi_closure_alloc, ffi_closure_free):
- Define for FFI_EXEC_TRAMPOLINE_TABLE case (iOS).
- (ffi_prep_closure_loc): Handl FFI_EXEC_TRAMPOLINE_TABLE case
- separately.
- * src/arm/sysv.S: Handle Apple iOS host.
- * src/closures.c: Handle FFI_EXEC_TRAMPOLINE_TABLE case.
- * build-ios.sh: New file.
- * fficonfig.h.in, configure, Makefile.in: Rebuilt.
- * README: Mention ARM iOS.
-
-2011-02-08 Oren Held <orenhe@il.ibm.com>
-
- * src/dlmalloc.c (_STRUCT_MALLINFO): Define in order to avoid
- redefinition of mallinfo on HP-UX.
-
-2011-02-08 Ginn Chen <ginn.chen@oracle.com>
-
- * src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
- aggregate return ABI. Flush cache.
- (ffi_prep_closure_loc): Flush cache.
-
-2011-02-11 Anthony Green <green@moxielogic.com>
-
- From Tom Honermann <tom.honermann@oracle.com>:
- * src/powerpc/aix.S (ffi_call_AIX): Support for xlc toolchain on
- AIX. Declare .ffi_prep_args. Insert nops after branch
- instructions so that the AIX linker can insert TOC reload
- instructions.
- * src/powerpc/aix_closure.S: Declare .ffi_closure_helper_DARWIN.
-
-2011-02-08 Ed <ed@kdtc.net>
-
- * src/powerpc/asm.h: Fix grammar nit in comment.
-
-2011-02-08 Uli Link <ul.mcamafia@linkitup.de>
-
- * include/ffi.h.in (FFI_64_BIT_MAX): Define and use.
-
-2011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46661
- * testsuite/libffi.call/cls_pointer.c (main): Cast void * to
- uintptr_t first.
- * testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
-
-2011-02-08 Rafael Avila de Espindola <respindola@mozilla.com>
-
- * configure.ac: Fix x86 test for pc related relocs.
- * configure: Rebuilt.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
- Handle case when CPU variant does not have long double support.
- * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
- and cores with soft floating point.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * configure.ac: Add mips*-*-rtems* support.
- * configure: Regenerate.
- * src/mips/ffitarget.h: Ensure needed constants are available
- for targets which do not have sgidefs.h.
-
-2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR target/40125
- * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
- * configure: Regenerate.
-
-2010-12-18 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/29152
- PR libffi/42378
- * src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
- (FFI_TRAMPOLINE_SIZE): Update for Darwin64.
- * src/powerpc/darwin.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
- backslashes.
- (libffi_cv_as_string_pseudo_op): Likewise.
- * configure: Regenerate.
-
-2010-12-03 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
- (ffi_closure_VFP): Same.
- (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
- directive.
-
-2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
- (PRIuPTR): Define.
-
-2010-11-29 Richard Henderson <rth@redhat.com>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
- (.eh_frame): Use FDE_ENCODING.
- (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
-
-2010-11-22 Jacek Caban <jacek@codeweavers.com>
-
- * configure.ac: Check for symbol underscores on mingw-w64.
- * configure: Rebuilt.
- * src/x86/win64.S: Correctly access extern symbols in respect to
- underscores.
-
-2010-11-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp: Rename ...
- * testsuite/lib/libffi.exp: ... to this.
- * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
- * libffi/testsuite/libffi.special/special.exp: Likewise.
-
-2010-10-28 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
- code, new parameter, and return value. Update comments.
- (ffi_prep_cif_machdep): Add case for VFP struct return values. Add
- call to layout_vfp_args().
- (ffi_call_SYSV): Update declaration.
- (ffi_call_VFP): New declaration.
- (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
- when ABI is FFI_VFP.
- (ffi_closure_VFP): New declaration.
- (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
- ffi_prep_incoming_args_SYSV().
- (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
- case handling.
- (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
- construction under VFP hard-float.
- (rec_vfp_type_p): New function.
- (vfp_type_p): Same.
- (place_vfp_arg): Same.
- (layout_vfp_args): Same.
- * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
- based on __ARM_PCS_VFP.
- (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
- fields.
- (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
- (FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
- * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
- direct call. Move function pointer load upwards.
- (ffi_call_VFP): New function.
- (ffi_closure_VFP): Same.
-
- * testsuite/lib/libffi-dg.exp (check-flags): New function.
- (dg-skip-if): New function.
- * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
- and compiler options include -mfloat-abi=hard.
- * testsuite/libffi.call/cls_longdouble_va.c: Same.
-
-2010-10-01 Jakub Jelinek <jakub@redhat.com>
-
- PR libffi/45677
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
- a multiple of 8.
- * testsuite/libffi.call/many2.c: New test.
-
-2010-08-20 Mark Wielaard <mjw@redhat.com>
-
- * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
- returns NULL.
-
-2010-08-09 Andreas Tobler <andreast@fgznet.ch>
-
- * configure.ac: Add target powerpc64-*-freebsd*.
- * configure: Regenerate.
- * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
- -mlong-double-128 only to linux targets.
- * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
- * testsuite/libffi.call/cls_longdouble.c: Likewise.
- * testsuite/libffi.call/huge_struct.c: Likewise.
-
-2010-08-05 Dan Witte <dwitte@mozilla.com>
-
- * Makefile.am: Pass FFI_DEBUG define to msvcc.sh for linking to the
- debug CRT when --enable-debug is given.
- * configure.ac: Define it.
- * msvcc.sh: Translate -g and -DFFI_DEBUG appropriately.
-
-2010-08-04 Dan Witte <dwitte@mozilla.com>
-
- * src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64
- platforms.
- * src/x86/ffi.c: Remove redundant ifdef checks.
- * src/prep_cif.c: Push stack space computation into src/x86/ffi.c
- for X86_ANY so return value space doesn't get added twice.
-
-2010-08-03 Neil Rashbrooke <neil@parkwaycc.co.uk>
-
- * msvcc.sh: Don't pass -safeseh to ml64 because behavior is buggy.
-
-2010-07-22 Dan Witte <dwitte@mozilla.com>
-
- * src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
- * src/prep_cif.c: Fix ABI assertion.
- * src/cris/ffi.c: Ditto.
-
-2010-07-10 Evan Phoenix <evan@fallingsnow.net>
-
- * src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
-
-2010-07-07 Dan Horák <dan@danny.cz>
-
- * include/ffi.h.in: Protect #define with #ifndef.
- * src/powerpc/ffitarget.h: Ditto.
- * src/s390/ffitarget.h: Ditto.
- * src/sparc/ffitarget.h: Ditto.
-
-2010-07-07 Neil Roberts <neil@linux.intel.com>
-
- * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
- 16-bytes.
-
-2010-07-02 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
- * Makefile.in: Regenerated.
-
-2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
- output, too.
- (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
- (libffi_cv_as_string_pseudo_op): Check for .string.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
-
-2010-05-11 Dan Witte <dwitte@mozilla.com>
-
- * doc/libffi.tex: Document previous change.
-
-2010-05-11 Makoto Kato <m_kato@ga2.so-net.ne.jp>
-
- * src/x86/ffi.c (ffi_call): Don't copy structs passed by value.
-
-2010-05-05 Michael Kohler <michaelkohler@live.com>
-
- * src/dlmalloc.c (dlfree): Fix spelling.
- * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
- * configure.ac: Ditto.
- * configure: Rebuilt.
-
-2010-04-13 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Build with -W3 instead of -Wall.
- * src/powerpc/ffi_darwin.c: Remove build warnings.
- * src/x86/ffi.c: Ditto.
- * src/x86/ffitarget.h: Ditto.
-
-2010-04-12 Dan Witte <dwitte@mozilla.com>
- Walter Meinl <wuno@lsvw.de>
-
- * configure.ac: Add OS/2 support.
- * configure: Rebuilt.
- * src/closures.c: Ditto.
- * src/dlmalloc.c: Ditto.
- * src/x86/win32.S: Ditto.
-
-2010-04-07 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
-
-2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2010-03-30 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Disable build warnings.
- * README (tested): Clarify windows build procedure.
-
-2010-03-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * libffi/src/x86/unix64.S (.eh_frame)
- [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
-
-2010-03-14 Matthias Klose <doko@ubuntu.com>
-
- * src/x86/ffi64.c: Fix typo in comment.
- * src/x86/ffi.c: Use /* ... */ comment style.
-
-2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/libffi.texi (The Closure API): Fix typo.
- * doc/libffi.info: Remove.
-
-2010-02-15 Matthias Klose <doko@ubuntu.com>
-
- * src/arm/sysv.S (__ARM_ARCH__): Define for processor
- __ARM_ARCH_7EM__.
-
-2010-01-15 Anthony Green <green@redhat.com>
-
- * README: Add notes on building with Microsoft Visual C++.
-
-2010-01-15 Daniel Witte <dwitte@mozilla.com>
-
- * msvcc.sh: New file.
-
- * src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
- * src/x86/ffi.c: Tweak function declaration and remove excess
- parens.
- * include/ffi.h.in: Add __declspec(align(8)) to typedef struct
- ffi_closure.
-
- * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
- function ffi_call_win32 on X86_WIN32.
- * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
- (ffi_call_STDCALL): Remove.
-
- * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
- to ffi_prep_cif_machdep for x86.
- * src/x86/ffi.c (ffi_prep_cif_machdep): To here.
-
-2010-01-15 Oliver Kiddle <okiddle@yahoo.co.uk>
-
- * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
- Sun Studio compiler compatibility.
-
-2010-01-12 Conrad Irwin <conrad.irwin@gmail.com>
-
- * doc/libffi.texi: Add closure example.
-
-2010-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40701
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
- PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
- * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
- alpha*-dec-osf*.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/return_ll1.c: Likewise.
- * testsuite/libffi.call/stret_medium2.c: Likewise.
- * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
- MAP_FAILED to char *.
-
-2010-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
-
-2009-12-31 Anthony Green <green@redhat.com>
-
- * README: Update for libffi 3.0.9.
-
-2009-12-27 Matthias Klose <doko@ubuntu.com>
-
- * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
- appropriate.
- * configure: Rebuilt.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
- avr32*-*-*.
- * testsuite/libffi.call/cls_double_va.c: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
- and inttypes.h.
- * testsuite/libffi.special/unwindtest.cc: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-openbsd*.
- * configure: Rebuilt.
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
- openbsd programs with -lpthread.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
- mips*-*-* and arm*-*-*.
- * testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c,
- testsuite/libffi.call/stret_medium2.c,
- testsuite/libffi.call/stret_medium.c,
- testsuite/libffi.call/stret_large.c,
- testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
-
-2009-12-31 Kay Tietz <ktietz70@googlemail.com>
-
- * testsuite/libffi.call/ffitest.h,
- testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
- definitions.
-
-2009-12-31 Carlo Bramini <carlo.bramix@libero.it>
-
- * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
- * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
-
-2009-12-31 Anthony Green <green@redhat.com>
- Blake Chaffin.
-
- * testsuite/libffi.call/huge_struct.c: New test case from Blake
- Chaffin @ Apple.
-
-2009-12-28 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
- local variables.
- (aix_adjust_aggregate_sizes): New function.
- (ffi_prep_cif_machdep): Call it.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
- * configure: Regenerate.
- * fficonfig.h.in: Likewise.
- * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
- Solaris/x86.
-
-2009-12-26 Andreas Schwab <schwab@linux-m68k.org>
-
- * 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.
-
-2009-12-25 Matthias Klose <doko@ubuntu.com>
-
- * man/ffi_call.3: Fix #include in examples.
- * doc/libffi.texi: Add dircategory.
-
-2009-12-25 Frank Everdij <f.p.x.everdij@tudelft.nl>
-
- * include/ffi.h.in: Placed '__GNUC__' ifdef around
- '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
- IRIX MIPSPro c99.
- * include/ffi_common.h: Added '__sgi' define to non
- '__attribute__((__mode__()))' integer typedefs.
- * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
- ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
- (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
- FFI_LONGDOUBLE support and alignment(N32 only).
- * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
- fixed non '__attribute__((__mode__()))' integer typedefs.
- * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
- since they are Linux/GNU Assembler specific.
-
-2009-12-25 Bradley Smith <brad@brad-smith.co.uk>
-
- * configure.ac, Makefile.am, src/avr32/ffi.c,
- src/avr32/ffitarget.h,
- src/avr32/sysv.S: Add AVR32 port.
- * configure, Makefile.in: Rebuilt.
-
-2009-12-21 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
- * configure: Regenerate.
-
-2009-12-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
- type on HP-UX.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
- double' arguments.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40700
- * src/closures.c [X86_64 && __sun__ && __svr4__]
- (FFI_MMAP_EXEC_WRIT): Define.
-
-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.
-
-2009-12-07 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
- typo.
-
-2009-12-05 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
- code.
- * src/powerpc/aix_closure.S: Same.
-
-2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
- linux64_closure.S.
-
-2009-12-04 Uros Bizjak <ubizjak@gmail.com>
-
- 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.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
- pfr for long double split between fpr13 and stack.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
- fparg_count twice for long double.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- PR libffi/42243
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03 Uros Bizjak <ubizjak@gmail.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
- Remove xfails for x86 linux targets.
-
-2009-12-02 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
- case.
-
-2009-12-01 David Edelsohn <edelsohn@gnu.org>
-
- * 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.
-
-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.
-
-2009-11-02 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/41908
- * testsuite/libffi.call/testclosure.c: New test.
-
-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.
-
-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.
-
-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.
-
-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.
-
-2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.am (install-html, install-pdf): Remove.
- * Makefile.in: Regenerate.
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2011-08-22 Jasper Lievisse Adriaanse <jasper@openbsd.org>
-
- * configure.ac: Add OpenBSD/hppa and OpenBSD/powerpc support.
- * configure: Rebuilt.
-
-2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24 Dave Korn <dave.korn.cygwin@gmail.com>
-
- 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.
-
-2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
-
- 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.
-
-2009-07-01 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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 "".)
-
-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.
-
-2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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.
-
-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.
-
-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.
-
-2009-06-16 Andrew Haley <aph@redhat.com>
-
- * configure.ac (TARGETDIR): Add missing blank lines.
- * configure: Regenerate.
-
-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.
-
-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.
-
-2009-06-12 Andrew Haley <aph@redhat.com>
-
- * Makefile.am: Remove info_TEXINFOS.
-
-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-11 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * 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.
-
-2009-06-09 Andrew Haley <aph@redhat.com>
-
- * src/x86/freebsd.S: Add missing file.
-
-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).
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * README: Import from libffi 3.0.8.
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Add xfails.
- * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
- * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
- * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
- * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
- * testsuite/libffi.call/stret_medium.c: Likewise.
- * testsuite/libffi.call/stret_large2.c: Likewise.
- * testsuite/libffi.call/stret_large.c: Likewise.
-
-2008-12-26 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_align_longdouble.c,
- testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
- failures on x86_64 cygwin/mingw.
-
-2008-12-22 Timothy Wall <twall@users.sf.net>
-
- * 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_loc_fn0.c,
- testsuite/libffi.call/closure_stdcall.c,
- testsuite/libffi.call/cls_align_pointer.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
- pointer to integer (intptr_t).
- * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_dbls_struct.c,
- testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c,
- testsuite/libffi.call/err_bad_abi.c: Clean up failures from
- compiler warnings.
-
-2008-03-04 Anthony Green <green@redhat.com>
- Blake Chaffin
- hos@tamanegi.org
-
- * testsuite/libffi.call/cls_align_longdouble_split2.c
- testsuite/libffi.call/cls_align_longdouble_split.c
- testsuite/libffi.call/cls_dbls_struct.c
- testsuite/libffi.call/cls_double_va.c
- testsuite/libffi.call/cls_longdouble.c
- testsuite/libffi.call/cls_longdouble_va.c
- testsuite/libffi.call/cls_pointer.c
- testsuite/libffi.call/cls_pointer_stack.c
- testsuite/libffi.call/err_bad_abi.c
- testsuite/libffi.call/err_bad_typedef.c
- testsuite/libffi.call/stret_large2.c
- testsuite/libffi.call/stret_large.c
- testsuite/libffi.call/stret_medium2.c
- testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
- libffi.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
- stdcall changes.
-
-2008-02-26 Anthony Green <green@redhat.com>
- Thomas Heller <theller@ctypes.org>
-
- * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
- comment.
-
-2008-02-03 Timothy Wall <twall@users.sf.net>
-
- * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
- offset based on code pointer, not data pointer.
-
-2008-01-31 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
- closures.
- * src/x86/ffitarget.h: Increase size of trampoline for stdcall
- closures.
- * src/x86/win32.S: Add assembly for stdcall closure.
- * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Change void (*)() to void (*)(void).
- * src/x86/ffi.c: Likewise.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ppc_closure.S: Insert licence header.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/m68k/sysv.S: Likewise.
-
- * src/sh64/ffi.c: Change void (*)() to void (*)(void).
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/m32r/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi64.c: Likewise.
- * src/alpha/ffi.c: Likewise.
- * src/alpha/osf.S: Likewise.
- * src/frv/ffi.c: Likewise.
- * src/s390/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/pa/hpux32.S: Likewise.
- * src/ia64/unix.S: Likewise.
- * src/ia64/ffi.c: Likewise.
- * src/sparc/ffi.c: Likewise.
- * src/mips/ffi.c: Likewise.
- * src/sh/ffi.c: Likewise.
-
-2008-02-15 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
- Define (conditionally), and use it to include cachectl.h.
- (ffi_prep_closure_loc): Fix cache flushing.
- * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- include/ffi.h.in,
- src/arm/ffitarget.h,
- src/arm/ffi.c,
- src/arm/sysv.S,
- src/powerpc/ffitarget.h,
- src/closures.c,
- src/sh64/ffitarget.h,
- src/sh64/ffi.c,
- src/sh64/sysv.S,
- src/types.c,
- src/x86/ffi64.c,
- src/x86/ffitarget.h,
- src/x86/win32.S,
- src/x86/darwin.S,
- src/x86/ffi.c,
- src/x86/sysv.S,
- src/x86/unix64.S,
- src/alpha/ffitarget.h,
- src/alpha/ffi.c,
- src/alpha/osf.S,
- src/m68k/ffitarget.h,
- src/frv/ffitarget.h,
- src/frv/ffi.c,
- src/s390/ffitarget.h,
- src/s390/sysv.S,
- src/cris/ffitarget.h,
- src/pa/linux.S,
- src/pa/ffitarget.h,
- src/pa/ffi.c,
- src/raw_api.c,
- src/ia64/ffitarget.h,
- src/ia64/unix.S,
- src/ia64/ffi.c,
- src/ia64/ia64_flags.h,
- src/java_raw_api.c,
- src/debug.c,
- src/sparc/v9.S,
- src/sparc/ffitarget.h,
- src/sparc/ffi.c,
- src/sparc/v8.S,
- src/mips/ffitarget.h,
- src/mips/n32.S,
- src/mips/o32.S,
- src/mips/ffi.c,
- src/prep_cif.c,
- src/sh/ffitarget.h,
- src/sh/ffi.c,
- src/sh/sysv.S: Update license text.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * src/x86/win32.S (_ffi_closure_STDCALL): New function.
- (.eh_frame): Add FDE for it.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * configure.ac: Also check if assembler supports pc-relative
- relocs on X86_WIN32 targets.
- * configure: Regenerate.
- * src/x86/win32.S (ffi_prep_args): Declare extern, not global.
- (_ffi_call_SYSV): Add missing function type symbol .def and
- add EH markup labels.
- (_ffi_call_STDCALL): Likewise.
- (_ffi_closure_SYSV): Likewise.
- (_ffi_closure_raw_SYSV): Likewise.
- (.eh_frame): Add hand-crafted EH data.
-
-2009-04-09 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
- version 3 of the GNU General Public License and to point readers
- at the COPYING3 file and the FSF's license web page.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-12-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libffi/26048
- * configure.ac (HAVE_AS_X86_PCREL): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
- RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
- RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
- * src/x86/unix64.S (.Lstore_table): Move to .text section.
- (.Lload_table): Likewise.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
- signed/unsigned int8/16 return values.
- * src/sparc/v8.S (ffi_call_v8): Likewise.
- (ffi_closure_v8): Likewise.
-
-2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
- Steve Ellcey <sje@cup.hp.com>
-
- * configure: Regenerate for new libtool.
- * Makefile.in: Ditto.
- * include/Makefile.in: Ditto.
- * aclocal.m4: Ditto.
-
-2008-08-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
- FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
- Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
- Adjust copyright notice.
- * src/powerpc/ffi.c: Add two new flags to indicate if we have one
- register or two register to use for FFI_SYSV structs.
- (ffi_prep_cif_machdep): Pass the right register flag introduced above.
- (ffi_closure_helper_SYSV): Fix the return type for
- FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
- Adjust copyright notice.
-
-2008-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
- int.
-
-2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2008-06-07 Joseph Myers <joseph@codesourcery.com>
-
- * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
- powerpc-*-beos*): Remove.
- * configure: Regenerate.
-
-2008-05-09 Julian Brown <julian@codesourcery.com>
-
- * Makefile.am (LTLDFLAGS): New.
- (libffi_la_LDFLAGS): Use above.
- * Makefile.in: Regenerate.
-
-2008-04-18 Paolo Bonzini <bonzini@gnu.org>
-
- PR bootstrap/35457
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2008-03-26 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add .note.GNU-stack on Linux.
- * src/sh64/sysv.S: Likewise.
-
-2008-03-26 Daniel Jacobowitz <dan@debian.org>
-
- * src/arm/sysv.S: Fix ARM comment marker.
-
-2008-03-26 Jakub Jelinek <jakub@redhat.com>
-
- * src/alpha/osf.S: Add .note.GNU-stack on Linux.
- * src/s390/sysv.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
- * src/x86/unix64.S: Likewise.
- * src/x86/sysv.S: Likewise.
- * src/sparc/v8.S: Likewise.
- * src/sparc/v9.S: Likewise.
- * src/m68k/sysv.S: Likewise.
- * src/arm/sysv.S: Likewise.
-
-2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * aclocal.m4: Regenerate.
- * configure: Likewise.
- * Makefile.in: Likewise.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2008-02-12 Bjoern Koenig <bkoenig@alpha-tierchen.de>
- Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-freebsd* target.
- * configure: Regenerate.
-
-2008-01-30 H.J. Lu <hongjiu.lu@intel.com>
-
- PR libffi/34612
- * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
- returning struct.
-
- * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
- tests.
-
-2008-01-24 David Edelsohn <edelsohn@gnu.org>
-
- * configure: Regenerate.
-
-2008-01-06 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
-
-2008-01-05 Andreas Tobler <a.tobler@schweiz.org>
-
- PR testsuite/32843
- * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
- signed/unsigned int8/16 for X86_DARWIN.
- Updated copyright info.
- Handle one and two byte structs with special cif->flags.
- * src/x86/ffitarget.h: Add special types for one and two byte structs.
- Updated copyright info.
- * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
- sysv.S
- Remove code to pop args from the stack after call.
- Special-case signed/unsigned for int8/16, one and two byte structs.
- (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
- FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
- FFI_TYPE_SINT32.
- Updated copyright info.
-
-2007-12-08 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_call_N32): Replace dadd with ADDU, dsub with
- SUBU, add with ADDU and use smaller code sequences.
-
-2007-12-07 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
- type.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
- defined.
- (ffi_java_raw): New typedef.
- (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
- ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
- ffi_java_raw.
- (ffi_java_raw_closure) : Same.
- (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
- parameter types.
- * src/java_raw_api.c (ffi_java_raw_size): Replace FFI_SIZEOF_ARG with
- FFI_SIZEOF_JAVA_RAW.
- (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
- Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
- sizeof(ffi_java_raw) for alignment calculations.
- (ffi_java_ptrarray_to_raw): Same.
- (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
- if FFI_SIZEOF_JAVA_RAW == 4.
- (ffi_java_raw_to_rvalue): Same.
- (ffi_java_raw_call): Change type of raw to ffi_java_raw.
- (ffi_java_translate_args): Same.
- (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
- parameter types.
- * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
- pointer values.
-
-2007-12-01 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/31937
- * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
- Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
- * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
- set the NUM_FPR_ARG_REGISTERS according to.
- Add support for potential soft-float support under hard-float
- architecture.
- (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
- FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
- to the FFI_LINUX_SOFT_FLOAT ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Make sure not to store float/double
- on archs where __NO_FPRS__ is true.
- Add FFI_TYPE_UINT128 support.
- * src/powerpc/sysv.S: Add support for soft-float long-double-128.
- Adjust copyright notice.
-
-2007-11-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
- * include/ffi_common.h: ... here.
- Update copyright.
-
-2007-11-17 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
- * testsuite/libffi.call/return_ldl.c: New test.
-
-2007-09-04 <aph@redhat.com>
-
- * src/arm/sysv.S (UNWIND): New.
- (Whole file): Conditionally compile unwinder directives.
- * src/arm/sysv.S: Add unwinder directives.
-
- * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
- Only treat r0 as a struct address if we're actually returning a
- struct by address.
- Only copy the bytes that are actually within a struct.
- (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
- is returned in r0, not passed by address.
- (ffi_call): Allocate a word-sized temporary for the case where
- a composite is returned in r0.
- (ffi_prep_incoming_args_SYSV): Align as necessary.
-
-2007-08-05 Steven Newbury <s_j_newbury@yahoo.co.uk>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
- directly using the sys_cacheflush syscall.
-
-2007-07-27 Andrew Haley <aph@redhat.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
-
-2007-09-03 Maciej W. Rozycki <macro@linux-mips.org>
-
- * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure: Likewise.
-
-2007-08-24 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/return_sl.c: New test.
-
-2007-08-10 David Daney <ddaney@avtrex.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/nested_struct5.c,
- testsuite/libffi.call/cls_double.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/nested_struct.c,
- testsuite/libffi.call/cls_2byte.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_sint16.c,
- testsuite/libffi.call/cls_align_uint32.c,
- testsuite/libffi.call/cls_20byte.c,
- testsuite/libffi.call/cls_float.c,
- testsuite/libffi.call/nested_struct2.c,
- testsuite/libffi.call/cls_5_1_byte.c,
- testsuite/libffi.call/nested_struct4.c,
- testsuite/libffi.call/cls_24byte.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: Remove xfail for mips64*-*-*.
-
-2007-08-10 David Daney <ddaney@avtrex.com>
-
- 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.
-
-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*.
- * 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.
-
-2006-12-13 Andreas Tobler <a.tobler@schweiz.org>
-
- * aclocal.m4: Regenerate with aclocal -I .. as written in the
- Makefile.am.
-
-2006-10-31 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
- (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
- Darwin.
- * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
- * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10 Paolo Bonzini <bonzini@gnu.org>
- Sandro Tolaini <tolaini@libero.it>
-
- * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
- conditional.
- * configure: Regenerated.
- * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
- (EXTRA_DIST): Add src/x86/darwin.S.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
- X86_WIN32, and additionally align stack to 16 bytes.
- * src/x86/darwin.S: New, based on sysv.S.
- * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12 David Daney <ddaney@avtrex.com>
-
- PR libffi/23935
- * include/Makefile.am: Install both ffi.h and ffitarget.h in
- $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
- * aclocal.m4: Regenerated for automake 1.9.6.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
-2006-08-17 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h: Remove lint directives.
- * include/ffi.h.in: Likewise.
-
-2006-07-25 Torsten Schoenfeld <kaffeetisch@gmx.de>
-
- * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
- for 32-bit architectures.
- * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
- xfail remains for mips64.
-
-2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
-
- * Makefile.am: Add install-html target. Add install-html to .PHONY
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
- stack slot.
-
-2006-04-22 Andreas Tobler <a.tobler@schweiz.ch>
-
- * README: Remove notice about 'Crazy Comments'.
- * src/debug.c: Remove lint directives. Cleanup white spaces.
- * src/java_raw_api.c: Likewise.
- * src/prep_cif.c: Likewise.
- * src/raw_api.c: Likewise.
- * src/ffitest.c: Delete. No longer needed, all test cases migrated
- to the testsuite.
- * src/arm/ffi.c: Remove lint directives.
- * src/m32r/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/sh/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/pa/hpux32.S: Correct unwind offset calculation for
- ffi_closure_pa32.
- * src/pa/linux.S: Likewise.
-
-2006-04-12 James E Wilson <wilson@specifix.com>
-
- PR libgcj/26483
- * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
- (hfa_type_load): Call stf_spill.
- (hfa_type_store): Call ldf_fill.
- (ffi_call): Adjust calls to above routines. Add local temps for
- macro result.
-
-2006-04-10 Matthias Klose <doko@debian.org>
-
- * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
- directory names containing underscores.
-
-2006-04-07 James E Wilson <wilson@specifix.com>
-
- * testsuite/libffi.call/float4.c: New testcase.
-
-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.
-
-2006-03-24 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Default
- for 32-bit using IBM extended double format. Fix FFI_LAST_ABI.
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
- FFI_TYPE_LONGDOUBLE.
- (ffi_prep_args64): Assert using IBM extended double.
- (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
- Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
- (ffi_call): Handle FFI_LINUX.
- (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
- gpr3 return pointer as for struct return. Handle FFI_LINUX
- FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf"
- unnecessarily.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
- for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table.
- Don't use r6 as pointer to results, instead use sp offset. Don't
- make a special call to load lr with case table address, instead
- use offset from previous call.
- * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
- return.
-
-2006-03-15 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
- passed with FP registers correctly.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S: Likewise.
-
-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.
-
-2006-02-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
- -O2, -O3, -Os and the warning flags -W -Wall.
- * testsuite/libffi.special/special.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
- unused parameter unused for gcc or else do nothing.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
- * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
- * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
- * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
- * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
- * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
- * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
- * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
- * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
- void* to avoid compiler warning.
- (main): Likewise.
- (cls_struct_align_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
- * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
- * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
- userdata unused.
- (cls_ret_schar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
- userdata unused.
- (cls_ret_sint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
- userdata unused.
- (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn): Mark cif and
- userdata unused.
- (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
- userdata unused.
- (cls_ret_uint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
- userdata unused.
- (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
- * testsuite/libffi.call/float1.c (main): Remove unused variable i.
- Cleanup white spaces.
- * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
- * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
- cif and userdata unused.
- * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
- Likewise.
- * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
- formatters to silence gcc.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct4.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct6.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
- * testsuite/libffi.call/problem1.c (stub): Likewise.
- * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
- gcc.
- * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
- in the last commit for this test case in the test case itself.
- * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
- unused.
- * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
- * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
- * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
- * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
- * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
- * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Fix register numbers in the FDE for
- ffi_closure_SYSV.
-
-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.
-
-2006-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
- and cast integer to void * if needed. Update the pointer to
- the FP register saved area correctly.
-
-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.
-
-2006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/return_dbl.c: New test case.
- * testsuite/libffi.call/return_dbl1.c: Likewise.
- * testsuite/libffi.call/return_dbl2.c: Likewise.
- * testsuite/libffi.call/return_fl.c: Likewise.
- * testsuite/libffi.call/return_fl1.c: Likewise.
- * testsuite/libffi.call/return_fl2.c: Likewise.
- * testsuite/libffi.call/return_fl3.c: Likewise.
- * testsuite/libffi.call/closure_fn6.c: Likewise.
-
- * 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.
-
-2006-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.ac: Enable libffi for sparc64-*-freebsd*.
- * configure: Rebuilt.
-
-2006-01-18 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
- instead do the shifting inline.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
- shift count unconditionally. Simplify load sequences for 1, 2, 3, 4
- and 8 byte structs, for the remaining struct sizes don't call
- __lshrdi3, instead do the shifting inline.
-
-2005-12-07 Thiemo Seufer <ths@networkno.de>
-
- * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
- missing parentheses.
- * src/mips/o32.S (ffi_call_O32): Code formatting. Define
- and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
- (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
- A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
- V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
- FA_0_0_OFF2.
- * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
- endianness bugs.
- (ffi_prep_closure): Improve trampoline instruction scheduling.
- (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c: Formatting.
- (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
- (ffi_prep_args64): Likewise.
-
-2005-09-30 Geoffrey Keating <geoffk@apple.com>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
- darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26 Tom Tromey <tromey@redhat.com>
-
- * 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.
-
-2005-08-25 Alan Modra <amodra@bigpond.net.au>
-
- PR target/23404
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
- homed fp args.
- (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11 Jakub Jelinek <jakub@redhat.com>
-
- * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
- (AH_BOTTOM): Add FFI_HIDDEN definition.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * src/powerpc/ffi.c (hidden): Remove.
- (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
- ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
- .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
- * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
- add FFI_HIDDEN to its prototype.
- (ffi_closure_SYSV_inner): New.
- * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
- * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10 Alfred M. Szmidt <ams@gnu.org>
-
- PR libffi/21819:
- * configure: Rebuilt.
- * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
- DW_CFA_offset_extended_sf rather than
- DW_CFA_GNU_negative_offset_extended.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
-
- * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
- on sh3.
- (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
- * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
- partially on register.
- (ffi_closure_helper_SYSV): Likewise.
- (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_call): Handle small structures correctly.
- Remove empty line.
- * src/sh64/ffi.c (simple_type): Remove.
- (return_type): Handle small structures correctly.
- (ffi_prep_args): Likewise.
- (ffi_call): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
- Emit position independent code if PIC and remove wrong datalabel
- prefixes from EH data.
-
-2005-07-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure.ac: Add POWERPC_FREEBSD rules.
- * configure: Regenerate.
- * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
- (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
- * src/powerpc/ffi.c: Add flags to handle small structure returns
- in ffi_call_SYSV.
- (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
- Aka FFI_SYSV.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Add return types for small structures.
- * src/powerpc/sysv.S: Add bits to handle small structures for
- final SYSV 4 ABI.
-
-2005-07-10 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_5_1_byte.c: New test file.
- * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05 Randolph Chung <tausq@debian.org>
-
- * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
- as FFI_TYPE_SMALL_STRUCT3. Break out handling for 5-7 byte
- structures. Kill compilation warnings.
- (ffi_closure_inner_LINUX): Print return values as hex in debug
- message. Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
- Properly handle 5-7 byte structure returns.
- * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
- (FFI_TYPE_SMALL_STRUCT2): Remove.
- (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
- (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
- * src/pa/linux.S: Mark source file as using PA1.1 assembly.
- (checksmst1, checksmst2): Remove.
- (checksmst3): Optimize handling of 3-byte struct returns.
- (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libgcj/21943
- * src/mips/n32.S: Enforce PIC code.
- * src/mips/o32.S: Likewise.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
- * configure: Regenerate.
-
-2005-06-01 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
- to call ffi_closure_helper_SYSV. Append @local instead.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
- Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
- * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
- * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
- include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-05-08 Richard Henderson <rth@redhat.com>
-
- PR libffi/21285
- * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04 Andreas Degert <ad@papyrus-gmbh.de>
- Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
- bit 11 of flags.
- (ffi_call): Mask return type field. Pass ssecount to ffi_call_unix64.
- (ffi_prep_closure): Set carry bit if sse-used flag set.
- * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
- Only load sse registers if ssecount non-zero.
- (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
- powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
- * configure: Regenerate.
-
-2005-04-20 Hans-Peter Nilsson <hp@axis.com>
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
- have Tcl8.3-compatible intermediate variable.
-
-2005-04-18 Simon Posnjak <simon.posnjak@siol.net>
- Hans-Peter Nilsson <hp@axis.com>
-
- * Makefile.am: Add CRIS support.
- * configure.ac: Likewise.
- * Makefile.in, configure, testsuite/Makefile.in,
- include/Makefile.in: Regenerate.
- * src/cris: New directory.
- * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
- * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
- \r?\n in output tests.
-
-2005-04-12 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-03-30 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30 Steve Ellcey <sje@cup.hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
- (ffi_sarg) Ditto.
- * src/ia64/unix.S (ffi_closure_unix): Extend gp
- to 64 bits in ILP32 mode.
- Load 64 bits even for short data.
-
-2005-03-23 Mike Stump <mrs@apple.com>
-
- * src/powerpc/darwin.S: Update for -m64 multilib.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21 Zack Weinberg <zack@codesourcery.com>
-
- * 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.
-
-2005-02-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
- odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR libffi/20104
- * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11 Janis Johnson <janis187@us.ibm.com>
-
- * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
- * testsuite/libffi.call/float.c: Ditto.
- * testsuite/libffi.call/float2.c: Ditto.
- * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * testsuite/libffi.special/special.exp (cxx_options): Add
- -shared-libgcc.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
- (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
- offset parameters with a type parameter; deduce size and structure
- alignment. Update all users.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
- (FFI_TYPE_LONGDOUBLE): Fix for ia64.
- * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
- into ffi_prep_closure.
- * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
- from scratch.
-
-2004-12-27 Richard Henderson <rth@redhat.com>
-
- * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25 Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
- (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
- (merge_classes): Check for it.
- (SSE_CLASS_P): New.
- (classify_argument): Pass byte_offset by value; perform all updates
- inside struct case.
- (examine_argument): Add classes argument; handle
- X86_64_COMPLEX_X87_CLASS.
- (ffi_prep_args): Merge into ...
- (ffi_call): ... here. Share stack frame with ffi_call_unix64.
- (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
- (ffi_fill_return_value): Remove.
- (ffi_prep_closure): Remove dead assert.
- (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
- Rewrite to use struct register_args instead of va_list. Create
- flags for handling structure returns.
- * src/x86/unix64.S: Remove dead strings.
- (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share
- stack frame with ffi_call. Handle structure returns properly.
- (float2sse, floatfloat2sse, double2sse): Remove.
- (sse2float, sse2double, sse2floatfloat): Remove.
- (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite
- to handle structure returns properly.
-
-2004-12-08 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
- PICFLAG.
- * Makefile.in: Regenerated.
-
-2004-12-02 Richard Sandiford <rsandifo@redhat.com>
-
- * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
- * configure, aclocal.m4, Makefile.in: Regenerate.
- * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-25 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool reversion.
-
-2004-11-24 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23 Richard Sandiford <rsandifo@redhat.com>
-
- * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
- of jal. Use an absolute encoding for the frame information.
-
-2004-11-23 Kelley Cook <kcook@gcc.gnu.org>
-
- * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS.
- * acinclude.m4: Delete logic for sincludes.
- * aclocal.m4, Makefile.in, configure: Regenerate.
- * include/Makefile: Likewise.
- * testsuite/Makefile: Likewise.
-
-2004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
- on a 8-byte boundary.
- * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
- long long values. Round stack allocation to a multiple of 8 bytes
- for ATPCS compatibility.
- * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
- names. Handle returning long long types. Add Thumb and interworking
- support. Improve soft-float code.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
- (libffi_exit): New function.
- (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR other/18138
- * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
- * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
- the function returning a structure pointed with R2.
- * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
- the structure return value if T bit set. Emit position
- independent code and EH data if PIC.
-
-2004-10-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * Makefile.am: Add m32r support.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * confiugre: Regenerate.
- * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
- (uint64, sint64, double, longdouble)
- * src/m32r: New directory.
- * src/m32r/ffi.c: New file.
- * src/m32r/sysv.S: Likewise.
- * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * testsuite/libffi.call/negint.c: New test case.
-
-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.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/many_win32.c: Remove whitespaces.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
- whitespaces.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Fix comments and identation.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
- (ffi_prep_args): Handle longdouble arguments.
- (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
- longdouble.
- (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
- * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
- values.
- * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
- * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/aix.S: Remove whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
- * src/powerpc/asm.h: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffitarget.h: Likewise.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
-
-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.in: Read configure.host.
- * 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 shouldn't 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.
-
-2004-08-24 David Daney <daney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
- to zero.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23 David Daney <daney@avtrex.com>
-
- PR libgcj/13141
- * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
- * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
- (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
- parameters and return types.
- (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
- (ffi_prep_closure): Ditto.
- (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
- alignment calculations.
- * src/mips/o32.S (ffi_closure_O32): Don't use floating point
- instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14 Casey Marshall <csm@gnu.org>
-
- * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
- contain `FFI_TYPE_UINT64' as return type for any 64-bit
- integer (O32 ABI only).
- (ffi_prep_closure): new function.
- (ffi_closure_mips_inner_O32): new function.
- * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
- `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
- * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
- 64 bit integers correctly.
- (ffi_closure_O32): new function.
- Added DWARF-2 unwind info for both functions.
-
-2004-08-10 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01 Robert Millan <robertmh@gnu.org>
-
- * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
- * configure: Regenerate.
-
-2004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
-
- * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
- and mmap() explicitly instead of relying on preset autoconf cache
- variables.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
- (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
- character on Darwin, use '\n\t' instead.
-
-2004-06-26 Matthias Klose <doko@debian.org>
-
- * libtool-version: Fix typo in revision/age.
-
-2004-06-17 Matthias Klose <doko@debian.org>
-
- * libtool-version: New.
- * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
- * Makefile.in: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * Makefile.am: Remove useless multilib rules.
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate with automake 1.8.5.
- * configure.ac: Remove useless multilib configury.
- * configure: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * .cvsignore: New file.
-
-2004-06-10 Jakub Jelinek <jakub@redhat.com>
-
- * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
- fp_done.
- (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
- changed from 8.
-
-2004-06-06 Sean McNeil <sean@mcneil.com>
-
- * configure.ac: Add x86_64-*-freebsd* support.
- * configure: Regenerate.
-
-2004-04-26 Joe Buck <jbuck@welsh-buck.org>
-
- Bug 15093
- * configure.ac: Test for existence of mmap and sys/mman.h before
- checking blacklist. Fix suggested by Jim Wilson.
- * configure: Regenerate.
-
-2004-04-26 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
- FDE location.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
- error. Reported by Thomas Heller <theller@python.net>.
- * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20 Matthias Klose <doko@debian.org>
-
- * src/pa/linux.S: Fix typo.
-
-2004-03-19 Matthias Klose <doko@debian.org>
-
- * Makefile.am: Update.
- * Makefile.in: Regenerate.
- * src/pa/ffi.h.in: Remove.
- * src/pa/ffitarget.h: New file.
-
-2004-02-10 Randolph Chung <tausq@debian.org>
-
- * Makefile.am: Add PA support.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * configure.ac: Add PA target.
- * configure: Regenerate.
- * src/pa/ffi.c: New file.
- * src/pa/ffi.h.in: Add PA support.
- * src/pa/linux.S: New file.
- * prep_cif.c: Add PA support.
-
-2004-03-16 Hosaka Yuji <hos@tamanegi.org>
-
- * src/types.c: Fix alignment size of X86_WIN32 case int64 and
- double.
- * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
- with ecif->cif->flags.
- (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
- with cif->flags.
- (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
- (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
- * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
- sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.in: Rename file to ...
- * configure.ac: ... this.
- * fficonfig.h.in: Regenerate.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2004-03-12 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Fix EH information so it corresponds to
- changes in EH format resulting from addition of linkonce support.
- * src/powerpc/darwin_closure.S: Likewise.
-
-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.
-
-2004-03-11 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
- arguments from fp registers only for the first 8 parameter slots.
- Don't convert a float parameter when passed in memory.
-
-2004-03-09 Hans-Peter Nilsson <hp@axis.com>
-
- * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
-
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
- ecif->cif->bytes to bytes.
- (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
- * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
- (ffi_closure_helper_LINUX64): Fix typo.
- * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
- for powerpc64-*-*.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
- long double function return and long double arg handling.
- (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
- Use "end_pfr" instead of "nf". Correct long double handling.
- Localise "temp".
- * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
- return value.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
- space for long double return value. Adjust stack frame and offsets.
- Load f2 long double return.
-
-2004-02-07 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
- when the structure return address is passed in %o0.
- (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
- (ffi_v9_layout_struct): Align the field following a nested structure
- on a word boundary. Use memmove instead of memcpy.
- (ffi_call): Update call to ffi_V9_return_struct.
- (ffi_prep_closure): Define 'ctx' only for V8.
- (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
- and ffi_closure_sparc_inner_v9.
- (ffi_closure_sparc_inner_v8): Return long doubles by reference.
- Always skip the structure return address. For structures and long
- doubles, copy the argument directly.
- (ffi_closure_sparc_inner_v9): Skip the structure return address only
- if required. Shift the maximum floating-point slot accordingly. For
- big structures, copy the argument directly; otherwise, left-justify the
- argument and call ffi_v9_layout_struct to lay out the structure on
- the stack.
- * src/sparc/v8.S: Undef STACKFRAME before defining it.
- (ffi_closure_v8): Pass the structure return address. Update call to
- ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
- Skip the 'unimp' insn when returning long doubles and structures.
- * src/sparc/v9.S: Undef STACKFRAME before defining it.
- (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
- FFI_TYPE_INT handling. Load structures both in integers and
- floating-point registers on return.
- * README: Update status of the SPARC port.
-
-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.
-
-2004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
-
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
- value as of type ffi_arg, not unsigned int.
-
-2004-01-21 Michael Ritzert <ritzert@t-online.de>
-
- * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
- of the LHS.
-
-2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
- Solaris.
-
-2004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
- to void *.
-
-2003-12-10 Richard Henderson <rth@redhat.com>
-
- * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
- size_t instead of int.
-
-2003-12-04 Hosaka Yuji <hos@tamanegi.org>
-
- * testsuite/libffi.call/many_win32.c: Include <float.h>.
- * testsuite/libffi.call/many_win32.c (main): Replace variable
- int i with unsigned long ul.
-
- * testsuite/libffi.call/cls_align_uint64.c: New test case.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02 Hosaka Yuji <hos@tamanegi.org>
-
- PR other/13221
- * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
- Align arguments to 32 bits.
-
-2003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR other/13221
- * testsuite/libffi.call/cls_multi_sshort.c: New test case.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-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.
-
-2003-11-21 Andreas Jaeger <aj@suse.de>
- Andreas Tobler <a.tobler@schweiz.ch>
-
- * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
- * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
- * Makefile.in: Rebuilt.
- * aclocal.m4: Likewise.
- * configure: Likewise.
- * fficonfig.h.in: Likewise.
- * testsuite/lib/libffi-dg.exp: Add include dir.
- * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
- for ffi_closure if available.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
- Add -lgcc_s to additional flags.
-
-2003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.in, include/Makefile.am: PR libgcj/11147, install
- the ffitarget.h header file in a gcc versioned and target
- dependent place.
- * configure: Regenerated.
- * Makefile.in, include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Print result and check
- with dg-output to make debugging easier.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
- static.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_9byte2.c: New test case.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_double.c: Do a check on the result.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/prep_cif.c (ffi_prep_cif): Move the validity check after
- the initialization.
-
-2003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
- FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
- __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-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
-
-2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
- _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
- Used when FFI_DEBUG = 1.
-
-2003-10-14 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
- and align.
-
-2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
- FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
- SPARC64. Cleanup whitespaces.
-
-2003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
- strongarm, xscale. Cleanup whitespaces.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Cleanup whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
- * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
- parameter stack.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
- according to the Darwin/AIX ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_DARWIN): Likewise.
- Remove the outgoing parameter stack logic. Simplify the evaluation
- of the different CASE types.
- (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
- statement in the trampoline code.
-
-2003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
- for the register size.
- (ffi_closure_helper_SYSV): Handle the structure return value
- address correctly.
- (ffi_closure_helper_SYSV): Return the appropriate type when
- the registers are used for the structure return value.
- * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
- the 64-bit return value. Update copyright years.
-
-2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
- srcdir for ffi_mips.h.
-
-2003-09-12 Alan Modra <amodra@bigpond.net.au>
-
- * src/prep_cif.c (initialize_aggregate): Include tail padding in
- structure size.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
- placement of float result.
- * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
- cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Merge identical SH and ARM
- typedefs, and add POWERPC64.
- * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
- struct split over gpr and rest.
- (ffi_prep_cif_machdep): Correct intarg_count for structures.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
- passing correctly.
-
-2003-09-09 Alan Modra <amodra@bigpond.net.au>
-
- * configure: Regenerate.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Remove build rules for ffitest.
- * Makefile.in: Rebuilt.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
- about implicit declaration of abort().
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
- * Makefile.in: Rebuilt.
- * configure.in: Add dejagnu test framework.
- * configure: Rebuilt.
-
- * testsuite/Makefile.am: New file.
- * testsuite/Makefile.in: Built
- * testsuite/lib/libffi-dg.exp: New file.
- * testsuite/config/default.exp: Likewise.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Likewise.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float1.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/many.c: Likewise.
- * testsuite/libffi.call/many_win32.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
- * testsuite/libffi.call/strlen.c: Likewise.
- * testsuite/libffi.call/strlen_win32.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
- * testsuite/libffi.call/struct2.c: Likewise.
- * testsuite/libffi.call/struct3.c: Likewise.
- * testsuite/libffi.call/struct4.c: Likewise.
- * testsuite/libffi.call/struct5.c: Likewise.
- * testsuite/libffi.call/struct6.c: Likewise.
- * testsuite/libffi.call/struct7.c: Likewise.
- * testsuite/libffi.call/struct8.c: Likewise.
- * testsuite/libffi.call/struct9.c: Likewise.
- * testsuite/libffi.special/special.exp: New file.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
- copyright years.
-
-2003-08-02 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
- structure passing.
- (ffi_closure_helper_LINUX64): Likewise.
- * src/powerpc/linux64.S: Remove code writing to parm save area.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
- address in lr from ffi_closure_helper_LINUX64 call to calculate
- table address. Optimize function tail.
-
-2003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/sparc/ffi.c: Handle all floating point registers.
- * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
-
- * README: Note that libffi is not part of GCC. Update the project
- URL and status.
-
-2003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
- Use C style comments.
-
-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
- should be read-only.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * include/ffi.h.in (EH_FRAME_FLAGS): Define.
- * src/alpha/osf.S: Use EH_FRAME_FLAGS.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
- * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
- if -fpic/-fPIC/-mrelocatable.
- * src/powerpc/powerpc_closure.S: Likewise.
- * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
- #write in .eh_frame flags.
- * src/sparc/v9.S: Likewise.
- * src/x86/unix64.S: Use EH_FRAME_FLAGS.
- * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
- * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
-
-2003-05-07 Jeff Sturm <jsturm@one-point.com>
-
- Fixes PR bootstrap/10656
- * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
- support for .register pseudo-op.
- * src/sparc/v8.S: Use it.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2003-04-18 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (POWERPC64): Define if 64-bit.
- (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
- Make it the default on POWERPC64.
- (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
- * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
- * configure: Rebuilt.
- * src/powerpc/ffi.c (hidden): Define.
- (ffi_prep_args_SYSV): Renamed from
- ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
- (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
- ASM_NEEDS_REGISTERS64): New.
- (ffi_prep_args64): New function.
- (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
- (ffi_call): Likewise.
- (ffi_prep_closure): Likewise.
- (flush_icache): Surround by #ifndef POWERPC64.
- (ffi_dblfl): New union type.
- (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
- (ffi_closure_helper_LINUX64): New function.
- * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
- __powerpc64__.
- * src/powerpc/sysv.S: Likewise.
- (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
- * src/powerpc/linux64.S: New file.
- * src/powerpc/linux64_closure.S: New file.
- * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
- src/powerpc/linux64_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
- * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
- closure_test_fn3): Fix result printing on big-endian 64-bit
- machines.
- (main): Print tst2_arg instead of uninitialized tst2_result.
-
- * src/ffitest.c (main): Hide what closure pointer really points to
- from the compiler.
-
-2003-04-16 Richard Earnshaw <rearnsha@arm.com>
-
- * configure.in (arm-*-netbsdelf*): Add configuration.
- (configure): Regenerated.
-
-2003-04-04 Loren J. Rittle <ljrittle@acm.org>
-
- * include/Makefile.in: Regenerate.
-
-2003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
-
- * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
- bit mode.
- * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
- Receive closure pointer through parameter, read args using
- __builtin_dwarf_cfa.
- (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12 Andreas Schwab <schwab@suse.de>
-
- * configure.in: Avoid trailing /. in toolexeclibdir.
- * configure: Rebuilt.
-
-2003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/powerpc/darwin_closure.S:
- Fix alignement bug, allocate 8 bytes for the result.
- * libffi/src/powerpc/aix_closure.S:
- Likewise.
- * libffi/src/powerpc/ffi_darwin.c:
- Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06 Jakub Jelinek <jakub@redhat.com>
-
- * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
- attribute.
-
-2003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
- Andreas Schwab <schwab@suse.de>
-
- * configure.in: Adjust command to source config-ml.in to account
- for changes to the libffi_basedir definition.
- (libffi_basedir): Remove ${srcdir} from value and include trailing
- slash if nonempty.
-
- * configure: Regenerate.
-
-2003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
- * src/x86/ffi64.c (ffi_prep_closure): New.
- (ffi_closure_UNIX64_inner): New.
- * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
- Remove USE_LIBDIR conditional.
- * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
- * Makefile.in, configure: Rebuilt.
-
-2003-01027 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
- * Makefile.in: Regenerate.
-
-2003-01-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
- unwind info.
-
-2003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Add unwind info.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
- (ffi_prep_cif_machdep): Likewise.
- * src/x86/unix64.S: Add unwind info.
-
-2003-01-14 Andreas Jaeger <aj@suse.de>
-
- * src/ffitest.c (main): Only use ffi_closures if those are
- supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/ffitest.c
- add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
- * libffi/src/powerpc/ffi.c
- fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c: Remove RCS version string.
- * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
- * src/ffitest.c (main): Use static storage for closure.
- * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
- * src/sparc/v8.S (ffi_closure_v8): New.
- * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10 Ranjit Mathew <rmathew@hotmail.com>
-
- * include/ffi.h.in: Added FFI_STDCALL ffi_type
- enumeration for X86_WIN32.
- * src/x86/win32.S: Added ffi_call_STDCALL function
- definition.
- * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
- switch cases for recognising FFI_STDCALL and
- calling ffi_call_STDCALL if target is X86_WIN32.
- * src/ffitest.c (my_stdcall_strlen/stdcall_many):
- stdcall versions of the "my_strlen" and "many"
- test functions (for X86_WIN32).
- Added test cases to test stdcall invocation using
- these functions.
-
-2002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26 Jim Wilson <wilson@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23 H.J. Lu <hjl@gnu.org>
-
- * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
- Include ../config/accross.m4.
- * aclocal.m4; Rebuild.
- * configure: Likewise.
-
-2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11 DJ Delorie <dj@redhat.com>
-
- * configure.in: Look for common files in the right place.
-
-2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
- raw data as _Jv_word values, not ffi_raw.
- (ffi_java_ptrarray_to_raw): Likewise.
- (ffi_java_rvalue_to_raw): New function.
- (ffi_java_raw_call): Call it.
- (ffi_java_raw_to_rvalue): New function.
- (ffi_java_translate_args): Call it.
- * src/ffitest.c (closure_test_fn): Interpret return value
- as ffi_arg, not int.
- * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
- FFI_TYPE_POINTER case.
- (ffi_closure_helper_SYSV): Likewise. Also, assume return
- values extended to word size.
-
-2002-10-02 Andreas Jaeger <aj@suse.de>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01 Bo Thorsen <bo@smetana.suse.de>
-
- * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
-
- * configure.in: Add s390x-*-linux-* target.
- * configure: Regenerate.
- * include/ffi.h.in: Define S390X for s390x targets.
- (FFI_CLOSURES): Define for s390/s390x.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
- * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
- * src/s390/ffi.c: Major rework of existing code. Add support for
- s390x targets. Add closure support.
- * src/s390/sysv.S: Likewise.
-
-2002-09-29 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: Fix typo.
-
-2002-09-28 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
- has defined __USER_LABEL_PREFIX__, then use it in CNAME.
- (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27 Bo Thorsen <bo@suse.de>
-
- * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * configure.in (sh[34]*-*-linux*): Add brackets.
- * configure: Regenerate.
-
-2002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * Makefile.am: Add SH support.
- * Makefile.in: Regenerate.
- * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
- * configure: Regenerate.
- * include/ffi.h.in: Add SH support.
- * src/sh/ffi.c: New file.
- * src/sh/sysv.S: New file.
- * src/types.c: Add SH support.
-
-2002-07-16 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi64.c: New file that adds x86-64 support.
- * src/x86/unix64.S: New file that handles argument setup for
- x86-64.
- * src/x86/sysv.S: Don't use this on x86-64.
- * src/x86/ffi.c: Don't use this on x86-64.
- Remove unused vars.
- * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
- for x86-64.
- * src/ffitest.c (struct6): New test that tests a special case in
- the x86-64 ABI.
- (struct7): Likewise.
- (struct8): Likewise.
- (struct9): Likewise.
- (closure_test_fn): Silence warning about this when it's not used.
- (main): Add the new tests.
- (main): Fix a couple of wrong casts and silence some compiler warnings.
- * include/ffi.h.in: Add x86-64 ABI definition.
- * fficonfig.h.in: Regenerate.
- * Makefile.am: Add x86-64 support.
- * configure.in: Likewise.
- * Makefile.in: Regenerate.
- * configure: Likewise.
-
-2002-06-24 Bo Thorsen <bo@suse.de>
-
- * src/types.c: Merge settings for similar architectures.
- Add x86-64 sizes and alignments.
-
-2002-06-23 Bo Thorsen <bo@suse.de>
-
- * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
- * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
- * src/mips/ffi.c (ffi_prep_args): Likewise.
- * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18 H.J. Lu (hjl@gnu.org)
-
- * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
- (libffi_la_SOURCES): Support MIPS_LINUX.
- (libffi_convenience_la_SOURCES): Likewise.
- * Makefile.in: Regenerated.
-
- * configure.in (mips64*-*): Skip.
- (mips*-*-linux*): New.
- * configure: Regenerated.
-
- * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
-
-2002-05-27 Roger Sayle <roger@eyesopen.com>
-
- * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
- fix formatting.
-
-2002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
- beginning of function (for older apple cc).
-
-2002-05-08 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
- script entry, and set LD to it when configuring multilibs.
- * configure: Rebuilt.
-
-2002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (sparc64-*-netbsd*): Add target.
- (sparc-*-netbsdelf*): Likewise.
- * configure: Regenerate.
-
-2002-04-28 David S. Miller <davem@redhat.com>
-
- * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
-
- * Makefile.am: Add Linux for S/390 support.
- * Makefile.in: Regenerate.
- * configure.in: Add Linux for S/390 support.
- * configure: Regenerate.
- * include/ffi.h.in: Add Linux for S/390 support.
- * src/s390/ffi.c: New file from libffi CVS tree.
- * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
- %r_disp32().
- * src/sparc/v8.S: Use it.
- * src/sparc/v9.S: Likewise.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2002-04-08 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
- correctly.
- * src/ia64/unix.S: Add unwind information. Fix comments.
- Save sp in a way that's compatible with unwind info.
- (ffi_call_unix): Correctly restore sp in all cases.
- * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08 Jakub Jelinek <jakub@redhat.com>
-
- * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (alpha*-*-netbsd*): Add target.
- * configure: Regenerate.
-
-2002-04-04 Jeff Sturm <jsturm@one-point.com>
-
- * src/sparc/v8.S: Add unwind info.
- * src/sparc/v9.S: Likewise.
-
-2002-03-30 Krister Walfridsson <cato@df.lth.se>
-
- * configure.in: Enable i*86-*-netbsdelf*.
- * configure: Rebuilt.
-
-2002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
-
- PR other/2620
- * src/mips/n32.s: Delete
- * src/mips/o32.s: Delete
-
-2002-03-21 Loren J. Rittle <ljrittle@acm.org>
-
- * configure.in: Enable alpha*-*-freebsd*.
- * configure: Rebuilt.
-
-2002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * Makefile.am: libfficonvenience -> libffi_convenience.
- * Makefile.in: Rebuilt.
-
- * Makefile.am: Define ffitest_OBJECTS.
- * Makefile.in: Rebuilt.
-
-2002-03-07 Andreas Tobler <toa@pop.agri.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
- (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
- (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
- * Makefile.in: Regenerate.
- * include/ffi.h.in: Add AIX and Darwin closure definitions.
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
- (flush_icache, flush_range): New functions.
- (ffi_closure_helper_DARWIN): New function.
- * src/powerpc/aix_closure.S: New file.
- * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add typedef for ffi_arg.
- * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21 Andreas Tobler <toa@pop.agri.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
- number of GPRs for floating-point arguments.
-
-2002-01-31 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Replace CHECK_SIZEOF and endian tests with
- cross-compiler friendly macros.
- * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
- macros.
-
-2002-01-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): New.
- * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
- (TARGET_SRC_POWERPC_AIX): New.
- (POWERPC_AIX): New stanza.
- * Makefile.in: Regenerate.
- * configure.in: Add AIX case.
- * configure: Regenerate.
- * include/ffi.h.in (ffi_abi): Add FFI_AIX.
- * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
- size. Fix "long double" support.
- (ffi_call): Add FFI_AIX case.
- * src/powerpc/aix.S: New.
-
-2001-10-09 John Hornkvist <john@toastedmarshmallow.com>
-
- Implement Darwin PowerPC ABI.
- * configure.in: Handle powerpc-*-darwin*.
- * Makefile.am: Set source files for POWERPC_DARWIN.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
- * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
- POWERPC_DARWIN.
- * src/powerpc/darwin.S: New file.
- * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .balign directive.
- Use C style comments.
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
- Fixes PR bootstrap/3563.
-
-2001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.in: Recognize sparc*-sun-* host.
- * configure: Regenerate.
-
-2001-06-06 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S: Add unwind info.
- * src/powerpc/sysv.S: Add unwind info.
- * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31 Jeff Sturm <jsturm@one-point.com>
-
- * configure.in: Fix AC_ARG_ENABLE usage.
- * configure: Rebuilt.
-
-2001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * configure.in: Remove warning about beta code.
- * configure: Rebuilt.
-
-2001-04-25 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/ia64/unix.S: Restore stack pointer when returning from
- ffi_closure_UNIX.
- * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18 Jim Wilson <wilson@redhat.com>
-
- * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
- to eliminate RAW DV.
-
-2001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
-
- * Makefile.am: Make a libtool convenience library.
- * Makefile.in: Rebuilt.
-
-2001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Use different syntax for subdirectory creation.
- * configure: Rebuilt.
-
-2001-03-27 Jon Beniston <jon@beniston.com>
-
- * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
- * configure: Rebuilt.
- * Makefile.am: Added X86_WIN32 target support.
- * Makefile.in: Rebuilt.
-
- * include/ffi.h.in: Added X86_WIN32 target support.
-
- * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
- * src/types.c: Added X86_WIN32 target support.
-
- * src/x86/win32.S: New file. Based on sysv.S, but with EH
- stuff removed and made to work with CygWin's gas.
-
-2001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Make target subdirectory in build dir.
- * Makefile.am: Override suffix based rules to specify correct output
- subdirectory.
- * Makefile.in: Rebuilt.
- * configure: Rebuilt.
-
-2001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
-
- * src/powerpc/ppc_closure.S: New file.
- * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
- involving long long and register pairs.
- (ffi_prep_closure): New function.
- (flush_icache): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * Makefile.in: Rebuilt.
- * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19 Tom Tromey <tromey@redhat.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02 Nick Clifton <nickc@redhat.com>
-
- * include/ffi.h.in: Remove RCS ident string.
- * include/ffi_mips.h: Remove RCS ident string.
- * src/debug.c: Remove RCS ident string.
- * src/ffitest.c: Remove RCS ident string.
- * src/prep_cif.c: Remove RCS ident string.
- * src/types.c: Remove RCS ident string.
- * src/alpha/ffi.c: Remove RCS ident string.
- * src/alpha/osf.S: Remove RCS ident string.
- * src/arm/ffi.c: Remove RCS ident string.
- * src/arm/sysv.S: Remove RCS ident string.
- * src/mips/ffi.c: Remove RCS ident string.
- * src/mips/n32.S: Remove RCS ident string.
- * src/mips/o32.S: Remove RCS ident string.
- * src/sparc/ffi.c: Remove RCS ident string.
- * src/sparc/v8.S: Remove RCS ident string.
- * src/sparc/v9.S: Remove RCS ident string.
- * src/x86/ffi.c: Remove RCS ident string.
- * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * include/ffi.h.in: Change sourceware.cygnus.com references to
- gcc.gnu.org.
-
-2000-12-09 Richard Henderson <rth@redhat.com>
-
- * src/alpha/ffi.c (ffi_call): Simplify struct return test.
- (ffi_closure_osf_inner): Index rather than increment avalue
- and arg_types. Give ffi_closure_osf the raw return value type.
- * src/alpha/osf.S (ffi_closure_osf): Handle return value type
- promotion.
-
-2000-12-07 Richard Henderson <rth@redhat.com>
-
- * src/raw_api.c (ffi_translate_args): Fix typo.
- (ffi_prep_closure): Likewise.
-
- * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
- FFI_TRAMPOLINE_SIZE.
- * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
- cif->bytes for new ffi_call_osf implementation.
- (ffi_prep_args): Absorb into ...
- (ffi_call): ... here. Do all stack allocation here and
- avoid a callback function.
- (ffi_prep_closure, ffi_closure_osf_inner): New.
- * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
- (ffi_closure_osf): New.
-
-2000-09-10 Alexandre Oliva <aoliva@redhat.com>
-
- * config.guess, config.sub, install-sh: Removed.
- * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
- * Makefile.in: Rebuilt.
-
- * acinclude.m4: Include libtool macros from the top level.
- * aclocal.m4, configure: Rebuilt.
-
-2000-08-22 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
- * configure: Rebuilt.
-
-2000-05-11 Scott Bambrough <scottb@netwinder.org>
-
- * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
- memory correctly. Use conditional instructions, not branches where
- possible.
-
-2000-05-04 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Match `arm*-*-linux-*'.
- From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (SUBDIRS): Define.
- (AM_MAKEFLAGS): Likewise.
- (Multilib support.): Add section.
- * Makefile.in: Rebuilt.
- * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
- New variables. Set for gcc using -print-multi-lib. Export them
- to libtool.
- (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
- * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
- for -shared links.
- (extra_compiler_flags_value, extra_compiler_flags): Check these
- for extra compiler options which need to be passed down in
- compiler_flags.
-
-2000-04-16 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
- Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
- * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
- Replace all void * sizeofs with sizeof(int).
- Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
- different than DOUBLE.
- Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
- (ffi_prep_args_v9): New function.
- (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
- (ffi_V9_return_struct): New function.
- (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
- 32bit code (not yet cross-arch calls).
- * src/sparc/v8.S: Add struct return delay nop.
- Handle long long.
- * src/sparc/v9.S: New file.
- * src/prep_cif.c (ffi_prep_cif): Return structure pointer
- is used on sparc64 only for structures larger than 32 bytes.
- Pass by reference for structures is done for structure arguments
- larger than 16 bytes.
- * src/ffitest.c (main): Use 64bit rint on sparc64.
- Run long long tests on sparc.
- * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
- sparc64.
- (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
- on sparc64.
- * configure.in (sparc-*-linux*): New supported target.
- (sparc64-*-linux*): Likewise.
- * configure: Rebuilt.
- * Makefile.am: Add v9.S to SPARC files.
- * Makefile.in: Likewise.
- (LINK): Surround $(CCLD) into double quotes, so that multilib
- compiles work correctly.
-
-2000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: (i*86-*-solaris*): New libffi target. Patch
- proposed by Bryce McKinlay.
-
-2000-03-20 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
-
- * config.guess, config.sub: Update from the gcc tree.
- Fix for PR libgcj/168.
-
-2000-03-03 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Fixed ia64 by hand.
-
- * configure: Rebuilt.
- * configure.in (--enable-multilib): New option.
- (libffi_basedir): New subst.
- (AC_OUTPUT): Added multilib code.
-
-2000-03-02 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
- directory name.
-
-2000-02-25 Hans Boehm <boehm@acm.org>
-
- * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
- files.
- * src/raw_api.c (ffi_translate_args): Fixed typo in argument
- list.
- (ffi_prep_raw_closure): Use ffi_translate_args, not
- ffi_closure_translate.
- * src/java_raw_api.c: New file.
- * src/ffitest.c (closure_test_fn): New function.
- (main): Define `rint' as long long on IA64. Added new test when
- FFI_CLOSURES is defined.
- * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
- (ffi_abi): Recognize IA64.
- (ffi_raw): Added `flt' field.
- Added "Java raw API" code.
- * configure.in: Recognize ia64.
- * Makefile.am (TARGET_SRC_IA64): New macro.
- (libffi_la_common_SOURCES): Added java_raw_api.c.
- (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01 Tom Tromey <tromey@cygnus.com>
-
- * include/ffi.h.in: Removed PACKAGE and VERSION defines and
- undefs.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
- * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
- Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
- * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09 Anthony Green <green@cygnus.com>
-
- * include/ffi.h.in: Try to work around messy header problem
- with PACKAGE and VERSION.
-
- * configure: Rebuilt.
- * configure.in: Change version to 2.00-beta.
-
- * fficonfig.h.in: Rebuilt.
- * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
- * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
-
- * src/x86/ffi.c (ffi_closure_SYSV): New function.
- (ffi_prep_incoming_args_SYSV): Ditto.
- (ffi_prep_closure): Ditto.
- (ffi_closure_raw_SYSV): Ditto.
- (ffi_prep_raw_closure): More ditto.
- (ffi_call_raw): Final ditto.
-
- * include/ffi.h.in: Add definitions for closure and raw API.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
- FFI_TYPE_UINT64.
-
- * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
- * src/raw_api.c: New file.
-
- * include/ffi.h.in (ffi_raw): New type.
- (UINT_ARG, SINT_ARG): New defines.
- (ffi_closure, ffi_raw_closure): New types.
- (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
- * configure.in: Add check for endianness and sizeof void*.
-
- * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
- instead of directly.
-
- * configure: Rebuilt.
-
-Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
-
- * configure.in: Add x86 and powerpc BeOS configurations.
- From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09 Anthony Green <green@cygnus.com>
-
- * configure.in: Add warning about this being beta code.
- Remove src/Makefile.am from the picture.
- * configure: Rebuilt.
-
- * Makefile.am: Move logic from src/Makefile.am. Add changes
- to support libffi as a target library.
- * Makefile.in: Rebuilt.
-
- * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
- Upgraded to new autoconf, automake, libtool.
-
- * README: Tweaks.
-
- * LICENSE: Update copyright date.
-
- * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29 Anthony Green <green@cygnus.com>
-
- * include/ChangeLog: Removed.
- * src/ChangeLog: Removed.
- * src/mips/ChangeLog: Removed.
- * src/sparc/ChangeLog: Remboved.
- * src/x86/ChangeLog: Removed.
-
- * ChangeLog.v1: Created.
diff --git a/.pc/darwin11/configure b/.pc/darwin11/configure
deleted file mode 100755
index 13d1d94..0000000
--- a/.pc/darwin11/configure
+++ /dev/null
@@ -1,16030 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for libffi 3.0.11-rc2.
-#
-# Report bugs to <http://github.com/atgreen/libffi/issues>.
-#
-#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-# Foundation, Inc.
-#
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in #(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test "x$CONFIG_SHELL" = x; then
- as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '\${1+\"\$@\"}'='\"\$@\"'
- setopt NO_GLOB_SUBST
-else
- case \`(set -o) 2>/dev/null\` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-"
- as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-
-else
- exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1"
- as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
- as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
- eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
- test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-
- test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
- ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
- ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
- ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
- PATH=/empty FPATH=/empty; export PATH FPATH
- test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
- || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
- if (eval "$as_required") 2>/dev/null; then :
- as_have_required=yes
-else
- as_have_required=no
-fi
- if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- as_found=:
- case $as_dir in #(
- /*)
- for as_base in sh bash ksh sh5; do
- # Try only shells that exist, to save several forks.
- as_shell=$as_dir/$as_base
- if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
- CONFIG_SHELL=$as_shell as_have_required=yes
- if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
- break 2
-fi
-fi
- done;;
- esac
- as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
- CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
- if test "x$CONFIG_SHELL" != x; then :
- # We cannot yet assume a decent shell, so we have to provide a
- # neutralization value for shells without unset; and this also
- # works around shells that cannot unset nonexistent variables.
- # Preserve -v and -x to the replacement shell.
- BASH_ENV=/dev/null
- ENV=/dev/null
- (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
- export CONFIG_SHELL
- case $- in # ((((
- *v*x* | *x*v* ) as_opts=-vx ;;
- *v* ) as_opts=-v ;;
- *x* ) as_opts=-x ;;
- * ) as_opts= ;;
- esac
- exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
-fi
-
- if test x$as_have_required = xno; then :
- $as_echo "$0: This script requires a shell more modern than all"
- $as_echo "$0: the shells that I found on your system."
- if test x${ZSH_VERSION+set} = xset ; then
- $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
- $as_echo "$0: be upgraded to zsh 4.3.4 or later."
- else
- $as_echo "$0: Please tell bug-autoconf@gnu.org and
-$0: http://github.com/atgreen/libffi/issues about your
-$0: system, including any error possibly output before this
-$0: message. Then install a modern shell, or manually run
-$0: the script under such a shell if you do have one."
- fi
- exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} # as_fn_exit
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- fi
- $as_echo "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} # as_fn_error
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
- as_lineno_1=$LINENO as_lineno_1a=$LINENO
- as_lineno_2=$LINENO as_lineno_2a=$LINENO
- eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
- test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
- # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
- sed -n '
- p
- /[$]LINENO/=
- ' <$as_myself |
- sed '
- s/[$]LINENO.*/&-/
- t lineno
- b
- :lineno
- N
- :loop
- s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
- t loop
- s/-\n.*//
- ' >$as_me.lineno &&
- chmod +x "$as_me.lineno" ||
- { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensitive to this).
- . "./$as_me.lineno"
- # Exit status is that of the last command.
- exit
-}
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -p'
- fi
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in #(
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-
-test -n "$DJDIR" || exec 7<&0 </dev/null
-exec 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-
-# Identity of this package.
-PACKAGE_NAME='libffi'
-PACKAGE_TARNAME='libffi'
-PACKAGE_VERSION='3.0.11-rc2'
-PACKAGE_STRING='libffi 3.0.11-rc2'
-PACKAGE_BUGREPORT='http://github.com/atgreen/libffi/issues'
-PACKAGE_URL=''
-
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-# include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-# include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='am__EXEEXT_FALSE
-am__EXEEXT_TRUE
-LTLIBOBJS
-LIBOBJS
-toolexeclibdir
-toolexecdir
-FFI_DEBUG_FALSE
-FFI_DEBUG_TRUE
-TARGETDIR
-TARGET
-sys_symbol_underscore
-HAVE_LONG_DOUBLE
-ALLOCA
-PA64_HPUX_FALSE
-PA64_HPUX_TRUE
-PA_HPUX_FALSE
-PA_HPUX_TRUE
-PA_LINUX_FALSE
-PA_LINUX_TRUE
-SH64_FALSE
-SH64_TRUE
-SH_FALSE
-SH_TRUE
-X86_64_FALSE
-X86_64_TRUE
-S390_FALSE
-S390_TRUE
-FRV_FALSE
-FRV_TRUE
-LIBFFI_CRIS_FALSE
-LIBFFI_CRIS_TRUE
-AVR32_FALSE
-AVR32_TRUE
-ARM_FALSE
-ARM_TRUE
-POWERPC_FREEBSD_FALSE
-POWERPC_FREEBSD_TRUE
-POWERPC_DARWIN_FALSE
-POWERPC_DARWIN_TRUE
-POWERPC_AIX_FALSE
-POWERPC_AIX_TRUE
-POWERPC_FALSE
-POWERPC_TRUE
-MOXIE_FALSE
-MOXIE_TRUE
-M68K_FALSE
-M68K_TRUE
-M32R_FALSE
-M32R_TRUE
-IA64_FALSE
-IA64_TRUE
-ALPHA_FALSE
-ALPHA_TRUE
-X86_DARWIN_FALSE
-X86_DARWIN_TRUE
-X86_WIN64_FALSE
-X86_WIN64_TRUE
-X86_WIN32_FALSE
-X86_WIN32_TRUE
-X86_FREEBSD_FALSE
-X86_FREEBSD_TRUE
-X86_FALSE
-X86_TRUE
-SPARC_FALSE
-SPARC_TRUE
-MIPS_FALSE
-MIPS_TRUE
-AM_LTLDFLAGS
-AM_RUNTESTFLAGS
-TESTSUBDIR_FALSE
-TESTSUBDIR_TRUE
-MAINT
-MAINTAINER_MODE_FALSE
-MAINTAINER_MODE_TRUE
-CPP
-OTOOL64
-OTOOL
-LIPO
-NMEDIT
-DSYMUTIL
-MANIFEST_TOOL
-RANLIB
-ac_ct_AR
-AR
-DLLTOOL
-OBJDUMP
-LN_S
-NM
-ac_ct_DUMPBIN
-DUMPBIN
-LD
-FGREP
-EGREP
-GREP
-SED
-LIBTOOL
-am__fastdepCCAS_FALSE
-am__fastdepCCAS_TRUE
-CCASDEPMODE
-CCASFLAGS
-CCAS
-am__fastdepCC_FALSE
-am__fastdepCC_TRUE
-CCDEPMODE
-AMDEPBACKSLASH
-AMDEP_FALSE
-AMDEP_TRUE
-am__quote
-am__include
-DEPDIR
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-am__untar
-am__tar
-AMTAR
-am__leading_dot
-SET_MAKE
-AWK
-mkdir_p
-MKDIR_P
-INSTALL_STRIP_PROGRAM
-STRIP
-install_sh
-MAKEINFO
-AUTOHEADER
-AUTOMAKE
-AUTOCONF
-ACLOCAL
-VERSION
-PACKAGE
-CYGPATH_W
-am__isrc
-INSTALL_DATA
-INSTALL_SCRIPT
-INSTALL_PROGRAM
-target_os
-target_vendor
-target_cpu
-target
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-enable_dependency_tracking
-enable_shared
-enable_static
-with_pic
-enable_fast_install
-with_gnu_ld
-with_sysroot
-enable_libtool_lock
-enable_maintainer_mode
-enable_debug
-enable_structs
-enable_raw_api
-enable_purify_safety
-'
- ac_precious_vars='build_alias
-host_alias
-target_alias
-CCAS
-CCASFLAGS
-CPP
-CPPFLAGS'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval $ac_prev=\$ac_option
- ac_prev=
- continue
- fi
-
- case $ac_option in
- *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
- *=) ac_optarg= ;;
- *) ac_optarg=yes ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case $ac_dashdash$ac_option in
- --)
- ac_dashdash=yes ;;
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir=$ac_optarg ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build_alias ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build_alias=$ac_optarg ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file=$ac_optarg ;;
-
- --config-cache | -C)
- cache_file=config.cache ;;
-
- -datadir | --datadir | --datadi | --datad)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=*)
- datadir=$ac_optarg ;;
-
- -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
- | --dataroo | --dataro | --datar)
- ac_prev=datarootdir ;;
- -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
- | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
- datarootdir=$ac_optarg ;;
-
- -disable-* | --disable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=no ;;
-
- -docdir | --docdir | --docdi | --doc | --do)
- ac_prev=docdir ;;
- -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
- docdir=$ac_optarg ;;
-
- -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
- ac_prev=dvidir ;;
- -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
- dvidir=$ac_optarg ;;
-
- -enable-* | --enable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=\$ac_optarg ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix=$ac_optarg ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he | -h)
- ac_init_help=long ;;
- -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
- ac_init_help=recursive ;;
- -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
- ac_init_help=short ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host_alias ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host_alias=$ac_optarg ;;
-
- -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
- ac_prev=htmldir ;;
- -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
- | --ht=*)
- htmldir=$ac_optarg ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir=$ac_optarg ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir=$ac_optarg ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir=$ac_optarg ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir=$ac_optarg ;;
-
- -localedir | --localedir | --localedi | --localed | --locale)
- ac_prev=localedir ;;
- -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
- localedir=$ac_optarg ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst | --locals)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
- localstatedir=$ac_optarg ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir=$ac_optarg ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c | -n)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir=$ac_optarg ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix=$ac_optarg ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix=$ac_optarg ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix=$ac_optarg ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name=$ac_optarg ;;
-
- -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
- ac_prev=pdfdir ;;
- -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
- pdfdir=$ac_optarg ;;
-
- -psdir | --psdir | --psdi | --psd | --ps)
- ac_prev=psdir ;;
- -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
- psdir=$ac_optarg ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir=$ac_optarg ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir=$ac_optarg ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site=$ac_optarg ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir=$ac_optarg ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir=$ac_optarg ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target_alias ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target_alias=$ac_optarg ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers | -V)
- ac_init_version=: ;;
-
- -with-* | --with-*)
- ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=\$ac_optarg ;;
-
- -without-* | --without-*)
- ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=no ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes=$ac_optarg ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries=$ac_optarg ;;
-
- -*) as_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
- ;;
-
- *=*)
- ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
- # Reject names that are not valid shell variable names.
- case $ac_envvar in #(
- '' | [0-9]* | *[!_$as_cr_alnum]* )
- as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
- esac
- eval $ac_envvar=\$ac_optarg
- export $ac_envvar ;;
-
- *)
- # FIXME: should be removed in autoconf 3.0.
- $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
- expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- as_fn_error $? "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
- case $enable_option_checking in
- no) ;;
- fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
- *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
- esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
- datadir sysconfdir sharedstatedir localstatedir includedir \
- oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir
-do
- eval ac_val=\$$ac_var
- # Remove trailing slashes.
- case $ac_val in
- */ )
- ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
- eval $ac_var=\$ac_val;;
- esac
- # Be sure to have absolute directory names.
- case $ac_val in
- [\\/$]* | ?:[\\/]* ) continue;;
- NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
- esac
- as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
- if test "x$build_alias" = x; then
- cross_compiling=maybe
- $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
- If a cross compiler is detected then cross compile mode will be used" >&2
- elif test "x$build_alias" != "x$host_alias"; then
- cross_compiling=yes
- fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
- as_fn_error $? "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
- as_fn_error $? "pwd does not report name of working directory"
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then the parent directory.
- ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_myself" : 'X\(//\)[^/]' \| \
- X"$as_myself" : 'X\(//\)$' \| \
- X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- srcdir=$ac_confdir
- if test ! -r "$srcdir/$ac_unique_file"; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
- test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
- as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
- cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
- pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
- srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
- eval ac_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_env_${ac_var}_value=\$${ac_var}
- eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat <<_ACEOF
-\`configure' configures libffi 3.0.11-rc2 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE. See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
- -h, --help display this help and exit
- --help=short display options specific to this package
- --help=recursive display the short help of all the included packages
- -V, --version display version information and exit
- -q, --quiet, --silent do not print \`checking ...' messages
- --cache-file=FILE cache test results in FILE [disabled]
- -C, --config-cache alias for \`--cache-file=config.cache'
- -n, --no-create do not create output files
- --srcdir=DIR find the sources in DIR [configure dir or \`..']
-
-Installation directories:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
- --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
- --infodir=DIR info documentation [DATAROOTDIR/info]
- --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
- --mandir=DIR man documentation [DATAROOTDIR/man]
- --docdir=DIR documentation root [DATAROOTDIR/doc/libffi]
- --htmldir=DIR html documentation [DOCDIR]
- --dvidir=DIR dvi documentation [DOCDIR]
- --pdfdir=DIR pdf documentation [DOCDIR]
- --psdir=DIR ps documentation [DOCDIR]
-_ACEOF
-
- cat <<\_ACEOF
-
-Program names:
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM run sed PROGRAM on installed program names
-
-System types:
- --build=BUILD configure for building on BUILD [guessed]
- --host=HOST cross-compile to build programs to run on HOST [BUILD]
- --target=TARGET configure for building compilers for TARGET [HOST]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
- case $ac_init_help in
- short | recursive ) echo "Configuration of libffi 3.0.11-rc2:";;
- esac
- cat <<\_ACEOF
-
-Optional Features:
- --disable-option-checking ignore unrecognized --enable/--with options
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --disable-dependency-tracking speeds up one-time build
- --enable-dependency-tracking do not reject slow dependency extractors
- --enable-shared[=PKGS] build shared libraries [default=yes]
- --enable-static[=PKGS] build static libraries [default=yes]
- --enable-fast-install[=PKGS]
- optimize for fast installation [default=yes]
- --disable-libtool-lock avoid locking (might break parallel builds)
- --enable-maintainer-mode enable make rules and dependencies not useful
- (and sometimes confusing) to the casual installer
- --enable-debug debugging mode
- --disable-structs omit code for struct support
- --disable-raw-api make the raw api unavailable
- --enable-purify-safety purify-safe mode
-
-Optional Packages:
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --with-pic try to use only PIC/non-PIC objects [default=use
- both]
- --with-gnu-ld assume the C compiler uses GNU ld [default=no]
- --with-sysroot=DIR Search for dependent libraries within DIR
- (or the compiler's sysroot if not specified).
-
-Some influential environment variables:
- CC C compiler command
- CFLAGS C compiler flags
- LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
- nonstandard directory <lib dir>
- LIBS libraries to pass to the linker, e.g. -l<library>
- CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
- you have headers in a nonstandard directory <include dir>
- CCAS assembler compiler command (defaults to CC)
- CCASFLAGS assembler compiler flags (defaults to CFLAGS)
- CPP C preprocessor
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to <http://github.com/atgreen/libffi/issues>.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
- # If there are subdirs, report their specific --help.
- for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d "$ac_dir" ||
- { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
- continue
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
- cd "$ac_dir" || { ac_status=$?; continue; }
- # Check for guested configure.
- if test -f "$ac_srcdir/configure.gnu"; then
- echo &&
- $SHELL "$ac_srcdir/configure.gnu" --help=recursive
- elif test -f "$ac_srcdir/configure"; then
- echo &&
- $SHELL "$ac_srcdir/configure" --help=recursive
- else
- $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi || ac_status=$?
- cd "$ac_pwd" || { ac_status=$?; break; }
- done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
- cat <<\_ACEOF
-libffi configure 3.0.11-rc2
-generated by GNU Autoconf 2.68
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
- exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-# ac_fn_c_try_compile LINENO
-# --------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext
- if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_compile
-
-# ac_fn_c_try_link LINENO
-# -----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext conftest$ac_exeext
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext && {
- test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
- }; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
- # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
- # interfere with the next link command; also delete a directory that is
- # left behind by Apple's compiler. We do this before executing the actions.
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_link
-
-# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists and can be compiled using the include files in
-# INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- eval "$3=yes"
-else
- eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_compile
-
-# ac_fn_c_try_cpp LINENO
-# ----------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } > conftest.i && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_cpp
-
-# ac_fn_c_try_run LINENO
-# ----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
-ac_fn_c_try_run ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
- ac_retval=0
-else
- $as_echo "$as_me: program exited with status $ac_status" >&5
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=$ac_status
-fi
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_run
-
-# ac_fn_c_check_func LINENO FUNC VAR
-# ----------------------------------
-# Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_c_check_func ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $2 innocuous_$2
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $2 (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $2
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $2 ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_$2 || defined __stub___$2
-choke me
-#endif
-
-int
-main ()
-{
-return $2 ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- eval "$3=yes"
-else
- eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_func
-
-# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists, giving a warning if it cannot be compiled using
-# the include files in INCLUDES and setting the cache variable VAR
-# accordingly.
-ac_fn_c_check_header_mongrel ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if eval \${$3+:} false; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
- # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_header_compiler=yes
-else
- ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <$2>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- ac_header_preproc=yes
-else
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
- yes:no: )
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
- ;;
- no:yes:* )
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( $as_echo "## ------------------------------------------------------ ##
-## Report this to http://github.com/atgreen/libffi/issues ##
-## ------------------------------------------------------ ##"
- ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_mongrel
-
-# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
-# -------------------------------------------
-# Tests whether TYPE exists after having included INCLUDES, setting cache
-# variable VAR accordingly.
-ac_fn_c_check_type ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- eval "$3=no"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-if (sizeof ($2))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-if (sizeof (($2)))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
- eval "$3=yes"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_type
-
-# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
-# --------------------------------------------
-# Tries to find the compile-time value of EXPR in a program that includes
-# INCLUDES, setting VAR accordingly. Returns whether the value could be
-# computed
-ac_fn_c_compute_int ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if test "$cross_compiling" = yes; then
- # Depending upon the size, compute the lo and hi bounds.
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_lo=0 ac_mid=0
- while :; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_hi=$ac_mid; break
-else
- as_fn_arith $ac_mid + 1 && ac_lo=$as_val
- if test $ac_lo -le $ac_mid; then
- ac_lo= ac_hi=
- break
- fi
- as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) < 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_hi=-1 ac_mid=-1
- while :; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_lo=$ac_mid; break
-else
- as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
- if test $ac_mid -le $ac_hi; then
- ac_lo= ac_hi=
- break
- fi
- as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- ac_lo= ac_hi=
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
- as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_hi=$ac_mid
-else
- as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in #((
-?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
-'') ac_retval=1 ;;
-esac
- else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-static long int longval () { return $2; }
-static unsigned long int ulongval () { return $2; }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
- FILE *f = fopen ("conftest.val", "w");
- if (! f)
- return 1;
- if (($2) < 0)
- {
- long int i = longval ();
- if (i != ($2))
- return 1;
- fprintf (f, "%ld", i);
- }
- else
- {
- unsigned long int i = ulongval ();
- if (i != ($2))
- return 1;
- fprintf (f, "%lu", i);
- }
- /* Do not output a trailing newline, as this causes \r\n confusion
- on some platforms. */
- return ferror (f) || fclose (f) != 0;
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- echo >>conftest.val; read $3 <conftest.val; ac_retval=0
-else
- ac_retval=1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-rm -f conftest.val
-
- fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_compute_int
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by libffi $as_me 3.0.11-rc2, which was
-generated by GNU Autoconf 2.68. Invocation command line was
-
- $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
-
-/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
-/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
-/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- $as_echo "PATH: $as_dir"
- done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
- for ac_arg
- do
- case $ac_arg in
- -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- continue ;;
- *\'*)
- ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- case $ac_pass in
- 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
- 2)
- as_fn_append ac_configure_args1 " '$ac_arg'"
- if test $ac_must_keep_next = true; then
- ac_must_keep_next=false # Got value, back to normal.
- else
- case $ac_arg in
- *=* | --config-cache | -C | -disable-* | --disable-* \
- | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
- | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
- | -with-* | --with-* | -without-* | --without-* | --x)
- case "$ac_configure_args0 " in
- "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
- esac
- ;;
- -* ) ac_must_keep_next=true ;;
- esac
- fi
- as_fn_append ac_configure_args " '$ac_arg'"
- ;;
- esac
- done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log. We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
- # Save into config.log some information that might help in debugging.
- {
- echo
-
- $as_echo "## ---------------- ##
-## Cache variables. ##
-## ---------------- ##"
- echo
- # The following way of writing the cache mishandles newlines in values,
-(
- for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
- (set) 2>&1 |
- case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- sed -n \
- "s/'\''/'\''\\\\'\'''\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
- ;; #(
- *)
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-)
- echo
-
- $as_echo "## ----------------- ##
-## Output variables. ##
-## ----------------- ##"
- echo
- for ac_var in $ac_subst_vars
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
-
- if test -n "$ac_subst_files"; then
- $as_echo "## ------------------- ##
-## File substitutions. ##
-## ------------------- ##"
- echo
- for ac_var in $ac_subst_files
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
- fi
-
- if test -s confdefs.h; then
- $as_echo "## ----------- ##
-## confdefs.h. ##
-## ----------- ##"
- echo
- cat confdefs.h
- echo
- fi
- test "$ac_signal" != 0 &&
- $as_echo "$as_me: caught signal $ac_signal"
- $as_echo "$as_me: exit $exit_status"
- } >&5
- rm -f core *.core core.conftest.* &&
- rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
- exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
- trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-$as_echo "/* confdefs.h */" > confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
- # We do not want a PATH search for config.site.
- case $CONFIG_SITE in #((
- -*) ac_site_file1=./$CONFIG_SITE;;
- */*) ac_site_file1=$CONFIG_SITE;;
- *) ac_site_file1=./$CONFIG_SITE;;
- esac
-elif test "x$prefix" != xNONE; then
- ac_site_file1=$prefix/share/config.site
- ac_site_file2=$prefix/etc/config.site
-else
- ac_site_file1=$ac_default_prefix/share/config.site
- ac_site_file2=$ac_default_prefix/etc/config.site
-fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
- test "x$ac_site_file" = xNONE && continue
- if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
- sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file" \
- || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5; }
- fi
-done
-
-if test -r "$cache_file"; then
- # Some versions of bash will fail to source /dev/null (special files
- # actually), so we avoid doing that. DJGPP emulates it as a regular file.
- if test /dev/null != "$cache_file" && test -f "$cache_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
- case $cache_file in
- [\\/]* | ?:[\\/]* ) . "$cache_file";;
- *) . "./$cache_file";;
- esac
- fi
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
- >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
- eval ac_old_set=\$ac_cv_env_${ac_var}_set
- eval ac_new_set=\$ac_env_${ac_var}_set
- eval ac_old_val=\$ac_cv_env_${ac_var}_value
- eval ac_new_val=\$ac_env_${ac_var}_value
- case $ac_old_set,$ac_new_set in
- set,)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,set)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,);;
- *)
- if test "x$ac_old_val" != "x$ac_new_val"; then
- # differences in whitespace do not lead to failure.
- ac_old_val_w=`echo x $ac_old_val`
- ac_new_val_w=`echo x $ac_new_val`
- if test "$ac_old_val_w" != "$ac_new_val_w"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- ac_cache_corrupted=:
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
- eval $ac_var=\$ac_old_val
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
-$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
-$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
- fi;;
- esac
- # Pass precious variables to config.status.
- if test "$ac_new_set" = set; then
- case $ac_new_val in
- *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
- *) ac_arg=$ac_var=$ac_new_val ;;
- esac
- case " $ac_configure_args " in
- *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
- *) as_fn_append ac_configure_args " '$ac_arg'" ;;
- esac
- fi
-done
-if $ac_cache_corrupted; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-ac_config_headers="$ac_config_headers fficonfig.h"
-
-
-ac_aux_dir=
-for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
- if test -f "$ac_dir/install-sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f "$ac_dir/install.sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- elif test -f "$ac_dir/shtool"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/shtool install -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
-
-
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
- as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if ${ac_cv_build+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
- ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
- as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if ${ac_cv_host+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "x$host_alias" = x; then
- ac_cv_host=$ac_cv_build
-else
- ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
-$as_echo_n "checking target system type... " >&6; }
-if ${ac_cv_target+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "x$target_alias" = x; then
- ac_cv_target=$ac_cv_host
-else
- ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
-$as_echo "$ac_cv_target" >&6; }
-case $ac_cv_target in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
-esac
-target=$ac_cv_target
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_target
-shift
-target_cpu=$1
-target_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-target_os=$*
-IFS=$ac_save_IFS
-case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
-
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-test -n "$target_alias" &&
- test "$program_prefix$program_suffix$program_transform_name" = \
- NONENONEs,x,x, &&
- program_prefix=${target_alias}-
-
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-am__api_version='1.11'
-
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-# Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
-if test -z "$INSTALL"; then
-if ${ac_cv_path_install+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in #((
- ./ | .// | /[cC]/* | \
- /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
- ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
- /usr/ucb/* ) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
- if test $ac_prog = install &&
- grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- elif test $ac_prog = install &&
- grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # program-specific install script used by HP pwplus--don't use.
- :
- else
- rm -rf conftest.one conftest.two conftest.dir
- echo one > conftest.one
- echo two > conftest.two
- mkdir conftest.dir
- if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
- test -s conftest.one && test -s conftest.two &&
- test -s conftest.dir/conftest.one &&
- test -s conftest.dir/conftest.two
- then
- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
- break 3
- fi
- fi
- fi
- done
- done
- ;;
-esac
-
- done
-IFS=$as_save_IFS
-
-rm -rf conftest.one conftest.two conftest.dir
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL=$ac_cv_path_install
- else
- # As a last resort, use the slow shell script. Don't cache a
- # value for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- INSTALL=$ac_install_sh
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
-$as_echo_n "checking whether build environment is sane... " >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name. Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
- *[\\\"\#\$\&\'\`$am_lf]*)
- as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
-esac
-case $srcdir in
- *[\\\"\#\$\&\'\`$am_lf\ \ ]*)
- as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
-esac
-
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
- if test "$*" = "X"; then
- # -L didn't work.
- set X `ls -t "$srcdir/configure" conftest.file`
- fi
- rm -f conftest.file
- if test "$*" != "X $srcdir/configure conftest.file" \
- && test "$*" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
-alias in your environment" "$LINENO" 5
- fi
-
- test "$2" = conftest.file
- )
-then
- # Ok.
- :
-else
- as_fn_error $? "newly created file is older than distributed files!
-Check your system clock" "$LINENO" 5
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-test "$program_prefix" != NONE &&
- program_transform_name="s&^&$program_prefix&;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
- program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $.
-# By default was `s,x,x', remove it if useless.
-ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
-if test x"${MISSING+set}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
- *)
- MISSING="\${SHELL} $am_aux_dir/missing" ;;
- esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
-else
- am_missing_run=
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
-fi
-
-if test x"${install_sh}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
- *)
- install_sh="\${SHELL} $am_aux_dir/install-sh"
- esac
-fi
-
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_STRIP="strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_STRIP" = x; then
- STRIP=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- STRIP=$ac_ct_STRIP
- fi
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
-$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
-if test -z "$MKDIR_P"; then
- if ${ac_cv_path_mkdir+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in mkdir gmkdir; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
- case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
- 'mkdir (GNU coreutils) '* | \
- 'mkdir (coreutils) '* | \
- 'mkdir (fileutils) '4.1*)
- ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
- break 3;;
- esac
- done
- done
- done
-IFS=$as_save_IFS
-
-fi
-
- test -d ./--version && rmdir ./--version
- if test "${ac_cv_path_mkdir+set}" = set; then
- MKDIR_P="$ac_cv_path_mkdir -p"
- else
- # As a last resort, use the slow shell script. Don't cache a
- # value for MKDIR_P within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- MKDIR_P="$ac_install_sh -d"
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
-$as_echo "$MKDIR_P" >&6; }
-
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
- [\\/$]* | ?:[\\/]*) ;;
- */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-
-for ac_prog in gawk mawk nawk awk
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AWK+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$AWK"; then
- ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_AWK="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$AWK" && break
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
- @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
- *@@@%%%=?*=@@@%%%*)
- eval ac_cv_prog_make_${ac_make}_set=yes;;
- *)
- eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- SET_MAKE=
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
- am__leading_dot=.
-else
- am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
- # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
- # is not polluted with repeated "-I."
- am__isrc=' -I$(srcdir)'
- # test to see if srcdir already configured
- if test -f $srcdir/config.status; then
- as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
- fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
- if (cygpath --version) >/dev/null 2>/dev/null; then
- CYGPATH_W='cygpath -w'
- else
- CYGPATH_W=echo
- fi
-fi
-
-
-# Define the identity of the package.
- PACKAGE='libffi'
- VERSION='3.0.11-rc2'
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE "$PACKAGE"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define VERSION "$VERSION"
-_ACEOF
-
-# Some tools Automake needs.
-
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-
-
-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-
-
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-
-
-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-
-
-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
-# Always define AMTAR for backward compatibility.
-
-AMTAR=${AMTAR-"${am_missing_run}tar"}
-
-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
-
-
-
-
-
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-# Also save and restore CFLAGS, since AC_PROG_CC will come up with
-# defaults of its own if none are provided.
-
-
-
-save_CFLAGS=$CFLAGS
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="${ac_tool_prefix}gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_CC="gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-else
- CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="${ac_tool_prefix}cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- fi
-fi
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# != 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
- fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- for ac_prog in cl.exe
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$CC" && break
- done
-fi
-if test -z "$CC"; then
- ac_ct_CC=$CC
- for ac_prog in cl.exe
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_CC="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_CC" && break
-done
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
- { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compiler $ac_option >&5") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- sed '10a\
-... rest of stderr output deleted ...
- 10q' conftest.err >conftest.er1
- cat conftest.er1 >&5
- fi
- rm -f conftest.er1 conftest.err
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- * ) ac_rmfiles="$ac_rmfiles $ac_file";;
- esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link_default") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile. We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
- ;;
- [ab].out )
- # We found the default executable, but exeext='' is most
- # certainly right.
- break;;
- *.* )
- if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
- then :; else
- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- fi
- # We set ac_cv_exeext here because the later test for it is not
- # safe: cross compilers may not add the suffix if given an `-o'
- # argument, so we may need to know it at that point already.
- # Even if this section looks crufty: it has the advantage of
- # actually working.
- break;;
- * )
- break;;
- esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
- ac_file=''
-fi
-if test -z "$ac_file"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-ac_exeext=$ac_cv_exeext
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- break;;
- * ) break;;
- esac
-done
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdio.h>
-int
-main ()
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
- { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if { ac_try='./conftest$ac_cv_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- cross_compiling=no
- else
- if test "$cross_compiling" = maybe; then
- cross_compiling=yes
- else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5; }
- fi
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- for ac_file in conftest.o conftest.obj conftest.*; do
- test -f "$ac_file" || continue;
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
- *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
- break;;
- esac
-done
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-#ifndef __GNUC__
- choke me
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_compiler_gnu=yes
-else
- ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
- GCC=yes
-else
- GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_save_c_werror_flag=$ac_c_werror_flag
- ac_c_werror_flag=yes
- ac_cv_prog_cc_g=no
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-else
- CFLAGS=""
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
- ac_c_werror_flag=$ac_save_c_werror_flag
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
- CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
- if test "$GCC" = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-g"
- fi
-else
- if test "$GCC" = yes; then
- CFLAGS="-O2"
- else
- CFLAGS=
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
- char **p;
- int i;
-{
- return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
- char *s;
- va_list v;
- va_start (v,p);
- s = g (p, va_arg (v,int));
- va_end (v);
- return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
- function prototypes and stuff, but not '\xHH' hex character constants.
- These don't provoke an error unfortunately, instead are silently treated
- as 'x'. The following induces an error, until -std is added to get
- proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
- array size at least. It's necessary to write '\x00'==0 to get something
- that's true only with -std. */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
- inside strings and character constants. */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
- ;
- return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
- -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
- CC="$ac_save_CC $ac_arg"
- if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
- test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
- x)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
- xno)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
- *)
- CC="$CC $ac_cv_prog_cc_c89"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
-
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
- @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
-$as_echo_n "checking for style of include used by $am_make... " >&6; }
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
- am__include=include
- am__quote=
- _am_result=GNU
- ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- case `$am_make -s -f confmf 2> /dev/null` in #(
- *the\ am__doit\ target*)
- am__include=.include
- am__quote="\""
- _am_result=BSD
- ;;
- esac
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
-rm -f confinc confmf
-
-# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then :
- enableval=$enable_dependency_tracking;
-fi
-
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
-fi
- if test "x$enable_dependency_tracking" != xno; then
- AMDEP_TRUE=
- AMDEP_FALSE='#'
-else
- AMDEP_TRUE='#'
- AMDEP_FALSE=
-fi
-
-
-
-depcc="$CC" am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CC_dependencies_compiler_type+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_CC_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
- fi
- am__universal=false
- case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac
-
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs
- am__obj=sub/conftest.${OBJEXT-o}
- am__minus_obj="-o $am__obj"
- case $depmode in
- gcc)
- # This depmode causes a compiler race in universal mode.
- test "$am__universal" = false || continue
- ;;
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- msvisualcpp | msvcmsys)
- # This compiler won't grok `-c -o', but also, the minuso test has
- # not run yet. These depmodes are late enough in the game, and
- # so weak that their functioning should not be impacted.
- am__obj=conftest.${OBJEXT-o}
- am__minus_obj=
- ;;
- none) break ;;
- esac
- if depmode=$depmode \
- source=sub/conftest.c object=$am__obj \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_CC_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
- am__fastdepCC_TRUE=
- am__fastdepCC_FALSE='#'
-else
- am__fastdepCC_TRUE='#'
- am__fastdepCC_FALSE=
-fi
-
-
-CFLAGS=$save_CFLAGS
-
-
-
-
-
-# By default we simply use the C compiler to build assembly code.
-
-test "${CCAS+set}" = set || CCAS=$CC
-test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
-
-
-
-depcc="$CCAS" am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CCAS_dependencies_compiler_type+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_CCAS_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
- fi
- am__universal=false
-
-
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs
- am__obj=sub/conftest.${OBJEXT-o}
- am__minus_obj="-o $am__obj"
- case $depmode in
- gcc)
- # This depmode causes a compiler race in universal mode.
- test "$am__universal" = false || continue
- ;;
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- msvisualcpp | msvcmsys)
- # This compiler won't grok `-c -o', but also, the minuso test has
- # not run yet. These depmodes are late enough in the game, and
- # so weak that their functioning should not be impacted.
- am__obj=conftest.${OBJEXT-o}
- am__minus_obj=
- ;;
- none) break ;;
- esac
- if depmode=$depmode \
- source=sub/conftest.c object=$am__obj \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_CCAS_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_CCAS_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CCAS_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CCAS_dependencies_compiler_type" >&6; }
-CCASDEPMODE=depmode=$am_cv_CCAS_dependencies_compiler_type
-
- if
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CCAS_dependencies_compiler_type" = gcc3; then
- am__fastdepCCAS_TRUE=
- am__fastdepCCAS_FALSE='#'
-else
- am__fastdepCCAS_TRUE='#'
- am__fastdepCCAS_FALSE=
-fi
-
-
-if test "x$CC" != xcc; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
-$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5
-$as_echo_n "checking whether cc understands -c and -o together... " >&6; }
-fi
-set dummy $CC; ac_cc=`$as_echo "$2" |
- sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-# Make sure it works both with $CC and with simple cc.
-# We do the test twice because some compilers refuse to overwrite an
-# existing .o file with -o, though they will create one.
-ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-rm -f conftest2.*
-if { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } &&
- test -f conftest2.$ac_objext && { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; };
-then
- eval ac_cv_prog_cc_${ac_cc}_c_o=yes
- if test "x$CC" != xcc; then
- # Test first that cc exists at all.
- if { ac_try='cc -c conftest.$ac_ext >&5'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
- rm -f conftest2.*
- if { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } &&
- test -f conftest2.$ac_objext && { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; };
- then
- # cc works too.
- :
- else
- # cc exists but doesn't like -o.
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
- fi
- fi
- fi
-else
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
-fi
-rm -f core conftest*
-
-fi
-if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h
-
-fi
-
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
- # Losing compiler, so override with the script.
- # FIXME: It is wrong to rewrite CC.
- # But if we don't then we get into trouble of one sort or another.
- # A longer-term fix would be to have automake use am__CC in this case,
- # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
- CC="$am_aux_dir/compile $CC"
-fi
-
-
-case `pwd` in
- *\ * | *\ *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
-$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
-esac
-
-
-
-macro_version='2.4'
-macro_revision='1.3293'
-
-
-
-
-
-
-
-
-
-
-
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-# Backslashify metacharacters that are still active within
-# double-quoted strings.
-sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
-$as_echo_n "checking how to print strings... " >&6; }
-# Test print first, because it will be a builtin if present.
-if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
- test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
- ECHO='print -r --'
-elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
- ECHO='printf %s\n'
-else
- # Use this function as a fallback that always works.
- func_fallback_echo ()
- {
- eval 'cat <<_LTECHO_EOF
-$1
-_LTECHO_EOF'
- }
- ECHO='func_fallback_echo'
-fi
-
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
- $ECHO ""
-}
-
-case "$ECHO" in
- printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
-$as_echo "printf" >&6; } ;;
- print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
-$as_echo "print -r" >&6; } ;;
- *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
-$as_echo "cat" >&6; } ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
-$as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if ${ac_cv_path_SED+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
- for ac_i in 1 2 3 4 5 6 7; do
- ac_script="$ac_script$as_nl$ac_script"
- done
- echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
- { ac_script=; unset ac_script;}
- if test -z "$SED"; then
- ac_path_SED_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in sed gsed; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
-# Check for GNU ac_path_SED and select it if it is found.
- # Check for GNU $ac_path_SED
-case `"$ac_path_SED" --version 2>&1` in
-*GNU*)
- ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo '' >> "conftest.nl"
- "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_SED_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_SED="$ac_path_SED"
- ac_path_SED_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_SED_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_SED"; then
- as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
- fi
-else
- ac_cv_path_SED=$SED
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
-$as_echo "$ac_cv_path_SED" >&6; }
- SED="$ac_cv_path_SED"
- rm -f conftest.sed
-
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$GREP"; then
- ac_path_GREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in grep ggrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
-# Check for GNU ac_path_GREP and select it if it is found.
- # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'GREP' >> "conftest.nl"
- "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_GREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_GREP="$ac_path_GREP"
- ac_path_GREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_GREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_GREP"; then
- as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
- then ac_cv_path_EGREP="$GREP -E"
- else
- if test -z "$EGREP"; then
- ac_path_EGREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in egrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
- # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'EGREP' >> "conftest.nl"
- "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_EGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_EGREP="$ac_path_EGREP"
- ac_path_EGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_EGREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_EGREP"; then
- as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_EGREP=$EGREP
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
-$as_echo_n "checking for fgrep... " >&6; }
-if ${ac_cv_path_FGREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
- then ac_cv_path_FGREP="$GREP -F"
- else
- if test -z "$FGREP"; then
- ac_path_FGREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in fgrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
-# Check for GNU ac_path_FGREP and select it if it is found.
- # Check for GNU $ac_path_FGREP
-case `"$ac_path_FGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'FGREP' >> "conftest.nl"
- "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_FGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_FGREP="$ac_path_FGREP"
- ac_path_FGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_FGREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_FGREP"; then
- as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_FGREP=$FGREP
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
-$as_echo "$ac_cv_path_FGREP" >&6; }
- FGREP="$ac_cv_path_FGREP"
-
-
-test -z "$GREP" && GREP=grep
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then :
- withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
- with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test "$GCC" = yes; then
- # Check if gcc -print-prog-name=ld gives a path.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
-$as_echo_n "checking for ld used by $CC... " >&6; }
- case $host in
- *-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case $ac_prog in
- # Accept absolute paths.
- [\\/]* | ?:[\\/]*)
- re_direlt='/[^/][^/]*/\.\./'
- # Canonicalize the pathname of ld
- ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
- while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
- done
- test -z "$LD" && LD="$ac_prog"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if ${lt_cv_path_LD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$LD"; then
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- lt_cv_path_LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some variants of GNU ld only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
- *GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break
- ;;
- *)
- test "$with_gnu_ld" != yes && break
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
-else
- lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
-$as_echo "$LD" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if ${lt_cv_prog_gnu_ld+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
- lt_cv_prog_gnu_ld=yes
- ;;
-*)
- lt_cv_prog_gnu_ld=no
- ;;
-esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
-$as_echo "$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
-$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if ${lt_cv_path_NM+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$NM"; then
- # Let the user override the test.
- lt_cv_path_NM="$NM"
-else
- lt_nm_to_check="${ac_tool_prefix}nm"
- if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
- lt_nm_to_check="$lt_nm_to_check nm"
- fi
- for lt_tmp_nm in $lt_nm_to_check; do
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- tmp_nm="$ac_dir/$lt_tmp_nm"
- if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
- # Check to see if the nm accepts a BSD-compat flag.
- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
- # nm: unknown option "B" ignored
- # Tru64's nm complains that /dev/null is an invalid object file
- case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
- */dev/null* | *'Invalid file or object type'*)
- lt_cv_path_NM="$tmp_nm -B"
- break
- ;;
- *)
- case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
- */dev/null*)
- lt_cv_path_NM="$tmp_nm -p"
- break
- ;;
- *)
- lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
- continue # so that we can try to find one that supports BSD flags
- ;;
- esac
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
- done
- : ${lt_cv_path_NM=no}
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
-$as_echo "$lt_cv_path_NM" >&6; }
-if test "$lt_cv_path_NM" != "no"; then
- NM="$lt_cv_path_NM"
-else
- # Didn't find any BSD compatible name lister, look for dumpbin.
- if test -n "$DUMPBIN"; then :
- # Let the user override the test.
- else
- if test -n "$ac_tool_prefix"; then
- for ac_prog in dumpbin "link -dump"
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DUMPBIN+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$DUMPBIN"; then
- ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-DUMPBIN=$ac_cv_prog_DUMPBIN
-if test -n "$DUMPBIN"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
-$as_echo "$DUMPBIN" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$DUMPBIN" && break
- done
-fi
-if test -z "$DUMPBIN"; then
- ac_ct_DUMPBIN=$DUMPBIN
- for ac_prog in dumpbin "link -dump"
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_DUMPBIN"; then
- ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
-if test -n "$ac_ct_DUMPBIN"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
-$as_echo "$ac_ct_DUMPBIN" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_DUMPBIN" && break
-done
-
- if test "x$ac_ct_DUMPBIN" = x; then
- DUMPBIN=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- DUMPBIN=$ac_ct_DUMPBIN
- fi
-fi
-
- case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
- *COFF*)
- DUMPBIN="$DUMPBIN -symbols"
- ;;
- *)
- DUMPBIN=:
- ;;
- esac
- fi
-
- if test "$DUMPBIN" != ":"; then
- NM="$DUMPBIN"
- fi
-fi
-test -z "$NM" && NM=nm
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
-$as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if ${lt_cv_nm_interface+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_nm_interface="BSD nm"
- echo "int some_variable = 0;" > conftest.$ac_ext
- (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
- (eval "$ac_compile" 2>conftest.err)
- cat conftest.err >&5
- (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
- (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
- cat conftest.err >&5
- (eval echo "\"\$as_me:$LINENO: output\"" >&5)
- cat conftest.out >&5
- if $GREP 'External.*some_variable' conftest.out > /dev/null; then
- lt_cv_nm_interface="MS dumpbin"
- fi
- rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
-$as_echo "$lt_cv_nm_interface" >&6; }
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
-$as_echo_n "checking whether ln -s works... " >&6; }
-LN_S=$as_ln_s
-if test "$LN_S" = "ln -s"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
-$as_echo "no, using $LN_S" >&6; }
-fi
-
-# find the maximum length of command line arguments
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
-$as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if ${lt_cv_sys_max_cmd_len+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- i=0
- teststring="ABCD"
-
- case $build_os in
- msdosdjgpp*)
- # On DJGPP, this test can blow up pretty badly due to problems in libc
- # (any single argument exceeding 2000 bytes causes a buffer overrun
- # during glob expansion). Even if it were fixed, the result of this
- # check would be larger than it should be.
- lt_cv_sys_max_cmd_len=12288; # 12K is about right
- ;;
-
- gnu*)
- # Under GNU Hurd, this test is not required because there is
- # no limit to the length of command line arguments.
- # Libtool will interpret -1 as no limit whatsoever
- lt_cv_sys_max_cmd_len=-1;
- ;;
-
- cygwin* | mingw* | cegcc*)
- # On Win9x/ME, this test blows up -- it succeeds, but takes
- # about 5 minutes as the teststring grows exponentially.
- # Worse, since 9x/ME are not pre-emptively multitasking,
- # you end up with a "frozen" computer, even though with patience
- # the test eventually succeeds (with a max line length of 256k).
- # Instead, let's just punt: use the minimum linelength reported by
- # all of the supported platforms: 8192 (on NT/2K/XP).
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- mint*)
- # On MiNT this can take a long time and run out of memory.
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- amigaos*)
- # On AmigaOS with pdksh, this test takes hours, literally.
- # So we just punt and use a minimum line length of 8192.
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
- # This has been around since 386BSD, at least. Likely further.
- if test -x /sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
- elif test -x /usr/sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
- else
- lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
- fi
- # And add a safety zone
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- ;;
-
- interix*)
- # We know the value 262144 and hardcode it with a safety zone (like BSD)
- lt_cv_sys_max_cmd_len=196608
- ;;
-
- osf*)
- # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
- # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
- # nice to cause kernel panics so lets avoid the loop below.
- # First set a reasonable default.
- lt_cv_sys_max_cmd_len=16384
- #
- if test -x /sbin/sysconfig; then
- case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
- *1*) lt_cv_sys_max_cmd_len=-1 ;;
- esac
- fi
- ;;
- sco3.2v5*)
- lt_cv_sys_max_cmd_len=102400
- ;;
- sysv5* | sco5v6* | sysv4.2uw2*)
- kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
- if test -n "$kargmax"; then
- lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
- else
- lt_cv_sys_max_cmd_len=32768
- fi
- ;;
- *)
- lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
- if test -n "$lt_cv_sys_max_cmd_len"; then
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- else
- # Make teststring a little bigger before we do anything with it.
- # a 1K string should be a reasonable start.
- for i in 1 2 3 4 5 6 7 8 ; do
- teststring=$teststring$teststring
- done
- SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
- # If test is not a shell built-in, we'll probably end up computing a
- # maximum length that is only half of the actual maximum length, but
- # we can't tell.
- while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
- = "X$teststring$teststring"; } >/dev/null 2>&1 &&
- test $i != 17 # 1/2 MB should be enough
- do
- i=`expr $i + 1`
- teststring=$teststring$teststring
- done
- # Only check the string length outside the loop.
- lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
- teststring=
- # Add a significant safety factor because C++ compilers can tack on
- # massive amounts of additional arguments before passing them to the
- # linker. It appears as though 1/2 is a usable value.
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
- fi
- ;;
- esac
-
-fi
-
-if test -n $lt_cv_sys_max_cmd_len ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
-$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
-$as_echo "none" >&6; }
-fi
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-
-
-
-
-
-: ${CP="cp -f"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
-$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
- test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
- = c,a/b,b/c, \
- && eval 'test $(( 1 + 1 )) -eq 2 \
- && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
- && xsi_shell=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
-$as_echo "$xsi_shell" >&6; }
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
-$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
- >/dev/null 2>&1 \
- && lt_shell_append=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
-$as_echo "$lt_shell_append" >&6; }
-
-
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- lt_unset=unset
-else
- lt_unset=false
-fi
-
-
-
-
-
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
- # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
- lt_SP2NL='tr \040 \012'
- lt_NL2SP='tr \015\012 \040\040'
- ;;
- *) # EBCDIC based system
- lt_SP2NL='tr \100 \n'
- lt_NL2SP='tr \r\n \100\100'
- ;;
-esac
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
-$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
-if ${lt_cv_to_host_file_cmd+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $host in
- *-*-mingw* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
- ;;
- *-*-cygwin* )
- lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
- ;;
- * ) # otherwise, assume *nix
- lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
- ;;
- esac
- ;;
- *-*-cygwin* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
- ;;
- *-*-cygwin* )
- lt_cv_to_host_file_cmd=func_convert_file_noop
- ;;
- * ) # otherwise, assume *nix
- lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
- ;;
- esac
- ;;
- * ) # unhandled hosts (and "normal" native builds)
- lt_cv_to_host_file_cmd=func_convert_file_noop
- ;;
-esac
-
-fi
-
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
-$as_echo "$lt_cv_to_host_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
-$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
-if ${lt_cv_to_tool_file_cmd+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- #assume ordinary cross tools, or native build.
-lt_cv_to_tool_file_cmd=func_convert_file_noop
-case $host in
- *-*-mingw* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
- ;;
- esac
- ;;
-esac
-
-fi
-
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
-$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
-$as_echo_n "checking for $LD option to reload object files... " >&6; }
-if ${lt_cv_ld_reload_flag+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ld_reload_flag='-r'
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
-$as_echo "$lt_cv_ld_reload_flag" >&6; }
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
- cygwin* | mingw* | pw32* | cegcc*)
- if test "$GCC" != yes; then
- reload_cmds=false
- fi
- ;;
- darwin*)
- if test "$GCC" = yes; then
- reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
- else
- reload_cmds='$LD$reload_flag -o $output$reload_objs'
- fi
- ;;
-esac
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
-set dummy ${ac_tool_prefix}objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OBJDUMP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$OBJDUMP"; then
- ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-OBJDUMP=$ac_cv_prog_OBJDUMP
-if test -n "$OBJDUMP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
-$as_echo "$OBJDUMP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OBJDUMP"; then
- ac_ct_OBJDUMP=$OBJDUMP
- # Extract the first word of "objdump", so it can be a program name with args.
-set dummy objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_OBJDUMP"; then
- ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_OBJDUMP="objdump"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
-if test -n "$ac_ct_OBJDUMP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
-$as_echo "$ac_ct_OBJDUMP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_OBJDUMP" = x; then
- OBJDUMP="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- OBJDUMP=$ac_ct_OBJDUMP
- fi
-else
- OBJDUMP="$ac_cv_prog_OBJDUMP"
-fi
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
-$as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if ${lt_cv_deplibs_check_method+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[4-9]*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-beos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-bsdi[45]*)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
- lt_cv_file_magic_cmd='/usr/bin/file -L'
- lt_cv_file_magic_test_file=/shlib/libc.so
- ;;
-
-cygwin*)
- # func_win32_libid is a shell function defined in ltmain.sh
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- ;;
-
-mingw* | pw32*)
- # Base MSYS/MinGW do not provide the 'file' command needed by
- # func_win32_libid shell function, so use a weaker test based on 'objdump',
- # unless we find 'file', for example because we are cross-compiling.
- # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
- if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- else
- # Keep this pattern in sync with the one in func_win32_libid.
- lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- fi
- ;;
-
-cegcc*)
- # use the weaker test based on 'objdump'. See mingw*.
- lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- ;;
-
-darwin* | rhapsody*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-freebsd* | dragonfly*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
- case $host_cpu in
- i*86 )
- # Not sure whether the presence of OpenBSD here was a mistake.
- # Let's accept both of them until this is cleared up.
- lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
- ;;
- esac
- else
- lt_cv_deplibs_check_method=pass_all
- fi
- ;;
-
-gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-haiku*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-hpux10.20* | hpux11*)
- lt_cv_file_magic_cmd=/usr/bin/file
- case $host_cpu in
- ia64*)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
- lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
- ;;
- hppa*64*)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
- lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
- ;;
- *)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
- lt_cv_file_magic_test_file=/usr/lib/libc.sl
- ;;
- esac
- ;;
-
-interix[3-9]*)
- # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $LD in
- *-32|*"-32 ") libmagic=32-bit;;
- *-n32|*"-n32 ") libmagic=N32;;
- *-64|*"-64 ") libmagic=64-bit;;
- *) libmagic=never-match;;
- esac
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
- fi
- ;;
-
-newos6*)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=/usr/lib/libnls.so
- ;;
-
-*nto* | *qnx*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-openbsd*)
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
- fi
- ;;
-
-osf3* | osf4* | osf5*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-rdos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-solaris*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sysv4 | sysv4.3*)
- case $host_vendor in
- motorola)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
- ;;
- ncr)
- lt_cv_deplibs_check_method=pass_all
- ;;
- sequent)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
- ;;
- sni)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
- lt_cv_file_magic_test_file=/lib/libc.so
- ;;
- siemens)
- lt_cv_deplibs_check_method=pass_all
- ;;
- pc)
- lt_cv_deplibs_check_method=pass_all
- ;;
- esac
- ;;
-
-tpf*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
-$as_echo "$lt_cv_deplibs_check_method" >&6; }
-
-file_magic_glob=
-want_nocaseglob=no
-if test "$build" = "$host"; then
- case $host_os in
- mingw* | pw32*)
- if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
- want_nocaseglob=yes
- else
- file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
- fi
- ;;
- esac
-fi
-
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DLLTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$DLLTOOL"; then
- ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-DLLTOOL=$ac_cv_prog_DLLTOOL
-if test -n "$DLLTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
-$as_echo "$DLLTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DLLTOOL"; then
- ac_ct_DLLTOOL=$DLLTOOL
- # Extract the first word of "dlltool", so it can be a program name with args.
-set dummy dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_DLLTOOL"; then
- ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_DLLTOOL="dlltool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
-if test -n "$ac_ct_DLLTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
-$as_echo "$ac_ct_DLLTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_DLLTOOL" = x; then
- DLLTOOL="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- DLLTOOL=$ac_ct_DLLTOOL
- fi
-else
- DLLTOOL="$ac_cv_prog_DLLTOOL"
-fi
-
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
-$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
-if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_sharedlib_from_linklib_cmd='unknown'
-
-case $host_os in
-cygwin* | mingw* | pw32* | cegcc*)
- # two different shell functions defined in ltmain.sh
- # decide which to use based on capabilities of $DLLTOOL
- case `$DLLTOOL --help 2>&1` in
- *--identify-strict*)
- lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
- ;;
- *)
- lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
- ;;
- esac
- ;;
-*)
- # fallback: assume linklib IS sharedlib
- lt_cv_sharedlib_from_linklib_cmd="$ECHO"
- ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
-$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
-sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
-test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- for ac_prog in ar
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$AR"; then
- ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$AR" && break
- done
-fi
-if test -z "$AR"; then
- ac_ct_AR=$AR
- for ac_prog in ar
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_AR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_AR"; then
- ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_AR="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-$as_echo "$ac_ct_AR" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_AR" && break
-done
-
- if test "x$ac_ct_AR" = x; then
- AR="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- AR=$ac_ct_AR
- fi
-fi
-
-: ${AR=ar}
-: ${AR_FLAGS=cru}
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
-$as_echo_n "checking for archiver @FILE support... " >&6; }
-if ${lt_cv_ar_at_file+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ar_at_file=no
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- echo conftest.$ac_objext > conftest.lst
- lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
- (eval $lt_ar_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if test "$ac_status" -eq 0; then
- # Ensure the archiver fails upon bogus file names.
- rm -f conftest.$ac_objext libconftest.a
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
- (eval $lt_ar_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if test "$ac_status" -ne 0; then
- lt_cv_ar_at_file=@
- fi
- fi
- rm -f conftest.* libconftest.a
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
-$as_echo "$lt_cv_ar_at_file" >&6; }
-
-if test "x$lt_cv_ar_at_file" = xno; then
- archiver_list_spec=
-else
- archiver_list_spec=$lt_cv_ar_at_file
-fi
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_STRIP="strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_STRIP" = x; then
- STRIP=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- STRIP=$ac_ct_STRIP
- fi
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
-
-test -z "$STRIP" && STRIP=:
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
- ac_ct_RANLIB=$RANLIB
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_RANLIB"; then
- ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_RANLIB="ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_RANLIB" = x; then
- RANLIB=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- RANLIB=$ac_ct_RANLIB
- fi
-else
- RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-test -z "$RANLIB" && RANLIB=:
-
-
-
-
-
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
- case $host_os in
- openbsd*)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
- ;;
- *)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
- ;;
- esac
- old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-
-case $host_os in
- darwin*)
- lock_old_archive_extraction=yes ;;
- *)
- lock_old_archive_extraction=no ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
-$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if ${lt_cv_sys_global_symbol_pipe+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix. What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Define system-specific variables.
-case $host_os in
-aix*)
- symcode='[BCDT]'
- ;;
-cygwin* | mingw* | pw32* | cegcc*)
- symcode='[ABCDGISTW]'
- ;;
-hpux*)
- if test "$host_cpu" = ia64; then
- symcode='[ABCDEGRST]'
- fi
- ;;
-irix* | nonstopux*)
- symcode='[BCDEGRST]'
- ;;
-osf*)
- symcode='[BCDEGQRST]'
- ;;
-solaris*)
- symcode='[BDRT]'
- ;;
-sco3.2v5*)
- symcode='[DT]'
- ;;
-sysv4.2uw2*)
- symcode='[DT]'
- ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
- symcode='[ABDT]'
- ;;
-sysv4)
- symcode='[DFNSTU]'
- ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
- symcode='[ABCDGIRSTW]' ;;
-esac
-
-# Transform an extracted symbol line into a proper C declaration.
-# Some systems (esp. on ia64) link data and code symbols differently,
-# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
- opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
- ;;
-esac
-
-# Try without a prefix underscore, then with it.
-for ac_symprfx in "" "_"; do
-
- # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
- symxfrm="\\1 $ac_symprfx\\2 \\2"
-
- # Write the raw and C identifiers.
- if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- # Fake it for dumpbin and say T for any non-static function
- # and D for any global variable.
- # Also find C++ and __fastcall symbols from MSVC++,
- # which start with @ or ?.
- lt_cv_sys_global_symbol_pipe="$AWK '"\
-" {last_section=section; section=\$ 3};"\
-" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-" \$ 0!~/External *\|/{next};"\
-" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-" {if(hide[section]) next};"\
-" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-" s[1]~/^[@?]/{print s[1], s[1]; next};"\
-" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
-" ' prfx=^$ac_symprfx"
- else
- lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
- fi
- lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
-
- # Check to see that the pipe works correctly.
- pipe_works=no
-
- rm -f conftest*
- cat > conftest.$ac_ext <<_LT_EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(void);
-void nm_test_func(void){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-_LT_EOF
-
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- # Now try to grab the symbols.
- nlist=conftest.nm
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
- (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s "$nlist"; then
- # Try sorting and uniquifying the output.
- if sort "$nlist" | uniq > "$nlist"T; then
- mv -f "$nlist"T "$nlist"
- else
- rm -f "$nlist"T
- fi
-
- # Make sure that we snagged all the symbols we need.
- if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
- if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
- cat <<_LT_EOF > conftest.$ac_ext
-/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-/* DATA imports from DLLs on WIN32 con't be const, because runtime
- relocations are performed -- see ld's documentation on pseudo-relocs. */
-# define LT_DLSYM_CONST
-#elif defined(__osf__)
-/* This system does not cope well with relocations in const data. */
-# define LT_DLSYM_CONST
-#else
-# define LT_DLSYM_CONST const
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_LT_EOF
- # Now generate the symbol file.
- eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
-
- cat <<_LT_EOF >> conftest.$ac_ext
-
-/* The mapping between symbol names and symbols. */
-LT_DLSYM_CONST struct {
- const char *name;
- void *address;
-}
-lt__PROGRAM__LTX_preloaded_symbols[] =
-{
- { "@PROGRAM@", (void *) 0 },
-_LT_EOF
- $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
- cat <<\_LT_EOF >> conftest.$ac_ext
- {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
- return lt__PROGRAM__LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-_LT_EOF
- # Now try linking the two files.
- mv conftest.$ac_objext conftstm.$ac_objext
- lt_globsym_save_LIBS=$LIBS
- lt_globsym_save_CFLAGS=$CFLAGS
- LIBS="conftstm.$ac_objext"
- CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext}; then
- pipe_works=yes
- fi
- LIBS=$lt_globsym_save_LIBS
- CFLAGS=$lt_globsym_save_CFLAGS
- else
- echo "cannot find nm_test_func in $nlist" >&5
- fi
- else
- echo "cannot find nm_test_var in $nlist" >&5
- fi
- else
- echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
- fi
- else
- echo "$progname: failed program was:" >&5
- cat conftest.$ac_ext >&5
- fi
- rm -rf conftest* conftst*
-
- # Do not use the global_symbol_pipe unless it works.
- if test "$pipe_works" = yes; then
- break
- else
- lt_cv_sys_global_symbol_pipe=
- fi
-done
-
-fi
-
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
- lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
-$as_echo "ok" >&6; }
-fi
-
-# Response file support.
-if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- nm_file_list_spec='@'
-elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
- nm_file_list_spec='@'
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
-$as_echo_n "checking for sysroot... " >&6; }
-
-# Check whether --with-sysroot was given.
-if test "${with_sysroot+set}" = set; then :
- withval=$with_sysroot;
-else
- with_sysroot=no
-fi
-
-
-lt_sysroot=
-case ${with_sysroot} in #(
- yes)
- if test "$GCC" = yes; then
- lt_sysroot=`$CC --print-sysroot 2>/dev/null`
- fi
- ;; #(
- /*)
- lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
- ;; #(
- no|'')
- ;; #(
- *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
-$as_echo "${with_sysroot}" >&6; }
- as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
- ;;
-esac
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
-$as_echo "${lt_sysroot:-no}" >&6; }
-
-
-
-
-
-# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then :
- enableval=$enable_libtool_lock;
-fi
-
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- case `/usr/bin/file conftest.$ac_objext` in
- *ELF-32*)
- HPUX_IA64_MODE="32"
- ;;
- *ELF-64*)
- HPUX_IA64_MODE="64"
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-*-*-irix6*)
- # Find out which ABI we are using.
- echo '#line '$LINENO' "configure"' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- if test "$lt_cv_prog_gnu_ld" = yes; then
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -melf32bsmip"
- ;;
- *N32*)
- LD="${LD-ld} -melf32bmipn32"
- ;;
- *64-bit*)
- LD="${LD-ld} -melf64bmip"
- ;;
- esac
- else
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -32"
- ;;
- *N32*)
- LD="${LD-ld} -n32"
- ;;
- *64-bit*)
- LD="${LD-ld} -64"
- ;;
- esac
- fi
- fi
- rm -rf conftest*
- ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- case `/usr/bin/file conftest.o` in
- *32-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_i386_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_i386"
- ;;
- ppc64-*linux*|powerpc64-*linux*)
- LD="${LD-ld} -m elf32ppclinux"
- ;;
- s390x-*linux*)
- LD="${LD-ld} -m elf_s390"
- ;;
- sparc64-*linux*)
- LD="${LD-ld} -m elf32_sparc"
- ;;
- esac
- ;;
- *64-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_x86_64_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_x86_64"
- ;;
- ppc*-*linux*|powerpc*-*linux*)
- LD="${LD-ld} -m elf64ppc"
- ;;
- s390*-*linux*|s390*-*tpf*)
- LD="${LD-ld} -m elf64_s390"
- ;;
- sparc*-*linux*)
- LD="${LD-ld} -m elf64_sparc"
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-
-*-*-sco3.2v5*)
- # On SCO OpenServer 5, we need -belf to get full-featured binaries.
- SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -belf"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
-$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if ${lt_cv_cc_needs_belf+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- lt_cv_cc_needs_belf=yes
-else
- lt_cv_cc_needs_belf=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
-$as_echo "$lt_cv_cc_needs_belf" >&6; }
- if test x"$lt_cv_cc_needs_belf" != x"yes"; then
- # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
- CFLAGS="$SAVE_CFLAGS"
- fi
- ;;
-sparc*-*solaris*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- case `/usr/bin/file conftest.o` in
- *64-bit*)
- case $lt_cv_prog_gnu_ld in
- yes*) LD="${LD-ld} -m elf64_sparc" ;;
- *)
- if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
- LD="${LD-ld} -64"
- fi
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-esac
-
-need_locks="$enable_libtool_lock"
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
-set dummy ${ac_tool_prefix}mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$MANIFEST_TOOL"; then
- ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
-if test -n "$MANIFEST_TOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
-$as_echo "$MANIFEST_TOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
- ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
- # Extract the first word of "mt", so it can be a program name with args.
-set dummy mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_MANIFEST_TOOL"; then
- ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
-if test -n "$ac_ct_MANIFEST_TOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
-$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_MANIFEST_TOOL" = x; then
- MANIFEST_TOOL=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
- fi
-else
- MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
-fi
-
-test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
-$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
-if ${lt_cv_path_mainfest_tool+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_path_mainfest_tool=no
- echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
- $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
- cat conftest.err >&5
- if $GREP 'Manifest Tool' conftest.out > /dev/null; then
- lt_cv_path_mainfest_tool=yes
- fi
- rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
-$as_echo "$lt_cv_path_mainfest_tool" >&6; }
-if test "x$lt_cv_path_mainfest_tool" != xyes; then
- MANIFEST_TOOL=:
-fi
-
-
-
-
-
-
- case $host_os in
- rhapsody* | darwin*)
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DSYMUTIL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$DSYMUTIL"; then
- ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-DSYMUTIL=$ac_cv_prog_DSYMUTIL
-if test -n "$DSYMUTIL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
-$as_echo "$DSYMUTIL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DSYMUTIL"; then
- ac_ct_DSYMUTIL=$DSYMUTIL
- # Extract the first word of "dsymutil", so it can be a program name with args.
-set dummy dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_DSYMUTIL"; then
- ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
-if test -n "$ac_ct_DSYMUTIL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
-$as_echo "$ac_ct_DSYMUTIL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_DSYMUTIL" = x; then
- DSYMUTIL=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- DSYMUTIL=$ac_ct_DSYMUTIL
- fi
-else
- DSYMUTIL="$ac_cv_prog_DSYMUTIL"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
-set dummy ${ac_tool_prefix}nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_NMEDIT+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$NMEDIT"; then
- ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-NMEDIT=$ac_cv_prog_NMEDIT
-if test -n "$NMEDIT"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
-$as_echo "$NMEDIT" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_NMEDIT"; then
- ac_ct_NMEDIT=$NMEDIT
- # Extract the first word of "nmedit", so it can be a program name with args.
-set dummy nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_NMEDIT"; then
- ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_NMEDIT="nmedit"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
-if test -n "$ac_ct_NMEDIT"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
-$as_echo "$ac_ct_NMEDIT" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_NMEDIT" = x; then
- NMEDIT=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- NMEDIT=$ac_ct_NMEDIT
- fi
-else
- NMEDIT="$ac_cv_prog_NMEDIT"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
-set dummy ${ac_tool_prefix}lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_LIPO+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$LIPO"; then
- ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-LIPO=$ac_cv_prog_LIPO
-if test -n "$LIPO"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
-$as_echo "$LIPO" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_LIPO"; then
- ac_ct_LIPO=$LIPO
- # Extract the first word of "lipo", so it can be a program name with args.
-set dummy lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_LIPO"; then
- ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_LIPO="lipo"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
-if test -n "$ac_ct_LIPO"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
-$as_echo "$ac_ct_LIPO" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_LIPO" = x; then
- LIPO=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- LIPO=$ac_ct_LIPO
- fi
-else
- LIPO="$ac_cv_prog_LIPO"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$OTOOL"; then
- ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL=$ac_cv_prog_OTOOL
-if test -n "$OTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
-$as_echo "$OTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL"; then
- ac_ct_OTOOL=$OTOOL
- # Extract the first word of "otool", so it can be a program name with args.
-set dummy otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_OTOOL"; then
- ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_OTOOL="otool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
-if test -n "$ac_ct_OTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
-$as_echo "$ac_ct_OTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_OTOOL" = x; then
- OTOOL=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- OTOOL=$ac_ct_OTOOL
- fi
-else
- OTOOL="$ac_cv_prog_OTOOL"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL64+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$OTOOL64"; then
- ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL64=$ac_cv_prog_OTOOL64
-if test -n "$OTOOL64"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
-$as_echo "$OTOOL64" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL64"; then
- ac_ct_OTOOL64=$OTOOL64
- # Extract the first word of "otool64", so it can be a program name with args.
-set dummy otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_OTOOL64"; then
- ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_OTOOL64="otool64"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
-if test -n "$ac_ct_OTOOL64"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
-$as_echo "$ac_ct_OTOOL64" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_OTOOL64" = x; then
- OTOOL64=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- OTOOL64=$ac_ct_OTOOL64
- fi
-else
- OTOOL64="$ac_cv_prog_OTOOL64"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
-$as_echo_n "checking for -single_module linker flag... " >&6; }
-if ${lt_cv_apple_cc_single_mod+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_apple_cc_single_mod=no
- if test -z "${LT_MULTI_MODULE}"; then
- # By default we will add the -single_module flag. You can override
- # by either setting the environment variable LT_MULTI_MODULE
- # non-empty at configure time, or by adding -multi_module to the
- # link flags.
- rm -rf libconftest.dylib*
- echo "int foo(void){return 1;}" > conftest.c
- echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
--dynamiclib -Wl,-single_module conftest.c" >&5
- $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
- -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
- _lt_result=$?
- if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
- lt_cv_apple_cc_single_mod=yes
- else
- cat conftest.err >&5
- fi
- rm -rf libconftest.dylib*
- rm -f conftest.*
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
-$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
-$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if ${lt_cv_ld_exported_symbols_list+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ld_exported_symbols_list=no
- save_LDFLAGS=$LDFLAGS
- echo "_main" > conftest.sym
- LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- lt_cv_ld_exported_symbols_list=yes
-else
- lt_cv_ld_exported_symbols_list=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
-$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
-$as_echo_n "checking for -force_load linker flag... " >&6; }
-if ${lt_cv_ld_force_load+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ld_force_load=no
- cat > conftest.c << _LT_EOF
-int forced_loaded() { return 2;}
-_LT_EOF
- echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
- $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
- echo "$AR cru libconftest.a conftest.o" >&5
- $AR cru libconftest.a conftest.o 2>&5
- echo "$RANLIB libconftest.a" >&5
- $RANLIB libconftest.a 2>&5
- cat > conftest.c << _LT_EOF
-int main() { return 0;}
-_LT_EOF
- echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
- $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
- _lt_result=$?
- if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
- lt_cv_ld_force_load=yes
- else
- cat conftest.err >&5
- fi
- rm -f conftest.err libconftest.a conftest conftest.c
- rm -rf conftest.dSYM
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
-$as_echo "$lt_cv_ld_force_load" >&6; }
- case $host_os in
- rhapsody* | darwin1.[012])
- _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
- darwin1.*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- darwin*) # darwin 5.x on
- # if running on 10.5 or later, the deployment target defaults
- # to the OS version, if on x86, and 10.4, the deployment
- # target defaults to 10.4. Don't you love it?
- case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
- 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- 10.[012]*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- 10.*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- esac
- ;;
- esac
- if test "$lt_cv_apple_cc_single_mod" = "yes"; then
- _lt_dar_single_mod='$single_module'
- fi
- if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
- _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
- else
- _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
- fi
- if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
- _lt_dsymutil='~$DSYMUTIL $lib || :'
- else
- _lt_dsymutil=
- fi
- ;;
- esac
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
- if ${ac_cv_prog_CPP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Double quotes because CPP needs to be expanded
- for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
- do
- ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
- break
-fi
-
- done
- ac_cv_prog_CPP=$CPP
-
-fi
- CPP=$ac_cv_prog_CPP
-else
- ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_header_stdc=yes
-else
- ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then :
- :
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- return 2;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
- inttypes.h stdint.h unistd.h
-do :
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_header in dlfcn.h
-do :
- ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
-"
-if test "x$ac_cv_header_dlfcn_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_DLFCN_H 1
-_ACEOF
-
-fi
-
-done
-
-
-
-
-
-# Set options
-
-
-
- enable_dlopen=no
-
-
- enable_win32_dll=no
-
-
- # Check whether --enable-shared was given.
-if test "${enable_shared+set}" = set; then :
- enableval=$enable_shared; p=${PACKAGE-default}
- case $enableval in
- yes) enable_shared=yes ;;
- no) enable_shared=no ;;
- *)
- enable_shared=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_shared=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_shared=yes
-fi
-
-
-
-
-
-
-
-
-
- # Check whether --enable-static was given.
-if test "${enable_static+set}" = set; then :
- enableval=$enable_static; p=${PACKAGE-default}
- case $enableval in
- yes) enable_static=yes ;;
- no) enable_static=no ;;
- *)
- enable_static=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_static=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_static=yes
-fi
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-pic was given.
-if test "${with_pic+set}" = set; then :
- withval=$with_pic; pic_mode="$withval"
-else
- pic_mode=default
-fi
-
-
-test -z "$pic_mode" && pic_mode=default
-
-
-
-
-
-
-
- # Check whether --enable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then :
- enableval=$enable_fast_install; p=${PACKAGE-default}
- case $enableval in
- yes) enable_fast_install=yes ;;
- no) enable_fast_install=no ;;
- *)
- enable_fast_install=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_fast_install=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_fast_install=yes
-fi
-
-
-
-
-
-
-
-
-
-
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-test -z "$LN_S" && LN_S="ln -s"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
-$as_echo_n "checking for objdir... " >&6; }
-if ${lt_cv_objdir+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
- lt_cv_objdir=.libs
-else
- # MS-DOS does not allow filenames that begin with a dot.
- lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
-$as_echo "$lt_cv_objdir" >&6; }
-objdir=$lt_cv_objdir
-
-
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define LT_OBJDIR "$lt_cv_objdir/"
-_ACEOF
-
-
-
-
-case $host_os in
-aix3*)
- # AIX sometimes has problems with the GCC collect2 program. For some
- # reason, if we set the COLLECT_NAMES environment variable, the problems
- # vanish in a puff of smoke.
- if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
- fi
- ;;
-esac
-
-# Global variables:
-ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$LD" && LD=ld
-test -z "$ac_objext" && ac_objext=o
-
-for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
-
-
-# Only perform the check for file, if the check method requires it
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-case $deplibs_check_method in
-file_magic*)
- if test "$file_magic_cmd" = '$MAGIC_CMD'; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
-$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $MAGIC_CMD in
-[\\/*] | ?:[\\/]*)
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- ;;
-*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
- for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/${ac_tool_prefix}file; then
- lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
- if test -n "$file_magic_test_file"; then
- case $deplibs_check_method in
- "file_magic "*)
- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- $EGREP "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
- fi ;;
- esac
- fi
- break
- fi
- done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
- ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-
-
-if test -z "$lt_cv_path_MAGIC_CMD"; then
- if test -n "$ac_tool_prefix"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
-$as_echo_n "checking for file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $MAGIC_CMD in
-[\\/*] | ?:[\\/]*)
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- ;;
-*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
- for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/file; then
- lt_cv_path_MAGIC_CMD="$ac_dir/file"
- if test -n "$file_magic_test_file"; then
- case $deplibs_check_method in
- "file_magic "*)
- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- $EGREP "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
- fi ;;
- esac
- fi
- break
- fi
- done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
- ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- else
- MAGIC_CMD=:
- fi
-fi
-
- fi
- ;;
-esac
-
-# Use C for the default configuration in the libtool script
-
-lt_save_CC="$CC"
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-objext=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-# Save the default compiler, since it gets overwritten when the other
-# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
-compiler_DEFAULT=$CC
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$RM conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$RM -r conftest*
-
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-if test -n "$compiler"; then
-
-lt_prog_compiler_no_builtin_flag=
-
-if test "$GCC" = yes; then
- case $cc_basename in
- nvcc*)
- lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
- *)
- lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
- esac
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_rtti_exceptions=no
- ac_outfile=conftest.$ac_objext
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="-fno-rtti -fno-exceptions"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_rtti_exceptions=yes
- fi
- fi
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
-
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
- lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
-else
- :
-fi
-
-fi
-
-
-
-
-
-
- lt_prog_compiler_wl=
-lt_prog_compiler_pic=
-lt_prog_compiler_static=
-
-
- if test "$GCC" = yes; then
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_static='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static='-Bstatic'
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- lt_prog_compiler_pic='-fPIC'
- ;;
- m68k)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
- ;;
- esac
- ;;
-
- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
-
- mingw* | cygwin* | pw32* | os2* | cegcc*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- # Although the cygwin gcc ignores -fPIC, still need this for old-style
- # (--disable-auto-import) libraries
- lt_prog_compiler_pic='-DDLL_EXPORT'
- ;;
-
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- lt_prog_compiler_pic='-fno-common'
- ;;
-
- haiku*)
- # PIC is the default for Haiku.
- # The "-static" flag exists, but is broken.
- lt_prog_compiler_static=
- ;;
-
- hpux*)
- # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
- # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
- # sets the default TLS model and affects inlining.
- case $host_cpu in
- hppa*64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic='-fPIC'
- ;;
- esac
- ;;
-
- interix[3-9]*)
- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- # Instead, we relocate shared libraries at runtime.
- ;;
-
- msdosdjgpp*)
- # Just because we use GCC doesn't mean we suddenly get shared libraries
- # on systems that don't support them.
- lt_prog_compiler_can_build_shared=no
- enable_shared=no
- ;;
-
- *nto* | *qnx*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- lt_prog_compiler_pic='-fPIC -shared'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- lt_prog_compiler_pic=-Kconform_pic
- fi
- ;;
-
- *)
- lt_prog_compiler_pic='-fPIC'
- ;;
- esac
-
- case $cc_basename in
- nvcc*) # Cuda Compiler Driver 2.2
- lt_prog_compiler_wl='-Xlinker '
- lt_prog_compiler_pic='-Xcompiler -fPIC'
- ;;
- esac
- else
- # PORTME Check for flag to pass linker flags through the system compiler.
- case $host_os in
- aix*)
- lt_prog_compiler_wl='-Wl,'
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static='-Bstatic'
- else
- lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
-
- mingw* | cygwin* | pw32* | os2* | cegcc*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- lt_prog_compiler_pic='-DDLL_EXPORT'
- ;;
-
- hpux9* | hpux10* | hpux11*)
- lt_prog_compiler_wl='-Wl,'
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic='+Z'
- ;;
- esac
- # Is there a better lt_prog_compiler_static that works with the bundled CC?
- lt_prog_compiler_static='${wl}-a ${wl}archive'
- ;;
-
- irix5* | irix6* | nonstopux*)
- lt_prog_compiler_wl='-Wl,'
- # PIC (with -KPIC) is the default.
- lt_prog_compiler_static='-non_shared'
- ;;
-
- linux* | k*bsd*-gnu | kopensolaris*-gnu)
- case $cc_basename in
- # old Intel for x86_64 which still supported -KPIC.
- ecc*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-static'
- ;;
- # icc used to be incompatible with GCC.
- # ICC 10 doesn't accept -KPIC any more.
- icc* | ifort*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-fPIC'
- lt_prog_compiler_static='-static'
- ;;
- # Lahey Fortran 8.1.
- lf95*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='--shared'
- lt_prog_compiler_static='--static'
- ;;
- nagfor*)
- # NAG Fortran compiler
- lt_prog_compiler_wl='-Wl,-Wl,,'
- lt_prog_compiler_pic='-PIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
- pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
- # Portland Group compilers (*not* the Pentium gcc compiler,
- # which looks to be a dead project)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-fpic'
- lt_prog_compiler_static='-Bstatic'
- ;;
- ccc*)
- lt_prog_compiler_wl='-Wl,'
- # All Alpha code is PIC.
- lt_prog_compiler_static='-non_shared'
- ;;
- xl* | bgxl* | bgf* | mpixl*)
- # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-qpic'
- lt_prog_compiler_static='-qstaticlink'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ F* | *Sun*Fortran*)
- # Sun Fortran 8.3 passes all unrecognized flags to the linker
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- lt_prog_compiler_wl=''
- ;;
- *Sun\ C*)
- # Sun C 5.9
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- lt_prog_compiler_wl='-Wl,'
- ;;
- esac
- ;;
- esac
- ;;
-
- newsos6)
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- *nto* | *qnx*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- lt_prog_compiler_pic='-fPIC -shared'
- ;;
-
- osf3* | osf4* | osf5*)
- lt_prog_compiler_wl='-Wl,'
- # All OSF/1 code is PIC.
- lt_prog_compiler_static='-non_shared'
- ;;
-
- rdos*)
- lt_prog_compiler_static='-non_shared'
- ;;
-
- solaris*)
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- case $cc_basename in
- f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
- lt_prog_compiler_wl='-Qoption ld ';;
- *)
- lt_prog_compiler_wl='-Wl,';;
- esac
- ;;
-
- sunos4*)
- lt_prog_compiler_wl='-Qoption ld '
- lt_prog_compiler_pic='-PIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- sysv4 | sysv4.2uw2* | sysv4.3*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec ;then
- lt_prog_compiler_pic='-Kconform_pic'
- lt_prog_compiler_static='-Bstatic'
- fi
- ;;
-
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- unicos*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_can_build_shared=no
- ;;
-
- uts4*)
- lt_prog_compiler_pic='-pic'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- *)
- lt_prog_compiler_can_build_shared=no
- ;;
- esac
- fi
-
-case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- lt_prog_compiler_pic=
- ;;
- *)
- lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
- ;;
-esac
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
-if ${lt_cv_prog_compiler_pic+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
-$as_echo "$lt_cv_prog_compiler_pic" >&6; }
-lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if ${lt_cv_prog_compiler_pic_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_pic_works=no
- ac_outfile=conftest.$ac_objext
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_pic_works=yes
- fi
- fi
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
-$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
- case $lt_prog_compiler_pic in
- "" | " "*) ;;
- *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
- esac
-else
- lt_prog_compiler_pic=
- lt_prog_compiler_can_build_shared=no
-fi
-
-fi
-
-
-
-
-
-
-
-
-
-
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if ${lt_cv_prog_compiler_static_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_static_works=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
- echo "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_static_works=yes
- fi
- else
- lt_cv_prog_compiler_static_works=yes
- fi
- fi
- $RM -r conftest*
- LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
-$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_static_works" = xyes; then
- :
-else
- lt_prog_compiler_static=
-fi
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_c_o=no
- $RM -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o=yes
- fi
- fi
- chmod u+w . 2>&5
- $RM conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
- $RM out/* && rmdir out
- cd ..
- $RM -r conftest
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_c_o=no
- $RM -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o=yes
- fi
- fi
- chmod u+w . 2>&5
- $RM conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
- $RM out/* && rmdir out
- cd ..
- $RM -r conftest
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
- # do not overwrite the value of need_locks provided by the user
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
-$as_echo_n "checking if we can lock with hard links... " >&6; }
- hard_links=yes
- $RM conftest*
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- touch conftest.a
- ln conftest.a conftest.b 2>&5 || hard_links=no
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
-$as_echo "$hard_links" >&6; }
- if test "$hard_links" = no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
- need_locks=warn
- fi
-else
- need_locks=no
-fi
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
-
- runpath_var=
- allow_undefined_flag=
- always_export_symbols=no
- archive_cmds=
- archive_expsym_cmds=
- compiler_needs_object=no
- enable_shared_with_static_runtimes=no
- export_dynamic_flag_spec=
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- hardcode_automatic=no
- hardcode_direct=no
- hardcode_direct_absolute=no
- hardcode_libdir_flag_spec=
- hardcode_libdir_flag_spec_ld=
- hardcode_libdir_separator=
- hardcode_minus_L=no
- hardcode_shlibpath_var=unsupported
- inherit_rpath=no
- link_all_deplibs=unknown
- module_cmds=
- module_expsym_cmds=
- old_archive_from_new_cmds=
- old_archive_from_expsyms_cmds=
- thread_safe_flag_spec=
- whole_archive_flag_spec=
- # include_expsyms should be a list of space-separated symbols to be *always*
- # included in the symbol list
- include_expsyms=
- # exclude_expsyms can be an extended regexp of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
- exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
- # platforms (ab)use it in PIC code, but their linkers get confused if
- # the symbol is explicitly referenced. Since portable code cannot
- # rely on this symbol name, it's probably fine to never include it in
- # preloaded symbol tables.
- # Exclude shared library initialization/finalization symbols.
- extract_expsyms_cmds=
-
- case $host_os in
- cygwin* | mingw* | pw32* | cegcc*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- if test "$GCC" != yes; then
- with_gnu_ld=no
- fi
- ;;
- interix*)
- # we just hope/assume this is gcc and not c89 (= MSVC++)
- with_gnu_ld=yes
- ;;
- openbsd*)
- with_gnu_ld=no
- ;;
- esac
-
- ld_shlibs=yes
-
- # On some targets, GNU ld is compatible enough with the native linker
- # that we're better off using the native interface for both.
- lt_use_gnu_ld_interface=no
- if test "$with_gnu_ld" = yes; then
- case $host_os in
- aix*)
- # The AIX port of GNU ld has always aspired to compatibility
- # with the native linker. However, as the warning in the GNU ld
- # block says, versions before 2.19.5* couldn't really create working
- # shared libraries, regardless of the interface used.
- case `$LD -v 2>&1` in
- *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
- *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
- *\ \(GNU\ Binutils\)\ [3-9]*) ;;
- *)
- lt_use_gnu_ld_interface=yes
- ;;
- esac
- ;;
- *)
- lt_use_gnu_ld_interface=yes
- ;;
- esac
- fi
-
- if test "$lt_use_gnu_ld_interface" = yes; then
- # If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
-
- # Set some defaults for GNU ld with shared library support. These
- # are reset later if shared libraries are not supported. Putting them
- # here allows them to be overridden if necessary.
- runpath_var=LD_RUN_PATH
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- export_dynamic_flag_spec='${wl}--export-dynamic'
- # ancient GNU ld didn't support --whole-archive et. al.
- if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
- whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- whole_archive_flag_spec=
- fi
- supports_anon_versioning=no
- case `$LD -v 2>&1` in
- *GNU\ gold*) supports_anon_versioning=yes ;;
- *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
- *\ 2.11.*) ;; # other 2.11 versions
- *) supports_anon_versioning=yes ;;
- esac
-
- # See if GNU ld supports shared libraries.
- case $host_os in
- aix[3-9]*)
- # On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
- ld_shlibs=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.19, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support. If you
-*** really care for shared libraries, you may want to install binutils
-*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
-*** You will then need to restart the configuration process.
-
-_LT_EOF
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds=''
- ;;
- m68k)
- archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- ;;
- esac
- ;;
-
- beos*)
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- allow_undefined_flag=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
-
- cygwin* | mingw* | pw32* | cegcc*)
- # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
- # as there is no search path for DLLs.
- hardcode_libdir_flag_spec='-L$libdir'
- export_dynamic_flag_spec='${wl}--export-all-symbols'
- allow_undefined_flag=unsupported
- always_export_symbols=no
- enable_shared_with_static_runtimes=yes
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
- exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
-
- if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- ld_shlibs=no
- fi
- ;;
-
- haiku*)
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- link_all_deplibs=yes
- ;;
-
- interix[3-9]*)
- hardcode_direct=no
- hardcode_shlibpath_var=no
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- export_dynamic_flag_spec='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
-
- gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
- tmp_diet=no
- if test "$host_os" = linux-dietlibc; then
- case $cc_basename in
- diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
- esac
- fi
- if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
- && test "$tmp_diet" = no
- then
- tmp_addflag=' $pic_flag'
- tmp_sharedflag='-shared'
- case $cc_basename,$host_cpu in
- pgcc*) # Portland Group C compiler
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag'
- ;;
- pgf77* | pgf90* | pgf95* | pgfortran*)
- # Portland Group f77 and f90 compilers
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag -Mnomain' ;;
- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
- tmp_addflag=' -i_dynamic' ;;
- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
- tmp_addflag=' -i_dynamic -nofor_main' ;;
- ifc* | ifort*) # Intel Fortran compiler
- tmp_addflag=' -nofor_main' ;;
- lf95*) # Lahey Fortran 8.1
- whole_archive_flag_spec=
- tmp_sharedflag='--shared' ;;
- xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
- tmp_sharedflag='-qmkshrobj'
- tmp_addflag= ;;
- nvcc*) # Cuda Compiler Driver 2.2
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- compiler_needs_object=yes
- ;;
- esac
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*) # Sun C 5.9
- whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- compiler_needs_object=yes
- tmp_sharedflag='-G' ;;
- *Sun\ F*) # Sun Fortran 8.3
- tmp_sharedflag='-G' ;;
- esac
- archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
- if test "x$supports_anon_versioning" = xyes; then
- archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- fi
-
- case $cc_basename in
- xlf* | bgf* | bgxlf* | mpixlf*)
- # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
- whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
- hardcode_libdir_flag_spec=
- hardcode_libdir_flag_spec_ld='-rpath $libdir'
- archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
- if test "x$supports_anon_versioning" = xyes; then
- archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
- fi
- ;;
- esac
- else
- ld_shlibs=no
- fi
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
- wlarc=
- else
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- fi
- ;;
-
- solaris*)
- if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
- ld_shlibs=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
- case `$LD -v 2>&1` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
- ld_shlibs=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- ;;
- *)
- # For security reasons, it is highly recommended that you always
- # use absolute paths for naming shared libraries, and exclude the
- # DT_RUNPATH tag from executables and libraries. But doing so
- # requires that you compile everything twice, which is a pain.
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
- esac
- ;;
-
- sunos4*)
- archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- wlarc=
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- *)
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
- esac
-
- if test "$ld_shlibs" = no; then
- runpath_var=
- hardcode_libdir_flag_spec=
- export_dynamic_flag_spec=
- whole_archive_flag_spec=
- fi
- else
- # PORTME fill in a description of your system's linker (not GNU ld)
- case $host_os in
- aix3*)
- allow_undefined_flag=unsupported
- always_export_symbols=yes
- archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
- # Note: this linker hardcodes the directories in LIBPATH if there
- # are no directories specified by -L.
- hardcode_minus_L=yes
- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
- # Neither direct hardcoding nor static linking is supported with a
- # broken collect2.
- hardcode_direct=unsupported
- fi
- ;;
-
- aix[4-9]*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- # Also, AIX nm treats weak defined symbols like other global
- # defined symbols, whereas GNU nm marks them as "W".
- if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
- export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- else
- export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- fi
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
- for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- aix_use_runtimelinking=yes
- break
- fi
- done
- ;;
- esac
-
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
-
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- archive_cmds=''
- hardcode_direct=yes
- hardcode_direct_absolute=yes
- hardcode_libdir_separator=':'
- link_all_deplibs=yes
- file_list_spec='${wl}-f,'
-
- if test "$GCC" = yes; then
- case $host_os in aix4.[012]|aix4.[012].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" &&
- strings "$collect2name" | $GREP resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- :
- else
- # We have old collect2
- hardcode_direct=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- hardcode_minus_L=yes
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_libdir_separator=
- fi
- ;;
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
-
- export_dynamic_flag_spec='${wl}-bexpall'
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- always_export_symbols=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- allow_undefined_flag='-berok'
- # Determine the default libpath from the value encoded in an
- # empty executable.
- if test "${lt_cv_aix_libpath+set}" = set; then
- aix_libpath=$lt_cv_aix_libpath
-else
- if ${lt_cv_aix_libpath_+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
- lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\([^ ]*\) *$/\1/
- p
- }
- }'
- lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- # Check for a 64-bit object if we didn't find anything.
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_="/usr/lib:/lib"
- fi
-
-fi
-
- aix_libpath=$lt_cv_aix_libpath_
-fi
-
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
- allow_undefined_flag="-z nodefs"
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an
- # empty executable.
- if test "${lt_cv_aix_libpath+set}" = set; then
- aix_libpath=$lt_cv_aix_libpath
-else
- if ${lt_cv_aix_libpath_+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
- lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\([^ ]*\) *$/\1/
- p
- }
- }'
- lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- # Check for a 64-bit object if we didn't find anything.
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_="/usr/lib:/lib"
- fi
-
-fi
-
- aix_libpath=$lt_cv_aix_libpath_
-fi
-
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- no_undefined_flag=' ${wl}-bernotok'
- allow_undefined_flag=' ${wl}-berok'
- if test "$with_gnu_ld" = yes; then
- # We only use this code for GNU lds that support --whole-archive.
- whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
- else
- # Exported symbols can be pulled into shared objects from archives
- whole_archive_flag_spec='$convenience'
- fi
- archive_cmds_need_lc=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds=''
- ;;
- m68k)
- archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- ;;
- esac
- ;;
-
- bsdi[45]*)
- export_dynamic_flag_spec=-rdynamic
- ;;
-
- cygwin* | mingw* | pw32* | cegcc*)
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- case $cc_basename in
- cl*)
- # Native MSVC
- hardcode_libdir_flag_spec=' '
- allow_undefined_flag=unsupported
- always_export_symbols=yes
- file_list_spec='@'
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
- archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
- else
- sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
- fi~
- $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
- linknames='
- # The linker will not automatically build a static lib if we build a DLL.
- # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
- enable_shared_with_static_runtimes=yes
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
- # Don't use ranlib
- old_postinstall_cmds='chmod 644 $oldlib'
- postlink_cmds='lt_outputfile="@OUTPUT@"~
- lt_tool_outputfile="@TOOL_OUTPUT@"~
- case $lt_outputfile in
- *.exe|*.EXE) ;;
- *)
- lt_outputfile="$lt_outputfile.exe"
- lt_tool_outputfile="$lt_tool_outputfile.exe"
- ;;
- esac~
- if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
- $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
- $RM "$lt_outputfile.manifest";
- fi'
- ;;
- *)
- # Assume MSVC wrapper
- hardcode_libdir_flag_spec=' '
- allow_undefined_flag=unsupported
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
- # The linker will automatically build a .lib file if we build a DLL.
- old_archive_from_new_cmds='true'
- # FIXME: Should let the user specify the lib program.
- old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
- enable_shared_with_static_runtimes=yes
- ;;
- esac
- ;;
-
- darwin* | rhapsody*)
-
-
- archive_cmds_need_lc=no
- hardcode_direct=no
- hardcode_automatic=yes
- hardcode_shlibpath_var=unsupported
- if test "$lt_cv_ld_force_load" = "yes"; then
- whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
- else
- whole_archive_flag_spec=''
- fi
- link_all_deplibs=yes
- allow_undefined_flag="$_lt_dar_allow_undefined"
- case $cc_basename in
- ifort*) _lt_dar_can_shared=yes ;;
- *) _lt_dar_can_shared=$GCC ;;
- esac
- if test "$_lt_dar_can_shared" = "yes"; then
- output_verbose_link_cmd=func_echo_all
- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-
- else
- ld_shlibs=no
- fi
-
- ;;
-
- dgux*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_shlibpath_var=no
- ;;
-
- freebsd1*)
- ld_shlibs=no
- ;;
-
- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
- # support. Future versions do this automatically, but an explicit c++rt0.o
- # does not break anything, and helps significantly (at the cost of a little
- # extra space).
- freebsd2.2*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes
- hardcode_minus_L=yes
- hardcode_shlibpath_var=no
- ;;
-
- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | dragonfly*)
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- hpux9*)
- if test "$GCC" = yes; then
- archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- fi
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_direct=yes
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- export_dynamic_flag_spec='${wl}-E'
- ;;
-
- hpux10*)
- if test "$GCC" = yes && test "$with_gnu_ld" = no; then
- archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_flag_spec_ld='+b $libdir'
- hardcode_libdir_separator=:
- hardcode_direct=yes
- hardcode_direct_absolute=yes
- export_dynamic_flag_spec='${wl}-E'
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- fi
- ;;
-
- hpux11*)
- if test "$GCC" = yes && test "$with_gnu_ld" = no; then
- case $host_cpu in
- hppa*64*)
- archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- else
- case $host_cpu in
- hppa*64*)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
-
- # Older versions of the 11.00 compiler do not understand -b yet
- # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
-$as_echo_n "checking if $CC understands -b... " >&6; }
-if ${lt_cv_prog_compiler__b+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler__b=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS -b"
- echo "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler__b=yes
- fi
- else
- lt_cv_prog_compiler__b=yes
- fi
- fi
- $RM -r conftest*
- LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
-$as_echo "$lt_cv_prog_compiler__b" >&6; }
-
-if test x"$lt_cv_prog_compiler__b" = xyes; then
- archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-else
- archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-fi
-
- ;;
- esac
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
-
- case $host_cpu in
- hppa*64*|ia64*)
- hardcode_direct=no
- hardcode_shlibpath_var=no
- ;;
- *)
- hardcode_direct=yes
- hardcode_direct_absolute=yes
- export_dynamic_flag_spec='${wl}-E'
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- ;;
- esac
- fi
- ;;
-
- irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- # Try to use the -exported_symbol ld option, if it does not
- # work, assume that -exports_file does not work either and
- # implicitly export all symbols.
- # This should be the same for all languages, so no per-tag cache variable.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
-$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
-if ${lt_cv_irix_exported_symbol+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-int foo (void) { return 0; }
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- lt_cv_irix_exported_symbol=yes
-else
- lt_cv_irix_exported_symbol=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS="$save_LDFLAGS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
-$as_echo "$lt_cv_irix_exported_symbol" >&6; }
- if test "$lt_cv_irix_exported_symbol" = yes; then
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
- fi
- else
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
- fi
- archive_cmds_need_lc='no'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- inherit_rpath=yes
- link_all_deplibs=yes
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
- else
- archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
- fi
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- newsos6)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_shlibpath_var=no
- ;;
-
- *nto* | *qnx*)
- ;;
-
- openbsd*)
- if test -f /usr/libexec/ld.so; then
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- hardcode_direct_absolute=yes
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- export_dynamic_flag_spec='${wl}-E'
- else
- case $host_os in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-R$libdir'
- ;;
- *)
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- ;;
- esac
- fi
- else
- ld_shlibs=no
- fi
- ;;
-
- os2*)
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- allow_undefined_flag=unsupported
- archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
- ;;
-
- osf3*)
- if test "$GCC" = yes; then
- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- fi
- archive_cmds_need_lc='no'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- ;;
-
- osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- else
- allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
- $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
-
- # Both c and cxx compiler support -rpath directly
- hardcode_libdir_flag_spec='-rpath $libdir'
- fi
- archive_cmds_need_lc='no'
- hardcode_libdir_separator=:
- ;;
-
- solaris*)
- no_undefined_flag=' -z defs'
- if test "$GCC" = yes; then
- wlarc='${wl}'
- archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
- else
- case `$CC -V 2>&1` in
- *"Compilers 5.0"*)
- wlarc=''
- archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
- ;;
- *)
- wlarc='${wl}'
- archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
- ;;
- esac
- fi
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_shlibpath_var=no
- case $host_os in
- solaris2.[0-5] | solaris2.[0-5].*) ;;
- *)
- # The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'. GCC discards it without `$wl',
- # but is careful enough not to reorder.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- if test "$GCC" = yes; then
- whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
- else
- whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
- fi
- ;;
- esac
- link_all_deplibs=yes
- ;;
-
- sunos4*)
- if test "x$host_vendor" = xsequent; then
- # Use $CC to link under sequent, because it throws in some extra .o
- # files that make .init and .fini sections work.
- archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
- fi
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_direct=yes
- hardcode_minus_L=yes
- hardcode_shlibpath_var=no
- ;;
-
- sysv4)
- case $host_vendor in
- sni)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes # is this really true???
- ;;
- siemens)
- ## LD is ld it makes a PLAMLIB
- ## CC just makes a GrossModule.
- archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- reload_cmds='$CC -r -o $output$reload_objs'
- hardcode_direct=no
- ;;
- motorola)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=no #Motorola manual says yes, but my tests say they lie
- ;;
- esac
- runpath_var='LD_RUN_PATH'
- hardcode_shlibpath_var=no
- ;;
-
- sysv4.3*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var=no
- export_dynamic_flag_spec='-Bexport'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var=no
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- ld_shlibs=yes
- fi
- ;;
-
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
- no_undefined_flag='${wl}-z,text'
- archive_cmds_need_lc=no
- hardcode_shlibpath_var=no
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- no_undefined_flag='${wl}-z,text'
- allow_undefined_flag='${wl}-z,nodefs'
- archive_cmds_need_lc=no
- hardcode_shlibpath_var=no
- hardcode_libdir_flag_spec='${wl}-R,$libdir'
- hardcode_libdir_separator=':'
- link_all_deplibs=yes
- export_dynamic_flag_spec='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- uts4*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_shlibpath_var=no
- ;;
-
- *)
- ld_shlibs=no
- ;;
- esac
-
- if test x$host_vendor = xsni; then
- case $host in
- sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- export_dynamic_flag_spec='${wl}-Blargedynsym'
- ;;
- esac
- fi
- fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
-$as_echo "$ld_shlibs" >&6; }
-test "$ld_shlibs" = no && can_build_shared=no
-
-with_gnu_ld=$with_gnu_ld
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc" in
-x|xyes)
- # Assume -lc should be added
- archive_cmds_need_lc=yes
-
- if test "$enable_shared" = yes && test "$GCC" = yes; then
- case $archive_cmds in
- *'~'*)
- # FIXME: we may have to deal with multi-command sequences.
- ;;
- '$CC '*)
- # Test whether the compiler implicitly links with -lc since on some
- # systems, -lgcc has to come before -lc. If gcc already passes -lc
- # to ld, don't add -lc before -lgcc.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
-$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if ${lt_cv_archive_cmds_need_lc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- $RM conftest*
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$lt_prog_compiler_wl
- pic_flag=$lt_prog_compiler_pic
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$allow_undefined_flag
- allow_undefined_flag=
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
- (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- then
- lt_cv_archive_cmds_need_lc=no
- else
- lt_cv_archive_cmds_need_lc=yes
- fi
- allow_undefined_flag=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
-$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
- archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
- ;;
- esac
- fi
- ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
-$as_echo_n "checking dynamic linker characteristics... " >&6; }
-
-if test "$GCC" = yes; then
- case $host_os in
- darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
- *) lt_awk_arg="/^libraries:/" ;;
- esac
- case $host_os in
- mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;;
- *) lt_sed_strip_eq="s,=/,/,g" ;;
- esac
- lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
- case $lt_search_path_spec in
- *\;*)
- # if the path contains ";" then we assume it to be the separator
- # otherwise default to the standard path separator (i.e. ":") - it is
- # assumed that no part of a normal pathname contains ";" but that should
- # okay in the real world where ";" in dirpaths is itself problematic.
- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
- ;;
- *)
- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
- ;;
- esac
- # Ok, now we have the path, separated by spaces, we can step through it
- # and add multilib dir if necessary.
- lt_tmp_lt_search_path_spec=
- lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
- for lt_sys_path in $lt_search_path_spec; do
- if test -d "$lt_sys_path/$lt_multi_os_dir"; then
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
- else
- test -d "$lt_sys_path" && \
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
- fi
- done
- lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
-BEGIN {RS=" "; FS="/|\n";} {
- lt_foo="";
- lt_count=0;
- for (lt_i = NF; lt_i > 0; lt_i--) {
- if ($lt_i != "" && $lt_i != ".") {
- if ($lt_i == "..") {
- lt_count++;
- } else {
- if (lt_count == 0) {
- lt_foo="/" $lt_i lt_foo;
- } else {
- lt_count--;
- }
- }
- }
- }
- if (lt_foo != "") { lt_freq[lt_foo]++; }
- if (lt_freq[lt_foo] == 1) { print lt_foo; }
-}'`
- # AWK program above erroneously prepends '/' to C:/dos/paths
- # for these hosts.
- case $host_os in
- mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
- $SED 's,/\([A-Za-z]:\),\1,g'` ;;
- esac
- sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
-else
- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
- shlibpath_var=LIBPATH
-
- # AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
-
-aix[4-9]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
- # AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- else
- # With GCC up to 2.95.x, collect2 would create an import file
- # for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
- # development snapshots of GCC prior to 3.0.
- case $host_os in
- aix4 | aix4.[01] | aix4.[01].*)
- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
- echo ' yes '
- echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
- :
- else
- can_build_shared=no
- fi
- ;;
- esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
- # soname into executable. Probably we can add versioning support to
- # collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
- # instead of lib<name>.a to let people know that these are not
- # typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
- # We preserve .a as extension for shared libraries through AIX4.2
- # and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
- shlibpath_var=LIBPATH
- fi
- ;;
-
-amigaos*)
- case $host_cpu in
- powerpc)
- # Since July 2007 AmigaOS4 officially supports .so libraries.
- # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- ;;
- m68k)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
- ;;
- esac
- ;;
-
-beos*)
- library_names_spec='${libname}${shared_ext}'
- dynamic_linker="$host_os ld.so"
- shlibpath_var=LIBRARY_PATH
- ;;
-
-bsdi[45]*)
- version_type=linux
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
- # the default ld.so.conf also contains /usr/contrib/lib and
- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
- # libtool to hard-code these into programs
- ;;
-
-cygwin* | mingw* | pw32* | cegcc*)
- version_type=windows
- shrext_cmds=".dll"
- need_version=no
- need_lib_prefix=no
-
- case $GCC,$cc_basename in
- yes,*)
- # gcc
- library_names_spec='$libname.dll.a'
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname~
- chmod a+x \$dldir/$dlname~
- if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
- eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
- fi'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $RM \$dlpath'
- shlibpath_overrides_runpath=yes
-
- case $host_os in
- cygwin*)
- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-
- sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
- ;;
- mingw* | cegcc*)
- # MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- ;;
- pw32*)
- # pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- ;;
- esac
- dynamic_linker='Win32 ld.exe'
- ;;
-
- *,cl*)
- # Native MSVC
- libname_spec='$name'
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- library_names_spec='${libname}.dll.lib'
-
- case $build_os in
- mingw*)
- sys_lib_search_path_spec=
- lt_save_ifs=$IFS
- IFS=';'
- for lt_path in $LIB
- do
- IFS=$lt_save_ifs
- # Let DOS variable expansion print the short 8.3 style file name.
- lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
- sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
- done
- IFS=$lt_save_ifs
- # Convert to MSYS style.
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
- ;;
- cygwin*)
- # Convert to unix form, then to dos form, then back to unix form
- # but this time dos style (no spaces!) so that the unix form looks
- # like /cygdrive/c/PROGRA~1:/cygdr...
- sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
- sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
- sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- ;;
- *)
- sys_lib_search_path_spec="$LIB"
- if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
- # It is most probably a Windows format PATH.
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- # FIXME: find the short name or the path components, as spaces are
- # common. (e.g. "Program Files" -> "PROGRA~1")
- ;;
- esac
-
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $RM \$dlpath'
- shlibpath_overrides_runpath=yes
- dynamic_linker='Win32 link.exe'
- ;;
-
- *)
- # Assume MSVC wrapper
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
- dynamic_linker='Win32 ld.exe'
- ;;
- esac
- # FIXME: first we should search . and the directory the executable is in
- shlibpath_var=PATH
- ;;
-
-darwin* | rhapsody*)
- dynamic_linker="$host_os dyld"
- version_type=darwin
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
- shlibpath_overrides_runpath=yes
- shlibpath_var=DYLD_LIBRARY_PATH
- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-
- sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
- ;;
-
-dgux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-freebsd1*)
- dynamic_linker=no
- ;;
-
-freebsd* | dragonfly*)
- # DragonFly does not have aout. When/if they implement a new
- # versioning mechanism, adjust this.
- if test -x /usr/bin/objformat; then
- objformat=`/usr/bin/objformat`
- else
- case $host_os in
- freebsd[123]*) objformat=aout ;;
- *) objformat=elf ;;
- esac
- fi
- version_type=freebsd-$objformat
- case $version_type in
- freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- need_version=no
- need_lib_prefix=no
- ;;
- freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
- need_version=yes
- ;;
- esac
- shlibpath_var=LD_LIBRARY_PATH
- case $host_os in
- freebsd2*)
- shlibpath_overrides_runpath=yes
- ;;
- freebsd3.[01]* | freebsdelf3.[01]*)
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
- freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
- *) # from 4.6 on, and DragonFly
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- esac
- ;;
-
-gnu*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- ;;
-
-haiku*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- dynamic_linker="$host_os runtime_loader"
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
- hardcode_into_libs=yes
- ;;
-
-hpux9* | hpux10* | hpux11*)
- # Give a soname corresponding to the major version so that dld.sl refuses to
- # link against other versions.
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- case $host_cpu in
- ia64*)
- shrext_cmds='.so'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.so"
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
- else
- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
- fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
- shrext_cmds='.sl'
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=SHLIB_PATH
- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
- esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
- postinstall_cmds='chmod 555 $lib'
- # or fails outright, so override atomically:
- install_override_mode=555
- ;;
-
-interix[3-9]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $host_os in
- nonstopux*) version_type=nonstopux ;;
- *)
- if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
- else
- version_type=irix
- fi ;;
- esac
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
- case $host_os in
- irix5* | nonstopux*)
- libsuff= shlibsuff=
- ;;
- *)
- case $LD in # libtool.m4 will add one of these switches to LD
- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
- libsuff= shlibsuff= libmagic=32-bit;;
- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
- libsuff=32 shlibsuff=N32 libmagic=N32;;
- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
- libsuff=64 shlibsuff=64 libmagic=64-bit;;
- *) libsuff= shlibsuff= libmagic=never-match;;
- esac
- ;;
- esac
- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
- hardcode_into_libs=yes
- ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
- dynamic_linker=no
- ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
-
- # Some binutils ld are patched to set DT_RUNPATH
- if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_shlibpath_overrides_runpath=no
- save_LDFLAGS=$LDFLAGS
- save_libdir=$libdir
- eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
- LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
- lt_cv_shlibpath_overrides_runpath=yes
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS=$save_LDFLAGS
- libdir=$save_libdir
-
-fi
-
- shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
-
- # This implies no fast_install, which is unacceptable.
- # Some rework will be needed to allow for fast_install
- # before this can be enabled.
- hardcode_into_libs=yes
-
- # Append ld.so.conf contents to the search path
- if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
- fi
-
- # We used to test for /lib/ld.so.1 and disable shared libraries on
- # powerpc, because MkLinux only supported shared libraries with the
- # GNU dynamic linker. Since this was broken with cross compilers,
- # most powerpc-linux boxes support dynamic linking these days and
- # people can always --disable-shared, the test was removed, and we
- # assume the GNU/Linux dynamic linker is in use.
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-netbsd*)
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- dynamic_linker='NetBSD (a.out) ld.so'
- else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='NetBSD ld.elf_so'
- fi
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
-
-newsos6)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-*nto* | *qnx*)
- version_type=qnx
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='ldqnx.so'
- ;;
-
-openbsd*)
- version_type=sunos
- sys_lib_dlsearch_path_spec="/usr/lib"
- need_lib_prefix=no
- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
- case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
- esac
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[89] | openbsd2.[89].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
- else
- shlibpath_overrides_runpath=yes
- fi
- ;;
-
-os2*)
- libname_spec='$name'
- shrext_cmds=".dll"
- need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
- dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
- ;;
-
-osf3* | osf4* | osf5*)
- version_type=osf
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
- ;;
-
-rdos*)
- dynamic_linker=no
- ;;
-
-solaris*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- # ldd complains unless libraries are executable
- postinstall_cmds='chmod +x $lib'
- ;;
-
-sunos4*)
- version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- fi
- need_version=yes
- ;;
-
-sysv4 | sysv4.3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- case $host_vendor in
- sni)
- shlibpath_overrides_runpath=no
- need_lib_prefix=no
- runpath_var=LD_RUN_PATH
- ;;
- siemens)
- need_lib_prefix=no
- ;;
- motorola)
- need_lib_prefix=no
- need_version=no
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
- ;;
- esac
- ;;
-
-sysv4*MP*)
- if test -d /usr/nec ;then
- version_type=linux
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
- shlibpath_var=LD_LIBRARY_PATH
- fi
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- version_type=freebsd-elf
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- if test "$with_gnu_ld" = yes; then
- sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
- else
- sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
- case $host_os in
- sco3.2v5*)
- sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
- ;;
- esac
- fi
- sys_lib_dlsearch_path_spec='/usr/lib'
- ;;
-
-tpf*)
- # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-uts4*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-*)
- dynamic_linker=no
- ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
-$as_echo "$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
- sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
- sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
-$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
-hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" ||
- test -n "$runpath_var" ||
- test "X$hardcode_automatic" = "Xyes" ; then
-
- # We can hardcode non-existent directories.
- if test "$hardcode_direct" != no &&
- # If the only mechanism to avoid hardcoding is shlibpath_var, we
- # have to relink, otherwise we might link with an installed library
- # when we should be linking with a yet-to-be-installed one
- ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
- test "$hardcode_minus_L" != no; then
- # Linking always hardcodes the temporary library directory.
- hardcode_action=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- hardcode_action=immediate
- fi
-else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- hardcode_action=unsupported
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
-$as_echo "$hardcode_action" >&6; }
-
-if test "$hardcode_action" = relink ||
- test "$inherit_rpath" = yes; then
- # Fast installation is not supported
- enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
- # Fast installation is not necessary
- enable_fast_install=needless
-fi
-
-
-
-
-
-
- if test "x$enable_dlopen" != xyes; then
- enable_dlopen=unknown
- enable_dlopen_self=unknown
- enable_dlopen_self_static=unknown
-else
- lt_cv_dlopen=no
- lt_cv_dlopen_libs=
-
- case $host_os in
- beos*)
- lt_cv_dlopen="load_add_on"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
- ;;
-
- mingw* | pw32* | cegcc*)
- lt_cv_dlopen="LoadLibrary"
- lt_cv_dlopen_libs=
- ;;
-
- cygwin*)
- lt_cv_dlopen="dlopen"
- lt_cv_dlopen_libs=
- ;;
-
- darwin*)
- # if libdl is installed we need to link against it
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dl_dlopen=yes
-else
- ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-
- lt_cv_dlopen="dyld"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
-
-fi
-
- ;;
-
- *)
- ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = xyes; then :
- lt_cv_dlopen="shl_load"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
-$as_echo_n "checking for shl_load in -ldld... " >&6; }
-if ${ac_cv_lib_dld_shl_load+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load ();
-int
-main ()
-{
-return shl_load ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dld_shl_load=yes
-else
- ac_cv_lib_dld_shl_load=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
-$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
- lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
-else
- ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dl_dlopen=yes
-else
- ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
-$as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if ${ac_cv_lib_svld_dlopen+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsvld $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_svld_dlopen=yes
-else
- ac_cv_lib_svld_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
-$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
-$as_echo_n "checking for dld_link in -ldld... " >&6; }
-if ${ac_cv_lib_dld_dld_link+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dld_link ();
-int
-main ()
-{
-return dld_link ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dld_dld_link=yes
-else
- ac_cv_lib_dld_dld_link=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
-$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
- lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
- ;;
- esac
-
- if test "x$lt_cv_dlopen" != xno; then
- enable_dlopen=yes
- else
- enable_dlopen=no
- fi
-
- case $lt_cv_dlopen in
- dlopen)
- save_CPPFLAGS="$CPPFLAGS"
- test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
- save_LDFLAGS="$LDFLAGS"
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
- save_LIBS="$LIBS"
- LIBS="$lt_cv_dlopen_libs $LIBS"
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
-$as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- lt_cv_dlopen_self=cross
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
- correspondingly for the symbols needed. */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
-
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else
- {
- if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- else puts (dlerror ());
- }
- /* dlclose (self); */
- }
- else
- puts (dlerror ());
-
- return status;
-}
-_LT_EOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) >&5 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
- x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
- x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
- esac
- else :
- # compilation failed
- lt_cv_dlopen_self=no
- fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
-$as_echo "$lt_cv_dlopen_self" >&6; }
-
- if test "x$lt_cv_dlopen_self" = xyes; then
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
-$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self_static+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- lt_cv_dlopen_self_static=cross
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
- correspondingly for the symbols needed. */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
-
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else
- {
- if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- else puts (dlerror ());
- }
- /* dlclose (self); */
- }
- else
- puts (dlerror ());
-
- return status;
-}
-_LT_EOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) >&5 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
- x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
- x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
- esac
- else :
- # compilation failed
- lt_cv_dlopen_self_static=no
- fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
-$as_echo "$lt_cv_dlopen_self_static" >&6; }
- fi
-
- CPPFLAGS="$save_CPPFLAGS"
- LDFLAGS="$save_LDFLAGS"
- LIBS="$save_LIBS"
- ;;
- esac
-
- case $lt_cv_dlopen_self in
- yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
- *) enable_dlopen_self=unknown ;;
- esac
-
- case $lt_cv_dlopen_self_static in
- yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
- *) enable_dlopen_self_static=unknown ;;
- esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-striplib=
-old_striplib=
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
-$as_echo_n "checking whether stripping libraries is possible... " >&6; }
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
- test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-# FIXME - insert some real tests, host_os isn't really good enough
- case $host_os in
- darwin*)
- if test -n "$STRIP" ; then
- striplib="$STRIP -x"
- old_striplib="$STRIP -S"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- fi
- ;;
- *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- ;;
- esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
- # Report which library types will actually be built
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
-$as_echo_n "checking if libtool supports shared libraries... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
-$as_echo "$can_build_shared" >&6; }
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
-$as_echo_n "checking whether to build shared libraries... " >&6; }
- test "$can_build_shared" = "no" && enable_shared=no
-
- # On AIX, shared libraries and static libraries use the same namespace, and
- # are all built from PIC.
- case $host_os in
- aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
-
- aix[4-9]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
- esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
-$as_echo "$enable_shared" >&6; }
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
-$as_echo_n "checking whether to build static libraries... " >&6; }
- # Make sure either enable_shared or enable_static is yes.
- test "$enable_shared" = yes || enable_static=yes
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
-$as_echo "$enable_static" >&6; }
-
-
-
-
-fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC="$lt_save_CC"
-
-
-
-
-
-
-
-
-
-
-
-
-
- ac_config_commands="$ac_config_commands libtool"
-
-
-
-
-# Only expand once:
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
-$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
- # Check whether --enable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then :
- enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
-else
- USE_MAINTAINER_MODE=no
-fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
-$as_echo "$USE_MAINTAINER_MODE" >&6; }
- if test $USE_MAINTAINER_MODE = yes; then
- MAINTAINER_MODE_TRUE=
- MAINTAINER_MODE_FALSE='#'
-else
- MAINTAINER_MODE_TRUE='#'
- MAINTAINER_MODE_FALSE=
-fi
-
- MAINT=$MAINTAINER_MODE_TRUE
-
-
-
-for ac_header in sys/mman.h
-do :
- ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_SYS_MMAN_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_func in mmap
-do :
- ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_MMAP 1
-_ACEOF
-
-fi
-done
-
-
-ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
- libffi_header_sys_mman_h=yes
-else
- libffi_header_sys_mman_h=no
-fi
-
-
-ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
- libffi_func_mmap=yes
-else
- libffi_func_mmap=no
-fi
-
-if test "$libffi_header_sys_mman_h" != yes \
- || test "$libffi_func_mmap" != yes; then
- ac_cv_func_mmap_file=no
- ac_cv_func_mmap_dev_zero=no
- ac_cv_func_mmap_anon=no
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether read-only mmap of a plain file works" >&5
-$as_echo_n "checking whether read-only mmap of a plain file works... " >&6; }
-if ${ac_cv_func_mmap_file+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Add a system to this blacklist if
- # mmap(0, stat_size, PROT_READ, MAP_PRIVATE, fd, 0) doesn't return a
- # memory area containing the same data that you'd get if you applied
- # read() to the same fd. The only system known to have a problem here
- # is VMS, where text files have record structure.
- case "$host_os" in
- vms* | ultrix*)
- ac_cv_func_mmap_file=no ;;
- *)
- ac_cv_func_mmap_file=yes;;
- esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_file" >&5
-$as_echo "$ac_cv_func_mmap_file" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap from /dev/zero works" >&5
-$as_echo_n "checking whether mmap from /dev/zero works... " >&6; }
-if ${ac_cv_func_mmap_dev_zero+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Add a system to this blacklist if it has mmap() but /dev/zero
- # does not exist, or if mmapping /dev/zero does not give anonymous
- # zeroed pages with both the following properties:
- # 1. If you map N consecutive pages in with one call, and then
- # unmap any subset of those pages, the pages that were not
- # explicitly unmapped remain accessible.
- # 2. If you map two adjacent blocks of memory and then unmap them
- # both at once, they must both go away.
- # Systems known to be in this category are Windows (all variants),
- # VMS, and Darwin.
- case "$host_os" in
- vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00)
- ac_cv_func_mmap_dev_zero=no ;;
- *)
- ac_cv_func_mmap_dev_zero=yes;;
- esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_dev_zero" >&5
-$as_echo "$ac_cv_func_mmap_dev_zero" >&6; }
-
- # Unlike /dev/zero, the MAP_ANON(YMOUS) defines can be probed for.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANON(YMOUS)" >&5
-$as_echo_n "checking for MAP_ANON(YMOUS)... " >&6; }
-if ${ac_cv_decl_map_anon+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <unistd.h>
-
-#ifndef MAP_ANONYMOUS
-#define MAP_ANONYMOUS MAP_ANON
-#endif
-
-int
-main ()
-{
-int n = MAP_ANONYMOUS;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_decl_map_anon=yes
-else
- ac_cv_decl_map_anon=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_decl_map_anon" >&5
-$as_echo "$ac_cv_decl_map_anon" >&6; }
-
- if test $ac_cv_decl_map_anon = no; then
- ac_cv_func_mmap_anon=no
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap with MAP_ANON(YMOUS) works" >&5
-$as_echo_n "checking whether mmap with MAP_ANON(YMOUS) works... " >&6; }
-if ${ac_cv_func_mmap_anon+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Add a system to this blacklist if it has mmap() and MAP_ANON or
- # MAP_ANONYMOUS, but using mmap(..., MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
- # doesn't give anonymous zeroed pages with the same properties listed
- # above for use of /dev/zero.
- # Systems known to be in this category are Windows, VMS, and SCO Unix.
- case "$host_os" in
- vms* | cygwin* | pe | mingw* | sco* | udk* )
- ac_cv_func_mmap_anon=no ;;
- *)
- ac_cv_func_mmap_anon=yes;;
- esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_anon" >&5
-$as_echo "$ac_cv_func_mmap_anon" >&6; }
- fi
-fi
-
-if test $ac_cv_func_mmap_file = yes; then
-
-$as_echo "#define HAVE_MMAP_FILE 1" >>confdefs.h
-
-fi
-if test $ac_cv_func_mmap_dev_zero = yes; then
-
-$as_echo "#define HAVE_MMAP_DEV_ZERO 1" >>confdefs.h
-
-fi
-if test $ac_cv_func_mmap_anon = yes; then
-
-$as_echo "#define HAVE_MMAP_ANON 1" >>confdefs.h
-
-fi
-
-
- if test -d $srcdir/testsuite; then
- TESTSUBDIR_TRUE=
- TESTSUBDIR_FALSE='#'
-else
- TESTSUBDIR_TRUE='#'
- TESTSUBDIR_FALSE=
-fi
-
-
-TARGETDIR="unknown"
-case "$host" in
- alpha*-*-*)
- TARGET=ALPHA; TARGETDIR=alpha;
- # Support 128-bit long double, changeable via command-line switch.
- HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
- ;;
-
- arm*-*-*)
- TARGET=ARM; TARGETDIR=arm
- ;;
-
- amd64-*-freebsd* | amd64-*-openbsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- amd64-*-freebsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- avr32*-*-*)
- TARGET=AVR32; TARGETDIR=avr32
- ;;
-
- cris-*-*)
- TARGET=LIBFFI_CRIS; TARGETDIR=cris
- ;;
-
- frv-*-*)
- TARGET=FRV; TARGETDIR=frv
- ;;
-
- hppa*-*-linux* | parisc*-*-linux*)
- TARGET=PA_LINUX; TARGETDIR=pa
- ;;
- hppa*64-*-hpux*)
- TARGET=PA64_HPUX; TARGETDIR=pa
- ;;
- hppa*-*-hpux*)
- TARGET=PA_HPUX; TARGETDIR=pa
- ;;
-
- i?86-*-freebsd* | i?86-*-openbsd*)
- TARGET=X86_FREEBSD; TARGETDIR=x86
- ;;
- i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2* | i?86-*-interix*)
- TARGET=X86_WIN32; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
- i?86-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
- i?86-*-solaris2.1[0-9]*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
- i?86-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- ia64*-*-*)
- TARGET=IA64; TARGETDIR=ia64
- ;;
-
- m32r*-*-*)
- TARGET=M32R; TARGETDIR=m32r
- ;;
-
- m68k-*-*)
- TARGET=M68K; TARGETDIR=m68k
- ;;
-
- mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
- TARGET=MIPS; TARGETDIR=mips
- ;;
- mips*-*-linux*)
- # Support 128-bit long double for NewABI.
- HAVE_LONG_DOUBLE='defined(__mips64)'
- TARGET=MIPS; TARGETDIR=mips
- ;;
-
- moxie-*-*)
- TARGET=MOXIE; TARGETDIR=moxie
- ;;
-
- powerpc*-*-linux* | powerpc-*-sysv*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-beos*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-darwin* | powerpc64-*-darwin*)
- TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
- ;;
- powerpc-*-aix* | rs6000-*-aix*)
- TARGET=POWERPC_AIX; TARGETDIR=powerpc
- ;;
- powerpc-*-freebsd*)
- TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
- ;;
- powerpc64-*-freebsd*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc*-*-rtems*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
-
- s390-*-* | s390x-*-*)
- TARGET=S390; TARGETDIR=s390
- ;;
-
- sh-*-* | sh[34]*-*-*)
- TARGET=SH; TARGETDIR=sh
- ;;
- sh64-*-* | sh5*-*-*)
- TARGET=SH64; TARGETDIR=sh64
- ;;
-
- sparc*-*-*)
- TARGET=SPARC; TARGETDIR=sparc
- ;;
-
- x86_64-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
-
- x86_64-*-cygwin* | x86_64-*-mingw*)
- TARGET=X86_WIN64; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
-
- x86_64-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-esac
-
-
-
-
-if test $TARGETDIR = unknown; then
- as_fn_error $? "\"libffi has not been ported to $host.\"" "$LINENO" 5
-fi
-
- if test x$TARGET = xMIPS; then
- MIPS_TRUE=
- MIPS_FALSE='#'
-else
- MIPS_TRUE='#'
- MIPS_FALSE=
-fi
-
- if test x$TARGET = xSPARC; then
- SPARC_TRUE=
- SPARC_FALSE='#'
-else
- SPARC_TRUE='#'
- SPARC_FALSE=
-fi
-
- if test x$TARGET = xX86; then
- X86_TRUE=
- X86_FALSE='#'
-else
- X86_TRUE='#'
- X86_FALSE=
-fi
-
- if test x$TARGET = xX86_FREEBSD; then
- X86_FREEBSD_TRUE=
- X86_FREEBSD_FALSE='#'
-else
- X86_FREEBSD_TRUE='#'
- X86_FREEBSD_FALSE=
-fi
-
- if test x$TARGET = xX86_WIN32; then
- X86_WIN32_TRUE=
- X86_WIN32_FALSE='#'
-else
- X86_WIN32_TRUE='#'
- X86_WIN32_FALSE=
-fi
-
- if test x$TARGET = xX86_WIN64; then
- X86_WIN64_TRUE=
- X86_WIN64_FALSE='#'
-else
- X86_WIN64_TRUE='#'
- X86_WIN64_FALSE=
-fi
-
- if test x$TARGET = xX86_DARWIN; then
- X86_DARWIN_TRUE=
- X86_DARWIN_FALSE='#'
-else
- X86_DARWIN_TRUE='#'
- X86_DARWIN_FALSE=
-fi
-
- if test x$TARGET = xALPHA; then
- ALPHA_TRUE=
- ALPHA_FALSE='#'
-else
- ALPHA_TRUE='#'
- ALPHA_FALSE=
-fi
-
- if test x$TARGET = xIA64; then
- IA64_TRUE=
- IA64_FALSE='#'
-else
- IA64_TRUE='#'
- IA64_FALSE=
-fi
-
- if test x$TARGET = xM32R; then
- M32R_TRUE=
- M32R_FALSE='#'
-else
- M32R_TRUE='#'
- M32R_FALSE=
-fi
-
- if test x$TARGET = xM68K; then
- M68K_TRUE=
- M68K_FALSE='#'
-else
- M68K_TRUE='#'
- M68K_FALSE=
-fi
-
- if test x$TARGET = xMOXIE; then
- MOXIE_TRUE=
- MOXIE_FALSE='#'
-else
- MOXIE_TRUE='#'
- MOXIE_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC; then
- POWERPC_TRUE=
- POWERPC_FALSE='#'
-else
- POWERPC_TRUE='#'
- POWERPC_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_AIX; then
- POWERPC_AIX_TRUE=
- POWERPC_AIX_FALSE='#'
-else
- POWERPC_AIX_TRUE='#'
- POWERPC_AIX_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_DARWIN; then
- POWERPC_DARWIN_TRUE=
- POWERPC_DARWIN_FALSE='#'
-else
- POWERPC_DARWIN_TRUE='#'
- POWERPC_DARWIN_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_FREEBSD; then
- POWERPC_FREEBSD_TRUE=
- POWERPC_FREEBSD_FALSE='#'
-else
- POWERPC_FREEBSD_TRUE='#'
- POWERPC_FREEBSD_FALSE=
-fi
-
- if test x$TARGET = xARM; then
- ARM_TRUE=
- ARM_FALSE='#'
-else
- ARM_TRUE='#'
- ARM_FALSE=
-fi
-
- if test x$TARGET = xAVR32; then
- AVR32_TRUE=
- AVR32_FALSE='#'
-else
- AVR32_TRUE='#'
- AVR32_FALSE=
-fi
-
- if test x$TARGET = xLIBFFI_CRIS; then
- LIBFFI_CRIS_TRUE=
- LIBFFI_CRIS_FALSE='#'
-else
- LIBFFI_CRIS_TRUE='#'
- LIBFFI_CRIS_FALSE=
-fi
-
- if test x$TARGET = xFRV; then
- FRV_TRUE=
- FRV_FALSE='#'
-else
- FRV_TRUE='#'
- FRV_FALSE=
-fi
-
- if test x$TARGET = xS390; then
- S390_TRUE=
- S390_FALSE='#'
-else
- S390_TRUE='#'
- S390_FALSE=
-fi
-
- if test x$TARGET = xX86_64; then
- X86_64_TRUE=
- X86_64_FALSE='#'
-else
- X86_64_TRUE='#'
- X86_64_FALSE=
-fi
-
- if test x$TARGET = xSH; then
- SH_TRUE=
- SH_FALSE='#'
-else
- SH_TRUE='#'
- SH_FALSE=
-fi
-
- if test x$TARGET = xSH64; then
- SH64_TRUE=
- SH64_FALSE='#'
-else
- SH64_TRUE='#'
- SH64_FALSE=
-fi
-
- if test x$TARGET = xPA_LINUX; then
- PA_LINUX_TRUE=
- PA_LINUX_FALSE='#'
-else
- PA_LINUX_TRUE='#'
- PA_LINUX_FALSE=
-fi
-
- if test x$TARGET = xPA_HPUX; then
- PA_HPUX_TRUE=
- PA_HPUX_FALSE='#'
-else
- PA_HPUX_TRUE='#'
- PA_HPUX_FALSE=
-fi
-
- if test x$TARGET = xPA64_HPUX; then
- PA64_HPUX_TRUE=
- PA64_HPUX_FALSE='#'
-else
- PA64_HPUX_TRUE='#'
- PA64_HPUX_FALSE=
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_header_stdc=yes
-else
- ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then :
- :
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- return 2;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-for ac_func in memcpy
-do :
- ac_fn_c_check_func "$LINENO" "memcpy" "ac_cv_func_memcpy"
-if test "x$ac_cv_func_memcpy" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_MEMCPY 1
-_ACEOF
-
-fi
-done
-
-ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-if test "x$ac_cv_type_size_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define size_t unsigned int
-_ACEOF
-
-fi
-
-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
-# for constant arguments. Useless!
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
-$as_echo_n "checking for working alloca.h... " >&6; }
-if ${ac_cv_working_alloca_h+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <alloca.h>
-int
-main ()
-{
-char *p = (char *) alloca (2 * sizeof (int));
- if (p) return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_working_alloca_h=yes
-else
- ac_cv_working_alloca_h=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
-$as_echo "$ac_cv_working_alloca_h" >&6; }
-if test $ac_cv_working_alloca_h = yes; then
-
-$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
-$as_echo_n "checking for alloca... " >&6; }
-if ${ac_cv_func_alloca_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# ifdef _MSC_VER
-# include <malloc.h>
-# define alloca _alloca
-# else
-# ifdef HAVE_ALLOCA_H
-# include <alloca.h>
-# else
-# ifdef _AIX
- #pragma alloca
-# else
-# ifndef alloca /* predefined by HP cc +Olibcalls */
-void *alloca (size_t);
-# endif
-# endif
-# endif
-# endif
-#endif
-
-int
-main ()
-{
-char *p = (char *) alloca (1);
- if (p) return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_func_alloca_works=yes
-else
- ac_cv_func_alloca_works=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
-$as_echo "$ac_cv_func_alloca_works" >&6; }
-
-if test $ac_cv_func_alloca_works = yes; then
-
-$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
-
-else
- # The SVR3 libPW and SVR4 libucb both contain incompatible functions
-# that cause trouble. Some versions do not even contain alloca or
-# contain a buggy version. If you still want to use their alloca,
-# use ar to extract alloca.o from them instead of compiling alloca.c.
-
-ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
-
-$as_echo "#define C_ALLOCA 1" >>confdefs.h
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
-$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
-if ${ac_cv_os_cray+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#if defined CRAY && ! defined CRAY2
-webecray
-#else
-wenotbecray
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "webecray" >/dev/null 2>&1; then :
- ac_cv_os_cray=yes
-else
- ac_cv_os_cray=no
-fi
-rm -f conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5
-$as_echo "$ac_cv_os_cray" >&6; }
-if test $ac_cv_os_cray = yes; then
- for ac_func in _getb67 GETB67 getb67; do
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-
-cat >>confdefs.h <<_ACEOF
-#define CRAY_STACKSEG_END $ac_func
-_ACEOF
-
- break
-fi
-
- done
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
-$as_echo_n "checking stack direction for C alloca... " >&6; }
-if ${ac_cv_c_stack_direction+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- ac_cv_c_stack_direction=0
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
-int
-find_stack_direction ()
-{
- static char *addr = 0;
- auto char dummy;
- if (addr == 0)
- {
- addr = &dummy;
- return find_stack_direction ();
- }
- else
- return (&dummy > addr) ? 1 : -1;
-}
-
-int
-main ()
-{
- return find_stack_direction () < 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_c_stack_direction=1
-else
- ac_cv_c_stack_direction=-1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
-$as_echo "$ac_cv_c_stack_direction" >&6; }
-cat >>confdefs.h <<_ACEOF
-#define STACK_DIRECTION $ac_cv_c_stack_direction
-_ACEOF
-
-
-fi
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of double" >&5
-$as_echo_n "checking size of double... " >&6; }
-if ${ac_cv_sizeof_double+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (double))" "ac_cv_sizeof_double" "$ac_includes_default"; then :
-
-else
- if test "$ac_cv_type_double" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (double)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_double=0
- fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_double" >&5
-$as_echo "$ac_cv_sizeof_double" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_DOUBLE $ac_cv_sizeof_double
-_ACEOF
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long double" >&5
-$as_echo_n "checking size of long double... " >&6; }
-if ${ac_cv_sizeof_long_double+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long double))" "ac_cv_sizeof_long_double" "$ac_includes_default"; then :
-
-else
- if test "$ac_cv_type_long_double" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (long double)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_long_double=0
- fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_double" >&5
-$as_echo "$ac_cv_sizeof_long_double" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_LONG_DOUBLE $ac_cv_sizeof_long_double
-_ACEOF
-
-
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
- HAVE_LONG_DOUBLE=0
- if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
- if test $ac_cv_sizeof_long_double != 0; then
- HAVE_LONG_DOUBLE=1
-
-$as_echo "#define HAVE_LONG_DOUBLE 1" >>confdefs.h
-
- fi
- fi
-fi
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
-$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if ${ac_cv_c_bigendian+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_c_bigendian=unknown
- # See if we're dealing with a universal compiler.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifndef __APPLE_CC__
- not a universal capable compiler
- #endif
- typedef int dummy;
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
- # Check for potential -arch flags. It is not universal unless
- # there are at least two -arch flags with different values.
- ac_arch=
- ac_prev=
- for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
- if test -n "$ac_prev"; then
- case $ac_word in
- i?86 | x86_64 | ppc | ppc64)
- if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
- ac_arch=$ac_word
- else
- ac_cv_c_bigendian=universal
- break
- fi
- ;;
- esac
- ac_prev=
- elif test "x$ac_word" = "x-arch"; then
- ac_prev=arch
- fi
- done
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- if test $ac_cv_c_bigendian = unknown; then
- # See if sys/param.h defines the BYTE_ORDER macro.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
- #include <sys/param.h>
-
-int
-main ()
-{
-#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
- && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
- && LITTLE_ENDIAN)
- bogus endian macros
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- # It does; now see whether it defined to BIG_ENDIAN or not.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
- #include <sys/param.h>
-
-int
-main ()
-{
-#if BYTE_ORDER != BIG_ENDIAN
- not big endian
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_c_bigendian=yes
-else
- ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- if test $ac_cv_c_bigendian = unknown; then
- # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <limits.h>
-
-int
-main ()
-{
-#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
- bogus endian macros
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- # It does; now see whether it defined to _BIG_ENDIAN or not.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <limits.h>
-
-int
-main ()
-{
-#ifndef _BIG_ENDIAN
- not big endian
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_c_bigendian=yes
-else
- ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- if test $ac_cv_c_bigendian = unknown; then
- # Compile a test program.
- if test "$cross_compiling" = yes; then :
- # Try to guess by grepping values from an object file.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-short int ascii_mm[] =
- { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
- short int ascii_ii[] =
- { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
- int use_ascii (int i) {
- return ascii_mm[i] + ascii_ii[i];
- }
- short int ebcdic_ii[] =
- { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
- short int ebcdic_mm[] =
- { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
- int use_ebcdic (int i) {
- return ebcdic_mm[i] + ebcdic_ii[i];
- }
- extern int foo;
-
-int
-main ()
-{
-return use_ascii (foo) == use_ebcdic (foo);
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
- ac_cv_c_bigendian=yes
- fi
- if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
- if test "$ac_cv_c_bigendian" = unknown; then
- ac_cv_c_bigendian=no
- else
- # finding both strings is unlikely to happen, but who knows?
- ac_cv_c_bigendian=unknown
- fi
- fi
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-
- /* Are we little or big endian? From Harbison&Steele. */
- union
- {
- long int l;
- char c[sizeof (long int)];
- } u;
- u.l = 1;
- return u.c[sizeof (long int) - 1] == 1;
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_c_bigendian=no
-else
- ac_cv_c_bigendian=yes
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
-$as_echo "$ac_cv_c_bigendian" >&6; }
- case $ac_cv_c_bigendian in #(
- yes)
- $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
-;; #(
- no)
- ;; #(
- universal)
-
-$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
-
- ;; #(
- *)
- as_fn_error $? "unknown endianness
- presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
- esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .cfi pseudo-op support" >&5
-$as_echo_n "checking assembler .cfi pseudo-op support... " >&6; }
-if ${gcc_cv_as_cfi_pseudo_op+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- gcc_cv_as_cfi_pseudo_op=unknown
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".cfi_startproc\n\t.cfi_endproc");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- gcc_cv_as_cfi_pseudo_op=yes
-else
- gcc_cv_as_cfi_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_cfi_pseudo_op" >&5
-$as_echo "$gcc_cv_as_cfi_pseudo_op" >&6; }
- if test "x$gcc_cv_as_cfi_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_CFI_PSEUDO_OP 1" >>confdefs.h
-
- fi
-
-
-if test x$TARGET = xSPARC; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler and linker support unaligned pc related relocs" >&5
-$as_echo_n "checking assembler and linker support unaligned pc related relocs... " >&6; }
-if ${libffi_cv_as_sparc_ua_pcrel+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- save_CFLAGS="$CFLAGS"
- save_LDFLAGS="$LDFLAGS"
- CFLAGS="$CFLAGS -fpic"
- LDFLAGS="$LDFLAGS -shared"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- libffi_cv_as_sparc_ua_pcrel=yes
-else
- libffi_cv_as_sparc_ua_pcrel=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- CFLAGS="$save_CFLAGS"
- LDFLAGS="$save_LDFLAGS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_sparc_ua_pcrel" >&5
-$as_echo "$libffi_cv_as_sparc_ua_pcrel" >&6; }
- if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
-
-$as_echo "#define HAVE_AS_SPARC_UA_PCREL 1" >>confdefs.h
-
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .register pseudo-op support" >&5
-$as_echo_n "checking assembler .register pseudo-op support... " >&6; }
-if ${libffi_cv_as_register_pseudo_op+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_register_pseudo_op=unknown
- # Check if we have .register
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".register %g2, #scratch");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- libffi_cv_as_register_pseudo_op=yes
-else
- libffi_cv_as_register_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_register_pseudo_op" >&5
-$as_echo "$libffi_cv_as_register_pseudo_op" >&6; }
- if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_REGISTER_PSEUDO_OP 1" >>confdefs.h
-
- fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports pc related relocs" >&5
-$as_echo_n "checking assembler supports pc related relocs... " >&6; }
-if ${libffi_cv_as_x86_pcrel+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_x86_pcrel=no
- echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
- if $CC $CFLAGS -c conftest.s > /dev/null; then
- libffi_cv_as_x86_pcrel=yes
- fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_x86_pcrel" >&5
-$as_echo "$libffi_cv_as_x86_pcrel" >&6; }
- if test "x$libffi_cv_as_x86_pcrel" = xyes; then
-
-$as_echo "#define HAVE_AS_X86_PCREL 1" >>confdefs.h
-
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .ascii pseudo-op support" >&5
-$as_echo_n "checking assembler .ascii pseudo-op support... " >&6; }
-if ${libffi_cv_as_ascii_pseudo_op+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_ascii_pseudo_op=unknown
- # Check if we have .ascii
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".ascii \\"string\\"");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- libffi_cv_as_ascii_pseudo_op=yes
-else
- libffi_cv_as_ascii_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_ascii_pseudo_op" >&5
-$as_echo "$libffi_cv_as_ascii_pseudo_op" >&6; }
- if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_ASCII_PSEUDO_OP 1" >>confdefs.h
-
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .string pseudo-op support" >&5
-$as_echo_n "checking assembler .string pseudo-op support... " >&6; }
-if ${libffi_cv_as_string_pseudo_op+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_string_pseudo_op=unknown
- # Check if we have .string
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".string \\"string\\"");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- libffi_cv_as_string_pseudo_op=yes
-else
- libffi_cv_as_string_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_string_pseudo_op" >&5
-$as_echo "$libffi_cv_as_string_pseudo_op" >&6; }
- if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_STRING_PSEUDO_OP 1" >>confdefs.h
-
- fi
-fi
-
-if test x$TARGET = xX86_WIN64; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ prefix in compiled symbols" >&5
-$as_echo_n "checking for _ prefix in compiled symbols... " >&6; }
-if ${lt_cv_sys_symbol_underscore+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_sys_symbol_underscore=no
- cat > conftest.$ac_ext <<_LT_EOF
-void nm_test_func(){}
-int main(){nm_test_func;return 0;}
-_LT_EOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- # Now try to grab the symbols.
- ac_nlist=conftest.nm
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist\""; } >&5
- (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s "$ac_nlist"; then
- # See whether the symbols have a leading underscore.
- if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then
- lt_cv_sys_symbol_underscore=yes
- else
- if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then
- :
- else
- echo "configure: cannot find nm_test_func in $ac_nlist" >&5
- fi
- fi
- else
- echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&5
- fi
- else
- echo "configure: failed program was:" >&5
- cat conftest.c >&5
- fi
- rm -rf conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_symbol_underscore" >&5
-$as_echo "$lt_cv_sys_symbol_underscore" >&6; }
- sys_symbol_underscore=$lt_cv_sys_symbol_underscore
-
-
- if test "x$sys_symbol_underscore" = xyes; then
-
-$as_echo "#define SYMBOL_UNDERSCORE 1" >>confdefs.h
-
- fi
-fi
-
-case "$target" in
- *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
-
-$as_echo "#define FFI_MMAP_EXEC_WRIT 1" >>confdefs.h
-
- ;;
-esac
-
-if test x$TARGET = xX86_64; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports unwind section type" >&5
-$as_echo_n "checking assembler supports unwind section type... " >&6; }
-if ${libffi_cv_as_x86_64_unwind_section_type+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_x86_64_unwind_section_type=yes
- echo '.section .eh_frame,"a",@unwind' > conftest.s
- if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
- libffi_cv_as_x86_64_unwind_section_type=no
- fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_x86_64_unwind_section_type" >&5
-$as_echo "$libffi_cv_as_x86_64_unwind_section_type" >&6; }
- if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
-
-$as_echo "#define HAVE_AS_X86_64_UNWIND_SECTION_TYPE 1" >>confdefs.h
-
- fi
-fi
-
-if test "x$GCC" = "xyes"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether .eh_frame section should be read-only" >&5
-$as_echo_n "checking whether .eh_frame section should be read-only... " >&6; }
-if ${libffi_cv_ro_eh_frame+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_ro_eh_frame=no
- echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
- if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
- if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- elif grep '.section.*eh_frame.*#alloc' conftest.c \
- | grep -v '#write' > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- fi
- fi
- rm -f conftest.*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_ro_eh_frame" >&5
-$as_echo "$libffi_cv_ro_eh_frame" >&6; }
- if test "x$libffi_cv_ro_eh_frame" = xyes; then
-
-$as_echo "#define HAVE_RO_EH_FRAME 1" >>confdefs.h
-
-
-$as_echo "#define EH_FRAME_FLAGS \"a\"" >>confdefs.h
-
- else
-
-$as_echo "#define EH_FRAME_FLAGS \"aw\"" >>confdefs.h
-
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __attribute__((visibility(\"hidden\")))" >&5
-$as_echo_n "checking for __attribute__((visibility(\"hidden\")))... " >&6; }
-if ${libffi_cv_hidden_visibility_attribute+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1 ; }' > conftest.c
- libffi_cv_hidden_visibility_attribute=no
- if { ac_try='${CC-cc} -Werror -S conftest.c -o conftest.s 1>&5'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- if grep '\.hidden.*foo' conftest.s >/dev/null; then
- libffi_cv_hidden_visibility_attribute=yes
- fi
- fi
- rm -f conftest.*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_hidden_visibility_attribute" >&5
-$as_echo "$libffi_cv_hidden_visibility_attribute" >&6; }
- if test $libffi_cv_hidden_visibility_attribute = yes; then
-
-$as_echo "#define HAVE_HIDDEN_VISIBILITY_ATTRIBUTE 1" >>confdefs.h
-
- fi
-fi
-
-
-
-
-
-
-
-
-# Check whether --enable-debug was given.
-if test "${enable_debug+set}" = set; then :
- enableval=$enable_debug; if test "$enable_debug" = "yes"; then
-
-$as_echo "#define FFI_DEBUG 1" >>confdefs.h
-
- fi
-fi
-
- if test "$enable_debug" = "yes"; then
- FFI_DEBUG_TRUE=
- FFI_DEBUG_FALSE='#'
-else
- FFI_DEBUG_TRUE='#'
- FFI_DEBUG_FALSE=
-fi
-
-
-# Check whether --enable-structs was given.
-if test "${enable_structs+set}" = set; then :
- enableval=$enable_structs; if test "$enable_structs" = "no"; then
-
-$as_echo "#define FFI_NO_STRUCTS 1" >>confdefs.h
-
- fi
-fi
-
-
-# Check whether --enable-raw-api was given.
-if test "${enable_raw_api+set}" = set; then :
- enableval=$enable_raw_api; if test "$enable_raw_api" = "no"; then
-
-$as_echo "#define FFI_NO_RAW_API 1" >>confdefs.h
-
- fi
-fi
-
-
-# Check whether --enable-purify-safety was given.
-if test "${enable_purify_safety+set}" = set; then :
- enableval=$enable_purify_safety; if test "$enable_purify_safety" = "yes"; then
-
-$as_echo "#define USING_PURIFY 1" >>confdefs.h
-
- fi
-fi
-
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- toolexecdir='$(exec_prefix)/$(target_alias)'
- toolexeclibdir='$(toolexecdir)/lib'
- else
- toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
- toolexeclibdir='$(libdir)'
- fi
- multi_os_directory=`$CC -print-multi-os-directory`
- case $multi_os_directory in
- .) ;; # Avoid trailing /.
- *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
- esac
-
-
-fi
-
-if test "${multilib}" = "yes"; then
- multilib_arg="--enable-multilib"
-else
- multilib_arg=
-fi
-
-ac_config_commands="$ac_config_commands include"
-
-ac_config_commands="$ac_config_commands src"
-
-
-ac_config_links="$ac_config_links include/ffitarget.h:src/$TARGETDIR/ffitarget.h"
-
-
-ac_config_files="$ac_config_files include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc"
-
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems. If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
- for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
-
- (set) 2>&1 |
- case $as_nl`(ac_space=' '; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- # `set' does not quote correctly, so add quotes: double-quote
- # substitution turns \\\\ into \\, and sed turns \\ into \.
- sed -n \
- "s/'/'\\\\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- ;; #(
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-) |
- sed '
- /^ac_cv_env_/b end
- t clear
- :clear
- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
- t end
- s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
- if test -w "$cache_file"; then
- if test "x$cache_file" != "x/dev/null"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
- if test ! -f "$cache_file" || test -h "$cache_file"; then
- cat confcache >"$cache_file"
- else
- case $cache_file in #(
- */* | ?:*)
- mv -f confcache "$cache_file"$$ &&
- mv -f "$cache_file"$$ "$cache_file" ;; #(
- *)
- mv -f confcache "$cache_file" ;;
- esac
- fi
- fi
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
- fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-U=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
- # 1. Remove the extension, and $U if already installed.
- ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
- ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
- # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
- # will be set to the directory where LIBOBJS objects are built.
- as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
- as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
- if test -n "$EXEEXT"; then
- am__EXEEXT_TRUE=
- am__EXEEXT_FALSE='#'
-else
- am__EXEEXT_TRUE='#'
- am__EXEEXT_FALSE=
-fi
-
-if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
- as_fn_error $? "conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
- as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCCAS_TRUE}" && test -z "${am__fastdepCCAS_FALSE}"; then
- as_fn_error $? "conditional \"am__fastdepCCAS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
- as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${TESTSUBDIR_TRUE}" && test -z "${TESTSUBDIR_FALSE}"; then
- as_fn_error $? "conditional \"TESTSUBDIR\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MIPS_TRUE}" && test -z "${MIPS_FALSE}"; then
- as_fn_error $? "conditional \"MIPS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SPARC_TRUE}" && test -z "${SPARC_FALSE}"; then
- as_fn_error $? "conditional \"SPARC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_TRUE}" && test -z "${X86_FALSE}"; then
- as_fn_error $? "conditional \"X86\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_FREEBSD_TRUE}" && test -z "${X86_FREEBSD_FALSE}"; then
- as_fn_error $? "conditional \"X86_FREEBSD\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_WIN32_TRUE}" && test -z "${X86_WIN32_FALSE}"; then
- as_fn_error $? "conditional \"X86_WIN32\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_WIN64_TRUE}" && test -z "${X86_WIN64_FALSE}"; then
- as_fn_error $? "conditional \"X86_WIN64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_DARWIN_TRUE}" && test -z "${X86_DARWIN_FALSE}"; then
- as_fn_error $? "conditional \"X86_DARWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${ALPHA_TRUE}" && test -z "${ALPHA_FALSE}"; then
- as_fn_error $? "conditional \"ALPHA\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${IA64_TRUE}" && test -z "${IA64_FALSE}"; then
- as_fn_error $? "conditional \"IA64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${M32R_TRUE}" && test -z "${M32R_FALSE}"; then
- as_fn_error $? "conditional \"M32R\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${M68K_TRUE}" && test -z "${M68K_FALSE}"; then
- as_fn_error $? "conditional \"M68K\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MOXIE_TRUE}" && test -z "${MOXIE_FALSE}"; then
- as_fn_error $? "conditional \"MOXIE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_TRUE}" && test -z "${POWERPC_FALSE}"; then
- as_fn_error $? "conditional \"POWERPC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_AIX_TRUE}" && test -z "${POWERPC_AIX_FALSE}"; then
- as_fn_error $? "conditional \"POWERPC_AIX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_DARWIN_TRUE}" && test -z "${POWERPC_DARWIN_FALSE}"; then
- as_fn_error $? "conditional \"POWERPC_DARWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_FREEBSD_TRUE}" && test -z "${POWERPC_FREEBSD_FALSE}"; then
- as_fn_error $? "conditional \"POWERPC_FREEBSD\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${ARM_TRUE}" && test -z "${ARM_FALSE}"; then
- as_fn_error $? "conditional \"ARM\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${AVR32_TRUE}" && test -z "${AVR32_FALSE}"; then
- as_fn_error $? "conditional \"AVR32\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${LIBFFI_CRIS_TRUE}" && test -z "${LIBFFI_CRIS_FALSE}"; then
- as_fn_error $? "conditional \"LIBFFI_CRIS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${FRV_TRUE}" && test -z "${FRV_FALSE}"; then
- as_fn_error $? "conditional \"FRV\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${S390_TRUE}" && test -z "${S390_FALSE}"; then
- as_fn_error $? "conditional \"S390\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_64_TRUE}" && test -z "${X86_64_FALSE}"; then
- as_fn_error $? "conditional \"X86_64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SH_TRUE}" && test -z "${SH_FALSE}"; then
- as_fn_error $? "conditional \"SH\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SH64_TRUE}" && test -z "${SH64_FALSE}"; then
- as_fn_error $? "conditional \"SH64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA_LINUX_TRUE}" && test -z "${PA_LINUX_FALSE}"; then
- as_fn_error $? "conditional \"PA_LINUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA_HPUX_TRUE}" && test -z "${PA_HPUX_FALSE}"; then
- as_fn_error $? "conditional \"PA_HPUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA64_HPUX_TRUE}" && test -z "${PA64_HPUX_FALSE}"; then
- as_fn_error $? "conditional \"PA64_HPUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-if test -z "${FFI_DEBUG_TRUE}" && test -z "${FFI_DEBUG_FALSE}"; then
- as_fn_error $? "conditional \"FFI_DEBUG\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-: "${CONFIG_STATUS=./config.status}"
-ac_write_fail=0
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in #(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- fi
- $as_echo "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} # as_fn_error
-
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} # as_fn_exit
-
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
-
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -p'
- fi
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in #(
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by libffi $as_me 3.0.11-rc2, which was
-generated by GNU Autoconf 2.68. Invocation command line was
-
- CONFIG_FILES = $CONFIG_FILES
- CONFIG_HEADERS = $CONFIG_HEADERS
- CONFIG_LINKS = $CONFIG_LINKS
- CONFIG_COMMANDS = $CONFIG_COMMANDS
- $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-case $ac_config_headers in *"
-"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
-esac
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-config_links="$ac_config_links"
-config_commands="$ac_config_commands"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration. Unless the files
-and actions are specified as TAGs, all are instantiated by default.
-
-Usage: $0 [OPTION]... [TAG]...
-
- -h, --help print this help, then exit
- -V, --version print version number and configuration settings, then exit
- --config print configuration, then exit
- -q, --quiet, --silent
- do not print progress messages
- -d, --debug don't remove temporary files
- --recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
- --header=FILE[:TEMPLATE]
- instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration links:
-$config_links
-
-Configuration commands:
-$config_commands
-
-Report bugs to <http://github.com/atgreen/libffi/issues>."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-ac_cs_version="\\
-libffi config.status 3.0.11-rc2
-configured by $0, generated by GNU Autoconf 2.68,
- with options \\"\$ac_cs_config\\"
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-INSTALL='$INSTALL'
-MKDIR_P='$MKDIR_P'
-AWK='$AWK'
-test -n "\$AWK" || AWK=awk
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
-ac_need_defaults=:
-while test $# != 0
-do
- case $1 in
- --*=?*)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
- ac_shift=:
- ;;
- --*=)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=
- ac_shift=:
- ;;
- *)
- ac_option=$1
- ac_optarg=$2
- ac_shift=shift
- ;;
- esac
-
- case $ac_option in
- # Handling of the options.
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- ac_cs_recheck=: ;;
- --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
- $as_echo "$ac_cs_version"; exit ;;
- --config | --confi | --conf | --con | --co | --c )
- $as_echo "$ac_cs_config"; exit ;;
- --debug | --debu | --deb | --de | --d | -d )
- debug=: ;;
- --file | --fil | --fi | --f )
- $ac_shift
- case $ac_optarg in
- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
- '') as_fn_error $? "missing file argument" ;;
- esac
- as_fn_append CONFIG_FILES " '$ac_optarg'"
- ac_need_defaults=false;;
- --header | --heade | --head | --hea )
- $ac_shift
- case $ac_optarg in
- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- as_fn_append CONFIG_HEADERS " '$ac_optarg'"
- ac_need_defaults=false;;
- --he | --h)
- # Conflict between --help and --header
- as_fn_error $? "ambiguous option: \`$1'
-Try \`$0 --help' for more information.";;
- --help | --hel | -h )
- $as_echo "$ac_cs_usage"; exit ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil | --si | --s)
- ac_cs_silent=: ;;
-
- # This is an error.
- -*) as_fn_error $? "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
-
- *) as_fn_append ac_config_targets " $1"
- ac_need_defaults=false ;;
-
- esac
- shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
- exec 6>/dev/null
- ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-if \$ac_cs_recheck; then
- set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
- shift
- \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
- CONFIG_SHELL='$SHELL'
- export CONFIG_SHELL
- exec "\$@"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
- $as_echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-#
-# INIT-COMMANDS
-#
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-sed_quote_subst='$sed_quote_subst'
-double_quote_subst='$double_quote_subst'
-delay_variable_subst='$delay_variable_subst'
-macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
-macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
-enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
-enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
-pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
-enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
-SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
-ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
-host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
-host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
-host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
-build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
-build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
-build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
-SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
-Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
-GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
-EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
-FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
-LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
-NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
-LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
-max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
-ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
-exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
-lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
-lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
-lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
-reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
-reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
-OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
-deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
-file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
-file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
-want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
-DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
-sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
-AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
-AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
-archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
-STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
-RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
-old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
-lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
-CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
-CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
-compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
-GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
-nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
-lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
-objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
-MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
-lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
-need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
-MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
-DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
-NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
-LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
-OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
-libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
-shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
-extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
-enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
-export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
-whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
-compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
-old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
-archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
-module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
-allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
-no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_ld='`$ECHO "$hardcode_libdir_flag_spec_ld" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
-hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
-hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
-hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
-hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
-hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
-inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
-link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
-always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
-export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
-exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
-include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
-prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
-postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
-file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
-variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
-need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
-version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
-runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
-libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
-library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
-soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
-install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
-postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
-finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
-hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
-sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
-sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
-enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
-old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
-striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
-
-LTCC='$LTCC'
-LTCFLAGS='$LTCFLAGS'
-compiler='$compiler_DEFAULT'
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
- eval 'cat <<_LTECHO_EOF
-\$1
-_LTECHO_EOF'
-}
-
-# Quote evaled strings.
-for var in SHELL \
-ECHO \
-SED \
-GREP \
-EGREP \
-FGREP \
-LD \
-NM \
-LN_S \
-lt_SP2NL \
-lt_NL2SP \
-reload_flag \
-OBJDUMP \
-deplibs_check_method \
-file_magic_cmd \
-file_magic_glob \
-want_nocaseglob \
-DLLTOOL \
-sharedlib_from_linklib_cmd \
-AR \
-AR_FLAGS \
-archiver_list_spec \
-STRIP \
-RANLIB \
-CC \
-CFLAGS \
-compiler \
-lt_cv_sys_global_symbol_pipe \
-lt_cv_sys_global_symbol_to_cdecl \
-lt_cv_sys_global_symbol_to_c_name_address \
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
-nm_file_list_spec \
-lt_prog_compiler_no_builtin_flag \
-lt_prog_compiler_pic \
-lt_prog_compiler_wl \
-lt_prog_compiler_static \
-lt_cv_prog_compiler_c_o \
-need_locks \
-MANIFEST_TOOL \
-DSYMUTIL \
-NMEDIT \
-LIPO \
-OTOOL \
-OTOOL64 \
-shrext_cmds \
-export_dynamic_flag_spec \
-whole_archive_flag_spec \
-compiler_needs_object \
-with_gnu_ld \
-allow_undefined_flag \
-no_undefined_flag \
-hardcode_libdir_flag_spec \
-hardcode_libdir_flag_spec_ld \
-hardcode_libdir_separator \
-exclude_expsyms \
-include_expsyms \
-file_list_spec \
-variables_saved_for_relink \
-libname_spec \
-library_names_spec \
-soname_spec \
-install_override_mode \
-finish_eval \
-old_striplib \
-striplib; do
- case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
- *[\\\\\\\`\\"\\\$]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
- ;;
- *)
- eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
- ;;
- esac
-done
-
-# Double-quote double-evaled strings.
-for var in reload_cmds \
-old_postinstall_cmds \
-old_postuninstall_cmds \
-old_archive_cmds \
-extract_expsyms_cmds \
-old_archive_from_new_cmds \
-old_archive_from_expsyms_cmds \
-archive_cmds \
-archive_expsym_cmds \
-module_cmds \
-module_expsym_cmds \
-export_symbols_cmds \
-prelink_cmds \
-postlink_cmds \
-postinstall_cmds \
-postuninstall_cmds \
-finish_cmds \
-sys_lib_search_path_spec \
-sys_lib_dlsearch_path_spec; do
- case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
- *[\\\\\\\`\\"\\\$]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
- ;;
- *)
- eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
- ;;
- esac
-done
-
-ac_aux_dir='$ac_aux_dir'
-xsi_shell='$xsi_shell'
-lt_shell_append='$lt_shell_append'
-
-# See if we are running on zsh, and set the options which allow our
-# commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
-fi
-
-
- PACKAGE='$PACKAGE'
- VERSION='$VERSION'
- TIMESTAMP='$TIMESTAMP'
- RM='$RM'
- ofile='$ofile'
-
-
-
-TARGETDIR="$TARGETDIR"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
- case $ac_config_target in
- "fficonfig.h") CONFIG_HEADERS="$CONFIG_HEADERS fficonfig.h" ;;
- "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
- "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
- "include") CONFIG_COMMANDS="$CONFIG_COMMANDS include" ;;
- "src") CONFIG_COMMANDS="$CONFIG_COMMANDS src" ;;
- "include/ffitarget.h") CONFIG_LINKS="$CONFIG_LINKS include/ffitarget.h:src/$TARGETDIR/ffitarget.h" ;;
- "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
- "include/ffi.h") CONFIG_FILES="$CONFIG_FILES include/ffi.h" ;;
- "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- "testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;;
- "man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;;
- "libffi.pc") CONFIG_FILES="$CONFIG_FILES libffi.pc" ;;
-
- *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
- esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used. Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
- test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
- test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
- test "${CONFIG_LINKS+set}" = set || CONFIG_LINKS=$config_links
- test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience. Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
- tmp= ac_tmp=
- trap 'exit_status=$?
- : "${ac_tmp:=$tmp}"
- { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
-' 0
- trap 'as_fn_exit 1' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
- tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
- test -d "$tmp"
-} ||
-{
- tmp=./conf$$-$RANDOM
- (umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-ac_tmp=$tmp
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
- eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
- ac_cs_awk_cr='\\r'
-else
- ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
-_ACEOF
-
-
-{
- echo "cat >conf$$subs.awk <<_ACEOF" &&
- echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
- echo "_ACEOF"
-} >conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
- . ./conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-
- ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
- if test $ac_delim_n = $ac_delim_num; then
- break
- elif $ac_last_try; then
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\)..*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\)..*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^""]/{
- N
- s/\n//
-}
-' >>$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
- for (key in S) S_is_set[key] = 1
- FS = ""
-
-}
-{
- line = $ 0
- nfields = split(line, field, "@")
- substed = 0
- len = length(field[1])
- for (i = 2; i < nfields; i++) {
- key = field[i]
- keylen = length(key)
- if (S_is_set[key]) {
- value = S[key]
- line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
- len += length(value) + length(field[++i])
- substed = 1
- } else
- len += 1 + keylen
- }
-
- print line
-}
-
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
- sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
- cat
-fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
- || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
-# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
-h
-s///
-s/^/:/
-s/[ ]*$/:/
-s/:\$(srcdir):/:/g
-s/:\${srcdir}:/:/g
-s/:@srcdir@:/:/g
-s/^:*//
-s/:*$//
-x
-s/\(=[ ]*\).*/\1/
-G
-s/\n//
-s/^[^=]*=[ ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
-
-# Set up the scripts for CONFIG_HEADERS section.
-# No need to generate them if there are no CONFIG_HEADERS.
-# This happens for instance with `./config.status Makefile'.
-if test -n "$CONFIG_HEADERS"; then
-cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
-BEGIN {
-_ACEOF
-
-# Transform confdefs.h into an awk script `defines.awk', embedded as
-# here-document in config.status, that substitutes the proper values into
-# config.h.in to produce config.h.
-
-# Create a delimiter string that does not exist in confdefs.h, to ease
-# handling of long lines.
-ac_delim='%!_!# '
-for ac_last_try in false false :; do
- ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
- if test -z "$ac_tt"; then
- break
- elif $ac_last_try; then
- as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-
-# For the awk script, D is an array of macro values keyed by name,
-# likewise P contains macro parameters if any. Preserve backslash
-# newline sequences.
-
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-sed -n '
-s/.\{148\}/&'"$ac_delim"'/g
-t rset
-:rset
-s/^[ ]*#[ ]*define[ ][ ]*/ /
-t def
-d
-:def
-s/\\$//
-t bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3"/p
-s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
-d
-:bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3\\\\\\n"\\/p
-t cont
-s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
-t cont
-d
-:cont
-n
-s/.\{148\}/&'"$ac_delim"'/g
-t clear
-:clear
-s/\\$//
-t bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/"/p
-d
-:bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
-b cont
-' <confdefs.h | sed '
-s/'"$ac_delim"'/"\\\
-"/g' >>$CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- for (key in D) D_is_set[key] = 1
- FS = ""
-}
-/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
- line = \$ 0
- split(line, arg, " ")
- if (arg[1] == "#") {
- defundef = arg[2]
- mac1 = arg[3]
- } else {
- defundef = substr(arg[1], 2)
- mac1 = arg[2]
- }
- split(mac1, mac2, "(") #)
- macro = mac2[1]
- prefix = substr(line, 1, index(line, defundef) - 1)
- if (D_is_set[macro]) {
- # Preserve the white space surrounding the "#".
- print prefix "define", macro P[macro] D[macro]
- next
- } else {
- # Replace #undef with comments. This is necessary, for example,
- # in the case of _POSIX_SOURCE, which is predefined and required
- # on some systems where configure will not decide to define it.
- if (defundef == "undef") {
- print "/*", prefix defundef, macro, "*/"
- next
- }
- }
-}
-{ print }
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
- as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
-fi # test -n "$CONFIG_HEADERS"
-
-
-eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :L $CONFIG_LINKS :C $CONFIG_COMMANDS"
-shift
-for ac_tag
-do
- case $ac_tag in
- :[FHLC]) ac_mode=$ac_tag; continue;;
- esac
- case $ac_mode$ac_tag in
- :[FHL]*:*);;
- :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
- :[FH]-) ac_tag=-:-;;
- :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
- esac
- ac_save_IFS=$IFS
- IFS=:
- set x $ac_tag
- IFS=$ac_save_IFS
- shift
- ac_file=$1
- shift
-
- case $ac_mode in
- :L) ac_source=$1;;
- :[FH])
- ac_file_inputs=
- for ac_f
- do
- case $ac_f in
- -) ac_f="$ac_tmp/stdin";;
- *) # Look for the file first in the build tree, then in the source tree
- # (if the path is not absolute). The absolute path cannot be DOS-style,
- # because $ac_f cannot contain `:'.
- test -f "$ac_f" ||
- case $ac_f in
- [\\/$]*) false;;
- *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
- esac ||
- as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
- esac
- case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
- as_fn_append ac_file_inputs " '$ac_f'"
- done
-
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- configure_input='Generated from '`
- $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
- `' by configure.'
- if test x"$ac_file" != x-; then
- configure_input="$ac_file. $configure_input"
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
- fi
- # Neutralize special characters interpreted by sed in replacement strings.
- case $configure_input in #(
- *\&* | *\|* | *\\* )
- ac_sed_conf_input=`$as_echo "$configure_input" |
- sed 's/[\\\\&|]/\\\\&/g'`;; #(
- *) ac_sed_conf_input=$configure_input;;
- esac
-
- case $ac_tag in
- *:-:* | *:-) cat >"$ac_tmp/stdin" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
- esac
- ;;
- esac
-
- ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- as_dir="$ac_dir"; as_fn_mkdir_p
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
- case $ac_mode in
- :F)
- #
- # CONFIG_FILE
- #
-
- case $INSTALL in
- [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
- *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
- esac
- ac_MKDIR_P=$MKDIR_P
- case $MKDIR_P in
- [\\/$]* | ?:[\\/]* ) ;;
- */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
- esac
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
- p
- q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- ac_datarootdir_hack='
- s&@datadir@&$datadir&g
- s&@docdir@&$docdir&g
- s&@infodir@&$infodir&g
- s&@localedir@&$localedir&g
- s&@mandir@&$mandir&g
- s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-s&@INSTALL@&$ac_INSTALL&;t t
-s&@MKDIR_P@&$ac_MKDIR_P&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
- >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
- { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
- { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
- "$ac_tmp/out"`; test -z "$ac_out"; } &&
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined" >&2;}
-
- rm -f "$ac_tmp/stdin"
- case $ac_file in
- -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
- *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
- esac \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- ;;
- :H)
- #
- # CONFIG_HEADER
- #
- if test x"$ac_file" != x-; then
- {
- $as_echo "/* $configure_input */" \
- && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
- } >"$ac_tmp/config.h" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
- else
- rm -f "$ac_file"
- mv "$ac_tmp/config.h" "$ac_file" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- fi
- else
- $as_echo "/* $configure_input */" \
- && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
- || as_fn_error $? "could not create -" "$LINENO" 5
- fi
-# Compute "$ac_file"'s index in $config_headers.
-_am_arg="$ac_file"
-_am_stamp_count=1
-for _am_header in $config_headers :; do
- case $_am_header in
- $_am_arg | $_am_arg:* )
- break ;;
- * )
- _am_stamp_count=`expr $_am_stamp_count + 1` ;;
- esac
-done
-echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
-$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$_am_arg" : 'X\(//\)[^/]' \| \
- X"$_am_arg" : 'X\(//\)$' \| \
- X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$_am_arg" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`/stamp-h$_am_stamp_count
- ;;
- :L)
- #
- # CONFIG_LINK
- #
-
- if test "$ac_source" = "$ac_file" && test "$srcdir" = '.'; then
- :
- else
- # Prefer the file from the source tree if names are identical.
- if test "$ac_source" = "$ac_file" || test ! -r "$ac_source"; then
- ac_source=$srcdir/$ac_source
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: linking $ac_source to $ac_file" >&5
-$as_echo "$as_me: linking $ac_source to $ac_file" >&6;}
-
- if test ! -r "$ac_source"; then
- as_fn_error $? "$ac_source: file not found" "$LINENO" 5
- fi
- rm -f "$ac_file"
-
- # Try a relative symlink, then a hard link, then a copy.
- case $ac_source in
- [\\/$]* | ?:[\\/]* ) ac_rel_source=$ac_source ;;
- *) ac_rel_source=$ac_top_build_prefix$ac_source ;;
- esac
- ln -s "$ac_rel_source" "$ac_file" 2>/dev/null ||
- ln "$ac_source" "$ac_file" 2>/dev/null ||
- cp -p "$ac_source" "$ac_file" ||
- as_fn_error $? "cannot link or copy $ac_source to $ac_file" "$LINENO" 5
- fi
- ;;
- :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-$as_echo "$as_me: executing $ac_file commands" >&6;}
- ;;
- esac
-
-
- case $ac_file$ac_mode in
- "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
- # Autoconf 2.62 quotes --file arguments for eval, but not when files
- # are listed without --file. Let's play safe and only enable the eval
- # if we detect the quoting.
- case $CONFIG_FILES in
- *\'*) eval set x "$CONFIG_FILES" ;;
- *) set x $CONFIG_FILES ;;
- esac
- shift
- for mf
- do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # Grep'ing the whole file is not good either: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
- dirpart=`$as_dirname -- "$mf" ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$mf" : 'X\(//\)[^/]' \| \
- X"$mf" : 'X\(//\)$' \| \
- X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$mf" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`$as_dirname -- "$file" ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$file" : 'X\(//\)[^/]' \| \
- X"$file" : 'X\(//\)$' \| \
- X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- as_dir=$dirpart/$fdir; as_fn_mkdir_p
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
- done
-}
- ;;
- "libtool":C)
-
- # See if we are running on zsh, and set the options which allow our
- # commands through without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
-
- cfgfile="${ofile}T"
- trap "$RM \"$cfgfile\"; exit 1" 1 2 15
- $RM "$cfgfile"
-
- cat <<_LT_EOF >> "$cfgfile"
-#! $SHELL
-
-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-# Inc.
-# Written by Gordon Matzigkeit, 1996
-#
-# This file is part of GNU Libtool.
-#
-# GNU Libtool is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
-#
-# GNU Libtool is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING. If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-
-# The names of the tagged configurations supported by this script.
-available_tags=""
-
-# ### BEGIN LIBTOOL CONFIG
-
-# Which release of libtool.m4 was used?
-macro_version=$macro_version
-macro_revision=$macro_revision
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# What type of objects to build.
-pic_mode=$pic_mode
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# An echo program that protects backslashes.
-ECHO=$lt_ECHO
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# A sed program that does not truncate output.
-SED=$lt_SED
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="\$SED -e 1s/^X//"
-
-# A grep program that handles long lines.
-GREP=$lt_GREP
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# A literal string matcher.
-FGREP=$lt_FGREP
-
-# A BSD- or MS-compatible name lister.
-NM=$lt_NM
-
-# Whether we need soft or hard links.
-LN_S=$lt_LN_S
-
-# What is the maximum length of a command?
-max_cmd_len=$max_cmd_len
-
-# Object file suffix (normally "o").
-objext=$ac_objext
-
-# Executable file suffix (normally "").
-exeext=$exeext
-
-# whether the shell understands "unset".
-lt_unset=$lt_unset
-
-# turn spaces into newlines.
-SP2NL=$lt_lt_SP2NL
-
-# turn newlines into spaces.
-NL2SP=$lt_lt_NL2SP
-
-# convert \$build file names to \$host format.
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-
-# convert \$build files to toolchain format.
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-
-# An object symbol dumper.
-OBJDUMP=$lt_OBJDUMP
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method = "file_magic".
-file_magic_cmd=$lt_file_magic_cmd
-
-# How to find potential files when deplibs_check_method = "file_magic".
-file_magic_glob=$lt_file_magic_glob
-
-# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
-want_nocaseglob=$lt_want_nocaseglob
-
-# DLL creation program.
-DLLTOOL=$lt_DLLTOOL
-
-# Command to associate shared and link libraries.
-sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
-
-# The archiver.
-AR=$lt_AR
-
-# Flags to create an archive.
-AR_FLAGS=$lt_AR_FLAGS
-
-# How to feed a file listing to the archiver.
-archiver_list_spec=$lt_archiver_list_spec
-
-# A symbol stripping program.
-STRIP=$lt_STRIP
-
-# Commands used to install an old-style archive.
-RANLIB=$lt_RANLIB
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Whether to use a lock for old archive extraction.
-lock_old_archive_extraction=$lock_old_archive_extraction
-
-# A C compiler.
-LTCC=$lt_CC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_CFLAGS
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration.
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair.
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# Transform the output of nm in a C name address pair when lib prefix is needed.
-global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
-
-# Specify filename containing input files for \$NM.
-nm_file_list_spec=$lt_nm_file_list_spec
-
-# The root where to search for dependent libraries,and in which our libraries should be installed.
-lt_sysroot=$lt_sysroot
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# Used to examine libraries when file_magic_cmd begins with "file".
-MAGIC_CMD=$MAGIC_CMD
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Manifest tool.
-MANIFEST_TOOL=$lt_MANIFEST_TOOL
-
-# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
-DSYMUTIL=$lt_DSYMUTIL
-
-# Tool to change global to local symbols on Mac OS X.
-NMEDIT=$lt_NMEDIT
-
-# Tool to manipulate fat objects and archives on Mac OS X.
-LIPO=$lt_LIPO
-
-# ldd/readelf like tool for Mach-O binaries on Mac OS X.
-OTOOL=$lt_OTOOL
-
-# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
-OTOOL64=$lt_OTOOL64
-
-# Old archive suffix (normally "a").
-libext=$libext
-
-# Shared library suffix (normally ".so").
-shrext_cmds=$lt_shrext_cmds
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at link time.
-variables_saved_for_relink=$lt_variables_saved_for_relink
-
-# Do we need the "lib" prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Library versioning type.
-version_type=$version_type
-
-# Shared library runtime path variable.
-runpath_var=$runpath_var
-
-# Shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Permission mode override for installation of shared libraries.
-install_override_mode=$lt_install_override_mode
-
-# Command to use after installation of a shared archive.
-postinstall_cmds=$lt_postinstall_cmds
-
-# Command to use after uninstallation of a shared archive.
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# As "finish_cmds", except a single script fragment to be evaled but
-# not shown.
-finish_eval=$lt_finish_eval
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Compile-time system search path for libraries.
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries.
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-
-# The linker used to build libraries.
-LD=$lt_LD
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# Commands used to build an old-style archive.
-old_archive_cmds=$lt_old_archive_cmds
-
-# A language specific compiler.
-CC=$lt_compiler
-
-# Is the compiler the GNU compiler?
-with_gcc=$GCC
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc
-
-# Whether or not to disallow shared libs when runtime libs are static.
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec
-
-# Whether the compiler copes with passing no objects directly.
-compiler_needs_object=$lt_compiler_needs_object
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
-
-# Commands used to build a shared archive.
-archive_cmds=$lt_archive_cmds
-archive_expsym_cmds=$lt_archive_expsym_cmds
-
-# Commands used to build a loadable module if different from building
-# a shared archive.
-module_cmds=$lt_module_cmds
-module_expsym_cmds=$lt_module_expsym_cmds
-
-# Whether we are building with GNU ld or not.
-with_gnu_ld=$lt_with_gnu_ld
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag
-
-# Flag that enforces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
-
-# If ld is used when linking, flag to hardcode \$libdir into a binary
-# during linking. This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
-
-# Whether we need a single "-rpath" flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary.
-hardcode_direct=$hardcode_direct
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary and the resulting library dependency is
-# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
-# library is relocated.
-hardcode_direct_absolute=$hardcode_direct_absolute
-
-# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
-# into the resulting binary.
-hardcode_minus_L=$hardcode_minus_L
-
-# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
-# into the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var
-
-# Set to "yes" if building a shared library automatically hardcodes DIR
-# into the library and all subsequent libraries and executables linked
-# against it.
-hardcode_automatic=$hardcode_automatic
-
-# Set to yes if linker adds runtime paths of dependent libraries
-# to runtime path list.
-inherit_rpath=$inherit_rpath
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs
-
-# Set to "yes" if exported symbols are required.
-always_export_symbols=$always_export_symbols
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms
-
-# Commands necessary for linking programs (against libraries) with templates.
-prelink_cmds=$lt_prelink_cmds
-
-# Commands necessary for finishing linking programs.
-postlink_cmds=$lt_postlink_cmds
-
-# Specify filename containing input files.
-file_list_spec=$lt_file_list_spec
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action
-
-# ### END LIBTOOL CONFIG
-
-_LT_EOF
-
- case $host_os in
- aix3*)
- cat <<\_LT_EOF >> "$cfgfile"
-# AIX sometimes has problems with the GCC collect2 program. For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
-fi
-_LT_EOF
- ;;
- esac
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-
- # We use sed instead of cat because bash on DJGPP gets confused if
- # if finds mixed CR/LF and LF-only lines. Since sed operates in
- # text mode, it properly converts lines to CR/LF. This bash problem
- # is reportedly fixed, but why not run on old versions too?
- sed '$q' "$ltmain" >> "$cfgfile" \
- || (rm -f "$cfgfile"; exit 1)
-
- if test x"$xsi_shell" = xyes; then
- sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
-func_dirname ()\
-{\
-\ case ${1} in\
-\ */*) func_dirname_result="${1%/*}${2}" ;;\
-\ * ) func_dirname_result="${3}" ;;\
-\ esac\
-} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_basename ()$/,/^} # func_basename /c\
-func_basename ()\
-{\
-\ func_basename_result="${1##*/}"\
-} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
-func_dirname_and_basename ()\
-{\
-\ case ${1} in\
-\ */*) func_dirname_result="${1%/*}${2}" ;;\
-\ * ) func_dirname_result="${3}" ;;\
-\ esac\
-\ func_basename_result="${1##*/}"\
-} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
-func_stripname ()\
-{\
-\ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
-\ # positional parameters, so assign one to ordinary parameter first.\
-\ func_stripname_result=${3}\
-\ func_stripname_result=${func_stripname_result#"${1}"}\
-\ func_stripname_result=${func_stripname_result%"${2}"}\
-} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
-func_split_long_opt ()\
-{\
-\ func_split_long_opt_name=${1%%=*}\
-\ func_split_long_opt_arg=${1#*=}\
-} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
-func_split_short_opt ()\
-{\
-\ func_split_short_opt_arg=${1#??}\
-\ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
-} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
-func_lo2o ()\
-{\
-\ case ${1} in\
-\ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
-\ *) func_lo2o_result=${1} ;;\
-\ esac\
-} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_xform ()$/,/^} # func_xform /c\
-func_xform ()\
-{\
- func_xform_result=${1%.*}.lo\
-} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_arith ()$/,/^} # func_arith /c\
-func_arith ()\
-{\
- func_arith_result=$(( $* ))\
-} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_len ()$/,/^} # func_len /c\
-func_len ()\
-{\
- func_len_result=${#1}\
-} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-fi
-
-if test x"$lt_shell_append" = xyes; then
- sed -e '/^func_append ()$/,/^} # func_append /c\
-func_append ()\
-{\
- eval "${1}+=\\${2}"\
-} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
-func_append_quoted ()\
-{\
-\ func_quote_for_eval "${2}"\
-\ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
-} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- # Save a `func_append' function call where possible by direct use of '+='
- sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
- test 0 -eq $? || _lt_function_replace_fail=:
-else
- # Save a `func_append' function call even when '+=' is not available
- sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
- test 0 -eq $? || _lt_function_replace_fail=:
-fi
-
-if test x"$_lt_function_replace_fail" = x":"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
-$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
-fi
-
-
- mv -f "$cfgfile" "$ofile" ||
- (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
- chmod +x "$ofile"
-
- ;;
- "include":C) test -d include || mkdir include ;;
- "src":C)
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
- ;;
-
- esac
-done # for ac_tag
-
-
-as_fn_exit 0
-_ACEOF
-ac_clean_files=$ac_clean_files_save
-
-test $ac_write_fail = 0 ||
- as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded. So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status. When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
- ac_cs_success=:
- ac_config_status_args=
- test "$silent" = yes &&
- ac_config_status_args="$ac_config_status_args --quiet"
- exec 5>/dev/null
- $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
- exec 5>>config.log
- # Use ||, not &&, to avoid exiting from the if with $? = 1, which
- # would make configure fail if this is the last instruction.
- $ac_cs_success || as_fn_exit 1
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
-
diff --git a/.pc/darwin11/configure.ac b/.pc/darwin11/configure.ac
deleted file mode 100644
index 815efc7..0000000
--- a/.pc/darwin11/configure.ac
+++ /dev/null
@@ -1,499 +0,0 @@
-dnl Process this with autoconf to create configure
-
-AC_PREREQ(2.63)
-
-AC_INIT([libffi], [3.0.11-rc2], [http://github.com/atgreen/libffi/issues])
-AC_CONFIG_HEADERS([fficonfig.h])
-
-AC_CANONICAL_SYSTEM
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-AX_ENABLE_BUILDDIR
-
-AM_INIT_AUTOMAKE
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-# Also save and restore CFLAGS, since AC_PROG_CC will come up with
-# defaults of its own if none are provided.
-
-m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS])
-m4_define([_AC_ARG_VAR_PRECIOUS],[])
-save_CFLAGS=$CFLAGS
-AC_PROG_CC
-CFLAGS=$save_CFLAGS
-m4_undefine([_AC_ARG_VAR_PRECIOUS])
-m4_rename([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
-
-AC_SUBST(CFLAGS)
-
-AM_PROG_AS
-AM_PROG_CC_C_O
-AC_PROG_LIBTOOL
-AC_CONFIG_MACRO_DIR([m4])
-
-AX_CC_MAXOPT
-AX_CFLAGS_WARN_ALL
-if test "x$GCC" = "xyes"; then
- CFLAGS="$CFLAGS -fexceptions"
-fi
-
-AM_MAINTAINER_MODE
-
-AC_CHECK_HEADERS(sys/mman.h)
-AC_CHECK_FUNCS(mmap)
-AC_FUNC_MMAP_BLACKLIST
-
-dnl The -no-testsuite modules omit the test subdir.
-AM_CONDITIONAL(TESTSUBDIR, test -d $srcdir/testsuite)
-
-TARGETDIR="unknown"
-case "$host" in
- alpha*-*-*)
- TARGET=ALPHA; TARGETDIR=alpha;
- # Support 128-bit long double, changeable via command-line switch.
- HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
- ;;
-
- arm*-*-*)
- TARGET=ARM; TARGETDIR=arm
- ;;
-
- amd64-*-freebsd* | amd64-*-openbsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- amd64-*-freebsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- avr32*-*-*)
- TARGET=AVR32; TARGETDIR=avr32
- ;;
-
- cris-*-*)
- TARGET=LIBFFI_CRIS; TARGETDIR=cris
- ;;
-
- frv-*-*)
- TARGET=FRV; TARGETDIR=frv
- ;;
-
- hppa*-*-linux* | parisc*-*-linux* | hppa*-*-openbsd*)
- TARGET=PA_LINUX; TARGETDIR=pa
- ;;
- hppa*64-*-hpux*)
- TARGET=PA64_HPUX; TARGETDIR=pa
- ;;
- hppa*-*-hpux*)
- TARGET=PA_HPUX; TARGETDIR=pa
- ;;
-
- i?86-*-freebsd* | i?86-*-openbsd*)
- TARGET=X86_FREEBSD; TARGETDIR=x86
- ;;
- i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2* | i?86-*-interix*)
- TARGET=X86_WIN32; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
- i?86-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
- i?86-*-solaris2.1[[0-9]]*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
- i?86-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- ia64*-*-*)
- TARGET=IA64; TARGETDIR=ia64
- ;;
-
- m32r*-*-*)
- TARGET=M32R; TARGETDIR=m32r
- ;;
-
- m68k-*-*)
- TARGET=M68K; TARGETDIR=m68k
- ;;
-
- mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
- TARGET=MIPS; TARGETDIR=mips
- ;;
- mips*-*-linux* | mips*-*-openbsd*)
- # Support 128-bit long double for NewABI.
- HAVE_LONG_DOUBLE='defined(__mips64)'
- TARGET=MIPS; TARGETDIR=mips
- ;;
-
- moxie-*-*)
- TARGET=MOXIE; TARGETDIR=moxie
- ;;
-
- powerpc*-*-linux* | powerpc-*-sysv*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-beos*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-darwin* | powerpc64-*-darwin*)
- TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
- ;;
- powerpc-*-aix* | rs6000-*-aix*)
- TARGET=POWERPC_AIX; TARGETDIR=powerpc
- ;;
- powerpc-*-freebsd* | powerpc-*-openbsd*)
- TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
- ;;
- powerpc64-*-freebsd*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc*-*-rtems*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
-
- s390-*-* | s390x-*-*)
- TARGET=S390; TARGETDIR=s390
- ;;
-
- sh-*-* | sh[[34]]*-*-*)
- TARGET=SH; TARGETDIR=sh
- ;;
- sh64-*-* | sh5*-*-*)
- TARGET=SH64; TARGETDIR=sh64
- ;;
-
- sparc*-*-*)
- TARGET=SPARC; TARGETDIR=sparc
- ;;
-
- x86_64-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
-
- x86_64-*-cygwin* | x86_64-*-mingw*)
- TARGET=X86_WIN64; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
-
- x86_64-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-esac
-
-AC_SUBST(AM_RUNTESTFLAGS)
-AC_SUBST(AM_LTLDFLAGS)
-
-if test $TARGETDIR = unknown; then
- AC_MSG_ERROR(["libffi has not been ported to $host."])
-fi
-
-AM_CONDITIONAL(MIPS, test x$TARGET = xMIPS)
-AM_CONDITIONAL(SPARC, test x$TARGET = xSPARC)
-AM_CONDITIONAL(X86, test x$TARGET = xX86)
-AM_CONDITIONAL(X86_FREEBSD, test x$TARGET = xX86_FREEBSD)
-AM_CONDITIONAL(X86_WIN32, test x$TARGET = xX86_WIN32)
-AM_CONDITIONAL(X86_WIN64, test x$TARGET = xX86_WIN64)
-AM_CONDITIONAL(X86_DARWIN, test x$TARGET = xX86_DARWIN)
-AM_CONDITIONAL(ALPHA, test x$TARGET = xALPHA)
-AM_CONDITIONAL(IA64, test x$TARGET = xIA64)
-AM_CONDITIONAL(M32R, test x$TARGET = xM32R)
-AM_CONDITIONAL(M68K, test x$TARGET = xM68K)
-AM_CONDITIONAL(MOXIE, test x$TARGET = xMOXIE)
-AM_CONDITIONAL(POWERPC, test x$TARGET = xPOWERPC)
-AM_CONDITIONAL(POWERPC_AIX, test x$TARGET = xPOWERPC_AIX)
-AM_CONDITIONAL(POWERPC_DARWIN, test x$TARGET = xPOWERPC_DARWIN)
-AM_CONDITIONAL(POWERPC_FREEBSD, test x$TARGET = xPOWERPC_FREEBSD)
-AM_CONDITIONAL(ARM, test x$TARGET = xARM)
-AM_CONDITIONAL(AVR32, test x$TARGET = xAVR32)
-AM_CONDITIONAL(LIBFFI_CRIS, test x$TARGET = xLIBFFI_CRIS)
-AM_CONDITIONAL(FRV, test x$TARGET = xFRV)
-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)
-AM_CONDITIONAL(PA_LINUX, test x$TARGET = xPA_LINUX)
-AM_CONDITIONAL(PA_HPUX, test x$TARGET = xPA_HPUX)
-AM_CONDITIONAL(PA64_HPUX, test x$TARGET = xPA64_HPUX)
-
-AC_HEADER_STDC
-AC_CHECK_FUNCS(memcpy)
-AC_FUNC_ALLOCA
-
-AC_CHECK_SIZEOF(double)
-AC_CHECK_SIZEOF(long double)
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
- HAVE_LONG_DOUBLE=0
- if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
- if test $ac_cv_sizeof_long_double != 0; then
- HAVE_LONG_DOUBLE=1
- AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the long double type and it is bigger than a double])
- fi
- fi
-fi
-AC_SUBST(HAVE_LONG_DOUBLE)
-
-AC_C_BIGENDIAN
-
-GCC_AS_CFI_PSEUDO_OP
-
-if test x$TARGET = xSPARC; then
- AC_CACHE_CHECK([assembler and linker support unaligned pc related relocs],
- libffi_cv_as_sparc_ua_pcrel, [
- save_CFLAGS="$CFLAGS"
- save_LDFLAGS="$LDFLAGS"
- CFLAGS="$CFLAGS -fpic"
- LDFLAGS="$LDFLAGS -shared"
- AC_TRY_LINK([asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");],,
- [libffi_cv_as_sparc_ua_pcrel=yes],
- [libffi_cv_as_sparc_ua_pcrel=no])
- CFLAGS="$save_CFLAGS"
- LDFLAGS="$save_LDFLAGS"])
- if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
- AC_DEFINE(HAVE_AS_SPARC_UA_PCREL, 1,
- [Define if your assembler and linker support unaligned PC relative relocs.])
- fi
-
- AC_CACHE_CHECK([assembler .register pseudo-op support],
- libffi_cv_as_register_pseudo_op, [
- libffi_cv_as_register_pseudo_op=unknown
- # Check if we have .register
- AC_TRY_COMPILE([asm (".register %g2, #scratch");],,
- [libffi_cv_as_register_pseudo_op=yes],
- [libffi_cv_as_register_pseudo_op=no])
- ])
- if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
- AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP, 1,
- [Define if your assembler supports .register.])
- fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
- AC_CACHE_CHECK([assembler supports pc related relocs],
- libffi_cv_as_x86_pcrel, [
- libffi_cv_as_x86_pcrel=no
- echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
- if $CC $CFLAGS -c conftest.s > /dev/null; then
- libffi_cv_as_x86_pcrel=yes
- fi
- ])
- if test "x$libffi_cv_as_x86_pcrel" = xyes; then
- AC_DEFINE(HAVE_AS_X86_PCREL, 1,
- [Define if your assembler supports PC relative relocs.])
- fi
-
- AC_CACHE_CHECK([assembler .ascii pseudo-op support],
- libffi_cv_as_ascii_pseudo_op, [
- libffi_cv_as_ascii_pseudo_op=unknown
- # Check if we have .ascii
- AC_TRY_COMPILE([asm (".ascii \\"string\\"");],,
- [libffi_cv_as_ascii_pseudo_op=yes],
- [libffi_cv_as_ascii_pseudo_op=no])
- ])
- if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
- AC_DEFINE(HAVE_AS_ASCII_PSEUDO_OP, 1,
- [Define if your assembler supports .ascii.])
- fi
-
- AC_CACHE_CHECK([assembler .string pseudo-op support],
- libffi_cv_as_string_pseudo_op, [
- libffi_cv_as_string_pseudo_op=unknown
- # Check if we have .string
- AC_TRY_COMPILE([asm (".string \\"string\\"");],,
- [libffi_cv_as_string_pseudo_op=yes],
- [libffi_cv_as_string_pseudo_op=no])
- ])
- if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
- AC_DEFINE(HAVE_AS_STRING_PSEUDO_OP, 1,
- [Define if your assembler supports .string.])
- fi
-fi
-
-if test x$TARGET = xX86_WIN64; then
- LT_SYS_SYMBOL_USCORE
- if test "x$sys_symbol_underscore" = xyes; then
- AC_DEFINE(SYMBOL_UNDERSCORE, 1, [Define if symbols are underscored.])
- fi
-fi
-
-
-FFI_EXEC_TRAMPOLINE_TABLE=0
-case "$target" in
- *arm*-apple-darwin*)
- FFI_EXEC_TRAMPOLINE_TABLE=1
- AC_DEFINE(FFI_EXEC_TRAMPOLINE_TABLE, 1,
- [Cannot use PROT_EXEC on this target, so, we revert to
- alternative means])
- ;;
- *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
- AC_DEFINE(FFI_MMAP_EXEC_WRIT, 1,
- [Cannot use malloc on this target, so, we revert to
- alternative means])
- ;;
-esac
-AM_CONDITIONAL(FFI_EXEC_TRAMPOLINE_TABLE, test x$FFI_EXEC_TRAMPOLINE_TABLE = x1)
-AC_SUBST(FFI_EXEC_TRAMPOLINE_TABLE)
-
-if test x$TARGET = xX86_64; then
- AC_CACHE_CHECK([assembler supports unwind section type],
- libffi_cv_as_x86_64_unwind_section_type, [
- libffi_cv_as_x86_64_unwind_section_type=yes
- echo '.section .eh_frame,"a",@unwind' > conftest.s
- if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
- libffi_cv_as_x86_64_unwind_section_type=no
- fi
- ])
- if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
- AC_DEFINE(HAVE_AS_X86_64_UNWIND_SECTION_TYPE, 1,
- [Define if your assembler supports unwind section type.])
- fi
-fi
-
-if test "x$GCC" = "xyes"; then
- AC_CACHE_CHECK([whether .eh_frame section should be read-only],
- libffi_cv_ro_eh_frame, [
- libffi_cv_ro_eh_frame=no
- echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
- if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
- if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- elif grep '.section.*eh_frame.*#alloc' conftest.c \
- | grep -v '#write' > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- fi
- fi
- rm -f conftest.*
- ])
- if test "x$libffi_cv_ro_eh_frame" = xyes; then
- AC_DEFINE(HAVE_RO_EH_FRAME, 1,
- [Define if .eh_frame sections should be read-only.])
- AC_DEFINE(EH_FRAME_FLAGS, "a",
- [Define to the flags needed for the .section .eh_frame directive. ])
- else
- AC_DEFINE(EH_FRAME_FLAGS, "aw",
- [Define to the flags needed for the .section .eh_frame directive. ])
- fi
-
- AC_CACHE_CHECK([for __attribute__((visibility("hidden")))],
- libffi_cv_hidden_visibility_attribute, [
- echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1 ; }' > conftest.c
- libffi_cv_hidden_visibility_attribute=no
- if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
- if grep '\.hidden.*foo' conftest.s >/dev/null; then
- libffi_cv_hidden_visibility_attribute=yes
- fi
- fi
- rm -f conftest.*
- ])
- if test $libffi_cv_hidden_visibility_attribute = yes; then
- AC_DEFINE(HAVE_HIDDEN_VISIBILITY_ATTRIBUTE, 1,
- [Define if __attribute__((visibility("hidden"))) is supported.])
- fi
-fi
-
-AH_BOTTOM([
-#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
-])
-
-AC_SUBST(TARGET)
-AC_SUBST(TARGETDIR)
-
-AC_SUBST(SHELL)
-
-AC_ARG_ENABLE(debug,
-[ --enable-debug debugging mode],
- if test "$enable_debug" = "yes"; then
- AC_DEFINE(FFI_DEBUG, 1, [Define this if you want extra debugging.])
- fi)
-AM_CONDITIONAL(FFI_DEBUG, test "$enable_debug" = "yes")
-
-AC_ARG_ENABLE(structs,
-[ --disable-structs omit code for struct support],
- if test "$enable_structs" = "no"; then
- AC_DEFINE(FFI_NO_STRUCTS, 1, [Define this is you do not want support for aggregate types.])
- fi)
-
-AC_ARG_ENABLE(raw-api,
-[ --disable-raw-api make the raw api unavailable],
- if test "$enable_raw_api" = "no"; then
- AC_DEFINE(FFI_NO_RAW_API, 1, [Define this is you do not want support for the raw API.])
- fi)
-
-AC_ARG_ENABLE(purify-safety,
-[ --enable-purify-safety purify-safe mode],
- if test "$enable_purify_safety" = "yes"; then
- AC_DEFINE(USING_PURIFY, 1, [Define this if you are using Purify and want to suppress spurious messages.])
- fi)
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- toolexecdir='$(exec_prefix)/$(target_alias)'
- toolexeclibdir='$(toolexecdir)/lib'
- else
- toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
- toolexeclibdir='$(libdir)'
- fi
- multi_os_directory=`$CC -print-multi-os-directory`
- case $multi_os_directory in
- .) ;; # Avoid trailing /.
- *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
- esac
- AC_SUBST(toolexecdir)
- AC_SUBST(toolexeclibdir)
-fi
-
-if test "${multilib}" = "yes"; then
- multilib_arg="--enable-multilib"
-else
- multilib_arg=
-fi
-
-AC_CONFIG_COMMANDS(include, [test -d include || mkdir include])
-AC_CONFIG_COMMANDS(src, [
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
-], [TARGETDIR="$TARGETDIR"])
-
-AC_CONFIG_LINKS(include/ffitarget.h:src/$TARGETDIR/ffitarget.h)
-
-AC_CONFIG_FILES(include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc)
-
-AC_OUTPUT
diff --git a/.pc/debug-build/.timestamp b/.pc/debug-build/.timestamp
deleted file mode 100644
index e69de29..0000000
--- a/.pc/debug-build/.timestamp
+++ /dev/null
diff --git a/.pc/debug-build/ChangeLog b/.pc/debug-build/ChangeLog
deleted file mode 100644
index f98f1c4..0000000
--- a/.pc/debug-build/ChangeLog
+++ /dev/null
@@ -1,4537 +0,0 @@
-2012-02-10 Kai Tietz <ktietz@redhat.com>
-
- * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
- windows target.
- * configure: Regenerated.
-
-2012-02-08 Kai Tietz <ktietz@redhat.com>
-
- * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
- also FFI_THISCALL.
- * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
- (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
- (ffi_prep_closure_loc): Add FFI_THISCALL support.
- * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
- * src/x86/win32.S (ffi_closure_THISCALL): New closure code
- for thiscall-calling convention.
- * testsuite/libffi.call/closure_thiscall.c: New test.
-
-2012-01-28 Kai Tietz <ktietz@redhat.com>
-
- * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
- argument to prototype for specify calling-convention.
- (ffi_call): Add support for stdcall/thiscall convention.
- (ffi_prep_args): Likewise.
- (ffi_raw_call): Likewise.
- * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
- FFI_FASTCALL.
- * src/x86/win32.S (_ffi_call_win32): Add support for
- fastcall/thiscall calling-convention calls.
- * testsuite/libffi.call/fastthis1_win32.c: New test.
- * testsuite/libffi.call/fastthis2_win32.c: New test.
- * testsuite/libffi.call/fastthis3_win32.c: New test.
- * testsuite/libffi.call/strlen2_win32.c: New test.
- * testsuite/libffi.call/many2_win32.c: New test.
- * testsuite/libffi.call/struct1_win32.c: New test.
- * testsuite/libffi.call/struct2_win32.c: New test.
-
-2012-01-23 Andreas Schwab <schwab@linux-m68k.org>
-
- * src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
- mc68000. Test for __HAVE_68881__ in addition to __MC68881__.
-
-2012-01-19 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/48496
- * src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
-
-2012-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (i?86-*-*): Set TARGET to X86_64.
- * configure: Regenerate.
-
-2011-12-07 Andrew Pinski <apinski@cavium.com>
-
- PR libffi/50051
- * src/mips/n32.S: Add ".set mips4".
-
-2011-11-21 Andreas Tobler <andreast@fgznet.ch>
-
- * configure: Regenerate.
-
-2011-11-10 Richard Henderson <rth@redhat.com>
-
- * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
- * configure, aclocal.m4: Rebuild.
-
-2011-09-04 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/49594
- * src/powerpc/darwin_closure.S (stubs): Make the stub binding
- helper reference track the architecture pointer size.
-
-2011-08-25 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
- instructions.
- * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
-
-2011-07-11 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46660
- * testsuite/libffi.call/cls_double_va.c: xfail dg-output on
- mips-sgi-irix6*.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
- PRId8 instead of %hhu, %hhd.
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
- PRIu8): Define.
- [__sgi__] (PRId8, PRIu8): Define.
-
-2011-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
- Define.
- Use them to handle ELF vs. ECOFF differences.
- [__osf__] (_GLOBAL__F_ffi_call_osf): Define.
-
-2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46661
- * testsuite/libffi.call/cls_pointer.c (main): Cast void * to
- uintptr_t first.
- * testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
- Handle case when CPU variant does not have long double support.
- * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
- and cores with soft floating point.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * configure.ac: Add mips*-*-rtems* support.
- * configure: Regenerate.
- * src/mips/ffitarget.h: Ensure needed constants are available
- for targets which do not have sgidefs.h.
-
-2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR target/40125
- * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
- * configure: Regenerate.
-
-2010-12-18 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/29152
- PR libffi/42378
- * src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
- (FFI_TRAMPOLINE_SIZE): Update for Darwin64.
- * src/powerpc/darwin.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
- backslashes.
- (libffi_cv_as_string_pseudo_op): Likewise.
- * configure: Regenerate.
-
-2010-12-03 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
- (ffi_closure_VFP): Same.
- (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
- directive.
-
-2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
- (PRIuPTR): Define.
-
-2010-11-29 Richard Henderson <rth@redhat.com>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
- (.eh_frame): Use FDE_ENCODING.
- (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
-
-2010-11-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp: Rename ...
- * testsuite/lib/libffi.exp: ... to this.
- * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
- * libffi/testsuite/libffi.special/special.exp: Likewise.
-
-2010-10-28 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
- code, new parameter, and return value. Update comments.
- (ffi_prep_cif_machdep): Add case for VFP struct return values. Add
- call to layout_vfp_args().
- (ffi_call_SYSV): Update declaration.
- (ffi_call_VFP): New declaration.
- (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
- when ABI is FFI_VFP.
- (ffi_closure_VFP): New declaration.
- (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
- ffi_prep_incoming_args_SYSV().
- (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
- case handling.
- (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
- construction under VFP hard-float.
- (rec_vfp_type_p): New function.
- (vfp_type_p): Same.
- (place_vfp_arg): Same.
- (layout_vfp_args): Same.
- * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
- based on __ARM_PCS_VFP.
- (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
- fields.
- (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
- (FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
- * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
- direct call. Move function pointer load upwards.
- (ffi_call_VFP): New function.
- (ffi_closure_VFP): Same.
-
- * testsuite/lib/libffi-dg.exp (check-flags): New function.
- (dg-skip-if): New function.
- * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
- and compiler options include -mfloat-abi=hard.
- * testsuite/libffi.call/cls_longdouble_va.c: Same.
-
-2010-10-01 Jakub Jelinek <jakub@redhat.com>
-
- PR libffi/45677
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
- a multiple of 8.
- * testsuite/libffi.call/many2.c: New test.
-
-2010-08-20 Mark Wielaard <mjw@redhat.com>
-
- * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
- returns NULL.
-
-2010-08-09 Andreas Tobler <andreast@fgznet.ch>
-
- * configure.ac: Add target powerpc64-*-freebsd*.
- * configure: Regenerate.
- * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
- -mlong-double-128 only to linux targets.
- * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
- * testsuite/libffi.call/cls_longdouble.c: Likewise.
- * testsuite/libffi.call/huge_struct.c: Likewise.
-
-2010-08-04 Dan Witte <dwitte@mozilla.com>
-
- * src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64
- platforms.
- * src/x86/ffi.c: Remove redundant ifdef checks.
- * src/prep_cif.c: Push stack space computation into src/x86/ffi.c
- for X86_ANY so return value space doesn't get added twice.
-
-2010-08-03 Neil Rashbrooke <neil@parkwaycc.co.uk>
-
- * msvcc.sh: Don't pass -safeseh to ml64 because behavior is buggy.
-
-2010-07-22 Dan Witte <dwitte@mozilla.com>
-
- * src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
- * src/prep_cif.c: Fix ABI assertion.
- * src/cris/ffi.c: Ditto.
-
-2010-07-10 Evan Phoenix <evan@fallingsnow.net>
-
- * src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
-
-2010-07-07 Dan Horák <dan@danny.cz>
-
- * include/ffi.h.in: Protect #define with #ifndef.
- * src/powerpc/ffitarget.h: Ditto.
- * src/s390/ffitarget.h: Ditto.
- * src/sparc/ffitarget.h: Ditto.
-
-2010-07-07 Neil Roberts <neil@linux.intel.com>
-
- * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
- 16-bytes.
-
-2010-07-02 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
- * Makefile.in: Regenerated.
-
-2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
- output, too.
- (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
- (libffi_cv_as_string_pseudo_op): Check for .string.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
-
-2010-05-11 Dan Witte <dwitte@mozilla.com>
-
- * doc/libffi.tex: Document previous change.
-
-2010-05-11 Makoto Kato <m_kato@ga2.so-net.ne.jp>
-
- * src/x86/ffi.c (ffi_call): Don't copy structs passed by value.
-
-2010-05-05 Michael Kohler <michaelkohler@live.com>
-
- * src/dlmalloc.c (dlfree): Fix spelling.
- * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
- * configure.ac: Ditto.
- * configure: Rebuilt.
-
-2010-04-13 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Build with -W3 instead of -Wall.
- * src/powerpc/ffi_darwin.c: Remove build warnings.
- * src/x86/ffi.c: Ditto.
- * src/x86/ffitarget.h: Ditto.
-
-2010-04-12 Dan Witte <dwitte@mozilla.com>
- Walter Meinl <wuno@lsvw.de>
-
- * configure.ac: Add OS/2 support.
- * configure: Rebuilt.
- * src/closures.c: Ditto.
- * src/dlmalloc.c: Ditto.
- * src/x86/win32.S: Ditto.
-
-2010-04-07 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
-
-2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2010-03-30 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Disable build warnings.
- * README (tested): Clarify windows build procedure.
-
-2010-03-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * libffi/src/x86/unix64.S (.eh_frame)
- [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
-
-2010-03-14 Matthias Klose <doko@ubuntu.com>
-
- * src/x86/ffi64.c: Fix typo in comment.
- * src/x86/ffi.c: Use /* ... */ comment style.
-
-2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/libffi.texi (The Closure API): Fix typo.
- * doc/libffi.info: Remove.
-
-2010-02-15 Matthias Klose <doko@ubuntu.com>
-
- * src/arm/sysv.S (__ARM_ARCH__): Define for processor
- __ARM_ARCH_7EM__.
-
-2010-01-15 Anthony Green <green@redhat.com>
-
- * README: Add notes on building with Microsoft Visual C++.
-
-2010-01-15 Daniel Witte <dwitte@mozilla.com>
-
- * msvcc.sh: New file.
-
- * src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
- * src/x86/ffi.c: Tweak function declaration and remove excess
- parens.
- * include/ffi.h.in: Add __declspec(align(8)) to typedef struct
- ffi_closure.
-
- * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
- function ffi_call_win32 on X86_WIN32.
- * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
- (ffi_call_STDCALL): Remove.
-
- * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
- to ffi_prep_cif_machdep for x86.
- * src/x86/ffi.c (ffi_prep_cif_machdep): To here.
-
-2010-01-15 Oliver Kiddle <okiddle@yahoo.co.uk>
-
- * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
- Sun Studio compiler compatibility.
-
-2010-01-12 Conrad Irwin <conrad.irwin@gmail.com>
-
- * doc/libffi.texi: Add closure example.
-
-2010-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40701
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
- PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
- * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
- alpha*-dec-osf*.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/return_ll1.c: Likewise.
- * testsuite/libffi.call/stret_medium2.c: Likewise.
- * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
- MAP_FAILED to char *.
-
-2010-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
-
-2009-12-31 Anthony Green <green@redhat.com>
-
- * README: Update for libffi 3.0.9.
-
-2009-12-27 Matthias Klose <doko@ubuntu.com>
-
- * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
- appropriate.
- * configure: Rebuilt.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
- avr32*-*-*.
- * testsuite/libffi.call/cls_double_va.c: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
- and inttypes.h.
- * testsuite/libffi.special/unwindtest.cc: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-openbsd*.
- * configure: Rebuilt.
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
- openbsd programs with -lpthread.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
- mips*-*-* and arm*-*-*.
- * testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c,
- testsuite/libffi.call/stret_medium2.c,
- testsuite/libffi.call/stret_medium.c,
- testsuite/libffi.call/stret_large.c,
- testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
-
-2009-12-31 Kay Tietz <ktietz70@googlemail.com>
-
- * testsuite/libffi.call/ffitest.h,
- testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
- definitions.
-
-2009-12-31 Carlo Bramini <carlo.bramix@libero.it>
-
- * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
- * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
-
-2009-12-31 Anthony Green <green@redhat.com>
- Blake Chaffin.
-
- * testsuite/libffi.call/huge_struct.c: New test case from Blake
- Chaffin @ Apple.
-
-2009-12-28 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
- local variables.
- (aix_adjust_aggregate_sizes): New function.
- (ffi_prep_cif_machdep): Call it.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
- * configure: Regenerate.
- * fficonfig.h.in: Likewise.
- * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
- Solaris/x86.
-
-2009-12-26 Andreas Schwab <schwab@linux-m68k.org>
-
- * 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.
-
-2009-12-25 Matthias Klose <doko@ubuntu.com>
-
- * man/ffi_call.3: Fix #include in examples.
- * doc/libffi.texi: Add dircategory.
-
-2009-12-25 Frank Everdij <f.p.x.everdij@tudelft.nl>
-
- * include/ffi.h.in: Placed '__GNUC__' ifdef around
- '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
- IRIX MIPSPro c99.
- * include/ffi_common.h: Added '__sgi' define to non
- '__attribute__((__mode__()))' integer typedefs.
- * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
- ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
- (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
- FFI_LONGDOUBLE support and alignment(N32 only).
- * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
- fixed non '__attribute__((__mode__()))' integer typedefs.
- * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
- since they are Linux/GNU Assembler specific.
-
-2009-12-25 Bradley Smith <brad@brad-smith.co.uk>
-
- * configure.ac, Makefile.am, src/avr32/ffi.c,
- src/avr32/ffitarget.h,
- src/avr32/sysv.S: Add AVR32 port.
- * configure, Makefile.in: Rebuilt.
-
-2009-12-21 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
- * configure: Regenerate.
-
-2009-12-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
- type on HP-UX.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
- double' arguments.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40700
- * src/closures.c [X86_64 && __sun__ && __svr4__]
- (FFI_MMAP_EXEC_WRIT): Define.
-
-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.
-
-2009-12-07 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
- typo.
-
-2009-12-05 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
- code.
- * src/powerpc/aix_closure.S: Same.
-
-2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
- linux64_closure.S.
-
-2009-12-04 Uros Bizjak <ubizjak@gmail.com>
-
- 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.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
- pfr for long double split between fpr13 and stack.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
- fparg_count twice for long double.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- PR libffi/42243
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03 Uros Bizjak <ubizjak@gmail.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
- Remove xfails for x86 linux targets.
-
-2009-12-02 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
- case.
-
-2009-12-01 David Edelsohn <edelsohn@gnu.org>
-
- * 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.
-
-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.
-
-2009-11-02 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/41908
- * testsuite/libffi.call/testclosure.c: New test.
-
-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.
-
-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.
-
-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.
-
-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.
-
-2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.am (install-html, install-pdf): Remove.
- * Makefile.in: Regenerate.
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24 Dave Korn <dave.korn.cygwin@gmail.com>
-
- 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.
-
-2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
-
- 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.
-
-2009-07-01 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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 "".)
-
-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.
-
-2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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.
-
-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.
-
-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.
-
-2009-06-16 Andrew Haley <aph@redhat.com>
-
- * configure.ac (TARGETDIR): Add missing blank lines.
- * configure: Regenerate.
-
-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.
-
-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.
-
-2009-06-12 Andrew Haley <aph@redhat.com>
-
- * Makefile.am: Remove info_TEXINFOS.
-
-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-11 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * 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.
-
-2009-06-09 Andrew Haley <aph@redhat.com>
-
- * src/x86/freebsd.S: Add missing file.
-
-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).
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * README: Import from libffi 3.0.8.
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Add xfails.
- * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
- * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
- * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
- * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
- * testsuite/libffi.call/stret_medium.c: Likewise.
- * testsuite/libffi.call/stret_large2.c: Likewise.
- * testsuite/libffi.call/stret_large.c: Likewise.
-
-2008-12-26 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_align_longdouble.c,
- testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
- failures on x86_64 cygwin/mingw.
-
-2008-12-22 Timothy Wall <twall@users.sf.net>
-
- * 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_loc_fn0.c,
- testsuite/libffi.call/closure_stdcall.c,
- testsuite/libffi.call/cls_align_pointer.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
- pointer to integer (intptr_t).
- * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_dbls_struct.c,
- testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c,
- testsuite/libffi.call/err_bad_abi.c: Clean up failures from
- compiler warnings.
-
-2008-03-04 Anthony Green <green@redhat.com>
- Blake Chaffin
- hos@tamanegi.org
-
- * testsuite/libffi.call/cls_align_longdouble_split2.c
- testsuite/libffi.call/cls_align_longdouble_split.c
- testsuite/libffi.call/cls_dbls_struct.c
- testsuite/libffi.call/cls_double_va.c
- testsuite/libffi.call/cls_longdouble.c
- testsuite/libffi.call/cls_longdouble_va.c
- testsuite/libffi.call/cls_pointer.c
- testsuite/libffi.call/cls_pointer_stack.c
- testsuite/libffi.call/err_bad_abi.c
- testsuite/libffi.call/err_bad_typedef.c
- testsuite/libffi.call/stret_large2.c
- testsuite/libffi.call/stret_large.c
- testsuite/libffi.call/stret_medium2.c
- testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
- libffi.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
- stdcall changes.
-
-2008-02-26 Anthony Green <green@redhat.com>
- Thomas Heller <theller@ctypes.org>
-
- * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
- comment.
-
-2008-02-03 Timothy Wall <twall@users.sf.net>
-
- * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
- offset based on code pointer, not data pointer.
-
-2008-01-31 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
- closures.
- * src/x86/ffitarget.h: Increase size of trampoline for stdcall
- closures.
- * src/x86/win32.S: Add assembly for stdcall closure.
- * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Change void (*)() to void (*)(void).
- * src/x86/ffi.c: Likewise.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ppc_closure.S: Insert licence header.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/m68k/sysv.S: Likewise.
-
- * src/sh64/ffi.c: Change void (*)() to void (*)(void).
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/m32r/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi64.c: Likewise.
- * src/alpha/ffi.c: Likewise.
- * src/alpha/osf.S: Likewise.
- * src/frv/ffi.c: Likewise.
- * src/s390/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/pa/hpux32.S: Likewise.
- * src/ia64/unix.S: Likewise.
- * src/ia64/ffi.c: Likewise.
- * src/sparc/ffi.c: Likewise.
- * src/mips/ffi.c: Likewise.
- * src/sh/ffi.c: Likewise.
-
-2008-02-15 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
- Define (conditionally), and use it to include cachectl.h.
- (ffi_prep_closure_loc): Fix cache flushing.
- * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- include/ffi.h.in,
- src/arm/ffitarget.h,
- src/arm/ffi.c,
- src/arm/sysv.S,
- src/powerpc/ffitarget.h,
- src/closures.c,
- src/sh64/ffitarget.h,
- src/sh64/ffi.c,
- src/sh64/sysv.S,
- src/types.c,
- src/x86/ffi64.c,
- src/x86/ffitarget.h,
- src/x86/win32.S,
- src/x86/darwin.S,
- src/x86/ffi.c,
- src/x86/sysv.S,
- src/x86/unix64.S,
- src/alpha/ffitarget.h,
- src/alpha/ffi.c,
- src/alpha/osf.S,
- src/m68k/ffitarget.h,
- src/frv/ffitarget.h,
- src/frv/ffi.c,
- src/s390/ffitarget.h,
- src/s390/sysv.S,
- src/cris/ffitarget.h,
- src/pa/linux.S,
- src/pa/ffitarget.h,
- src/pa/ffi.c,
- src/raw_api.c,
- src/ia64/ffitarget.h,
- src/ia64/unix.S,
- src/ia64/ffi.c,
- src/ia64/ia64_flags.h,
- src/java_raw_api.c,
- src/debug.c,
- src/sparc/v9.S,
- src/sparc/ffitarget.h,
- src/sparc/ffi.c,
- src/sparc/v8.S,
- src/mips/ffitarget.h,
- src/mips/n32.S,
- src/mips/o32.S,
- src/mips/ffi.c,
- src/prep_cif.c,
- src/sh/ffitarget.h,
- src/sh/ffi.c,
- src/sh/sysv.S: Update license text.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * src/x86/win32.S (_ffi_closure_STDCALL): New function.
- (.eh_frame): Add FDE for it.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * configure.ac: Also check if assembler supports pc-relative
- relocs on X86_WIN32 targets.
- * configure: Regenerate.
- * src/x86/win32.S (ffi_prep_args): Declare extern, not global.
- (_ffi_call_SYSV): Add missing function type symbol .def and
- add EH markup labels.
- (_ffi_call_STDCALL): Likewise.
- (_ffi_closure_SYSV): Likewise.
- (_ffi_closure_raw_SYSV): Likewise.
- (.eh_frame): Add hand-crafted EH data.
-
-2009-04-09 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
- version 3 of the GNU General Public License and to point readers
- at the COPYING3 file and the FSF's license web page.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-12-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libffi/26048
- * configure.ac (HAVE_AS_X86_PCREL): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
- RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
- RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
- * src/x86/unix64.S (.Lstore_table): Move to .text section.
- (.Lload_table): Likewise.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
- signed/unsigned int8/16 return values.
- * src/sparc/v8.S (ffi_call_v8): Likewise.
- (ffi_closure_v8): Likewise.
-
-2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
- Steve Ellcey <sje@cup.hp.com>
-
- * configure: Regenerate for new libtool.
- * Makefile.in: Ditto.
- * include/Makefile.in: Ditto.
- * aclocal.m4: Ditto.
-
-2008-08-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
- FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
- Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
- Adjust copyright notice.
- * src/powerpc/ffi.c: Add two new flags to indicate if we have one
- register or two register to use for FFI_SYSV structs.
- (ffi_prep_cif_machdep): Pass the right register flag introduced above.
- (ffi_closure_helper_SYSV): Fix the return type for
- FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
- Adjust copyright notice.
-
-2008-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
- int.
-
-2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2008-06-07 Joseph Myers <joseph@codesourcery.com>
-
- * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
- powerpc-*-beos*): Remove.
- * configure: Regenerate.
-
-2008-05-09 Julian Brown <julian@codesourcery.com>
-
- * Makefile.am (LTLDFLAGS): New.
- (libffi_la_LDFLAGS): Use above.
- * Makefile.in: Regenerate.
-
-2008-04-18 Paolo Bonzini <bonzini@gnu.org>
-
- PR bootstrap/35457
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2008-03-26 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add .note.GNU-stack on Linux.
- * src/sh64/sysv.S: Likewise.
-
-2008-03-26 Daniel Jacobowitz <dan@debian.org>
-
- * src/arm/sysv.S: Fix ARM comment marker.
-
-2008-03-26 Jakub Jelinek <jakub@redhat.com>
-
- * src/alpha/osf.S: Add .note.GNU-stack on Linux.
- * src/s390/sysv.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
- * src/x86/unix64.S: Likewise.
- * src/x86/sysv.S: Likewise.
- * src/sparc/v8.S: Likewise.
- * src/sparc/v9.S: Likewise.
- * src/m68k/sysv.S: Likewise.
- * src/arm/sysv.S: Likewise.
-
-2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * aclocal.m4: Regenerate.
- * configure: Likewise.
- * Makefile.in: Likewise.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2008-02-12 Bjoern Koenig <bkoenig@alpha-tierchen.de>
- Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-freebsd* target.
- * configure: Regenerate.
-
-2008-01-30 H.J. Lu <hongjiu.lu@intel.com>
-
- PR libffi/34612
- * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
- returning struct.
-
- * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
- tests.
-
-2008-01-24 David Edelsohn <edelsohn@gnu.org>
-
- * configure: Regenerate.
-
-2008-01-06 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
-
-2008-01-05 Andreas Tobler <a.tobler@schweiz.org>
-
- PR testsuite/32843
- * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
- signed/unsigned int8/16 for X86_DARWIN.
- Updated copyright info.
- Handle one and two byte structs with special cif->flags.
- * src/x86/ffitarget.h: Add special types for one and two byte structs.
- Updated copyright info.
- * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
- sysv.S
- Remove code to pop args from the stack after call.
- Special-case signed/unsigned for int8/16, one and two byte structs.
- (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
- FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
- FFI_TYPE_SINT32.
- Updated copyright info.
-
-2007-12-08 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_call_N32): Replace dadd with ADDU, dsub with
- SUBU, add with ADDU and use smaller code sequences.
-
-2007-12-07 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
- type.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
- defined.
- (ffi_java_raw): New typedef.
- (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
- ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
- ffi_java_raw.
- (ffi_java_raw_closure) : Same.
- (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
- parameter types.
- * src/java_raw_api.c (ffi_java_raw_size): Replace FFI_SIZEOF_ARG with
- FFI_SIZEOF_JAVA_RAW.
- (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
- Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
- sizeof(ffi_java_raw) for alignment calculations.
- (ffi_java_ptrarray_to_raw): Same.
- (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
- if FFI_SIZEOF_JAVA_RAW == 4.
- (ffi_java_raw_to_rvalue): Same.
- (ffi_java_raw_call): Change type of raw to ffi_java_raw.
- (ffi_java_translate_args): Same.
- (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
- parameter types.
- * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
- pointer values.
-
-2007-12-01 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/31937
- * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
- Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
- * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
- set the NUM_FPR_ARG_REGISTERS according to.
- Add support for potential soft-float support under hard-float
- architecture.
- (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
- FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
- to the FFI_LINUX_SOFT_FLOAT ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Make sure not to store float/double
- on archs where __NO_FPRS__ is true.
- Add FFI_TYPE_UINT128 support.
- * src/powerpc/sysv.S: Add support for soft-float long-double-128.
- Adjust copyright notice.
-
-2007-11-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
- * include/ffi_common.h: ... here.
- Update copyright.
-
-2007-11-17 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
- * testsuite/libffi.call/return_ldl.c: New test.
-
-2007-09-04 <aph@redhat.com>
-
- * src/arm/sysv.S (UNWIND): New.
- (Whole file): Conditionally compile unwinder directives.
- * src/arm/sysv.S: Add unwinder directives.
-
- * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
- Only treat r0 as a struct address if we're actually returning a
- struct by address.
- Only copy the bytes that are actually within a struct.
- (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
- is returned in r0, not passed by address.
- (ffi_call): Allocate a word-sized temporary for the case where
- a composite is returned in r0.
- (ffi_prep_incoming_args_SYSV): Align as necessary.
-
-2007-08-05 Steven Newbury <s_j_newbury@yahoo.co.uk>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
- directly using the sys_cacheflush syscall.
-
-2007-07-27 Andrew Haley <aph@redhat.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
-
-2007-09-03 Maciej W. Rozycki <macro@linux-mips.org>
-
- * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure: Likewise.
-
-2007-08-24 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/return_sl.c: New test.
-
-2007-08-10 David Daney <ddaney@avtrex.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/nested_struct5.c,
- testsuite/libffi.call/cls_double.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/nested_struct.c,
- testsuite/libffi.call/cls_2byte.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_sint16.c,
- testsuite/libffi.call/cls_align_uint32.c,
- testsuite/libffi.call/cls_20byte.c,
- testsuite/libffi.call/cls_float.c,
- testsuite/libffi.call/nested_struct2.c,
- testsuite/libffi.call/cls_5_1_byte.c,
- testsuite/libffi.call/nested_struct4.c,
- testsuite/libffi.call/cls_24byte.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: Remove xfail for mips64*-*-*.
-
-2007-08-10 David Daney <ddaney@avtrex.com>
-
- 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.
-
-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*.
- * 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.
-
-2006-12-13 Andreas Tobler <a.tobler@schweiz.org>
-
- * aclocal.m4: Regenerate with aclocal -I .. as written in the
- Makefile.am.
-
-2006-10-31 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
- (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
- Darwin.
- * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
- * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10 Paolo Bonzini <bonzini@gnu.org>
- Sandro Tolaini <tolaini@libero.it>
-
- * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
- conditional.
- * configure: Regenerated.
- * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
- (EXTRA_DIST): Add src/x86/darwin.S.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
- X86_WIN32, and additionally align stack to 16 bytes.
- * src/x86/darwin.S: New, based on sysv.S.
- * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12 David Daney <ddaney@avtrex.com>
-
- PR libffi/23935
- * include/Makefile.am: Install both ffi.h and ffitarget.h in
- $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
- * aclocal.m4: Regenerated for automake 1.9.6.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
-2006-08-17 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h: Remove lint directives.
- * include/ffi.h.in: Likewise.
-
-2006-07-25 Torsten Schoenfeld <kaffeetisch@gmx.de>
-
- * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
- for 32-bit architectures.
- * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
- xfail remains for mips64.
-
-2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
-
- * Makefile.am: Add install-html target. Add install-html to .PHONY
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
- stack slot.
-
-2006-04-22 Andreas Tobler <a.tobler@schweiz.ch>
-
- * README: Remove notice about 'Crazy Comments'.
- * src/debug.c: Remove lint directives. Cleanup white spaces.
- * src/java_raw_api.c: Likewise.
- * src/prep_cif.c: Likewise.
- * src/raw_api.c: Likewise.
- * src/ffitest.c: Delete. No longer needed, all test cases migrated
- to the testsuite.
- * src/arm/ffi.c: Remove lint directives.
- * src/m32r/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/sh/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/pa/hpux32.S: Correct unwind offset calculation for
- ffi_closure_pa32.
- * src/pa/linux.S: Likewise.
-
-2006-04-12 James E Wilson <wilson@specifix.com>
-
- PR libgcj/26483
- * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
- (hfa_type_load): Call stf_spill.
- (hfa_type_store): Call ldf_fill.
- (ffi_call): Adjust calls to above routines. Add local temps for
- macro result.
-
-2006-04-10 Matthias Klose <doko@debian.org>
-
- * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
- directory names containing underscores.
-
-2006-04-07 James E Wilson <wilson@specifix.com>
-
- * testsuite/libffi.call/float4.c: New testcase.
-
-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.
-
-2006-03-24 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Default
- for 32-bit using IBM extended double format. Fix FFI_LAST_ABI.
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
- FFI_TYPE_LONGDOUBLE.
- (ffi_prep_args64): Assert using IBM extended double.
- (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
- Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
- (ffi_call): Handle FFI_LINUX.
- (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
- gpr3 return pointer as for struct return. Handle FFI_LINUX
- FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf"
- unnecessarily.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
- for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table.
- Don't use r6 as pointer to results, instead use sp offset. Don't
- make a special call to load lr with case table address, instead
- use offset from previous call.
- * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
- return.
-
-2006-03-15 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
- passed with FP registers correctly.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S: Likewise.
-
-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.
-
-2006-02-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
- -O2, -O3, -Os and the warning flags -W -Wall.
- * testsuite/libffi.special/special.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
- unused parameter unused for gcc or else do nothing.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
- * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
- * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
- * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
- * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
- * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
- * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
- * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
- * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
- void* to avoid compiler warning.
- (main): Likewise.
- (cls_struct_align_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
- * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
- * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
- userdata unused.
- (cls_ret_schar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
- userdata unused.
- (cls_ret_sint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
- userdata unused.
- (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn): Mark cif and
- userdata unused.
- (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
- userdata unused.
- (cls_ret_uint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
- userdata unused.
- (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
- * testsuite/libffi.call/float1.c (main): Remove unused variable i.
- Cleanup white spaces.
- * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
- * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
- cif and userdata unused.
- * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
- Likewise.
- * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
- formatters to silence gcc.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct4.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct6.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
- * testsuite/libffi.call/problem1.c (stub): Likewise.
- * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
- gcc.
- * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
- in the last commit for this test case in the test case itself.
- * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
- unused.
- * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
- * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
- * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
- * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
- * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
- * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Fix register numbers in the FDE for
- ffi_closure_SYSV.
-
-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.
-
-2006-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
- and cast integer to void * if needed. Update the pointer to
- the FP register saved area correctly.
-
-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.
-
-2006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/return_dbl.c: New test case.
- * testsuite/libffi.call/return_dbl1.c: Likewise.
- * testsuite/libffi.call/return_dbl2.c: Likewise.
- * testsuite/libffi.call/return_fl.c: Likewise.
- * testsuite/libffi.call/return_fl1.c: Likewise.
- * testsuite/libffi.call/return_fl2.c: Likewise.
- * testsuite/libffi.call/return_fl3.c: Likewise.
- * testsuite/libffi.call/closure_fn6.c: Likewise.
-
- * 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.
-
-2006-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.ac: Enable libffi for sparc64-*-freebsd*.
- * configure: Rebuilt.
-
-2006-01-18 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
- instead do the shifting inline.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
- shift count unconditionally. Simplify load sequences for 1, 2, 3, 4
- and 8 byte structs, for the remaining struct sizes don't call
- __lshrdi3, instead do the shifting inline.
-
-2005-12-07 Thiemo Seufer <ths@networkno.de>
-
- * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
- missing parentheses.
- * src/mips/o32.S (ffi_call_O32): Code formatting. Define
- and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
- (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
- A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
- V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
- FA_0_0_OFF2.
- * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
- endianness bugs.
- (ffi_prep_closure): Improve trampoline instruction scheduling.
- (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c: Formatting.
- (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
- (ffi_prep_args64): Likewise.
-
-2005-09-30 Geoffrey Keating <geoffk@apple.com>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
- darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26 Tom Tromey <tromey@redhat.com>
-
- * 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.
-
-2005-08-25 Alan Modra <amodra@bigpond.net.au>
-
- PR target/23404
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
- homed fp args.
- (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11 Jakub Jelinek <jakub@redhat.com>
-
- * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
- (AH_BOTTOM): Add FFI_HIDDEN definition.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * src/powerpc/ffi.c (hidden): Remove.
- (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
- ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
- .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
- * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
- add FFI_HIDDEN to its prototype.
- (ffi_closure_SYSV_inner): New.
- * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
- * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10 Alfred M. Szmidt <ams@gnu.org>
-
- PR libffi/21819:
- * configure: Rebuilt.
- * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
- DW_CFA_offset_extended_sf rather than
- DW_CFA_GNU_negative_offset_extended.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
-
- * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
- on sh3.
- (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
- * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
- partially on register.
- (ffi_closure_helper_SYSV): Likewise.
- (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_call): Handle small structures correctly.
- Remove empty line.
- * src/sh64/ffi.c (simple_type): Remove.
- (return_type): Handle small structures correctly.
- (ffi_prep_args): Likewise.
- (ffi_call): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
- Emit position independent code if PIC and remove wrong datalabel
- prefixes from EH data.
-
-2005-07-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure.ac: Add POWERPC_FREEBSD rules.
- * configure: Regenerate.
- * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
- (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
- * src/powerpc/ffi.c: Add flags to handle small structure returns
- in ffi_call_SYSV.
- (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
- Aka FFI_SYSV.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Add return types for small structures.
- * src/powerpc/sysv.S: Add bits to handle small structures for
- final SYSV 4 ABI.
-
-2005-07-10 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_5_1_byte.c: New test file.
- * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05 Randolph Chung <tausq@debian.org>
-
- * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
- as FFI_TYPE_SMALL_STRUCT3. Break out handling for 5-7 byte
- structures. Kill compilation warnings.
- (ffi_closure_inner_LINUX): Print return values as hex in debug
- message. Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
- Properly handle 5-7 byte structure returns.
- * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
- (FFI_TYPE_SMALL_STRUCT2): Remove.
- (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
- (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
- * src/pa/linux.S: Mark source file as using PA1.1 assembly.
- (checksmst1, checksmst2): Remove.
- (checksmst3): Optimize handling of 3-byte struct returns.
- (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libgcj/21943
- * src/mips/n32.S: Enforce PIC code.
- * src/mips/o32.S: Likewise.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
- * configure: Regenerate.
-
-2005-06-01 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
- to call ffi_closure_helper_SYSV. Append @local instead.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
- Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
- * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
- * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
- include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-05-08 Richard Henderson <rth@redhat.com>
-
- PR libffi/21285
- * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04 Andreas Degert <ad@papyrus-gmbh.de>
- Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
- bit 11 of flags.
- (ffi_call): Mask return type field. Pass ssecount to ffi_call_unix64.
- (ffi_prep_closure): Set carry bit if sse-used flag set.
- * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
- Only load sse registers if ssecount non-zero.
- (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
- powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
- * configure: Regenerate.
-
-2005-04-20 Hans-Peter Nilsson <hp@axis.com>
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
- have Tcl8.3-compatible intermediate variable.
-
-2005-04-18 Simon Posnjak <simon.posnjak@siol.net>
- Hans-Peter Nilsson <hp@axis.com>
-
- * Makefile.am: Add CRIS support.
- * configure.ac: Likewise.
- * Makefile.in, configure, testsuite/Makefile.in,
- include/Makefile.in: Regenerate.
- * src/cris: New directory.
- * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
- * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
- \r?\n in output tests.
-
-2005-04-12 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-03-30 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30 Steve Ellcey <sje@cup.hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
- (ffi_sarg) Ditto.
- * src/ia64/unix.S (ffi_closure_unix): Extend gp
- to 64 bits in ILP32 mode.
- Load 64 bits even for short data.
-
-2005-03-23 Mike Stump <mrs@apple.com>
-
- * src/powerpc/darwin.S: Update for -m64 multilib.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21 Zack Weinberg <zack@codesourcery.com>
-
- * 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.
-
-2005-02-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
- odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR libffi/20104
- * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11 Janis Johnson <janis187@us.ibm.com>
-
- * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
- * testsuite/libffi.call/float.c: Ditto.
- * testsuite/libffi.call/float2.c: Ditto.
- * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * testsuite/libffi.special/special.exp (cxx_options): Add
- -shared-libgcc.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
- (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
- offset parameters with a type parameter; deduce size and structure
- alignment. Update all users.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
- (FFI_TYPE_LONGDOUBLE): Fix for ia64.
- * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
- into ffi_prep_closure.
- * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
- from scratch.
-
-2004-12-27 Richard Henderson <rth@redhat.com>
-
- * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25 Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
- (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
- (merge_classes): Check for it.
- (SSE_CLASS_P): New.
- (classify_argument): Pass byte_offset by value; perform all updates
- inside struct case.
- (examine_argument): Add classes argument; handle
- X86_64_COMPLEX_X87_CLASS.
- (ffi_prep_args): Merge into ...
- (ffi_call): ... here. Share stack frame with ffi_call_unix64.
- (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
- (ffi_fill_return_value): Remove.
- (ffi_prep_closure): Remove dead assert.
- (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
- Rewrite to use struct register_args instead of va_list. Create
- flags for handling structure returns.
- * src/x86/unix64.S: Remove dead strings.
- (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share
- stack frame with ffi_call. Handle structure returns properly.
- (float2sse, floatfloat2sse, double2sse): Remove.
- (sse2float, sse2double, sse2floatfloat): Remove.
- (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite
- to handle structure returns properly.
-
-2004-12-08 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
- PICFLAG.
- * Makefile.in: Regenerated.
-
-2004-12-02 Richard Sandiford <rsandifo@redhat.com>
-
- * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
- * configure, aclocal.m4, Makefile.in: Regenerate.
- * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-25 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool reversion.
-
-2004-11-24 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23 Richard Sandiford <rsandifo@redhat.com>
-
- * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
- of jal. Use an absolute encoding for the frame information.
-
-2004-11-23 Kelley Cook <kcook@gcc.gnu.org>
-
- * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS.
- * acinclude.m4: Delete logic for sincludes.
- * aclocal.m4, Makefile.in, configure: Regenerate.
- * include/Makefile: Likewise.
- * testsuite/Makefile: Likewise.
-
-2004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
- on a 8-byte boundary.
- * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
- long long values. Round stack allocation to a multiple of 8 bytes
- for ATPCS compatibility.
- * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
- names. Handle returning long long types. Add Thumb and interworking
- support. Improve soft-float code.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
- (libffi_exit): New function.
- (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR other/18138
- * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
- * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
- the function returning a structure pointed with R2.
- * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
- the structure return value if T bit set. Emit position
- independent code and EH data if PIC.
-
-2004-10-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * Makefile.am: Add m32r support.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * confiugre: Regenerate.
- * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
- (uint64, sint64, double, longdouble)
- * src/m32r: New directory.
- * src/m32r/ffi.c: New file.
- * src/m32r/sysv.S: Likewise.
- * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * testsuite/libffi.call/negint.c: New test case.
-
-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.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/many_win32.c: Remove whitespaces.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
- whitespaces.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Fix comments and identation.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
- (ffi_prep_args): Handle longdouble arguments.
- (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
- longdouble.
- (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
- * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
- values.
- * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
- * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/aix.S: Remove whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
- * src/powerpc/asm.h: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffitarget.h: Likewise.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
-
-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.in: Read configure.host.
- * 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 shouldn't 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.
-
-2004-08-24 David Daney <daney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
- to zero.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23 David Daney <daney@avtrex.com>
-
- PR libgcj/13141
- * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
- * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
- (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
- parameters and return types.
- (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
- (ffi_prep_closure): Ditto.
- (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
- alignment calculations.
- * src/mips/o32.S (ffi_closure_O32): Don't use floating point
- instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14 Casey Marshall <csm@gnu.org>
-
- * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
- contain `FFI_TYPE_UINT64' as return type for any 64-bit
- integer (O32 ABI only).
- (ffi_prep_closure): new function.
- (ffi_closure_mips_inner_O32): new function.
- * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
- `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
- * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
- 64 bit integers correctly.
- (ffi_closure_O32): new function.
- Added DWARF-2 unwind info for both functions.
-
-2004-08-10 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01 Robert Millan <robertmh@gnu.org>
-
- * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
- * configure: Regenerate.
-
-2004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
-
- * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
- and mmap() explicitly instead of relying on preset autoconf cache
- variables.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
- (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
- character on Darwin, use '\n\t' instead.
-
-2004-06-26 Matthias Klose <doko@debian.org>
-
- * libtool-version: Fix typo in revision/age.
-
-2004-06-17 Matthias Klose <doko@debian.org>
-
- * libtool-version: New.
- * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
- * Makefile.in: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * Makefile.am: Remove useless multilib rules.
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate with automake 1.8.5.
- * configure.ac: Remove useless multilib configury.
- * configure: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * .cvsignore: New file.
-
-2004-06-10 Jakub Jelinek <jakub@redhat.com>
-
- * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
- fp_done.
- (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
- changed from 8.
-
-2004-06-06 Sean McNeil <sean@mcneil.com>
-
- * configure.ac: Add x86_64-*-freebsd* support.
- * configure: Regenerate.
-
-2004-04-26 Joe Buck <jbuck@welsh-buck.org>
-
- Bug 15093
- * configure.ac: Test for existence of mmap and sys/mman.h before
- checking blacklist. Fix suggested by Jim Wilson.
- * configure: Regenerate.
-
-2004-04-26 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
- FDE location.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
- error. Reported by Thomas Heller <theller@python.net>.
- * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20 Matthias Klose <doko@debian.org>
-
- * src/pa/linux.S: Fix typo.
-
-2004-03-19 Matthias Klose <doko@debian.org>
-
- * Makefile.am: Update.
- * Makefile.in: Regenerate.
- * src/pa/ffi.h.in: Remove.
- * src/pa/ffitarget.h: New file.
-
-2004-02-10 Randolph Chung <tausq@debian.org>
-
- * Makefile.am: Add PA support.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * configure.ac: Add PA target.
- * configure: Regenerate.
- * src/pa/ffi.c: New file.
- * src/pa/ffi.h.in: Add PA support.
- * src/pa/linux.S: New file.
- * prep_cif.c: Add PA support.
-
-2004-03-16 Hosaka Yuji <hos@tamanegi.org>
-
- * src/types.c: Fix alignment size of X86_WIN32 case int64 and
- double.
- * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
- with ecif->cif->flags.
- (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
- with cif->flags.
- (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
- (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
- * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
- sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.in: Rename file to ...
- * configure.ac: ... this.
- * fficonfig.h.in: Regenerate.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2004-03-12 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Fix EH information so it corresponds to
- changes in EH format resulting from addition of linkonce support.
- * src/powerpc/darwin_closure.S: Likewise.
-
-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.
-
-2004-03-11 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
- arguments from fp registers only for the first 8 parameter slots.
- Don't convert a float parameter when passed in memory.
-
-2004-03-09 Hans-Peter Nilsson <hp@axis.com>
-
- * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
-
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
- ecif->cif->bytes to bytes.
- (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
- * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
- (ffi_closure_helper_LINUX64): Fix typo.
- * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
- for powerpc64-*-*.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
- long double function return and long double arg handling.
- (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
- Use "end_pfr" instead of "nf". Correct long double handling.
- Localise "temp".
- * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
- return value.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
- space for long double return value. Adjust stack frame and offsets.
- Load f2 long double return.
-
-2004-02-07 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
- when the structure return address is passed in %o0.
- (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
- (ffi_v9_layout_struct): Align the field following a nested structure
- on a word boundary. Use memmove instead of memcpy.
- (ffi_call): Update call to ffi_V9_return_struct.
- (ffi_prep_closure): Define 'ctx' only for V8.
- (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
- and ffi_closure_sparc_inner_v9.
- (ffi_closure_sparc_inner_v8): Return long doubles by reference.
- Always skip the structure return address. For structures and long
- doubles, copy the argument directly.
- (ffi_closure_sparc_inner_v9): Skip the structure return address only
- if required. Shift the maximum floating-point slot accordingly. For
- big structures, copy the argument directly; otherwise, left-justify the
- argument and call ffi_v9_layout_struct to lay out the structure on
- the stack.
- * src/sparc/v8.S: Undef STACKFRAME before defining it.
- (ffi_closure_v8): Pass the structure return address. Update call to
- ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
- Skip the 'unimp' insn when returning long doubles and structures.
- * src/sparc/v9.S: Undef STACKFRAME before defining it.
- (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
- FFI_TYPE_INT handling. Load structures both in integers and
- floating-point registers on return.
- * README: Update status of the SPARC port.
-
-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.
-
-2004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
-
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
- value as of type ffi_arg, not unsigned int.
-
-2004-01-21 Michael Ritzert <ritzert@t-online.de>
-
- * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
- of the LHS.
-
-2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
- Solaris.
-
-2004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
- to void *.
-
-2003-12-10 Richard Henderson <rth@redhat.com>
-
- * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
- size_t instead of int.
-
-2003-12-04 Hosaka Yuji <hos@tamanegi.org>
-
- * testsuite/libffi.call/many_win32.c: Include <float.h>.
- * testsuite/libffi.call/many_win32.c (main): Replace variable
- int i with unsigned long ul.
-
- * testsuite/libffi.call/cls_align_uint64.c: New test case.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02 Hosaka Yuji <hos@tamanegi.org>
-
- PR other/13221
- * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
- Align arguments to 32 bits.
-
-2003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR other/13221
- * testsuite/libffi.call/cls_multi_sshort.c: New test case.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-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.
-
-2003-11-21 Andreas Jaeger <aj@suse.de>
- Andreas Tobler <a.tobler@schweiz.ch>
-
- * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
- * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
- * Makefile.in: Rebuilt.
- * aclocal.m4: Likewise.
- * configure: Likewise.
- * fficonfig.h.in: Likewise.
- * testsuite/lib/libffi-dg.exp: Add include dir.
- * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
- for ffi_closure if available.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
- Add -lgcc_s to additional flags.
-
-2003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.in, include/Makefile.am: PR libgcj/11147, install
- the ffitarget.h header file in a gcc versioned and target
- dependent place.
- * configure: Regenerated.
- * Makefile.in, include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Print result and check
- with dg-output to make debugging easier.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
- static.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_9byte2.c: New test case.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_double.c: Do a check on the result.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/prep_cif.c (ffi_prep_cif): Move the validity check after
- the initialization.
-
-2003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
- FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
- __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-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
-
-2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
- _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
- Used when FFI_DEBUG = 1.
-
-2003-10-14 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
- and align.
-
-2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
- FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
- SPARC64. Cleanup whitespaces.
-
-2003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
- strongarm, xscale. Cleanup whitespaces.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Cleanup whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
- * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
- parameter stack.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
- according to the Darwin/AIX ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_DARWIN): Likewise.
- Remove the outgoing parameter stack logic. Simplify the evaluation
- of the different CASE types.
- (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
- statement in the trampoline code.
-
-2003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
- for the register size.
- (ffi_closure_helper_SYSV): Handle the structure return value
- address correctly.
- (ffi_closure_helper_SYSV): Return the appropriate type when
- the registers are used for the structure return value.
- * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
- the 64-bit return value. Update copyright years.
-
-2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
- srcdir for ffi_mips.h.
-
-2003-09-12 Alan Modra <amodra@bigpond.net.au>
-
- * src/prep_cif.c (initialize_aggregate): Include tail padding in
- structure size.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
- placement of float result.
- * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
- cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Merge identical SH and ARM
- typedefs, and add POWERPC64.
- * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
- struct split over gpr and rest.
- (ffi_prep_cif_machdep): Correct intarg_count for structures.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
- passing correctly.
-
-2003-09-09 Alan Modra <amodra@bigpond.net.au>
-
- * configure: Regenerate.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Remove build rules for ffitest.
- * Makefile.in: Rebuilt.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
- about implicit declaration of abort().
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
- * Makefile.in: Rebuilt.
- * configure.in: Add dejagnu test framework.
- * configure: Rebuilt.
-
- * testsuite/Makefile.am: New file.
- * testsuite/Makefile.in: Built
- * testsuite/lib/libffi-dg.exp: New file.
- * testsuite/config/default.exp: Likewise.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Likewise.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float1.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/many.c: Likewise.
- * testsuite/libffi.call/many_win32.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
- * testsuite/libffi.call/strlen.c: Likewise.
- * testsuite/libffi.call/strlen_win32.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
- * testsuite/libffi.call/struct2.c: Likewise.
- * testsuite/libffi.call/struct3.c: Likewise.
- * testsuite/libffi.call/struct4.c: Likewise.
- * testsuite/libffi.call/struct5.c: Likewise.
- * testsuite/libffi.call/struct6.c: Likewise.
- * testsuite/libffi.call/struct7.c: Likewise.
- * testsuite/libffi.call/struct8.c: Likewise.
- * testsuite/libffi.call/struct9.c: Likewise.
- * testsuite/libffi.special/special.exp: New file.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
- copyright years.
-
-2003-08-02 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
- structure passing.
- (ffi_closure_helper_LINUX64): Likewise.
- * src/powerpc/linux64.S: Remove code writing to parm save area.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
- address in lr from ffi_closure_helper_LINUX64 call to calculate
- table address. Optimize function tail.
-
-2003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/sparc/ffi.c: Handle all floating point registers.
- * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
-
- * README: Note that libffi is not part of GCC. Update the project
- URL and status.
-
-2003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
- Use C style comments.
-
-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
- should be read-only.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * include/ffi.h.in (EH_FRAME_FLAGS): Define.
- * src/alpha/osf.S: Use EH_FRAME_FLAGS.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
- * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
- if -fpic/-fPIC/-mrelocatable.
- * src/powerpc/powerpc_closure.S: Likewise.
- * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
- #write in .eh_frame flags.
- * src/sparc/v9.S: Likewise.
- * src/x86/unix64.S: Use EH_FRAME_FLAGS.
- * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
- * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
-
-2003-05-07 Jeff Sturm <jsturm@one-point.com>
-
- Fixes PR bootstrap/10656
- * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
- support for .register pseudo-op.
- * src/sparc/v8.S: Use it.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2003-04-18 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (POWERPC64): Define if 64-bit.
- (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
- Make it the default on POWERPC64.
- (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
- * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
- * configure: Rebuilt.
- * src/powerpc/ffi.c (hidden): Define.
- (ffi_prep_args_SYSV): Renamed from
- ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
- (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
- ASM_NEEDS_REGISTERS64): New.
- (ffi_prep_args64): New function.
- (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
- (ffi_call): Likewise.
- (ffi_prep_closure): Likewise.
- (flush_icache): Surround by #ifndef POWERPC64.
- (ffi_dblfl): New union type.
- (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
- (ffi_closure_helper_LINUX64): New function.
- * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
- __powerpc64__.
- * src/powerpc/sysv.S: Likewise.
- (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
- * src/powerpc/linux64.S: New file.
- * src/powerpc/linux64_closure.S: New file.
- * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
- src/powerpc/linux64_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
- * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
- closure_test_fn3): Fix result printing on big-endian 64-bit
- machines.
- (main): Print tst2_arg instead of uninitialized tst2_result.
-
- * src/ffitest.c (main): Hide what closure pointer really points to
- from the compiler.
-
-2003-04-16 Richard Earnshaw <rearnsha@arm.com>
-
- * configure.in (arm-*-netbsdelf*): Add configuration.
- (configure): Regenerated.
-
-2003-04-04 Loren J. Rittle <ljrittle@acm.org>
-
- * include/Makefile.in: Regenerate.
-
-2003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
-
- * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
- bit mode.
- * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
- Receive closure pointer through parameter, read args using
- __builtin_dwarf_cfa.
- (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12 Andreas Schwab <schwab@suse.de>
-
- * configure.in: Avoid trailing /. in toolexeclibdir.
- * configure: Rebuilt.
-
-2003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/powerpc/darwin_closure.S:
- Fix alignement bug, allocate 8 bytes for the result.
- * libffi/src/powerpc/aix_closure.S:
- Likewise.
- * libffi/src/powerpc/ffi_darwin.c:
- Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06 Jakub Jelinek <jakub@redhat.com>
-
- * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
- attribute.
-
-2003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
- Andreas Schwab <schwab@suse.de>
-
- * configure.in: Adjust command to source config-ml.in to account
- for changes to the libffi_basedir definition.
- (libffi_basedir): Remove ${srcdir} from value and include trailing
- slash if nonempty.
-
- * configure: Regenerate.
-
-2003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
- * src/x86/ffi64.c (ffi_prep_closure): New.
- (ffi_closure_UNIX64_inner): New.
- * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
- Remove USE_LIBDIR conditional.
- * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
- * Makefile.in, configure: Rebuilt.
-
-2003-01027 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
- * Makefile.in: Regenerate.
-
-2003-01-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
- unwind info.
-
-2003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Add unwind info.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
- (ffi_prep_cif_machdep): Likewise.
- * src/x86/unix64.S: Add unwind info.
-
-2003-01-14 Andreas Jaeger <aj@suse.de>
-
- * src/ffitest.c (main): Only use ffi_closures if those are
- supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/ffitest.c
- add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
- * libffi/src/powerpc/ffi.c
- fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c: Remove RCS version string.
- * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
- * src/ffitest.c (main): Use static storage for closure.
- * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
- * src/sparc/v8.S (ffi_closure_v8): New.
- * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10 Ranjit Mathew <rmathew@hotmail.com>
-
- * include/ffi.h.in: Added FFI_STDCALL ffi_type
- enumeration for X86_WIN32.
- * src/x86/win32.S: Added ffi_call_STDCALL function
- definition.
- * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
- switch cases for recognising FFI_STDCALL and
- calling ffi_call_STDCALL if target is X86_WIN32.
- * src/ffitest.c (my_stdcall_strlen/stdcall_many):
- stdcall versions of the "my_strlen" and "many"
- test functions (for X86_WIN32).
- Added test cases to test stdcall invocation using
- these functions.
-
-2002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26 Jim Wilson <wilson@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23 H.J. Lu <hjl@gnu.org>
-
- * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
- Include ../config/accross.m4.
- * aclocal.m4; Rebuild.
- * configure: Likewise.
-
-2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11 DJ Delorie <dj@redhat.com>
-
- * configure.in: Look for common files in the right place.
-
-2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
- raw data as _Jv_word values, not ffi_raw.
- (ffi_java_ptrarray_to_raw): Likewise.
- (ffi_java_rvalue_to_raw): New function.
- (ffi_java_raw_call): Call it.
- (ffi_java_raw_to_rvalue): New function.
- (ffi_java_translate_args): Call it.
- * src/ffitest.c (closure_test_fn): Interpret return value
- as ffi_arg, not int.
- * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
- FFI_TYPE_POINTER case.
- (ffi_closure_helper_SYSV): Likewise. Also, assume return
- values extended to word size.
-
-2002-10-02 Andreas Jaeger <aj@suse.de>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01 Bo Thorsen <bo@smetana.suse.de>
-
- * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
-
- * configure.in: Add s390x-*-linux-* target.
- * configure: Regenerate.
- * include/ffi.h.in: Define S390X for s390x targets.
- (FFI_CLOSURES): Define for s390/s390x.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
- * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
- * src/s390/ffi.c: Major rework of existing code. Add support for
- s390x targets. Add closure support.
- * src/s390/sysv.S: Likewise.
-
-2002-09-29 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: Fix typo.
-
-2002-09-28 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
- has defined __USER_LABEL_PREFIX__, then use it in CNAME.
- (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27 Bo Thorsen <bo@suse.de>
-
- * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * configure.in (sh[34]*-*-linux*): Add brackets.
- * configure: Regenerate.
-
-2002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * Makefile.am: Add SH support.
- * Makefile.in: Regenerate.
- * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
- * configure: Regenerate.
- * include/ffi.h.in: Add SH support.
- * src/sh/ffi.c: New file.
- * src/sh/sysv.S: New file.
- * src/types.c: Add SH support.
-
-2002-07-16 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi64.c: New file that adds x86-64 support.
- * src/x86/unix64.S: New file that handles argument setup for
- x86-64.
- * src/x86/sysv.S: Don't use this on x86-64.
- * src/x86/ffi.c: Don't use this on x86-64.
- Remove unused vars.
- * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
- for x86-64.
- * src/ffitest.c (struct6): New test that tests a special case in
- the x86-64 ABI.
- (struct7): Likewise.
- (struct8): Likewise.
- (struct9): Likewise.
- (closure_test_fn): Silence warning about this when it's not used.
- (main): Add the new tests.
- (main): Fix a couple of wrong casts and silence some compiler warnings.
- * include/ffi.h.in: Add x86-64 ABI definition.
- * fficonfig.h.in: Regenerate.
- * Makefile.am: Add x86-64 support.
- * configure.in: Likewise.
- * Makefile.in: Regenerate.
- * configure: Likewise.
-
-2002-06-24 Bo Thorsen <bo@suse.de>
-
- * src/types.c: Merge settings for similar architectures.
- Add x86-64 sizes and alignments.
-
-2002-06-23 Bo Thorsen <bo@suse.de>
-
- * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
- * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
- * src/mips/ffi.c (ffi_prep_args): Likewise.
- * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18 H.J. Lu (hjl@gnu.org)
-
- * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
- (libffi_la_SOURCES): Support MIPS_LINUX.
- (libffi_convenience_la_SOURCES): Likewise.
- * Makefile.in: Regenerated.
-
- * configure.in (mips64*-*): Skip.
- (mips*-*-linux*): New.
- * configure: Regenerated.
-
- * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
-
-2002-05-27 Roger Sayle <roger@eyesopen.com>
-
- * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
- fix formatting.
-
-2002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
- beginning of function (for older apple cc).
-
-2002-05-08 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
- script entry, and set LD to it when configuring multilibs.
- * configure: Rebuilt.
-
-2002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (sparc64-*-netbsd*): Add target.
- (sparc-*-netbsdelf*): Likewise.
- * configure: Regenerate.
-
-2002-04-28 David S. Miller <davem@redhat.com>
-
- * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
-
- * Makefile.am: Add Linux for S/390 support.
- * Makefile.in: Regenerate.
- * configure.in: Add Linux for S/390 support.
- * configure: Regenerate.
- * include/ffi.h.in: Add Linux for S/390 support.
- * src/s390/ffi.c: New file from libffi CVS tree.
- * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
- %r_disp32().
- * src/sparc/v8.S: Use it.
- * src/sparc/v9.S: Likewise.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2002-04-08 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
- correctly.
- * src/ia64/unix.S: Add unwind information. Fix comments.
- Save sp in a way that's compatible with unwind info.
- (ffi_call_unix): Correctly restore sp in all cases.
- * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08 Jakub Jelinek <jakub@redhat.com>
-
- * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (alpha*-*-netbsd*): Add target.
- * configure: Regenerate.
-
-2002-04-04 Jeff Sturm <jsturm@one-point.com>
-
- * src/sparc/v8.S: Add unwind info.
- * src/sparc/v9.S: Likewise.
-
-2002-03-30 Krister Walfridsson <cato@df.lth.se>
-
- * configure.in: Enable i*86-*-netbsdelf*.
- * configure: Rebuilt.
-
-2002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
-
- PR other/2620
- * src/mips/n32.s: Delete
- * src/mips/o32.s: Delete
-
-2002-03-21 Loren J. Rittle <ljrittle@acm.org>
-
- * configure.in: Enable alpha*-*-freebsd*.
- * configure: Rebuilt.
-
-2002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * Makefile.am: libfficonvenience -> libffi_convenience.
- * Makefile.in: Rebuilt.
-
- * Makefile.am: Define ffitest_OBJECTS.
- * Makefile.in: Rebuilt.
-
-2002-03-07 Andreas Tobler <toa@pop.agri.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
- (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
- (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
- * Makefile.in: Regenerate.
- * include/ffi.h.in: Add AIX and Darwin closure definitions.
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
- (flush_icache, flush_range): New functions.
- (ffi_closure_helper_DARWIN): New function.
- * src/powerpc/aix_closure.S: New file.
- * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add typedef for ffi_arg.
- * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21 Andreas Tobler <toa@pop.agri.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
- number of GPRs for floating-point arguments.
-
-2002-01-31 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Replace CHECK_SIZEOF and endian tests with
- cross-compiler friendly macros.
- * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
- macros.
-
-2002-01-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): New.
- * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
- (TARGET_SRC_POWERPC_AIX): New.
- (POWERPC_AIX): New stanza.
- * Makefile.in: Regenerate.
- * configure.in: Add AIX case.
- * configure: Regenerate.
- * include/ffi.h.in (ffi_abi): Add FFI_AIX.
- * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
- size. Fix "long double" support.
- (ffi_call): Add FFI_AIX case.
- * src/powerpc/aix.S: New.
-
-2001-10-09 John Hornkvist <john@toastedmarshmallow.com>
-
- Implement Darwin PowerPC ABI.
- * configure.in: Handle powerpc-*-darwin*.
- * Makefile.am: Set source files for POWERPC_DARWIN.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
- * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
- POWERPC_DARWIN.
- * src/powerpc/darwin.S: New file.
- * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .balign directive.
- Use C style comments.
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
- Fixes PR bootstrap/3563.
-
-2001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.in: Recognize sparc*-sun-* host.
- * configure: Regenerate.
-
-2001-06-06 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S: Add unwind info.
- * src/powerpc/sysv.S: Add unwind info.
- * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31 Jeff Sturm <jsturm@one-point.com>
-
- * configure.in: Fix AC_ARG_ENABLE usage.
- * configure: Rebuilt.
-
-2001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * configure.in: Remove warning about beta code.
- * configure: Rebuilt.
-
-2001-04-25 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/ia64/unix.S: Restore stack pointer when returning from
- ffi_closure_UNIX.
- * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18 Jim Wilson <wilson@redhat.com>
-
- * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
- to eliminate RAW DV.
-
-2001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
-
- * Makefile.am: Make a libtool convenience library.
- * Makefile.in: Rebuilt.
-
-2001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Use different syntax for subdirectory creation.
- * configure: Rebuilt.
-
-2001-03-27 Jon Beniston <jon@beniston.com>
-
- * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
- * configure: Rebuilt.
- * Makefile.am: Added X86_WIN32 target support.
- * Makefile.in: Rebuilt.
-
- * include/ffi.h.in: Added X86_WIN32 target support.
-
- * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
- * src/types.c: Added X86_WIN32 target support.
-
- * src/x86/win32.S: New file. Based on sysv.S, but with EH
- stuff removed and made to work with CygWin's gas.
-
-2001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Make target subdirectory in build dir.
- * Makefile.am: Override suffix based rules to specify correct output
- subdirectory.
- * Makefile.in: Rebuilt.
- * configure: Rebuilt.
-
-2001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
-
- * src/powerpc/ppc_closure.S: New file.
- * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
- involving long long and register pairs.
- (ffi_prep_closure): New function.
- (flush_icache): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * Makefile.in: Rebuilt.
- * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19 Tom Tromey <tromey@redhat.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02 Nick Clifton <nickc@redhat.com>
-
- * include/ffi.h.in: Remove RCS ident string.
- * include/ffi_mips.h: Remove RCS ident string.
- * src/debug.c: Remove RCS ident string.
- * src/ffitest.c: Remove RCS ident string.
- * src/prep_cif.c: Remove RCS ident string.
- * src/types.c: Remove RCS ident string.
- * src/alpha/ffi.c: Remove RCS ident string.
- * src/alpha/osf.S: Remove RCS ident string.
- * src/arm/ffi.c: Remove RCS ident string.
- * src/arm/sysv.S: Remove RCS ident string.
- * src/mips/ffi.c: Remove RCS ident string.
- * src/mips/n32.S: Remove RCS ident string.
- * src/mips/o32.S: Remove RCS ident string.
- * src/sparc/ffi.c: Remove RCS ident string.
- * src/sparc/v8.S: Remove RCS ident string.
- * src/sparc/v9.S: Remove RCS ident string.
- * src/x86/ffi.c: Remove RCS ident string.
- * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * include/ffi.h.in: Change sourceware.cygnus.com references to
- gcc.gnu.org.
-
-2000-12-09 Richard Henderson <rth@redhat.com>
-
- * src/alpha/ffi.c (ffi_call): Simplify struct return test.
- (ffi_closure_osf_inner): Index rather than increment avalue
- and arg_types. Give ffi_closure_osf the raw return value type.
- * src/alpha/osf.S (ffi_closure_osf): Handle return value type
- promotion.
-
-2000-12-07 Richard Henderson <rth@redhat.com>
-
- * src/raw_api.c (ffi_translate_args): Fix typo.
- (ffi_prep_closure): Likewise.
-
- * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
- FFI_TRAMPOLINE_SIZE.
- * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
- cif->bytes for new ffi_call_osf implementation.
- (ffi_prep_args): Absorb into ...
- (ffi_call): ... here. Do all stack allocation here and
- avoid a callback function.
- (ffi_prep_closure, ffi_closure_osf_inner): New.
- * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
- (ffi_closure_osf): New.
-
-2000-09-10 Alexandre Oliva <aoliva@redhat.com>
-
- * config.guess, config.sub, install-sh: Removed.
- * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
- * Makefile.in: Rebuilt.
-
- * acinclude.m4: Include libtool macros from the top level.
- * aclocal.m4, configure: Rebuilt.
-
-2000-08-22 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
- * configure: Rebuilt.
-
-2000-05-11 Scott Bambrough <scottb@netwinder.org>
-
- * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
- memory correctly. Use conditional instructions, not branches where
- possible.
-
-2000-05-04 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Match `arm*-*-linux-*'.
- From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (SUBDIRS): Define.
- (AM_MAKEFLAGS): Likewise.
- (Multilib support.): Add section.
- * Makefile.in: Rebuilt.
- * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
- New variables. Set for gcc using -print-multi-lib. Export them
- to libtool.
- (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
- * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
- for -shared links.
- (extra_compiler_flags_value, extra_compiler_flags): Check these
- for extra compiler options which need to be passed down in
- compiler_flags.
-
-2000-04-16 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
- Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
- * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
- Replace all void * sizeofs with sizeof(int).
- Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
- different than DOUBLE.
- Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
- (ffi_prep_args_v9): New function.
- (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
- (ffi_V9_return_struct): New function.
- (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
- 32bit code (not yet cross-arch calls).
- * src/sparc/v8.S: Add struct return delay nop.
- Handle long long.
- * src/sparc/v9.S: New file.
- * src/prep_cif.c (ffi_prep_cif): Return structure pointer
- is used on sparc64 only for structures larger than 32 bytes.
- Pass by reference for structures is done for structure arguments
- larger than 16 bytes.
- * src/ffitest.c (main): Use 64bit rint on sparc64.
- Run long long tests on sparc.
- * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
- sparc64.
- (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
- on sparc64.
- * configure.in (sparc-*-linux*): New supported target.
- (sparc64-*-linux*): Likewise.
- * configure: Rebuilt.
- * Makefile.am: Add v9.S to SPARC files.
- * Makefile.in: Likewise.
- (LINK): Surround $(CCLD) into double quotes, so that multilib
- compiles work correctly.
-
-2000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: (i*86-*-solaris*): New libffi target. Patch
- proposed by Bryce McKinlay.
-
-2000-03-20 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
-
- * config.guess, config.sub: Update from the gcc tree.
- Fix for PR libgcj/168.
-
-2000-03-03 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Fixed ia64 by hand.
-
- * configure: Rebuilt.
- * configure.in (--enable-multilib): New option.
- (libffi_basedir): New subst.
- (AC_OUTPUT): Added multilib code.
-
-2000-03-02 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
- directory name.
-
-2000-02-25 Hans Boehm <boehm@acm.org>
-
- * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
- files.
- * src/raw_api.c (ffi_translate_args): Fixed typo in argument
- list.
- (ffi_prep_raw_closure): Use ffi_translate_args, not
- ffi_closure_translate.
- * src/java_raw_api.c: New file.
- * src/ffitest.c (closure_test_fn): New function.
- (main): Define `rint' as long long on IA64. Added new test when
- FFI_CLOSURES is defined.
- * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
- (ffi_abi): Recognize IA64.
- (ffi_raw): Added `flt' field.
- Added "Java raw API" code.
- * configure.in: Recognize ia64.
- * Makefile.am (TARGET_SRC_IA64): New macro.
- (libffi_la_common_SOURCES): Added java_raw_api.c.
- (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01 Tom Tromey <tromey@cygnus.com>
-
- * include/ffi.h.in: Removed PACKAGE and VERSION defines and
- undefs.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
- * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
- Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
- * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09 Anthony Green <green@cygnus.com>
-
- * include/ffi.h.in: Try to work around messy header problem
- with PACKAGE and VERSION.
-
- * configure: Rebuilt.
- * configure.in: Change version to 2.00-beta.
-
- * fficonfig.h.in: Rebuilt.
- * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
- * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
-
- * src/x86/ffi.c (ffi_closure_SYSV): New function.
- (ffi_prep_incoming_args_SYSV): Ditto.
- (ffi_prep_closure): Ditto.
- (ffi_closure_raw_SYSV): Ditto.
- (ffi_prep_raw_closure): More ditto.
- (ffi_call_raw): Final ditto.
-
- * include/ffi.h.in: Add definitions for closure and raw API.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
- FFI_TYPE_UINT64.
-
- * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
- * src/raw_api.c: New file.
-
- * include/ffi.h.in (ffi_raw): New type.
- (UINT_ARG, SINT_ARG): New defines.
- (ffi_closure, ffi_raw_closure): New types.
- (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
- * configure.in: Add check for endianness and sizeof void*.
-
- * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
- instead of directly.
-
- * configure: Rebuilt.
-
-Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
-
- * configure.in: Add x86 and powerpc BeOS configurations.
- From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09 Anthony Green <green@cygnus.com>
-
- * configure.in: Add warning about this being beta code.
- Remove src/Makefile.am from the picture.
- * configure: Rebuilt.
-
- * Makefile.am: Move logic from src/Makefile.am. Add changes
- to support libffi as a target library.
- * Makefile.in: Rebuilt.
-
- * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
- Upgraded to new autoconf, automake, libtool.
-
- * README: Tweaks.
-
- * LICENSE: Update copyright date.
-
- * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29 Anthony Green <green@cygnus.com>
-
- * include/ChangeLog: Removed.
- * src/ChangeLog: Removed.
- * src/mips/ChangeLog: Removed.
- * src/sparc/ChangeLog: Remboved.
- * src/x86/ChangeLog: Removed.
-
- * ChangeLog.v1: Created.
diff --git a/.pc/debug-build/Makefile.am b/.pc/debug-build/Makefile.am
deleted file mode 100644
index ff3891c..0000000
--- a/.pc/debug-build/Makefile.am
+++ /dev/null
@@ -1,192 +0,0 @@
-## Process this with automake to create Makefile.in
-
-AUTOMAKE_OPTIONS = foreign subdir-objects
-
-SUBDIRS = include testsuite man
-
-EXTRA_DIST = LICENSE ChangeLog.v1 ChangeLog.libgcj configure.host \
- src/alpha/ffi.c src/alpha/osf.S src/alpha/ffitarget.h \
- src/arm/ffi.c src/arm/sysv.S src/arm/ffitarget.h \
- src/avr32/ffi.c src/avr32/sysv.S src/avr32/ffitarget.h \
- src/cris/ffi.c src/cris/sysv.S src/cris/ffitarget.h \
- src/ia64/ffi.c src/ia64/ffitarget.h src/ia64/ia64_flags.h \
- src/ia64/unix.S \
- src/mips/ffi.c src/mips/n32.S src/mips/o32.S \
- src/mips/ffitarget.h \
- src/m32r/ffi.c src/m32r/sysv.S src/m32r/ffitarget.h \
- src/m68k/ffi.c src/m68k/sysv.S src/m68k/ffitarget.h \
- src/powerpc/ffi.c src/powerpc/sysv.S \
- src/powerpc/linux64.S src/powerpc/linux64_closure.S \
- src/powerpc/ppc_closure.S src/powerpc/asm.h \
- src/powerpc/aix.S src/powerpc/darwin.S \
- src/powerpc/aix_closure.S src/powerpc/darwin_closure.S \
- src/powerpc/ffi_darwin.c src/powerpc/ffitarget.h \
- src/s390/ffi.c src/s390/sysv.S src/s390/ffitarget.h \
- src/sh/ffi.c src/sh/sysv.S src/sh/ffitarget.h \
- src/sh64/ffi.c src/sh64/sysv.S src/sh64/ffitarget.h \
- src/sparc/v8.S src/sparc/v9.S src/sparc/ffitarget.h \
- src/sparc/ffi.c src/x86/darwin64.S \
- src/x86/ffi.c src/x86/sysv.S src/x86/win32.S src/x86/darwin.S \
- src/x86/win64.S src/x86/freebsd.S \
- src/x86/ffi64.c src/x86/unix64.S src/x86/ffitarget.h \
- src/pa/ffitarget.h src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S \
- src/frv/ffi.c src/frv/eabi.S src/frv/ffitarget.h \
- src/dlmalloc.c \
- src/moxie/ffi.c src/moxie/eabi.S \
- libtool-version ChangeLog.libffi m4/libtool.m4 \
- m4/lt~obsolete.m4 m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4
-
-info_TEXINFOS = doc/libffi.texi
-
-## ################################################################
-
-##
-## This section is for make and multilib madness.
-##
-
-# Work around what appears to be a GNU make bug handling MAKEFLAGS
-# values defined in terms of make variables, as is the case for CC and
-# friends when we are called from the top level Makefile.
-AM_MAKEFLAGS = \
- "AR_FLAGS=$(AR_FLAGS)" \
- "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
- "CFLAGS=$(CFLAGS)" \
- "CXXFLAGS=$(CXXFLAGS)" \
- "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
- "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
- "INSTALL=$(INSTALL)" \
- "INSTALL_DATA=$(INSTALL_DATA)" \
- "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
- "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
- "JC1FLAGS=$(JC1FLAGS)" \
- "LDFLAGS=$(LDFLAGS)" \
- "LIBCFLAGS=$(LIBCFLAGS)" \
- "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
- "MAKE=$(MAKE)" \
- "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
- "PICFLAG=$(PICFLAG)" \
- "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
- "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
- "SHELL=$(SHELL)" \
- "exec_prefix=$(exec_prefix)" \
- "infodir=$(infodir)" \
- "libdir=$(libdir)" \
- "mandir=$(mandir)" \
- "prefix=$(prefix)" \
- "AR=$(AR)" \
- "AS=$(AS)" \
- "CC=$(CC)" \
- "CXX=$(CXX)" \
- "LD=$(LD)" \
- "NM=$(NM)" \
- "RANLIB=$(RANLIB)" \
- "DESTDIR=$(DESTDIR)"
-
-MAKEOVERRIDES=
-
-ACLOCAL_AMFLAGS=$(ACLOCAL_AMFLAGS) -I m4
-
-lib_LTLIBRARIES = libffi.la
-noinst_LTLIBRARIES = libffi_convenience.la
-
-libffi_la_SOURCES = src/debug.c src/prep_cif.c src/types.c \
- src/raw_api.c src/java_raw_api.c src/closures.c
-
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = libffi.pc
-
-nodist_libffi_la_SOURCES =
-
-if MIPS
-nodist_libffi_la_SOURCES += src/mips/ffi.c src/mips/o32.S src/mips/n32.S
-endif
-if X86
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/sysv.S
-endif
-if X86_FREEBSD
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/freebsd.S
-endif
-if X86_WIN32
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/win32.S
-endif
-if X86_WIN64
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/win64.S
-endif
-if X86_DARWIN
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/darwin.S src/x86/ffi64.c src/x86/darwin64.S
-endif
-if SPARC
-nodist_libffi_la_SOURCES += src/sparc/ffi.c src/sparc/v8.S src/sparc/v9.S
-endif
-if ALPHA
-nodist_libffi_la_SOURCES += src/alpha/ffi.c src/alpha/osf.S
-endif
-if IA64
-nodist_libffi_la_SOURCES += src/ia64/ffi.c src/ia64/unix.S
-endif
-if M32R
-nodist_libffi_la_SOURCES += src/m32r/sysv.S src/m32r/ffi.c
-endif
-if M68K
-nodist_libffi_la_SOURCES += src/m68k/ffi.c src/m68k/sysv.S
-endif
-if POWERPC
-nodist_libffi_la_SOURCES += src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S src/powerpc/linux64.S src/powerpc/linux64_closure.S
-endif
-if POWERPC_AIX
-nodist_libffi_la_SOURCES += src/powerpc/ffi_darwin.c src/powerpc/aix.S src/powerpc/aix_closure.S
-endif
-if POWERPC_DARWIN
-nodist_libffi_la_SOURCES += src/powerpc/ffi_darwin.c src/powerpc/darwin.S src/powerpc/darwin_closure.S
-endif
-if POWERPC_FREEBSD
-nodist_libffi_la_SOURCES += src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S
-endif
-if ARM
-nodist_libffi_la_SOURCES += src/arm/sysv.S src/arm/ffi.c
-endif
-if AVR32
-nodist_libffi_la_SOURCES += src/avr32/sysv.S src/avr32/ffi.c
-endif
-if LIBFFI_CRIS
-nodist_libffi_la_SOURCES += src/cris/sysv.S src/cris/ffi.c
-endif
-if FRV
-nodist_libffi_la_SOURCES += src/frv/eabi.S src/frv/ffi.c
-endif
-if MOXIE
-nodist_libffi_la_SOURCES += src/moxie/eabi.S src/moxie/ffi.c
-endif
-if S390
-nodist_libffi_la_SOURCES += src/s390/sysv.S src/s390/ffi.c
-endif
-if X86_64
-nodist_libffi_la_SOURCES += src/x86/ffi64.c src/x86/unix64.S src/x86/ffi.c src/x86/sysv.S
-endif
-if SH
-nodist_libffi_la_SOURCES += src/sh/sysv.S src/sh/ffi.c
-endif
-if SH64
-nodist_libffi_la_SOURCES += src/sh64/sysv.S src/sh64/ffi.c
-endif
-if PA_LINUX
-nodist_libffi_la_SOURCES += src/pa/linux.S src/pa/ffi.c
-endif
-if PA_HPUX
-nodist_libffi_la_SOURCES += src/pa/hpux32.S src/pa/ffi.c
-endif
-
-libffi_convenience_la_SOURCES = $(libffi_la_SOURCES)
-nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
-
-AM_CFLAGS = -Wall -g -fexceptions
-
-libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LTLDFLAGS) $(AM_LTLDFLAGS)
-
-AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
-AM_CCASFLAGS = $(AM_CPPFLAGS)
-
-# No install-html or install-pdf support in automake yet
-.PHONY: install-html install-pdf
-install-html:
-install-pdf:
diff --git a/.pc/debug-build/configure b/.pc/debug-build/configure
deleted file mode 100755
index 7f88c51..0000000
--- a/.pc/debug-build/configure
+++ /dev/null
@@ -1,15954 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for libffi 3.0.11-rc2.
-#
-# Report bugs to <http://github.com/atgreen/libffi/issues>.
-#
-#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-# Foundation, Inc.
-#
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in #(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test "x$CONFIG_SHELL" = x; then
- as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '\${1+\"\$@\"}'='\"\$@\"'
- setopt NO_GLOB_SUBST
-else
- case \`(set -o) 2>/dev/null\` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-"
- as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-
-else
- exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1"
- as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
- as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
- eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
- test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-
- test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
- ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
- ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
- ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
- PATH=/empty FPATH=/empty; export PATH FPATH
- test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
- || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
- if (eval "$as_required") 2>/dev/null; then :
- as_have_required=yes
-else
- as_have_required=no
-fi
- if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- as_found=:
- case $as_dir in #(
- /*)
- for as_base in sh bash ksh sh5; do
- # Try only shells that exist, to save several forks.
- as_shell=$as_dir/$as_base
- if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
- CONFIG_SHELL=$as_shell as_have_required=yes
- if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
- break 2
-fi
-fi
- done;;
- esac
- as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
- CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
- if test "x$CONFIG_SHELL" != x; then :
- # We cannot yet assume a decent shell, so we have to provide a
- # neutralization value for shells without unset; and this also
- # works around shells that cannot unset nonexistent variables.
- # Preserve -v and -x to the replacement shell.
- BASH_ENV=/dev/null
- ENV=/dev/null
- (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
- export CONFIG_SHELL
- case $- in # ((((
- *v*x* | *x*v* ) as_opts=-vx ;;
- *v* ) as_opts=-v ;;
- *x* ) as_opts=-x ;;
- * ) as_opts= ;;
- esac
- exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
-fi
-
- if test x$as_have_required = xno; then :
- $as_echo "$0: This script requires a shell more modern than all"
- $as_echo "$0: the shells that I found on your system."
- if test x${ZSH_VERSION+set} = xset ; then
- $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
- $as_echo "$0: be upgraded to zsh 4.3.4 or later."
- else
- $as_echo "$0: Please tell bug-autoconf@gnu.org and
-$0: http://github.com/atgreen/libffi/issues about your
-$0: system, including any error possibly output before this
-$0: message. Then install a modern shell, or manually run
-$0: the script under such a shell if you do have one."
- fi
- exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} # as_fn_exit
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- fi
- $as_echo "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} # as_fn_error
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
- as_lineno_1=$LINENO as_lineno_1a=$LINENO
- as_lineno_2=$LINENO as_lineno_2a=$LINENO
- eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
- test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
- # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
- sed -n '
- p
- /[$]LINENO/=
- ' <$as_myself |
- sed '
- s/[$]LINENO.*/&-/
- t lineno
- b
- :lineno
- N
- :loop
- s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
- t loop
- s/-\n.*//
- ' >$as_me.lineno &&
- chmod +x "$as_me.lineno" ||
- { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensitive to this).
- . "./$as_me.lineno"
- # Exit status is that of the last command.
- exit
-}
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -p'
- fi
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in #(
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-
-test -n "$DJDIR" || exec 7<&0 </dev/null
-exec 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-
-# Identity of this package.
-PACKAGE_NAME='libffi'
-PACKAGE_TARNAME='libffi'
-PACKAGE_VERSION='3.0.11-rc2'
-PACKAGE_STRING='libffi 3.0.11-rc2'
-PACKAGE_BUGREPORT='http://github.com/atgreen/libffi/issues'
-PACKAGE_URL=''
-
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-# include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-# include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='am__EXEEXT_FALSE
-am__EXEEXT_TRUE
-LTLIBOBJS
-LIBOBJS
-toolexeclibdir
-toolexecdir
-TARGETDIR
-TARGET
-HAVE_LONG_DOUBLE
-ALLOCA
-PA64_HPUX_FALSE
-PA64_HPUX_TRUE
-PA_HPUX_FALSE
-PA_HPUX_TRUE
-PA_LINUX_FALSE
-PA_LINUX_TRUE
-SH64_FALSE
-SH64_TRUE
-SH_FALSE
-SH_TRUE
-X86_64_FALSE
-X86_64_TRUE
-S390_FALSE
-S390_TRUE
-FRV_FALSE
-FRV_TRUE
-LIBFFI_CRIS_FALSE
-LIBFFI_CRIS_TRUE
-AVR32_FALSE
-AVR32_TRUE
-ARM_FALSE
-ARM_TRUE
-POWERPC_FREEBSD_FALSE
-POWERPC_FREEBSD_TRUE
-POWERPC_DARWIN_FALSE
-POWERPC_DARWIN_TRUE
-POWERPC_AIX_FALSE
-POWERPC_AIX_TRUE
-POWERPC_FALSE
-POWERPC_TRUE
-MOXIE_FALSE
-MOXIE_TRUE
-M68K_FALSE
-M68K_TRUE
-M32R_FALSE
-M32R_TRUE
-IA64_FALSE
-IA64_TRUE
-ALPHA_FALSE
-ALPHA_TRUE
-X86_DARWIN_FALSE
-X86_DARWIN_TRUE
-X86_WIN64_FALSE
-X86_WIN64_TRUE
-X86_WIN32_FALSE
-X86_WIN32_TRUE
-X86_FREEBSD_FALSE
-X86_FREEBSD_TRUE
-X86_FALSE
-X86_TRUE
-SPARC_FALSE
-SPARC_TRUE
-MIPS_FALSE
-MIPS_TRUE
-AM_LTLDFLAGS
-AM_RUNTESTFLAGS
-TESTSUBDIR_FALSE
-TESTSUBDIR_TRUE
-MAINT
-MAINTAINER_MODE_FALSE
-MAINTAINER_MODE_TRUE
-CPP
-OTOOL64
-OTOOL
-LIPO
-NMEDIT
-DSYMUTIL
-MANIFEST_TOOL
-RANLIB
-ac_ct_AR
-AR
-DLLTOOL
-OBJDUMP
-LN_S
-NM
-ac_ct_DUMPBIN
-DUMPBIN
-LD
-FGREP
-EGREP
-GREP
-SED
-LIBTOOL
-am__fastdepCCAS_FALSE
-am__fastdepCCAS_TRUE
-CCASDEPMODE
-CCASFLAGS
-CCAS
-am__fastdepCC_FALSE
-am__fastdepCC_TRUE
-CCDEPMODE
-AMDEPBACKSLASH
-AMDEP_FALSE
-AMDEP_TRUE
-am__quote
-am__include
-DEPDIR
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-am__untar
-am__tar
-AMTAR
-am__leading_dot
-SET_MAKE
-AWK
-mkdir_p
-MKDIR_P
-INSTALL_STRIP_PROGRAM
-STRIP
-install_sh
-MAKEINFO
-AUTOHEADER
-AUTOMAKE
-AUTOCONF
-ACLOCAL
-VERSION
-PACKAGE
-CYGPATH_W
-am__isrc
-INSTALL_DATA
-INSTALL_SCRIPT
-INSTALL_PROGRAM
-target_os
-target_vendor
-target_cpu
-target
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-enable_dependency_tracking
-enable_shared
-enable_static
-with_pic
-enable_fast_install
-with_gnu_ld
-with_sysroot
-enable_libtool_lock
-enable_maintainer_mode
-enable_debug
-enable_structs
-enable_raw_api
-enable_purify_safety
-'
- ac_precious_vars='build_alias
-host_alias
-target_alias
-CCAS
-CCASFLAGS
-CPP
-CPPFLAGS'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval $ac_prev=\$ac_option
- ac_prev=
- continue
- fi
-
- case $ac_option in
- *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
- *=) ac_optarg= ;;
- *) ac_optarg=yes ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case $ac_dashdash$ac_option in
- --)
- ac_dashdash=yes ;;
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir=$ac_optarg ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build_alias ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build_alias=$ac_optarg ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file=$ac_optarg ;;
-
- --config-cache | -C)
- cache_file=config.cache ;;
-
- -datadir | --datadir | --datadi | --datad)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=*)
- datadir=$ac_optarg ;;
-
- -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
- | --dataroo | --dataro | --datar)
- ac_prev=datarootdir ;;
- -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
- | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
- datarootdir=$ac_optarg ;;
-
- -disable-* | --disable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=no ;;
-
- -docdir | --docdir | --docdi | --doc | --do)
- ac_prev=docdir ;;
- -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
- docdir=$ac_optarg ;;
-
- -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
- ac_prev=dvidir ;;
- -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
- dvidir=$ac_optarg ;;
-
- -enable-* | --enable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=\$ac_optarg ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix=$ac_optarg ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he | -h)
- ac_init_help=long ;;
- -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
- ac_init_help=recursive ;;
- -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
- ac_init_help=short ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host_alias ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host_alias=$ac_optarg ;;
-
- -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
- ac_prev=htmldir ;;
- -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
- | --ht=*)
- htmldir=$ac_optarg ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir=$ac_optarg ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir=$ac_optarg ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir=$ac_optarg ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir=$ac_optarg ;;
-
- -localedir | --localedir | --localedi | --localed | --locale)
- ac_prev=localedir ;;
- -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
- localedir=$ac_optarg ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst | --locals)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
- localstatedir=$ac_optarg ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir=$ac_optarg ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c | -n)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir=$ac_optarg ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix=$ac_optarg ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix=$ac_optarg ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix=$ac_optarg ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name=$ac_optarg ;;
-
- -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
- ac_prev=pdfdir ;;
- -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
- pdfdir=$ac_optarg ;;
-
- -psdir | --psdir | --psdi | --psd | --ps)
- ac_prev=psdir ;;
- -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
- psdir=$ac_optarg ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir=$ac_optarg ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir=$ac_optarg ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site=$ac_optarg ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir=$ac_optarg ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir=$ac_optarg ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target_alias ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target_alias=$ac_optarg ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers | -V)
- ac_init_version=: ;;
-
- -with-* | --with-*)
- ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=\$ac_optarg ;;
-
- -without-* | --without-*)
- ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=no ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes=$ac_optarg ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries=$ac_optarg ;;
-
- -*) as_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
- ;;
-
- *=*)
- ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
- # Reject names that are not valid shell variable names.
- case $ac_envvar in #(
- '' | [0-9]* | *[!_$as_cr_alnum]* )
- as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
- esac
- eval $ac_envvar=\$ac_optarg
- export $ac_envvar ;;
-
- *)
- # FIXME: should be removed in autoconf 3.0.
- $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
- expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- as_fn_error $? "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
- case $enable_option_checking in
- no) ;;
- fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
- *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
- esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
- datadir sysconfdir sharedstatedir localstatedir includedir \
- oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir
-do
- eval ac_val=\$$ac_var
- # Remove trailing slashes.
- case $ac_val in
- */ )
- ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
- eval $ac_var=\$ac_val;;
- esac
- # Be sure to have absolute directory names.
- case $ac_val in
- [\\/$]* | ?:[\\/]* ) continue;;
- NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
- esac
- as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
- if test "x$build_alias" = x; then
- cross_compiling=maybe
- $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
- If a cross compiler is detected then cross compile mode will be used" >&2
- elif test "x$build_alias" != "x$host_alias"; then
- cross_compiling=yes
- fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
- as_fn_error $? "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
- as_fn_error $? "pwd does not report name of working directory"
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then the parent directory.
- ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_myself" : 'X\(//\)[^/]' \| \
- X"$as_myself" : 'X\(//\)$' \| \
- X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- srcdir=$ac_confdir
- if test ! -r "$srcdir/$ac_unique_file"; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
- test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
- as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
- cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
- pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
- srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
- eval ac_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_env_${ac_var}_value=\$${ac_var}
- eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat <<_ACEOF
-\`configure' configures libffi 3.0.11-rc2 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE. See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
- -h, --help display this help and exit
- --help=short display options specific to this package
- --help=recursive display the short help of all the included packages
- -V, --version display version information and exit
- -q, --quiet, --silent do not print \`checking ...' messages
- --cache-file=FILE cache test results in FILE [disabled]
- -C, --config-cache alias for \`--cache-file=config.cache'
- -n, --no-create do not create output files
- --srcdir=DIR find the sources in DIR [configure dir or \`..']
-
-Installation directories:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
- --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
- --infodir=DIR info documentation [DATAROOTDIR/info]
- --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
- --mandir=DIR man documentation [DATAROOTDIR/man]
- --docdir=DIR documentation root [DATAROOTDIR/doc/libffi]
- --htmldir=DIR html documentation [DOCDIR]
- --dvidir=DIR dvi documentation [DOCDIR]
- --pdfdir=DIR pdf documentation [DOCDIR]
- --psdir=DIR ps documentation [DOCDIR]
-_ACEOF
-
- cat <<\_ACEOF
-
-Program names:
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM run sed PROGRAM on installed program names
-
-System types:
- --build=BUILD configure for building on BUILD [guessed]
- --host=HOST cross-compile to build programs to run on HOST [BUILD]
- --target=TARGET configure for building compilers for TARGET [HOST]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
- case $ac_init_help in
- short | recursive ) echo "Configuration of libffi 3.0.11-rc2:";;
- esac
- cat <<\_ACEOF
-
-Optional Features:
- --disable-option-checking ignore unrecognized --enable/--with options
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --disable-dependency-tracking speeds up one-time build
- --enable-dependency-tracking do not reject slow dependency extractors
- --enable-shared[=PKGS] build shared libraries [default=yes]
- --enable-static[=PKGS] build static libraries [default=yes]
- --enable-fast-install[=PKGS]
- optimize for fast installation [default=yes]
- --disable-libtool-lock avoid locking (might break parallel builds)
- --enable-maintainer-mode enable make rules and dependencies not useful
- (and sometimes confusing) to the casual installer
- --enable-debug debugging mode
- --disable-structs omit code for struct support
- --disable-raw-api make the raw api unavailable
- --enable-purify-safety purify-safe mode
-
-Optional Packages:
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --with-pic try to use only PIC/non-PIC objects [default=use
- both]
- --with-gnu-ld assume the C compiler uses GNU ld [default=no]
- --with-sysroot=DIR Search for dependent libraries within DIR
- (or the compiler's sysroot if not specified).
-
-Some influential environment variables:
- CC C compiler command
- CFLAGS C compiler flags
- LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
- nonstandard directory <lib dir>
- LIBS libraries to pass to the linker, e.g. -l<library>
- CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
- you have headers in a nonstandard directory <include dir>
- CCAS assembler compiler command (defaults to CC)
- CCASFLAGS assembler compiler flags (defaults to CFLAGS)
- CPP C preprocessor
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to <http://github.com/atgreen/libffi/issues>.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
- # If there are subdirs, report their specific --help.
- for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d "$ac_dir" ||
- { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
- continue
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
- cd "$ac_dir" || { ac_status=$?; continue; }
- # Check for guested configure.
- if test -f "$ac_srcdir/configure.gnu"; then
- echo &&
- $SHELL "$ac_srcdir/configure.gnu" --help=recursive
- elif test -f "$ac_srcdir/configure"; then
- echo &&
- $SHELL "$ac_srcdir/configure" --help=recursive
- else
- $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi || ac_status=$?
- cd "$ac_pwd" || { ac_status=$?; break; }
- done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
- cat <<\_ACEOF
-libffi configure 3.0.11-rc2
-generated by GNU Autoconf 2.68
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
- exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-# ac_fn_c_try_compile LINENO
-# --------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext
- if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_compile
-
-# ac_fn_c_try_link LINENO
-# -----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext conftest$ac_exeext
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext && {
- test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
- }; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
- # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
- # interfere with the next link command; also delete a directory that is
- # left behind by Apple's compiler. We do this before executing the actions.
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_link
-
-# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists and can be compiled using the include files in
-# INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- eval "$3=yes"
-else
- eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_compile
-
-# ac_fn_c_try_cpp LINENO
-# ----------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } > conftest.i && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_cpp
-
-# ac_fn_c_try_run LINENO
-# ----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
-ac_fn_c_try_run ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
- ac_retval=0
-else
- $as_echo "$as_me: program exited with status $ac_status" >&5
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=$ac_status
-fi
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_run
-
-# ac_fn_c_check_func LINENO FUNC VAR
-# ----------------------------------
-# Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_c_check_func ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $2 innocuous_$2
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $2 (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $2
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $2 ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_$2 || defined __stub___$2
-choke me
-#endif
-
-int
-main ()
-{
-return $2 ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- eval "$3=yes"
-else
- eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_func
-
-# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists, giving a warning if it cannot be compiled using
-# the include files in INCLUDES and setting the cache variable VAR
-# accordingly.
-ac_fn_c_check_header_mongrel ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if eval \${$3+:} false; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
- # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_header_compiler=yes
-else
- ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <$2>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- ac_header_preproc=yes
-else
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
- yes:no: )
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
- ;;
- no:yes:* )
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( $as_echo "## ------------------------------------------------------ ##
-## Report this to http://github.com/atgreen/libffi/issues ##
-## ------------------------------------------------------ ##"
- ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_mongrel
-
-# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
-# -------------------------------------------
-# Tests whether TYPE exists after having included INCLUDES, setting cache
-# variable VAR accordingly.
-ac_fn_c_check_type ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- eval "$3=no"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-if (sizeof ($2))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-if (sizeof (($2)))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
- eval "$3=yes"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_type
-
-# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
-# --------------------------------------------
-# Tries to find the compile-time value of EXPR in a program that includes
-# INCLUDES, setting VAR accordingly. Returns whether the value could be
-# computed
-ac_fn_c_compute_int ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if test "$cross_compiling" = yes; then
- # Depending upon the size, compute the lo and hi bounds.
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_lo=0 ac_mid=0
- while :; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_hi=$ac_mid; break
-else
- as_fn_arith $ac_mid + 1 && ac_lo=$as_val
- if test $ac_lo -le $ac_mid; then
- ac_lo= ac_hi=
- break
- fi
- as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) < 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_hi=-1 ac_mid=-1
- while :; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_lo=$ac_mid; break
-else
- as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
- if test $ac_mid -le $ac_hi; then
- ac_lo= ac_hi=
- break
- fi
- as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- ac_lo= ac_hi=
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
- as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_hi=$ac_mid
-else
- as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in #((
-?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
-'') ac_retval=1 ;;
-esac
- else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-static long int longval () { return $2; }
-static unsigned long int ulongval () { return $2; }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
- FILE *f = fopen ("conftest.val", "w");
- if (! f)
- return 1;
- if (($2) < 0)
- {
- long int i = longval ();
- if (i != ($2))
- return 1;
- fprintf (f, "%ld", i);
- }
- else
- {
- unsigned long int i = ulongval ();
- if (i != ($2))
- return 1;
- fprintf (f, "%lu", i);
- }
- /* Do not output a trailing newline, as this causes \r\n confusion
- on some platforms. */
- return ferror (f) || fclose (f) != 0;
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- echo >>conftest.val; read $3 <conftest.val; ac_retval=0
-else
- ac_retval=1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-rm -f conftest.val
-
- fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_compute_int
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by libffi $as_me 3.0.11-rc2, which was
-generated by GNU Autoconf 2.68. Invocation command line was
-
- $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
-
-/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
-/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
-/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- $as_echo "PATH: $as_dir"
- done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
- for ac_arg
- do
- case $ac_arg in
- -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- continue ;;
- *\'*)
- ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- case $ac_pass in
- 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
- 2)
- as_fn_append ac_configure_args1 " '$ac_arg'"
- if test $ac_must_keep_next = true; then
- ac_must_keep_next=false # Got value, back to normal.
- else
- case $ac_arg in
- *=* | --config-cache | -C | -disable-* | --disable-* \
- | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
- | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
- | -with-* | --with-* | -without-* | --without-* | --x)
- case "$ac_configure_args0 " in
- "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
- esac
- ;;
- -* ) ac_must_keep_next=true ;;
- esac
- fi
- as_fn_append ac_configure_args " '$ac_arg'"
- ;;
- esac
- done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log. We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
- # Save into config.log some information that might help in debugging.
- {
- echo
-
- $as_echo "## ---------------- ##
-## Cache variables. ##
-## ---------------- ##"
- echo
- # The following way of writing the cache mishandles newlines in values,
-(
- for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
- (set) 2>&1 |
- case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- sed -n \
- "s/'\''/'\''\\\\'\'''\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
- ;; #(
- *)
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-)
- echo
-
- $as_echo "## ----------------- ##
-## Output variables. ##
-## ----------------- ##"
- echo
- for ac_var in $ac_subst_vars
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
-
- if test -n "$ac_subst_files"; then
- $as_echo "## ------------------- ##
-## File substitutions. ##
-## ------------------- ##"
- echo
- for ac_var in $ac_subst_files
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
- fi
-
- if test -s confdefs.h; then
- $as_echo "## ----------- ##
-## confdefs.h. ##
-## ----------- ##"
- echo
- cat confdefs.h
- echo
- fi
- test "$ac_signal" != 0 &&
- $as_echo "$as_me: caught signal $ac_signal"
- $as_echo "$as_me: exit $exit_status"
- } >&5
- rm -f core *.core core.conftest.* &&
- rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
- exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
- trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-$as_echo "/* confdefs.h */" > confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
- # We do not want a PATH search for config.site.
- case $CONFIG_SITE in #((
- -*) ac_site_file1=./$CONFIG_SITE;;
- */*) ac_site_file1=$CONFIG_SITE;;
- *) ac_site_file1=./$CONFIG_SITE;;
- esac
-elif test "x$prefix" != xNONE; then
- ac_site_file1=$prefix/share/config.site
- ac_site_file2=$prefix/etc/config.site
-else
- ac_site_file1=$ac_default_prefix/share/config.site
- ac_site_file2=$ac_default_prefix/etc/config.site
-fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
- test "x$ac_site_file" = xNONE && continue
- if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
- sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file" \
- || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5; }
- fi
-done
-
-if test -r "$cache_file"; then
- # Some versions of bash will fail to source /dev/null (special files
- # actually), so we avoid doing that. DJGPP emulates it as a regular file.
- if test /dev/null != "$cache_file" && test -f "$cache_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
- case $cache_file in
- [\\/]* | ?:[\\/]* ) . "$cache_file";;
- *) . "./$cache_file";;
- esac
- fi
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
- >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
- eval ac_old_set=\$ac_cv_env_${ac_var}_set
- eval ac_new_set=\$ac_env_${ac_var}_set
- eval ac_old_val=\$ac_cv_env_${ac_var}_value
- eval ac_new_val=\$ac_env_${ac_var}_value
- case $ac_old_set,$ac_new_set in
- set,)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,set)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,);;
- *)
- if test "x$ac_old_val" != "x$ac_new_val"; then
- # differences in whitespace do not lead to failure.
- ac_old_val_w=`echo x $ac_old_val`
- ac_new_val_w=`echo x $ac_new_val`
- if test "$ac_old_val_w" != "$ac_new_val_w"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- ac_cache_corrupted=:
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
- eval $ac_var=\$ac_old_val
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
-$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
-$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
- fi;;
- esac
- # Pass precious variables to config.status.
- if test "$ac_new_set" = set; then
- case $ac_new_val in
- *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
- *) ac_arg=$ac_var=$ac_new_val ;;
- esac
- case " $ac_configure_args " in
- *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
- *) as_fn_append ac_configure_args " '$ac_arg'" ;;
- esac
- fi
-done
-if $ac_cache_corrupted; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-ac_config_headers="$ac_config_headers fficonfig.h"
-
-
-ac_aux_dir=
-for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
- if test -f "$ac_dir/install-sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f "$ac_dir/install.sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- elif test -f "$ac_dir/shtool"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/shtool install -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
-
-
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
- as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if ${ac_cv_build+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
- ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
- as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if ${ac_cv_host+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "x$host_alias" = x; then
- ac_cv_host=$ac_cv_build
-else
- ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
-$as_echo_n "checking target system type... " >&6; }
-if ${ac_cv_target+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "x$target_alias" = x; then
- ac_cv_target=$ac_cv_host
-else
- ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
-$as_echo "$ac_cv_target" >&6; }
-case $ac_cv_target in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
-esac
-target=$ac_cv_target
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_target
-shift
-target_cpu=$1
-target_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-target_os=$*
-IFS=$ac_save_IFS
-case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
-
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-test -n "$target_alias" &&
- test "$program_prefix$program_suffix$program_transform_name" = \
- NONENONEs,x,x, &&
- program_prefix=${target_alias}-
-
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-am__api_version='1.11'
-
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-# Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
-if test -z "$INSTALL"; then
-if ${ac_cv_path_install+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in #((
- ./ | .// | /[cC]/* | \
- /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
- ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
- /usr/ucb/* ) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
- if test $ac_prog = install &&
- grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- elif test $ac_prog = install &&
- grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # program-specific install script used by HP pwplus--don't use.
- :
- else
- rm -rf conftest.one conftest.two conftest.dir
- echo one > conftest.one
- echo two > conftest.two
- mkdir conftest.dir
- if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
- test -s conftest.one && test -s conftest.two &&
- test -s conftest.dir/conftest.one &&
- test -s conftest.dir/conftest.two
- then
- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
- break 3
- fi
- fi
- fi
- done
- done
- ;;
-esac
-
- done
-IFS=$as_save_IFS
-
-rm -rf conftest.one conftest.two conftest.dir
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL=$ac_cv_path_install
- else
- # As a last resort, use the slow shell script. Don't cache a
- # value for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- INSTALL=$ac_install_sh
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
-$as_echo_n "checking whether build environment is sane... " >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name. Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
- *[\\\"\#\$\&\'\`$am_lf]*)
- as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
-esac
-case $srcdir in
- *[\\\"\#\$\&\'\`$am_lf\ \ ]*)
- as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
-esac
-
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
- if test "$*" = "X"; then
- # -L didn't work.
- set X `ls -t "$srcdir/configure" conftest.file`
- fi
- rm -f conftest.file
- if test "$*" != "X $srcdir/configure conftest.file" \
- && test "$*" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
-alias in your environment" "$LINENO" 5
- fi
-
- test "$2" = conftest.file
- )
-then
- # Ok.
- :
-else
- as_fn_error $? "newly created file is older than distributed files!
-Check your system clock" "$LINENO" 5
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-test "$program_prefix" != NONE &&
- program_transform_name="s&^&$program_prefix&;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
- program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $.
-# By default was `s,x,x', remove it if useless.
-ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
-if test x"${MISSING+set}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
- *)
- MISSING="\${SHELL} $am_aux_dir/missing" ;;
- esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
-else
- am_missing_run=
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
-fi
-
-if test x"${install_sh}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
- *)
- install_sh="\${SHELL} $am_aux_dir/install-sh"
- esac
-fi
-
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_STRIP="strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_STRIP" = x; then
- STRIP=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- STRIP=$ac_ct_STRIP
- fi
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
-$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
-if test -z "$MKDIR_P"; then
- if ${ac_cv_path_mkdir+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in mkdir gmkdir; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
- case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
- 'mkdir (GNU coreutils) '* | \
- 'mkdir (coreutils) '* | \
- 'mkdir (fileutils) '4.1*)
- ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
- break 3;;
- esac
- done
- done
- done
-IFS=$as_save_IFS
-
-fi
-
- test -d ./--version && rmdir ./--version
- if test "${ac_cv_path_mkdir+set}" = set; then
- MKDIR_P="$ac_cv_path_mkdir -p"
- else
- # As a last resort, use the slow shell script. Don't cache a
- # value for MKDIR_P within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- MKDIR_P="$ac_install_sh -d"
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
-$as_echo "$MKDIR_P" >&6; }
-
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
- [\\/$]* | ?:[\\/]*) ;;
- */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-
-for ac_prog in gawk mawk nawk awk
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AWK+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$AWK"; then
- ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_AWK="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$AWK" && break
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
- @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
- *@@@%%%=?*=@@@%%%*)
- eval ac_cv_prog_make_${ac_make}_set=yes;;
- *)
- eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- SET_MAKE=
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
- am__leading_dot=.
-else
- am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
- # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
- # is not polluted with repeated "-I."
- am__isrc=' -I$(srcdir)'
- # test to see if srcdir already configured
- if test -f $srcdir/config.status; then
- as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
- fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
- if (cygpath --version) >/dev/null 2>/dev/null; then
- CYGPATH_W='cygpath -w'
- else
- CYGPATH_W=echo
- fi
-fi
-
-
-# Define the identity of the package.
- PACKAGE='libffi'
- VERSION='3.0.11-rc2'
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE "$PACKAGE"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define VERSION "$VERSION"
-_ACEOF
-
-# Some tools Automake needs.
-
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-
-
-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-
-
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-
-
-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-
-
-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
-# Always define AMTAR for backward compatibility.
-
-AMTAR=${AMTAR-"${am_missing_run}tar"}
-
-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
-
-
-
-
-
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="${ac_tool_prefix}gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_CC="gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-else
- CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="${ac_tool_prefix}cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- fi
-fi
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# != 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
- fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- for ac_prog in cl.exe
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$CC" && break
- done
-fi
-if test -z "$CC"; then
- ac_ct_CC=$CC
- for ac_prog in cl.exe
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_CC="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_CC" && break
-done
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
- { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compiler $ac_option >&5") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- sed '10a\
-... rest of stderr output deleted ...
- 10q' conftest.err >conftest.er1
- cat conftest.er1 >&5
- fi
- rm -f conftest.er1 conftest.err
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- * ) ac_rmfiles="$ac_rmfiles $ac_file";;
- esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link_default") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile. We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
- ;;
- [ab].out )
- # We found the default executable, but exeext='' is most
- # certainly right.
- break;;
- *.* )
- if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
- then :; else
- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- fi
- # We set ac_cv_exeext here because the later test for it is not
- # safe: cross compilers may not add the suffix if given an `-o'
- # argument, so we may need to know it at that point already.
- # Even if this section looks crufty: it has the advantage of
- # actually working.
- break;;
- * )
- break;;
- esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
- ac_file=''
-fi
-if test -z "$ac_file"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-ac_exeext=$ac_cv_exeext
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- break;;
- * ) break;;
- esac
-done
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdio.h>
-int
-main ()
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
- { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if { ac_try='./conftest$ac_cv_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- cross_compiling=no
- else
- if test "$cross_compiling" = maybe; then
- cross_compiling=yes
- else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5; }
- fi
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- for ac_file in conftest.o conftest.obj conftest.*; do
- test -f "$ac_file" || continue;
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
- *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
- break;;
- esac
-done
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-#ifndef __GNUC__
- choke me
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_compiler_gnu=yes
-else
- ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
- GCC=yes
-else
- GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_save_c_werror_flag=$ac_c_werror_flag
- ac_c_werror_flag=yes
- ac_cv_prog_cc_g=no
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-else
- CFLAGS=""
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
- ac_c_werror_flag=$ac_save_c_werror_flag
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
- CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
- if test "$GCC" = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-g"
- fi
-else
- if test "$GCC" = yes; then
- CFLAGS="-O2"
- else
- CFLAGS=
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
- char **p;
- int i;
-{
- return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
- char *s;
- va_list v;
- va_start (v,p);
- s = g (p, va_arg (v,int));
- va_end (v);
- return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
- function prototypes and stuff, but not '\xHH' hex character constants.
- These don't provoke an error unfortunately, instead are silently treated
- as 'x'. The following induces an error, until -std is added to get
- proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
- array size at least. It's necessary to write '\x00'==0 to get something
- that's true only with -std. */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
- inside strings and character constants. */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
- ;
- return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
- -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
- CC="$ac_save_CC $ac_arg"
- if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
- test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
- x)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
- xno)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
- *)
- CC="$CC $ac_cv_prog_cc_c89"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
-
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
- @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
-$as_echo_n "checking for style of include used by $am_make... " >&6; }
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
- am__include=include
- am__quote=
- _am_result=GNU
- ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- case `$am_make -s -f confmf 2> /dev/null` in #(
- *the\ am__doit\ target*)
- am__include=.include
- am__quote="\""
- _am_result=BSD
- ;;
- esac
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
-rm -f confinc confmf
-
-# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then :
- enableval=$enable_dependency_tracking;
-fi
-
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
-fi
- if test "x$enable_dependency_tracking" != xno; then
- AMDEP_TRUE=
- AMDEP_FALSE='#'
-else
- AMDEP_TRUE='#'
- AMDEP_FALSE=
-fi
-
-
-
-depcc="$CC" am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CC_dependencies_compiler_type+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_CC_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
- fi
- am__universal=false
- case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac
-
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs
- am__obj=sub/conftest.${OBJEXT-o}
- am__minus_obj="-o $am__obj"
- case $depmode in
- gcc)
- # This depmode causes a compiler race in universal mode.
- test "$am__universal" = false || continue
- ;;
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- msvisualcpp | msvcmsys)
- # This compiler won't grok `-c -o', but also, the minuso test has
- # not run yet. These depmodes are late enough in the game, and
- # so weak that their functioning should not be impacted.
- am__obj=conftest.${OBJEXT-o}
- am__minus_obj=
- ;;
- none) break ;;
- esac
- if depmode=$depmode \
- source=sub/conftest.c object=$am__obj \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_CC_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
- am__fastdepCC_TRUE=
- am__fastdepCC_FALSE='#'
-else
- am__fastdepCC_TRUE='#'
- am__fastdepCC_FALSE=
-fi
-
-
-
-
-
-
-
-# By default we simply use the C compiler to build assembly code.
-
-test "${CCAS+set}" = set || CCAS=$CC
-test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
-
-
-
-depcc="$CCAS" am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CCAS_dependencies_compiler_type+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_CCAS_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
- fi
- am__universal=false
-
-
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs
- am__obj=sub/conftest.${OBJEXT-o}
- am__minus_obj="-o $am__obj"
- case $depmode in
- gcc)
- # This depmode causes a compiler race in universal mode.
- test "$am__universal" = false || continue
- ;;
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- msvisualcpp | msvcmsys)
- # This compiler won't grok `-c -o', but also, the minuso test has
- # not run yet. These depmodes are late enough in the game, and
- # so weak that their functioning should not be impacted.
- am__obj=conftest.${OBJEXT-o}
- am__minus_obj=
- ;;
- none) break ;;
- esac
- if depmode=$depmode \
- source=sub/conftest.c object=$am__obj \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_CCAS_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_CCAS_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CCAS_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CCAS_dependencies_compiler_type" >&6; }
-CCASDEPMODE=depmode=$am_cv_CCAS_dependencies_compiler_type
-
- if
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CCAS_dependencies_compiler_type" = gcc3; then
- am__fastdepCCAS_TRUE=
- am__fastdepCCAS_FALSE='#'
-else
- am__fastdepCCAS_TRUE='#'
- am__fastdepCCAS_FALSE=
-fi
-
-
-if test "x$CC" != xcc; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
-$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5
-$as_echo_n "checking whether cc understands -c and -o together... " >&6; }
-fi
-set dummy $CC; ac_cc=`$as_echo "$2" |
- sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-# Make sure it works both with $CC and with simple cc.
-# We do the test twice because some compilers refuse to overwrite an
-# existing .o file with -o, though they will create one.
-ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-rm -f conftest2.*
-if { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } &&
- test -f conftest2.$ac_objext && { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; };
-then
- eval ac_cv_prog_cc_${ac_cc}_c_o=yes
- if test "x$CC" != xcc; then
- # Test first that cc exists at all.
- if { ac_try='cc -c conftest.$ac_ext >&5'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
- rm -f conftest2.*
- if { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } &&
- test -f conftest2.$ac_objext && { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; };
- then
- # cc works too.
- :
- else
- # cc exists but doesn't like -o.
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
- fi
- fi
- fi
-else
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
-fi
-rm -f core conftest*
-
-fi
-if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h
-
-fi
-
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
- # Losing compiler, so override with the script.
- # FIXME: It is wrong to rewrite CC.
- # But if we don't then we get into trouble of one sort or another.
- # A longer-term fix would be to have automake use am__CC in this case,
- # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
- CC="$am_aux_dir/compile $CC"
-fi
-
-
-case `pwd` in
- *\ * | *\ *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
-$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
-esac
-
-
-
-macro_version='2.4'
-macro_revision='1.3293'
-
-
-
-
-
-
-
-
-
-
-
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-# Backslashify metacharacters that are still active within
-# double-quoted strings.
-sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
-$as_echo_n "checking how to print strings... " >&6; }
-# Test print first, because it will be a builtin if present.
-if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
- test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
- ECHO='print -r --'
-elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
- ECHO='printf %s\n'
-else
- # Use this function as a fallback that always works.
- func_fallback_echo ()
- {
- eval 'cat <<_LTECHO_EOF
-$1
-_LTECHO_EOF'
- }
- ECHO='func_fallback_echo'
-fi
-
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
- $ECHO ""
-}
-
-case "$ECHO" in
- printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
-$as_echo "printf" >&6; } ;;
- print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
-$as_echo "print -r" >&6; } ;;
- *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
-$as_echo "cat" >&6; } ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
-$as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if ${ac_cv_path_SED+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
- for ac_i in 1 2 3 4 5 6 7; do
- ac_script="$ac_script$as_nl$ac_script"
- done
- echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
- { ac_script=; unset ac_script;}
- if test -z "$SED"; then
- ac_path_SED_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in sed gsed; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
-# Check for GNU ac_path_SED and select it if it is found.
- # Check for GNU $ac_path_SED
-case `"$ac_path_SED" --version 2>&1` in
-*GNU*)
- ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo '' >> "conftest.nl"
- "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_SED_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_SED="$ac_path_SED"
- ac_path_SED_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_SED_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_SED"; then
- as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
- fi
-else
- ac_cv_path_SED=$SED
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
-$as_echo "$ac_cv_path_SED" >&6; }
- SED="$ac_cv_path_SED"
- rm -f conftest.sed
-
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$GREP"; then
- ac_path_GREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in grep ggrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
-# Check for GNU ac_path_GREP and select it if it is found.
- # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'GREP' >> "conftest.nl"
- "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_GREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_GREP="$ac_path_GREP"
- ac_path_GREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_GREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_GREP"; then
- as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
- then ac_cv_path_EGREP="$GREP -E"
- else
- if test -z "$EGREP"; then
- ac_path_EGREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in egrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
- # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'EGREP' >> "conftest.nl"
- "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_EGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_EGREP="$ac_path_EGREP"
- ac_path_EGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_EGREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_EGREP"; then
- as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_EGREP=$EGREP
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
-$as_echo_n "checking for fgrep... " >&6; }
-if ${ac_cv_path_FGREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
- then ac_cv_path_FGREP="$GREP -F"
- else
- if test -z "$FGREP"; then
- ac_path_FGREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in fgrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
-# Check for GNU ac_path_FGREP and select it if it is found.
- # Check for GNU $ac_path_FGREP
-case `"$ac_path_FGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'FGREP' >> "conftest.nl"
- "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_FGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_FGREP="$ac_path_FGREP"
- ac_path_FGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_FGREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_FGREP"; then
- as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_FGREP=$FGREP
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
-$as_echo "$ac_cv_path_FGREP" >&6; }
- FGREP="$ac_cv_path_FGREP"
-
-
-test -z "$GREP" && GREP=grep
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then :
- withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
- with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test "$GCC" = yes; then
- # Check if gcc -print-prog-name=ld gives a path.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
-$as_echo_n "checking for ld used by $CC... " >&6; }
- case $host in
- *-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case $ac_prog in
- # Accept absolute paths.
- [\\/]* | ?:[\\/]*)
- re_direlt='/[^/][^/]*/\.\./'
- # Canonicalize the pathname of ld
- ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
- while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
- done
- test -z "$LD" && LD="$ac_prog"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if ${lt_cv_path_LD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$LD"; then
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- lt_cv_path_LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some variants of GNU ld only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
- *GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break
- ;;
- *)
- test "$with_gnu_ld" != yes && break
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
-else
- lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
-$as_echo "$LD" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if ${lt_cv_prog_gnu_ld+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
- lt_cv_prog_gnu_ld=yes
- ;;
-*)
- lt_cv_prog_gnu_ld=no
- ;;
-esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
-$as_echo "$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
-$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if ${lt_cv_path_NM+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$NM"; then
- # Let the user override the test.
- lt_cv_path_NM="$NM"
-else
- lt_nm_to_check="${ac_tool_prefix}nm"
- if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
- lt_nm_to_check="$lt_nm_to_check nm"
- fi
- for lt_tmp_nm in $lt_nm_to_check; do
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- tmp_nm="$ac_dir/$lt_tmp_nm"
- if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
- # Check to see if the nm accepts a BSD-compat flag.
- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
- # nm: unknown option "B" ignored
- # Tru64's nm complains that /dev/null is an invalid object file
- case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
- */dev/null* | *'Invalid file or object type'*)
- lt_cv_path_NM="$tmp_nm -B"
- break
- ;;
- *)
- case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
- */dev/null*)
- lt_cv_path_NM="$tmp_nm -p"
- break
- ;;
- *)
- lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
- continue # so that we can try to find one that supports BSD flags
- ;;
- esac
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
- done
- : ${lt_cv_path_NM=no}
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
-$as_echo "$lt_cv_path_NM" >&6; }
-if test "$lt_cv_path_NM" != "no"; then
- NM="$lt_cv_path_NM"
-else
- # Didn't find any BSD compatible name lister, look for dumpbin.
- if test -n "$DUMPBIN"; then :
- # Let the user override the test.
- else
- if test -n "$ac_tool_prefix"; then
- for ac_prog in dumpbin "link -dump"
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DUMPBIN+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$DUMPBIN"; then
- ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-DUMPBIN=$ac_cv_prog_DUMPBIN
-if test -n "$DUMPBIN"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
-$as_echo "$DUMPBIN" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$DUMPBIN" && break
- done
-fi
-if test -z "$DUMPBIN"; then
- ac_ct_DUMPBIN=$DUMPBIN
- for ac_prog in dumpbin "link -dump"
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_DUMPBIN"; then
- ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
-if test -n "$ac_ct_DUMPBIN"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
-$as_echo "$ac_ct_DUMPBIN" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_DUMPBIN" && break
-done
-
- if test "x$ac_ct_DUMPBIN" = x; then
- DUMPBIN=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- DUMPBIN=$ac_ct_DUMPBIN
- fi
-fi
-
- case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
- *COFF*)
- DUMPBIN="$DUMPBIN -symbols"
- ;;
- *)
- DUMPBIN=:
- ;;
- esac
- fi
-
- if test "$DUMPBIN" != ":"; then
- NM="$DUMPBIN"
- fi
-fi
-test -z "$NM" && NM=nm
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
-$as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if ${lt_cv_nm_interface+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_nm_interface="BSD nm"
- echo "int some_variable = 0;" > conftest.$ac_ext
- (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
- (eval "$ac_compile" 2>conftest.err)
- cat conftest.err >&5
- (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
- (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
- cat conftest.err >&5
- (eval echo "\"\$as_me:$LINENO: output\"" >&5)
- cat conftest.out >&5
- if $GREP 'External.*some_variable' conftest.out > /dev/null; then
- lt_cv_nm_interface="MS dumpbin"
- fi
- rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
-$as_echo "$lt_cv_nm_interface" >&6; }
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
-$as_echo_n "checking whether ln -s works... " >&6; }
-LN_S=$as_ln_s
-if test "$LN_S" = "ln -s"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
-$as_echo "no, using $LN_S" >&6; }
-fi
-
-# find the maximum length of command line arguments
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
-$as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if ${lt_cv_sys_max_cmd_len+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- i=0
- teststring="ABCD"
-
- case $build_os in
- msdosdjgpp*)
- # On DJGPP, this test can blow up pretty badly due to problems in libc
- # (any single argument exceeding 2000 bytes causes a buffer overrun
- # during glob expansion). Even if it were fixed, the result of this
- # check would be larger than it should be.
- lt_cv_sys_max_cmd_len=12288; # 12K is about right
- ;;
-
- gnu*)
- # Under GNU Hurd, this test is not required because there is
- # no limit to the length of command line arguments.
- # Libtool will interpret -1 as no limit whatsoever
- lt_cv_sys_max_cmd_len=-1;
- ;;
-
- cygwin* | mingw* | cegcc*)
- # On Win9x/ME, this test blows up -- it succeeds, but takes
- # about 5 minutes as the teststring grows exponentially.
- # Worse, since 9x/ME are not pre-emptively multitasking,
- # you end up with a "frozen" computer, even though with patience
- # the test eventually succeeds (with a max line length of 256k).
- # Instead, let's just punt: use the minimum linelength reported by
- # all of the supported platforms: 8192 (on NT/2K/XP).
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- mint*)
- # On MiNT this can take a long time and run out of memory.
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- amigaos*)
- # On AmigaOS with pdksh, this test takes hours, literally.
- # So we just punt and use a minimum line length of 8192.
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
- # This has been around since 386BSD, at least. Likely further.
- if test -x /sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
- elif test -x /usr/sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
- else
- lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
- fi
- # And add a safety zone
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- ;;
-
- interix*)
- # We know the value 262144 and hardcode it with a safety zone (like BSD)
- lt_cv_sys_max_cmd_len=196608
- ;;
-
- osf*)
- # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
- # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
- # nice to cause kernel panics so lets avoid the loop below.
- # First set a reasonable default.
- lt_cv_sys_max_cmd_len=16384
- #
- if test -x /sbin/sysconfig; then
- case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
- *1*) lt_cv_sys_max_cmd_len=-1 ;;
- esac
- fi
- ;;
- sco3.2v5*)
- lt_cv_sys_max_cmd_len=102400
- ;;
- sysv5* | sco5v6* | sysv4.2uw2*)
- kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
- if test -n "$kargmax"; then
- lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
- else
- lt_cv_sys_max_cmd_len=32768
- fi
- ;;
- *)
- lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
- if test -n "$lt_cv_sys_max_cmd_len"; then
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- else
- # Make teststring a little bigger before we do anything with it.
- # a 1K string should be a reasonable start.
- for i in 1 2 3 4 5 6 7 8 ; do
- teststring=$teststring$teststring
- done
- SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
- # If test is not a shell built-in, we'll probably end up computing a
- # maximum length that is only half of the actual maximum length, but
- # we can't tell.
- while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
- = "X$teststring$teststring"; } >/dev/null 2>&1 &&
- test $i != 17 # 1/2 MB should be enough
- do
- i=`expr $i + 1`
- teststring=$teststring$teststring
- done
- # Only check the string length outside the loop.
- lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
- teststring=
- # Add a significant safety factor because C++ compilers can tack on
- # massive amounts of additional arguments before passing them to the
- # linker. It appears as though 1/2 is a usable value.
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
- fi
- ;;
- esac
-
-fi
-
-if test -n $lt_cv_sys_max_cmd_len ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
-$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
-$as_echo "none" >&6; }
-fi
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-
-
-
-
-
-: ${CP="cp -f"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
-$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
- test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
- = c,a/b,b/c, \
- && eval 'test $(( 1 + 1 )) -eq 2 \
- && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
- && xsi_shell=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
-$as_echo "$xsi_shell" >&6; }
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
-$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
- >/dev/null 2>&1 \
- && lt_shell_append=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
-$as_echo "$lt_shell_append" >&6; }
-
-
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- lt_unset=unset
-else
- lt_unset=false
-fi
-
-
-
-
-
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
- # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
- lt_SP2NL='tr \040 \012'
- lt_NL2SP='tr \015\012 \040\040'
- ;;
- *) # EBCDIC based system
- lt_SP2NL='tr \100 \n'
- lt_NL2SP='tr \r\n \100\100'
- ;;
-esac
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
-$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
-if ${lt_cv_to_host_file_cmd+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $host in
- *-*-mingw* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
- ;;
- *-*-cygwin* )
- lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
- ;;
- * ) # otherwise, assume *nix
- lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
- ;;
- esac
- ;;
- *-*-cygwin* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
- ;;
- *-*-cygwin* )
- lt_cv_to_host_file_cmd=func_convert_file_noop
- ;;
- * ) # otherwise, assume *nix
- lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
- ;;
- esac
- ;;
- * ) # unhandled hosts (and "normal" native builds)
- lt_cv_to_host_file_cmd=func_convert_file_noop
- ;;
-esac
-
-fi
-
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
-$as_echo "$lt_cv_to_host_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
-$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
-if ${lt_cv_to_tool_file_cmd+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- #assume ordinary cross tools, or native build.
-lt_cv_to_tool_file_cmd=func_convert_file_noop
-case $host in
- *-*-mingw* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
- ;;
- esac
- ;;
-esac
-
-fi
-
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
-$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
-$as_echo_n "checking for $LD option to reload object files... " >&6; }
-if ${lt_cv_ld_reload_flag+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ld_reload_flag='-r'
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
-$as_echo "$lt_cv_ld_reload_flag" >&6; }
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
- cygwin* | mingw* | pw32* | cegcc*)
- if test "$GCC" != yes; then
- reload_cmds=false
- fi
- ;;
- darwin*)
- if test "$GCC" = yes; then
- reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
- else
- reload_cmds='$LD$reload_flag -o $output$reload_objs'
- fi
- ;;
-esac
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
-set dummy ${ac_tool_prefix}objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OBJDUMP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$OBJDUMP"; then
- ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-OBJDUMP=$ac_cv_prog_OBJDUMP
-if test -n "$OBJDUMP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
-$as_echo "$OBJDUMP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OBJDUMP"; then
- ac_ct_OBJDUMP=$OBJDUMP
- # Extract the first word of "objdump", so it can be a program name with args.
-set dummy objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_OBJDUMP"; then
- ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_OBJDUMP="objdump"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
-if test -n "$ac_ct_OBJDUMP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
-$as_echo "$ac_ct_OBJDUMP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_OBJDUMP" = x; then
- OBJDUMP="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- OBJDUMP=$ac_ct_OBJDUMP
- fi
-else
- OBJDUMP="$ac_cv_prog_OBJDUMP"
-fi
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
-$as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if ${lt_cv_deplibs_check_method+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[4-9]*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-beos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-bsdi[45]*)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
- lt_cv_file_magic_cmd='/usr/bin/file -L'
- lt_cv_file_magic_test_file=/shlib/libc.so
- ;;
-
-cygwin*)
- # func_win32_libid is a shell function defined in ltmain.sh
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- ;;
-
-mingw* | pw32*)
- # Base MSYS/MinGW do not provide the 'file' command needed by
- # func_win32_libid shell function, so use a weaker test based on 'objdump',
- # unless we find 'file', for example because we are cross-compiling.
- # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
- if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- else
- # Keep this pattern in sync with the one in func_win32_libid.
- lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- fi
- ;;
-
-cegcc*)
- # use the weaker test based on 'objdump'. See mingw*.
- lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- ;;
-
-darwin* | rhapsody*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-freebsd* | dragonfly*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
- case $host_cpu in
- i*86 )
- # Not sure whether the presence of OpenBSD here was a mistake.
- # Let's accept both of them until this is cleared up.
- lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
- ;;
- esac
- else
- lt_cv_deplibs_check_method=pass_all
- fi
- ;;
-
-gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-haiku*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-hpux10.20* | hpux11*)
- lt_cv_file_magic_cmd=/usr/bin/file
- case $host_cpu in
- ia64*)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
- lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
- ;;
- hppa*64*)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
- lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
- ;;
- *)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
- lt_cv_file_magic_test_file=/usr/lib/libc.sl
- ;;
- esac
- ;;
-
-interix[3-9]*)
- # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $LD in
- *-32|*"-32 ") libmagic=32-bit;;
- *-n32|*"-n32 ") libmagic=N32;;
- *-64|*"-64 ") libmagic=64-bit;;
- *) libmagic=never-match;;
- esac
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
- fi
- ;;
-
-newos6*)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=/usr/lib/libnls.so
- ;;
-
-*nto* | *qnx*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-openbsd*)
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
- fi
- ;;
-
-osf3* | osf4* | osf5*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-rdos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-solaris*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sysv4 | sysv4.3*)
- case $host_vendor in
- motorola)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
- ;;
- ncr)
- lt_cv_deplibs_check_method=pass_all
- ;;
- sequent)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
- ;;
- sni)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
- lt_cv_file_magic_test_file=/lib/libc.so
- ;;
- siemens)
- lt_cv_deplibs_check_method=pass_all
- ;;
- pc)
- lt_cv_deplibs_check_method=pass_all
- ;;
- esac
- ;;
-
-tpf*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
-$as_echo "$lt_cv_deplibs_check_method" >&6; }
-
-file_magic_glob=
-want_nocaseglob=no
-if test "$build" = "$host"; then
- case $host_os in
- mingw* | pw32*)
- if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
- want_nocaseglob=yes
- else
- file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
- fi
- ;;
- esac
-fi
-
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DLLTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$DLLTOOL"; then
- ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-DLLTOOL=$ac_cv_prog_DLLTOOL
-if test -n "$DLLTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
-$as_echo "$DLLTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DLLTOOL"; then
- ac_ct_DLLTOOL=$DLLTOOL
- # Extract the first word of "dlltool", so it can be a program name with args.
-set dummy dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_DLLTOOL"; then
- ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_DLLTOOL="dlltool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
-if test -n "$ac_ct_DLLTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
-$as_echo "$ac_ct_DLLTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_DLLTOOL" = x; then
- DLLTOOL="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- DLLTOOL=$ac_ct_DLLTOOL
- fi
-else
- DLLTOOL="$ac_cv_prog_DLLTOOL"
-fi
-
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
-$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
-if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_sharedlib_from_linklib_cmd='unknown'
-
-case $host_os in
-cygwin* | mingw* | pw32* | cegcc*)
- # two different shell functions defined in ltmain.sh
- # decide which to use based on capabilities of $DLLTOOL
- case `$DLLTOOL --help 2>&1` in
- *--identify-strict*)
- lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
- ;;
- *)
- lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
- ;;
- esac
- ;;
-*)
- # fallback: assume linklib IS sharedlib
- lt_cv_sharedlib_from_linklib_cmd="$ECHO"
- ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
-$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
-sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
-test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- for ac_prog in ar
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$AR"; then
- ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$AR" && break
- done
-fi
-if test -z "$AR"; then
- ac_ct_AR=$AR
- for ac_prog in ar
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_AR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_AR"; then
- ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_AR="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-$as_echo "$ac_ct_AR" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_AR" && break
-done
-
- if test "x$ac_ct_AR" = x; then
- AR="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- AR=$ac_ct_AR
- fi
-fi
-
-: ${AR=ar}
-: ${AR_FLAGS=cru}
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
-$as_echo_n "checking for archiver @FILE support... " >&6; }
-if ${lt_cv_ar_at_file+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ar_at_file=no
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- echo conftest.$ac_objext > conftest.lst
- lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
- (eval $lt_ar_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if test "$ac_status" -eq 0; then
- # Ensure the archiver fails upon bogus file names.
- rm -f conftest.$ac_objext libconftest.a
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
- (eval $lt_ar_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if test "$ac_status" -ne 0; then
- lt_cv_ar_at_file=@
- fi
- fi
- rm -f conftest.* libconftest.a
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
-$as_echo "$lt_cv_ar_at_file" >&6; }
-
-if test "x$lt_cv_ar_at_file" = xno; then
- archiver_list_spec=
-else
- archiver_list_spec=$lt_cv_ar_at_file
-fi
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_STRIP="strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_STRIP" = x; then
- STRIP=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- STRIP=$ac_ct_STRIP
- fi
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
-
-test -z "$STRIP" && STRIP=:
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
- ac_ct_RANLIB=$RANLIB
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_RANLIB"; then
- ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_RANLIB="ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_RANLIB" = x; then
- RANLIB=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- RANLIB=$ac_ct_RANLIB
- fi
-else
- RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-test -z "$RANLIB" && RANLIB=:
-
-
-
-
-
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
- case $host_os in
- openbsd*)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
- ;;
- *)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
- ;;
- esac
- old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-
-case $host_os in
- darwin*)
- lock_old_archive_extraction=yes ;;
- *)
- lock_old_archive_extraction=no ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
-$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if ${lt_cv_sys_global_symbol_pipe+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix. What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Define system-specific variables.
-case $host_os in
-aix*)
- symcode='[BCDT]'
- ;;
-cygwin* | mingw* | pw32* | cegcc*)
- symcode='[ABCDGISTW]'
- ;;
-hpux*)
- if test "$host_cpu" = ia64; then
- symcode='[ABCDEGRST]'
- fi
- ;;
-irix* | nonstopux*)
- symcode='[BCDEGRST]'
- ;;
-osf*)
- symcode='[BCDEGQRST]'
- ;;
-solaris*)
- symcode='[BDRT]'
- ;;
-sco3.2v5*)
- symcode='[DT]'
- ;;
-sysv4.2uw2*)
- symcode='[DT]'
- ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
- symcode='[ABDT]'
- ;;
-sysv4)
- symcode='[DFNSTU]'
- ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
- symcode='[ABCDGIRSTW]' ;;
-esac
-
-# Transform an extracted symbol line into a proper C declaration.
-# Some systems (esp. on ia64) link data and code symbols differently,
-# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
- opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
- ;;
-esac
-
-# Try without a prefix underscore, then with it.
-for ac_symprfx in "" "_"; do
-
- # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
- symxfrm="\\1 $ac_symprfx\\2 \\2"
-
- # Write the raw and C identifiers.
- if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- # Fake it for dumpbin and say T for any non-static function
- # and D for any global variable.
- # Also find C++ and __fastcall symbols from MSVC++,
- # which start with @ or ?.
- lt_cv_sys_global_symbol_pipe="$AWK '"\
-" {last_section=section; section=\$ 3};"\
-" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-" \$ 0!~/External *\|/{next};"\
-" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-" {if(hide[section]) next};"\
-" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-" s[1]~/^[@?]/{print s[1], s[1]; next};"\
-" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
-" ' prfx=^$ac_symprfx"
- else
- lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
- fi
- lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
-
- # Check to see that the pipe works correctly.
- pipe_works=no
-
- rm -f conftest*
- cat > conftest.$ac_ext <<_LT_EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(void);
-void nm_test_func(void){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-_LT_EOF
-
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- # Now try to grab the symbols.
- nlist=conftest.nm
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
- (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s "$nlist"; then
- # Try sorting and uniquifying the output.
- if sort "$nlist" | uniq > "$nlist"T; then
- mv -f "$nlist"T "$nlist"
- else
- rm -f "$nlist"T
- fi
-
- # Make sure that we snagged all the symbols we need.
- if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
- if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
- cat <<_LT_EOF > conftest.$ac_ext
-/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-/* DATA imports from DLLs on WIN32 con't be const, because runtime
- relocations are performed -- see ld's documentation on pseudo-relocs. */
-# define LT_DLSYM_CONST
-#elif defined(__osf__)
-/* This system does not cope well with relocations in const data. */
-# define LT_DLSYM_CONST
-#else
-# define LT_DLSYM_CONST const
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_LT_EOF
- # Now generate the symbol file.
- eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
-
- cat <<_LT_EOF >> conftest.$ac_ext
-
-/* The mapping between symbol names and symbols. */
-LT_DLSYM_CONST struct {
- const char *name;
- void *address;
-}
-lt__PROGRAM__LTX_preloaded_symbols[] =
-{
- { "@PROGRAM@", (void *) 0 },
-_LT_EOF
- $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
- cat <<\_LT_EOF >> conftest.$ac_ext
- {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
- return lt__PROGRAM__LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-_LT_EOF
- # Now try linking the two files.
- mv conftest.$ac_objext conftstm.$ac_objext
- lt_globsym_save_LIBS=$LIBS
- lt_globsym_save_CFLAGS=$CFLAGS
- LIBS="conftstm.$ac_objext"
- CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext}; then
- pipe_works=yes
- fi
- LIBS=$lt_globsym_save_LIBS
- CFLAGS=$lt_globsym_save_CFLAGS
- else
- echo "cannot find nm_test_func in $nlist" >&5
- fi
- else
- echo "cannot find nm_test_var in $nlist" >&5
- fi
- else
- echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
- fi
- else
- echo "$progname: failed program was:" >&5
- cat conftest.$ac_ext >&5
- fi
- rm -rf conftest* conftst*
-
- # Do not use the global_symbol_pipe unless it works.
- if test "$pipe_works" = yes; then
- break
- else
- lt_cv_sys_global_symbol_pipe=
- fi
-done
-
-fi
-
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
- lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
-$as_echo "ok" >&6; }
-fi
-
-# Response file support.
-if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- nm_file_list_spec='@'
-elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
- nm_file_list_spec='@'
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
-$as_echo_n "checking for sysroot... " >&6; }
-
-# Check whether --with-sysroot was given.
-if test "${with_sysroot+set}" = set; then :
- withval=$with_sysroot;
-else
- with_sysroot=no
-fi
-
-
-lt_sysroot=
-case ${with_sysroot} in #(
- yes)
- if test "$GCC" = yes; then
- lt_sysroot=`$CC --print-sysroot 2>/dev/null`
- fi
- ;; #(
- /*)
- lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
- ;; #(
- no|'')
- ;; #(
- *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
-$as_echo "${with_sysroot}" >&6; }
- as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
- ;;
-esac
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
-$as_echo "${lt_sysroot:-no}" >&6; }
-
-
-
-
-
-# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then :
- enableval=$enable_libtool_lock;
-fi
-
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- case `/usr/bin/file conftest.$ac_objext` in
- *ELF-32*)
- HPUX_IA64_MODE="32"
- ;;
- *ELF-64*)
- HPUX_IA64_MODE="64"
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-*-*-irix6*)
- # Find out which ABI we are using.
- echo '#line '$LINENO' "configure"' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- if test "$lt_cv_prog_gnu_ld" = yes; then
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -melf32bsmip"
- ;;
- *N32*)
- LD="${LD-ld} -melf32bmipn32"
- ;;
- *64-bit*)
- LD="${LD-ld} -melf64bmip"
- ;;
- esac
- else
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -32"
- ;;
- *N32*)
- LD="${LD-ld} -n32"
- ;;
- *64-bit*)
- LD="${LD-ld} -64"
- ;;
- esac
- fi
- fi
- rm -rf conftest*
- ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- case `/usr/bin/file conftest.o` in
- *32-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_i386_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_i386"
- ;;
- ppc64-*linux*|powerpc64-*linux*)
- LD="${LD-ld} -m elf32ppclinux"
- ;;
- s390x-*linux*)
- LD="${LD-ld} -m elf_s390"
- ;;
- sparc64-*linux*)
- LD="${LD-ld} -m elf32_sparc"
- ;;
- esac
- ;;
- *64-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_x86_64_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_x86_64"
- ;;
- ppc*-*linux*|powerpc*-*linux*)
- LD="${LD-ld} -m elf64ppc"
- ;;
- s390*-*linux*|s390*-*tpf*)
- LD="${LD-ld} -m elf64_s390"
- ;;
- sparc*-*linux*)
- LD="${LD-ld} -m elf64_sparc"
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-
-*-*-sco3.2v5*)
- # On SCO OpenServer 5, we need -belf to get full-featured binaries.
- SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -belf"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
-$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if ${lt_cv_cc_needs_belf+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- lt_cv_cc_needs_belf=yes
-else
- lt_cv_cc_needs_belf=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
-$as_echo "$lt_cv_cc_needs_belf" >&6; }
- if test x"$lt_cv_cc_needs_belf" != x"yes"; then
- # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
- CFLAGS="$SAVE_CFLAGS"
- fi
- ;;
-sparc*-*solaris*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- case `/usr/bin/file conftest.o` in
- *64-bit*)
- case $lt_cv_prog_gnu_ld in
- yes*) LD="${LD-ld} -m elf64_sparc" ;;
- *)
- if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
- LD="${LD-ld} -64"
- fi
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-esac
-
-need_locks="$enable_libtool_lock"
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
-set dummy ${ac_tool_prefix}mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$MANIFEST_TOOL"; then
- ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
-if test -n "$MANIFEST_TOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
-$as_echo "$MANIFEST_TOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
- ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
- # Extract the first word of "mt", so it can be a program name with args.
-set dummy mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_MANIFEST_TOOL"; then
- ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
-if test -n "$ac_ct_MANIFEST_TOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
-$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_MANIFEST_TOOL" = x; then
- MANIFEST_TOOL=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
- fi
-else
- MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
-fi
-
-test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
-$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
-if ${lt_cv_path_mainfest_tool+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_path_mainfest_tool=no
- echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
- $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
- cat conftest.err >&5
- if $GREP 'Manifest Tool' conftest.out > /dev/null; then
- lt_cv_path_mainfest_tool=yes
- fi
- rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
-$as_echo "$lt_cv_path_mainfest_tool" >&6; }
-if test "x$lt_cv_path_mainfest_tool" != xyes; then
- MANIFEST_TOOL=:
-fi
-
-
-
-
-
-
- case $host_os in
- rhapsody* | darwin*)
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DSYMUTIL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$DSYMUTIL"; then
- ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-DSYMUTIL=$ac_cv_prog_DSYMUTIL
-if test -n "$DSYMUTIL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
-$as_echo "$DSYMUTIL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DSYMUTIL"; then
- ac_ct_DSYMUTIL=$DSYMUTIL
- # Extract the first word of "dsymutil", so it can be a program name with args.
-set dummy dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_DSYMUTIL"; then
- ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
-if test -n "$ac_ct_DSYMUTIL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
-$as_echo "$ac_ct_DSYMUTIL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_DSYMUTIL" = x; then
- DSYMUTIL=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- DSYMUTIL=$ac_ct_DSYMUTIL
- fi
-else
- DSYMUTIL="$ac_cv_prog_DSYMUTIL"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
-set dummy ${ac_tool_prefix}nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_NMEDIT+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$NMEDIT"; then
- ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-NMEDIT=$ac_cv_prog_NMEDIT
-if test -n "$NMEDIT"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
-$as_echo "$NMEDIT" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_NMEDIT"; then
- ac_ct_NMEDIT=$NMEDIT
- # Extract the first word of "nmedit", so it can be a program name with args.
-set dummy nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_NMEDIT"; then
- ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_NMEDIT="nmedit"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
-if test -n "$ac_ct_NMEDIT"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
-$as_echo "$ac_ct_NMEDIT" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_NMEDIT" = x; then
- NMEDIT=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- NMEDIT=$ac_ct_NMEDIT
- fi
-else
- NMEDIT="$ac_cv_prog_NMEDIT"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
-set dummy ${ac_tool_prefix}lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_LIPO+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$LIPO"; then
- ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-LIPO=$ac_cv_prog_LIPO
-if test -n "$LIPO"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
-$as_echo "$LIPO" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_LIPO"; then
- ac_ct_LIPO=$LIPO
- # Extract the first word of "lipo", so it can be a program name with args.
-set dummy lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_LIPO"; then
- ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_LIPO="lipo"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
-if test -n "$ac_ct_LIPO"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
-$as_echo "$ac_ct_LIPO" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_LIPO" = x; then
- LIPO=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- LIPO=$ac_ct_LIPO
- fi
-else
- LIPO="$ac_cv_prog_LIPO"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$OTOOL"; then
- ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL=$ac_cv_prog_OTOOL
-if test -n "$OTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
-$as_echo "$OTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL"; then
- ac_ct_OTOOL=$OTOOL
- # Extract the first word of "otool", so it can be a program name with args.
-set dummy otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_OTOOL"; then
- ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_OTOOL="otool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
-if test -n "$ac_ct_OTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
-$as_echo "$ac_ct_OTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_OTOOL" = x; then
- OTOOL=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- OTOOL=$ac_ct_OTOOL
- fi
-else
- OTOOL="$ac_cv_prog_OTOOL"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL64+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$OTOOL64"; then
- ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL64=$ac_cv_prog_OTOOL64
-if test -n "$OTOOL64"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
-$as_echo "$OTOOL64" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL64"; then
- ac_ct_OTOOL64=$OTOOL64
- # Extract the first word of "otool64", so it can be a program name with args.
-set dummy otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_OTOOL64"; then
- ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_OTOOL64="otool64"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
-if test -n "$ac_ct_OTOOL64"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
-$as_echo "$ac_ct_OTOOL64" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_OTOOL64" = x; then
- OTOOL64=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- OTOOL64=$ac_ct_OTOOL64
- fi
-else
- OTOOL64="$ac_cv_prog_OTOOL64"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
-$as_echo_n "checking for -single_module linker flag... " >&6; }
-if ${lt_cv_apple_cc_single_mod+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_apple_cc_single_mod=no
- if test -z "${LT_MULTI_MODULE}"; then
- # By default we will add the -single_module flag. You can override
- # by either setting the environment variable LT_MULTI_MODULE
- # non-empty at configure time, or by adding -multi_module to the
- # link flags.
- rm -rf libconftest.dylib*
- echo "int foo(void){return 1;}" > conftest.c
- echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
--dynamiclib -Wl,-single_module conftest.c" >&5
- $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
- -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
- _lt_result=$?
- if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
- lt_cv_apple_cc_single_mod=yes
- else
- cat conftest.err >&5
- fi
- rm -rf libconftest.dylib*
- rm -f conftest.*
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
-$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
-$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if ${lt_cv_ld_exported_symbols_list+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ld_exported_symbols_list=no
- save_LDFLAGS=$LDFLAGS
- echo "_main" > conftest.sym
- LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- lt_cv_ld_exported_symbols_list=yes
-else
- lt_cv_ld_exported_symbols_list=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
-$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
-$as_echo_n "checking for -force_load linker flag... " >&6; }
-if ${lt_cv_ld_force_load+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ld_force_load=no
- cat > conftest.c << _LT_EOF
-int forced_loaded() { return 2;}
-_LT_EOF
- echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
- $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
- echo "$AR cru libconftest.a conftest.o" >&5
- $AR cru libconftest.a conftest.o 2>&5
- echo "$RANLIB libconftest.a" >&5
- $RANLIB libconftest.a 2>&5
- cat > conftest.c << _LT_EOF
-int main() { return 0;}
-_LT_EOF
- echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
- $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
- _lt_result=$?
- if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
- lt_cv_ld_force_load=yes
- else
- cat conftest.err >&5
- fi
- rm -f conftest.err libconftest.a conftest conftest.c
- rm -rf conftest.dSYM
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
-$as_echo "$lt_cv_ld_force_load" >&6; }
- case $host_os in
- rhapsody* | darwin1.[012])
- _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
- darwin1.*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- darwin*) # darwin 5.x on
- # if running on 10.5 or later, the deployment target defaults
- # to the OS version, if on x86, and 10.4, the deployment
- # target defaults to 10.4. Don't you love it?
- case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
- 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- 10.[012]*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- 10.*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- esac
- ;;
- esac
- if test "$lt_cv_apple_cc_single_mod" = "yes"; then
- _lt_dar_single_mod='$single_module'
- fi
- if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
- _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
- else
- _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
- fi
- if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
- _lt_dsymutil='~$DSYMUTIL $lib || :'
- else
- _lt_dsymutil=
- fi
- ;;
- esac
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
- if ${ac_cv_prog_CPP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Double quotes because CPP needs to be expanded
- for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
- do
- ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
- break
-fi
-
- done
- ac_cv_prog_CPP=$CPP
-
-fi
- CPP=$ac_cv_prog_CPP
-else
- ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_header_stdc=yes
-else
- ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then :
- :
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- return 2;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
- inttypes.h stdint.h unistd.h
-do :
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_header in dlfcn.h
-do :
- ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
-"
-if test "x$ac_cv_header_dlfcn_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_DLFCN_H 1
-_ACEOF
-
-fi
-
-done
-
-
-
-
-
-# Set options
-
-
-
- enable_dlopen=no
-
-
- enable_win32_dll=no
-
-
- # Check whether --enable-shared was given.
-if test "${enable_shared+set}" = set; then :
- enableval=$enable_shared; p=${PACKAGE-default}
- case $enableval in
- yes) enable_shared=yes ;;
- no) enable_shared=no ;;
- *)
- enable_shared=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_shared=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_shared=yes
-fi
-
-
-
-
-
-
-
-
-
- # Check whether --enable-static was given.
-if test "${enable_static+set}" = set; then :
- enableval=$enable_static; p=${PACKAGE-default}
- case $enableval in
- yes) enable_static=yes ;;
- no) enable_static=no ;;
- *)
- enable_static=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_static=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_static=yes
-fi
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-pic was given.
-if test "${with_pic+set}" = set; then :
- withval=$with_pic; pic_mode="$withval"
-else
- pic_mode=default
-fi
-
-
-test -z "$pic_mode" && pic_mode=default
-
-
-
-
-
-
-
- # Check whether --enable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then :
- enableval=$enable_fast_install; p=${PACKAGE-default}
- case $enableval in
- yes) enable_fast_install=yes ;;
- no) enable_fast_install=no ;;
- *)
- enable_fast_install=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_fast_install=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_fast_install=yes
-fi
-
-
-
-
-
-
-
-
-
-
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-test -z "$LN_S" && LN_S="ln -s"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
-$as_echo_n "checking for objdir... " >&6; }
-if ${lt_cv_objdir+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
- lt_cv_objdir=.libs
-else
- # MS-DOS does not allow filenames that begin with a dot.
- lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
-$as_echo "$lt_cv_objdir" >&6; }
-objdir=$lt_cv_objdir
-
-
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define LT_OBJDIR "$lt_cv_objdir/"
-_ACEOF
-
-
-
-
-case $host_os in
-aix3*)
- # AIX sometimes has problems with the GCC collect2 program. For some
- # reason, if we set the COLLECT_NAMES environment variable, the problems
- # vanish in a puff of smoke.
- if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
- fi
- ;;
-esac
-
-# Global variables:
-ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$LD" && LD=ld
-test -z "$ac_objext" && ac_objext=o
-
-for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
-
-
-# Only perform the check for file, if the check method requires it
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-case $deplibs_check_method in
-file_magic*)
- if test "$file_magic_cmd" = '$MAGIC_CMD'; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
-$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $MAGIC_CMD in
-[\\/*] | ?:[\\/]*)
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- ;;
-*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
- for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/${ac_tool_prefix}file; then
- lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
- if test -n "$file_magic_test_file"; then
- case $deplibs_check_method in
- "file_magic "*)
- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- $EGREP "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
- fi ;;
- esac
- fi
- break
- fi
- done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
- ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-
-
-if test -z "$lt_cv_path_MAGIC_CMD"; then
- if test -n "$ac_tool_prefix"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
-$as_echo_n "checking for file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $MAGIC_CMD in
-[\\/*] | ?:[\\/]*)
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- ;;
-*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
- for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/file; then
- lt_cv_path_MAGIC_CMD="$ac_dir/file"
- if test -n "$file_magic_test_file"; then
- case $deplibs_check_method in
- "file_magic "*)
- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- $EGREP "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
- fi ;;
- esac
- fi
- break
- fi
- done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
- ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- else
- MAGIC_CMD=:
- fi
-fi
-
- fi
- ;;
-esac
-
-# Use C for the default configuration in the libtool script
-
-lt_save_CC="$CC"
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-objext=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-# Save the default compiler, since it gets overwritten when the other
-# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
-compiler_DEFAULT=$CC
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$RM conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$RM -r conftest*
-
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-if test -n "$compiler"; then
-
-lt_prog_compiler_no_builtin_flag=
-
-if test "$GCC" = yes; then
- case $cc_basename in
- nvcc*)
- lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
- *)
- lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
- esac
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_rtti_exceptions=no
- ac_outfile=conftest.$ac_objext
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="-fno-rtti -fno-exceptions"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_rtti_exceptions=yes
- fi
- fi
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
-
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
- lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
-else
- :
-fi
-
-fi
-
-
-
-
-
-
- lt_prog_compiler_wl=
-lt_prog_compiler_pic=
-lt_prog_compiler_static=
-
-
- if test "$GCC" = yes; then
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_static='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static='-Bstatic'
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- lt_prog_compiler_pic='-fPIC'
- ;;
- m68k)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
- ;;
- esac
- ;;
-
- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
-
- mingw* | cygwin* | pw32* | os2* | cegcc*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- # Although the cygwin gcc ignores -fPIC, still need this for old-style
- # (--disable-auto-import) libraries
- lt_prog_compiler_pic='-DDLL_EXPORT'
- ;;
-
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- lt_prog_compiler_pic='-fno-common'
- ;;
-
- haiku*)
- # PIC is the default for Haiku.
- # The "-static" flag exists, but is broken.
- lt_prog_compiler_static=
- ;;
-
- hpux*)
- # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
- # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
- # sets the default TLS model and affects inlining.
- case $host_cpu in
- hppa*64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic='-fPIC'
- ;;
- esac
- ;;
-
- interix[3-9]*)
- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- # Instead, we relocate shared libraries at runtime.
- ;;
-
- msdosdjgpp*)
- # Just because we use GCC doesn't mean we suddenly get shared libraries
- # on systems that don't support them.
- lt_prog_compiler_can_build_shared=no
- enable_shared=no
- ;;
-
- *nto* | *qnx*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- lt_prog_compiler_pic='-fPIC -shared'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- lt_prog_compiler_pic=-Kconform_pic
- fi
- ;;
-
- *)
- lt_prog_compiler_pic='-fPIC'
- ;;
- esac
-
- case $cc_basename in
- nvcc*) # Cuda Compiler Driver 2.2
- lt_prog_compiler_wl='-Xlinker '
- lt_prog_compiler_pic='-Xcompiler -fPIC'
- ;;
- esac
- else
- # PORTME Check for flag to pass linker flags through the system compiler.
- case $host_os in
- aix*)
- lt_prog_compiler_wl='-Wl,'
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static='-Bstatic'
- else
- lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
-
- mingw* | cygwin* | pw32* | os2* | cegcc*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- lt_prog_compiler_pic='-DDLL_EXPORT'
- ;;
-
- hpux9* | hpux10* | hpux11*)
- lt_prog_compiler_wl='-Wl,'
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic='+Z'
- ;;
- esac
- # Is there a better lt_prog_compiler_static that works with the bundled CC?
- lt_prog_compiler_static='${wl}-a ${wl}archive'
- ;;
-
- irix5* | irix6* | nonstopux*)
- lt_prog_compiler_wl='-Wl,'
- # PIC (with -KPIC) is the default.
- lt_prog_compiler_static='-non_shared'
- ;;
-
- linux* | k*bsd*-gnu | kopensolaris*-gnu)
- case $cc_basename in
- # old Intel for x86_64 which still supported -KPIC.
- ecc*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-static'
- ;;
- # icc used to be incompatible with GCC.
- # ICC 10 doesn't accept -KPIC any more.
- icc* | ifort*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-fPIC'
- lt_prog_compiler_static='-static'
- ;;
- # Lahey Fortran 8.1.
- lf95*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='--shared'
- lt_prog_compiler_static='--static'
- ;;
- nagfor*)
- # NAG Fortran compiler
- lt_prog_compiler_wl='-Wl,-Wl,,'
- lt_prog_compiler_pic='-PIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
- pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
- # Portland Group compilers (*not* the Pentium gcc compiler,
- # which looks to be a dead project)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-fpic'
- lt_prog_compiler_static='-Bstatic'
- ;;
- ccc*)
- lt_prog_compiler_wl='-Wl,'
- # All Alpha code is PIC.
- lt_prog_compiler_static='-non_shared'
- ;;
- xl* | bgxl* | bgf* | mpixl*)
- # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-qpic'
- lt_prog_compiler_static='-qstaticlink'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ F* | *Sun*Fortran*)
- # Sun Fortran 8.3 passes all unrecognized flags to the linker
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- lt_prog_compiler_wl=''
- ;;
- *Sun\ C*)
- # Sun C 5.9
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- lt_prog_compiler_wl='-Wl,'
- ;;
- esac
- ;;
- esac
- ;;
-
- newsos6)
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- *nto* | *qnx*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- lt_prog_compiler_pic='-fPIC -shared'
- ;;
-
- osf3* | osf4* | osf5*)
- lt_prog_compiler_wl='-Wl,'
- # All OSF/1 code is PIC.
- lt_prog_compiler_static='-non_shared'
- ;;
-
- rdos*)
- lt_prog_compiler_static='-non_shared'
- ;;
-
- solaris*)
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- case $cc_basename in
- f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
- lt_prog_compiler_wl='-Qoption ld ';;
- *)
- lt_prog_compiler_wl='-Wl,';;
- esac
- ;;
-
- sunos4*)
- lt_prog_compiler_wl='-Qoption ld '
- lt_prog_compiler_pic='-PIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- sysv4 | sysv4.2uw2* | sysv4.3*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec ;then
- lt_prog_compiler_pic='-Kconform_pic'
- lt_prog_compiler_static='-Bstatic'
- fi
- ;;
-
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- unicos*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_can_build_shared=no
- ;;
-
- uts4*)
- lt_prog_compiler_pic='-pic'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- *)
- lt_prog_compiler_can_build_shared=no
- ;;
- esac
- fi
-
-case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- lt_prog_compiler_pic=
- ;;
- *)
- lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
- ;;
-esac
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
-if ${lt_cv_prog_compiler_pic+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
-$as_echo "$lt_cv_prog_compiler_pic" >&6; }
-lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if ${lt_cv_prog_compiler_pic_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_pic_works=no
- ac_outfile=conftest.$ac_objext
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_pic_works=yes
- fi
- fi
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
-$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
- case $lt_prog_compiler_pic in
- "" | " "*) ;;
- *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
- esac
-else
- lt_prog_compiler_pic=
- lt_prog_compiler_can_build_shared=no
-fi
-
-fi
-
-
-
-
-
-
-
-
-
-
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if ${lt_cv_prog_compiler_static_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_static_works=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
- echo "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_static_works=yes
- fi
- else
- lt_cv_prog_compiler_static_works=yes
- fi
- fi
- $RM -r conftest*
- LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
-$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_static_works" = xyes; then
- :
-else
- lt_prog_compiler_static=
-fi
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_c_o=no
- $RM -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o=yes
- fi
- fi
- chmod u+w . 2>&5
- $RM conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
- $RM out/* && rmdir out
- cd ..
- $RM -r conftest
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_c_o=no
- $RM -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o=yes
- fi
- fi
- chmod u+w . 2>&5
- $RM conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
- $RM out/* && rmdir out
- cd ..
- $RM -r conftest
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
- # do not overwrite the value of need_locks provided by the user
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
-$as_echo_n "checking if we can lock with hard links... " >&6; }
- hard_links=yes
- $RM conftest*
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- touch conftest.a
- ln conftest.a conftest.b 2>&5 || hard_links=no
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
-$as_echo "$hard_links" >&6; }
- if test "$hard_links" = no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
- need_locks=warn
- fi
-else
- need_locks=no
-fi
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
-
- runpath_var=
- allow_undefined_flag=
- always_export_symbols=no
- archive_cmds=
- archive_expsym_cmds=
- compiler_needs_object=no
- enable_shared_with_static_runtimes=no
- export_dynamic_flag_spec=
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- hardcode_automatic=no
- hardcode_direct=no
- hardcode_direct_absolute=no
- hardcode_libdir_flag_spec=
- hardcode_libdir_flag_spec_ld=
- hardcode_libdir_separator=
- hardcode_minus_L=no
- hardcode_shlibpath_var=unsupported
- inherit_rpath=no
- link_all_deplibs=unknown
- module_cmds=
- module_expsym_cmds=
- old_archive_from_new_cmds=
- old_archive_from_expsyms_cmds=
- thread_safe_flag_spec=
- whole_archive_flag_spec=
- # include_expsyms should be a list of space-separated symbols to be *always*
- # included in the symbol list
- include_expsyms=
- # exclude_expsyms can be an extended regexp of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
- exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
- # platforms (ab)use it in PIC code, but their linkers get confused if
- # the symbol is explicitly referenced. Since portable code cannot
- # rely on this symbol name, it's probably fine to never include it in
- # preloaded symbol tables.
- # Exclude shared library initialization/finalization symbols.
- extract_expsyms_cmds=
-
- case $host_os in
- cygwin* | mingw* | pw32* | cegcc*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- if test "$GCC" != yes; then
- with_gnu_ld=no
- fi
- ;;
- interix*)
- # we just hope/assume this is gcc and not c89 (= MSVC++)
- with_gnu_ld=yes
- ;;
- openbsd*)
- with_gnu_ld=no
- ;;
- esac
-
- ld_shlibs=yes
-
- # On some targets, GNU ld is compatible enough with the native linker
- # that we're better off using the native interface for both.
- lt_use_gnu_ld_interface=no
- if test "$with_gnu_ld" = yes; then
- case $host_os in
- aix*)
- # The AIX port of GNU ld has always aspired to compatibility
- # with the native linker. However, as the warning in the GNU ld
- # block says, versions before 2.19.5* couldn't really create working
- # shared libraries, regardless of the interface used.
- case `$LD -v 2>&1` in
- *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
- *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
- *\ \(GNU\ Binutils\)\ [3-9]*) ;;
- *)
- lt_use_gnu_ld_interface=yes
- ;;
- esac
- ;;
- *)
- lt_use_gnu_ld_interface=yes
- ;;
- esac
- fi
-
- if test "$lt_use_gnu_ld_interface" = yes; then
- # If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
-
- # Set some defaults for GNU ld with shared library support. These
- # are reset later if shared libraries are not supported. Putting them
- # here allows them to be overridden if necessary.
- runpath_var=LD_RUN_PATH
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- export_dynamic_flag_spec='${wl}--export-dynamic'
- # ancient GNU ld didn't support --whole-archive et. al.
- if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
- whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- whole_archive_flag_spec=
- fi
- supports_anon_versioning=no
- case `$LD -v 2>&1` in
- *GNU\ gold*) supports_anon_versioning=yes ;;
- *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
- *\ 2.11.*) ;; # other 2.11 versions
- *) supports_anon_versioning=yes ;;
- esac
-
- # See if GNU ld supports shared libraries.
- case $host_os in
- aix[3-9]*)
- # On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
- ld_shlibs=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.19, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support. If you
-*** really care for shared libraries, you may want to install binutils
-*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
-*** You will then need to restart the configuration process.
-
-_LT_EOF
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds=''
- ;;
- m68k)
- archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- ;;
- esac
- ;;
-
- beos*)
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- allow_undefined_flag=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
-
- cygwin* | mingw* | pw32* | cegcc*)
- # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
- # as there is no search path for DLLs.
- hardcode_libdir_flag_spec='-L$libdir'
- export_dynamic_flag_spec='${wl}--export-all-symbols'
- allow_undefined_flag=unsupported
- always_export_symbols=no
- enable_shared_with_static_runtimes=yes
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
- exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
-
- if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- ld_shlibs=no
- fi
- ;;
-
- haiku*)
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- link_all_deplibs=yes
- ;;
-
- interix[3-9]*)
- hardcode_direct=no
- hardcode_shlibpath_var=no
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- export_dynamic_flag_spec='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
-
- gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
- tmp_diet=no
- if test "$host_os" = linux-dietlibc; then
- case $cc_basename in
- diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
- esac
- fi
- if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
- && test "$tmp_diet" = no
- then
- tmp_addflag=' $pic_flag'
- tmp_sharedflag='-shared'
- case $cc_basename,$host_cpu in
- pgcc*) # Portland Group C compiler
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag'
- ;;
- pgf77* | pgf90* | pgf95* | pgfortran*)
- # Portland Group f77 and f90 compilers
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag -Mnomain' ;;
- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
- tmp_addflag=' -i_dynamic' ;;
- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
- tmp_addflag=' -i_dynamic -nofor_main' ;;
- ifc* | ifort*) # Intel Fortran compiler
- tmp_addflag=' -nofor_main' ;;
- lf95*) # Lahey Fortran 8.1
- whole_archive_flag_spec=
- tmp_sharedflag='--shared' ;;
- xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
- tmp_sharedflag='-qmkshrobj'
- tmp_addflag= ;;
- nvcc*) # Cuda Compiler Driver 2.2
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- compiler_needs_object=yes
- ;;
- esac
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*) # Sun C 5.9
- whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- compiler_needs_object=yes
- tmp_sharedflag='-G' ;;
- *Sun\ F*) # Sun Fortran 8.3
- tmp_sharedflag='-G' ;;
- esac
- archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
- if test "x$supports_anon_versioning" = xyes; then
- archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- fi
-
- case $cc_basename in
- xlf* | bgf* | bgxlf* | mpixlf*)
- # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
- whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
- hardcode_libdir_flag_spec=
- hardcode_libdir_flag_spec_ld='-rpath $libdir'
- archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
- if test "x$supports_anon_versioning" = xyes; then
- archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
- fi
- ;;
- esac
- else
- ld_shlibs=no
- fi
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
- wlarc=
- else
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- fi
- ;;
-
- solaris*)
- if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
- ld_shlibs=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
- case `$LD -v 2>&1` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
- ld_shlibs=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- ;;
- *)
- # For security reasons, it is highly recommended that you always
- # use absolute paths for naming shared libraries, and exclude the
- # DT_RUNPATH tag from executables and libraries. But doing so
- # requires that you compile everything twice, which is a pain.
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
- esac
- ;;
-
- sunos4*)
- archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- wlarc=
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- *)
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
- esac
-
- if test "$ld_shlibs" = no; then
- runpath_var=
- hardcode_libdir_flag_spec=
- export_dynamic_flag_spec=
- whole_archive_flag_spec=
- fi
- else
- # PORTME fill in a description of your system's linker (not GNU ld)
- case $host_os in
- aix3*)
- allow_undefined_flag=unsupported
- always_export_symbols=yes
- archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
- # Note: this linker hardcodes the directories in LIBPATH if there
- # are no directories specified by -L.
- hardcode_minus_L=yes
- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
- # Neither direct hardcoding nor static linking is supported with a
- # broken collect2.
- hardcode_direct=unsupported
- fi
- ;;
-
- aix[4-9]*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- # Also, AIX nm treats weak defined symbols like other global
- # defined symbols, whereas GNU nm marks them as "W".
- if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
- export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- else
- export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- fi
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
- for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- aix_use_runtimelinking=yes
- break
- fi
- done
- ;;
- esac
-
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
-
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- archive_cmds=''
- hardcode_direct=yes
- hardcode_direct_absolute=yes
- hardcode_libdir_separator=':'
- link_all_deplibs=yes
- file_list_spec='${wl}-f,'
-
- if test "$GCC" = yes; then
- case $host_os in aix4.[012]|aix4.[012].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" &&
- strings "$collect2name" | $GREP resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- :
- else
- # We have old collect2
- hardcode_direct=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- hardcode_minus_L=yes
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_libdir_separator=
- fi
- ;;
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
-
- export_dynamic_flag_spec='${wl}-bexpall'
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- always_export_symbols=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- allow_undefined_flag='-berok'
- # Determine the default libpath from the value encoded in an
- # empty executable.
- if test "${lt_cv_aix_libpath+set}" = set; then
- aix_libpath=$lt_cv_aix_libpath
-else
- if ${lt_cv_aix_libpath_+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
- lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\([^ ]*\) *$/\1/
- p
- }
- }'
- lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- # Check for a 64-bit object if we didn't find anything.
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_="/usr/lib:/lib"
- fi
-
-fi
-
- aix_libpath=$lt_cv_aix_libpath_
-fi
-
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
- allow_undefined_flag="-z nodefs"
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an
- # empty executable.
- if test "${lt_cv_aix_libpath+set}" = set; then
- aix_libpath=$lt_cv_aix_libpath
-else
- if ${lt_cv_aix_libpath_+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
- lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\([^ ]*\) *$/\1/
- p
- }
- }'
- lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- # Check for a 64-bit object if we didn't find anything.
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_="/usr/lib:/lib"
- fi
-
-fi
-
- aix_libpath=$lt_cv_aix_libpath_
-fi
-
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- no_undefined_flag=' ${wl}-bernotok'
- allow_undefined_flag=' ${wl}-berok'
- if test "$with_gnu_ld" = yes; then
- # We only use this code for GNU lds that support --whole-archive.
- whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
- else
- # Exported symbols can be pulled into shared objects from archives
- whole_archive_flag_spec='$convenience'
- fi
- archive_cmds_need_lc=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds=''
- ;;
- m68k)
- archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- ;;
- esac
- ;;
-
- bsdi[45]*)
- export_dynamic_flag_spec=-rdynamic
- ;;
-
- cygwin* | mingw* | pw32* | cegcc*)
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- case $cc_basename in
- cl*)
- # Native MSVC
- hardcode_libdir_flag_spec=' '
- allow_undefined_flag=unsupported
- always_export_symbols=yes
- file_list_spec='@'
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
- archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
- else
- sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
- fi~
- $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
- linknames='
- # The linker will not automatically build a static lib if we build a DLL.
- # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
- enable_shared_with_static_runtimes=yes
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
- # Don't use ranlib
- old_postinstall_cmds='chmod 644 $oldlib'
- postlink_cmds='lt_outputfile="@OUTPUT@"~
- lt_tool_outputfile="@TOOL_OUTPUT@"~
- case $lt_outputfile in
- *.exe|*.EXE) ;;
- *)
- lt_outputfile="$lt_outputfile.exe"
- lt_tool_outputfile="$lt_tool_outputfile.exe"
- ;;
- esac~
- if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
- $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
- $RM "$lt_outputfile.manifest";
- fi'
- ;;
- *)
- # Assume MSVC wrapper
- hardcode_libdir_flag_spec=' '
- allow_undefined_flag=unsupported
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
- # The linker will automatically build a .lib file if we build a DLL.
- old_archive_from_new_cmds='true'
- # FIXME: Should let the user specify the lib program.
- old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
- enable_shared_with_static_runtimes=yes
- ;;
- esac
- ;;
-
- darwin* | rhapsody*)
-
-
- archive_cmds_need_lc=no
- hardcode_direct=no
- hardcode_automatic=yes
- hardcode_shlibpath_var=unsupported
- if test "$lt_cv_ld_force_load" = "yes"; then
- whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
- else
- whole_archive_flag_spec=''
- fi
- link_all_deplibs=yes
- allow_undefined_flag="$_lt_dar_allow_undefined"
- case $cc_basename in
- ifort*) _lt_dar_can_shared=yes ;;
- *) _lt_dar_can_shared=$GCC ;;
- esac
- if test "$_lt_dar_can_shared" = "yes"; then
- output_verbose_link_cmd=func_echo_all
- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-
- else
- ld_shlibs=no
- fi
-
- ;;
-
- dgux*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_shlibpath_var=no
- ;;
-
- freebsd1*)
- ld_shlibs=no
- ;;
-
- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
- # support. Future versions do this automatically, but an explicit c++rt0.o
- # does not break anything, and helps significantly (at the cost of a little
- # extra space).
- freebsd2.2*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes
- hardcode_minus_L=yes
- hardcode_shlibpath_var=no
- ;;
-
- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | dragonfly*)
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- hpux9*)
- if test "$GCC" = yes; then
- archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- fi
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_direct=yes
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- export_dynamic_flag_spec='${wl}-E'
- ;;
-
- hpux10*)
- if test "$GCC" = yes && test "$with_gnu_ld" = no; then
- archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_flag_spec_ld='+b $libdir'
- hardcode_libdir_separator=:
- hardcode_direct=yes
- hardcode_direct_absolute=yes
- export_dynamic_flag_spec='${wl}-E'
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- fi
- ;;
-
- hpux11*)
- if test "$GCC" = yes && test "$with_gnu_ld" = no; then
- case $host_cpu in
- hppa*64*)
- archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- else
- case $host_cpu in
- hppa*64*)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
-
- # Older versions of the 11.00 compiler do not understand -b yet
- # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
-$as_echo_n "checking if $CC understands -b... " >&6; }
-if ${lt_cv_prog_compiler__b+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler__b=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS -b"
- echo "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler__b=yes
- fi
- else
- lt_cv_prog_compiler__b=yes
- fi
- fi
- $RM -r conftest*
- LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
-$as_echo "$lt_cv_prog_compiler__b" >&6; }
-
-if test x"$lt_cv_prog_compiler__b" = xyes; then
- archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-else
- archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-fi
-
- ;;
- esac
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
-
- case $host_cpu in
- hppa*64*|ia64*)
- hardcode_direct=no
- hardcode_shlibpath_var=no
- ;;
- *)
- hardcode_direct=yes
- hardcode_direct_absolute=yes
- export_dynamic_flag_spec='${wl}-E'
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- ;;
- esac
- fi
- ;;
-
- irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- # Try to use the -exported_symbol ld option, if it does not
- # work, assume that -exports_file does not work either and
- # implicitly export all symbols.
- # This should be the same for all languages, so no per-tag cache variable.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
-$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
-if ${lt_cv_irix_exported_symbol+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-int foo (void) { return 0; }
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- lt_cv_irix_exported_symbol=yes
-else
- lt_cv_irix_exported_symbol=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS="$save_LDFLAGS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
-$as_echo "$lt_cv_irix_exported_symbol" >&6; }
- if test "$lt_cv_irix_exported_symbol" = yes; then
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
- fi
- else
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
- fi
- archive_cmds_need_lc='no'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- inherit_rpath=yes
- link_all_deplibs=yes
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
- else
- archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
- fi
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- newsos6)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_shlibpath_var=no
- ;;
-
- *nto* | *qnx*)
- ;;
-
- openbsd*)
- if test -f /usr/libexec/ld.so; then
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- hardcode_direct_absolute=yes
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- export_dynamic_flag_spec='${wl}-E'
- else
- case $host_os in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-R$libdir'
- ;;
- *)
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- ;;
- esac
- fi
- else
- ld_shlibs=no
- fi
- ;;
-
- os2*)
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- allow_undefined_flag=unsupported
- archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
- ;;
-
- osf3*)
- if test "$GCC" = yes; then
- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- fi
- archive_cmds_need_lc='no'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- ;;
-
- osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- else
- allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
- $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
-
- # Both c and cxx compiler support -rpath directly
- hardcode_libdir_flag_spec='-rpath $libdir'
- fi
- archive_cmds_need_lc='no'
- hardcode_libdir_separator=:
- ;;
-
- solaris*)
- no_undefined_flag=' -z defs'
- if test "$GCC" = yes; then
- wlarc='${wl}'
- archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
- else
- case `$CC -V 2>&1` in
- *"Compilers 5.0"*)
- wlarc=''
- archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
- ;;
- *)
- wlarc='${wl}'
- archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
- ;;
- esac
- fi
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_shlibpath_var=no
- case $host_os in
- solaris2.[0-5] | solaris2.[0-5].*) ;;
- *)
- # The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'. GCC discards it without `$wl',
- # but is careful enough not to reorder.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- if test "$GCC" = yes; then
- whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
- else
- whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
- fi
- ;;
- esac
- link_all_deplibs=yes
- ;;
-
- sunos4*)
- if test "x$host_vendor" = xsequent; then
- # Use $CC to link under sequent, because it throws in some extra .o
- # files that make .init and .fini sections work.
- archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
- fi
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_direct=yes
- hardcode_minus_L=yes
- hardcode_shlibpath_var=no
- ;;
-
- sysv4)
- case $host_vendor in
- sni)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes # is this really true???
- ;;
- siemens)
- ## LD is ld it makes a PLAMLIB
- ## CC just makes a GrossModule.
- archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- reload_cmds='$CC -r -o $output$reload_objs'
- hardcode_direct=no
- ;;
- motorola)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=no #Motorola manual says yes, but my tests say they lie
- ;;
- esac
- runpath_var='LD_RUN_PATH'
- hardcode_shlibpath_var=no
- ;;
-
- sysv4.3*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var=no
- export_dynamic_flag_spec='-Bexport'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var=no
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- ld_shlibs=yes
- fi
- ;;
-
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
- no_undefined_flag='${wl}-z,text'
- archive_cmds_need_lc=no
- hardcode_shlibpath_var=no
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- no_undefined_flag='${wl}-z,text'
- allow_undefined_flag='${wl}-z,nodefs'
- archive_cmds_need_lc=no
- hardcode_shlibpath_var=no
- hardcode_libdir_flag_spec='${wl}-R,$libdir'
- hardcode_libdir_separator=':'
- link_all_deplibs=yes
- export_dynamic_flag_spec='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- uts4*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_shlibpath_var=no
- ;;
-
- *)
- ld_shlibs=no
- ;;
- esac
-
- if test x$host_vendor = xsni; then
- case $host in
- sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- export_dynamic_flag_spec='${wl}-Blargedynsym'
- ;;
- esac
- fi
- fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
-$as_echo "$ld_shlibs" >&6; }
-test "$ld_shlibs" = no && can_build_shared=no
-
-with_gnu_ld=$with_gnu_ld
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc" in
-x|xyes)
- # Assume -lc should be added
- archive_cmds_need_lc=yes
-
- if test "$enable_shared" = yes && test "$GCC" = yes; then
- case $archive_cmds in
- *'~'*)
- # FIXME: we may have to deal with multi-command sequences.
- ;;
- '$CC '*)
- # Test whether the compiler implicitly links with -lc since on some
- # systems, -lgcc has to come before -lc. If gcc already passes -lc
- # to ld, don't add -lc before -lgcc.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
-$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if ${lt_cv_archive_cmds_need_lc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- $RM conftest*
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$lt_prog_compiler_wl
- pic_flag=$lt_prog_compiler_pic
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$allow_undefined_flag
- allow_undefined_flag=
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
- (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- then
- lt_cv_archive_cmds_need_lc=no
- else
- lt_cv_archive_cmds_need_lc=yes
- fi
- allow_undefined_flag=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
-$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
- archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
- ;;
- esac
- fi
- ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
-$as_echo_n "checking dynamic linker characteristics... " >&6; }
-
-if test "$GCC" = yes; then
- case $host_os in
- darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
- *) lt_awk_arg="/^libraries:/" ;;
- esac
- case $host_os in
- mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;;
- *) lt_sed_strip_eq="s,=/,/,g" ;;
- esac
- lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
- case $lt_search_path_spec in
- *\;*)
- # if the path contains ";" then we assume it to be the separator
- # otherwise default to the standard path separator (i.e. ":") - it is
- # assumed that no part of a normal pathname contains ";" but that should
- # okay in the real world where ";" in dirpaths is itself problematic.
- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
- ;;
- *)
- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
- ;;
- esac
- # Ok, now we have the path, separated by spaces, we can step through it
- # and add multilib dir if necessary.
- lt_tmp_lt_search_path_spec=
- lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
- for lt_sys_path in $lt_search_path_spec; do
- if test -d "$lt_sys_path/$lt_multi_os_dir"; then
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
- else
- test -d "$lt_sys_path" && \
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
- fi
- done
- lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
-BEGIN {RS=" "; FS="/|\n";} {
- lt_foo="";
- lt_count=0;
- for (lt_i = NF; lt_i > 0; lt_i--) {
- if ($lt_i != "" && $lt_i != ".") {
- if ($lt_i == "..") {
- lt_count++;
- } else {
- if (lt_count == 0) {
- lt_foo="/" $lt_i lt_foo;
- } else {
- lt_count--;
- }
- }
- }
- }
- if (lt_foo != "") { lt_freq[lt_foo]++; }
- if (lt_freq[lt_foo] == 1) { print lt_foo; }
-}'`
- # AWK program above erroneously prepends '/' to C:/dos/paths
- # for these hosts.
- case $host_os in
- mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
- $SED 's,/\([A-Za-z]:\),\1,g'` ;;
- esac
- sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
-else
- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
- shlibpath_var=LIBPATH
-
- # AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
-
-aix[4-9]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
- # AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- else
- # With GCC up to 2.95.x, collect2 would create an import file
- # for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
- # development snapshots of GCC prior to 3.0.
- case $host_os in
- aix4 | aix4.[01] | aix4.[01].*)
- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
- echo ' yes '
- echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
- :
- else
- can_build_shared=no
- fi
- ;;
- esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
- # soname into executable. Probably we can add versioning support to
- # collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
- # instead of lib<name>.a to let people know that these are not
- # typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
- # We preserve .a as extension for shared libraries through AIX4.2
- # and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
- shlibpath_var=LIBPATH
- fi
- ;;
-
-amigaos*)
- case $host_cpu in
- powerpc)
- # Since July 2007 AmigaOS4 officially supports .so libraries.
- # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- ;;
- m68k)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
- ;;
- esac
- ;;
-
-beos*)
- library_names_spec='${libname}${shared_ext}'
- dynamic_linker="$host_os ld.so"
- shlibpath_var=LIBRARY_PATH
- ;;
-
-bsdi[45]*)
- version_type=linux
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
- # the default ld.so.conf also contains /usr/contrib/lib and
- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
- # libtool to hard-code these into programs
- ;;
-
-cygwin* | mingw* | pw32* | cegcc*)
- version_type=windows
- shrext_cmds=".dll"
- need_version=no
- need_lib_prefix=no
-
- case $GCC,$cc_basename in
- yes,*)
- # gcc
- library_names_spec='$libname.dll.a'
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname~
- chmod a+x \$dldir/$dlname~
- if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
- eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
- fi'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $RM \$dlpath'
- shlibpath_overrides_runpath=yes
-
- case $host_os in
- cygwin*)
- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-
- sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
- ;;
- mingw* | cegcc*)
- # MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- ;;
- pw32*)
- # pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- ;;
- esac
- dynamic_linker='Win32 ld.exe'
- ;;
-
- *,cl*)
- # Native MSVC
- libname_spec='$name'
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- library_names_spec='${libname}.dll.lib'
-
- case $build_os in
- mingw*)
- sys_lib_search_path_spec=
- lt_save_ifs=$IFS
- IFS=';'
- for lt_path in $LIB
- do
- IFS=$lt_save_ifs
- # Let DOS variable expansion print the short 8.3 style file name.
- lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
- sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
- done
- IFS=$lt_save_ifs
- # Convert to MSYS style.
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
- ;;
- cygwin*)
- # Convert to unix form, then to dos form, then back to unix form
- # but this time dos style (no spaces!) so that the unix form looks
- # like /cygdrive/c/PROGRA~1:/cygdr...
- sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
- sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
- sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- ;;
- *)
- sys_lib_search_path_spec="$LIB"
- if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
- # It is most probably a Windows format PATH.
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- # FIXME: find the short name or the path components, as spaces are
- # common. (e.g. "Program Files" -> "PROGRA~1")
- ;;
- esac
-
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $RM \$dlpath'
- shlibpath_overrides_runpath=yes
- dynamic_linker='Win32 link.exe'
- ;;
-
- *)
- # Assume MSVC wrapper
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
- dynamic_linker='Win32 ld.exe'
- ;;
- esac
- # FIXME: first we should search . and the directory the executable is in
- shlibpath_var=PATH
- ;;
-
-darwin* | rhapsody*)
- dynamic_linker="$host_os dyld"
- version_type=darwin
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
- shlibpath_overrides_runpath=yes
- shlibpath_var=DYLD_LIBRARY_PATH
- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-
- sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
- ;;
-
-dgux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-freebsd1*)
- dynamic_linker=no
- ;;
-
-freebsd* | dragonfly*)
- # DragonFly does not have aout. When/if they implement a new
- # versioning mechanism, adjust this.
- if test -x /usr/bin/objformat; then
- objformat=`/usr/bin/objformat`
- else
- case $host_os in
- freebsd[123]*) objformat=aout ;;
- *) objformat=elf ;;
- esac
- fi
- version_type=freebsd-$objformat
- case $version_type in
- freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- need_version=no
- need_lib_prefix=no
- ;;
- freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
- need_version=yes
- ;;
- esac
- shlibpath_var=LD_LIBRARY_PATH
- case $host_os in
- freebsd2*)
- shlibpath_overrides_runpath=yes
- ;;
- freebsd3.[01]* | freebsdelf3.[01]*)
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
- freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
- *) # from 4.6 on, and DragonFly
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- esac
- ;;
-
-gnu*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- ;;
-
-haiku*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- dynamic_linker="$host_os runtime_loader"
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
- hardcode_into_libs=yes
- ;;
-
-hpux9* | hpux10* | hpux11*)
- # Give a soname corresponding to the major version so that dld.sl refuses to
- # link against other versions.
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- case $host_cpu in
- ia64*)
- shrext_cmds='.so'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.so"
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
- else
- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
- fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
- shrext_cmds='.sl'
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=SHLIB_PATH
- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
- esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
- postinstall_cmds='chmod 555 $lib'
- # or fails outright, so override atomically:
- install_override_mode=555
- ;;
-
-interix[3-9]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $host_os in
- nonstopux*) version_type=nonstopux ;;
- *)
- if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
- else
- version_type=irix
- fi ;;
- esac
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
- case $host_os in
- irix5* | nonstopux*)
- libsuff= shlibsuff=
- ;;
- *)
- case $LD in # libtool.m4 will add one of these switches to LD
- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
- libsuff= shlibsuff= libmagic=32-bit;;
- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
- libsuff=32 shlibsuff=N32 libmagic=N32;;
- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
- libsuff=64 shlibsuff=64 libmagic=64-bit;;
- *) libsuff= shlibsuff= libmagic=never-match;;
- esac
- ;;
- esac
- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
- hardcode_into_libs=yes
- ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
- dynamic_linker=no
- ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
-
- # Some binutils ld are patched to set DT_RUNPATH
- if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_shlibpath_overrides_runpath=no
- save_LDFLAGS=$LDFLAGS
- save_libdir=$libdir
- eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
- LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
- lt_cv_shlibpath_overrides_runpath=yes
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS=$save_LDFLAGS
- libdir=$save_libdir
-
-fi
-
- shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
-
- # This implies no fast_install, which is unacceptable.
- # Some rework will be needed to allow for fast_install
- # before this can be enabled.
- hardcode_into_libs=yes
-
- # Append ld.so.conf contents to the search path
- if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
- fi
-
- # We used to test for /lib/ld.so.1 and disable shared libraries on
- # powerpc, because MkLinux only supported shared libraries with the
- # GNU dynamic linker. Since this was broken with cross compilers,
- # most powerpc-linux boxes support dynamic linking these days and
- # people can always --disable-shared, the test was removed, and we
- # assume the GNU/Linux dynamic linker is in use.
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-netbsd*)
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- dynamic_linker='NetBSD (a.out) ld.so'
- else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='NetBSD ld.elf_so'
- fi
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
-
-newsos6)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-*nto* | *qnx*)
- version_type=qnx
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='ldqnx.so'
- ;;
-
-openbsd*)
- version_type=sunos
- sys_lib_dlsearch_path_spec="/usr/lib"
- need_lib_prefix=no
- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
- case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
- esac
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[89] | openbsd2.[89].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
- else
- shlibpath_overrides_runpath=yes
- fi
- ;;
-
-os2*)
- libname_spec='$name'
- shrext_cmds=".dll"
- need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
- dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
- ;;
-
-osf3* | osf4* | osf5*)
- version_type=osf
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
- ;;
-
-rdos*)
- dynamic_linker=no
- ;;
-
-solaris*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- # ldd complains unless libraries are executable
- postinstall_cmds='chmod +x $lib'
- ;;
-
-sunos4*)
- version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- fi
- need_version=yes
- ;;
-
-sysv4 | sysv4.3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- case $host_vendor in
- sni)
- shlibpath_overrides_runpath=no
- need_lib_prefix=no
- runpath_var=LD_RUN_PATH
- ;;
- siemens)
- need_lib_prefix=no
- ;;
- motorola)
- need_lib_prefix=no
- need_version=no
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
- ;;
- esac
- ;;
-
-sysv4*MP*)
- if test -d /usr/nec ;then
- version_type=linux
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
- shlibpath_var=LD_LIBRARY_PATH
- fi
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- version_type=freebsd-elf
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- if test "$with_gnu_ld" = yes; then
- sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
- else
- sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
- case $host_os in
- sco3.2v5*)
- sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
- ;;
- esac
- fi
- sys_lib_dlsearch_path_spec='/usr/lib'
- ;;
-
-tpf*)
- # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-uts4*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-*)
- dynamic_linker=no
- ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
-$as_echo "$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
- sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
- sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
-$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
-hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" ||
- test -n "$runpath_var" ||
- test "X$hardcode_automatic" = "Xyes" ; then
-
- # We can hardcode non-existent directories.
- if test "$hardcode_direct" != no &&
- # If the only mechanism to avoid hardcoding is shlibpath_var, we
- # have to relink, otherwise we might link with an installed library
- # when we should be linking with a yet-to-be-installed one
- ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
- test "$hardcode_minus_L" != no; then
- # Linking always hardcodes the temporary library directory.
- hardcode_action=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- hardcode_action=immediate
- fi
-else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- hardcode_action=unsupported
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
-$as_echo "$hardcode_action" >&6; }
-
-if test "$hardcode_action" = relink ||
- test "$inherit_rpath" = yes; then
- # Fast installation is not supported
- enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
- # Fast installation is not necessary
- enable_fast_install=needless
-fi
-
-
-
-
-
-
- if test "x$enable_dlopen" != xyes; then
- enable_dlopen=unknown
- enable_dlopen_self=unknown
- enable_dlopen_self_static=unknown
-else
- lt_cv_dlopen=no
- lt_cv_dlopen_libs=
-
- case $host_os in
- beos*)
- lt_cv_dlopen="load_add_on"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
- ;;
-
- mingw* | pw32* | cegcc*)
- lt_cv_dlopen="LoadLibrary"
- lt_cv_dlopen_libs=
- ;;
-
- cygwin*)
- lt_cv_dlopen="dlopen"
- lt_cv_dlopen_libs=
- ;;
-
- darwin*)
- # if libdl is installed we need to link against it
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dl_dlopen=yes
-else
- ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-
- lt_cv_dlopen="dyld"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
-
-fi
-
- ;;
-
- *)
- ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = xyes; then :
- lt_cv_dlopen="shl_load"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
-$as_echo_n "checking for shl_load in -ldld... " >&6; }
-if ${ac_cv_lib_dld_shl_load+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load ();
-int
-main ()
-{
-return shl_load ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dld_shl_load=yes
-else
- ac_cv_lib_dld_shl_load=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
-$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
- lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
-else
- ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dl_dlopen=yes
-else
- ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
-$as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if ${ac_cv_lib_svld_dlopen+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsvld $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_svld_dlopen=yes
-else
- ac_cv_lib_svld_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
-$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
-$as_echo_n "checking for dld_link in -ldld... " >&6; }
-if ${ac_cv_lib_dld_dld_link+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dld_link ();
-int
-main ()
-{
-return dld_link ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dld_dld_link=yes
-else
- ac_cv_lib_dld_dld_link=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
-$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
- lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
- ;;
- esac
-
- if test "x$lt_cv_dlopen" != xno; then
- enable_dlopen=yes
- else
- enable_dlopen=no
- fi
-
- case $lt_cv_dlopen in
- dlopen)
- save_CPPFLAGS="$CPPFLAGS"
- test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
- save_LDFLAGS="$LDFLAGS"
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
- save_LIBS="$LIBS"
- LIBS="$lt_cv_dlopen_libs $LIBS"
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
-$as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- lt_cv_dlopen_self=cross
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
- correspondingly for the symbols needed. */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
-
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else
- {
- if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- else puts (dlerror ());
- }
- /* dlclose (self); */
- }
- else
- puts (dlerror ());
-
- return status;
-}
-_LT_EOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) >&5 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
- x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
- x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
- esac
- else :
- # compilation failed
- lt_cv_dlopen_self=no
- fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
-$as_echo "$lt_cv_dlopen_self" >&6; }
-
- if test "x$lt_cv_dlopen_self" = xyes; then
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
-$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self_static+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- lt_cv_dlopen_self_static=cross
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
- correspondingly for the symbols needed. */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
-
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else
- {
- if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- else puts (dlerror ());
- }
- /* dlclose (self); */
- }
- else
- puts (dlerror ());
-
- return status;
-}
-_LT_EOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) >&5 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
- x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
- x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
- esac
- else :
- # compilation failed
- lt_cv_dlopen_self_static=no
- fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
-$as_echo "$lt_cv_dlopen_self_static" >&6; }
- fi
-
- CPPFLAGS="$save_CPPFLAGS"
- LDFLAGS="$save_LDFLAGS"
- LIBS="$save_LIBS"
- ;;
- esac
-
- case $lt_cv_dlopen_self in
- yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
- *) enable_dlopen_self=unknown ;;
- esac
-
- case $lt_cv_dlopen_self_static in
- yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
- *) enable_dlopen_self_static=unknown ;;
- esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-striplib=
-old_striplib=
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
-$as_echo_n "checking whether stripping libraries is possible... " >&6; }
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
- test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-# FIXME - insert some real tests, host_os isn't really good enough
- case $host_os in
- darwin*)
- if test -n "$STRIP" ; then
- striplib="$STRIP -x"
- old_striplib="$STRIP -S"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- fi
- ;;
- *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- ;;
- esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
- # Report which library types will actually be built
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
-$as_echo_n "checking if libtool supports shared libraries... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
-$as_echo "$can_build_shared" >&6; }
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
-$as_echo_n "checking whether to build shared libraries... " >&6; }
- test "$can_build_shared" = "no" && enable_shared=no
-
- # On AIX, shared libraries and static libraries use the same namespace, and
- # are all built from PIC.
- case $host_os in
- aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
-
- aix[4-9]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
- esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
-$as_echo "$enable_shared" >&6; }
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
-$as_echo_n "checking whether to build static libraries... " >&6; }
- # Make sure either enable_shared or enable_static is yes.
- test "$enable_shared" = yes || enable_static=yes
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
-$as_echo "$enable_static" >&6; }
-
-
-
-
-fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC="$lt_save_CC"
-
-
-
-
-
-
-
-
-
-
-
-
-
- ac_config_commands="$ac_config_commands libtool"
-
-
-
-
-# Only expand once:
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
-$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
- # Check whether --enable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then :
- enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
-else
- USE_MAINTAINER_MODE=no
-fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
-$as_echo "$USE_MAINTAINER_MODE" >&6; }
- if test $USE_MAINTAINER_MODE = yes; then
- MAINTAINER_MODE_TRUE=
- MAINTAINER_MODE_FALSE='#'
-else
- MAINTAINER_MODE_TRUE='#'
- MAINTAINER_MODE_FALSE=
-fi
-
- MAINT=$MAINTAINER_MODE_TRUE
-
-
-
-for ac_header in sys/mman.h
-do :
- ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_SYS_MMAN_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_func in mmap
-do :
- ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_MMAP 1
-_ACEOF
-
-fi
-done
-
-
-ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
- libffi_header_sys_mman_h=yes
-else
- libffi_header_sys_mman_h=no
-fi
-
-
-ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
- libffi_func_mmap=yes
-else
- libffi_func_mmap=no
-fi
-
-if test "$libffi_header_sys_mman_h" != yes \
- || test "$libffi_func_mmap" != yes; then
- ac_cv_func_mmap_file=no
- ac_cv_func_mmap_dev_zero=no
- ac_cv_func_mmap_anon=no
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether read-only mmap of a plain file works" >&5
-$as_echo_n "checking whether read-only mmap of a plain file works... " >&6; }
-if ${ac_cv_func_mmap_file+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Add a system to this blacklist if
- # mmap(0, stat_size, PROT_READ, MAP_PRIVATE, fd, 0) doesn't return a
- # memory area containing the same data that you'd get if you applied
- # read() to the same fd. The only system known to have a problem here
- # is VMS, where text files have record structure.
- case "$host_os" in
- vms* | ultrix*)
- ac_cv_func_mmap_file=no ;;
- *)
- ac_cv_func_mmap_file=yes;;
- esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_file" >&5
-$as_echo "$ac_cv_func_mmap_file" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap from /dev/zero works" >&5
-$as_echo_n "checking whether mmap from /dev/zero works... " >&6; }
-if ${ac_cv_func_mmap_dev_zero+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Add a system to this blacklist if it has mmap() but /dev/zero
- # does not exist, or if mmapping /dev/zero does not give anonymous
- # zeroed pages with both the following properties:
- # 1. If you map N consecutive pages in with one call, and then
- # unmap any subset of those pages, the pages that were not
- # explicitly unmapped remain accessible.
- # 2. If you map two adjacent blocks of memory and then unmap them
- # both at once, they must both go away.
- # Systems known to be in this category are Windows (all variants),
- # VMS, and Darwin.
- case "$host_os" in
- vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00)
- ac_cv_func_mmap_dev_zero=no ;;
- *)
- ac_cv_func_mmap_dev_zero=yes;;
- esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_dev_zero" >&5
-$as_echo "$ac_cv_func_mmap_dev_zero" >&6; }
-
- # Unlike /dev/zero, the MAP_ANON(YMOUS) defines can be probed for.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANON(YMOUS)" >&5
-$as_echo_n "checking for MAP_ANON(YMOUS)... " >&6; }
-if ${ac_cv_decl_map_anon+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <unistd.h>
-
-#ifndef MAP_ANONYMOUS
-#define MAP_ANONYMOUS MAP_ANON
-#endif
-
-int
-main ()
-{
-int n = MAP_ANONYMOUS;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_decl_map_anon=yes
-else
- ac_cv_decl_map_anon=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_decl_map_anon" >&5
-$as_echo "$ac_cv_decl_map_anon" >&6; }
-
- if test $ac_cv_decl_map_anon = no; then
- ac_cv_func_mmap_anon=no
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap with MAP_ANON(YMOUS) works" >&5
-$as_echo_n "checking whether mmap with MAP_ANON(YMOUS) works... " >&6; }
-if ${ac_cv_func_mmap_anon+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Add a system to this blacklist if it has mmap() and MAP_ANON or
- # MAP_ANONYMOUS, but using mmap(..., MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
- # doesn't give anonymous zeroed pages with the same properties listed
- # above for use of /dev/zero.
- # Systems known to be in this category are Windows, VMS, and SCO Unix.
- case "$host_os" in
- vms* | cygwin* | pe | mingw* | sco* | udk* )
- ac_cv_func_mmap_anon=no ;;
- *)
- ac_cv_func_mmap_anon=yes;;
- esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_anon" >&5
-$as_echo "$ac_cv_func_mmap_anon" >&6; }
- fi
-fi
-
-if test $ac_cv_func_mmap_file = yes; then
-
-$as_echo "#define HAVE_MMAP_FILE 1" >>confdefs.h
-
-fi
-if test $ac_cv_func_mmap_dev_zero = yes; then
-
-$as_echo "#define HAVE_MMAP_DEV_ZERO 1" >>confdefs.h
-
-fi
-if test $ac_cv_func_mmap_anon = yes; then
-
-$as_echo "#define HAVE_MMAP_ANON 1" >>confdefs.h
-
-fi
-
-
- if test -d $srcdir/testsuite; then
- TESTSUBDIR_TRUE=
- TESTSUBDIR_FALSE='#'
-else
- TESTSUBDIR_TRUE='#'
- TESTSUBDIR_FALSE=
-fi
-
-
-TARGETDIR="unknown"
-case "$host" in
- alpha*-*-*)
- TARGET=ALPHA; TARGETDIR=alpha;
- # Support 128-bit long double, changeable via command-line switch.
- HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
- ;;
-
- arm*-*-*)
- TARGET=ARM; TARGETDIR=arm
- ;;
-
- amd64-*-freebsd* | amd64-*-openbsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- amd64-*-freebsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- avr32*-*-*)
- TARGET=AVR32; TARGETDIR=avr32
- ;;
-
- cris-*-*)
- TARGET=LIBFFI_CRIS; TARGETDIR=cris
- ;;
-
- frv-*-*)
- TARGET=FRV; TARGETDIR=frv
- ;;
-
- hppa*-*-linux* | parisc*-*-linux*)
- TARGET=PA_LINUX; TARGETDIR=pa
- ;;
- hppa*64-*-hpux*)
- TARGET=PA64_HPUX; TARGETDIR=pa
- ;;
- hppa*-*-hpux*)
- TARGET=PA_HPUX; TARGETDIR=pa
- ;;
-
- i?86-*-freebsd* | i?86-*-openbsd*)
- TARGET=X86_FREEBSD; TARGETDIR=x86
- ;;
- i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2*)
- TARGET=X86_WIN32; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
- i?86-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
- i?86-*-solaris2.1[0-9]*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
- i?86-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- ia64*-*-*)
- TARGET=IA64; TARGETDIR=ia64
- ;;
-
- m32r*-*-*)
- TARGET=M32R; TARGETDIR=m32r
- ;;
-
- m68k-*-*)
- TARGET=M68K; TARGETDIR=m68k
- ;;
-
- mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
- TARGET=MIPS; TARGETDIR=mips
- ;;
- mips*-*-linux*)
- # Support 128-bit long double for NewABI.
- HAVE_LONG_DOUBLE='defined(__mips64)'
- TARGET=MIPS; TARGETDIR=mips
- ;;
-
- moxie-*-*)
- TARGET=MOXIE; TARGETDIR=moxie
- ;;
-
- powerpc*-*-linux* | powerpc-*-sysv*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-beos*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-darwin*)
- TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
- ;;
- powerpc-*-aix* | rs6000-*-aix*)
- TARGET=POWERPC_AIX; TARGETDIR=powerpc
- ;;
- powerpc-*-freebsd*)
- TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
- ;;
- powerpc64-*-freebsd*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc*-*-rtems*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
-
- s390-*-* | s390x-*-*)
- TARGET=S390; TARGETDIR=s390
- ;;
-
- sh-*-* | sh[34]*-*-*)
- TARGET=SH; TARGETDIR=sh
- ;;
- sh64-*-* | sh5*-*-*)
- TARGET=SH64; TARGETDIR=sh64
- ;;
-
- sparc*-*-*)
- TARGET=SPARC; TARGETDIR=sparc
- ;;
-
- x86_64-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
-
- x86_64-*-cygwin* | x86_64-*-mingw*)
- TARGET=X86_WIN64; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
-
- x86_64-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-esac
-
-
-
-
-if test $TARGETDIR = unknown; then
- as_fn_error $? "\"libffi has not been ported to $host.\"" "$LINENO" 5
-fi
-
- if test x$TARGET = xMIPS; then
- MIPS_TRUE=
- MIPS_FALSE='#'
-else
- MIPS_TRUE='#'
- MIPS_FALSE=
-fi
-
- if test x$TARGET = xSPARC; then
- SPARC_TRUE=
- SPARC_FALSE='#'
-else
- SPARC_TRUE='#'
- SPARC_FALSE=
-fi
-
- if test x$TARGET = xX86; then
- X86_TRUE=
- X86_FALSE='#'
-else
- X86_TRUE='#'
- X86_FALSE=
-fi
-
- if test x$TARGET = xX86_FREEBSD; then
- X86_FREEBSD_TRUE=
- X86_FREEBSD_FALSE='#'
-else
- X86_FREEBSD_TRUE='#'
- X86_FREEBSD_FALSE=
-fi
-
- if test x$TARGET = xX86_WIN32; then
- X86_WIN32_TRUE=
- X86_WIN32_FALSE='#'
-else
- X86_WIN32_TRUE='#'
- X86_WIN32_FALSE=
-fi
-
- if test x$TARGET = xX86_WIN64; then
- X86_WIN64_TRUE=
- X86_WIN64_FALSE='#'
-else
- X86_WIN64_TRUE='#'
- X86_WIN64_FALSE=
-fi
-
- if test x$TARGET = xX86_DARWIN; then
- X86_DARWIN_TRUE=
- X86_DARWIN_FALSE='#'
-else
- X86_DARWIN_TRUE='#'
- X86_DARWIN_FALSE=
-fi
-
- if test x$TARGET = xALPHA; then
- ALPHA_TRUE=
- ALPHA_FALSE='#'
-else
- ALPHA_TRUE='#'
- ALPHA_FALSE=
-fi
-
- if test x$TARGET = xIA64; then
- IA64_TRUE=
- IA64_FALSE='#'
-else
- IA64_TRUE='#'
- IA64_FALSE=
-fi
-
- if test x$TARGET = xM32R; then
- M32R_TRUE=
- M32R_FALSE='#'
-else
- M32R_TRUE='#'
- M32R_FALSE=
-fi
-
- if test x$TARGET = xM68K; then
- M68K_TRUE=
- M68K_FALSE='#'
-else
- M68K_TRUE='#'
- M68K_FALSE=
-fi
-
- if test x$TARGET = xMOXIE; then
- MOXIE_TRUE=
- MOXIE_FALSE='#'
-else
- MOXIE_TRUE='#'
- MOXIE_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC; then
- POWERPC_TRUE=
- POWERPC_FALSE='#'
-else
- POWERPC_TRUE='#'
- POWERPC_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_AIX; then
- POWERPC_AIX_TRUE=
- POWERPC_AIX_FALSE='#'
-else
- POWERPC_AIX_TRUE='#'
- POWERPC_AIX_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_DARWIN; then
- POWERPC_DARWIN_TRUE=
- POWERPC_DARWIN_FALSE='#'
-else
- POWERPC_DARWIN_TRUE='#'
- POWERPC_DARWIN_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_FREEBSD; then
- POWERPC_FREEBSD_TRUE=
- POWERPC_FREEBSD_FALSE='#'
-else
- POWERPC_FREEBSD_TRUE='#'
- POWERPC_FREEBSD_FALSE=
-fi
-
- if test x$TARGET = xARM; then
- ARM_TRUE=
- ARM_FALSE='#'
-else
- ARM_TRUE='#'
- ARM_FALSE=
-fi
-
- if test x$TARGET = xAVR32; then
- AVR32_TRUE=
- AVR32_FALSE='#'
-else
- AVR32_TRUE='#'
- AVR32_FALSE=
-fi
-
- if test x$TARGET = xLIBFFI_CRIS; then
- LIBFFI_CRIS_TRUE=
- LIBFFI_CRIS_FALSE='#'
-else
- LIBFFI_CRIS_TRUE='#'
- LIBFFI_CRIS_FALSE=
-fi
-
- if test x$TARGET = xFRV; then
- FRV_TRUE=
- FRV_FALSE='#'
-else
- FRV_TRUE='#'
- FRV_FALSE=
-fi
-
- if test x$TARGET = xS390; then
- S390_TRUE=
- S390_FALSE='#'
-else
- S390_TRUE='#'
- S390_FALSE=
-fi
-
- if test x$TARGET = xX86_64; then
- X86_64_TRUE=
- X86_64_FALSE='#'
-else
- X86_64_TRUE='#'
- X86_64_FALSE=
-fi
-
- if test x$TARGET = xSH; then
- SH_TRUE=
- SH_FALSE='#'
-else
- SH_TRUE='#'
- SH_FALSE=
-fi
-
- if test x$TARGET = xSH64; then
- SH64_TRUE=
- SH64_FALSE='#'
-else
- SH64_TRUE='#'
- SH64_FALSE=
-fi
-
- if test x$TARGET = xPA_LINUX; then
- PA_LINUX_TRUE=
- PA_LINUX_FALSE='#'
-else
- PA_LINUX_TRUE='#'
- PA_LINUX_FALSE=
-fi
-
- if test x$TARGET = xPA_HPUX; then
- PA_HPUX_TRUE=
- PA_HPUX_FALSE='#'
-else
- PA_HPUX_TRUE='#'
- PA_HPUX_FALSE=
-fi
-
- if test x$TARGET = xPA64_HPUX; then
- PA64_HPUX_TRUE=
- PA64_HPUX_FALSE='#'
-else
- PA64_HPUX_TRUE='#'
- PA64_HPUX_FALSE=
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_header_stdc=yes
-else
- ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then :
- :
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- return 2;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-for ac_func in memcpy
-do :
- ac_fn_c_check_func "$LINENO" "memcpy" "ac_cv_func_memcpy"
-if test "x$ac_cv_func_memcpy" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_MEMCPY 1
-_ACEOF
-
-fi
-done
-
-ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-if test "x$ac_cv_type_size_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define size_t unsigned int
-_ACEOF
-
-fi
-
-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
-# for constant arguments. Useless!
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
-$as_echo_n "checking for working alloca.h... " >&6; }
-if ${ac_cv_working_alloca_h+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <alloca.h>
-int
-main ()
-{
-char *p = (char *) alloca (2 * sizeof (int));
- if (p) return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_working_alloca_h=yes
-else
- ac_cv_working_alloca_h=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
-$as_echo "$ac_cv_working_alloca_h" >&6; }
-if test $ac_cv_working_alloca_h = yes; then
-
-$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
-$as_echo_n "checking for alloca... " >&6; }
-if ${ac_cv_func_alloca_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# ifdef _MSC_VER
-# include <malloc.h>
-# define alloca _alloca
-# else
-# ifdef HAVE_ALLOCA_H
-# include <alloca.h>
-# else
-# ifdef _AIX
- #pragma alloca
-# else
-# ifndef alloca /* predefined by HP cc +Olibcalls */
-void *alloca (size_t);
-# endif
-# endif
-# endif
-# endif
-#endif
-
-int
-main ()
-{
-char *p = (char *) alloca (1);
- if (p) return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_func_alloca_works=yes
-else
- ac_cv_func_alloca_works=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
-$as_echo "$ac_cv_func_alloca_works" >&6; }
-
-if test $ac_cv_func_alloca_works = yes; then
-
-$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
-
-else
- # The SVR3 libPW and SVR4 libucb both contain incompatible functions
-# that cause trouble. Some versions do not even contain alloca or
-# contain a buggy version. If you still want to use their alloca,
-# use ar to extract alloca.o from them instead of compiling alloca.c.
-
-ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
-
-$as_echo "#define C_ALLOCA 1" >>confdefs.h
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
-$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
-if ${ac_cv_os_cray+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#if defined CRAY && ! defined CRAY2
-webecray
-#else
-wenotbecray
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "webecray" >/dev/null 2>&1; then :
- ac_cv_os_cray=yes
-else
- ac_cv_os_cray=no
-fi
-rm -f conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5
-$as_echo "$ac_cv_os_cray" >&6; }
-if test $ac_cv_os_cray = yes; then
- for ac_func in _getb67 GETB67 getb67; do
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-
-cat >>confdefs.h <<_ACEOF
-#define CRAY_STACKSEG_END $ac_func
-_ACEOF
-
- break
-fi
-
- done
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
-$as_echo_n "checking stack direction for C alloca... " >&6; }
-if ${ac_cv_c_stack_direction+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- ac_cv_c_stack_direction=0
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
-int
-find_stack_direction ()
-{
- static char *addr = 0;
- auto char dummy;
- if (addr == 0)
- {
- addr = &dummy;
- return find_stack_direction ();
- }
- else
- return (&dummy > addr) ? 1 : -1;
-}
-
-int
-main ()
-{
- return find_stack_direction () < 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_c_stack_direction=1
-else
- ac_cv_c_stack_direction=-1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
-$as_echo "$ac_cv_c_stack_direction" >&6; }
-cat >>confdefs.h <<_ACEOF
-#define STACK_DIRECTION $ac_cv_c_stack_direction
-_ACEOF
-
-
-fi
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of double" >&5
-$as_echo_n "checking size of double... " >&6; }
-if ${ac_cv_sizeof_double+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (double))" "ac_cv_sizeof_double" "$ac_includes_default"; then :
-
-else
- if test "$ac_cv_type_double" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (double)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_double=0
- fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_double" >&5
-$as_echo "$ac_cv_sizeof_double" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_DOUBLE $ac_cv_sizeof_double
-_ACEOF
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long double" >&5
-$as_echo_n "checking size of long double... " >&6; }
-if ${ac_cv_sizeof_long_double+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long double))" "ac_cv_sizeof_long_double" "$ac_includes_default"; then :
-
-else
- if test "$ac_cv_type_long_double" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (long double)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_long_double=0
- fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_double" >&5
-$as_echo "$ac_cv_sizeof_long_double" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_LONG_DOUBLE $ac_cv_sizeof_long_double
-_ACEOF
-
-
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
- HAVE_LONG_DOUBLE=0
- if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
- if test $ac_cv_sizeof_long_double != 0; then
- HAVE_LONG_DOUBLE=1
-
-$as_echo "#define HAVE_LONG_DOUBLE 1" >>confdefs.h
-
- fi
- fi
-fi
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
-$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if ${ac_cv_c_bigendian+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_c_bigendian=unknown
- # See if we're dealing with a universal compiler.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifndef __APPLE_CC__
- not a universal capable compiler
- #endif
- typedef int dummy;
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
- # Check for potential -arch flags. It is not universal unless
- # there are at least two -arch flags with different values.
- ac_arch=
- ac_prev=
- for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
- if test -n "$ac_prev"; then
- case $ac_word in
- i?86 | x86_64 | ppc | ppc64)
- if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
- ac_arch=$ac_word
- else
- ac_cv_c_bigendian=universal
- break
- fi
- ;;
- esac
- ac_prev=
- elif test "x$ac_word" = "x-arch"; then
- ac_prev=arch
- fi
- done
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- if test $ac_cv_c_bigendian = unknown; then
- # See if sys/param.h defines the BYTE_ORDER macro.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
- #include <sys/param.h>
-
-int
-main ()
-{
-#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
- && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
- && LITTLE_ENDIAN)
- bogus endian macros
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- # It does; now see whether it defined to BIG_ENDIAN or not.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
- #include <sys/param.h>
-
-int
-main ()
-{
-#if BYTE_ORDER != BIG_ENDIAN
- not big endian
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_c_bigendian=yes
-else
- ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- if test $ac_cv_c_bigendian = unknown; then
- # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <limits.h>
-
-int
-main ()
-{
-#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
- bogus endian macros
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- # It does; now see whether it defined to _BIG_ENDIAN or not.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <limits.h>
-
-int
-main ()
-{
-#ifndef _BIG_ENDIAN
- not big endian
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_c_bigendian=yes
-else
- ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- if test $ac_cv_c_bigendian = unknown; then
- # Compile a test program.
- if test "$cross_compiling" = yes; then :
- # Try to guess by grepping values from an object file.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-short int ascii_mm[] =
- { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
- short int ascii_ii[] =
- { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
- int use_ascii (int i) {
- return ascii_mm[i] + ascii_ii[i];
- }
- short int ebcdic_ii[] =
- { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
- short int ebcdic_mm[] =
- { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
- int use_ebcdic (int i) {
- return ebcdic_mm[i] + ebcdic_ii[i];
- }
- extern int foo;
-
-int
-main ()
-{
-return use_ascii (foo) == use_ebcdic (foo);
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
- ac_cv_c_bigendian=yes
- fi
- if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
- if test "$ac_cv_c_bigendian" = unknown; then
- ac_cv_c_bigendian=no
- else
- # finding both strings is unlikely to happen, but who knows?
- ac_cv_c_bigendian=unknown
- fi
- fi
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-
- /* Are we little or big endian? From Harbison&Steele. */
- union
- {
- long int l;
- char c[sizeof (long int)];
- } u;
- u.l = 1;
- return u.c[sizeof (long int) - 1] == 1;
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_c_bigendian=no
-else
- ac_cv_c_bigendian=yes
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
-$as_echo "$ac_cv_c_bigendian" >&6; }
- case $ac_cv_c_bigendian in #(
- yes)
- $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
-;; #(
- no)
- ;; #(
- universal)
-
-$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
-
- ;; #(
- *)
- as_fn_error $? "unknown endianness
- presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
- esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .cfi pseudo-op support" >&5
-$as_echo_n "checking assembler .cfi pseudo-op support... " >&6; }
-if ${gcc_cv_as_cfi_pseudo_op+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- gcc_cv_as_cfi_pseudo_op=unknown
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".cfi_startproc\n\t.cfi_endproc");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- gcc_cv_as_cfi_pseudo_op=yes
-else
- gcc_cv_as_cfi_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_cfi_pseudo_op" >&5
-$as_echo "$gcc_cv_as_cfi_pseudo_op" >&6; }
- if test "x$gcc_cv_as_cfi_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_CFI_PSEUDO_OP 1" >>confdefs.h
-
- fi
-
-
-if test x$TARGET = xSPARC; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler and linker support unaligned pc related relocs" >&5
-$as_echo_n "checking assembler and linker support unaligned pc related relocs... " >&6; }
-if ${libffi_cv_as_sparc_ua_pcrel+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- save_CFLAGS="$CFLAGS"
- save_LDFLAGS="$LDFLAGS"
- CFLAGS="$CFLAGS -fpic"
- LDFLAGS="$LDFLAGS -shared"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- libffi_cv_as_sparc_ua_pcrel=yes
-else
- libffi_cv_as_sparc_ua_pcrel=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- CFLAGS="$save_CFLAGS"
- LDFLAGS="$save_LDFLAGS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_sparc_ua_pcrel" >&5
-$as_echo "$libffi_cv_as_sparc_ua_pcrel" >&6; }
- if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
-
-$as_echo "#define HAVE_AS_SPARC_UA_PCREL 1" >>confdefs.h
-
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .register pseudo-op support" >&5
-$as_echo_n "checking assembler .register pseudo-op support... " >&6; }
-if ${libffi_cv_as_register_pseudo_op+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_register_pseudo_op=unknown
- # Check if we have .register
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".register %g2, #scratch");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- libffi_cv_as_register_pseudo_op=yes
-else
- libffi_cv_as_register_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_register_pseudo_op" >&5
-$as_echo "$libffi_cv_as_register_pseudo_op" >&6; }
- if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_REGISTER_PSEUDO_OP 1" >>confdefs.h
-
- fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports pc related relocs" >&5
-$as_echo_n "checking assembler supports pc related relocs... " >&6; }
-if ${libffi_cv_as_x86_pcrel+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_x86_pcrel=yes
- echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
- if $CC $CFLAGS -c conftest.s 2>&1 | $EGREP -i 'illegal|warning' > /dev/null; then
- libffi_cv_as_x86_pcrel=no
- fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_x86_pcrel" >&5
-$as_echo "$libffi_cv_as_x86_pcrel" >&6; }
- if test "x$libffi_cv_as_x86_pcrel" = xyes; then
-
-$as_echo "#define HAVE_AS_X86_PCREL 1" >>confdefs.h
-
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .ascii pseudo-op support" >&5
-$as_echo_n "checking assembler .ascii pseudo-op support... " >&6; }
-if ${libffi_cv_as_ascii_pseudo_op+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_ascii_pseudo_op=unknown
- # Check if we have .ascii
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".ascii \\"string\\"");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- libffi_cv_as_ascii_pseudo_op=yes
-else
- libffi_cv_as_ascii_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_ascii_pseudo_op" >&5
-$as_echo "$libffi_cv_as_ascii_pseudo_op" >&6; }
- if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_ASCII_PSEUDO_OP 1" >>confdefs.h
-
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .string pseudo-op support" >&5
-$as_echo_n "checking assembler .string pseudo-op support... " >&6; }
-if ${libffi_cv_as_string_pseudo_op+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_string_pseudo_op=unknown
- # Check if we have .string
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".string \\"string\\"");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- libffi_cv_as_string_pseudo_op=yes
-else
- libffi_cv_as_string_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_string_pseudo_op" >&5
-$as_echo "$libffi_cv_as_string_pseudo_op" >&6; }
- if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_STRING_PSEUDO_OP 1" >>confdefs.h
-
- fi
-fi
-
-case "$target" in
- *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
-
-$as_echo "#define FFI_MMAP_EXEC_WRIT 1" >>confdefs.h
-
- ;;
-esac
-
-if test x$TARGET = xX86_64; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports unwind section type" >&5
-$as_echo_n "checking assembler supports unwind section type... " >&6; }
-if ${libffi_cv_as_x86_64_unwind_section_type+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_x86_64_unwind_section_type=yes
- echo '.section .eh_frame,"a",@unwind' > conftest.s
- if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
- libffi_cv_as_x86_64_unwind_section_type=no
- fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_x86_64_unwind_section_type" >&5
-$as_echo "$libffi_cv_as_x86_64_unwind_section_type" >&6; }
- if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
-
-$as_echo "#define HAVE_AS_X86_64_UNWIND_SECTION_TYPE 1" >>confdefs.h
-
- fi
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether .eh_frame section should be read-only" >&5
-$as_echo_n "checking whether .eh_frame section should be read-only... " >&6; }
-if ${libffi_cv_ro_eh_frame+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_ro_eh_frame=no
- echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
- if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
- if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- elif grep '.section.*eh_frame.*#alloc' conftest.c \
- | grep -v '#write' > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- fi
- fi
- rm -f conftest.*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_ro_eh_frame" >&5
-$as_echo "$libffi_cv_ro_eh_frame" >&6; }
-if test "x$libffi_cv_ro_eh_frame" = xyes; then
-
-$as_echo "#define HAVE_RO_EH_FRAME 1" >>confdefs.h
-
-
-$as_echo "#define EH_FRAME_FLAGS \"a\"" >>confdefs.h
-
-else
-
-$as_echo "#define EH_FRAME_FLAGS \"aw\"" >>confdefs.h
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __attribute__((visibility(\"hidden\")))" >&5
-$as_echo_n "checking for __attribute__((visibility(\"hidden\")))... " >&6; }
-if ${libffi_cv_hidden_visibility_attribute+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1; }' > conftest.c
- libffi_cv_hidden_visibility_attribute=no
- if { ac_try='${CC-cc} -Werror -S conftest.c -o conftest.s 1>&5'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- if grep '\.hidden.*foo' conftest.s >/dev/null; then
- libffi_cv_hidden_visibility_attribute=yes
- fi
- fi
- rm -f conftest.*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_hidden_visibility_attribute" >&5
-$as_echo "$libffi_cv_hidden_visibility_attribute" >&6; }
-if test $libffi_cv_hidden_visibility_attribute = yes; then
-
-$as_echo "#define HAVE_HIDDEN_VISIBILITY_ATTRIBUTE 1" >>confdefs.h
-
-fi
-
-
-
-
-
-
-
-
-# Check whether --enable-debug was given.
-if test "${enable_debug+set}" = set; then :
- enableval=$enable_debug; if test "$enable_debug" = "yes"; then
-
-$as_echo "#define FFI_DEBUG 1" >>confdefs.h
-
- fi
-fi
-
-
-# Check whether --enable-structs was given.
-if test "${enable_structs+set}" = set; then :
- enableval=$enable_structs; if test "$enable_structs" = "no"; then
-
-$as_echo "#define FFI_NO_STRUCTS 1" >>confdefs.h
-
- fi
-fi
-
-
-# Check whether --enable-raw-api was given.
-if test "${enable_raw_api+set}" = set; then :
- enableval=$enable_raw_api; if test "$enable_raw_api" = "no"; then
-
-$as_echo "#define FFI_NO_RAW_API 1" >>confdefs.h
-
- fi
-fi
-
-
-# Check whether --enable-purify-safety was given.
-if test "${enable_purify_safety+set}" = set; then :
- enableval=$enable_purify_safety; if test "$enable_purify_safety" = "yes"; then
-
-$as_echo "#define USING_PURIFY 1" >>confdefs.h
-
- fi
-fi
-
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- toolexecdir='$(exec_prefix)/$(target_alias)'
- toolexeclibdir='$(toolexecdir)/lib'
- else
- toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
- toolexeclibdir='$(libdir)'
- fi
- multi_os_directory=`$CC -print-multi-os-directory`
- case $multi_os_directory in
- .) ;; # Avoid trailing /.
- *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
- esac
-
-
-fi
-
-if test "${multilib}" = "yes"; then
- multilib_arg="--enable-multilib"
-else
- multilib_arg=
-fi
-
-ac_config_commands="$ac_config_commands include"
-
-ac_config_commands="$ac_config_commands src"
-
-
-ac_config_links="$ac_config_links include/ffitarget.h:src/$TARGETDIR/ffitarget.h"
-
-
-ac_config_files="$ac_config_files include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc"
-
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems. If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
- for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
-
- (set) 2>&1 |
- case $as_nl`(ac_space=' '; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- # `set' does not quote correctly, so add quotes: double-quote
- # substitution turns \\\\ into \\, and sed turns \\ into \.
- sed -n \
- "s/'/'\\\\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- ;; #(
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-) |
- sed '
- /^ac_cv_env_/b end
- t clear
- :clear
- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
- t end
- s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
- if test -w "$cache_file"; then
- if test "x$cache_file" != "x/dev/null"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
- if test ! -f "$cache_file" || test -h "$cache_file"; then
- cat confcache >"$cache_file"
- else
- case $cache_file in #(
- */* | ?:*)
- mv -f confcache "$cache_file"$$ &&
- mv -f "$cache_file"$$ "$cache_file" ;; #(
- *)
- mv -f confcache "$cache_file" ;;
- esac
- fi
- fi
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
- fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-U=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
- # 1. Remove the extension, and $U if already installed.
- ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
- ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
- # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
- # will be set to the directory where LIBOBJS objects are built.
- as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
- as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
- if test -n "$EXEEXT"; then
- am__EXEEXT_TRUE=
- am__EXEEXT_FALSE='#'
-else
- am__EXEEXT_TRUE='#'
- am__EXEEXT_FALSE=
-fi
-
-if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
- as_fn_error $? "conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
- as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCCAS_TRUE}" && test -z "${am__fastdepCCAS_FALSE}"; then
- as_fn_error $? "conditional \"am__fastdepCCAS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
- as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${TESTSUBDIR_TRUE}" && test -z "${TESTSUBDIR_FALSE}"; then
- as_fn_error $? "conditional \"TESTSUBDIR\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MIPS_TRUE}" && test -z "${MIPS_FALSE}"; then
- as_fn_error $? "conditional \"MIPS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SPARC_TRUE}" && test -z "${SPARC_FALSE}"; then
- as_fn_error $? "conditional \"SPARC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_TRUE}" && test -z "${X86_FALSE}"; then
- as_fn_error $? "conditional \"X86\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_FREEBSD_TRUE}" && test -z "${X86_FREEBSD_FALSE}"; then
- as_fn_error $? "conditional \"X86_FREEBSD\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_WIN32_TRUE}" && test -z "${X86_WIN32_FALSE}"; then
- as_fn_error $? "conditional \"X86_WIN32\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_WIN64_TRUE}" && test -z "${X86_WIN64_FALSE}"; then
- as_fn_error $? "conditional \"X86_WIN64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_DARWIN_TRUE}" && test -z "${X86_DARWIN_FALSE}"; then
- as_fn_error $? "conditional \"X86_DARWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${ALPHA_TRUE}" && test -z "${ALPHA_FALSE}"; then
- as_fn_error $? "conditional \"ALPHA\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${IA64_TRUE}" && test -z "${IA64_FALSE}"; then
- as_fn_error $? "conditional \"IA64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${M32R_TRUE}" && test -z "${M32R_FALSE}"; then
- as_fn_error $? "conditional \"M32R\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${M68K_TRUE}" && test -z "${M68K_FALSE}"; then
- as_fn_error $? "conditional \"M68K\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MOXIE_TRUE}" && test -z "${MOXIE_FALSE}"; then
- as_fn_error $? "conditional \"MOXIE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_TRUE}" && test -z "${POWERPC_FALSE}"; then
- as_fn_error $? "conditional \"POWERPC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_AIX_TRUE}" && test -z "${POWERPC_AIX_FALSE}"; then
- as_fn_error $? "conditional \"POWERPC_AIX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_DARWIN_TRUE}" && test -z "${POWERPC_DARWIN_FALSE}"; then
- as_fn_error $? "conditional \"POWERPC_DARWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_FREEBSD_TRUE}" && test -z "${POWERPC_FREEBSD_FALSE}"; then
- as_fn_error $? "conditional \"POWERPC_FREEBSD\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${ARM_TRUE}" && test -z "${ARM_FALSE}"; then
- as_fn_error $? "conditional \"ARM\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${AVR32_TRUE}" && test -z "${AVR32_FALSE}"; then
- as_fn_error $? "conditional \"AVR32\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${LIBFFI_CRIS_TRUE}" && test -z "${LIBFFI_CRIS_FALSE}"; then
- as_fn_error $? "conditional \"LIBFFI_CRIS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${FRV_TRUE}" && test -z "${FRV_FALSE}"; then
- as_fn_error $? "conditional \"FRV\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${S390_TRUE}" && test -z "${S390_FALSE}"; then
- as_fn_error $? "conditional \"S390\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_64_TRUE}" && test -z "${X86_64_FALSE}"; then
- as_fn_error $? "conditional \"X86_64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SH_TRUE}" && test -z "${SH_FALSE}"; then
- as_fn_error $? "conditional \"SH\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SH64_TRUE}" && test -z "${SH64_FALSE}"; then
- as_fn_error $? "conditional \"SH64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA_LINUX_TRUE}" && test -z "${PA_LINUX_FALSE}"; then
- as_fn_error $? "conditional \"PA_LINUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA_HPUX_TRUE}" && test -z "${PA_HPUX_FALSE}"; then
- as_fn_error $? "conditional \"PA_HPUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA64_HPUX_TRUE}" && test -z "${PA64_HPUX_FALSE}"; then
- as_fn_error $? "conditional \"PA64_HPUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-
-: "${CONFIG_STATUS=./config.status}"
-ac_write_fail=0
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in #(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- fi
- $as_echo "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} # as_fn_error
-
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} # as_fn_exit
-
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
-
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -p'
- fi
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in #(
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by libffi $as_me 3.0.11-rc2, which was
-generated by GNU Autoconf 2.68. Invocation command line was
-
- CONFIG_FILES = $CONFIG_FILES
- CONFIG_HEADERS = $CONFIG_HEADERS
- CONFIG_LINKS = $CONFIG_LINKS
- CONFIG_COMMANDS = $CONFIG_COMMANDS
- $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-case $ac_config_headers in *"
-"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
-esac
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-config_links="$ac_config_links"
-config_commands="$ac_config_commands"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration. Unless the files
-and actions are specified as TAGs, all are instantiated by default.
-
-Usage: $0 [OPTION]... [TAG]...
-
- -h, --help print this help, then exit
- -V, --version print version number and configuration settings, then exit
- --config print configuration, then exit
- -q, --quiet, --silent
- do not print progress messages
- -d, --debug don't remove temporary files
- --recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
- --header=FILE[:TEMPLATE]
- instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration links:
-$config_links
-
-Configuration commands:
-$config_commands
-
-Report bugs to <http://github.com/atgreen/libffi/issues>."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-ac_cs_version="\\
-libffi config.status 3.0.11-rc2
-configured by $0, generated by GNU Autoconf 2.68,
- with options \\"\$ac_cs_config\\"
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-INSTALL='$INSTALL'
-MKDIR_P='$MKDIR_P'
-AWK='$AWK'
-test -n "\$AWK" || AWK=awk
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
-ac_need_defaults=:
-while test $# != 0
-do
- case $1 in
- --*=?*)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
- ac_shift=:
- ;;
- --*=)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=
- ac_shift=:
- ;;
- *)
- ac_option=$1
- ac_optarg=$2
- ac_shift=shift
- ;;
- esac
-
- case $ac_option in
- # Handling of the options.
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- ac_cs_recheck=: ;;
- --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
- $as_echo "$ac_cs_version"; exit ;;
- --config | --confi | --conf | --con | --co | --c )
- $as_echo "$ac_cs_config"; exit ;;
- --debug | --debu | --deb | --de | --d | -d )
- debug=: ;;
- --file | --fil | --fi | --f )
- $ac_shift
- case $ac_optarg in
- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
- '') as_fn_error $? "missing file argument" ;;
- esac
- as_fn_append CONFIG_FILES " '$ac_optarg'"
- ac_need_defaults=false;;
- --header | --heade | --head | --hea )
- $ac_shift
- case $ac_optarg in
- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- as_fn_append CONFIG_HEADERS " '$ac_optarg'"
- ac_need_defaults=false;;
- --he | --h)
- # Conflict between --help and --header
- as_fn_error $? "ambiguous option: \`$1'
-Try \`$0 --help' for more information.";;
- --help | --hel | -h )
- $as_echo "$ac_cs_usage"; exit ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil | --si | --s)
- ac_cs_silent=: ;;
-
- # This is an error.
- -*) as_fn_error $? "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
-
- *) as_fn_append ac_config_targets " $1"
- ac_need_defaults=false ;;
-
- esac
- shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
- exec 6>/dev/null
- ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-if \$ac_cs_recheck; then
- set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
- shift
- \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
- CONFIG_SHELL='$SHELL'
- export CONFIG_SHELL
- exec "\$@"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
- $as_echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-#
-# INIT-COMMANDS
-#
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-sed_quote_subst='$sed_quote_subst'
-double_quote_subst='$double_quote_subst'
-delay_variable_subst='$delay_variable_subst'
-macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
-macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
-enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
-enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
-pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
-enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
-SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
-ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
-host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
-host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
-host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
-build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
-build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
-build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
-SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
-Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
-GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
-EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
-FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
-LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
-NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
-LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
-max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
-ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
-exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
-lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
-lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
-lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
-reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
-reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
-OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
-deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
-file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
-file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
-want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
-DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
-sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
-AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
-AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
-archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
-STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
-RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
-old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
-lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
-CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
-CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
-compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
-GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
-nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
-lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
-objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
-MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
-lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
-need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
-MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
-DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
-NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
-LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
-OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
-libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
-shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
-extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
-enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
-export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
-whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
-compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
-old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
-archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
-module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
-allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
-no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_ld='`$ECHO "$hardcode_libdir_flag_spec_ld" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
-hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
-hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
-hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
-hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
-hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
-inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
-link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
-always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
-export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
-exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
-include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
-prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
-postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
-file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
-variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
-need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
-version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
-runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
-libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
-library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
-soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
-install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
-postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
-finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
-hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
-sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
-sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
-enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
-old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
-striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
-
-LTCC='$LTCC'
-LTCFLAGS='$LTCFLAGS'
-compiler='$compiler_DEFAULT'
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
- eval 'cat <<_LTECHO_EOF
-\$1
-_LTECHO_EOF'
-}
-
-# Quote evaled strings.
-for var in SHELL \
-ECHO \
-SED \
-GREP \
-EGREP \
-FGREP \
-LD \
-NM \
-LN_S \
-lt_SP2NL \
-lt_NL2SP \
-reload_flag \
-OBJDUMP \
-deplibs_check_method \
-file_magic_cmd \
-file_magic_glob \
-want_nocaseglob \
-DLLTOOL \
-sharedlib_from_linklib_cmd \
-AR \
-AR_FLAGS \
-archiver_list_spec \
-STRIP \
-RANLIB \
-CC \
-CFLAGS \
-compiler \
-lt_cv_sys_global_symbol_pipe \
-lt_cv_sys_global_symbol_to_cdecl \
-lt_cv_sys_global_symbol_to_c_name_address \
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
-nm_file_list_spec \
-lt_prog_compiler_no_builtin_flag \
-lt_prog_compiler_pic \
-lt_prog_compiler_wl \
-lt_prog_compiler_static \
-lt_cv_prog_compiler_c_o \
-need_locks \
-MANIFEST_TOOL \
-DSYMUTIL \
-NMEDIT \
-LIPO \
-OTOOL \
-OTOOL64 \
-shrext_cmds \
-export_dynamic_flag_spec \
-whole_archive_flag_spec \
-compiler_needs_object \
-with_gnu_ld \
-allow_undefined_flag \
-no_undefined_flag \
-hardcode_libdir_flag_spec \
-hardcode_libdir_flag_spec_ld \
-hardcode_libdir_separator \
-exclude_expsyms \
-include_expsyms \
-file_list_spec \
-variables_saved_for_relink \
-libname_spec \
-library_names_spec \
-soname_spec \
-install_override_mode \
-finish_eval \
-old_striplib \
-striplib; do
- case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
- *[\\\\\\\`\\"\\\$]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
- ;;
- *)
- eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
- ;;
- esac
-done
-
-# Double-quote double-evaled strings.
-for var in reload_cmds \
-old_postinstall_cmds \
-old_postuninstall_cmds \
-old_archive_cmds \
-extract_expsyms_cmds \
-old_archive_from_new_cmds \
-old_archive_from_expsyms_cmds \
-archive_cmds \
-archive_expsym_cmds \
-module_cmds \
-module_expsym_cmds \
-export_symbols_cmds \
-prelink_cmds \
-postlink_cmds \
-postinstall_cmds \
-postuninstall_cmds \
-finish_cmds \
-sys_lib_search_path_spec \
-sys_lib_dlsearch_path_spec; do
- case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
- *[\\\\\\\`\\"\\\$]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
- ;;
- *)
- eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
- ;;
- esac
-done
-
-ac_aux_dir='$ac_aux_dir'
-xsi_shell='$xsi_shell'
-lt_shell_append='$lt_shell_append'
-
-# See if we are running on zsh, and set the options which allow our
-# commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
-fi
-
-
- PACKAGE='$PACKAGE'
- VERSION='$VERSION'
- TIMESTAMP='$TIMESTAMP'
- RM='$RM'
- ofile='$ofile'
-
-
-
-TARGETDIR="$TARGETDIR"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
- case $ac_config_target in
- "fficonfig.h") CONFIG_HEADERS="$CONFIG_HEADERS fficonfig.h" ;;
- "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
- "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
- "include") CONFIG_COMMANDS="$CONFIG_COMMANDS include" ;;
- "src") CONFIG_COMMANDS="$CONFIG_COMMANDS src" ;;
- "include/ffitarget.h") CONFIG_LINKS="$CONFIG_LINKS include/ffitarget.h:src/$TARGETDIR/ffitarget.h" ;;
- "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
- "include/ffi.h") CONFIG_FILES="$CONFIG_FILES include/ffi.h" ;;
- "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- "testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;;
- "man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;;
- "libffi.pc") CONFIG_FILES="$CONFIG_FILES libffi.pc" ;;
-
- *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
- esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used. Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
- test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
- test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
- test "${CONFIG_LINKS+set}" = set || CONFIG_LINKS=$config_links
- test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience. Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
- tmp= ac_tmp=
- trap 'exit_status=$?
- : "${ac_tmp:=$tmp}"
- { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
-' 0
- trap 'as_fn_exit 1' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
- tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
- test -d "$tmp"
-} ||
-{
- tmp=./conf$$-$RANDOM
- (umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-ac_tmp=$tmp
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
- eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
- ac_cs_awk_cr='\\r'
-else
- ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
-_ACEOF
-
-
-{
- echo "cat >conf$$subs.awk <<_ACEOF" &&
- echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
- echo "_ACEOF"
-} >conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
- . ./conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-
- ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
- if test $ac_delim_n = $ac_delim_num; then
- break
- elif $ac_last_try; then
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\)..*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\)..*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^""]/{
- N
- s/\n//
-}
-' >>$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
- for (key in S) S_is_set[key] = 1
- FS = ""
-
-}
-{
- line = $ 0
- nfields = split(line, field, "@")
- substed = 0
- len = length(field[1])
- for (i = 2; i < nfields; i++) {
- key = field[i]
- keylen = length(key)
- if (S_is_set[key]) {
- value = S[key]
- line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
- len += length(value) + length(field[++i])
- substed = 1
- } else
- len += 1 + keylen
- }
-
- print line
-}
-
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
- sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
- cat
-fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
- || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
-# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
-h
-s///
-s/^/:/
-s/[ ]*$/:/
-s/:\$(srcdir):/:/g
-s/:\${srcdir}:/:/g
-s/:@srcdir@:/:/g
-s/^:*//
-s/:*$//
-x
-s/\(=[ ]*\).*/\1/
-G
-s/\n//
-s/^[^=]*=[ ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
-
-# Set up the scripts for CONFIG_HEADERS section.
-# No need to generate them if there are no CONFIG_HEADERS.
-# This happens for instance with `./config.status Makefile'.
-if test -n "$CONFIG_HEADERS"; then
-cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
-BEGIN {
-_ACEOF
-
-# Transform confdefs.h into an awk script `defines.awk', embedded as
-# here-document in config.status, that substitutes the proper values into
-# config.h.in to produce config.h.
-
-# Create a delimiter string that does not exist in confdefs.h, to ease
-# handling of long lines.
-ac_delim='%!_!# '
-for ac_last_try in false false :; do
- ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
- if test -z "$ac_tt"; then
- break
- elif $ac_last_try; then
- as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-
-# For the awk script, D is an array of macro values keyed by name,
-# likewise P contains macro parameters if any. Preserve backslash
-# newline sequences.
-
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-sed -n '
-s/.\{148\}/&'"$ac_delim"'/g
-t rset
-:rset
-s/^[ ]*#[ ]*define[ ][ ]*/ /
-t def
-d
-:def
-s/\\$//
-t bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3"/p
-s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
-d
-:bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3\\\\\\n"\\/p
-t cont
-s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
-t cont
-d
-:cont
-n
-s/.\{148\}/&'"$ac_delim"'/g
-t clear
-:clear
-s/\\$//
-t bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/"/p
-d
-:bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
-b cont
-' <confdefs.h | sed '
-s/'"$ac_delim"'/"\\\
-"/g' >>$CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- for (key in D) D_is_set[key] = 1
- FS = ""
-}
-/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
- line = \$ 0
- split(line, arg, " ")
- if (arg[1] == "#") {
- defundef = arg[2]
- mac1 = arg[3]
- } else {
- defundef = substr(arg[1], 2)
- mac1 = arg[2]
- }
- split(mac1, mac2, "(") #)
- macro = mac2[1]
- prefix = substr(line, 1, index(line, defundef) - 1)
- if (D_is_set[macro]) {
- # Preserve the white space surrounding the "#".
- print prefix "define", macro P[macro] D[macro]
- next
- } else {
- # Replace #undef with comments. This is necessary, for example,
- # in the case of _POSIX_SOURCE, which is predefined and required
- # on some systems where configure will not decide to define it.
- if (defundef == "undef") {
- print "/*", prefix defundef, macro, "*/"
- next
- }
- }
-}
-{ print }
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
- as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
-fi # test -n "$CONFIG_HEADERS"
-
-
-eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :L $CONFIG_LINKS :C $CONFIG_COMMANDS"
-shift
-for ac_tag
-do
- case $ac_tag in
- :[FHLC]) ac_mode=$ac_tag; continue;;
- esac
- case $ac_mode$ac_tag in
- :[FHL]*:*);;
- :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
- :[FH]-) ac_tag=-:-;;
- :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
- esac
- ac_save_IFS=$IFS
- IFS=:
- set x $ac_tag
- IFS=$ac_save_IFS
- shift
- ac_file=$1
- shift
-
- case $ac_mode in
- :L) ac_source=$1;;
- :[FH])
- ac_file_inputs=
- for ac_f
- do
- case $ac_f in
- -) ac_f="$ac_tmp/stdin";;
- *) # Look for the file first in the build tree, then in the source tree
- # (if the path is not absolute). The absolute path cannot be DOS-style,
- # because $ac_f cannot contain `:'.
- test -f "$ac_f" ||
- case $ac_f in
- [\\/$]*) false;;
- *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
- esac ||
- as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
- esac
- case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
- as_fn_append ac_file_inputs " '$ac_f'"
- done
-
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- configure_input='Generated from '`
- $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
- `' by configure.'
- if test x"$ac_file" != x-; then
- configure_input="$ac_file. $configure_input"
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
- fi
- # Neutralize special characters interpreted by sed in replacement strings.
- case $configure_input in #(
- *\&* | *\|* | *\\* )
- ac_sed_conf_input=`$as_echo "$configure_input" |
- sed 's/[\\\\&|]/\\\\&/g'`;; #(
- *) ac_sed_conf_input=$configure_input;;
- esac
-
- case $ac_tag in
- *:-:* | *:-) cat >"$ac_tmp/stdin" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
- esac
- ;;
- esac
-
- ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- as_dir="$ac_dir"; as_fn_mkdir_p
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
- case $ac_mode in
- :F)
- #
- # CONFIG_FILE
- #
-
- case $INSTALL in
- [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
- *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
- esac
- ac_MKDIR_P=$MKDIR_P
- case $MKDIR_P in
- [\\/$]* | ?:[\\/]* ) ;;
- */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
- esac
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
- p
- q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- ac_datarootdir_hack='
- s&@datadir@&$datadir&g
- s&@docdir@&$docdir&g
- s&@infodir@&$infodir&g
- s&@localedir@&$localedir&g
- s&@mandir@&$mandir&g
- s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-s&@INSTALL@&$ac_INSTALL&;t t
-s&@MKDIR_P@&$ac_MKDIR_P&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
- >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
- { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
- { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
- "$ac_tmp/out"`; test -z "$ac_out"; } &&
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined" >&2;}
-
- rm -f "$ac_tmp/stdin"
- case $ac_file in
- -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
- *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
- esac \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- ;;
- :H)
- #
- # CONFIG_HEADER
- #
- if test x"$ac_file" != x-; then
- {
- $as_echo "/* $configure_input */" \
- && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
- } >"$ac_tmp/config.h" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
- else
- rm -f "$ac_file"
- mv "$ac_tmp/config.h" "$ac_file" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- fi
- else
- $as_echo "/* $configure_input */" \
- && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
- || as_fn_error $? "could not create -" "$LINENO" 5
- fi
-# Compute "$ac_file"'s index in $config_headers.
-_am_arg="$ac_file"
-_am_stamp_count=1
-for _am_header in $config_headers :; do
- case $_am_header in
- $_am_arg | $_am_arg:* )
- break ;;
- * )
- _am_stamp_count=`expr $_am_stamp_count + 1` ;;
- esac
-done
-echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
-$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$_am_arg" : 'X\(//\)[^/]' \| \
- X"$_am_arg" : 'X\(//\)$' \| \
- X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$_am_arg" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`/stamp-h$_am_stamp_count
- ;;
- :L)
- #
- # CONFIG_LINK
- #
-
- if test "$ac_source" = "$ac_file" && test "$srcdir" = '.'; then
- :
- else
- # Prefer the file from the source tree if names are identical.
- if test "$ac_source" = "$ac_file" || test ! -r "$ac_source"; then
- ac_source=$srcdir/$ac_source
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: linking $ac_source to $ac_file" >&5
-$as_echo "$as_me: linking $ac_source to $ac_file" >&6;}
-
- if test ! -r "$ac_source"; then
- as_fn_error $? "$ac_source: file not found" "$LINENO" 5
- fi
- rm -f "$ac_file"
-
- # Try a relative symlink, then a hard link, then a copy.
- case $ac_source in
- [\\/$]* | ?:[\\/]* ) ac_rel_source=$ac_source ;;
- *) ac_rel_source=$ac_top_build_prefix$ac_source ;;
- esac
- ln -s "$ac_rel_source" "$ac_file" 2>/dev/null ||
- ln "$ac_source" "$ac_file" 2>/dev/null ||
- cp -p "$ac_source" "$ac_file" ||
- as_fn_error $? "cannot link or copy $ac_source to $ac_file" "$LINENO" 5
- fi
- ;;
- :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-$as_echo "$as_me: executing $ac_file commands" >&6;}
- ;;
- esac
-
-
- case $ac_file$ac_mode in
- "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
- # Autoconf 2.62 quotes --file arguments for eval, but not when files
- # are listed without --file. Let's play safe and only enable the eval
- # if we detect the quoting.
- case $CONFIG_FILES in
- *\'*) eval set x "$CONFIG_FILES" ;;
- *) set x $CONFIG_FILES ;;
- esac
- shift
- for mf
- do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # Grep'ing the whole file is not good either: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
- dirpart=`$as_dirname -- "$mf" ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$mf" : 'X\(//\)[^/]' \| \
- X"$mf" : 'X\(//\)$' \| \
- X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$mf" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`$as_dirname -- "$file" ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$file" : 'X\(//\)[^/]' \| \
- X"$file" : 'X\(//\)$' \| \
- X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- as_dir=$dirpart/$fdir; as_fn_mkdir_p
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
- done
-}
- ;;
- "libtool":C)
-
- # See if we are running on zsh, and set the options which allow our
- # commands through without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
-
- cfgfile="${ofile}T"
- trap "$RM \"$cfgfile\"; exit 1" 1 2 15
- $RM "$cfgfile"
-
- cat <<_LT_EOF >> "$cfgfile"
-#! $SHELL
-
-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-# Inc.
-# Written by Gordon Matzigkeit, 1996
-#
-# This file is part of GNU Libtool.
-#
-# GNU Libtool is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
-#
-# GNU Libtool is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING. If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-
-# The names of the tagged configurations supported by this script.
-available_tags=""
-
-# ### BEGIN LIBTOOL CONFIG
-
-# Which release of libtool.m4 was used?
-macro_version=$macro_version
-macro_revision=$macro_revision
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# What type of objects to build.
-pic_mode=$pic_mode
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# An echo program that protects backslashes.
-ECHO=$lt_ECHO
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# A sed program that does not truncate output.
-SED=$lt_SED
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="\$SED -e 1s/^X//"
-
-# A grep program that handles long lines.
-GREP=$lt_GREP
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# A literal string matcher.
-FGREP=$lt_FGREP
-
-# A BSD- or MS-compatible name lister.
-NM=$lt_NM
-
-# Whether we need soft or hard links.
-LN_S=$lt_LN_S
-
-# What is the maximum length of a command?
-max_cmd_len=$max_cmd_len
-
-# Object file suffix (normally "o").
-objext=$ac_objext
-
-# Executable file suffix (normally "").
-exeext=$exeext
-
-# whether the shell understands "unset".
-lt_unset=$lt_unset
-
-# turn spaces into newlines.
-SP2NL=$lt_lt_SP2NL
-
-# turn newlines into spaces.
-NL2SP=$lt_lt_NL2SP
-
-# convert \$build file names to \$host format.
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-
-# convert \$build files to toolchain format.
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-
-# An object symbol dumper.
-OBJDUMP=$lt_OBJDUMP
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method = "file_magic".
-file_magic_cmd=$lt_file_magic_cmd
-
-# How to find potential files when deplibs_check_method = "file_magic".
-file_magic_glob=$lt_file_magic_glob
-
-# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
-want_nocaseglob=$lt_want_nocaseglob
-
-# DLL creation program.
-DLLTOOL=$lt_DLLTOOL
-
-# Command to associate shared and link libraries.
-sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
-
-# The archiver.
-AR=$lt_AR
-
-# Flags to create an archive.
-AR_FLAGS=$lt_AR_FLAGS
-
-# How to feed a file listing to the archiver.
-archiver_list_spec=$lt_archiver_list_spec
-
-# A symbol stripping program.
-STRIP=$lt_STRIP
-
-# Commands used to install an old-style archive.
-RANLIB=$lt_RANLIB
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Whether to use a lock for old archive extraction.
-lock_old_archive_extraction=$lock_old_archive_extraction
-
-# A C compiler.
-LTCC=$lt_CC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_CFLAGS
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration.
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair.
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# Transform the output of nm in a C name address pair when lib prefix is needed.
-global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
-
-# Specify filename containing input files for \$NM.
-nm_file_list_spec=$lt_nm_file_list_spec
-
-# The root where to search for dependent libraries,and in which our libraries should be installed.
-lt_sysroot=$lt_sysroot
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# Used to examine libraries when file_magic_cmd begins with "file".
-MAGIC_CMD=$MAGIC_CMD
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Manifest tool.
-MANIFEST_TOOL=$lt_MANIFEST_TOOL
-
-# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
-DSYMUTIL=$lt_DSYMUTIL
-
-# Tool to change global to local symbols on Mac OS X.
-NMEDIT=$lt_NMEDIT
-
-# Tool to manipulate fat objects and archives on Mac OS X.
-LIPO=$lt_LIPO
-
-# ldd/readelf like tool for Mach-O binaries on Mac OS X.
-OTOOL=$lt_OTOOL
-
-# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
-OTOOL64=$lt_OTOOL64
-
-# Old archive suffix (normally "a").
-libext=$libext
-
-# Shared library suffix (normally ".so").
-shrext_cmds=$lt_shrext_cmds
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at link time.
-variables_saved_for_relink=$lt_variables_saved_for_relink
-
-# Do we need the "lib" prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Library versioning type.
-version_type=$version_type
-
-# Shared library runtime path variable.
-runpath_var=$runpath_var
-
-# Shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Permission mode override for installation of shared libraries.
-install_override_mode=$lt_install_override_mode
-
-# Command to use after installation of a shared archive.
-postinstall_cmds=$lt_postinstall_cmds
-
-# Command to use after uninstallation of a shared archive.
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# As "finish_cmds", except a single script fragment to be evaled but
-# not shown.
-finish_eval=$lt_finish_eval
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Compile-time system search path for libraries.
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries.
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-
-# The linker used to build libraries.
-LD=$lt_LD
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# Commands used to build an old-style archive.
-old_archive_cmds=$lt_old_archive_cmds
-
-# A language specific compiler.
-CC=$lt_compiler
-
-# Is the compiler the GNU compiler?
-with_gcc=$GCC
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc
-
-# Whether or not to disallow shared libs when runtime libs are static.
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec
-
-# Whether the compiler copes with passing no objects directly.
-compiler_needs_object=$lt_compiler_needs_object
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
-
-# Commands used to build a shared archive.
-archive_cmds=$lt_archive_cmds
-archive_expsym_cmds=$lt_archive_expsym_cmds
-
-# Commands used to build a loadable module if different from building
-# a shared archive.
-module_cmds=$lt_module_cmds
-module_expsym_cmds=$lt_module_expsym_cmds
-
-# Whether we are building with GNU ld or not.
-with_gnu_ld=$lt_with_gnu_ld
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag
-
-# Flag that enforces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
-
-# If ld is used when linking, flag to hardcode \$libdir into a binary
-# during linking. This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
-
-# Whether we need a single "-rpath" flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary.
-hardcode_direct=$hardcode_direct
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary and the resulting library dependency is
-# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
-# library is relocated.
-hardcode_direct_absolute=$hardcode_direct_absolute
-
-# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
-# into the resulting binary.
-hardcode_minus_L=$hardcode_minus_L
-
-# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
-# into the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var
-
-# Set to "yes" if building a shared library automatically hardcodes DIR
-# into the library and all subsequent libraries and executables linked
-# against it.
-hardcode_automatic=$hardcode_automatic
-
-# Set to yes if linker adds runtime paths of dependent libraries
-# to runtime path list.
-inherit_rpath=$inherit_rpath
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs
-
-# Set to "yes" if exported symbols are required.
-always_export_symbols=$always_export_symbols
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms
-
-# Commands necessary for linking programs (against libraries) with templates.
-prelink_cmds=$lt_prelink_cmds
-
-# Commands necessary for finishing linking programs.
-postlink_cmds=$lt_postlink_cmds
-
-# Specify filename containing input files.
-file_list_spec=$lt_file_list_spec
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action
-
-# ### END LIBTOOL CONFIG
-
-_LT_EOF
-
- case $host_os in
- aix3*)
- cat <<\_LT_EOF >> "$cfgfile"
-# AIX sometimes has problems with the GCC collect2 program. For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
-fi
-_LT_EOF
- ;;
- esac
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-
- # We use sed instead of cat because bash on DJGPP gets confused if
- # if finds mixed CR/LF and LF-only lines. Since sed operates in
- # text mode, it properly converts lines to CR/LF. This bash problem
- # is reportedly fixed, but why not run on old versions too?
- sed '$q' "$ltmain" >> "$cfgfile" \
- || (rm -f "$cfgfile"; exit 1)
-
- if test x"$xsi_shell" = xyes; then
- sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
-func_dirname ()\
-{\
-\ case ${1} in\
-\ */*) func_dirname_result="${1%/*}${2}" ;;\
-\ * ) func_dirname_result="${3}" ;;\
-\ esac\
-} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_basename ()$/,/^} # func_basename /c\
-func_basename ()\
-{\
-\ func_basename_result="${1##*/}"\
-} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
-func_dirname_and_basename ()\
-{\
-\ case ${1} in\
-\ */*) func_dirname_result="${1%/*}${2}" ;;\
-\ * ) func_dirname_result="${3}" ;;\
-\ esac\
-\ func_basename_result="${1##*/}"\
-} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
-func_stripname ()\
-{\
-\ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
-\ # positional parameters, so assign one to ordinary parameter first.\
-\ func_stripname_result=${3}\
-\ func_stripname_result=${func_stripname_result#"${1}"}\
-\ func_stripname_result=${func_stripname_result%"${2}"}\
-} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
-func_split_long_opt ()\
-{\
-\ func_split_long_opt_name=${1%%=*}\
-\ func_split_long_opt_arg=${1#*=}\
-} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
-func_split_short_opt ()\
-{\
-\ func_split_short_opt_arg=${1#??}\
-\ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
-} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
-func_lo2o ()\
-{\
-\ case ${1} in\
-\ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
-\ *) func_lo2o_result=${1} ;;\
-\ esac\
-} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_xform ()$/,/^} # func_xform /c\
-func_xform ()\
-{\
- func_xform_result=${1%.*}.lo\
-} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_arith ()$/,/^} # func_arith /c\
-func_arith ()\
-{\
- func_arith_result=$(( $* ))\
-} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_len ()$/,/^} # func_len /c\
-func_len ()\
-{\
- func_len_result=${#1}\
-} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-fi
-
-if test x"$lt_shell_append" = xyes; then
- sed -e '/^func_append ()$/,/^} # func_append /c\
-func_append ()\
-{\
- eval "${1}+=\\${2}"\
-} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
-func_append_quoted ()\
-{\
-\ func_quote_for_eval "${2}"\
-\ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
-} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- # Save a `func_append' function call where possible by direct use of '+='
- sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
- test 0 -eq $? || _lt_function_replace_fail=:
-else
- # Save a `func_append' function call even when '+=' is not available
- sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
- test 0 -eq $? || _lt_function_replace_fail=:
-fi
-
-if test x"$_lt_function_replace_fail" = x":"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
-$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
-fi
-
-
- mv -f "$cfgfile" "$ofile" ||
- (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
- chmod +x "$ofile"
-
- ;;
- "include":C) test -d include || mkdir include ;;
- "src":C)
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
- ;;
-
- esac
-done # for ac_tag
-
-
-as_fn_exit 0
-_ACEOF
-ac_clean_files=$ac_clean_files_save
-
-test $ac_write_fail = 0 ||
- as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded. So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status. When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
- ac_cs_success=:
- ac_config_status_args=
- test "$silent" = yes &&
- ac_config_status_args="$ac_config_status_args --quiet"
- exec 5>/dev/null
- $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
- exec 5>>config.log
- # Use ||, not &&, to avoid exiting from the if with $? = 1, which
- # would make configure fail if this is the last instruction.
- $ac_cs_success || as_fn_exit 1
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
-
diff --git a/.pc/debug-build/configure.ac b/.pc/debug-build/configure.ac
deleted file mode 100644
index b32f83b..0000000
--- a/.pc/debug-build/configure.ac
+++ /dev/null
@@ -1,467 +0,0 @@
-dnl Process this with autoconf to create configure
-
-AC_PREREQ(2.63)
-
-AC_INIT([libffi], [3.0.11-rc2], [http://github.com/atgreen/libffi/issues])
-AC_CONFIG_HEADERS([fficonfig.h])
-
-AC_CANONICAL_SYSTEM
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-AM_INIT_AUTOMAKE
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-
-m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS])
-m4_define([_AC_ARG_VAR_PRECIOUS],[])
-AC_PROG_CC
-m4_undefine([_AC_ARG_VAR_PRECIOUS])
-m4_rename([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
-
-AC_SUBST(CFLAGS)
-
-AM_PROG_AS
-AM_PROG_CC_C_O
-AC_PROG_LIBTOOL
-AC_CONFIG_MACRO_DIR([m4])
-
-AM_MAINTAINER_MODE
-
-AC_CHECK_HEADERS(sys/mman.h)
-AC_CHECK_FUNCS(mmap)
-AC_FUNC_MMAP_BLACKLIST
-
-dnl The -no-testsuite modules omit the test subdir.
-AM_CONDITIONAL(TESTSUBDIR, test -d $srcdir/testsuite)
-
-TARGETDIR="unknown"
-case "$host" in
- alpha*-*-*)
- TARGET=ALPHA; TARGETDIR=alpha;
- # Support 128-bit long double, changeable via command-line switch.
- HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
- ;;
-
- arm*-*-*)
- TARGET=ARM; TARGETDIR=arm
- ;;
-
- amd64-*-freebsd* | amd64-*-openbsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- amd64-*-freebsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- avr32*-*-*)
- TARGET=AVR32; TARGETDIR=avr32
- ;;
-
- cris-*-*)
- TARGET=LIBFFI_CRIS; TARGETDIR=cris
- ;;
-
- frv-*-*)
- TARGET=FRV; TARGETDIR=frv
- ;;
-
- hppa*-*-linux* | parisc*-*-linux*)
- TARGET=PA_LINUX; TARGETDIR=pa
- ;;
- hppa*64-*-hpux*)
- TARGET=PA64_HPUX; TARGETDIR=pa
- ;;
- hppa*-*-hpux*)
- TARGET=PA_HPUX; TARGETDIR=pa
- ;;
-
- i?86-*-freebsd* | i?86-*-openbsd*)
- TARGET=X86_FREEBSD; TARGETDIR=x86
- ;;
- i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2*)
- TARGET=X86_WIN32; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
- i?86-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
- i?86-*-solaris2.1[[0-9]]*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
- i?86-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- ia64*-*-*)
- TARGET=IA64; TARGETDIR=ia64
- ;;
-
- m32r*-*-*)
- TARGET=M32R; TARGETDIR=m32r
- ;;
-
- m68k-*-*)
- TARGET=M68K; TARGETDIR=m68k
- ;;
-
- mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
- TARGET=MIPS; TARGETDIR=mips
- ;;
- mips*-*-linux*)
- # Support 128-bit long double for NewABI.
- HAVE_LONG_DOUBLE='defined(__mips64)'
- TARGET=MIPS; TARGETDIR=mips
- ;;
-
- moxie-*-*)
- TARGET=MOXIE; TARGETDIR=moxie
- ;;
-
- powerpc*-*-linux* | powerpc-*-sysv*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-beos*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-darwin*)
- TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
- ;;
- powerpc-*-aix* | rs6000-*-aix*)
- TARGET=POWERPC_AIX; TARGETDIR=powerpc
- ;;
- powerpc-*-freebsd*)
- TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
- ;;
- powerpc64-*-freebsd*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc*-*-rtems*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
-
- s390-*-* | s390x-*-*)
- TARGET=S390; TARGETDIR=s390
- ;;
-
- sh-*-* | sh[[34]]*-*-*)
- TARGET=SH; TARGETDIR=sh
- ;;
- sh64-*-* | sh5*-*-*)
- TARGET=SH64; TARGETDIR=sh64
- ;;
-
- sparc*-*-*)
- TARGET=SPARC; TARGETDIR=sparc
- ;;
-
- x86_64-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
-
- x86_64-*-cygwin* | x86_64-*-mingw*)
- TARGET=X86_WIN64; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
-
- x86_64-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-esac
-
-AC_SUBST(AM_RUNTESTFLAGS)
-AC_SUBST(AM_LTLDFLAGS)
-
-if test $TARGETDIR = unknown; then
- AC_MSG_ERROR(["libffi has not been ported to $host."])
-fi
-
-AM_CONDITIONAL(MIPS, test x$TARGET = xMIPS)
-AM_CONDITIONAL(SPARC, test x$TARGET = xSPARC)
-AM_CONDITIONAL(X86, test x$TARGET = xX86)
-AM_CONDITIONAL(X86_FREEBSD, test x$TARGET = xX86_FREEBSD)
-AM_CONDITIONAL(X86_WIN32, test x$TARGET = xX86_WIN32)
-AM_CONDITIONAL(X86_WIN64, test x$TARGET = xX86_WIN64)
-AM_CONDITIONAL(X86_DARWIN, test x$TARGET = xX86_DARWIN)
-AM_CONDITIONAL(ALPHA, test x$TARGET = xALPHA)
-AM_CONDITIONAL(IA64, test x$TARGET = xIA64)
-AM_CONDITIONAL(M32R, test x$TARGET = xM32R)
-AM_CONDITIONAL(M68K, test x$TARGET = xM68K)
-AM_CONDITIONAL(MOXIE, test x$TARGET = xMOXIE)
-AM_CONDITIONAL(POWERPC, test x$TARGET = xPOWERPC)
-AM_CONDITIONAL(POWERPC_AIX, test x$TARGET = xPOWERPC_AIX)
-AM_CONDITIONAL(POWERPC_DARWIN, test x$TARGET = xPOWERPC_DARWIN)
-AM_CONDITIONAL(POWERPC_FREEBSD, test x$TARGET = xPOWERPC_FREEBSD)
-AM_CONDITIONAL(ARM, test x$TARGET = xARM)
-AM_CONDITIONAL(AVR32, test x$TARGET = xAVR32)
-AM_CONDITIONAL(LIBFFI_CRIS, test x$TARGET = xLIBFFI_CRIS)
-AM_CONDITIONAL(FRV, test x$TARGET = xFRV)
-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)
-AM_CONDITIONAL(PA_LINUX, test x$TARGET = xPA_LINUX)
-AM_CONDITIONAL(PA_HPUX, test x$TARGET = xPA_HPUX)
-AM_CONDITIONAL(PA64_HPUX, test x$TARGET = xPA64_HPUX)
-
-AC_HEADER_STDC
-AC_CHECK_FUNCS(memcpy)
-AC_FUNC_ALLOCA
-
-AC_CHECK_SIZEOF(double)
-AC_CHECK_SIZEOF(long double)
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
- HAVE_LONG_DOUBLE=0
- if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
- if test $ac_cv_sizeof_long_double != 0; then
- HAVE_LONG_DOUBLE=1
- AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the long double type and it is bigger than a double])
- fi
- fi
-fi
-AC_SUBST(HAVE_LONG_DOUBLE)
-
-AC_C_BIGENDIAN
-
-GCC_AS_CFI_PSEUDO_OP
-
-if test x$TARGET = xSPARC; then
- AC_CACHE_CHECK([assembler and linker support unaligned pc related relocs],
- libffi_cv_as_sparc_ua_pcrel, [
- save_CFLAGS="$CFLAGS"
- save_LDFLAGS="$LDFLAGS"
- CFLAGS="$CFLAGS -fpic"
- LDFLAGS="$LDFLAGS -shared"
- AC_TRY_LINK([asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");],,
- [libffi_cv_as_sparc_ua_pcrel=yes],
- [libffi_cv_as_sparc_ua_pcrel=no])
- CFLAGS="$save_CFLAGS"
- LDFLAGS="$save_LDFLAGS"])
- if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
- AC_DEFINE(HAVE_AS_SPARC_UA_PCREL, 1,
- [Define if your assembler and linker support unaligned PC relative relocs.])
- fi
-
- AC_CACHE_CHECK([assembler .register pseudo-op support],
- libffi_cv_as_register_pseudo_op, [
- libffi_cv_as_register_pseudo_op=unknown
- # Check if we have .register
- AC_TRY_COMPILE([asm (".register %g2, #scratch");],,
- [libffi_cv_as_register_pseudo_op=yes],
- [libffi_cv_as_register_pseudo_op=no])
- ])
- if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
- AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP, 1,
- [Define if your assembler supports .register.])
- fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
- AC_CACHE_CHECK([assembler supports pc related relocs],
- libffi_cv_as_x86_pcrel, [
- libffi_cv_as_x86_pcrel=yes
- echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
- if $CC $CFLAGS -c conftest.s 2>&1 | $EGREP -i 'illegal|warning' > /dev/null; then
- libffi_cv_as_x86_pcrel=no
- fi
- ])
- if test "x$libffi_cv_as_x86_pcrel" = xyes; then
- AC_DEFINE(HAVE_AS_X86_PCREL, 1,
- [Define if your assembler supports PC relative relocs.])
- fi
-
- AC_CACHE_CHECK([assembler .ascii pseudo-op support],
- libffi_cv_as_ascii_pseudo_op, [
- libffi_cv_as_ascii_pseudo_op=unknown
- # Check if we have .ascii
- AC_TRY_COMPILE([asm (".ascii \\"string\\"");],,
- [libffi_cv_as_ascii_pseudo_op=yes],
- [libffi_cv_as_ascii_pseudo_op=no])
- ])
- if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
- AC_DEFINE(HAVE_AS_ASCII_PSEUDO_OP, 1,
- [Define if your assembler supports .ascii.])
- fi
-
- AC_CACHE_CHECK([assembler .string pseudo-op support],
- libffi_cv_as_string_pseudo_op, [
- libffi_cv_as_string_pseudo_op=unknown
- # Check if we have .string
- AC_TRY_COMPILE([asm (".string \\"string\\"");],,
- [libffi_cv_as_string_pseudo_op=yes],
- [libffi_cv_as_string_pseudo_op=no])
- ])
- if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
- AC_DEFINE(HAVE_AS_STRING_PSEUDO_OP, 1,
- [Define if your assembler supports .string.])
- fi
-fi
-
-case "$target" in
- *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
- AC_DEFINE(FFI_MMAP_EXEC_WRIT, 1,
- [Cannot use malloc on this target, so, we revert to
- alternative means])
- ;;
-esac
-
-if test x$TARGET = xX86_64; then
- AC_CACHE_CHECK([assembler supports unwind section type],
- libffi_cv_as_x86_64_unwind_section_type, [
- libffi_cv_as_x86_64_unwind_section_type=yes
- echo '.section .eh_frame,"a",@unwind' > conftest.s
- if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
- libffi_cv_as_x86_64_unwind_section_type=no
- fi
- ])
- if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
- AC_DEFINE(HAVE_AS_X86_64_UNWIND_SECTION_TYPE, 1,
- [Define if your assembler supports unwind section type.])
- fi
-fi
-
-AC_CACHE_CHECK([whether .eh_frame section should be read-only],
- libffi_cv_ro_eh_frame, [
- libffi_cv_ro_eh_frame=no
- echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
- if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
- if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- elif grep '.section.*eh_frame.*#alloc' conftest.c \
- | grep -v '#write' > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- fi
- fi
- rm -f conftest.*
- ])
-if test "x$libffi_cv_ro_eh_frame" = xyes; then
- AC_DEFINE(HAVE_RO_EH_FRAME, 1,
- [Define if .eh_frame sections should be read-only.])
- AC_DEFINE(EH_FRAME_FLAGS, "a",
- [Define to the flags needed for the .section .eh_frame directive.])
-else
- AC_DEFINE(EH_FRAME_FLAGS, "aw",
- [Define to the flags needed for the .section .eh_frame directive.])
-fi
-
-AC_CACHE_CHECK([for __attribute__((visibility("hidden")))],
- libffi_cv_hidden_visibility_attribute, [
- echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1; }' > conftest.c
- libffi_cv_hidden_visibility_attribute=no
- if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
- if grep '\.hidden.*foo' conftest.s >/dev/null; then
- libffi_cv_hidden_visibility_attribute=yes
- fi
- fi
- rm -f conftest.*
- ])
-if test $libffi_cv_hidden_visibility_attribute = yes; then
- AC_DEFINE(HAVE_HIDDEN_VISIBILITY_ATTRIBUTE, 1,
- [Define if __attribute__((visibility("hidden"))) is supported.])
-fi
-
-AH_BOTTOM([
-#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
-])
-
-AC_SUBST(TARGET)
-AC_SUBST(TARGETDIR)
-
-AC_SUBST(SHELL)
-
-AC_ARG_ENABLE(debug,
-[ --enable-debug debugging mode],
- if test "$enable_debug" = "yes"; then
- AC_DEFINE(FFI_DEBUG, 1, [Define this if you want extra debugging.])
- fi)
-
-AC_ARG_ENABLE(structs,
-[ --disable-structs omit code for struct support],
- if test "$enable_structs" = "no"; then
- AC_DEFINE(FFI_NO_STRUCTS, 1, [Define this is you do not want support for aggregate types.])
- fi)
-
-AC_ARG_ENABLE(raw-api,
-[ --disable-raw-api make the raw api unavailable],
- if test "$enable_raw_api" = "no"; then
- AC_DEFINE(FFI_NO_RAW_API, 1, [Define this is you do not want support for the raw API.])
- fi)
-
-AC_ARG_ENABLE(purify-safety,
-[ --enable-purify-safety purify-safe mode],
- if test "$enable_purify_safety" = "yes"; then
- AC_DEFINE(USING_PURIFY, 1, [Define this if you are using Purify and want to suppress spurious messages.])
- fi)
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- toolexecdir='$(exec_prefix)/$(target_alias)'
- toolexeclibdir='$(toolexecdir)/lib'
- else
- toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
- toolexeclibdir='$(libdir)'
- fi
- multi_os_directory=`$CC -print-multi-os-directory`
- case $multi_os_directory in
- .) ;; # Avoid trailing /.
- *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
- esac
- AC_SUBST(toolexecdir)
- AC_SUBST(toolexeclibdir)
-fi
-
-if test "${multilib}" = "yes"; then
- multilib_arg="--enable-multilib"
-else
- multilib_arg=
-fi
-
-AC_CONFIG_COMMANDS(include, [test -d include || mkdir include])
-AC_CONFIG_COMMANDS(src, [
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
-], [TARGETDIR="$TARGETDIR"])
-
-AC_CONFIG_LINKS(include/ffitarget.h:src/$TARGETDIR/ffitarget.h)
-
-AC_CONFIG_FILES(include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc)
-
-AC_OUTPUT
diff --git a/.pc/ffi_last_abi/.timestamp b/.pc/ffi_last_abi/.timestamp
deleted file mode 100644
index e69de29..0000000
--- a/.pc/ffi_last_abi/.timestamp
+++ /dev/null
diff --git a/.pc/ffi_last_abi/ChangeLog b/.pc/ffi_last_abi/ChangeLog
deleted file mode 100644
index cb9401f..0000000
--- a/.pc/ffi_last_abi/ChangeLog
+++ /dev/null
@@ -1,4511 +0,0 @@
-2012-02-10 Kai Tietz <ktietz@redhat.com>
-
- * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
- windows target.
- * configure: Regenerated.
-
-2012-02-08 Kai Tietz <ktietz@redhat.com>
-
- * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
- also FFI_THISCALL.
- * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
- (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
- (ffi_prep_closure_loc): Add FFI_THISCALL support.
- * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
- * src/x86/win32.S (ffi_closure_THISCALL): New closure code
- for thiscall-calling convention.
- * testsuite/libffi.call/closure_thiscall.c: New test.
-
-2012-01-28 Kai Tietz <ktietz@redhat.com>
-
- * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
- argument to prototype for specify calling-convention.
- (ffi_call): Add support for stdcall/thiscall convention.
- (ffi_prep_args): Likewise.
- (ffi_raw_call): Likewise.
- * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
- FFI_FASTCALL.
- * src/x86/win32.S (_ffi_call_win32): Add support for
- fastcall/thiscall calling-convention calls.
- * testsuite/libffi.call/fastthis1_win32.c: New test.
- * testsuite/libffi.call/fastthis2_win32.c: New test.
- * testsuite/libffi.call/fastthis3_win32.c: New test.
- * testsuite/libffi.call/strlen2_win32.c: New test.
- * testsuite/libffi.call/many2_win32.c: New test.
- * testsuite/libffi.call/struct1_win32.c: New test.
- * testsuite/libffi.call/struct2_win32.c: New test.
-
-2012-01-23 Andreas Schwab <schwab@linux-m68k.org>
-
- * src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
- mc68000. Test for __HAVE_68881__ in addition to __MC68881__.
-
-2012-01-19 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/48496
- * src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
-
-2012-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (i?86-*-*): Set TARGET to X86_64.
- * configure: Regenerate.
-
-2011-12-07 Andrew Pinski <apinski@cavium.com>
-
- PR libffi/50051
- * src/mips/n32.S: Add ".set mips4".
-
-2011-11-21 Andreas Tobler <andreast@fgznet.ch>
-
- * configure: Regenerate.
-
-2011-11-10 Richard Henderson <rth@redhat.com>
-
- * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
- * configure, aclocal.m4: Rebuild.
-
-2011-09-04 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/49594
- * src/powerpc/darwin_closure.S (stubs): Make the stub binding
- helper reference track the architecture pointer size.
-
-2011-08-25 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
- instructions.
- * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
-
-2011-07-11 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46660
- * testsuite/libffi.call/cls_double_va.c: xfail dg-output on
- mips-sgi-irix6*.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
- PRId8 instead of %hhu, %hhd.
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
- PRIu8): Define.
- [__sgi__] (PRId8, PRIu8): Define.
-
-2011-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
- Define.
- Use them to handle ELF vs. ECOFF differences.
- [__osf__] (_GLOBAL__F_ffi_call_osf): Define.
-
-2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46661
- * testsuite/libffi.call/cls_pointer.c (main): Cast void * to
- uintptr_t first.
- * testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
- Handle case when CPU variant does not have long double support.
- * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
- and cores with soft floating point.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * configure.ac: Add mips*-*-rtems* support.
- * configure: Regenerate.
- * src/mips/ffitarget.h: Ensure needed constants are available
- for targets which do not have sgidefs.h.
-
-2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR target/40125
- * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
- * configure: Regenerate.
-
-2010-12-18 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/29152
- PR libffi/42378
- * src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
- (FFI_TRAMPOLINE_SIZE): Update for Darwin64.
- * src/powerpc/darwin.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
- backslashes.
- (libffi_cv_as_string_pseudo_op): Likewise.
- * configure: Regenerate.
-
-2010-12-03 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
- (ffi_closure_VFP): Same.
- (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
- directive.
-
-2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
- (PRIuPTR): Define.
-
-2010-11-29 Richard Henderson <rth@redhat.com>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
- (.eh_frame): Use FDE_ENCODING.
- (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
-
-2010-11-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp: Rename ...
- * testsuite/lib/libffi.exp: ... to this.
- * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
- * libffi/testsuite/libffi.special/special.exp: Likewise.
-
-2010-10-28 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
- code, new parameter, and return value. Update comments.
- (ffi_prep_cif_machdep): Add case for VFP struct return values. Add
- call to layout_vfp_args().
- (ffi_call_SYSV): Update declaration.
- (ffi_call_VFP): New declaration.
- (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
- when ABI is FFI_VFP.
- (ffi_closure_VFP): New declaration.
- (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
- ffi_prep_incoming_args_SYSV().
- (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
- case handling.
- (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
- construction under VFP hard-float.
- (rec_vfp_type_p): New function.
- (vfp_type_p): Same.
- (place_vfp_arg): Same.
- (layout_vfp_args): Same.
- * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
- based on __ARM_PCS_VFP.
- (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
- fields.
- (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
- (FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
- * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
- direct call. Move function pointer load upwards.
- (ffi_call_VFP): New function.
- (ffi_closure_VFP): Same.
-
- * testsuite/lib/libffi-dg.exp (check-flags): New function.
- (dg-skip-if): New function.
- * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
- and compiler options include -mfloat-abi=hard.
- * testsuite/libffi.call/cls_longdouble_va.c: Same.
-
-2010-10-01 Jakub Jelinek <jakub@redhat.com>
-
- PR libffi/45677
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
- a multiple of 8.
- * testsuite/libffi.call/many2.c: New test.
-
-2010-08-20 Mark Wielaard <mjw@redhat.com>
-
- * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
- returns NULL.
-
-2010-08-09 Andreas Tobler <andreast@fgznet.ch>
-
- * configure.ac: Add target powerpc64-*-freebsd*.
- * configure: Regenerate.
- * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
- -mlong-double-128 only to linux targets.
- * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
- * testsuite/libffi.call/cls_longdouble.c: Likewise.
- * testsuite/libffi.call/huge_struct.c: Likewise.
-
-2010-07-10 Evan Phoenix <evan@fallingsnow.net>
-
- * src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
-
-2010-07-07 Dan Horák <dan@danny.cz>
-
- * include/ffi.h.in: Protect #define with #ifndef.
- * src/powerpc/ffitarget.h: Ditto.
- * src/s390/ffitarget.h: Ditto.
- * src/sparc/ffitarget.h: Ditto.
-
-2010-07-07 Neil Roberts <neil@linux.intel.com>
-
- * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
- 16-bytes.
-
-2010-07-02 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
- * Makefile.in: Regenerated.
-
-2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
- output, too.
- (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
- (libffi_cv_as_string_pseudo_op): Check for .string.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
-
-2010-05-05 Michael Kohler <michaelkohler@live.com>
-
- * src/dlmalloc.c (dlfree): Fix spelling.
- * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
- * configure.ac: Ditto.
- * configure: Rebuilt.
-
-2010-04-13 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Build with -W3 instead of -Wall.
- * src/powerpc/ffi_darwin.c: Remove build warnings.
- * src/x86/ffi.c: Ditto.
- * src/x86/ffitarget.h: Ditto.
-
-2010-04-12 Dan Witte <dwitte@mozilla.com>
- Walter Meinl <wuno@lsvw.de>
-
- * configure.ac: Add OS/2 support.
- * configure: Rebuilt.
- * src/closures.c: Ditto.
- * src/dlmalloc.c: Ditto.
- * src/x86/win32.S: Ditto.
-
-2010-04-07 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
-
-2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2010-03-30 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Disable build warnings.
- * README (tested): Clarify windows build procedure.
-
-2010-03-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * libffi/src/x86/unix64.S (.eh_frame)
- [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
-
-2010-03-14 Matthias Klose <doko@ubuntu.com>
-
- * src/x86/ffi64.c: Fix typo in comment.
- * src/x86/ffi.c: Use /* ... */ comment style.
-
-2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/libffi.texi (The Closure API): Fix typo.
- * doc/libffi.info: Remove.
-
-2010-02-15 Matthias Klose <doko@ubuntu.com>
-
- * src/arm/sysv.S (__ARM_ARCH__): Define for processor
- __ARM_ARCH_7EM__.
-
-2010-01-15 Anthony Green <green@redhat.com>
-
- * README: Add notes on building with Microsoft Visual C++.
-
-2010-01-15 Daniel Witte <dwitte@mozilla.com>
-
- * msvcc.sh: New file.
-
- * src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
- * src/x86/ffi.c: Tweak function declaration and remove excess
- parens.
- * include/ffi.h.in: Add __declspec(align(8)) to typedef struct
- ffi_closure.
-
- * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
- function ffi_call_win32 on X86_WIN32.
- * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
- (ffi_call_STDCALL): Remove.
-
- * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
- to ffi_prep_cif_machdep for x86.
- * src/x86/ffi.c (ffi_prep_cif_machdep): To here.
-
-2010-01-15 Oliver Kiddle <okiddle@yahoo.co.uk>
-
- * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
- Sun Studio compiler compatibility.
-
-2010-01-12 Conrad Irwin <conrad.irwin@gmail.com>
-
- * doc/libffi.texi: Add closure example.
-
-2010-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40701
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
- PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
- * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
- alpha*-dec-osf*.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/return_ll1.c: Likewise.
- * testsuite/libffi.call/stret_medium2.c: Likewise.
- * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
- MAP_FAILED to char *.
-
-2010-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
-
-2009-12-31 Anthony Green <green@redhat.com>
-
- * README: Update for libffi 3.0.9.
-
-2009-12-27 Matthias Klose <doko@ubuntu.com>
-
- * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
- appropriate.
- * configure: Rebuilt.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
- avr32*-*-*.
- * testsuite/libffi.call/cls_double_va.c: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
- and inttypes.h.
- * testsuite/libffi.special/unwindtest.cc: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-openbsd*.
- * configure: Rebuilt.
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
- openbsd programs with -lpthread.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
- mips*-*-* and arm*-*-*.
- * testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c,
- testsuite/libffi.call/stret_medium2.c,
- testsuite/libffi.call/stret_medium.c,
- testsuite/libffi.call/stret_large.c,
- testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
-
-2009-12-31 Kay Tietz <ktietz70@googlemail.com>
-
- * testsuite/libffi.call/ffitest.h,
- testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
- definitions.
-
-2009-12-31 Carlo Bramini <carlo.bramix@libero.it>
-
- * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
- * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
-
-2009-12-31 Anthony Green <green@redhat.com>
- Blake Chaffin.
-
- * testsuite/libffi.call/huge_struct.c: New test case from Blake
- Chaffin @ Apple.
-
-2009-12-28 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
- local variables.
- (aix_adjust_aggregate_sizes): New function.
- (ffi_prep_cif_machdep): Call it.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
- * configure: Regenerate.
- * fficonfig.h.in: Likewise.
- * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
- Solaris/x86.
-
-2009-12-26 Andreas Schwab <schwab@linux-m68k.org>
-
- * 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.
-
-2009-12-25 Matthias Klose <doko@ubuntu.com>
-
- * man/ffi_call.3: Fix #include in examples.
- * doc/libffi.texi: Add dircategory.
-
-2009-12-25 Frank Everdij <f.p.x.everdij@tudelft.nl>
-
- * include/ffi.h.in: Placed '__GNUC__' ifdef around
- '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
- IRIX MIPSPro c99.
- * include/ffi_common.h: Added '__sgi' define to non
- '__attribute__((__mode__()))' integer typedefs.
- * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
- ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
- (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
- FFI_LONGDOUBLE support and alignment(N32 only).
- * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
- fixed non '__attribute__((__mode__()))' integer typedefs.
- * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
- since they are Linux/GNU Assembler specific.
-
-2009-12-25 Bradley Smith <brad@brad-smith.co.uk>
-
- * configure.ac, Makefile.am, src/avr32/ffi.c,
- src/avr32/ffitarget.h,
- src/avr32/sysv.S: Add AVR32 port.
- * configure, Makefile.in: Rebuilt.
-
-2009-12-21 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
- * configure: Regenerate.
-
-2009-12-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
- type on HP-UX.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
- double' arguments.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40700
- * src/closures.c [X86_64 && __sun__ && __svr4__]
- (FFI_MMAP_EXEC_WRIT): Define.
-
-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.
-
-2009-12-07 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
- typo.
-
-2009-12-05 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
- code.
- * src/powerpc/aix_closure.S: Same.
-
-2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
- linux64_closure.S.
-
-2009-12-04 Uros Bizjak <ubizjak@gmail.com>
-
- 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.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
- pfr for long double split between fpr13 and stack.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
- fparg_count twice for long double.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- PR libffi/42243
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03 Uros Bizjak <ubizjak@gmail.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
- Remove xfails for x86 linux targets.
-
-2009-12-02 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
- case.
-
-2009-12-01 David Edelsohn <edelsohn@gnu.org>
-
- * 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.
-
-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.
-
-2009-11-02 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/41908
- * testsuite/libffi.call/testclosure.c: New test.
-
-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.
-
-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.
-
-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.
-
-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.
-
-2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.am (install-html, install-pdf): Remove.
- * Makefile.in: Regenerate.
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24 Dave Korn <dave.korn.cygwin@gmail.com>
-
- 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.
-
-2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
-
- 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.
-
-2009-07-01 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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 "".)
-
-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.
-
-2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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.
-
-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.
-
-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.
-
-2009-06-16 Andrew Haley <aph@redhat.com>
-
- * configure.ac (TARGETDIR): Add missing blank lines.
- * configure: Regenerate.
-
-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.
-
-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.
-
-2009-06-12 Andrew Haley <aph@redhat.com>
-
- * Makefile.am: Remove info_TEXINFOS.
-
-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-11 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * 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.
-
-2009-06-09 Andrew Haley <aph@redhat.com>
-
- * src/x86/freebsd.S: Add missing file.
-
-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).
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * README: Import from libffi 3.0.8.
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Add xfails.
- * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
- * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
- * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
- * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
- * testsuite/libffi.call/stret_medium.c: Likewise.
- * testsuite/libffi.call/stret_large2.c: Likewise.
- * testsuite/libffi.call/stret_large.c: Likewise.
-
-2008-12-26 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_align_longdouble.c,
- testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
- failures on x86_64 cygwin/mingw.
-
-2008-12-22 Timothy Wall <twall@users.sf.net>
-
- * 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_loc_fn0.c,
- testsuite/libffi.call/closure_stdcall.c,
- testsuite/libffi.call/cls_align_pointer.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
- pointer to integer (intptr_t).
- * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_dbls_struct.c,
- testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c,
- testsuite/libffi.call/err_bad_abi.c: Clean up failures from
- compiler warnings.
-
-2008-03-04 Anthony Green <green@redhat.com>
- Blake Chaffin
- hos@tamanegi.org
-
- * testsuite/libffi.call/cls_align_longdouble_split2.c
- testsuite/libffi.call/cls_align_longdouble_split.c
- testsuite/libffi.call/cls_dbls_struct.c
- testsuite/libffi.call/cls_double_va.c
- testsuite/libffi.call/cls_longdouble.c
- testsuite/libffi.call/cls_longdouble_va.c
- testsuite/libffi.call/cls_pointer.c
- testsuite/libffi.call/cls_pointer_stack.c
- testsuite/libffi.call/err_bad_abi.c
- testsuite/libffi.call/err_bad_typedef.c
- testsuite/libffi.call/stret_large2.c
- testsuite/libffi.call/stret_large.c
- testsuite/libffi.call/stret_medium2.c
- testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
- libffi.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
- stdcall changes.
-
-2008-02-26 Anthony Green <green@redhat.com>
- Thomas Heller <theller@ctypes.org>
-
- * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
- comment.
-
-2008-02-03 Timothy Wall <twall@users.sf.net>
-
- * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
- offset based on code pointer, not data pointer.
-
-2008-01-31 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
- closures.
- * src/x86/ffitarget.h: Increase size of trampoline for stdcall
- closures.
- * src/x86/win32.S: Add assembly for stdcall closure.
- * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Change void (*)() to void (*)(void).
- * src/x86/ffi.c: Likewise.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ppc_closure.S: Insert licence header.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/m68k/sysv.S: Likewise.
-
- * src/sh64/ffi.c: Change void (*)() to void (*)(void).
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/m32r/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi64.c: Likewise.
- * src/alpha/ffi.c: Likewise.
- * src/alpha/osf.S: Likewise.
- * src/frv/ffi.c: Likewise.
- * src/s390/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/pa/hpux32.S: Likewise.
- * src/ia64/unix.S: Likewise.
- * src/ia64/ffi.c: Likewise.
- * src/sparc/ffi.c: Likewise.
- * src/mips/ffi.c: Likewise.
- * src/sh/ffi.c: Likewise.
-
-2008-02-15 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
- Define (conditionally), and use it to include cachectl.h.
- (ffi_prep_closure_loc): Fix cache flushing.
- * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- include/ffi.h.in,
- src/arm/ffitarget.h,
- src/arm/ffi.c,
- src/arm/sysv.S,
- src/powerpc/ffitarget.h,
- src/closures.c,
- src/sh64/ffitarget.h,
- src/sh64/ffi.c,
- src/sh64/sysv.S,
- src/types.c,
- src/x86/ffi64.c,
- src/x86/ffitarget.h,
- src/x86/win32.S,
- src/x86/darwin.S,
- src/x86/ffi.c,
- src/x86/sysv.S,
- src/x86/unix64.S,
- src/alpha/ffitarget.h,
- src/alpha/ffi.c,
- src/alpha/osf.S,
- src/m68k/ffitarget.h,
- src/frv/ffitarget.h,
- src/frv/ffi.c,
- src/s390/ffitarget.h,
- src/s390/sysv.S,
- src/cris/ffitarget.h,
- src/pa/linux.S,
- src/pa/ffitarget.h,
- src/pa/ffi.c,
- src/raw_api.c,
- src/ia64/ffitarget.h,
- src/ia64/unix.S,
- src/ia64/ffi.c,
- src/ia64/ia64_flags.h,
- src/java_raw_api.c,
- src/debug.c,
- src/sparc/v9.S,
- src/sparc/ffitarget.h,
- src/sparc/ffi.c,
- src/sparc/v8.S,
- src/mips/ffitarget.h,
- src/mips/n32.S,
- src/mips/o32.S,
- src/mips/ffi.c,
- src/prep_cif.c,
- src/sh/ffitarget.h,
- src/sh/ffi.c,
- src/sh/sysv.S: Update license text.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * src/x86/win32.S (_ffi_closure_STDCALL): New function.
- (.eh_frame): Add FDE for it.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * configure.ac: Also check if assembler supports pc-relative
- relocs on X86_WIN32 targets.
- * configure: Regenerate.
- * src/x86/win32.S (ffi_prep_args): Declare extern, not global.
- (_ffi_call_SYSV): Add missing function type symbol .def and
- add EH markup labels.
- (_ffi_call_STDCALL): Likewise.
- (_ffi_closure_SYSV): Likewise.
- (_ffi_closure_raw_SYSV): Likewise.
- (.eh_frame): Add hand-crafted EH data.
-
-2009-04-09 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
- version 3 of the GNU General Public License and to point readers
- at the COPYING3 file and the FSF's license web page.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-12-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libffi/26048
- * configure.ac (HAVE_AS_X86_PCREL): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
- RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
- RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
- * src/x86/unix64.S (.Lstore_table): Move to .text section.
- (.Lload_table): Likewise.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
- signed/unsigned int8/16 return values.
- * src/sparc/v8.S (ffi_call_v8): Likewise.
- (ffi_closure_v8): Likewise.
-
-2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
- Steve Ellcey <sje@cup.hp.com>
-
- * configure: Regenerate for new libtool.
- * Makefile.in: Ditto.
- * include/Makefile.in: Ditto.
- * aclocal.m4: Ditto.
-
-2008-08-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
- FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
- Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
- Adjust copyright notice.
- * src/powerpc/ffi.c: Add two new flags to indicate if we have one
- register or two register to use for FFI_SYSV structs.
- (ffi_prep_cif_machdep): Pass the right register flag introduced above.
- (ffi_closure_helper_SYSV): Fix the return type for
- FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
- Adjust copyright notice.
-
-2008-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
- int.
-
-2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2008-06-07 Joseph Myers <joseph@codesourcery.com>
-
- * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
- powerpc-*-beos*): Remove.
- * configure: Regenerate.
-
-2008-05-09 Julian Brown <julian@codesourcery.com>
-
- * Makefile.am (LTLDFLAGS): New.
- (libffi_la_LDFLAGS): Use above.
- * Makefile.in: Regenerate.
-
-2008-04-18 Paolo Bonzini <bonzini@gnu.org>
-
- PR bootstrap/35457
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2008-03-26 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add .note.GNU-stack on Linux.
- * src/sh64/sysv.S: Likewise.
-
-2008-03-26 Daniel Jacobowitz <dan@debian.org>
-
- * src/arm/sysv.S: Fix ARM comment marker.
-
-2008-03-26 Jakub Jelinek <jakub@redhat.com>
-
- * src/alpha/osf.S: Add .note.GNU-stack on Linux.
- * src/s390/sysv.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
- * src/x86/unix64.S: Likewise.
- * src/x86/sysv.S: Likewise.
- * src/sparc/v8.S: Likewise.
- * src/sparc/v9.S: Likewise.
- * src/m68k/sysv.S: Likewise.
- * src/arm/sysv.S: Likewise.
-
-2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * aclocal.m4: Regenerate.
- * configure: Likewise.
- * Makefile.in: Likewise.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2008-02-12 Bjoern Koenig <bkoenig@alpha-tierchen.de>
- Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-freebsd* target.
- * configure: Regenerate.
-
-2008-01-30 H.J. Lu <hongjiu.lu@intel.com>
-
- PR libffi/34612
- * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
- returning struct.
-
- * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
- tests.
-
-2008-01-24 David Edelsohn <edelsohn@gnu.org>
-
- * configure: Regenerate.
-
-2008-01-06 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
-
-2008-01-05 Andreas Tobler <a.tobler@schweiz.org>
-
- PR testsuite/32843
- * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
- signed/unsigned int8/16 for X86_DARWIN.
- Updated copyright info.
- Handle one and two byte structs with special cif->flags.
- * src/x86/ffitarget.h: Add special types for one and two byte structs.
- Updated copyright info.
- * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
- sysv.S
- Remove code to pop args from the stack after call.
- Special-case signed/unsigned for int8/16, one and two byte structs.
- (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
- FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
- FFI_TYPE_SINT32.
- Updated copyright info.
-
-2007-12-08 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_call_N32): Replace dadd with ADDU, dsub with
- SUBU, add with ADDU and use smaller code sequences.
-
-2007-12-07 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
- type.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
- defined.
- (ffi_java_raw): New typedef.
- (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
- ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
- ffi_java_raw.
- (ffi_java_raw_closure) : Same.
- (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
- parameter types.
- * src/java_raw_api.c (ffi_java_raw_size): Replace FFI_SIZEOF_ARG with
- FFI_SIZEOF_JAVA_RAW.
- (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
- Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
- sizeof(ffi_java_raw) for alignment calculations.
- (ffi_java_ptrarray_to_raw): Same.
- (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
- if FFI_SIZEOF_JAVA_RAW == 4.
- (ffi_java_raw_to_rvalue): Same.
- (ffi_java_raw_call): Change type of raw to ffi_java_raw.
- (ffi_java_translate_args): Same.
- (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
- parameter types.
- * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
- pointer values.
-
-2007-12-01 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/31937
- * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
- Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
- * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
- set the NUM_FPR_ARG_REGISTERS according to.
- Add support for potential soft-float support under hard-float
- architecture.
- (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
- FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
- to the FFI_LINUX_SOFT_FLOAT ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Make sure not to store float/double
- on archs where __NO_FPRS__ is true.
- Add FFI_TYPE_UINT128 support.
- * src/powerpc/sysv.S: Add support for soft-float long-double-128.
- Adjust copyright notice.
-
-2007-11-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
- * include/ffi_common.h: ... here.
- Update copyright.
-
-2007-11-17 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
- * testsuite/libffi.call/return_ldl.c: New test.
-
-2007-09-04 <aph@redhat.com>
-
- * src/arm/sysv.S (UNWIND): New.
- (Whole file): Conditionally compile unwinder directives.
- * src/arm/sysv.S: Add unwinder directives.
-
- * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
- Only treat r0 as a struct address if we're actually returning a
- struct by address.
- Only copy the bytes that are actually within a struct.
- (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
- is returned in r0, not passed by address.
- (ffi_call): Allocate a word-sized temporary for the case where
- a composite is returned in r0.
- (ffi_prep_incoming_args_SYSV): Align as necessary.
-
-2007-08-05 Steven Newbury <s_j_newbury@yahoo.co.uk>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
- directly using the sys_cacheflush syscall.
-
-2007-07-27 Andrew Haley <aph@redhat.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
-
-2007-09-03 Maciej W. Rozycki <macro@linux-mips.org>
-
- * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure: Likewise.
-
-2007-08-24 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/return_sl.c: New test.
-
-2007-08-10 David Daney <ddaney@avtrex.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/nested_struct5.c,
- testsuite/libffi.call/cls_double.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/nested_struct.c,
- testsuite/libffi.call/cls_2byte.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_sint16.c,
- testsuite/libffi.call/cls_align_uint32.c,
- testsuite/libffi.call/cls_20byte.c,
- testsuite/libffi.call/cls_float.c,
- testsuite/libffi.call/nested_struct2.c,
- testsuite/libffi.call/cls_5_1_byte.c,
- testsuite/libffi.call/nested_struct4.c,
- testsuite/libffi.call/cls_24byte.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: Remove xfail for mips64*-*-*.
-
-2007-08-10 David Daney <ddaney@avtrex.com>
-
- 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.
-
-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*.
- * 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.
-
-2006-12-13 Andreas Tobler <a.tobler@schweiz.org>
-
- * aclocal.m4: Regenerate with aclocal -I .. as written in the
- Makefile.am.
-
-2006-10-31 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
- (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
- Darwin.
- * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
- * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10 Paolo Bonzini <bonzini@gnu.org>
- Sandro Tolaini <tolaini@libero.it>
-
- * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
- conditional.
- * configure: Regenerated.
- * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
- (EXTRA_DIST): Add src/x86/darwin.S.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
- X86_WIN32, and additionally align stack to 16 bytes.
- * src/x86/darwin.S: New, based on sysv.S.
- * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12 David Daney <ddaney@avtrex.com>
-
- PR libffi/23935
- * include/Makefile.am: Install both ffi.h and ffitarget.h in
- $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
- * aclocal.m4: Regenerated for automake 1.9.6.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
-2006-08-17 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h: Remove lint directives.
- * include/ffi.h.in: Likewise.
-
-2006-07-25 Torsten Schoenfeld <kaffeetisch@gmx.de>
-
- * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
- for 32-bit architectures.
- * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
- xfail remains for mips64.
-
-2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
-
- * Makefile.am: Add install-html target. Add install-html to .PHONY
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
- stack slot.
-
-2006-04-22 Andreas Tobler <a.tobler@schweiz.ch>
-
- * README: Remove notice about 'Crazy Comments'.
- * src/debug.c: Remove lint directives. Cleanup white spaces.
- * src/java_raw_api.c: Likewise.
- * src/prep_cif.c: Likewise.
- * src/raw_api.c: Likewise.
- * src/ffitest.c: Delete. No longer needed, all test cases migrated
- to the testsuite.
- * src/arm/ffi.c: Remove lint directives.
- * src/m32r/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/sh/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/pa/hpux32.S: Correct unwind offset calculation for
- ffi_closure_pa32.
- * src/pa/linux.S: Likewise.
-
-2006-04-12 James E Wilson <wilson@specifix.com>
-
- PR libgcj/26483
- * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
- (hfa_type_load): Call stf_spill.
- (hfa_type_store): Call ldf_fill.
- (ffi_call): Adjust calls to above routines. Add local temps for
- macro result.
-
-2006-04-10 Matthias Klose <doko@debian.org>
-
- * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
- directory names containing underscores.
-
-2006-04-07 James E Wilson <wilson@specifix.com>
-
- * testsuite/libffi.call/float4.c: New testcase.
-
-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.
-
-2006-03-24 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Default
- for 32-bit using IBM extended double format. Fix FFI_LAST_ABI.
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
- FFI_TYPE_LONGDOUBLE.
- (ffi_prep_args64): Assert using IBM extended double.
- (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
- Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
- (ffi_call): Handle FFI_LINUX.
- (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
- gpr3 return pointer as for struct return. Handle FFI_LINUX
- FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf"
- unnecessarily.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
- for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table.
- Don't use r6 as pointer to results, instead use sp offset. Don't
- make a special call to load lr with case table address, instead
- use offset from previous call.
- * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
- return.
-
-2006-03-15 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
- passed with FP registers correctly.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S: Likewise.
-
-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.
-
-2006-02-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
- -O2, -O3, -Os and the warning flags -W -Wall.
- * testsuite/libffi.special/special.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
- unused parameter unused for gcc or else do nothing.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
- * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
- * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
- * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
- * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
- * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
- * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
- * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
- * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
- void* to avoid compiler warning.
- (main): Likewise.
- (cls_struct_align_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
- * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
- * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
- userdata unused.
- (cls_ret_schar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
- userdata unused.
- (cls_ret_sint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
- userdata unused.
- (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn): Mark cif and
- userdata unused.
- (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
- userdata unused.
- (cls_ret_uint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
- userdata unused.
- (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
- * testsuite/libffi.call/float1.c (main): Remove unused variable i.
- Cleanup white spaces.
- * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
- * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
- cif and userdata unused.
- * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
- Likewise.
- * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
- formatters to silence gcc.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct4.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct6.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
- * testsuite/libffi.call/problem1.c (stub): Likewise.
- * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
- gcc.
- * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
- in the last commit for this test case in the test case itself.
- * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
- unused.
- * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
- * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
- * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
- * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
- * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
- * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Fix register numbers in the FDE for
- ffi_closure_SYSV.
-
-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.
-
-2006-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
- and cast integer to void * if needed. Update the pointer to
- the FP register saved area correctly.
-
-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.
-
-2006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/return_dbl.c: New test case.
- * testsuite/libffi.call/return_dbl1.c: Likewise.
- * testsuite/libffi.call/return_dbl2.c: Likewise.
- * testsuite/libffi.call/return_fl.c: Likewise.
- * testsuite/libffi.call/return_fl1.c: Likewise.
- * testsuite/libffi.call/return_fl2.c: Likewise.
- * testsuite/libffi.call/return_fl3.c: Likewise.
- * testsuite/libffi.call/closure_fn6.c: Likewise.
-
- * 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.
-
-2006-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.ac: Enable libffi for sparc64-*-freebsd*.
- * configure: Rebuilt.
-
-2006-01-18 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
- instead do the shifting inline.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
- shift count unconditionally. Simplify load sequences for 1, 2, 3, 4
- and 8 byte structs, for the remaining struct sizes don't call
- __lshrdi3, instead do the shifting inline.
-
-2005-12-07 Thiemo Seufer <ths@networkno.de>
-
- * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
- missing parentheses.
- * src/mips/o32.S (ffi_call_O32): Code formatting. Define
- and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
- (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
- A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
- V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
- FA_0_0_OFF2.
- * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
- endianness bugs.
- (ffi_prep_closure): Improve trampoline instruction scheduling.
- (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c: Formatting.
- (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
- (ffi_prep_args64): Likewise.
-
-2005-09-30 Geoffrey Keating <geoffk@apple.com>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
- darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26 Tom Tromey <tromey@redhat.com>
-
- * 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.
-
-2005-08-25 Alan Modra <amodra@bigpond.net.au>
-
- PR target/23404
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
- homed fp args.
- (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11 Jakub Jelinek <jakub@redhat.com>
-
- * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
- (AH_BOTTOM): Add FFI_HIDDEN definition.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * src/powerpc/ffi.c (hidden): Remove.
- (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
- ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
- .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
- * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
- add FFI_HIDDEN to its prototype.
- (ffi_closure_SYSV_inner): New.
- * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
- * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10 Alfred M. Szmidt <ams@gnu.org>
-
- PR libffi/21819:
- * configure: Rebuilt.
- * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
- DW_CFA_offset_extended_sf rather than
- DW_CFA_GNU_negative_offset_extended.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
-
- * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
- on sh3.
- (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
- * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
- partially on register.
- (ffi_closure_helper_SYSV): Likewise.
- (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_call): Handle small structures correctly.
- Remove empty line.
- * src/sh64/ffi.c (simple_type): Remove.
- (return_type): Handle small structures correctly.
- (ffi_prep_args): Likewise.
- (ffi_call): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
- Emit position independent code if PIC and remove wrong datalabel
- prefixes from EH data.
-
-2005-07-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure.ac: Add POWERPC_FREEBSD rules.
- * configure: Regenerate.
- * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
- (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
- * src/powerpc/ffi.c: Add flags to handle small structure returns
- in ffi_call_SYSV.
- (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
- Aka FFI_SYSV.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Add return types for small structures.
- * src/powerpc/sysv.S: Add bits to handle small structures for
- final SYSV 4 ABI.
-
-2005-07-10 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_5_1_byte.c: New test file.
- * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05 Randolph Chung <tausq@debian.org>
-
- * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
- as FFI_TYPE_SMALL_STRUCT3. Break out handling for 5-7 byte
- structures. Kill compilation warnings.
- (ffi_closure_inner_LINUX): Print return values as hex in debug
- message. Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
- Properly handle 5-7 byte structure returns.
- * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
- (FFI_TYPE_SMALL_STRUCT2): Remove.
- (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
- (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
- * src/pa/linux.S: Mark source file as using PA1.1 assembly.
- (checksmst1, checksmst2): Remove.
- (checksmst3): Optimize handling of 3-byte struct returns.
- (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libgcj/21943
- * src/mips/n32.S: Enforce PIC code.
- * src/mips/o32.S: Likewise.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
- * configure: Regenerate.
-
-2005-06-01 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
- to call ffi_closure_helper_SYSV. Append @local instead.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
- Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
- * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
- * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
- include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-05-08 Richard Henderson <rth@redhat.com>
-
- PR libffi/21285
- * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04 Andreas Degert <ad@papyrus-gmbh.de>
- Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
- bit 11 of flags.
- (ffi_call): Mask return type field. Pass ssecount to ffi_call_unix64.
- (ffi_prep_closure): Set carry bit if sse-used flag set.
- * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
- Only load sse registers if ssecount non-zero.
- (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
- powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
- * configure: Regenerate.
-
-2005-04-20 Hans-Peter Nilsson <hp@axis.com>
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
- have Tcl8.3-compatible intermediate variable.
-
-2005-04-18 Simon Posnjak <simon.posnjak@siol.net>
- Hans-Peter Nilsson <hp@axis.com>
-
- * Makefile.am: Add CRIS support.
- * configure.ac: Likewise.
- * Makefile.in, configure, testsuite/Makefile.in,
- include/Makefile.in: Regenerate.
- * src/cris: New directory.
- * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
- * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
- \r?\n in output tests.
-
-2005-04-12 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-03-30 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30 Steve Ellcey <sje@cup.hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
- (ffi_sarg) Ditto.
- * src/ia64/unix.S (ffi_closure_unix): Extend gp
- to 64 bits in ILP32 mode.
- Load 64 bits even for short data.
-
-2005-03-23 Mike Stump <mrs@apple.com>
-
- * src/powerpc/darwin.S: Update for -m64 multilib.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21 Zack Weinberg <zack@codesourcery.com>
-
- * 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.
-
-2005-02-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
- odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR libffi/20104
- * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11 Janis Johnson <janis187@us.ibm.com>
-
- * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
- * testsuite/libffi.call/float.c: Ditto.
- * testsuite/libffi.call/float2.c: Ditto.
- * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * testsuite/libffi.special/special.exp (cxx_options): Add
- -shared-libgcc.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
- (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
- offset parameters with a type parameter; deduce size and structure
- alignment. Update all users.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
- (FFI_TYPE_LONGDOUBLE): Fix for ia64.
- * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
- into ffi_prep_closure.
- * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
- from scratch.
-
-2004-12-27 Richard Henderson <rth@redhat.com>
-
- * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25 Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
- (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
- (merge_classes): Check for it.
- (SSE_CLASS_P): New.
- (classify_argument): Pass byte_offset by value; perform all updates
- inside struct case.
- (examine_argument): Add classes argument; handle
- X86_64_COMPLEX_X87_CLASS.
- (ffi_prep_args): Merge into ...
- (ffi_call): ... here. Share stack frame with ffi_call_unix64.
- (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
- (ffi_fill_return_value): Remove.
- (ffi_prep_closure): Remove dead assert.
- (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
- Rewrite to use struct register_args instead of va_list. Create
- flags for handling structure returns.
- * src/x86/unix64.S: Remove dead strings.
- (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share
- stack frame with ffi_call. Handle structure returns properly.
- (float2sse, floatfloat2sse, double2sse): Remove.
- (sse2float, sse2double, sse2floatfloat): Remove.
- (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite
- to handle structure returns properly.
-
-2004-12-08 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
- PICFLAG.
- * Makefile.in: Regenerated.
-
-2004-12-02 Richard Sandiford <rsandifo@redhat.com>
-
- * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
- * configure, aclocal.m4, Makefile.in: Regenerate.
- * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-25 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool reversion.
-
-2004-11-24 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23 Richard Sandiford <rsandifo@redhat.com>
-
- * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
- of jal. Use an absolute encoding for the frame information.
-
-2004-11-23 Kelley Cook <kcook@gcc.gnu.org>
-
- * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS.
- * acinclude.m4: Delete logic for sincludes.
- * aclocal.m4, Makefile.in, configure: Regenerate.
- * include/Makefile: Likewise.
- * testsuite/Makefile: Likewise.
-
-2004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
- on a 8-byte boundary.
- * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
- long long values. Round stack allocation to a multiple of 8 bytes
- for ATPCS compatibility.
- * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
- names. Handle returning long long types. Add Thumb and interworking
- support. Improve soft-float code.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
- (libffi_exit): New function.
- (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR other/18138
- * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
- * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
- the function returning a structure pointed with R2.
- * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
- the structure return value if T bit set. Emit position
- independent code and EH data if PIC.
-
-2004-10-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * Makefile.am: Add m32r support.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * confiugre: Regenerate.
- * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
- (uint64, sint64, double, longdouble)
- * src/m32r: New directory.
- * src/m32r/ffi.c: New file.
- * src/m32r/sysv.S: Likewise.
- * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * testsuite/libffi.call/negint.c: New test case.
-
-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.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/many_win32.c: Remove whitespaces.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
- whitespaces.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Fix comments and identation.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
- (ffi_prep_args): Handle longdouble arguments.
- (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
- longdouble.
- (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
- * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
- values.
- * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
- * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/aix.S: Remove whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
- * src/powerpc/asm.h: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffitarget.h: Likewise.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
-
-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.in: Read configure.host.
- * 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 shouldn't 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.
-
-2004-08-24 David Daney <daney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
- to zero.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23 David Daney <daney@avtrex.com>
-
- PR libgcj/13141
- * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
- * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
- (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
- parameters and return types.
- (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
- (ffi_prep_closure): Ditto.
- (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
- alignment calculations.
- * src/mips/o32.S (ffi_closure_O32): Don't use floating point
- instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14 Casey Marshall <csm@gnu.org>
-
- * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
- contain `FFI_TYPE_UINT64' as return type for any 64-bit
- integer (O32 ABI only).
- (ffi_prep_closure): new function.
- (ffi_closure_mips_inner_O32): new function.
- * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
- `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
- * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
- 64 bit integers correctly.
- (ffi_closure_O32): new function.
- Added DWARF-2 unwind info for both functions.
-
-2004-08-10 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01 Robert Millan <robertmh@gnu.org>
-
- * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
- * configure: Regenerate.
-
-2004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
-
- * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
- and mmap() explicitly instead of relying on preset autoconf cache
- variables.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
- (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
- character on Darwin, use '\n\t' instead.
-
-2004-06-26 Matthias Klose <doko@debian.org>
-
- * libtool-version: Fix typo in revision/age.
-
-2004-06-17 Matthias Klose <doko@debian.org>
-
- * libtool-version: New.
- * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
- * Makefile.in: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * Makefile.am: Remove useless multilib rules.
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate with automake 1.8.5.
- * configure.ac: Remove useless multilib configury.
- * configure: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * .cvsignore: New file.
-
-2004-06-10 Jakub Jelinek <jakub@redhat.com>
-
- * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
- fp_done.
- (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
- changed from 8.
-
-2004-06-06 Sean McNeil <sean@mcneil.com>
-
- * configure.ac: Add x86_64-*-freebsd* support.
- * configure: Regenerate.
-
-2004-04-26 Joe Buck <jbuck@welsh-buck.org>
-
- Bug 15093
- * configure.ac: Test for existence of mmap and sys/mman.h before
- checking blacklist. Fix suggested by Jim Wilson.
- * configure: Regenerate.
-
-2004-04-26 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
- FDE location.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
- error. Reported by Thomas Heller <theller@python.net>.
- * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20 Matthias Klose <doko@debian.org>
-
- * src/pa/linux.S: Fix typo.
-
-2004-03-19 Matthias Klose <doko@debian.org>
-
- * Makefile.am: Update.
- * Makefile.in: Regenerate.
- * src/pa/ffi.h.in: Remove.
- * src/pa/ffitarget.h: New file.
-
-2004-02-10 Randolph Chung <tausq@debian.org>
-
- * Makefile.am: Add PA support.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * configure.ac: Add PA target.
- * configure: Regenerate.
- * src/pa/ffi.c: New file.
- * src/pa/ffi.h.in: Add PA support.
- * src/pa/linux.S: New file.
- * prep_cif.c: Add PA support.
-
-2004-03-16 Hosaka Yuji <hos@tamanegi.org>
-
- * src/types.c: Fix alignment size of X86_WIN32 case int64 and
- double.
- * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
- with ecif->cif->flags.
- (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
- with cif->flags.
- (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
- (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
- * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
- sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.in: Rename file to ...
- * configure.ac: ... this.
- * fficonfig.h.in: Regenerate.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2004-03-12 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Fix EH information so it corresponds to
- changes in EH format resulting from addition of linkonce support.
- * src/powerpc/darwin_closure.S: Likewise.
-
-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.
-
-2004-03-11 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
- arguments from fp registers only for the first 8 parameter slots.
- Don't convert a float parameter when passed in memory.
-
-2004-03-09 Hans-Peter Nilsson <hp@axis.com>
-
- * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
-
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
- ecif->cif->bytes to bytes.
- (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
- * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
- (ffi_closure_helper_LINUX64): Fix typo.
- * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
- for powerpc64-*-*.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
- long double function return and long double arg handling.
- (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
- Use "end_pfr" instead of "nf". Correct long double handling.
- Localise "temp".
- * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
- return value.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
- space for long double return value. Adjust stack frame and offsets.
- Load f2 long double return.
-
-2004-02-07 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
- when the structure return address is passed in %o0.
- (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
- (ffi_v9_layout_struct): Align the field following a nested structure
- on a word boundary. Use memmove instead of memcpy.
- (ffi_call): Update call to ffi_V9_return_struct.
- (ffi_prep_closure): Define 'ctx' only for V8.
- (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
- and ffi_closure_sparc_inner_v9.
- (ffi_closure_sparc_inner_v8): Return long doubles by reference.
- Always skip the structure return address. For structures and long
- doubles, copy the argument directly.
- (ffi_closure_sparc_inner_v9): Skip the structure return address only
- if required. Shift the maximum floating-point slot accordingly. For
- big structures, copy the argument directly; otherwise, left-justify the
- argument and call ffi_v9_layout_struct to lay out the structure on
- the stack.
- * src/sparc/v8.S: Undef STACKFRAME before defining it.
- (ffi_closure_v8): Pass the structure return address. Update call to
- ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
- Skip the 'unimp' insn when returning long doubles and structures.
- * src/sparc/v9.S: Undef STACKFRAME before defining it.
- (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
- FFI_TYPE_INT handling. Load structures both in integers and
- floating-point registers on return.
- * README: Update status of the SPARC port.
-
-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.
-
-2004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
-
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
- value as of type ffi_arg, not unsigned int.
-
-2004-01-21 Michael Ritzert <ritzert@t-online.de>
-
- * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
- of the LHS.
-
-2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
- Solaris.
-
-2004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
- to void *.
-
-2003-12-10 Richard Henderson <rth@redhat.com>
-
- * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
- size_t instead of int.
-
-2003-12-04 Hosaka Yuji <hos@tamanegi.org>
-
- * testsuite/libffi.call/many_win32.c: Include <float.h>.
- * testsuite/libffi.call/many_win32.c (main): Replace variable
- int i with unsigned long ul.
-
- * testsuite/libffi.call/cls_align_uint64.c: New test case.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02 Hosaka Yuji <hos@tamanegi.org>
-
- PR other/13221
- * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
- Align arguments to 32 bits.
-
-2003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR other/13221
- * testsuite/libffi.call/cls_multi_sshort.c: New test case.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-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.
-
-2003-11-21 Andreas Jaeger <aj@suse.de>
- Andreas Tobler <a.tobler@schweiz.ch>
-
- * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
- * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
- * Makefile.in: Rebuilt.
- * aclocal.m4: Likewise.
- * configure: Likewise.
- * fficonfig.h.in: Likewise.
- * testsuite/lib/libffi-dg.exp: Add include dir.
- * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
- for ffi_closure if available.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
- Add -lgcc_s to additional flags.
-
-2003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.in, include/Makefile.am: PR libgcj/11147, install
- the ffitarget.h header file in a gcc versioned and target
- dependent place.
- * configure: Regenerated.
- * Makefile.in, include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Print result and check
- with dg-output to make debugging easier.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
- static.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_9byte2.c: New test case.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_double.c: Do a check on the result.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/prep_cif.c (ffi_prep_cif): Move the validity check after
- the initialization.
-
-2003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
- FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
- __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-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
-
-2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
- _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
- Used when FFI_DEBUG = 1.
-
-2003-10-14 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
- and align.
-
-2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
- FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
- SPARC64. Cleanup whitespaces.
-
-2003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
- strongarm, xscale. Cleanup whitespaces.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Cleanup whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
- * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
- parameter stack.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
- according to the Darwin/AIX ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_DARWIN): Likewise.
- Remove the outgoing parameter stack logic. Simplify the evaluation
- of the different CASE types.
- (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
- statement in the trampoline code.
-
-2003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
- for the register size.
- (ffi_closure_helper_SYSV): Handle the structure return value
- address correctly.
- (ffi_closure_helper_SYSV): Return the appropriate type when
- the registers are used for the structure return value.
- * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
- the 64-bit return value. Update copyright years.
-
-2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
- srcdir for ffi_mips.h.
-
-2003-09-12 Alan Modra <amodra@bigpond.net.au>
-
- * src/prep_cif.c (initialize_aggregate): Include tail padding in
- structure size.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
- placement of float result.
- * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
- cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Merge identical SH and ARM
- typedefs, and add POWERPC64.
- * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
- struct split over gpr and rest.
- (ffi_prep_cif_machdep): Correct intarg_count for structures.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
- passing correctly.
-
-2003-09-09 Alan Modra <amodra@bigpond.net.au>
-
- * configure: Regenerate.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Remove build rules for ffitest.
- * Makefile.in: Rebuilt.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
- about implicit declaration of abort().
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
- * Makefile.in: Rebuilt.
- * configure.in: Add dejagnu test framework.
- * configure: Rebuilt.
-
- * testsuite/Makefile.am: New file.
- * testsuite/Makefile.in: Built
- * testsuite/lib/libffi-dg.exp: New file.
- * testsuite/config/default.exp: Likewise.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Likewise.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float1.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/many.c: Likewise.
- * testsuite/libffi.call/many_win32.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
- * testsuite/libffi.call/strlen.c: Likewise.
- * testsuite/libffi.call/strlen_win32.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
- * testsuite/libffi.call/struct2.c: Likewise.
- * testsuite/libffi.call/struct3.c: Likewise.
- * testsuite/libffi.call/struct4.c: Likewise.
- * testsuite/libffi.call/struct5.c: Likewise.
- * testsuite/libffi.call/struct6.c: Likewise.
- * testsuite/libffi.call/struct7.c: Likewise.
- * testsuite/libffi.call/struct8.c: Likewise.
- * testsuite/libffi.call/struct9.c: Likewise.
- * testsuite/libffi.special/special.exp: New file.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
- copyright years.
-
-2003-08-02 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
- structure passing.
- (ffi_closure_helper_LINUX64): Likewise.
- * src/powerpc/linux64.S: Remove code writing to parm save area.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
- address in lr from ffi_closure_helper_LINUX64 call to calculate
- table address. Optimize function tail.
-
-2003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/sparc/ffi.c: Handle all floating point registers.
- * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
-
- * README: Note that libffi is not part of GCC. Update the project
- URL and status.
-
-2003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
- Use C style comments.
-
-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
- should be read-only.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * include/ffi.h.in (EH_FRAME_FLAGS): Define.
- * src/alpha/osf.S: Use EH_FRAME_FLAGS.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
- * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
- if -fpic/-fPIC/-mrelocatable.
- * src/powerpc/powerpc_closure.S: Likewise.
- * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
- #write in .eh_frame flags.
- * src/sparc/v9.S: Likewise.
- * src/x86/unix64.S: Use EH_FRAME_FLAGS.
- * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
- * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
-
-2003-05-07 Jeff Sturm <jsturm@one-point.com>
-
- Fixes PR bootstrap/10656
- * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
- support for .register pseudo-op.
- * src/sparc/v8.S: Use it.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2003-04-18 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (POWERPC64): Define if 64-bit.
- (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
- Make it the default on POWERPC64.
- (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
- * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
- * configure: Rebuilt.
- * src/powerpc/ffi.c (hidden): Define.
- (ffi_prep_args_SYSV): Renamed from
- ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
- (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
- ASM_NEEDS_REGISTERS64): New.
- (ffi_prep_args64): New function.
- (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
- (ffi_call): Likewise.
- (ffi_prep_closure): Likewise.
- (flush_icache): Surround by #ifndef POWERPC64.
- (ffi_dblfl): New union type.
- (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
- (ffi_closure_helper_LINUX64): New function.
- * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
- __powerpc64__.
- * src/powerpc/sysv.S: Likewise.
- (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
- * src/powerpc/linux64.S: New file.
- * src/powerpc/linux64_closure.S: New file.
- * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
- src/powerpc/linux64_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
- * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
- closure_test_fn3): Fix result printing on big-endian 64-bit
- machines.
- (main): Print tst2_arg instead of uninitialized tst2_result.
-
- * src/ffitest.c (main): Hide what closure pointer really points to
- from the compiler.
-
-2003-04-16 Richard Earnshaw <rearnsha@arm.com>
-
- * configure.in (arm-*-netbsdelf*): Add configuration.
- (configure): Regenerated.
-
-2003-04-04 Loren J. Rittle <ljrittle@acm.org>
-
- * include/Makefile.in: Regenerate.
-
-2003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
-
- * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
- bit mode.
- * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
- Receive closure pointer through parameter, read args using
- __builtin_dwarf_cfa.
- (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12 Andreas Schwab <schwab@suse.de>
-
- * configure.in: Avoid trailing /. in toolexeclibdir.
- * configure: Rebuilt.
-
-2003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/powerpc/darwin_closure.S:
- Fix alignement bug, allocate 8 bytes for the result.
- * libffi/src/powerpc/aix_closure.S:
- Likewise.
- * libffi/src/powerpc/ffi_darwin.c:
- Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06 Jakub Jelinek <jakub@redhat.com>
-
- * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
- attribute.
-
-2003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
- Andreas Schwab <schwab@suse.de>
-
- * configure.in: Adjust command to source config-ml.in to account
- for changes to the libffi_basedir definition.
- (libffi_basedir): Remove ${srcdir} from value and include trailing
- slash if nonempty.
-
- * configure: Regenerate.
-
-2003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
- * src/x86/ffi64.c (ffi_prep_closure): New.
- (ffi_closure_UNIX64_inner): New.
- * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
- Remove USE_LIBDIR conditional.
- * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
- * Makefile.in, configure: Rebuilt.
-
-2003-01027 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
- * Makefile.in: Regenerate.
-
-2003-01-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
- unwind info.
-
-2003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Add unwind info.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
- (ffi_prep_cif_machdep): Likewise.
- * src/x86/unix64.S: Add unwind info.
-
-2003-01-14 Andreas Jaeger <aj@suse.de>
-
- * src/ffitest.c (main): Only use ffi_closures if those are
- supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/ffitest.c
- add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
- * libffi/src/powerpc/ffi.c
- fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c: Remove RCS version string.
- * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
- * src/ffitest.c (main): Use static storage for closure.
- * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
- * src/sparc/v8.S (ffi_closure_v8): New.
- * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10 Ranjit Mathew <rmathew@hotmail.com>
-
- * include/ffi.h.in: Added FFI_STDCALL ffi_type
- enumeration for X86_WIN32.
- * src/x86/win32.S: Added ffi_call_STDCALL function
- definition.
- * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
- switch cases for recognising FFI_STDCALL and
- calling ffi_call_STDCALL if target is X86_WIN32.
- * src/ffitest.c (my_stdcall_strlen/stdcall_many):
- stdcall versions of the "my_strlen" and "many"
- test functions (for X86_WIN32).
- Added test cases to test stdcall invocation using
- these functions.
-
-2002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26 Jim Wilson <wilson@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23 H.J. Lu <hjl@gnu.org>
-
- * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
- Include ../config/accross.m4.
- * aclocal.m4; Rebuild.
- * configure: Likewise.
-
-2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11 DJ Delorie <dj@redhat.com>
-
- * configure.in: Look for common files in the right place.
-
-2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
- raw data as _Jv_word values, not ffi_raw.
- (ffi_java_ptrarray_to_raw): Likewise.
- (ffi_java_rvalue_to_raw): New function.
- (ffi_java_raw_call): Call it.
- (ffi_java_raw_to_rvalue): New function.
- (ffi_java_translate_args): Call it.
- * src/ffitest.c (closure_test_fn): Interpret return value
- as ffi_arg, not int.
- * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
- FFI_TYPE_POINTER case.
- (ffi_closure_helper_SYSV): Likewise. Also, assume return
- values extended to word size.
-
-2002-10-02 Andreas Jaeger <aj@suse.de>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01 Bo Thorsen <bo@smetana.suse.de>
-
- * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
-
- * configure.in: Add s390x-*-linux-* target.
- * configure: Regenerate.
- * include/ffi.h.in: Define S390X for s390x targets.
- (FFI_CLOSURES): Define for s390/s390x.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
- * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
- * src/s390/ffi.c: Major rework of existing code. Add support for
- s390x targets. Add closure support.
- * src/s390/sysv.S: Likewise.
-
-2002-09-29 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: Fix typo.
-
-2002-09-28 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
- has defined __USER_LABEL_PREFIX__, then use it in CNAME.
- (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27 Bo Thorsen <bo@suse.de>
-
- * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * configure.in (sh[34]*-*-linux*): Add brackets.
- * configure: Regenerate.
-
-2002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * Makefile.am: Add SH support.
- * Makefile.in: Regenerate.
- * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
- * configure: Regenerate.
- * include/ffi.h.in: Add SH support.
- * src/sh/ffi.c: New file.
- * src/sh/sysv.S: New file.
- * src/types.c: Add SH support.
-
-2002-07-16 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi64.c: New file that adds x86-64 support.
- * src/x86/unix64.S: New file that handles argument setup for
- x86-64.
- * src/x86/sysv.S: Don't use this on x86-64.
- * src/x86/ffi.c: Don't use this on x86-64.
- Remove unused vars.
- * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
- for x86-64.
- * src/ffitest.c (struct6): New test that tests a special case in
- the x86-64 ABI.
- (struct7): Likewise.
- (struct8): Likewise.
- (struct9): Likewise.
- (closure_test_fn): Silence warning about this when it's not used.
- (main): Add the new tests.
- (main): Fix a couple of wrong casts and silence some compiler warnings.
- * include/ffi.h.in: Add x86-64 ABI definition.
- * fficonfig.h.in: Regenerate.
- * Makefile.am: Add x86-64 support.
- * configure.in: Likewise.
- * Makefile.in: Regenerate.
- * configure: Likewise.
-
-2002-06-24 Bo Thorsen <bo@suse.de>
-
- * src/types.c: Merge settings for similar architectures.
- Add x86-64 sizes and alignments.
-
-2002-06-23 Bo Thorsen <bo@suse.de>
-
- * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
- * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
- * src/mips/ffi.c (ffi_prep_args): Likewise.
- * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18 H.J. Lu (hjl@gnu.org)
-
- * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
- (libffi_la_SOURCES): Support MIPS_LINUX.
- (libffi_convenience_la_SOURCES): Likewise.
- * Makefile.in: Regenerated.
-
- * configure.in (mips64*-*): Skip.
- (mips*-*-linux*): New.
- * configure: Regenerated.
-
- * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
-
-2002-05-27 Roger Sayle <roger@eyesopen.com>
-
- * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
- fix formatting.
-
-2002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
- beginning of function (for older apple cc).
-
-2002-05-08 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
- script entry, and set LD to it when configuring multilibs.
- * configure: Rebuilt.
-
-2002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (sparc64-*-netbsd*): Add target.
- (sparc-*-netbsdelf*): Likewise.
- * configure: Regenerate.
-
-2002-04-28 David S. Miller <davem@redhat.com>
-
- * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
-
- * Makefile.am: Add Linux for S/390 support.
- * Makefile.in: Regenerate.
- * configure.in: Add Linux for S/390 support.
- * configure: Regenerate.
- * include/ffi.h.in: Add Linux for S/390 support.
- * src/s390/ffi.c: New file from libffi CVS tree.
- * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
- %r_disp32().
- * src/sparc/v8.S: Use it.
- * src/sparc/v9.S: Likewise.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2002-04-08 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
- correctly.
- * src/ia64/unix.S: Add unwind information. Fix comments.
- Save sp in a way that's compatible with unwind info.
- (ffi_call_unix): Correctly restore sp in all cases.
- * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08 Jakub Jelinek <jakub@redhat.com>
-
- * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (alpha*-*-netbsd*): Add target.
- * configure: Regenerate.
-
-2002-04-04 Jeff Sturm <jsturm@one-point.com>
-
- * src/sparc/v8.S: Add unwind info.
- * src/sparc/v9.S: Likewise.
-
-2002-03-30 Krister Walfridsson <cato@df.lth.se>
-
- * configure.in: Enable i*86-*-netbsdelf*.
- * configure: Rebuilt.
-
-2002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
-
- PR other/2620
- * src/mips/n32.s: Delete
- * src/mips/o32.s: Delete
-
-2002-03-21 Loren J. Rittle <ljrittle@acm.org>
-
- * configure.in: Enable alpha*-*-freebsd*.
- * configure: Rebuilt.
-
-2002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * Makefile.am: libfficonvenience -> libffi_convenience.
- * Makefile.in: Rebuilt.
-
- * Makefile.am: Define ffitest_OBJECTS.
- * Makefile.in: Rebuilt.
-
-2002-03-07 Andreas Tobler <toa@pop.agri.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
- (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
- (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
- * Makefile.in: Regenerate.
- * include/ffi.h.in: Add AIX and Darwin closure definitions.
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
- (flush_icache, flush_range): New functions.
- (ffi_closure_helper_DARWIN): New function.
- * src/powerpc/aix_closure.S: New file.
- * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add typedef for ffi_arg.
- * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21 Andreas Tobler <toa@pop.agri.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
- number of GPRs for floating-point arguments.
-
-2002-01-31 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Replace CHECK_SIZEOF and endian tests with
- cross-compiler friendly macros.
- * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
- macros.
-
-2002-01-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): New.
- * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
- (TARGET_SRC_POWERPC_AIX): New.
- (POWERPC_AIX): New stanza.
- * Makefile.in: Regenerate.
- * configure.in: Add AIX case.
- * configure: Regenerate.
- * include/ffi.h.in (ffi_abi): Add FFI_AIX.
- * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
- size. Fix "long double" support.
- (ffi_call): Add FFI_AIX case.
- * src/powerpc/aix.S: New.
-
-2001-10-09 John Hornkvist <john@toastedmarshmallow.com>
-
- Implement Darwin PowerPC ABI.
- * configure.in: Handle powerpc-*-darwin*.
- * Makefile.am: Set source files for POWERPC_DARWIN.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
- * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
- POWERPC_DARWIN.
- * src/powerpc/darwin.S: New file.
- * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .balign directive.
- Use C style comments.
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
- Fixes PR bootstrap/3563.
-
-2001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.in: Recognize sparc*-sun-* host.
- * configure: Regenerate.
-
-2001-06-06 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S: Add unwind info.
- * src/powerpc/sysv.S: Add unwind info.
- * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31 Jeff Sturm <jsturm@one-point.com>
-
- * configure.in: Fix AC_ARG_ENABLE usage.
- * configure: Rebuilt.
-
-2001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * configure.in: Remove warning about beta code.
- * configure: Rebuilt.
-
-2001-04-25 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/ia64/unix.S: Restore stack pointer when returning from
- ffi_closure_UNIX.
- * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18 Jim Wilson <wilson@redhat.com>
-
- * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
- to eliminate RAW DV.
-
-2001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
-
- * Makefile.am: Make a libtool convenience library.
- * Makefile.in: Rebuilt.
-
-2001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Use different syntax for subdirectory creation.
- * configure: Rebuilt.
-
-2001-03-27 Jon Beniston <jon@beniston.com>
-
- * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
- * configure: Rebuilt.
- * Makefile.am: Added X86_WIN32 target support.
- * Makefile.in: Rebuilt.
-
- * include/ffi.h.in: Added X86_WIN32 target support.
-
- * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
- * src/types.c: Added X86_WIN32 target support.
-
- * src/x86/win32.S: New file. Based on sysv.S, but with EH
- stuff removed and made to work with CygWin's gas.
-
-2001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Make target subdirectory in build dir.
- * Makefile.am: Override suffix based rules to specify correct output
- subdirectory.
- * Makefile.in: Rebuilt.
- * configure: Rebuilt.
-
-2001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
-
- * src/powerpc/ppc_closure.S: New file.
- * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
- involving long long and register pairs.
- (ffi_prep_closure): New function.
- (flush_icache): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * Makefile.in: Rebuilt.
- * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19 Tom Tromey <tromey@redhat.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02 Nick Clifton <nickc@redhat.com>
-
- * include/ffi.h.in: Remove RCS ident string.
- * include/ffi_mips.h: Remove RCS ident string.
- * src/debug.c: Remove RCS ident string.
- * src/ffitest.c: Remove RCS ident string.
- * src/prep_cif.c: Remove RCS ident string.
- * src/types.c: Remove RCS ident string.
- * src/alpha/ffi.c: Remove RCS ident string.
- * src/alpha/osf.S: Remove RCS ident string.
- * src/arm/ffi.c: Remove RCS ident string.
- * src/arm/sysv.S: Remove RCS ident string.
- * src/mips/ffi.c: Remove RCS ident string.
- * src/mips/n32.S: Remove RCS ident string.
- * src/mips/o32.S: Remove RCS ident string.
- * src/sparc/ffi.c: Remove RCS ident string.
- * src/sparc/v8.S: Remove RCS ident string.
- * src/sparc/v9.S: Remove RCS ident string.
- * src/x86/ffi.c: Remove RCS ident string.
- * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * include/ffi.h.in: Change sourceware.cygnus.com references to
- gcc.gnu.org.
-
-2000-12-09 Richard Henderson <rth@redhat.com>
-
- * src/alpha/ffi.c (ffi_call): Simplify struct return test.
- (ffi_closure_osf_inner): Index rather than increment avalue
- and arg_types. Give ffi_closure_osf the raw return value type.
- * src/alpha/osf.S (ffi_closure_osf): Handle return value type
- promotion.
-
-2000-12-07 Richard Henderson <rth@redhat.com>
-
- * src/raw_api.c (ffi_translate_args): Fix typo.
- (ffi_prep_closure): Likewise.
-
- * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
- FFI_TRAMPOLINE_SIZE.
- * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
- cif->bytes for new ffi_call_osf implementation.
- (ffi_prep_args): Absorb into ...
- (ffi_call): ... here. Do all stack allocation here and
- avoid a callback function.
- (ffi_prep_closure, ffi_closure_osf_inner): New.
- * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
- (ffi_closure_osf): New.
-
-2000-09-10 Alexandre Oliva <aoliva@redhat.com>
-
- * config.guess, config.sub, install-sh: Removed.
- * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
- * Makefile.in: Rebuilt.
-
- * acinclude.m4: Include libtool macros from the top level.
- * aclocal.m4, configure: Rebuilt.
-
-2000-08-22 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
- * configure: Rebuilt.
-
-2000-05-11 Scott Bambrough <scottb@netwinder.org>
-
- * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
- memory correctly. Use conditional instructions, not branches where
- possible.
-
-2000-05-04 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Match `arm*-*-linux-*'.
- From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (SUBDIRS): Define.
- (AM_MAKEFLAGS): Likewise.
- (Multilib support.): Add section.
- * Makefile.in: Rebuilt.
- * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
- New variables. Set for gcc using -print-multi-lib. Export them
- to libtool.
- (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
- * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
- for -shared links.
- (extra_compiler_flags_value, extra_compiler_flags): Check these
- for extra compiler options which need to be passed down in
- compiler_flags.
-
-2000-04-16 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
- Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
- * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
- Replace all void * sizeofs with sizeof(int).
- Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
- different than DOUBLE.
- Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
- (ffi_prep_args_v9): New function.
- (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
- (ffi_V9_return_struct): New function.
- (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
- 32bit code (not yet cross-arch calls).
- * src/sparc/v8.S: Add struct return delay nop.
- Handle long long.
- * src/sparc/v9.S: New file.
- * src/prep_cif.c (ffi_prep_cif): Return structure pointer
- is used on sparc64 only for structures larger than 32 bytes.
- Pass by reference for structures is done for structure arguments
- larger than 16 bytes.
- * src/ffitest.c (main): Use 64bit rint on sparc64.
- Run long long tests on sparc.
- * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
- sparc64.
- (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
- on sparc64.
- * configure.in (sparc-*-linux*): New supported target.
- (sparc64-*-linux*): Likewise.
- * configure: Rebuilt.
- * Makefile.am: Add v9.S to SPARC files.
- * Makefile.in: Likewise.
- (LINK): Surround $(CCLD) into double quotes, so that multilib
- compiles work correctly.
-
-2000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: (i*86-*-solaris*): New libffi target. Patch
- proposed by Bryce McKinlay.
-
-2000-03-20 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
-
- * config.guess, config.sub: Update from the gcc tree.
- Fix for PR libgcj/168.
-
-2000-03-03 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Fixed ia64 by hand.
-
- * configure: Rebuilt.
- * configure.in (--enable-multilib): New option.
- (libffi_basedir): New subst.
- (AC_OUTPUT): Added multilib code.
-
-2000-03-02 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
- directory name.
-
-2000-02-25 Hans Boehm <boehm@acm.org>
-
- * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
- files.
- * src/raw_api.c (ffi_translate_args): Fixed typo in argument
- list.
- (ffi_prep_raw_closure): Use ffi_translate_args, not
- ffi_closure_translate.
- * src/java_raw_api.c: New file.
- * src/ffitest.c (closure_test_fn): New function.
- (main): Define `rint' as long long on IA64. Added new test when
- FFI_CLOSURES is defined.
- * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
- (ffi_abi): Recognize IA64.
- (ffi_raw): Added `flt' field.
- Added "Java raw API" code.
- * configure.in: Recognize ia64.
- * Makefile.am (TARGET_SRC_IA64): New macro.
- (libffi_la_common_SOURCES): Added java_raw_api.c.
- (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01 Tom Tromey <tromey@cygnus.com>
-
- * include/ffi.h.in: Removed PACKAGE and VERSION defines and
- undefs.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
- * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
- Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
- * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09 Anthony Green <green@cygnus.com>
-
- * include/ffi.h.in: Try to work around messy header problem
- with PACKAGE and VERSION.
-
- * configure: Rebuilt.
- * configure.in: Change version to 2.00-beta.
-
- * fficonfig.h.in: Rebuilt.
- * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
- * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
-
- * src/x86/ffi.c (ffi_closure_SYSV): New function.
- (ffi_prep_incoming_args_SYSV): Ditto.
- (ffi_prep_closure): Ditto.
- (ffi_closure_raw_SYSV): Ditto.
- (ffi_prep_raw_closure): More ditto.
- (ffi_call_raw): Final ditto.
-
- * include/ffi.h.in: Add definitions for closure and raw API.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
- FFI_TYPE_UINT64.
-
- * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
- * src/raw_api.c: New file.
-
- * include/ffi.h.in (ffi_raw): New type.
- (UINT_ARG, SINT_ARG): New defines.
- (ffi_closure, ffi_raw_closure): New types.
- (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
- * configure.in: Add check for endianness and sizeof void*.
-
- * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
- instead of directly.
-
- * configure: Rebuilt.
-
-Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
-
- * configure.in: Add x86 and powerpc BeOS configurations.
- From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09 Anthony Green <green@cygnus.com>
-
- * configure.in: Add warning about this being beta code.
- Remove src/Makefile.am from the picture.
- * configure: Rebuilt.
-
- * Makefile.am: Move logic from src/Makefile.am. Add changes
- to support libffi as a target library.
- * Makefile.in: Rebuilt.
-
- * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
- Upgraded to new autoconf, automake, libtool.
-
- * README: Tweaks.
-
- * LICENSE: Update copyright date.
-
- * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29 Anthony Green <green@cygnus.com>
-
- * include/ChangeLog: Removed.
- * src/ChangeLog: Removed.
- * src/mips/ChangeLog: Removed.
- * src/sparc/ChangeLog: Remboved.
- * src/x86/ChangeLog: Removed.
-
- * ChangeLog.v1: Created.
diff --git a/.pc/ffi_last_abi/src/avr32/ffitarget.h b/.pc/ffi_last_abi/src/avr32/ffitarget.h
deleted file mode 100644
index 1c799b1..0000000
--- a/.pc/ffi_last_abi/src/avr32/ffitarget.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
- ffitarget.h - Copyright (c) 2009 Bradley Smith <brad@brad-smith.co.uk>
- Target configuration macros for AVR32.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
-
- ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-#ifndef LIBFFI_ASM
-typedef unsigned long ffi_arg;
-typedef signed long ffi_sarg;
-
-typedef enum ffi_abi {
- FFI_FIRST_ABI = 0,
- FFI_SYSV,
- FFI_DEFAULT_ABI = FFI_SYSV,
- FFI_LAST_ABI = FFI_DEFAULT_ABI + 1
-} ffi_abi;
-#endif
-
-#define FFI_EXTRA_CIF_FIELDS unsigned int rstruct_flag
-
-/* Definitions for closures */
-
-#define FFI_CLOSURES 1
-#define FFI_TRAMPOLINE_SIZE 36
-#define FFI_NATIVE_RAW_API 0
-
-#endif
diff --git a/.pc/ffi_last_abi/src/cris/ffi.c b/.pc/ffi_last_abi/src/cris/ffi.c
deleted file mode 100644
index e9c3953..0000000
--- a/.pc/ffi_last_abi/src/cris/ffi.c
+++ /dev/null
@@ -1,383 +0,0 @@
-/* -----------------------------------------------------------------------
- ffi.c - Copyright (c) 1998 Cygnus Solutions
- Copyright (c) 2004 Simon Posnjak
- Copyright (c) 2005 Axis Communications AB
- Copyright (C) 2007 Free Software Foundation, Inc.
-
- CRIS Foreign Function Interface
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS
- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- IN NO EVENT SHALL SIMON POSNJAK BE LIABLE FOR ANY CLAIM, DAMAGES OR
- OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- OTHER DEALINGS IN THE SOFTWARE.
- ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#define STACK_ARG_SIZE(x) ALIGN(x, FFI_SIZEOF_ARG)
-
-static ffi_status
-initialize_aggregate_packed_struct (ffi_type * arg)
-{
- ffi_type **ptr;
-
- FFI_ASSERT (arg != NULL);
-
- FFI_ASSERT (arg->elements != NULL);
- FFI_ASSERT (arg->size == 0);
- FFI_ASSERT (arg->alignment == 0);
-
- ptr = &(arg->elements[0]);
-
- while ((*ptr) != NULL)
- {
- if (((*ptr)->size == 0)
- && (initialize_aggregate_packed_struct ((*ptr)) != FFI_OK))
- return FFI_BAD_TYPEDEF;
-
- FFI_ASSERT (ffi_type_test ((*ptr)));
-
- arg->size += (*ptr)->size;
-
- arg->alignment = (arg->alignment > (*ptr)->alignment) ?
- arg->alignment : (*ptr)->alignment;
-
- ptr++;
- }
-
- if (arg->size == 0)
- return FFI_BAD_TYPEDEF;
- else
- return FFI_OK;
-}
-
-int
-ffi_prep_args (char *stack, extended_cif * ecif)
-{
- unsigned int i;
- unsigned int struct_count = 0;
- void **p_argv;
- char *argp;
- ffi_type **p_arg;
-
- argp = stack;
-
- p_argv = ecif->avalue;
-
- for (i = ecif->cif->nargs, p_arg = ecif->cif->arg_types;
- (i != 0); i--, p_arg++)
- {
- size_t z;
-
- switch ((*p_arg)->type)
- {
- case FFI_TYPE_STRUCT:
- {
- z = (*p_arg)->size;
- if (z <= 4)
- {
- memcpy (argp, *p_argv, z);
- z = 4;
- }
- else if (z <= 8)
- {
- memcpy (argp, *p_argv, z);
- z = 8;
- }
- else
- {
- unsigned int uiLocOnStack;
- z = sizeof (void *);
- uiLocOnStack = 4 * ecif->cif->nargs + struct_count;
- struct_count = struct_count + (*p_arg)->size;
- *(unsigned int *) argp =
- (unsigned int) (UINT32 *) (stack + uiLocOnStack);
- memcpy ((stack + uiLocOnStack), *p_argv, (*p_arg)->size);
- }
- break;
- }
- default:
- z = (*p_arg)->size;
- if (z < sizeof (int))
- {
- switch ((*p_arg)->type)
- {
- case FFI_TYPE_SINT8:
- *(signed int *) argp = (signed int) *(SINT8 *) (*p_argv);
- break;
-
- case FFI_TYPE_UINT8:
- *(unsigned int *) argp =
- (unsigned int) *(UINT8 *) (*p_argv);
- break;
-
- case FFI_TYPE_SINT16:
- *(signed int *) argp = (signed int) *(SINT16 *) (*p_argv);
- break;
-
- case FFI_TYPE_UINT16:
- *(unsigned int *) argp =
- (unsigned int) *(UINT16 *) (*p_argv);
- break;
-
- default:
- FFI_ASSERT (0);
- }
- z = sizeof (int);
- }
- else if (z == sizeof (int))
- *(unsigned int *) argp = (unsigned int) *(UINT32 *) (*p_argv);
- else
- memcpy (argp, *p_argv, z);
- break;
- }
- p_argv++;
- argp += z;
- }
-
- return (struct_count);
-}
-
-ffi_status
-ffi_prep_cif (ffi_cif * cif,
- ffi_abi abi, unsigned int nargs,
- ffi_type * rtype, ffi_type ** atypes)
-{
- unsigned bytes = 0;
- unsigned int i;
- ffi_type **ptr;
-
- FFI_ASSERT (cif != NULL);
- FFI_ASSERT ((abi > FFI_FIRST_ABI) && (abi <= FFI_DEFAULT_ABI));
-
- cif->abi = abi;
- cif->arg_types = atypes;
- cif->nargs = nargs;
- cif->rtype = rtype;
-
- cif->flags = 0;
-
- if ((cif->rtype->size == 0)
- && (initialize_aggregate_packed_struct (cif->rtype) != FFI_OK))
- return FFI_BAD_TYPEDEF;
-
- FFI_ASSERT_VALID_TYPE (cif->rtype);
-
- for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++)
- {
- if (((*ptr)->size == 0)
- && (initialize_aggregate_packed_struct ((*ptr)) != FFI_OK))
- return FFI_BAD_TYPEDEF;
-
- FFI_ASSERT_VALID_TYPE (*ptr);
-
- if (((*ptr)->alignment - 1) & bytes)
- bytes = ALIGN (bytes, (*ptr)->alignment);
- if ((*ptr)->type == FFI_TYPE_STRUCT)
- {
- if ((*ptr)->size > 8)
- {
- bytes += (*ptr)->size;
- bytes += sizeof (void *);
- }
- else
- {
- if ((*ptr)->size > 4)
- bytes += 8;
- else
- bytes += 4;
- }
- }
- else
- bytes += STACK_ARG_SIZE ((*ptr)->size);
- }
-
- cif->bytes = bytes;
-
- return ffi_prep_cif_machdep (cif);
-}
-
-ffi_status
-ffi_prep_cif_machdep (ffi_cif * cif)
-{
- switch (cif->rtype->type)
- {
- case FFI_TYPE_VOID:
- case FFI_TYPE_STRUCT:
- case FFI_TYPE_FLOAT:
- case FFI_TYPE_DOUBLE:
- case FFI_TYPE_SINT64:
- case FFI_TYPE_UINT64:
- cif->flags = (unsigned) cif->rtype->type;
- break;
-
- default:
- cif->flags = FFI_TYPE_INT;
- break;
- }
-
- return FFI_OK;
-}
-
-extern void ffi_call_SYSV (int (*)(char *, extended_cif *),
- extended_cif *,
- unsigned, unsigned, unsigned *, void (*fn) ())
- __attribute__ ((__visibility__ ("hidden")));
-
-void
-ffi_call (ffi_cif * cif, void (*fn) (), void *rvalue, void **avalue)
-{
- extended_cif ecif;
-
- ecif.cif = cif;
- ecif.avalue = avalue;
-
- if ((rvalue == NULL) && (cif->rtype->type == FFI_TYPE_STRUCT))
- {
- ecif.rvalue = alloca (cif->rtype->size);
- }
- else
- ecif.rvalue = rvalue;
-
- switch (cif->abi)
- {
- case FFI_SYSV:
- ffi_call_SYSV (ffi_prep_args, &ecif, cif->bytes,
- cif->flags, ecif.rvalue, fn);
- break;
- default:
- FFI_ASSERT (0);
- break;
- }
-}
-
-/* Because the following variables are not exported outside libffi, we
- mark them hidden. */
-
-/* Assembly code for the jump stub. */
-extern const char ffi_cris_trampoline_template[]
- __attribute__ ((__visibility__ ("hidden")));
-
-/* Offset into ffi_cris_trampoline_template of where to put the
- ffi_prep_closure_inner function. */
-extern const int ffi_cris_trampoline_fn_offset
- __attribute__ ((__visibility__ ("hidden")));
-
-/* Offset into ffi_cris_trampoline_template of where to put the
- closure data. */
-extern const int ffi_cris_trampoline_closure_offset
- __attribute__ ((__visibility__ ("hidden")));
-
-/* This function is sibling-called (jumped to) by the closure
- trampoline. We get R10..R13 at PARAMS[0..3] and a copy of [SP] at
- PARAMS[4] to simplify handling of a straddling parameter. A copy
- of R9 is at PARAMS[5] and SP at PARAMS[6]. These parameters are
- put at the appropriate place in CLOSURE which is then executed and
- the return value is passed back to the caller. */
-
-static unsigned long long
-ffi_prep_closure_inner (void **params, ffi_closure* closure)
-{
- char *register_args = (char *) params;
- void *struct_ret = params[5];
- char *stack_args = params[6];
- char *ptr = register_args;
- ffi_cif *cif = closure->cif;
- ffi_type **arg_types = cif->arg_types;
-
- /* Max room needed is number of arguments as 64-bit values. */
- void **avalue = alloca (closure->cif->nargs * sizeof(void *));
- int i;
- int doing_regs;
- long long llret = 0;
-
- /* Find the address of each argument. */
- for (i = 0, doing_regs = 1; i < cif->nargs; i++)
- {
- /* Types up to and including 8 bytes go by-value. */
- if (arg_types[i]->size <= 4)
- {
- avalue[i] = ptr;
- ptr += 4;
- }
- else if (arg_types[i]->size <= 8)
- {
- avalue[i] = ptr;
- ptr += 8;
- }
- else
- {
- FFI_ASSERT (arg_types[i]->type == FFI_TYPE_STRUCT);
-
- /* Passed by-reference, so copy the pointer. */
- avalue[i] = *(void **) ptr;
- ptr += 4;
- }
-
- /* If we've handled more arguments than fit in registers, start
- looking at the those passed on the stack. Step over the
- first one if we had a straddling parameter. */
- if (doing_regs && ptr >= register_args + 4*4)
- {
- ptr = stack_args + ((ptr > register_args + 4*4) ? 4 : 0);
- doing_regs = 0;
- }
- }
-
- /* Invoke the closure. */
- (closure->fun) (cif,
-
- cif->rtype->type == FFI_TYPE_STRUCT
- /* The caller allocated space for the return
- structure, and passed a pointer to this space in
- R9. */
- ? struct_ret
-
- /* We take advantage of being able to ignore that
- the high part isn't set if the return value is
- not in R10:R11, but in R10 only. */
- : (void *) &llret,
-
- avalue, closure->user_data);
-
- return llret;
-}
-
-/* API function: Prepare the trampoline. */
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure* closure,
- ffi_cif* cif,
- void (*fun)(ffi_cif *, void *, void **, void*),
- void *user_data,
- void *codeloc)
-{
- void *innerfn = ffi_prep_closure_inner;
- FFI_ASSERT (cif->abi == FFI_SYSV);
- closure->cif = cif;
- closure->user_data = user_data;
- closure->fun = fun;
- memcpy (closure->tramp, ffi_cris_trampoline_template,
- FFI_CRIS_TRAMPOLINE_CODE_PART_SIZE);
- memcpy (closure->tramp + ffi_cris_trampoline_fn_offset,
- &innerfn, sizeof (void *));
- memcpy (closure->tramp + ffi_cris_trampoline_closure_offset,
- &codeloc, sizeof (void *));
-
- return FFI_OK;
-}
diff --git a/.pc/ffi_last_abi/src/cris/ffitarget.h b/.pc/ffi_last_abi/src/cris/ffitarget.h
deleted file mode 100644
index 4257f10..0000000
--- a/.pc/ffi_last_abi/src/cris/ffitarget.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
- ffitarget.h - Copyright (c) 1996-2003 Red Hat, Inc.
- Target configuration macros for CRIS.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
-
- ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-#ifndef LIBFFI_ASM
-typedef unsigned long ffi_arg;
-typedef signed long ffi_sarg;
-
-typedef enum ffi_abi {
- FFI_FIRST_ABI = 0,
- FFI_SYSV,
- FFI_DEFAULT_ABI = FFI_SYSV,
- FFI_LAST_ABI = FFI_DEFAULT_ABI + 1
-} ffi_abi;
-#endif
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#define FFI_CRIS_TRAMPOLINE_CODE_PART_SIZE 36
-#define FFI_CRIS_TRAMPOLINE_DATA_PART_SIZE (7*4)
-#define FFI_TRAMPOLINE_SIZE \
- (FFI_CRIS_TRAMPOLINE_CODE_PART_SIZE + FFI_CRIS_TRAMPOLINE_DATA_PART_SIZE)
-#define FFI_NATIVE_RAW_API 0
-
-#endif
diff --git a/.pc/ffi_last_abi/src/frv/ffitarget.h b/.pc/ffi_last_abi/src/frv/ffitarget.h
deleted file mode 100644
index 1c319ea..0000000
--- a/.pc/ffi_last_abi/src/frv/ffitarget.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
- ffitarget.h - Copyright (c) 1996-2004 Red Hat, Inc.
- Target configuration macros for FR-V
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
-
- ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-/* ---- System specific configurations ----------------------------------- */
-
-#ifndef LIBFFI_ASM
-typedef unsigned long ffi_arg;
-typedef signed long ffi_sarg;
-
-typedef enum ffi_abi {
- FFI_FIRST_ABI = 0,
-
-#ifdef FRV
- FFI_EABI,
- FFI_DEFAULT_ABI = FFI_EABI,
-#endif
-
- FFI_LAST_ABI = FFI_DEFAULT_ABI + 1
-} ffi_abi;
-#endif
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#define FFI_NATIVE_RAW_API 0
-
-#ifdef __FRV_FDPIC__
-/* Trampolines are 8 4-byte instructions long. */
-#define FFI_TRAMPOLINE_SIZE (8*4)
-#else
-/* Trampolines are 5 4-byte instructions long. */
-#define FFI_TRAMPOLINE_SIZE (5*4)
-#endif
-
-#endif
diff --git a/.pc/ffi_last_abi/src/ia64/ffitarget.h b/.pc/ffi_last_abi/src/ia64/ffitarget.h
deleted file mode 100644
index d85c049..0000000
--- a/.pc/ffi_last_abi/src/ia64/ffitarget.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
- ffitarget.h - Copyright (c) 1996-2003 Red Hat, Inc.
- Target configuration macros for IA-64.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
-
- ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-#ifndef LIBFFI_ASM
-typedef unsigned long long ffi_arg;
-typedef signed long long ffi_sarg;
-
-typedef enum ffi_abi {
- FFI_FIRST_ABI = 0,
- FFI_UNIX, /* Linux and all Unix variants use the same conventions */
- FFI_DEFAULT_ABI = FFI_UNIX,
- FFI_LAST_ABI = FFI_DEFAULT_ABI + 1
-} ffi_abi;
-#endif
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#define FFI_TRAMPOLINE_SIZE 24 /* Really the following struct, which */
- /* can be interpreted as a C function */
- /* descriptor: */
-
-#endif
-
diff --git a/.pc/ffi_last_abi/src/m32r/ffitarget.h b/.pc/ffi_last_abi/src/m32r/ffitarget.h
deleted file mode 100644
index 6a761f6..0000000
--- a/.pc/ffi_last_abi/src/m32r/ffitarget.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
- ffitarget.h - Copyright (c) 2004 Renesas Technology.
- Target configuration macros for M32R.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS
- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- IN NO EVENT SHALL RENESAS TECHNOLOGY BE LIABLE FOR ANY CLAIM, DAMAGES OR
- OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- OTHER DEALINGS IN THE SOFTWARE.
-
- ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-/* ---- Generic type definitions ----------------------------------------- */
-
-#ifndef LIBFFI_ASM
-typedef unsigned long ffi_arg;
-typedef signed long ffi_sarg;
-
-typedef enum ffi_abi
- {
- FFI_FIRST_ABI = 0,
- FFI_SYSV,
- FFI_DEFAULT_ABI = FFI_SYSV,
- FFI_LAST_ABI = FFI_DEFAULT_ABI + 1
- } ffi_abi;
-#endif
-
-#define FFI_CLOSURES 0
-#define FFI_TRAMPOLINE_SIZE 24
-#define FFI_NATIVE_RAW_API 0
-
-#endif
diff --git a/.pc/ffi_last_abi/src/m68k/ffitarget.h b/.pc/ffi_last_abi/src/m68k/ffitarget.h
deleted file mode 100644
index 633717b..0000000
--- a/.pc/ffi_last_abi/src/m68k/ffitarget.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
- ffitarget.h - Copyright (c) 1996-2003 Red Hat, Inc.
- Target configuration macros for Motorola 68K.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
-
- ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-#ifndef LIBFFI_ASM
-typedef unsigned long ffi_arg;
-typedef signed long ffi_sarg;
-
-typedef enum ffi_abi {
- FFI_FIRST_ABI = 0,
- FFI_SYSV,
- FFI_DEFAULT_ABI = FFI_SYSV,
- FFI_LAST_ABI = FFI_DEFAULT_ABI + 1
-} ffi_abi;
-#endif
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#define FFI_TRAMPOLINE_SIZE 16
-#define FFI_NATIVE_RAW_API 0
-
-#endif
-
diff --git a/.pc/ffi_last_abi/src/mips/ffitarget.h b/.pc/ffi_last_abi/src/mips/ffitarget.h
deleted file mode 100644
index d0fc983..0000000
--- a/.pc/ffi_last_abi/src/mips/ffitarget.h
+++ /dev/null
@@ -1,243 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
- ffitarget.h - Copyright (c) 1996-2003 Red Hat, Inc.
- Target configuration macros for MIPS.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
-
- ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-#ifdef linux
-# include <asm/sgidefs.h>
-#elif defined(__rtems__)
-/*
- * Subprogram calling convention - copied from sgidefs.h
- */
-#define _MIPS_SIM_ABI32 1
-#define _MIPS_SIM_NABI32 2
-#define _MIPS_SIM_ABI64 3
-#else
-# include <sgidefs.h>
-#endif
-
-# ifndef _ABIN32
-# define _ABIN32 _MIPS_SIM_NABI32
-# endif
-# ifndef _ABI64
-# define _ABI64 _MIPS_SIM_ABI64
-# endif
-# ifndef _ABIO32
-# define _ABIO32 _MIPS_SIM_ABI32
-# endif
-
-#if !defined(_MIPS_SIM)
--- something is very wrong --
-#else
-# if (_MIPS_SIM==_ABIN32 && defined(_ABIN32)) || (_MIPS_SIM==_ABI64 && defined(_ABI64))
-# define FFI_MIPS_N32
-# else
-# if (_MIPS_SIM==_ABIO32 && defined(_ABIO32))
-# define FFI_MIPS_O32
-# else
--- this is an unsupported platform --
-# endif
-# endif
-#endif
-
-#ifdef FFI_MIPS_O32
-/* O32 stack frames have 32bit integer args */
-# define FFI_SIZEOF_ARG 4
-#else
-/* N32 and N64 frames have 64bit integer args */
-# define FFI_SIZEOF_ARG 8
-# if _MIPS_SIM == _ABIN32
-# define FFI_SIZEOF_JAVA_RAW 4
-# endif
-#endif
-
-#define FFI_FLAG_BITS 2
-
-/* SGI's strange assembler requires that we multiply by 4 rather
- than shift left by FFI_FLAG_BITS */
-
-#define FFI_ARGS_D FFI_TYPE_DOUBLE
-#define FFI_ARGS_F FFI_TYPE_FLOAT
-#define FFI_ARGS_DD FFI_TYPE_DOUBLE * 4 + FFI_TYPE_DOUBLE
-#define FFI_ARGS_FF FFI_TYPE_FLOAT * 4 + FFI_TYPE_FLOAT
-#define FFI_ARGS_FD FFI_TYPE_DOUBLE * 4 + FFI_TYPE_FLOAT
-#define FFI_ARGS_DF FFI_TYPE_FLOAT * 4 + FFI_TYPE_DOUBLE
-
-/* Needed for N32 structure returns */
-#define FFI_TYPE_SMALLSTRUCT FFI_TYPE_UINT8
-#define FFI_TYPE_SMALLSTRUCT2 FFI_TYPE_SINT8
-
-#if 0
-/* The SGI assembler can't handle this.. */
-#define FFI_TYPE_STRUCT_DD (( FFI_ARGS_DD ) << 4) + FFI_TYPE_STRUCT
-/* (and so on) */
-#else
-/* ...so we calculate these by hand! */
-#define FFI_TYPE_STRUCT_D 61
-#define FFI_TYPE_STRUCT_F 45
-#define FFI_TYPE_STRUCT_DD 253
-#define FFI_TYPE_STRUCT_FF 173
-#define FFI_TYPE_STRUCT_FD 237
-#define FFI_TYPE_STRUCT_DF 189
-#define FFI_TYPE_STRUCT_SMALL 93
-#define FFI_TYPE_STRUCT_SMALL2 109
-
-/* and for n32 soft float, add 16 * 2^4 */
-#define FFI_TYPE_STRUCT_D_SOFT 317
-#define FFI_TYPE_STRUCT_F_SOFT 301
-#define FFI_TYPE_STRUCT_DD_SOFT 509
-#define FFI_TYPE_STRUCT_FF_SOFT 429
-#define FFI_TYPE_STRUCT_FD_SOFT 493
-#define FFI_TYPE_STRUCT_DF_SOFT 445
-#define FFI_TYPE_STRUCT_SOFT 16
-#endif
-
-#ifdef LIBFFI_ASM
-#define v0 $2
-#define v1 $3
-#define a0 $4
-#define a1 $5
-#define a2 $6
-#define a3 $7
-#define a4 $8
-#define a5 $9
-#define a6 $10
-#define a7 $11
-#define t0 $8
-#define t1 $9
-#define t2 $10
-#define t3 $11
-#define t4 $12
-#define t5 $13
-#define t6 $14
-#define t7 $15
-#define t8 $24
-#define t9 $25
-#define ra $31
-
-#ifdef FFI_MIPS_O32
-# define REG_L lw
-# define REG_S sw
-# define SUBU subu
-# define ADDU addu
-# define SRL srl
-# define LI li
-#else /* !FFI_MIPS_O32 */
-# define REG_L ld
-# define REG_S sd
-# define SUBU dsubu
-# define ADDU daddu
-# define SRL dsrl
-# define LI dli
-# if (_MIPS_SIM==_ABI64)
-# define LA dla
-# define EH_FRAME_ALIGN 3
-# define FDE_ADDR_BYTES .8byte
-# else
-# define LA la
-# define EH_FRAME_ALIGN 2
-# define FDE_ADDR_BYTES .4byte
-# endif /* _MIPS_SIM==_ABI64 */
-#endif /* !FFI_MIPS_O32 */
-#else /* !LIBFFI_ASM */
-# ifdef __GNUC__
-# ifdef FFI_MIPS_O32
-/* O32 stack frames have 32bit integer args */
-typedef unsigned int ffi_arg __attribute__((__mode__(__SI__)));
-typedef signed int ffi_sarg __attribute__((__mode__(__SI__)));
-#else
-/* N32 and N64 frames have 64bit integer args */
-typedef unsigned int ffi_arg __attribute__((__mode__(__DI__)));
-typedef signed int ffi_sarg __attribute__((__mode__(__DI__)));
-# endif
-# else
-# ifdef FFI_MIPS_O32
-/* O32 stack frames have 32bit integer args */
-typedef __uint32_t ffi_arg;
-typedef __int32_t ffi_sarg;
-# else
-/* N32 and N64 frames have 64bit integer args */
-typedef __uint64_t ffi_arg;
-typedef __int64_t ffi_sarg;
-# endif
-# endif /* __GNUC__ */
-
-typedef enum ffi_abi {
- FFI_FIRST_ABI = 0,
- FFI_O32,
- FFI_N32,
- FFI_N64,
- FFI_O32_SOFT_FLOAT,
- FFI_N32_SOFT_FLOAT,
- FFI_N64_SOFT_FLOAT,
-
-#ifdef FFI_MIPS_O32
-#ifdef __mips_soft_float
- FFI_DEFAULT_ABI = FFI_O32_SOFT_FLOAT,
-#else
- FFI_DEFAULT_ABI = FFI_O32,
-#endif
-#else
-# if _MIPS_SIM==_ABI64
-# ifdef __mips_soft_float
- FFI_DEFAULT_ABI = FFI_N64_SOFT_FLOAT,
-# else
- FFI_DEFAULT_ABI = FFI_N64,
-# endif
-# else
-# ifdef __mips_soft_float
- FFI_DEFAULT_ABI = FFI_N32_SOFT_FLOAT,
-# else
- FFI_DEFAULT_ABI = FFI_N32,
-# endif
-# endif
-#endif
-
- FFI_LAST_ABI = FFI_DEFAULT_ABI + 1
-} ffi_abi;
-
-#define FFI_EXTRA_CIF_FIELDS unsigned rstruct_flag
-#endif /* !LIBFFI_ASM */
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#if defined(FFI_MIPS_O32)
-#define FFI_CLOSURES 1
-#define FFI_TRAMPOLINE_SIZE 20
-#else
-/* N32/N64. */
-# define FFI_CLOSURES 1
-#if _MIPS_SIM==_ABI64
-#define FFI_TRAMPOLINE_SIZE 52
-#else
-#define FFI_TRAMPOLINE_SIZE 20
-#endif
-#endif /* FFI_MIPS_O32 */
-#define FFI_NATIVE_RAW_API 0
-
-#endif
-
diff --git a/.pc/ffi_last_abi/src/moxie/ffitarget.h b/.pc/ffi_last_abi/src/moxie/ffitarget.h
deleted file mode 100644
index f5305d1..0000000
--- a/.pc/ffi_last_abi/src/moxie/ffitarget.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
- ffitarget.h - Copyright (c) 2009 Anthony Green
- Target configuration macros for Moxie
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
-
- ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-/* ---- System specific configurations ----------------------------------- */
-
-#ifndef LIBFFI_ASM
-typedef unsigned long ffi_arg;
-typedef signed long ffi_sarg;
-
-typedef enum ffi_abi {
- FFI_FIRST_ABI = 0,
-
-#ifdef MOXIE
- FFI_EABI,
- FFI_DEFAULT_ABI = FFI_EABI,
-#endif
-
- FFI_LAST_ABI = FFI_DEFAULT_ABI + 1
-} ffi_abi;
-#endif
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 0
-#define FFI_NATIVE_RAW_API 0
-
-/* Trampolines are 5 4-byte instructions long. */
-#define FFI_TRAMPOLINE_SIZE (5*4)
-
-#endif
diff --git a/.pc/ffi_last_abi/src/pa/ffitarget.h b/.pc/ffi_last_abi/src/pa/ffitarget.h
deleted file mode 100644
index 001f891..0000000
--- a/.pc/ffi_last_abi/src/pa/ffitarget.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
- ffitarget.h - Copyright (c) 1996-2003 Red Hat, Inc.
- Target configuration macros for hppa.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
-
- ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-/* ---- System specific configurations ----------------------------------- */
-
-#ifndef LIBFFI_ASM
-typedef unsigned long ffi_arg;
-typedef signed long ffi_sarg;
-
-typedef enum ffi_abi {
- FFI_FIRST_ABI = 0,
-
-#ifdef PA_LINUX
- FFI_PA32,
- FFI_DEFAULT_ABI = FFI_PA32,
-#endif
-
-#ifdef PA_HPUX
- FFI_PA32,
- FFI_DEFAULT_ABI = FFI_PA32,
-#endif
-
-#ifdef PA64_HPUX
-#error "PA64_HPUX FFI is not yet implemented"
- FFI_PA64,
- FFI_DEFAULT_ABI = FFI_PA64,
-#endif
-
- FFI_LAST_ABI = FFI_DEFAULT_ABI + 1
-} ffi_abi;
-#endif
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#define FFI_NATIVE_RAW_API 0
-
-#ifdef PA_LINUX
-#define FFI_TRAMPOLINE_SIZE 32
-#else
-#define FFI_TRAMPOLINE_SIZE 40
-#endif
-
-#define FFI_TYPE_SMALL_STRUCT2 -1
-#define FFI_TYPE_SMALL_STRUCT3 -2
-#define FFI_TYPE_SMALL_STRUCT4 -3
-#define FFI_TYPE_SMALL_STRUCT5 -4
-#define FFI_TYPE_SMALL_STRUCT6 -5
-#define FFI_TYPE_SMALL_STRUCT7 -6
-#define FFI_TYPE_SMALL_STRUCT8 -7
-#endif
diff --git a/.pc/ffi_last_abi/src/prep_cif.c b/.pc/ffi_last_abi/src/prep_cif.c
deleted file mode 100644
index e0a0c68..0000000
--- a/.pc/ffi_last_abi/src/prep_cif.c
+++ /dev/null
@@ -1,176 +0,0 @@
-/* -----------------------------------------------------------------------
- prep_cif.c - Copyright (c) 1996, 1998, 2007 Red Hat, Inc.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
- ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-#include <stdlib.h>
-
-/* Round up to FFI_SIZEOF_ARG. */
-
-#define STACK_ARG_SIZE(x) ALIGN(x, FFI_SIZEOF_ARG)
-
-/* Perform machine independent initialization of aggregate type
- specifications. */
-
-static ffi_status initialize_aggregate(ffi_type *arg)
-{
- ffi_type **ptr;
-
- FFI_ASSERT(arg != NULL);
-
- FFI_ASSERT(arg->elements != NULL);
- FFI_ASSERT(arg->size == 0);
- FFI_ASSERT(arg->alignment == 0);
-
- ptr = &(arg->elements[0]);
-
- while ((*ptr) != NULL)
- {
- if (((*ptr)->size == 0) && (initialize_aggregate((*ptr)) != FFI_OK))
- return FFI_BAD_TYPEDEF;
-
- /* Perform a sanity check on the argument type */
- FFI_ASSERT_VALID_TYPE(*ptr);
-
- arg->size = ALIGN(arg->size, (*ptr)->alignment);
- arg->size += (*ptr)->size;
-
- arg->alignment = (arg->alignment > (*ptr)->alignment) ?
- arg->alignment : (*ptr)->alignment;
-
- ptr++;
- }
-
- /* Structure size includes tail padding. This is important for
- structures that fit in one register on ABIs like the PowerPC64
- Linux ABI that right justify small structs in a register.
- It's also needed for nested structure layout, for example
- struct A { long a; char b; }; struct B { struct A x; char y; };
- should find y at an offset of 2*sizeof(long) and result in a
- total size of 3*sizeof(long). */
- arg->size = ALIGN (arg->size, arg->alignment);
-
- if (arg->size == 0)
- return FFI_BAD_TYPEDEF;
- else
- return FFI_OK;
-}
-
-#ifndef __CRIS__
-/* The CRIS ABI specifies structure elements to have byte
- alignment only, so it completely overrides this functions,
- which assumes "natural" alignment and padding. */
-
-/* Perform machine independent ffi_cif preparation, then call
- machine dependent routine. */
-
-ffi_status ffi_prep_cif(ffi_cif *cif, ffi_abi abi, unsigned int nargs,
- ffi_type *rtype, ffi_type **atypes)
-{
- unsigned bytes = 0;
- unsigned int i;
- ffi_type **ptr;
-
- FFI_ASSERT(cif != NULL);
-#ifndef X86_WIN32
- FFI_ASSERT((abi > FFI_FIRST_ABI) && (abi <= FFI_DEFAULT_ABI));
-#else
- FFI_ASSERT(abi > FFI_FIRST_ABI && abi <= FFI_DEFAULT_ABI
- || abi == FFI_THISCALL);
-#endif
-
- cif->abi = abi;
- cif->arg_types = atypes;
- cif->nargs = nargs;
- cif->rtype = rtype;
-
- cif->flags = 0;
-
- /* Initialize the return type if necessary */
- if ((cif->rtype->size == 0) && (initialize_aggregate(cif->rtype) != FFI_OK))
- return FFI_BAD_TYPEDEF;
-
- /* Perform a sanity check on the return type */
- FFI_ASSERT_VALID_TYPE(cif->rtype);
-
- /* x86, x86-64 and s390 stack space allocation is handled in prep_machdep. */
-#if !defined M68K && !defined __i386__ && !defined __x86_64__ && !defined S390 && !defined PA
- /* Make space for the return structure pointer */
- if (cif->rtype->type == FFI_TYPE_STRUCT
-#ifdef SPARC
- && (cif->abi != FFI_V9 || cif->rtype->size > 32)
-#endif
- )
- bytes = STACK_ARG_SIZE(sizeof(void*));
-#endif
-
- for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++)
- {
-
- /* Initialize any uninitialized aggregate type definitions */
- if (((*ptr)->size == 0) && (initialize_aggregate((*ptr)) != FFI_OK))
- return FFI_BAD_TYPEDEF;
-
- /* Perform a sanity check on the argument type, do this
- check after the initialization. */
- FFI_ASSERT_VALID_TYPE(*ptr);
-
-#if !defined __i386__ && !defined __x86_64__ && !defined S390 && !defined PA
-#ifdef SPARC
- if (((*ptr)->type == FFI_TYPE_STRUCT
- && ((*ptr)->size > 16 || cif->abi != FFI_V9))
- || ((*ptr)->type == FFI_TYPE_LONGDOUBLE
- && cif->abi != FFI_V9))
- bytes += sizeof(void*);
- else
-#endif
- {
- /* Add any padding if necessary */
- if (((*ptr)->alignment - 1) & bytes)
- bytes = ALIGN(bytes, (*ptr)->alignment);
-
- bytes += STACK_ARG_SIZE((*ptr)->size);
- }
-#endif
- }
-
- cif->bytes = bytes;
-
- /* Perform machine dependent cif processing */
- return ffi_prep_cif_machdep(cif);
-}
-#endif /* not __CRIS__ */
-
-#if FFI_CLOSURES
-
-ffi_status
-ffi_prep_closure (ffi_closure* closure,
- ffi_cif* cif,
- void (*fun)(ffi_cif*,void*,void**,void*),
- void *user_data)
-{
- return ffi_prep_closure_loc (closure, cif, fun, user_data, closure);
-}
-
-#endif
diff --git a/.pc/ffi_last_abi/src/s390/ffitarget.h b/.pc/ffi_last_abi/src/s390/ffitarget.h
deleted file mode 100644
index 3862738..0000000
--- a/.pc/ffi_last_abi/src/s390/ffitarget.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
- ffitarget.h - Copyright (c) 1996-2003 Red Hat, Inc.
- Target configuration macros for S390.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
-
- ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-#if defined (__s390x__)
-#ifndef S390X
-#define S390X
-#endif
-#endif
-
-/* ---- System specific configurations ----------------------------------- */
-
-#ifndef LIBFFI_ASM
-typedef unsigned long ffi_arg;
-typedef signed long ffi_sarg;
-
-typedef enum ffi_abi {
- FFI_FIRST_ABI = 0,
- FFI_SYSV,
- FFI_DEFAULT_ABI = FFI_SYSV,
- FFI_LAST_ABI = FFI_DEFAULT_ABI + 1
-} ffi_abi;
-#endif
-
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#ifdef S390X
-#define FFI_TRAMPOLINE_SIZE 32
-#else
-#define FFI_TRAMPOLINE_SIZE 16
-#endif
-#define FFI_NATIVE_RAW_API 0
-
-#endif
-
diff --git a/.pc/ffi_last_abi/src/sh/ffitarget.h b/.pc/ffi_last_abi/src/sh/ffitarget.h
deleted file mode 100644
index 218ae3d..0000000
--- a/.pc/ffi_last_abi/src/sh/ffitarget.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
- ffitarget.h - Copyright (c) 1996-2003 Red Hat, Inc.
- Target configuration macros for SuperH.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
-
- ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-/* ---- Generic type definitions ----------------------------------------- */
-
-#ifndef LIBFFI_ASM
-typedef unsigned long ffi_arg;
-typedef signed long ffi_sarg;
-
-typedef enum ffi_abi {
- FFI_FIRST_ABI = 0,
- FFI_SYSV,
- FFI_DEFAULT_ABI = FFI_SYSV,
- FFI_LAST_ABI = FFI_DEFAULT_ABI + 1
-} ffi_abi;
-#endif
-
-#define FFI_CLOSURES 1
-#define FFI_TRAMPOLINE_SIZE 16
-#define FFI_NATIVE_RAW_API 0
-
-#endif
-
diff --git a/.pc/ffi_last_abi/src/sh64/ffitarget.h b/.pc/ffi_last_abi/src/sh64/ffitarget.h
deleted file mode 100644
index 4e922fc..0000000
--- a/.pc/ffi_last_abi/src/sh64/ffitarget.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
- ffitarget.h - Copyright (c) 1996-2003 Red Hat, Inc.
- Target configuration macros for SuperH - SHmedia.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
-
- ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-/* ---- Generic type definitions ----------------------------------------- */
-
-#ifndef LIBFFI_ASM
-typedef unsigned long ffi_arg;
-typedef signed long ffi_sarg;
-
-typedef enum ffi_abi {
- FFI_FIRST_ABI = 0,
- FFI_SYSV,
- FFI_DEFAULT_ABI = FFI_SYSV,
- FFI_LAST_ABI = FFI_DEFAULT_ABI + 1
-} ffi_abi;
-
-#define FFI_EXTRA_CIF_FIELDS long long flags2
-#endif
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#define FFI_TRAMPOLINE_SIZE 32
-#define FFI_NATIVE_RAW_API 0
-
-#endif
-
diff --git a/.pc/ffi_last_abi/src/sparc/ffitarget.h b/.pc/ffi_last_abi/src/sparc/ffitarget.h
deleted file mode 100644
index 50554b8..0000000
--- a/.pc/ffi_last_abi/src/sparc/ffitarget.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
- ffitarget.h - Copyright (c) 1996-2003 Red Hat, Inc.
- Target configuration macros for SPARC.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
-
- ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-/* ---- System specific configurations ----------------------------------- */
-
-#if defined(__arch64__) || defined(__sparcv9)
-#ifndef SPARC64
-#define SPARC64
-#endif
-#endif
-
-#ifndef LIBFFI_ASM
-typedef unsigned long ffi_arg;
-typedef signed long ffi_sarg;
-
-typedef enum ffi_abi {
- FFI_FIRST_ABI = 0,
- FFI_V8,
- FFI_V8PLUS,
- FFI_V9,
-#ifdef SPARC64
- FFI_DEFAULT_ABI = FFI_V9,
-#else
- FFI_DEFAULT_ABI = FFI_V8,
-#endif
- FFI_LAST_ABI = FFI_DEFAULT_ABI + 1
-} ffi_abi;
-#endif
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#define FFI_NATIVE_RAW_API 0
-
-#ifdef SPARC64
-#define FFI_TRAMPOLINE_SIZE 24
-#else
-#define FFI_TRAMPOLINE_SIZE 16
-#endif
-
-#endif
-
diff --git a/.pc/ffi_last_abi/src/x86/ffitarget.h b/.pc/ffi_last_abi/src/x86/ffitarget.h
deleted file mode 100644
index dfecd1b..0000000
--- a/.pc/ffi_last_abi/src/x86/ffitarget.h
+++ /dev/null
@@ -1,122 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
- ffitarget.h - Copyright (c) 1996-2003, 2010 Red Hat, Inc.
- Copyright (C) 2008 Free Software Foundation, Inc.
-
- Target configuration macros for x86 and x86-64.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
-
- ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-/* ---- System specific configurations ----------------------------------- */
-
-#if defined (X86_64) && defined (__i386__)
-#undef X86_64
-#define X86
-#endif
-
-#ifdef X86_WIN64
-#define FFI_SIZEOF_ARG 8
-#define USE_BUILTIN_FFS 0 /* not yet implemented in mingw-64 */
-#endif
-
-/* ---- Generic type definitions ----------------------------------------- */
-
-#ifndef LIBFFI_ASM
-#ifdef X86_WIN64
-#ifdef _MSC_VER
-typedef unsigned __int64 ffi_arg;
-typedef __int64 ffi_sarg;
-#else
-typedef unsigned long long ffi_arg;
-typedef long long ffi_sarg;
-#endif
-#else
-typedef unsigned long ffi_arg;
-typedef signed long ffi_sarg;
-#endif
-
-typedef enum ffi_abi {
- FFI_FIRST_ABI = 0,
-
- /* ---- Intel x86 Win32 ---------- */
-#ifdef X86_WIN32
- FFI_SYSV,
- FFI_STDCALL,
- FFI_THISCALL,
- FFI_FASTCALL,
- /* TODO: Add fastcall support for the sake of completeness */
- FFI_DEFAULT_ABI = FFI_SYSV,
-#endif
-
-#ifdef X86_WIN64
- FFI_WIN64,
- FFI_DEFAULT_ABI = FFI_WIN64,
-#else
-
- /* ---- Intel x86 and AMD x86-64 - */
-#if !defined(X86_WIN32) && (defined(__i386__) || defined(__x86_64__) || defined(__i386) || defined(__amd64))
- FFI_SYSV,
- FFI_UNIX64, /* Unix variants all use the same ABI for x86-64 */
-#if defined(__i386__) || defined(__i386)
- FFI_DEFAULT_ABI = FFI_SYSV,
-#else
- FFI_DEFAULT_ABI = FFI_UNIX64,
-#endif
-#endif
-#endif /* X86_WIN64 */
-
- FFI_LAST_ABI = FFI_DEFAULT_ABI + 1
-} ffi_abi;
-#endif
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#define FFI_TYPE_SMALL_STRUCT_1B (FFI_TYPE_LAST + 1)
-#define FFI_TYPE_SMALL_STRUCT_2B (FFI_TYPE_LAST + 2)
-#define FFI_TYPE_SMALL_STRUCT_4B (FFI_TYPE_LAST + 3)
-
-#if defined (X86_64) || (defined (__x86_64__) && defined (X86_DARWIN))
-#define FFI_TRAMPOLINE_SIZE 24
-#define FFI_NATIVE_RAW_API 0
-#else
-#ifdef X86_WIN32
-#define FFI_TRAMPOLINE_SIZE 52
-#else
-#ifdef X86_WIN64
-#define FFI_TRAMPOLINE_SIZE 29
-#define FFI_NATIVE_RAW_API 0
-#define FFI_NO_RAW_API 1
-#else
-#define FFI_TRAMPOLINE_SIZE 10
-#endif
-#endif
-#ifndef X86_WIN64
-#define FFI_NATIVE_RAW_API 1 /* x86 has native raw api support */
-#endif
-#endif
-
-#endif
-
diff --git a/.pc/ffitarget-include-fix/.timestamp b/.pc/ffitarget-include-fix/.timestamp
deleted file mode 100644
index e69de29..0000000
--- a/.pc/ffitarget-include-fix/.timestamp
+++ /dev/null
diff --git a/.pc/ffitarget-include-fix/src/alpha/ffitarget.h b/.pc/ffitarget-include-fix/src/alpha/ffitarget.h
deleted file mode 100644
index 7d06eb0..0000000
--- a/.pc/ffitarget-include-fix/src/alpha/ffitarget.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
- ffitarget.h - Copyright (c) 1996-2003 Red Hat, Inc.
- Target configuration macros for Alpha.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
-
- ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-#ifndef LIBFFI_ASM
-typedef unsigned long ffi_arg;
-typedef signed long ffi_sarg;
-
-typedef enum ffi_abi {
- FFI_FIRST_ABI = 0,
- FFI_OSF,
- FFI_LAST_ABI,
- FFI_DEFAULT_ABI = FFI_OSF
-} ffi_abi;
-#endif
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#define FFI_TRAMPOLINE_SIZE 24
-#define FFI_NATIVE_RAW_API 0
-
-#endif
diff --git a/.pc/ffitarget-include-fix/src/arm/ffitarget.h b/.pc/ffitarget-include-fix/src/arm/ffitarget.h
deleted file mode 100644
index b9a0428..0000000
--- a/.pc/ffitarget-include-fix/src/arm/ffitarget.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
- ffitarget.h - Copyright (c) 1996-2003 Red Hat, Inc.
- Copyright (c) 2010 CodeSourcery
-
- Target configuration macros for ARM.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
-
- ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-#ifndef LIBFFI_ASM
-typedef unsigned long ffi_arg;
-typedef signed long ffi_sarg;
-
-typedef enum ffi_abi {
- FFI_FIRST_ABI = 0,
- FFI_SYSV,
- FFI_VFP,
- FFI_LAST_ABI,
-#ifdef __ARM_PCS_VFP
- FFI_DEFAULT_ABI = FFI_VFP,
-#else
- FFI_DEFAULT_ABI = FFI_SYSV,
-#endif
-} ffi_abi;
-#endif
-
-#define FFI_EXTRA_CIF_FIELDS \
- int vfp_used; \
- short vfp_reg_free, vfp_nargs; \
- signed char vfp_args[16] \
-
-/* Internally used. */
-#define FFI_TYPE_STRUCT_VFP_FLOAT (FFI_TYPE_LAST + 1)
-#define FFI_TYPE_STRUCT_VFP_DOUBLE (FFI_TYPE_LAST + 2)
-
-#define FFI_TARGET_SPECIFIC_VARIADIC
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#define FFI_TRAMPOLINE_SIZE 20
-#define FFI_NATIVE_RAW_API 0
-
-#endif
diff --git a/.pc/ffitarget-include-fix/src/avr32/ffitarget.h b/.pc/ffitarget-include-fix/src/avr32/ffitarget.h
deleted file mode 100644
index b85d062..0000000
--- a/.pc/ffitarget-include-fix/src/avr32/ffitarget.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
- ffitarget.h - Copyright (c) 2009 Bradley Smith <brad@brad-smith.co.uk>
- Target configuration macros for AVR32.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
-
- ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-#ifndef LIBFFI_ASM
-typedef unsigned long ffi_arg;
-typedef signed long ffi_sarg;
-
-typedef enum ffi_abi {
- FFI_FIRST_ABI = 0,
- FFI_SYSV,
- FFI_LAST_ABI,
- FFI_DEFAULT_ABI = FFI_SYSV
-} ffi_abi;
-#endif
-
-#define FFI_EXTRA_CIF_FIELDS unsigned int rstruct_flag
-
-/* Definitions for closures */
-
-#define FFI_CLOSURES 1
-#define FFI_TRAMPOLINE_SIZE 36
-#define FFI_NATIVE_RAW_API 0
-
-#endif
diff --git a/.pc/ffitarget-include-fix/src/cris/ffitarget.h b/.pc/ffitarget-include-fix/src/cris/ffitarget.h
deleted file mode 100644
index 0e3705d..0000000
--- a/.pc/ffitarget-include-fix/src/cris/ffitarget.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
- ffitarget.h - Copyright (c) 1996-2003 Red Hat, Inc.
- Target configuration macros for CRIS.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
-
- ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-#ifndef LIBFFI_ASM
-typedef unsigned long ffi_arg;
-typedef signed long ffi_sarg;
-
-typedef enum ffi_abi {
- FFI_FIRST_ABI = 0,
- FFI_SYSV,
- FFI_LAST_ABI,
- FFI_DEFAULT_ABI = FFI_SYSV
-} ffi_abi;
-#endif
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#define FFI_CRIS_TRAMPOLINE_CODE_PART_SIZE 36
-#define FFI_CRIS_TRAMPOLINE_DATA_PART_SIZE (7*4)
-#define FFI_TRAMPOLINE_SIZE \
- (FFI_CRIS_TRAMPOLINE_CODE_PART_SIZE + FFI_CRIS_TRAMPOLINE_DATA_PART_SIZE)
-#define FFI_NATIVE_RAW_API 0
-
-#endif
diff --git a/.pc/ffitarget-include-fix/src/frv/ffitarget.h b/.pc/ffitarget-include-fix/src/frv/ffitarget.h
deleted file mode 100644
index 4839069..0000000
--- a/.pc/ffitarget-include-fix/src/frv/ffitarget.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
- ffitarget.h - Copyright (c) 1996-2004 Red Hat, Inc.
- Target configuration macros for FR-V
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
-
- ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-/* ---- System specific configurations ----------------------------------- */
-
-#ifndef LIBFFI_ASM
-typedef unsigned long ffi_arg;
-typedef signed long ffi_sarg;
-
-typedef enum ffi_abi {
- FFI_FIRST_ABI = 0,
- FFI_EABI,
- FFI_LAST_ABI,
- FFI_DEFAULT_ABI = FFI_EABI
-} ffi_abi;
-#endif
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#define FFI_NATIVE_RAW_API 0
-
-#ifdef __FRV_FDPIC__
-/* Trampolines are 8 4-byte instructions long. */
-#define FFI_TRAMPOLINE_SIZE (8*4)
-#else
-/* Trampolines are 5 4-byte instructions long. */
-#define FFI_TRAMPOLINE_SIZE (5*4)
-#endif
-
-#endif
diff --git a/.pc/ffitarget-include-fix/src/ia64/ffitarget.h b/.pc/ffitarget-include-fix/src/ia64/ffitarget.h
deleted file mode 100644
index 0d2001d..0000000
--- a/.pc/ffitarget-include-fix/src/ia64/ffitarget.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
- ffitarget.h - Copyright (c) 1996-2003 Red Hat, Inc.
- Target configuration macros for IA-64.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
-
- ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-#ifndef LIBFFI_ASM
-typedef unsigned long long ffi_arg;
-typedef signed long long ffi_sarg;
-
-typedef enum ffi_abi {
- FFI_FIRST_ABI = 0,
- FFI_UNIX, /* Linux and all Unix variants use the same conventions */
- FFI_LAST_ABI,
- FFI_DEFAULT_ABI = FFI_UNIX
-} ffi_abi;
-#endif
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#define FFI_TRAMPOLINE_SIZE 24 /* Really the following struct, which */
- /* can be interpreted as a C function */
- /* descriptor: */
-
-#endif
-
diff --git a/.pc/ffitarget-include-fix/src/m32r/ffitarget.h b/.pc/ffitarget-include-fix/src/m32r/ffitarget.h
deleted file mode 100644
index 2e2ea48..0000000
--- a/.pc/ffitarget-include-fix/src/m32r/ffitarget.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
- ffitarget.h - Copyright (c) 2004 Renesas Technology.
- Target configuration macros for M32R.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS
- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- IN NO EVENT SHALL RENESAS TECHNOLOGY BE LIABLE FOR ANY CLAIM, DAMAGES OR
- OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- OTHER DEALINGS IN THE SOFTWARE.
-
- ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-/* ---- Generic type definitions ----------------------------------------- */
-
-#ifndef LIBFFI_ASM
-typedef unsigned long ffi_arg;
-typedef signed long ffi_sarg;
-
-typedef enum ffi_abi
- {
- FFI_FIRST_ABI = 0,
- FFI_SYSV,
- FFI_LAST_ABI,
- FFI_DEFAULT_ABI = FFI_SYSV
- } ffi_abi;
-#endif
-
-#define FFI_CLOSURES 0
-#define FFI_TRAMPOLINE_SIZE 24
-#define FFI_NATIVE_RAW_API 0
-
-#endif
diff --git a/.pc/ffitarget-include-fix/src/m68k/ffitarget.h b/.pc/ffitarget-include-fix/src/m68k/ffitarget.h
deleted file mode 100644
index 3b777ed..0000000
--- a/.pc/ffitarget-include-fix/src/m68k/ffitarget.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
- ffitarget.h - Copyright (c) 1996-2003 Red Hat, Inc.
- Target configuration macros for Motorola 68K.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
-
- ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-#ifndef LIBFFI_ASM
-typedef unsigned long ffi_arg;
-typedef signed long ffi_sarg;
-
-typedef enum ffi_abi {
- FFI_FIRST_ABI = 0,
- FFI_SYSV,
- FFI_LAST_ABI,
- FFI_DEFAULT_ABI = FFI_SYSV
-} ffi_abi;
-#endif
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#define FFI_TRAMPOLINE_SIZE 16
-#define FFI_NATIVE_RAW_API 0
-
-#endif
-
diff --git a/.pc/ffitarget-include-fix/src/mips/ffitarget.h b/.pc/ffitarget-include-fix/src/mips/ffitarget.h
deleted file mode 100644
index 637adbf..0000000
--- a/.pc/ffitarget-include-fix/src/mips/ffitarget.h
+++ /dev/null
@@ -1,242 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
- ffitarget.h - Copyright (c) 1996-2003 Red Hat, Inc.
- Target configuration macros for MIPS.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
-
- ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-#ifdef linux
-# include <asm/sgidefs.h>
-#elif defined(__rtems__)
-/*
- * Subprogram calling convention - copied from sgidefs.h
- */
-#define _MIPS_SIM_ABI32 1
-#define _MIPS_SIM_NABI32 2
-#define _MIPS_SIM_ABI64 3
-#elif !defined(__OpenBSD__)
-# include <sgidefs.h>
-#endif
-
-# ifndef _ABIN32
-# define _ABIN32 _MIPS_SIM_NABI32
-# endif
-# ifndef _ABI64
-# define _ABI64 _MIPS_SIM_ABI64
-# endif
-# ifndef _ABIO32
-# define _ABIO32 _MIPS_SIM_ABI32
-# endif
-
-#if !defined(_MIPS_SIM)
-# error -- something is very wrong --
-#else
-# if (_MIPS_SIM==_ABIN32 && defined(_ABIN32)) || (_MIPS_SIM==_ABI64 && defined(_ABI64))
-# define FFI_MIPS_N32
-# else
-# if (_MIPS_SIM==_ABIO32 && defined(_ABIO32))
-# define FFI_MIPS_O32
-# else
-# error -- this is an unsupported platform --
-# endif
-# endif
-#endif
-
-#ifdef FFI_MIPS_O32
-/* O32 stack frames have 32bit integer args */
-# define FFI_SIZEOF_ARG 4
-#else
-/* N32 and N64 frames have 64bit integer args */
-# define FFI_SIZEOF_ARG 8
-# if _MIPS_SIM == _ABIN32
-# define FFI_SIZEOF_JAVA_RAW 4
-# endif
-#endif
-
-#define FFI_FLAG_BITS 2
-
-/* SGI's strange assembler requires that we multiply by 4 rather
- than shift left by FFI_FLAG_BITS */
-
-#define FFI_ARGS_D FFI_TYPE_DOUBLE
-#define FFI_ARGS_F FFI_TYPE_FLOAT
-#define FFI_ARGS_DD FFI_TYPE_DOUBLE * 4 + FFI_TYPE_DOUBLE
-#define FFI_ARGS_FF FFI_TYPE_FLOAT * 4 + FFI_TYPE_FLOAT
-#define FFI_ARGS_FD FFI_TYPE_DOUBLE * 4 + FFI_TYPE_FLOAT
-#define FFI_ARGS_DF FFI_TYPE_FLOAT * 4 + FFI_TYPE_DOUBLE
-
-/* Needed for N32 structure returns */
-#define FFI_TYPE_SMALLSTRUCT FFI_TYPE_UINT8
-#define FFI_TYPE_SMALLSTRUCT2 FFI_TYPE_SINT8
-
-#if 0
-/* The SGI assembler can't handle this.. */
-#define FFI_TYPE_STRUCT_DD (( FFI_ARGS_DD ) << 4) + FFI_TYPE_STRUCT
-/* (and so on) */
-#else
-/* ...so we calculate these by hand! */
-#define FFI_TYPE_STRUCT_D 61
-#define FFI_TYPE_STRUCT_F 45
-#define FFI_TYPE_STRUCT_DD 253
-#define FFI_TYPE_STRUCT_FF 173
-#define FFI_TYPE_STRUCT_FD 237
-#define FFI_TYPE_STRUCT_DF 189
-#define FFI_TYPE_STRUCT_SMALL 93
-#define FFI_TYPE_STRUCT_SMALL2 109
-
-/* and for n32 soft float, add 16 * 2^4 */
-#define FFI_TYPE_STRUCT_D_SOFT 317
-#define FFI_TYPE_STRUCT_F_SOFT 301
-#define FFI_TYPE_STRUCT_DD_SOFT 509
-#define FFI_TYPE_STRUCT_FF_SOFT 429
-#define FFI_TYPE_STRUCT_FD_SOFT 493
-#define FFI_TYPE_STRUCT_DF_SOFT 445
-#define FFI_TYPE_STRUCT_SOFT 16
-#endif
-
-#ifdef LIBFFI_ASM
-#define v0 $2
-#define v1 $3
-#define a0 $4
-#define a1 $5
-#define a2 $6
-#define a3 $7
-#define a4 $8
-#define a5 $9
-#define a6 $10
-#define a7 $11
-#define t0 $8
-#define t1 $9
-#define t2 $10
-#define t3 $11
-#define t4 $12
-#define t5 $13
-#define t6 $14
-#define t7 $15
-#define t8 $24
-#define t9 $25
-#define ra $31
-
-#ifdef FFI_MIPS_O32
-# define REG_L lw
-# define REG_S sw
-# define SUBU subu
-# define ADDU addu
-# define SRL srl
-# define LI li
-#else /* !FFI_MIPS_O32 */
-# define REG_L ld
-# define REG_S sd
-# define SUBU dsubu
-# define ADDU daddu
-# define SRL dsrl
-# define LI dli
-# if (_MIPS_SIM==_ABI64)
-# define LA dla
-# define EH_FRAME_ALIGN 3
-# define FDE_ADDR_BYTES .8byte
-# else
-# define LA la
-# define EH_FRAME_ALIGN 2
-# define FDE_ADDR_BYTES .4byte
-# endif /* _MIPS_SIM==_ABI64 */
-#endif /* !FFI_MIPS_O32 */
-#else /* !LIBFFI_ASM */
-# ifdef __GNUC__
-# ifdef FFI_MIPS_O32
-/* O32 stack frames have 32bit integer args */
-typedef unsigned int ffi_arg __attribute__((__mode__(__SI__)));
-typedef signed int ffi_sarg __attribute__((__mode__(__SI__)));
-#else
-/* N32 and N64 frames have 64bit integer args */
-typedef unsigned int ffi_arg __attribute__((__mode__(__DI__)));
-typedef signed int ffi_sarg __attribute__((__mode__(__DI__)));
-# endif
-# else
-# ifdef FFI_MIPS_O32
-/* O32 stack frames have 32bit integer args */
-typedef __uint32_t ffi_arg;
-typedef __int32_t ffi_sarg;
-# else
-/* N32 and N64 frames have 64bit integer args */
-typedef __uint64_t ffi_arg;
-typedef __int64_t ffi_sarg;
-# endif
-# endif /* __GNUC__ */
-
-typedef enum ffi_abi {
- FFI_FIRST_ABI = 0,
- FFI_O32,
- FFI_N32,
- FFI_N64,
- FFI_O32_SOFT_FLOAT,
- FFI_N32_SOFT_FLOAT,
- FFI_N64_SOFT_FLOAT,
- FFI_LAST_ABI,
-
-#ifdef FFI_MIPS_O32
-#ifdef __mips_soft_float
- FFI_DEFAULT_ABI = FFI_O32_SOFT_FLOAT
-#else
- FFI_DEFAULT_ABI = FFI_O32
-#endif
-#else
-# if _MIPS_SIM==_ABI64
-# ifdef __mips_soft_float
- FFI_DEFAULT_ABI = FFI_N64_SOFT_FLOAT
-# else
- FFI_DEFAULT_ABI = FFI_N64
-# endif
-# else
-# ifdef __mips_soft_float
- FFI_DEFAULT_ABI = FFI_N32_SOFT_FLOAT
-# else
- FFI_DEFAULT_ABI = FFI_N32
-# endif
-# endif
-#endif
-} ffi_abi;
-
-#define FFI_EXTRA_CIF_FIELDS unsigned rstruct_flag
-#endif /* !LIBFFI_ASM */
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#if defined(FFI_MIPS_O32)
-#define FFI_CLOSURES 1
-#define FFI_TRAMPOLINE_SIZE 20
-#else
-/* N32/N64. */
-# define FFI_CLOSURES 1
-#if _MIPS_SIM==_ABI64
-#define FFI_TRAMPOLINE_SIZE 52
-#else
-#define FFI_TRAMPOLINE_SIZE 20
-#endif
-#endif /* FFI_MIPS_O32 */
-#define FFI_NATIVE_RAW_API 0
-
-#endif
-
diff --git a/.pc/ffitarget-include-fix/src/moxie/ffitarget.h b/.pc/ffitarget-include-fix/src/moxie/ffitarget.h
deleted file mode 100644
index 2a9d954..0000000
--- a/.pc/ffitarget-include-fix/src/moxie/ffitarget.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
- ffitarget.h - Copyright (c) 2009 Anthony Green
- Target configuration macros for Moxie
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
-
- ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-/* ---- System specific configurations ----------------------------------- */
-
-#ifndef LIBFFI_ASM
-typedef unsigned long ffi_arg;
-typedef signed long ffi_sarg;
-
-typedef enum ffi_abi {
- FFI_FIRST_ABI = 0,
- FFI_EABI,
- FFI_LAST_ABI,
- FFI_DEFAULT_ABI = FFI_EABI
-} ffi_abi;
-#endif
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 0
-#define FFI_NATIVE_RAW_API 0
-
-/* Trampolines are 5 4-byte instructions long. */
-#define FFI_TRAMPOLINE_SIZE (5*4)
-
-#endif
diff --git a/.pc/ffitarget-include-fix/src/pa/ffitarget.h b/.pc/ffitarget-include-fix/src/pa/ffitarget.h
deleted file mode 100644
index efa2f4e..0000000
--- a/.pc/ffitarget-include-fix/src/pa/ffitarget.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
- ffitarget.h - Copyright (c) 1996-2003 Red Hat, Inc.
- Target configuration macros for hppa.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
-
- ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-/* ---- System specific configurations ----------------------------------- */
-
-#ifndef LIBFFI_ASM
-typedef unsigned long ffi_arg;
-typedef signed long ffi_sarg;
-
-typedef enum ffi_abi {
- FFI_FIRST_ABI = 0,
-
-#ifdef PA_LINUX
- FFI_PA32,
- FFI_LAST_ABI,
- FFI_DEFAULT_ABI = FFI_PA32
-#endif
-
-#ifdef PA_HPUX
- FFI_PA32,
- FFI_LAST_ABI,
- FFI_DEFAULT_ABI = FFI_PA32
-#endif
-
-#ifdef PA64_HPUX
-#error "PA64_HPUX FFI is not yet implemented"
- FFI_PA64,
- FFI_LAST_ABI,
- FFI_DEFAULT_ABI = FFI_PA64
-#endif
-} ffi_abi;
-#endif
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#define FFI_NATIVE_RAW_API 0
-
-#ifdef PA_LINUX
-#define FFI_TRAMPOLINE_SIZE 32
-#else
-#define FFI_TRAMPOLINE_SIZE 40
-#endif
-
-#define FFI_TYPE_SMALL_STRUCT2 -1
-#define FFI_TYPE_SMALL_STRUCT3 -2
-#define FFI_TYPE_SMALL_STRUCT4 -3
-#define FFI_TYPE_SMALL_STRUCT5 -4
-#define FFI_TYPE_SMALL_STRUCT6 -5
-#define FFI_TYPE_SMALL_STRUCT7 -6
-#define FFI_TYPE_SMALL_STRUCT8 -7
-#endif
diff --git a/.pc/ffitarget-include-fix/src/powerpc/ffitarget.h b/.pc/ffitarget-include-fix/src/powerpc/ffitarget.h
deleted file mode 100644
index 820c482..0000000
--- a/.pc/ffitarget-include-fix/src/powerpc/ffitarget.h
+++ /dev/null
@@ -1,135 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
- ffitarget.h - Copyright (c) 1996-2003 Red Hat, Inc.
- Copyright (C) 2007, 2008, 2010 Free Software Foundation, Inc
- Target configuration macros for PowerPC.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
-
- ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-/* ---- System specific configurations ----------------------------------- */
-
-#if defined (POWERPC) && defined (__powerpc64__) /* linux64 */
-#ifndef POWERPC64
-#define POWERPC64
-#endif
-#elif defined (POWERPC_DARWIN) && defined (__ppc64__) /* Darwin64 */
-#ifndef POWERPC64
-#define POWERPC64
-#endif
-#ifndef POWERPC_DARWIN64
-#define POWERPC_DARWIN64
-#endif
-#elif defined (POWERPC_AIX) && defined (__64BIT__) /* AIX64 */
-#ifndef POWERPC64
-#define POWERPC64
-#endif
-#endif
-
-#ifndef LIBFFI_ASM
-typedef unsigned long ffi_arg;
-typedef signed long ffi_sarg;
-
-typedef enum ffi_abi {
- FFI_FIRST_ABI = 0,
-
-#ifdef POWERPC
- FFI_SYSV,
- FFI_GCC_SYSV,
- FFI_LINUX64,
- FFI_LINUX,
- FFI_LINUX_SOFT_FLOAT,
-# if defined(POWERPC64)
- FFI_DEFAULT_ABI = FFI_LINUX64,
-# elif defined(__NO_FPRS__)
- FFI_DEFAULT_ABI = FFI_LINUX_SOFT_FLOAT,
-# elif (__LDBL_MANT_DIG__ == 106)
- FFI_DEFAULT_ABI = FFI_LINUX,
-# else
- FFI_DEFAULT_ABI = FFI_GCC_SYSV,
-# endif
-#endif
-
-#ifdef POWERPC_AIX
- FFI_AIX,
- FFI_DARWIN,
- FFI_DEFAULT_ABI = FFI_AIX,
-#endif
-
-#ifdef POWERPC_DARWIN
- FFI_AIX,
- FFI_DARWIN,
- FFI_DEFAULT_ABI = FFI_DARWIN,
-#endif
-
-#ifdef POWERPC_FREEBSD
- FFI_SYSV,
- FFI_GCC_SYSV,
- FFI_LINUX64,
- FFI_LINUX,
- FFI_LINUX_SOFT_FLOAT,
- FFI_DEFAULT_ABI = FFI_SYSV,
-#endif
-
- FFI_LAST_ABI
-} ffi_abi;
-#endif
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#define FFI_NATIVE_RAW_API 0
-
-/* For additional types like the below, take care about the order in
- ppc_closures.S. They must follow after the FFI_TYPE_LAST. */
-
-/* Needed for soft-float long-double-128 support. */
-#define FFI_TYPE_UINT128 (FFI_TYPE_LAST + 1)
-
-/* Needed for FFI_SYSV small structure returns.
- We use two flag bits, (FLAG_SYSV_SMST_R3, FLAG_SYSV_SMST_R4) which are
- defined in ffi.c, to determine the exact return type and its size. */
-#define FFI_SYSV_TYPE_SMALL_STRUCT (FFI_TYPE_LAST + 2)
-
-#if defined(POWERPC64) || defined(POWERPC_AIX)
-# if defined(POWERPC_DARWIN64)
-# define FFI_TRAMPOLINE_SIZE 48
-# else
-# define FFI_TRAMPOLINE_SIZE 24
-# endif
-#else /* POWERPC || POWERPC_AIX */
-# define FFI_TRAMPOLINE_SIZE 40
-#endif
-
-#ifndef LIBFFI_ASM
-#if defined(POWERPC_DARWIN) || defined(POWERPC_AIX)
-struct ffi_aix_trampoline_struct {
- void * code_pointer; /* Pointer to ffi_closure_ASM */
- void * toc; /* TOC */
- void * static_chain; /* Pointer to closure */
-};
-#endif
-#endif
-
-#endif
diff --git a/.pc/ffitarget-include-fix/src/s390/ffitarget.h b/.pc/ffitarget-include-fix/src/s390/ffitarget.h
deleted file mode 100644
index a262691..0000000
--- a/.pc/ffitarget-include-fix/src/s390/ffitarget.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
- ffitarget.h - Copyright (c) 1996-2003 Red Hat, Inc.
- Target configuration macros for S390.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
-
- ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-#if defined (__s390x__)
-#ifndef S390X
-#define S390X
-#endif
-#endif
-
-/* ---- System specific configurations ----------------------------------- */
-
-#ifndef LIBFFI_ASM
-typedef unsigned long ffi_arg;
-typedef signed long ffi_sarg;
-
-typedef enum ffi_abi {
- FFI_FIRST_ABI = 0,
- FFI_SYSV,
- FFI_LAST_ABI,
- FFI_DEFAULT_ABI = FFI_SYSV
-} ffi_abi;
-#endif
-
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#ifdef S390X
-#define FFI_TRAMPOLINE_SIZE 32
-#else
-#define FFI_TRAMPOLINE_SIZE 16
-#endif
-#define FFI_NATIVE_RAW_API 0
-
-#endif
-
diff --git a/.pc/ffitarget-include-fix/src/sh/ffitarget.h b/.pc/ffitarget-include-fix/src/sh/ffitarget.h
deleted file mode 100644
index 4f1f639..0000000
--- a/.pc/ffitarget-include-fix/src/sh/ffitarget.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
- ffitarget.h - Copyright (c) 1996-2003 Red Hat, Inc.
- Target configuration macros for SuperH.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
-
- ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-/* ---- Generic type definitions ----------------------------------------- */
-
-#ifndef LIBFFI_ASM
-typedef unsigned long ffi_arg;
-typedef signed long ffi_sarg;
-
-typedef enum ffi_abi {
- FFI_FIRST_ABI = 0,
- FFI_SYSV,
- FFI_LAST_ABI,
- FFI_DEFAULT_ABI = FFI_SYSV
-} ffi_abi;
-#endif
-
-#define FFI_CLOSURES 1
-#define FFI_TRAMPOLINE_SIZE 16
-#define FFI_NATIVE_RAW_API 0
-
-#endif
-
diff --git a/.pc/ffitarget-include-fix/src/sh64/ffitarget.h b/.pc/ffitarget-include-fix/src/sh64/ffitarget.h
deleted file mode 100644
index d935b89..0000000
--- a/.pc/ffitarget-include-fix/src/sh64/ffitarget.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
- ffitarget.h - Copyright (c) 1996-2003 Red Hat, Inc.
- Target configuration macros for SuperH - SHmedia.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
-
- ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-/* ---- Generic type definitions ----------------------------------------- */
-
-#ifndef LIBFFI_ASM
-typedef unsigned long ffi_arg;
-typedef signed long ffi_sarg;
-
-typedef enum ffi_abi {
- FFI_FIRST_ABI = 0,
- FFI_SYSV,
- FFI_LAST_ABI,
- FFI_DEFAULT_ABI = FFI_SYSV
-} ffi_abi;
-
-#define FFI_EXTRA_CIF_FIELDS long long flags2
-#endif
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#define FFI_TRAMPOLINE_SIZE 32
-#define FFI_NATIVE_RAW_API 0
-
-#endif
-
diff --git a/.pc/ffitarget-include-fix/src/sparc/ffitarget.h b/.pc/ffitarget-include-fix/src/sparc/ffitarget.h
deleted file mode 100644
index 51275cb..0000000
--- a/.pc/ffitarget-include-fix/src/sparc/ffitarget.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
- ffitarget.h - Copyright (c) 1996-2003 Red Hat, Inc.
- Target configuration macros for SPARC.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
-
- ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-/* ---- System specific configurations ----------------------------------- */
-
-#if defined(__arch64__) || defined(__sparcv9)
-#ifndef SPARC64
-#define SPARC64
-#endif
-#endif
-
-#ifndef LIBFFI_ASM
-typedef unsigned long ffi_arg;
-typedef signed long ffi_sarg;
-
-typedef enum ffi_abi {
- FFI_FIRST_ABI = 0,
- FFI_V8,
- FFI_V8PLUS,
- FFI_V9,
- FFI_LAST_ABI,
-#ifdef SPARC64
- FFI_DEFAULT_ABI = FFI_V9
-#else
- FFI_DEFAULT_ABI = FFI_V8
-#endif
-} ffi_abi;
-#endif
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#define FFI_NATIVE_RAW_API 0
-
-#ifdef SPARC64
-#define FFI_TRAMPOLINE_SIZE 24
-#else
-#define FFI_TRAMPOLINE_SIZE 16
-#endif
-
-#endif
-
diff --git a/.pc/ffitarget-include-fix/src/x86/ffitarget.h b/.pc/ffitarget-include-fix/src/x86/ffitarget.h
deleted file mode 100644
index 7c2b588..0000000
--- a/.pc/ffitarget-include-fix/src/x86/ffitarget.h
+++ /dev/null
@@ -1,124 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
- ffitarget.h - Copyright (c) 2012 Anthony Green
- Copyright (c) 1996-2003, 2010 Red Hat, Inc.
- Copyright (C) 2008 Free Software Foundation, Inc.
-
- Target configuration macros for x86 and x86-64.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
-
- ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-/* ---- System specific configurations ----------------------------------- */
-
-/* For code common to all platforms on x86 and x86_64. */
-#define X86_ANY
-
-#if defined (X86_64) && defined (__i386__)
-#undef X86_64
-#define X86
-#endif
-
-#ifdef X86_WIN64
-#define FFI_SIZEOF_ARG 8
-#define USE_BUILTIN_FFS 0 /* not yet implemented in mingw-64 */
-#endif
-
-/* ---- Generic type definitions ----------------------------------------- */
-
-#ifndef LIBFFI_ASM
-#ifdef X86_WIN64
-#ifdef _MSC_VER
-typedef unsigned __int64 ffi_arg;
-typedef __int64 ffi_sarg;
-#else
-typedef unsigned long long ffi_arg;
-typedef long long ffi_sarg;
-#endif
-#else
-typedef unsigned long ffi_arg;
-typedef signed long ffi_sarg;
-#endif
-
-typedef enum ffi_abi {
- FFI_FIRST_ABI = 0,
-
- /* ---- Intel x86 Win32 ---------- */
-#ifdef X86_WIN32
- FFI_SYSV,
- FFI_STDCALL,
- FFI_THISCALL,
- FFI_FASTCALL,
- FFI_LAST_ABI,
- /* TODO: Add fastcall support for the sake of completeness */
- FFI_DEFAULT_ABI = FFI_SYSV
-
-#elif defined(X86_WIN64)
- FFI_WIN64,
- FFI_LAST_ABI,
- FFI_DEFAULT_ABI = FFI_WIN64
-
-#else
- /* ---- Intel x86 and AMD x86-64 - */
- FFI_SYSV,
- FFI_UNIX64, /* Unix variants all use the same ABI for x86-64 */
- FFI_LAST_ABI,
-#if defined(__i386__) || defined(__i386)
- FFI_DEFAULT_ABI = FFI_SYSV
-#else
- FFI_DEFAULT_ABI = FFI_UNIX64
-#endif
-#endif
-} ffi_abi;
-#endif
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#define FFI_TYPE_SMALL_STRUCT_1B (FFI_TYPE_LAST + 1)
-#define FFI_TYPE_SMALL_STRUCT_2B (FFI_TYPE_LAST + 2)
-#define FFI_TYPE_SMALL_STRUCT_4B (FFI_TYPE_LAST + 3)
-
-#if defined (X86_64) || (defined (__x86_64__) && defined (X86_DARWIN))
-#define FFI_TRAMPOLINE_SIZE 24
-#define FFI_NATIVE_RAW_API 0
-#else
-#ifdef X86_WIN32
-#define FFI_TRAMPOLINE_SIZE 52
-#else
-#ifdef X86_WIN64
-#define FFI_TRAMPOLINE_SIZE 29
-#define FFI_NATIVE_RAW_API 0
-#define FFI_NO_RAW_API 1
-#else
-#define FFI_TRAMPOLINE_SIZE 10
-#endif
-#endif
-#ifndef X86_WIN64
-#define FFI_NATIVE_RAW_API 1 /* x86 has native raw api support */
-#endif
-#endif
-
-#endif
-
diff --git a/.pc/fix-grammar/.timestamp b/.pc/fix-grammar/.timestamp
deleted file mode 100644
index e69de29..0000000
--- a/.pc/fix-grammar/.timestamp
+++ /dev/null
diff --git a/.pc/fix-grammar/ChangeLog b/.pc/fix-grammar/ChangeLog
deleted file mode 100644
index 458a629..0000000
--- a/.pc/fix-grammar/ChangeLog
+++ /dev/null
@@ -1,4569 +0,0 @@
-2012-02-10 Kai Tietz <ktietz@redhat.com>
-
- * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
- windows target.
- * configure: Regenerated.
-
-2012-02-08 Kai Tietz <ktietz@redhat.com>
-
- * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
- also FFI_THISCALL.
- * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
- (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
- (ffi_prep_closure_loc): Add FFI_THISCALL support.
- * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
- * src/x86/win32.S (ffi_closure_THISCALL): New closure code
- for thiscall-calling convention.
- * testsuite/libffi.call/closure_thiscall.c: New test.
-
-2012-01-28 Kai Tietz <ktietz@redhat.com>
-
- * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
- argument to prototype for specify calling-convention.
- (ffi_call): Add support for stdcall/thiscall convention.
- (ffi_prep_args): Likewise.
- (ffi_raw_call): Likewise.
- * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
- FFI_FASTCALL.
- * src/x86/win32.S (_ffi_call_win32): Add support for
- fastcall/thiscall calling-convention calls.
- * testsuite/libffi.call/fastthis1_win32.c: New test.
- * testsuite/libffi.call/fastthis2_win32.c: New test.
- * testsuite/libffi.call/fastthis3_win32.c: New test.
- * testsuite/libffi.call/strlen2_win32.c: New test.
- * testsuite/libffi.call/many2_win32.c: New test.
- * testsuite/libffi.call/struct1_win32.c: New test.
- * testsuite/libffi.call/struct2_win32.c: New test.
-
-2012-01-23 Andreas Schwab <schwab@linux-m68k.org>
-
- * src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
- mc68000. Test for __HAVE_68881__ in addition to __MC68881__.
-
-2012-01-19 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/48496
- * src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
-
-2012-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (i?86-*-*): Set TARGET to X86_64.
- * configure: Regenerate.
-
-2011-12-07 Andrew Pinski <apinski@cavium.com>
-
- PR libffi/50051
- * src/mips/n32.S: Add ".set mips4".
-
-2011-11-21 Andreas Tobler <andreast@fgznet.ch>
-
- * configure: Regenerate.
-
-2011-11-10 Richard Henderson <rth@redhat.com>
-
- * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
- * configure, aclocal.m4: Rebuild.
-
-2011-09-04 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/49594
- * src/powerpc/darwin_closure.S (stubs): Make the stub binding
- helper reference track the architecture pointer size.
-
-2011-08-25 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
- instructions.
- * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
-
-2011-07-11 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46660
- * testsuite/libffi.call/cls_double_va.c: xfail dg-output on
- mips-sgi-irix6*.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
- PRId8 instead of %hhu, %hhd.
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
- PRIu8): Define.
- [__sgi__] (PRId8, PRIu8): Define.
-
-2011-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
- Define.
- Use them to handle ELF vs. ECOFF differences.
- [__osf__] (_GLOBAL__F_ffi_call_osf): Define.
-
-2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2011-02-11 Anthony Green <green@moxielogic.com>
-
- From Tom Honermann <tom.honermann@oracle.com>:
- * src/powerpc/aix.S (ffi_call_AIX): Support for xlc toolchain on
- AIX. Declare .ffi_prep_args. Insert nops after branch
- instructions so that the AIX linker can insert TOC reload
- instructions.
- * src/powerpc/aix_closure.S: Declare .ffi_closure_helper_DARWIN.
-
-2011-02-08 Uli Link <ul.mcamafia@linkitup.de>
-
- * include/ffi.h.in (FFI_64_BIT_MAX): Define and use.
-
-2011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46661
- * testsuite/libffi.call/cls_pointer.c (main): Cast void * to
- uintptr_t first.
- * testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
-
-2011-02-08 Rafael Avila de Espindola <respindola@mozilla.com>
-
- * configure.ac: Fix x86 test for pc related relocs.
- * configure: Rebuilt.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
- Handle case when CPU variant does not have long double support.
- * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
- and cores with soft floating point.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * configure.ac: Add mips*-*-rtems* support.
- * configure: Regenerate.
- * src/mips/ffitarget.h: Ensure needed constants are available
- for targets which do not have sgidefs.h.
-
-2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR target/40125
- * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
- * configure: Regenerate.
-
-2010-12-18 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/29152
- PR libffi/42378
- * src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
- (FFI_TRAMPOLINE_SIZE): Update for Darwin64.
- * src/powerpc/darwin.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
- backslashes.
- (libffi_cv_as_string_pseudo_op): Likewise.
- * configure: Regenerate.
-
-2010-12-03 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
- (ffi_closure_VFP): Same.
- (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
- directive.
-
-2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
- (PRIuPTR): Define.
-
-2010-11-29 Richard Henderson <rth@redhat.com>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
- (.eh_frame): Use FDE_ENCODING.
- (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
-
-2010-11-22 Jacek Caban <jacek@codeweavers.com>
-
- * configure.ac: Check for symbol underscores on mingw-w64.
- * configure: Rebuilt.
- * src/x86/win64.S: Correctly access extern symbols in respect to
- underscores.
-
-2010-11-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp: Rename ...
- * testsuite/lib/libffi.exp: ... to this.
- * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
- * libffi/testsuite/libffi.special/special.exp: Likewise.
-
-2010-10-28 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
- code, new parameter, and return value. Update comments.
- (ffi_prep_cif_machdep): Add case for VFP struct return values. Add
- call to layout_vfp_args().
- (ffi_call_SYSV): Update declaration.
- (ffi_call_VFP): New declaration.
- (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
- when ABI is FFI_VFP.
- (ffi_closure_VFP): New declaration.
- (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
- ffi_prep_incoming_args_SYSV().
- (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
- case handling.
- (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
- construction under VFP hard-float.
- (rec_vfp_type_p): New function.
- (vfp_type_p): Same.
- (place_vfp_arg): Same.
- (layout_vfp_args): Same.
- * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
- based on __ARM_PCS_VFP.
- (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
- fields.
- (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
- (FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
- * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
- direct call. Move function pointer load upwards.
- (ffi_call_VFP): New function.
- (ffi_closure_VFP): Same.
-
- * testsuite/lib/libffi-dg.exp (check-flags): New function.
- (dg-skip-if): New function.
- * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
- and compiler options include -mfloat-abi=hard.
- * testsuite/libffi.call/cls_longdouble_va.c: Same.
-
-2010-10-01 Jakub Jelinek <jakub@redhat.com>
-
- PR libffi/45677
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
- a multiple of 8.
- * testsuite/libffi.call/many2.c: New test.
-
-2010-08-20 Mark Wielaard <mjw@redhat.com>
-
- * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
- returns NULL.
-
-2010-08-09 Andreas Tobler <andreast@fgznet.ch>
-
- * configure.ac: Add target powerpc64-*-freebsd*.
- * configure: Regenerate.
- * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
- -mlong-double-128 only to linux targets.
- * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
- * testsuite/libffi.call/cls_longdouble.c: Likewise.
- * testsuite/libffi.call/huge_struct.c: Likewise.
-
-2010-08-05 Dan Witte <dwitte@mozilla.com>
-
- * Makefile.am: Pass FFI_DEBUG define to msvcc.sh for linking to the
- debug CRT when --enable-debug is given.
- * configure.ac: Define it.
- * msvcc.sh: Translate -g and -DFFI_DEBUG appropriately.
-
-2010-08-04 Dan Witte <dwitte@mozilla.com>
-
- * src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64
- platforms.
- * src/x86/ffi.c: Remove redundant ifdef checks.
- * src/prep_cif.c: Push stack space computation into src/x86/ffi.c
- for X86_ANY so return value space doesn't get added twice.
-
-2010-08-03 Neil Rashbrooke <neil@parkwaycc.co.uk>
-
- * msvcc.sh: Don't pass -safeseh to ml64 because behavior is buggy.
-
-2010-07-22 Dan Witte <dwitte@mozilla.com>
-
- * src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
- * src/prep_cif.c: Fix ABI assertion.
- * src/cris/ffi.c: Ditto.
-
-2010-07-10 Evan Phoenix <evan@fallingsnow.net>
-
- * src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
-
-2010-07-07 Dan Horák <dan@danny.cz>
-
- * include/ffi.h.in: Protect #define with #ifndef.
- * src/powerpc/ffitarget.h: Ditto.
- * src/s390/ffitarget.h: Ditto.
- * src/sparc/ffitarget.h: Ditto.
-
-2010-07-07 Neil Roberts <neil@linux.intel.com>
-
- * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
- 16-bytes.
-
-2010-07-02 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
- * Makefile.in: Regenerated.
-
-2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
- output, too.
- (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
- (libffi_cv_as_string_pseudo_op): Check for .string.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
-
-2010-05-11 Dan Witte <dwitte@mozilla.com>
-
- * doc/libffi.tex: Document previous change.
-
-2010-05-11 Makoto Kato <m_kato@ga2.so-net.ne.jp>
-
- * src/x86/ffi.c (ffi_call): Don't copy structs passed by value.
-
-2010-05-05 Michael Kohler <michaelkohler@live.com>
-
- * src/dlmalloc.c (dlfree): Fix spelling.
- * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
- * configure.ac: Ditto.
- * configure: Rebuilt.
-
-2010-04-13 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Build with -W3 instead of -Wall.
- * src/powerpc/ffi_darwin.c: Remove build warnings.
- * src/x86/ffi.c: Ditto.
- * src/x86/ffitarget.h: Ditto.
-
-2010-04-12 Dan Witte <dwitte@mozilla.com>
- Walter Meinl <wuno@lsvw.de>
-
- * configure.ac: Add OS/2 support.
- * configure: Rebuilt.
- * src/closures.c: Ditto.
- * src/dlmalloc.c: Ditto.
- * src/x86/win32.S: Ditto.
-
-2010-04-07 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
-
-2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2010-03-30 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Disable build warnings.
- * README (tested): Clarify windows build procedure.
-
-2010-03-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * libffi/src/x86/unix64.S (.eh_frame)
- [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
-
-2010-03-14 Matthias Klose <doko@ubuntu.com>
-
- * src/x86/ffi64.c: Fix typo in comment.
- * src/x86/ffi.c: Use /* ... */ comment style.
-
-2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/libffi.texi (The Closure API): Fix typo.
- * doc/libffi.info: Remove.
-
-2010-02-15 Matthias Klose <doko@ubuntu.com>
-
- * src/arm/sysv.S (__ARM_ARCH__): Define for processor
- __ARM_ARCH_7EM__.
-
-2010-01-15 Anthony Green <green@redhat.com>
-
- * README: Add notes on building with Microsoft Visual C++.
-
-2010-01-15 Daniel Witte <dwitte@mozilla.com>
-
- * msvcc.sh: New file.
-
- * src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
- * src/x86/ffi.c: Tweak function declaration and remove excess
- parens.
- * include/ffi.h.in: Add __declspec(align(8)) to typedef struct
- ffi_closure.
-
- * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
- function ffi_call_win32 on X86_WIN32.
- * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
- (ffi_call_STDCALL): Remove.
-
- * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
- to ffi_prep_cif_machdep for x86.
- * src/x86/ffi.c (ffi_prep_cif_machdep): To here.
-
-2010-01-15 Oliver Kiddle <okiddle@yahoo.co.uk>
-
- * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
- Sun Studio compiler compatibility.
-
-2010-01-12 Conrad Irwin <conrad.irwin@gmail.com>
-
- * doc/libffi.texi: Add closure example.
-
-2010-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40701
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
- PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
- * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
- alpha*-dec-osf*.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/return_ll1.c: Likewise.
- * testsuite/libffi.call/stret_medium2.c: Likewise.
- * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
- MAP_FAILED to char *.
-
-2010-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
-
-2009-12-31 Anthony Green <green@redhat.com>
-
- * README: Update for libffi 3.0.9.
-
-2009-12-27 Matthias Klose <doko@ubuntu.com>
-
- * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
- appropriate.
- * configure: Rebuilt.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
- avr32*-*-*.
- * testsuite/libffi.call/cls_double_va.c: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
- and inttypes.h.
- * testsuite/libffi.special/unwindtest.cc: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-openbsd*.
- * configure: Rebuilt.
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
- openbsd programs with -lpthread.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
- mips*-*-* and arm*-*-*.
- * testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c,
- testsuite/libffi.call/stret_medium2.c,
- testsuite/libffi.call/stret_medium.c,
- testsuite/libffi.call/stret_large.c,
- testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
-
-2009-12-31 Kay Tietz <ktietz70@googlemail.com>
-
- * testsuite/libffi.call/ffitest.h,
- testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
- definitions.
-
-2009-12-31 Carlo Bramini <carlo.bramix@libero.it>
-
- * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
- * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
-
-2009-12-31 Anthony Green <green@redhat.com>
- Blake Chaffin.
-
- * testsuite/libffi.call/huge_struct.c: New test case from Blake
- Chaffin @ Apple.
-
-2009-12-28 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
- local variables.
- (aix_adjust_aggregate_sizes): New function.
- (ffi_prep_cif_machdep): Call it.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
- * configure: Regenerate.
- * fficonfig.h.in: Likewise.
- * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
- Solaris/x86.
-
-2009-12-26 Andreas Schwab <schwab@linux-m68k.org>
-
- * 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.
-
-2009-12-25 Matthias Klose <doko@ubuntu.com>
-
- * man/ffi_call.3: Fix #include in examples.
- * doc/libffi.texi: Add dircategory.
-
-2009-12-25 Frank Everdij <f.p.x.everdij@tudelft.nl>
-
- * include/ffi.h.in: Placed '__GNUC__' ifdef around
- '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
- IRIX MIPSPro c99.
- * include/ffi_common.h: Added '__sgi' define to non
- '__attribute__((__mode__()))' integer typedefs.
- * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
- ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
- (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
- FFI_LONGDOUBLE support and alignment(N32 only).
- * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
- fixed non '__attribute__((__mode__()))' integer typedefs.
- * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
- since they are Linux/GNU Assembler specific.
-
-2009-12-25 Bradley Smith <brad@brad-smith.co.uk>
-
- * configure.ac, Makefile.am, src/avr32/ffi.c,
- src/avr32/ffitarget.h,
- src/avr32/sysv.S: Add AVR32 port.
- * configure, Makefile.in: Rebuilt.
-
-2009-12-21 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
- * configure: Regenerate.
-
-2009-12-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
- type on HP-UX.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
- double' arguments.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40700
- * src/closures.c [X86_64 && __sun__ && __svr4__]
- (FFI_MMAP_EXEC_WRIT): Define.
-
-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.
-
-2009-12-07 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
- typo.
-
-2009-12-05 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
- code.
- * src/powerpc/aix_closure.S: Same.
-
-2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
- linux64_closure.S.
-
-2009-12-04 Uros Bizjak <ubizjak@gmail.com>
-
- 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.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
- pfr for long double split between fpr13 and stack.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
- fparg_count twice for long double.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- PR libffi/42243
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03 Uros Bizjak <ubizjak@gmail.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
- Remove xfails for x86 linux targets.
-
-2009-12-02 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
- case.
-
-2009-12-01 David Edelsohn <edelsohn@gnu.org>
-
- * 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.
-
-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.
-
-2009-11-02 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/41908
- * testsuite/libffi.call/testclosure.c: New test.
-
-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.
-
-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.
-
-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.
-
-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.
-
-2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.am (install-html, install-pdf): Remove.
- * Makefile.in: Regenerate.
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24 Dave Korn <dave.korn.cygwin@gmail.com>
-
- 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.
-
-2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
-
- 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.
-
-2009-07-01 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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 "".)
-
-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.
-
-2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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.
-
-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.
-
-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.
-
-2009-06-16 Andrew Haley <aph@redhat.com>
-
- * configure.ac (TARGETDIR): Add missing blank lines.
- * configure: Regenerate.
-
-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.
-
-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.
-
-2009-06-12 Andrew Haley <aph@redhat.com>
-
- * Makefile.am: Remove info_TEXINFOS.
-
-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-11 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * 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.
-
-2009-06-09 Andrew Haley <aph@redhat.com>
-
- * src/x86/freebsd.S: Add missing file.
-
-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).
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * README: Import from libffi 3.0.8.
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Add xfails.
- * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
- * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
- * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
- * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
- * testsuite/libffi.call/stret_medium.c: Likewise.
- * testsuite/libffi.call/stret_large2.c: Likewise.
- * testsuite/libffi.call/stret_large.c: Likewise.
-
-2008-12-26 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_align_longdouble.c,
- testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
- failures on x86_64 cygwin/mingw.
-
-2008-12-22 Timothy Wall <twall@users.sf.net>
-
- * 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_loc_fn0.c,
- testsuite/libffi.call/closure_stdcall.c,
- testsuite/libffi.call/cls_align_pointer.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
- pointer to integer (intptr_t).
- * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_dbls_struct.c,
- testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c,
- testsuite/libffi.call/err_bad_abi.c: Clean up failures from
- compiler warnings.
-
-2008-03-04 Anthony Green <green@redhat.com>
- Blake Chaffin
- hos@tamanegi.org
-
- * testsuite/libffi.call/cls_align_longdouble_split2.c
- testsuite/libffi.call/cls_align_longdouble_split.c
- testsuite/libffi.call/cls_dbls_struct.c
- testsuite/libffi.call/cls_double_va.c
- testsuite/libffi.call/cls_longdouble.c
- testsuite/libffi.call/cls_longdouble_va.c
- testsuite/libffi.call/cls_pointer.c
- testsuite/libffi.call/cls_pointer_stack.c
- testsuite/libffi.call/err_bad_abi.c
- testsuite/libffi.call/err_bad_typedef.c
- testsuite/libffi.call/stret_large2.c
- testsuite/libffi.call/stret_large.c
- testsuite/libffi.call/stret_medium2.c
- testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
- libffi.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
- stdcall changes.
-
-2008-02-26 Anthony Green <green@redhat.com>
- Thomas Heller <theller@ctypes.org>
-
- * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
- comment.
-
-2008-02-03 Timothy Wall <twall@users.sf.net>
-
- * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
- offset based on code pointer, not data pointer.
-
-2008-01-31 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
- closures.
- * src/x86/ffitarget.h: Increase size of trampoline for stdcall
- closures.
- * src/x86/win32.S: Add assembly for stdcall closure.
- * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Change void (*)() to void (*)(void).
- * src/x86/ffi.c: Likewise.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ppc_closure.S: Insert licence header.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/m68k/sysv.S: Likewise.
-
- * src/sh64/ffi.c: Change void (*)() to void (*)(void).
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/m32r/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi64.c: Likewise.
- * src/alpha/ffi.c: Likewise.
- * src/alpha/osf.S: Likewise.
- * src/frv/ffi.c: Likewise.
- * src/s390/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/pa/hpux32.S: Likewise.
- * src/ia64/unix.S: Likewise.
- * src/ia64/ffi.c: Likewise.
- * src/sparc/ffi.c: Likewise.
- * src/mips/ffi.c: Likewise.
- * src/sh/ffi.c: Likewise.
-
-2008-02-15 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
- Define (conditionally), and use it to include cachectl.h.
- (ffi_prep_closure_loc): Fix cache flushing.
- * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- include/ffi.h.in,
- src/arm/ffitarget.h,
- src/arm/ffi.c,
- src/arm/sysv.S,
- src/powerpc/ffitarget.h,
- src/closures.c,
- src/sh64/ffitarget.h,
- src/sh64/ffi.c,
- src/sh64/sysv.S,
- src/types.c,
- src/x86/ffi64.c,
- src/x86/ffitarget.h,
- src/x86/win32.S,
- src/x86/darwin.S,
- src/x86/ffi.c,
- src/x86/sysv.S,
- src/x86/unix64.S,
- src/alpha/ffitarget.h,
- src/alpha/ffi.c,
- src/alpha/osf.S,
- src/m68k/ffitarget.h,
- src/frv/ffitarget.h,
- src/frv/ffi.c,
- src/s390/ffitarget.h,
- src/s390/sysv.S,
- src/cris/ffitarget.h,
- src/pa/linux.S,
- src/pa/ffitarget.h,
- src/pa/ffi.c,
- src/raw_api.c,
- src/ia64/ffitarget.h,
- src/ia64/unix.S,
- src/ia64/ffi.c,
- src/ia64/ia64_flags.h,
- src/java_raw_api.c,
- src/debug.c,
- src/sparc/v9.S,
- src/sparc/ffitarget.h,
- src/sparc/ffi.c,
- src/sparc/v8.S,
- src/mips/ffitarget.h,
- src/mips/n32.S,
- src/mips/o32.S,
- src/mips/ffi.c,
- src/prep_cif.c,
- src/sh/ffitarget.h,
- src/sh/ffi.c,
- src/sh/sysv.S: Update license text.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * src/x86/win32.S (_ffi_closure_STDCALL): New function.
- (.eh_frame): Add FDE for it.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * configure.ac: Also check if assembler supports pc-relative
- relocs on X86_WIN32 targets.
- * configure: Regenerate.
- * src/x86/win32.S (ffi_prep_args): Declare extern, not global.
- (_ffi_call_SYSV): Add missing function type symbol .def and
- add EH markup labels.
- (_ffi_call_STDCALL): Likewise.
- (_ffi_closure_SYSV): Likewise.
- (_ffi_closure_raw_SYSV): Likewise.
- (.eh_frame): Add hand-crafted EH data.
-
-2009-04-09 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
- version 3 of the GNU General Public License and to point readers
- at the COPYING3 file and the FSF's license web page.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-12-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libffi/26048
- * configure.ac (HAVE_AS_X86_PCREL): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
- RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
- RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
- * src/x86/unix64.S (.Lstore_table): Move to .text section.
- (.Lload_table): Likewise.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
- signed/unsigned int8/16 return values.
- * src/sparc/v8.S (ffi_call_v8): Likewise.
- (ffi_closure_v8): Likewise.
-
-2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
- Steve Ellcey <sje@cup.hp.com>
-
- * configure: Regenerate for new libtool.
- * Makefile.in: Ditto.
- * include/Makefile.in: Ditto.
- * aclocal.m4: Ditto.
-
-2008-08-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
- FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
- Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
- Adjust copyright notice.
- * src/powerpc/ffi.c: Add two new flags to indicate if we have one
- register or two register to use for FFI_SYSV structs.
- (ffi_prep_cif_machdep): Pass the right register flag introduced above.
- (ffi_closure_helper_SYSV): Fix the return type for
- FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
- Adjust copyright notice.
-
-2008-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
- int.
-
-2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2008-06-07 Joseph Myers <joseph@codesourcery.com>
-
- * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
- powerpc-*-beos*): Remove.
- * configure: Regenerate.
-
-2008-05-09 Julian Brown <julian@codesourcery.com>
-
- * Makefile.am (LTLDFLAGS): New.
- (libffi_la_LDFLAGS): Use above.
- * Makefile.in: Regenerate.
-
-2008-04-18 Paolo Bonzini <bonzini@gnu.org>
-
- PR bootstrap/35457
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2008-03-26 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add .note.GNU-stack on Linux.
- * src/sh64/sysv.S: Likewise.
-
-2008-03-26 Daniel Jacobowitz <dan@debian.org>
-
- * src/arm/sysv.S: Fix ARM comment marker.
-
-2008-03-26 Jakub Jelinek <jakub@redhat.com>
-
- * src/alpha/osf.S: Add .note.GNU-stack on Linux.
- * src/s390/sysv.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
- * src/x86/unix64.S: Likewise.
- * src/x86/sysv.S: Likewise.
- * src/sparc/v8.S: Likewise.
- * src/sparc/v9.S: Likewise.
- * src/m68k/sysv.S: Likewise.
- * src/arm/sysv.S: Likewise.
-
-2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * aclocal.m4: Regenerate.
- * configure: Likewise.
- * Makefile.in: Likewise.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2008-02-12 Bjoern Koenig <bkoenig@alpha-tierchen.de>
- Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-freebsd* target.
- * configure: Regenerate.
-
-2008-01-30 H.J. Lu <hongjiu.lu@intel.com>
-
- PR libffi/34612
- * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
- returning struct.
-
- * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
- tests.
-
-2008-01-24 David Edelsohn <edelsohn@gnu.org>
-
- * configure: Regenerate.
-
-2008-01-06 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
-
-2008-01-05 Andreas Tobler <a.tobler@schweiz.org>
-
- PR testsuite/32843
- * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
- signed/unsigned int8/16 for X86_DARWIN.
- Updated copyright info.
- Handle one and two byte structs with special cif->flags.
- * src/x86/ffitarget.h: Add special types for one and two byte structs.
- Updated copyright info.
- * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
- sysv.S
- Remove code to pop args from the stack after call.
- Special-case signed/unsigned for int8/16, one and two byte structs.
- (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
- FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
- FFI_TYPE_SINT32.
- Updated copyright info.
-
-2007-12-08 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_call_N32): Replace dadd with ADDU, dsub with
- SUBU, add with ADDU and use smaller code sequences.
-
-2007-12-07 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
- type.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
- defined.
- (ffi_java_raw): New typedef.
- (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
- ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
- ffi_java_raw.
- (ffi_java_raw_closure) : Same.
- (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
- parameter types.
- * src/java_raw_api.c (ffi_java_raw_size): Replace FFI_SIZEOF_ARG with
- FFI_SIZEOF_JAVA_RAW.
- (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
- Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
- sizeof(ffi_java_raw) for alignment calculations.
- (ffi_java_ptrarray_to_raw): Same.
- (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
- if FFI_SIZEOF_JAVA_RAW == 4.
- (ffi_java_raw_to_rvalue): Same.
- (ffi_java_raw_call): Change type of raw to ffi_java_raw.
- (ffi_java_translate_args): Same.
- (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
- parameter types.
- * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
- pointer values.
-
-2007-12-01 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/31937
- * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
- Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
- * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
- set the NUM_FPR_ARG_REGISTERS according to.
- Add support for potential soft-float support under hard-float
- architecture.
- (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
- FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
- to the FFI_LINUX_SOFT_FLOAT ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Make sure not to store float/double
- on archs where __NO_FPRS__ is true.
- Add FFI_TYPE_UINT128 support.
- * src/powerpc/sysv.S: Add support for soft-float long-double-128.
- Adjust copyright notice.
-
-2007-11-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
- * include/ffi_common.h: ... here.
- Update copyright.
-
-2007-11-17 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
- * testsuite/libffi.call/return_ldl.c: New test.
-
-2007-09-04 <aph@redhat.com>
-
- * src/arm/sysv.S (UNWIND): New.
- (Whole file): Conditionally compile unwinder directives.
- * src/arm/sysv.S: Add unwinder directives.
-
- * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
- Only treat r0 as a struct address if we're actually returning a
- struct by address.
- Only copy the bytes that are actually within a struct.
- (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
- is returned in r0, not passed by address.
- (ffi_call): Allocate a word-sized temporary for the case where
- a composite is returned in r0.
- (ffi_prep_incoming_args_SYSV): Align as necessary.
-
-2007-08-05 Steven Newbury <s_j_newbury@yahoo.co.uk>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
- directly using the sys_cacheflush syscall.
-
-2007-07-27 Andrew Haley <aph@redhat.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
-
-2007-09-03 Maciej W. Rozycki <macro@linux-mips.org>
-
- * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure: Likewise.
-
-2007-08-24 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/return_sl.c: New test.
-
-2007-08-10 David Daney <ddaney@avtrex.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/nested_struct5.c,
- testsuite/libffi.call/cls_double.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/nested_struct.c,
- testsuite/libffi.call/cls_2byte.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_sint16.c,
- testsuite/libffi.call/cls_align_uint32.c,
- testsuite/libffi.call/cls_20byte.c,
- testsuite/libffi.call/cls_float.c,
- testsuite/libffi.call/nested_struct2.c,
- testsuite/libffi.call/cls_5_1_byte.c,
- testsuite/libffi.call/nested_struct4.c,
- testsuite/libffi.call/cls_24byte.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: Remove xfail for mips64*-*-*.
-
-2007-08-10 David Daney <ddaney@avtrex.com>
-
- 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.
-
-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*.
- * 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.
-
-2006-12-13 Andreas Tobler <a.tobler@schweiz.org>
-
- * aclocal.m4: Regenerate with aclocal -I .. as written in the
- Makefile.am.
-
-2006-10-31 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
- (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
- Darwin.
- * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
- * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10 Paolo Bonzini <bonzini@gnu.org>
- Sandro Tolaini <tolaini@libero.it>
-
- * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
- conditional.
- * configure: Regenerated.
- * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
- (EXTRA_DIST): Add src/x86/darwin.S.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
- X86_WIN32, and additionally align stack to 16 bytes.
- * src/x86/darwin.S: New, based on sysv.S.
- * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12 David Daney <ddaney@avtrex.com>
-
- PR libffi/23935
- * include/Makefile.am: Install both ffi.h and ffitarget.h in
- $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
- * aclocal.m4: Regenerated for automake 1.9.6.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
-2006-08-17 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h: Remove lint directives.
- * include/ffi.h.in: Likewise.
-
-2006-07-25 Torsten Schoenfeld <kaffeetisch@gmx.de>
-
- * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
- for 32-bit architectures.
- * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
- xfail remains for mips64.
-
-2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
-
- * Makefile.am: Add install-html target. Add install-html to .PHONY
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
- stack slot.
-
-2006-04-22 Andreas Tobler <a.tobler@schweiz.ch>
-
- * README: Remove notice about 'Crazy Comments'.
- * src/debug.c: Remove lint directives. Cleanup white spaces.
- * src/java_raw_api.c: Likewise.
- * src/prep_cif.c: Likewise.
- * src/raw_api.c: Likewise.
- * src/ffitest.c: Delete. No longer needed, all test cases migrated
- to the testsuite.
- * src/arm/ffi.c: Remove lint directives.
- * src/m32r/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/sh/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/pa/hpux32.S: Correct unwind offset calculation for
- ffi_closure_pa32.
- * src/pa/linux.S: Likewise.
-
-2006-04-12 James E Wilson <wilson@specifix.com>
-
- PR libgcj/26483
- * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
- (hfa_type_load): Call stf_spill.
- (hfa_type_store): Call ldf_fill.
- (ffi_call): Adjust calls to above routines. Add local temps for
- macro result.
-
-2006-04-10 Matthias Klose <doko@debian.org>
-
- * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
- directory names containing underscores.
-
-2006-04-07 James E Wilson <wilson@specifix.com>
-
- * testsuite/libffi.call/float4.c: New testcase.
-
-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.
-
-2006-03-24 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Default
- for 32-bit using IBM extended double format. Fix FFI_LAST_ABI.
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
- FFI_TYPE_LONGDOUBLE.
- (ffi_prep_args64): Assert using IBM extended double.
- (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
- Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
- (ffi_call): Handle FFI_LINUX.
- (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
- gpr3 return pointer as for struct return. Handle FFI_LINUX
- FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf"
- unnecessarily.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
- for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table.
- Don't use r6 as pointer to results, instead use sp offset. Don't
- make a special call to load lr with case table address, instead
- use offset from previous call.
- * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
- return.
-
-2006-03-15 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
- passed with FP registers correctly.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S: Likewise.
-
-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.
-
-2006-02-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
- -O2, -O3, -Os and the warning flags -W -Wall.
- * testsuite/libffi.special/special.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
- unused parameter unused for gcc or else do nothing.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
- * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
- * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
- * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
- * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
- * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
- * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
- * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
- * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
- void* to avoid compiler warning.
- (main): Likewise.
- (cls_struct_align_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
- * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
- * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
- userdata unused.
- (cls_ret_schar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
- userdata unused.
- (cls_ret_sint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
- userdata unused.
- (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn): Mark cif and
- userdata unused.
- (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
- userdata unused.
- (cls_ret_uint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
- userdata unused.
- (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
- * testsuite/libffi.call/float1.c (main): Remove unused variable i.
- Cleanup white spaces.
- * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
- * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
- cif and userdata unused.
- * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
- Likewise.
- * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
- formatters to silence gcc.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct4.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct6.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
- * testsuite/libffi.call/problem1.c (stub): Likewise.
- * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
- gcc.
- * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
- in the last commit for this test case in the test case itself.
- * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
- unused.
- * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
- * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
- * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
- * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
- * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
- * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Fix register numbers in the FDE for
- ffi_closure_SYSV.
-
-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.
-
-2006-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
- and cast integer to void * if needed. Update the pointer to
- the FP register saved area correctly.
-
-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.
-
-2006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/return_dbl.c: New test case.
- * testsuite/libffi.call/return_dbl1.c: Likewise.
- * testsuite/libffi.call/return_dbl2.c: Likewise.
- * testsuite/libffi.call/return_fl.c: Likewise.
- * testsuite/libffi.call/return_fl1.c: Likewise.
- * testsuite/libffi.call/return_fl2.c: Likewise.
- * testsuite/libffi.call/return_fl3.c: Likewise.
- * testsuite/libffi.call/closure_fn6.c: Likewise.
-
- * 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.
-
-2006-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.ac: Enable libffi for sparc64-*-freebsd*.
- * configure: Rebuilt.
-
-2006-01-18 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
- instead do the shifting inline.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
- shift count unconditionally. Simplify load sequences for 1, 2, 3, 4
- and 8 byte structs, for the remaining struct sizes don't call
- __lshrdi3, instead do the shifting inline.
-
-2005-12-07 Thiemo Seufer <ths@networkno.de>
-
- * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
- missing parentheses.
- * src/mips/o32.S (ffi_call_O32): Code formatting. Define
- and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
- (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
- A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
- V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
- FA_0_0_OFF2.
- * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
- endianness bugs.
- (ffi_prep_closure): Improve trampoline instruction scheduling.
- (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c: Formatting.
- (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
- (ffi_prep_args64): Likewise.
-
-2005-09-30 Geoffrey Keating <geoffk@apple.com>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
- darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26 Tom Tromey <tromey@redhat.com>
-
- * 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.
-
-2005-08-25 Alan Modra <amodra@bigpond.net.au>
-
- PR target/23404
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
- homed fp args.
- (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11 Jakub Jelinek <jakub@redhat.com>
-
- * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
- (AH_BOTTOM): Add FFI_HIDDEN definition.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * src/powerpc/ffi.c (hidden): Remove.
- (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
- ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
- .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
- * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
- add FFI_HIDDEN to its prototype.
- (ffi_closure_SYSV_inner): New.
- * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
- * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10 Alfred M. Szmidt <ams@gnu.org>
-
- PR libffi/21819:
- * configure: Rebuilt.
- * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
- DW_CFA_offset_extended_sf rather than
- DW_CFA_GNU_negative_offset_extended.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
-
- * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
- on sh3.
- (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
- * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
- partially on register.
- (ffi_closure_helper_SYSV): Likewise.
- (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_call): Handle small structures correctly.
- Remove empty line.
- * src/sh64/ffi.c (simple_type): Remove.
- (return_type): Handle small structures correctly.
- (ffi_prep_args): Likewise.
- (ffi_call): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
- Emit position independent code if PIC and remove wrong datalabel
- prefixes from EH data.
-
-2005-07-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure.ac: Add POWERPC_FREEBSD rules.
- * configure: Regenerate.
- * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
- (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
- * src/powerpc/ffi.c: Add flags to handle small structure returns
- in ffi_call_SYSV.
- (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
- Aka FFI_SYSV.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Add return types for small structures.
- * src/powerpc/sysv.S: Add bits to handle small structures for
- final SYSV 4 ABI.
-
-2005-07-10 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_5_1_byte.c: New test file.
- * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05 Randolph Chung <tausq@debian.org>
-
- * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
- as FFI_TYPE_SMALL_STRUCT3. Break out handling for 5-7 byte
- structures. Kill compilation warnings.
- (ffi_closure_inner_LINUX): Print return values as hex in debug
- message. Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
- Properly handle 5-7 byte structure returns.
- * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
- (FFI_TYPE_SMALL_STRUCT2): Remove.
- (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
- (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
- * src/pa/linux.S: Mark source file as using PA1.1 assembly.
- (checksmst1, checksmst2): Remove.
- (checksmst3): Optimize handling of 3-byte struct returns.
- (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libgcj/21943
- * src/mips/n32.S: Enforce PIC code.
- * src/mips/o32.S: Likewise.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
- * configure: Regenerate.
-
-2005-06-01 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
- to call ffi_closure_helper_SYSV. Append @local instead.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
- Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
- * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
- * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
- include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-05-08 Richard Henderson <rth@redhat.com>
-
- PR libffi/21285
- * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04 Andreas Degert <ad@papyrus-gmbh.de>
- Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
- bit 11 of flags.
- (ffi_call): Mask return type field. Pass ssecount to ffi_call_unix64.
- (ffi_prep_closure): Set carry bit if sse-used flag set.
- * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
- Only load sse registers if ssecount non-zero.
- (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
- powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
- * configure: Regenerate.
-
-2005-04-20 Hans-Peter Nilsson <hp@axis.com>
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
- have Tcl8.3-compatible intermediate variable.
-
-2005-04-18 Simon Posnjak <simon.posnjak@siol.net>
- Hans-Peter Nilsson <hp@axis.com>
-
- * Makefile.am: Add CRIS support.
- * configure.ac: Likewise.
- * Makefile.in, configure, testsuite/Makefile.in,
- include/Makefile.in: Regenerate.
- * src/cris: New directory.
- * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
- * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
- \r?\n in output tests.
-
-2005-04-12 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-03-30 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30 Steve Ellcey <sje@cup.hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
- (ffi_sarg) Ditto.
- * src/ia64/unix.S (ffi_closure_unix): Extend gp
- to 64 bits in ILP32 mode.
- Load 64 bits even for short data.
-
-2005-03-23 Mike Stump <mrs@apple.com>
-
- * src/powerpc/darwin.S: Update for -m64 multilib.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21 Zack Weinberg <zack@codesourcery.com>
-
- * 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.
-
-2005-02-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
- odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR libffi/20104
- * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11 Janis Johnson <janis187@us.ibm.com>
-
- * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
- * testsuite/libffi.call/float.c: Ditto.
- * testsuite/libffi.call/float2.c: Ditto.
- * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * testsuite/libffi.special/special.exp (cxx_options): Add
- -shared-libgcc.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
- (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
- offset parameters with a type parameter; deduce size and structure
- alignment. Update all users.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
- (FFI_TYPE_LONGDOUBLE): Fix for ia64.
- * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
- into ffi_prep_closure.
- * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
- from scratch.
-
-2004-12-27 Richard Henderson <rth@redhat.com>
-
- * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25 Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
- (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
- (merge_classes): Check for it.
- (SSE_CLASS_P): New.
- (classify_argument): Pass byte_offset by value; perform all updates
- inside struct case.
- (examine_argument): Add classes argument; handle
- X86_64_COMPLEX_X87_CLASS.
- (ffi_prep_args): Merge into ...
- (ffi_call): ... here. Share stack frame with ffi_call_unix64.
- (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
- (ffi_fill_return_value): Remove.
- (ffi_prep_closure): Remove dead assert.
- (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
- Rewrite to use struct register_args instead of va_list. Create
- flags for handling structure returns.
- * src/x86/unix64.S: Remove dead strings.
- (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share
- stack frame with ffi_call. Handle structure returns properly.
- (float2sse, floatfloat2sse, double2sse): Remove.
- (sse2float, sse2double, sse2floatfloat): Remove.
- (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite
- to handle structure returns properly.
-
-2004-12-08 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
- PICFLAG.
- * Makefile.in: Regenerated.
-
-2004-12-02 Richard Sandiford <rsandifo@redhat.com>
-
- * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
- * configure, aclocal.m4, Makefile.in: Regenerate.
- * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-25 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool reversion.
-
-2004-11-24 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23 Richard Sandiford <rsandifo@redhat.com>
-
- * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
- of jal. Use an absolute encoding for the frame information.
-
-2004-11-23 Kelley Cook <kcook@gcc.gnu.org>
-
- * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS.
- * acinclude.m4: Delete logic for sincludes.
- * aclocal.m4, Makefile.in, configure: Regenerate.
- * include/Makefile: Likewise.
- * testsuite/Makefile: Likewise.
-
-2004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
- on a 8-byte boundary.
- * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
- long long values. Round stack allocation to a multiple of 8 bytes
- for ATPCS compatibility.
- * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
- names. Handle returning long long types. Add Thumb and interworking
- support. Improve soft-float code.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
- (libffi_exit): New function.
- (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR other/18138
- * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
- * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
- the function returning a structure pointed with R2.
- * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
- the structure return value if T bit set. Emit position
- independent code and EH data if PIC.
-
-2004-10-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * Makefile.am: Add m32r support.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * confiugre: Regenerate.
- * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
- (uint64, sint64, double, longdouble)
- * src/m32r: New directory.
- * src/m32r/ffi.c: New file.
- * src/m32r/sysv.S: Likewise.
- * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * testsuite/libffi.call/negint.c: New test case.
-
-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.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/many_win32.c: Remove whitespaces.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
- whitespaces.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Fix comments and identation.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
- (ffi_prep_args): Handle longdouble arguments.
- (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
- longdouble.
- (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
- * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
- values.
- * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
- * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/aix.S: Remove whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
- * src/powerpc/asm.h: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffitarget.h: Likewise.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
-
-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.in: Read configure.host.
- * 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 shouldn't 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.
-
-2004-08-24 David Daney <daney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
- to zero.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23 David Daney <daney@avtrex.com>
-
- PR libgcj/13141
- * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
- * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
- (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
- parameters and return types.
- (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
- (ffi_prep_closure): Ditto.
- (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
- alignment calculations.
- * src/mips/o32.S (ffi_closure_O32): Don't use floating point
- instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14 Casey Marshall <csm@gnu.org>
-
- * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
- contain `FFI_TYPE_UINT64' as return type for any 64-bit
- integer (O32 ABI only).
- (ffi_prep_closure): new function.
- (ffi_closure_mips_inner_O32): new function.
- * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
- `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
- * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
- 64 bit integers correctly.
- (ffi_closure_O32): new function.
- Added DWARF-2 unwind info for both functions.
-
-2004-08-10 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01 Robert Millan <robertmh@gnu.org>
-
- * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
- * configure: Regenerate.
-
-2004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
-
- * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
- and mmap() explicitly instead of relying on preset autoconf cache
- variables.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
- (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
- character on Darwin, use '\n\t' instead.
-
-2004-06-26 Matthias Klose <doko@debian.org>
-
- * libtool-version: Fix typo in revision/age.
-
-2004-06-17 Matthias Klose <doko@debian.org>
-
- * libtool-version: New.
- * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
- * Makefile.in: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * Makefile.am: Remove useless multilib rules.
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate with automake 1.8.5.
- * configure.ac: Remove useless multilib configury.
- * configure: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * .cvsignore: New file.
-
-2004-06-10 Jakub Jelinek <jakub@redhat.com>
-
- * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
- fp_done.
- (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
- changed from 8.
-
-2004-06-06 Sean McNeil <sean@mcneil.com>
-
- * configure.ac: Add x86_64-*-freebsd* support.
- * configure: Regenerate.
-
-2004-04-26 Joe Buck <jbuck@welsh-buck.org>
-
- Bug 15093
- * configure.ac: Test for existence of mmap and sys/mman.h before
- checking blacklist. Fix suggested by Jim Wilson.
- * configure: Regenerate.
-
-2004-04-26 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
- FDE location.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
- error. Reported by Thomas Heller <theller@python.net>.
- * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20 Matthias Klose <doko@debian.org>
-
- * src/pa/linux.S: Fix typo.
-
-2004-03-19 Matthias Klose <doko@debian.org>
-
- * Makefile.am: Update.
- * Makefile.in: Regenerate.
- * src/pa/ffi.h.in: Remove.
- * src/pa/ffitarget.h: New file.
-
-2004-02-10 Randolph Chung <tausq@debian.org>
-
- * Makefile.am: Add PA support.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * configure.ac: Add PA target.
- * configure: Regenerate.
- * src/pa/ffi.c: New file.
- * src/pa/ffi.h.in: Add PA support.
- * src/pa/linux.S: New file.
- * prep_cif.c: Add PA support.
-
-2004-03-16 Hosaka Yuji <hos@tamanegi.org>
-
- * src/types.c: Fix alignment size of X86_WIN32 case int64 and
- double.
- * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
- with ecif->cif->flags.
- (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
- with cif->flags.
- (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
- (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
- * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
- sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.in: Rename file to ...
- * configure.ac: ... this.
- * fficonfig.h.in: Regenerate.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2004-03-12 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Fix EH information so it corresponds to
- changes in EH format resulting from addition of linkonce support.
- * src/powerpc/darwin_closure.S: Likewise.
-
-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.
-
-2004-03-11 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
- arguments from fp registers only for the first 8 parameter slots.
- Don't convert a float parameter when passed in memory.
-
-2004-03-09 Hans-Peter Nilsson <hp@axis.com>
-
- * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
-
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
- ecif->cif->bytes to bytes.
- (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
- * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
- (ffi_closure_helper_LINUX64): Fix typo.
- * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
- for powerpc64-*-*.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
- long double function return and long double arg handling.
- (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
- Use "end_pfr" instead of "nf". Correct long double handling.
- Localise "temp".
- * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
- return value.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
- space for long double return value. Adjust stack frame and offsets.
- Load f2 long double return.
-
-2004-02-07 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
- when the structure return address is passed in %o0.
- (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
- (ffi_v9_layout_struct): Align the field following a nested structure
- on a word boundary. Use memmove instead of memcpy.
- (ffi_call): Update call to ffi_V9_return_struct.
- (ffi_prep_closure): Define 'ctx' only for V8.
- (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
- and ffi_closure_sparc_inner_v9.
- (ffi_closure_sparc_inner_v8): Return long doubles by reference.
- Always skip the structure return address. For structures and long
- doubles, copy the argument directly.
- (ffi_closure_sparc_inner_v9): Skip the structure return address only
- if required. Shift the maximum floating-point slot accordingly. For
- big structures, copy the argument directly; otherwise, left-justify the
- argument and call ffi_v9_layout_struct to lay out the structure on
- the stack.
- * src/sparc/v8.S: Undef STACKFRAME before defining it.
- (ffi_closure_v8): Pass the structure return address. Update call to
- ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
- Skip the 'unimp' insn when returning long doubles and structures.
- * src/sparc/v9.S: Undef STACKFRAME before defining it.
- (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
- FFI_TYPE_INT handling. Load structures both in integers and
- floating-point registers on return.
- * README: Update status of the SPARC port.
-
-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.
-
-2004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
-
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
- value as of type ffi_arg, not unsigned int.
-
-2004-01-21 Michael Ritzert <ritzert@t-online.de>
-
- * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
- of the LHS.
-
-2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
- Solaris.
-
-2004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
- to void *.
-
-2003-12-10 Richard Henderson <rth@redhat.com>
-
- * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
- size_t instead of int.
-
-2003-12-04 Hosaka Yuji <hos@tamanegi.org>
-
- * testsuite/libffi.call/many_win32.c: Include <float.h>.
- * testsuite/libffi.call/many_win32.c (main): Replace variable
- int i with unsigned long ul.
-
- * testsuite/libffi.call/cls_align_uint64.c: New test case.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02 Hosaka Yuji <hos@tamanegi.org>
-
- PR other/13221
- * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
- Align arguments to 32 bits.
-
-2003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR other/13221
- * testsuite/libffi.call/cls_multi_sshort.c: New test case.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-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.
-
-2003-11-21 Andreas Jaeger <aj@suse.de>
- Andreas Tobler <a.tobler@schweiz.ch>
-
- * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
- * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
- * Makefile.in: Rebuilt.
- * aclocal.m4: Likewise.
- * configure: Likewise.
- * fficonfig.h.in: Likewise.
- * testsuite/lib/libffi-dg.exp: Add include dir.
- * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
- for ffi_closure if available.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
- Add -lgcc_s to additional flags.
-
-2003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.in, include/Makefile.am: PR libgcj/11147, install
- the ffitarget.h header file in a gcc versioned and target
- dependent place.
- * configure: Regenerated.
- * Makefile.in, include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Print result and check
- with dg-output to make debugging easier.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
- static.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_9byte2.c: New test case.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_double.c: Do a check on the result.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/prep_cif.c (ffi_prep_cif): Move the validity check after
- the initialization.
-
-2003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
- FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
- __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-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
-
-2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
- _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
- Used when FFI_DEBUG = 1.
-
-2003-10-14 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
- and align.
-
-2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
- FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
- SPARC64. Cleanup whitespaces.
-
-2003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
- strongarm, xscale. Cleanup whitespaces.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Cleanup whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
- * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
- parameter stack.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
- according to the Darwin/AIX ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_DARWIN): Likewise.
- Remove the outgoing parameter stack logic. Simplify the evaluation
- of the different CASE types.
- (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
- statement in the trampoline code.
-
-2003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
- for the register size.
- (ffi_closure_helper_SYSV): Handle the structure return value
- address correctly.
- (ffi_closure_helper_SYSV): Return the appropriate type when
- the registers are used for the structure return value.
- * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
- the 64-bit return value. Update copyright years.
-
-2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
- srcdir for ffi_mips.h.
-
-2003-09-12 Alan Modra <amodra@bigpond.net.au>
-
- * src/prep_cif.c (initialize_aggregate): Include tail padding in
- structure size.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
- placement of float result.
- * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
- cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Merge identical SH and ARM
- typedefs, and add POWERPC64.
- * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
- struct split over gpr and rest.
- (ffi_prep_cif_machdep): Correct intarg_count for structures.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
- passing correctly.
-
-2003-09-09 Alan Modra <amodra@bigpond.net.au>
-
- * configure: Regenerate.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Remove build rules for ffitest.
- * Makefile.in: Rebuilt.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
- about implicit declaration of abort().
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
- * Makefile.in: Rebuilt.
- * configure.in: Add dejagnu test framework.
- * configure: Rebuilt.
-
- * testsuite/Makefile.am: New file.
- * testsuite/Makefile.in: Built
- * testsuite/lib/libffi-dg.exp: New file.
- * testsuite/config/default.exp: Likewise.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Likewise.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float1.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/many.c: Likewise.
- * testsuite/libffi.call/many_win32.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
- * testsuite/libffi.call/strlen.c: Likewise.
- * testsuite/libffi.call/strlen_win32.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
- * testsuite/libffi.call/struct2.c: Likewise.
- * testsuite/libffi.call/struct3.c: Likewise.
- * testsuite/libffi.call/struct4.c: Likewise.
- * testsuite/libffi.call/struct5.c: Likewise.
- * testsuite/libffi.call/struct6.c: Likewise.
- * testsuite/libffi.call/struct7.c: Likewise.
- * testsuite/libffi.call/struct8.c: Likewise.
- * testsuite/libffi.call/struct9.c: Likewise.
- * testsuite/libffi.special/special.exp: New file.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
- copyright years.
-
-2003-08-02 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
- structure passing.
- (ffi_closure_helper_LINUX64): Likewise.
- * src/powerpc/linux64.S: Remove code writing to parm save area.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
- address in lr from ffi_closure_helper_LINUX64 call to calculate
- table address. Optimize function tail.
-
-2003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/sparc/ffi.c: Handle all floating point registers.
- * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
-
- * README: Note that libffi is not part of GCC. Update the project
- URL and status.
-
-2003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
- Use C style comments.
-
-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
- should be read-only.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * include/ffi.h.in (EH_FRAME_FLAGS): Define.
- * src/alpha/osf.S: Use EH_FRAME_FLAGS.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
- * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
- if -fpic/-fPIC/-mrelocatable.
- * src/powerpc/powerpc_closure.S: Likewise.
- * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
- #write in .eh_frame flags.
- * src/sparc/v9.S: Likewise.
- * src/x86/unix64.S: Use EH_FRAME_FLAGS.
- * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
- * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
-
-2003-05-07 Jeff Sturm <jsturm@one-point.com>
-
- Fixes PR bootstrap/10656
- * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
- support for .register pseudo-op.
- * src/sparc/v8.S: Use it.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2003-04-18 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (POWERPC64): Define if 64-bit.
- (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
- Make it the default on POWERPC64.
- (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
- * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
- * configure: Rebuilt.
- * src/powerpc/ffi.c (hidden): Define.
- (ffi_prep_args_SYSV): Renamed from
- ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
- (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
- ASM_NEEDS_REGISTERS64): New.
- (ffi_prep_args64): New function.
- (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
- (ffi_call): Likewise.
- (ffi_prep_closure): Likewise.
- (flush_icache): Surround by #ifndef POWERPC64.
- (ffi_dblfl): New union type.
- (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
- (ffi_closure_helper_LINUX64): New function.
- * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
- __powerpc64__.
- * src/powerpc/sysv.S: Likewise.
- (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
- * src/powerpc/linux64.S: New file.
- * src/powerpc/linux64_closure.S: New file.
- * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
- src/powerpc/linux64_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
- * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
- closure_test_fn3): Fix result printing on big-endian 64-bit
- machines.
- (main): Print tst2_arg instead of uninitialized tst2_result.
-
- * src/ffitest.c (main): Hide what closure pointer really points to
- from the compiler.
-
-2003-04-16 Richard Earnshaw <rearnsha@arm.com>
-
- * configure.in (arm-*-netbsdelf*): Add configuration.
- (configure): Regenerated.
-
-2003-04-04 Loren J. Rittle <ljrittle@acm.org>
-
- * include/Makefile.in: Regenerate.
-
-2003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
-
- * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
- bit mode.
- * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
- Receive closure pointer through parameter, read args using
- __builtin_dwarf_cfa.
- (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12 Andreas Schwab <schwab@suse.de>
-
- * configure.in: Avoid trailing /. in toolexeclibdir.
- * configure: Rebuilt.
-
-2003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/powerpc/darwin_closure.S:
- Fix alignement bug, allocate 8 bytes for the result.
- * libffi/src/powerpc/aix_closure.S:
- Likewise.
- * libffi/src/powerpc/ffi_darwin.c:
- Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06 Jakub Jelinek <jakub@redhat.com>
-
- * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
- attribute.
-
-2003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
- Andreas Schwab <schwab@suse.de>
-
- * configure.in: Adjust command to source config-ml.in to account
- for changes to the libffi_basedir definition.
- (libffi_basedir): Remove ${srcdir} from value and include trailing
- slash if nonempty.
-
- * configure: Regenerate.
-
-2003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
- * src/x86/ffi64.c (ffi_prep_closure): New.
- (ffi_closure_UNIX64_inner): New.
- * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
- Remove USE_LIBDIR conditional.
- * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
- * Makefile.in, configure: Rebuilt.
-
-2003-01027 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
- * Makefile.in: Regenerate.
-
-2003-01-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
- unwind info.
-
-2003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Add unwind info.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
- (ffi_prep_cif_machdep): Likewise.
- * src/x86/unix64.S: Add unwind info.
-
-2003-01-14 Andreas Jaeger <aj@suse.de>
-
- * src/ffitest.c (main): Only use ffi_closures if those are
- supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/ffitest.c
- add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
- * libffi/src/powerpc/ffi.c
- fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c: Remove RCS version string.
- * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
- * src/ffitest.c (main): Use static storage for closure.
- * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
- * src/sparc/v8.S (ffi_closure_v8): New.
- * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10 Ranjit Mathew <rmathew@hotmail.com>
-
- * include/ffi.h.in: Added FFI_STDCALL ffi_type
- enumeration for X86_WIN32.
- * src/x86/win32.S: Added ffi_call_STDCALL function
- definition.
- * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
- switch cases for recognising FFI_STDCALL and
- calling ffi_call_STDCALL if target is X86_WIN32.
- * src/ffitest.c (my_stdcall_strlen/stdcall_many):
- stdcall versions of the "my_strlen" and "many"
- test functions (for X86_WIN32).
- Added test cases to test stdcall invocation using
- these functions.
-
-2002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26 Jim Wilson <wilson@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23 H.J. Lu <hjl@gnu.org>
-
- * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
- Include ../config/accross.m4.
- * aclocal.m4; Rebuild.
- * configure: Likewise.
-
-2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11 DJ Delorie <dj@redhat.com>
-
- * configure.in: Look for common files in the right place.
-
-2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
- raw data as _Jv_word values, not ffi_raw.
- (ffi_java_ptrarray_to_raw): Likewise.
- (ffi_java_rvalue_to_raw): New function.
- (ffi_java_raw_call): Call it.
- (ffi_java_raw_to_rvalue): New function.
- (ffi_java_translate_args): Call it.
- * src/ffitest.c (closure_test_fn): Interpret return value
- as ffi_arg, not int.
- * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
- FFI_TYPE_POINTER case.
- (ffi_closure_helper_SYSV): Likewise. Also, assume return
- values extended to word size.
-
-2002-10-02 Andreas Jaeger <aj@suse.de>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01 Bo Thorsen <bo@smetana.suse.de>
-
- * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
-
- * configure.in: Add s390x-*-linux-* target.
- * configure: Regenerate.
- * include/ffi.h.in: Define S390X for s390x targets.
- (FFI_CLOSURES): Define for s390/s390x.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
- * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
- * src/s390/ffi.c: Major rework of existing code. Add support for
- s390x targets. Add closure support.
- * src/s390/sysv.S: Likewise.
-
-2002-09-29 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: Fix typo.
-
-2002-09-28 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
- has defined __USER_LABEL_PREFIX__, then use it in CNAME.
- (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27 Bo Thorsen <bo@suse.de>
-
- * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * configure.in (sh[34]*-*-linux*): Add brackets.
- * configure: Regenerate.
-
-2002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * Makefile.am: Add SH support.
- * Makefile.in: Regenerate.
- * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
- * configure: Regenerate.
- * include/ffi.h.in: Add SH support.
- * src/sh/ffi.c: New file.
- * src/sh/sysv.S: New file.
- * src/types.c: Add SH support.
-
-2002-07-16 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi64.c: New file that adds x86-64 support.
- * src/x86/unix64.S: New file that handles argument setup for
- x86-64.
- * src/x86/sysv.S: Don't use this on x86-64.
- * src/x86/ffi.c: Don't use this on x86-64.
- Remove unused vars.
- * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
- for x86-64.
- * src/ffitest.c (struct6): New test that tests a special case in
- the x86-64 ABI.
- (struct7): Likewise.
- (struct8): Likewise.
- (struct9): Likewise.
- (closure_test_fn): Silence warning about this when it's not used.
- (main): Add the new tests.
- (main): Fix a couple of wrong casts and silence some compiler warnings.
- * include/ffi.h.in: Add x86-64 ABI definition.
- * fficonfig.h.in: Regenerate.
- * Makefile.am: Add x86-64 support.
- * configure.in: Likewise.
- * Makefile.in: Regenerate.
- * configure: Likewise.
-
-2002-06-24 Bo Thorsen <bo@suse.de>
-
- * src/types.c: Merge settings for similar architectures.
- Add x86-64 sizes and alignments.
-
-2002-06-23 Bo Thorsen <bo@suse.de>
-
- * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
- * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
- * src/mips/ffi.c (ffi_prep_args): Likewise.
- * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18 H.J. Lu (hjl@gnu.org)
-
- * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
- (libffi_la_SOURCES): Support MIPS_LINUX.
- (libffi_convenience_la_SOURCES): Likewise.
- * Makefile.in: Regenerated.
-
- * configure.in (mips64*-*): Skip.
- (mips*-*-linux*): New.
- * configure: Regenerated.
-
- * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
-
-2002-05-27 Roger Sayle <roger@eyesopen.com>
-
- * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
- fix formatting.
-
-2002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
- beginning of function (for older apple cc).
-
-2002-05-08 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
- script entry, and set LD to it when configuring multilibs.
- * configure: Rebuilt.
-
-2002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (sparc64-*-netbsd*): Add target.
- (sparc-*-netbsdelf*): Likewise.
- * configure: Regenerate.
-
-2002-04-28 David S. Miller <davem@redhat.com>
-
- * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
-
- * Makefile.am: Add Linux for S/390 support.
- * Makefile.in: Regenerate.
- * configure.in: Add Linux for S/390 support.
- * configure: Regenerate.
- * include/ffi.h.in: Add Linux for S/390 support.
- * src/s390/ffi.c: New file from libffi CVS tree.
- * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
- %r_disp32().
- * src/sparc/v8.S: Use it.
- * src/sparc/v9.S: Likewise.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2002-04-08 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
- correctly.
- * src/ia64/unix.S: Add unwind information. Fix comments.
- Save sp in a way that's compatible with unwind info.
- (ffi_call_unix): Correctly restore sp in all cases.
- * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08 Jakub Jelinek <jakub@redhat.com>
-
- * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (alpha*-*-netbsd*): Add target.
- * configure: Regenerate.
-
-2002-04-04 Jeff Sturm <jsturm@one-point.com>
-
- * src/sparc/v8.S: Add unwind info.
- * src/sparc/v9.S: Likewise.
-
-2002-03-30 Krister Walfridsson <cato@df.lth.se>
-
- * configure.in: Enable i*86-*-netbsdelf*.
- * configure: Rebuilt.
-
-2002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
-
- PR other/2620
- * src/mips/n32.s: Delete
- * src/mips/o32.s: Delete
-
-2002-03-21 Loren J. Rittle <ljrittle@acm.org>
-
- * configure.in: Enable alpha*-*-freebsd*.
- * configure: Rebuilt.
-
-2002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * Makefile.am: libfficonvenience -> libffi_convenience.
- * Makefile.in: Rebuilt.
-
- * Makefile.am: Define ffitest_OBJECTS.
- * Makefile.in: Rebuilt.
-
-2002-03-07 Andreas Tobler <toa@pop.agri.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
- (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
- (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
- * Makefile.in: Regenerate.
- * include/ffi.h.in: Add AIX and Darwin closure definitions.
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
- (flush_icache, flush_range): New functions.
- (ffi_closure_helper_DARWIN): New function.
- * src/powerpc/aix_closure.S: New file.
- * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add typedef for ffi_arg.
- * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21 Andreas Tobler <toa@pop.agri.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
- number of GPRs for floating-point arguments.
-
-2002-01-31 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Replace CHECK_SIZEOF and endian tests with
- cross-compiler friendly macros.
- * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
- macros.
-
-2002-01-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): New.
- * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
- (TARGET_SRC_POWERPC_AIX): New.
- (POWERPC_AIX): New stanza.
- * Makefile.in: Regenerate.
- * configure.in: Add AIX case.
- * configure: Regenerate.
- * include/ffi.h.in (ffi_abi): Add FFI_AIX.
- * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
- size. Fix "long double" support.
- (ffi_call): Add FFI_AIX case.
- * src/powerpc/aix.S: New.
-
-2001-10-09 John Hornkvist <john@toastedmarshmallow.com>
-
- Implement Darwin PowerPC ABI.
- * configure.in: Handle powerpc-*-darwin*.
- * Makefile.am: Set source files for POWERPC_DARWIN.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
- * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
- POWERPC_DARWIN.
- * src/powerpc/darwin.S: New file.
- * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .balign directive.
- Use C style comments.
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
- Fixes PR bootstrap/3563.
-
-2001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.in: Recognize sparc*-sun-* host.
- * configure: Regenerate.
-
-2001-06-06 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S: Add unwind info.
- * src/powerpc/sysv.S: Add unwind info.
- * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31 Jeff Sturm <jsturm@one-point.com>
-
- * configure.in: Fix AC_ARG_ENABLE usage.
- * configure: Rebuilt.
-
-2001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * configure.in: Remove warning about beta code.
- * configure: Rebuilt.
-
-2001-04-25 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/ia64/unix.S: Restore stack pointer when returning from
- ffi_closure_UNIX.
- * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18 Jim Wilson <wilson@redhat.com>
-
- * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
- to eliminate RAW DV.
-
-2001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
-
- * Makefile.am: Make a libtool convenience library.
- * Makefile.in: Rebuilt.
-
-2001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Use different syntax for subdirectory creation.
- * configure: Rebuilt.
-
-2001-03-27 Jon Beniston <jon@beniston.com>
-
- * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
- * configure: Rebuilt.
- * Makefile.am: Added X86_WIN32 target support.
- * Makefile.in: Rebuilt.
-
- * include/ffi.h.in: Added X86_WIN32 target support.
-
- * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
- * src/types.c: Added X86_WIN32 target support.
-
- * src/x86/win32.S: New file. Based on sysv.S, but with EH
- stuff removed and made to work with CygWin's gas.
-
-2001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Make target subdirectory in build dir.
- * Makefile.am: Override suffix based rules to specify correct output
- subdirectory.
- * Makefile.in: Rebuilt.
- * configure: Rebuilt.
-
-2001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
-
- * src/powerpc/ppc_closure.S: New file.
- * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
- involving long long and register pairs.
- (ffi_prep_closure): New function.
- (flush_icache): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * Makefile.in: Rebuilt.
- * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19 Tom Tromey <tromey@redhat.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02 Nick Clifton <nickc@redhat.com>
-
- * include/ffi.h.in: Remove RCS ident string.
- * include/ffi_mips.h: Remove RCS ident string.
- * src/debug.c: Remove RCS ident string.
- * src/ffitest.c: Remove RCS ident string.
- * src/prep_cif.c: Remove RCS ident string.
- * src/types.c: Remove RCS ident string.
- * src/alpha/ffi.c: Remove RCS ident string.
- * src/alpha/osf.S: Remove RCS ident string.
- * src/arm/ffi.c: Remove RCS ident string.
- * src/arm/sysv.S: Remove RCS ident string.
- * src/mips/ffi.c: Remove RCS ident string.
- * src/mips/n32.S: Remove RCS ident string.
- * src/mips/o32.S: Remove RCS ident string.
- * src/sparc/ffi.c: Remove RCS ident string.
- * src/sparc/v8.S: Remove RCS ident string.
- * src/sparc/v9.S: Remove RCS ident string.
- * src/x86/ffi.c: Remove RCS ident string.
- * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * include/ffi.h.in: Change sourceware.cygnus.com references to
- gcc.gnu.org.
-
-2000-12-09 Richard Henderson <rth@redhat.com>
-
- * src/alpha/ffi.c (ffi_call): Simplify struct return test.
- (ffi_closure_osf_inner): Index rather than increment avalue
- and arg_types. Give ffi_closure_osf the raw return value type.
- * src/alpha/osf.S (ffi_closure_osf): Handle return value type
- promotion.
-
-2000-12-07 Richard Henderson <rth@redhat.com>
-
- * src/raw_api.c (ffi_translate_args): Fix typo.
- (ffi_prep_closure): Likewise.
-
- * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
- FFI_TRAMPOLINE_SIZE.
- * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
- cif->bytes for new ffi_call_osf implementation.
- (ffi_prep_args): Absorb into ...
- (ffi_call): ... here. Do all stack allocation here and
- avoid a callback function.
- (ffi_prep_closure, ffi_closure_osf_inner): New.
- * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
- (ffi_closure_osf): New.
-
-2000-09-10 Alexandre Oliva <aoliva@redhat.com>
-
- * config.guess, config.sub, install-sh: Removed.
- * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
- * Makefile.in: Rebuilt.
-
- * acinclude.m4: Include libtool macros from the top level.
- * aclocal.m4, configure: Rebuilt.
-
-2000-08-22 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
- * configure: Rebuilt.
-
-2000-05-11 Scott Bambrough <scottb@netwinder.org>
-
- * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
- memory correctly. Use conditional instructions, not branches where
- possible.
-
-2000-05-04 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Match `arm*-*-linux-*'.
- From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (SUBDIRS): Define.
- (AM_MAKEFLAGS): Likewise.
- (Multilib support.): Add section.
- * Makefile.in: Rebuilt.
- * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
- New variables. Set for gcc using -print-multi-lib. Export them
- to libtool.
- (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
- * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
- for -shared links.
- (extra_compiler_flags_value, extra_compiler_flags): Check these
- for extra compiler options which need to be passed down in
- compiler_flags.
-
-2000-04-16 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
- Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
- * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
- Replace all void * sizeofs with sizeof(int).
- Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
- different than DOUBLE.
- Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
- (ffi_prep_args_v9): New function.
- (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
- (ffi_V9_return_struct): New function.
- (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
- 32bit code (not yet cross-arch calls).
- * src/sparc/v8.S: Add struct return delay nop.
- Handle long long.
- * src/sparc/v9.S: New file.
- * src/prep_cif.c (ffi_prep_cif): Return structure pointer
- is used on sparc64 only for structures larger than 32 bytes.
- Pass by reference for structures is done for structure arguments
- larger than 16 bytes.
- * src/ffitest.c (main): Use 64bit rint on sparc64.
- Run long long tests on sparc.
- * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
- sparc64.
- (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
- on sparc64.
- * configure.in (sparc-*-linux*): New supported target.
- (sparc64-*-linux*): Likewise.
- * configure: Rebuilt.
- * Makefile.am: Add v9.S to SPARC files.
- * Makefile.in: Likewise.
- (LINK): Surround $(CCLD) into double quotes, so that multilib
- compiles work correctly.
-
-2000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: (i*86-*-solaris*): New libffi target. Patch
- proposed by Bryce McKinlay.
-
-2000-03-20 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
-
- * config.guess, config.sub: Update from the gcc tree.
- Fix for PR libgcj/168.
-
-2000-03-03 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Fixed ia64 by hand.
-
- * configure: Rebuilt.
- * configure.in (--enable-multilib): New option.
- (libffi_basedir): New subst.
- (AC_OUTPUT): Added multilib code.
-
-2000-03-02 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
- directory name.
-
-2000-02-25 Hans Boehm <boehm@acm.org>
-
- * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
- files.
- * src/raw_api.c (ffi_translate_args): Fixed typo in argument
- list.
- (ffi_prep_raw_closure): Use ffi_translate_args, not
- ffi_closure_translate.
- * src/java_raw_api.c: New file.
- * src/ffitest.c (closure_test_fn): New function.
- (main): Define `rint' as long long on IA64. Added new test when
- FFI_CLOSURES is defined.
- * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
- (ffi_abi): Recognize IA64.
- (ffi_raw): Added `flt' field.
- Added "Java raw API" code.
- * configure.in: Recognize ia64.
- * Makefile.am (TARGET_SRC_IA64): New macro.
- (libffi_la_common_SOURCES): Added java_raw_api.c.
- (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01 Tom Tromey <tromey@cygnus.com>
-
- * include/ffi.h.in: Removed PACKAGE and VERSION defines and
- undefs.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
- * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
- Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
- * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09 Anthony Green <green@cygnus.com>
-
- * include/ffi.h.in: Try to work around messy header problem
- with PACKAGE and VERSION.
-
- * configure: Rebuilt.
- * configure.in: Change version to 2.00-beta.
-
- * fficonfig.h.in: Rebuilt.
- * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
- * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
-
- * src/x86/ffi.c (ffi_closure_SYSV): New function.
- (ffi_prep_incoming_args_SYSV): Ditto.
- (ffi_prep_closure): Ditto.
- (ffi_closure_raw_SYSV): Ditto.
- (ffi_prep_raw_closure): More ditto.
- (ffi_call_raw): Final ditto.
-
- * include/ffi.h.in: Add definitions for closure and raw API.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
- FFI_TYPE_UINT64.
-
- * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
- * src/raw_api.c: New file.
-
- * include/ffi.h.in (ffi_raw): New type.
- (UINT_ARG, SINT_ARG): New defines.
- (ffi_closure, ffi_raw_closure): New types.
- (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
- * configure.in: Add check for endianness and sizeof void*.
-
- * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
- instead of directly.
-
- * configure: Rebuilt.
-
-Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
-
- * configure.in: Add x86 and powerpc BeOS configurations.
- From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09 Anthony Green <green@cygnus.com>
-
- * configure.in: Add warning about this being beta code.
- Remove src/Makefile.am from the picture.
- * configure: Rebuilt.
-
- * Makefile.am: Move logic from src/Makefile.am. Add changes
- to support libffi as a target library.
- * Makefile.in: Rebuilt.
-
- * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
- Upgraded to new autoconf, automake, libtool.
-
- * README: Tweaks.
-
- * LICENSE: Update copyright date.
-
- * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29 Anthony Green <green@cygnus.com>
-
- * include/ChangeLog: Removed.
- * src/ChangeLog: Removed.
- * src/mips/ChangeLog: Removed.
- * src/sparc/ChangeLog: Remboved.
- * src/x86/ChangeLog: Removed.
-
- * ChangeLog.v1: Created.
diff --git a/.pc/fix-grammar/src/powerpc/asm.h b/.pc/fix-grammar/src/powerpc/asm.h
deleted file mode 100644
index e86e6b0..0000000
--- a/.pc/fix-grammar/src/powerpc/asm.h
+++ /dev/null
@@ -1,125 +0,0 @@
-/* -----------------------------------------------------------------------
- asm.h - Copyright (c) 1998 Geoffrey Keating
-
- PowerPC Assembly glue.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS
- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR
- OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- OTHER DEALINGS IN THE SOFTWARE.
- ----------------------------------------------------------------------- */
-
-#define ASM_GLOBAL_DIRECTIVE .globl
-
-
-#define C_SYMBOL_NAME(name) name
-/* Macro for a label. */
-#ifdef __STDC__
-#define C_LABEL(name) name##:
-#else
-#define C_LABEL(name) name/**/:
-#endif
-
-/* This seems to always be the case on PPC. */
-#define ALIGNARG(log2) log2
-/* For ELF we need the `.type' directive to make shared libs work right. */
-#define ASM_TYPE_DIRECTIVE(name,typearg) .type name,typearg;
-#define ASM_SIZE_DIRECTIVE(name) .size name,.-name
-
-/* If compiled for profiling, call `_mcount' at the start of each function. */
-#ifdef PROF
-/* The mcount code relies on a the return address being on the stack
- to locate our caller and so it can restore it; so store one just
- for its benefit. */
-#ifdef PIC
-#define CALL_MCOUNT \
- .pushsection; \
- .section ".data"; \
- .align ALIGNARG(2); \
-0:.long 0; \
- .previous; \
- mflr %r0; \
- stw %r0,4(%r1); \
- bl _GLOBAL_OFFSET_TABLE_@local-4; \
- mflr %r11; \
- lwz %r0,0b@got(%r11); \
- bl JUMPTARGET(_mcount);
-#else /* PIC */
-#define CALL_MCOUNT \
- .section ".data"; \
- .align ALIGNARG(2); \
-0:.long 0; \
- .previous; \
- mflr %r0; \
- lis %r11,0b@ha; \
- stw %r0,4(%r1); \
- addi %r0,%r11,0b@l; \
- bl JUMPTARGET(_mcount);
-#endif /* PIC */
-#else /* PROF */
-#define CALL_MCOUNT /* Do nothing. */
-#endif /* PROF */
-
-#define ENTRY(name) \
- ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(name); \
- ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),@function) \
- .align ALIGNARG(2); \
- C_LABEL(name) \
- CALL_MCOUNT
-
-#define EALIGN_W_0 /* No words to insert. */
-#define EALIGN_W_1 nop
-#define EALIGN_W_2 nop;nop
-#define EALIGN_W_3 nop;nop;nop
-#define EALIGN_W_4 EALIGN_W_3;nop
-#define EALIGN_W_5 EALIGN_W_4;nop
-#define EALIGN_W_6 EALIGN_W_5;nop
-#define EALIGN_W_7 EALIGN_W_6;nop
-
-/* EALIGN is like ENTRY, but does alignment to 'words'*4 bytes
- past a 2^align boundary. */
-#ifdef PROF
-#define EALIGN(name, alignt, words) \
- ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(name); \
- ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),@function) \
- .align ALIGNARG(2); \
- C_LABEL(name) \
- CALL_MCOUNT \
- b 0f; \
- .align ALIGNARG(alignt); \
- EALIGN_W_##words; \
- 0:
-#else /* PROF */
-#define EALIGN(name, alignt, words) \
- ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(name); \
- ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),@function) \
- .align ALIGNARG(alignt); \
- EALIGN_W_##words; \
- C_LABEL(name)
-#endif
-
-#define END(name) \
- ASM_SIZE_DIRECTIVE(name)
-
-#ifdef PIC
-#define JUMPTARGET(name) name##@plt
-#else
-#define JUMPTARGET(name) name
-#endif
-
-/* Local labels stripped out by the linker. */
-#define L(x) .L##x
diff --git a/.pc/fix-ppc32/.timestamp b/.pc/fix-ppc32/.timestamp
deleted file mode 100644
index e69de29..0000000
--- a/.pc/fix-ppc32/.timestamp
+++ /dev/null
diff --git a/.pc/fix-ppc32/ChangeLog b/.pc/fix-ppc32/ChangeLog
deleted file mode 100644
index 9f8a59a..0000000
--- a/.pc/fix-ppc32/ChangeLog
+++ /dev/null
@@ -1,4663 +0,0 @@
-2012-02-10 Kai Tietz <ktietz@redhat.com>
-
- * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
- windows target.
- * configure: Regenerated.
-
-2012-02-08 Kai Tietz <ktietz@redhat.com>
-
- * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
- also FFI_THISCALL.
- * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
- (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
- (ffi_prep_closure_loc): Add FFI_THISCALL support.
- * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
- * src/x86/win32.S (ffi_closure_THISCALL): New closure code
- for thiscall-calling convention.
- * testsuite/libffi.call/closure_thiscall.c: New test.
-
-2012-01-28 Kai Tietz <ktietz@redhat.com>
-
- * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
- argument to prototype for specify calling-convention.
- (ffi_call): Add support for stdcall/thiscall convention.
- (ffi_prep_args): Likewise.
- (ffi_raw_call): Likewise.
- * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
- FFI_FASTCALL.
- * src/x86/win32.S (_ffi_call_win32): Add support for
- fastcall/thiscall calling-convention calls.
- * testsuite/libffi.call/fastthis1_win32.c: New test.
- * testsuite/libffi.call/fastthis2_win32.c: New test.
- * testsuite/libffi.call/fastthis3_win32.c: New test.
- * testsuite/libffi.call/strlen2_win32.c: New test.
- * testsuite/libffi.call/many2_win32.c: New test.
- * testsuite/libffi.call/struct1_win32.c: New test.
- * testsuite/libffi.call/struct2_win32.c: New test.
-
-2012-01-23 Andreas Schwab <schwab@linux-m68k.org>
-
- * src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
- mc68000. Test for __HAVE_68881__ in addition to __MC68881__.
-
-2012-01-19 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/48496
- * src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
-
-2012-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (i?86-*-*): Set TARGET to X86_64.
- * configure: Regenerate.
-
-2011-12-07 Andrew Pinski <apinski@cavium.com>
-
- PR libffi/50051
- * src/mips/n32.S: Add ".set mips4".
-
-2011-11-21 Andreas Tobler <andreast@fgznet.ch>
-
- * configure: Regenerate.
-
-2011-11-10 Richard Henderson <rth@redhat.com>
-
- * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
- * configure, aclocal.m4: Rebuild.
-
-2011-09-04 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/49594
- * src/powerpc/darwin_closure.S (stubs): Make the stub binding
- helper reference track the architecture pointer size.
-
-2011-08-25 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
- instructions.
- * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
-
-2011-07-11 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46660
- * testsuite/libffi.call/cls_double_va.c: xfail dg-output on
- mips-sgi-irix6*.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
- PRId8 instead of %hhu, %hhd.
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
- PRIu8): Define.
- [__sgi__] (PRId8, PRIu8): Define.
-
-2011-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
- Define.
- Use them to handle ELF vs. ECOFF differences.
- [__osf__] (_GLOBAL__F_ffi_call_osf): Define.
-
-2011-02-15 Anthony Green <green@moxielogic.com>
-
- * m4/ax_cc_maxopt.m4: Don't -malign-double or use -ffast-math.
- * configure: Rebuilt.
-
-2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2011-02-13 Anthony Green <green@moxielogic.com>
-
- * include/ffi_common.h (UNLIKELY, LIKELY): Define.
- * src/x86/ffi64.c (UNLIKELY, LIKELY): Remove definition.
- * src/prep_cif.c (UNLIKELY, LIKELY): Remove definition.
-
- * src/prep_cif.c (initialize_aggregate): Convert assertion into
- FFI_BAD_TYPEDEF return. Initialize arg size and alignment to 0.
-
- * src/pa/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
- just return FFI_BAD_ABI when things are wrong.
- * src/arm/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/powerpc/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/mips/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/ia64/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/avr32/ffi.c (ffi_prep_closure_loc): Ditto.
-
-2011-02-11 Anthony Green <green@moxielogic.com>
-
- * src/sparc/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
- just return FFI_BAD_ABI when things are wrong.
-
-2011-02-09 Stuart Shelton <srcshelton@gmail.com>
-
- http://bugs.gentoo.org/show_bug.cgi?id=286911
- * src/mips/ffitarget.h: Clean up error messages.
- * src/java_raw_api.c (ffi_java_translate_args): Cast raw arg to
- ffi_raw*.
- * include/ffi.h.in: Add pragma for SGI compiler.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * configure.ac: Add powerpc64-*-darwin* support.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * README: Mention Interix.
-
-2011-02-09 Jonathan Callen <abcd@gentoo.org>
-
- * configure.ac: Add Interix to win32/cygwin/mingw case.
- * configure: Ditto.
- * src/closures.c: Treat Interix like Cygwin, instead of as a
- generic win32.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * testsuite/libffi.call/err_bad_typedef.c: Remove xfail.
- * testsuite/libffi.call/err_bad_abi.c: Remove xfail.
- * src/x86/ffi64.c (UNLIKELY, LIKELY): Define.
- (ffi_prep_closure_loc): Check for bad ABI.
- * src/prep_cif.c (UNLIKELY, LIKELY): Define.
- (initialize_aggregate): Check for bad types.
-
-2011-02-09 Landon Fuller <landonf@plausible.coop>
-
- * Makefile.am (EXTRA_DIST): Add build-ios.sh, src/arm/gentramp.sh,
- src/arm/trampoline.S.
- (nodist_libffi_la_SOURCES): Add src/arc/trampoline.S.
- * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Define.
- * src/arm/ffi.c (ffi_trampoline_table)
- (ffi_closure_trampoline_table_page, ffi_trampoline_table_entry)
- (FFI_TRAMPOLINE_CODELOC_CONFIG, FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET)
- (FFI_TRAMPOLINE_COUNT, ffi_trampoline_lock, ffi_trampoline_tables)
- (ffi_trampoline_table_alloc, ffi_closure_alloc, ffi_closure_free):
- Define for FFI_EXEC_TRAMPOLINE_TABLE case (iOS).
- (ffi_prep_closure_loc): Handl FFI_EXEC_TRAMPOLINE_TABLE case
- separately.
- * src/arm/sysv.S: Handle Apple iOS host.
- * src/closures.c: Handle FFI_EXEC_TRAMPOLINE_TABLE case.
- * build-ios.sh: New file.
- * fficonfig.h.in, configure, Makefile.in: Rebuilt.
- * README: Mention ARM iOS.
-
-2011-02-08 Oren Held <orenhe@il.ibm.com>
-
- * src/dlmalloc.c (_STRUCT_MALLINFO): Define in order to avoid
- redefinition of mallinfo on HP-UX.
-
-2011-02-08 Ginn Chen <ginn.chen@oracle.com>
-
- * src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
- aggregate return ABI. Flush cache.
- (ffi_prep_closure_loc): Flush cache.
-
-2011-02-11 Anthony Green <green@moxielogic.com>
-
- From Tom Honermann <tom.honermann@oracle.com>:
- * src/powerpc/aix.S (ffi_call_AIX): Support for xlc toolchain on
- AIX. Declare .ffi_prep_args. Insert nops after branch
- instructions so that the AIX linker can insert TOC reload
- instructions.
- * src/powerpc/aix_closure.S: Declare .ffi_closure_helper_DARWIN.
-
-2011-02-08 Ed <ed@kdtc.net>
-
- * src/powerpc/asm.h: Fix grammar nit in comment.
-
-2011-02-08 Uli Link <ul.mcamafia@linkitup.de>
-
- * include/ffi.h.in (FFI_64_BIT_MAX): Define and use.
-
-2011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46661
- * testsuite/libffi.call/cls_pointer.c (main): Cast void * to
- uintptr_t first.
- * testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
-
-2011-02-08 Rafael Avila de Espindola <respindola@mozilla.com>
-
- * configure.ac: Fix x86 test for pc related relocs.
- * configure: Rebuilt.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
- Handle case when CPU variant does not have long double support.
- * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
- and cores with soft floating point.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * configure.ac: Add mips*-*-rtems* support.
- * configure: Regenerate.
- * src/mips/ffitarget.h: Ensure needed constants are available
- for targets which do not have sgidefs.h.
-
-2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR target/40125
- * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
- * configure: Regenerate.
-
-2010-12-18 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/29152
- PR libffi/42378
- * src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
- (FFI_TRAMPOLINE_SIZE): Update for Darwin64.
- * src/powerpc/darwin.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
- backslashes.
- (libffi_cv_as_string_pseudo_op): Likewise.
- * configure: Regenerate.
-
-2010-12-03 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
- (ffi_closure_VFP): Same.
- (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
- directive.
-
-2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
- (PRIuPTR): Define.
-
-2010-11-29 Richard Henderson <rth@redhat.com>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
- (.eh_frame): Use FDE_ENCODING.
- (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
-
-2010-11-22 Jacek Caban <jacek@codeweavers.com>
-
- * configure.ac: Check for symbol underscores on mingw-w64.
- * configure: Rebuilt.
- * src/x86/win64.S: Correctly access extern symbols in respect to
- underscores.
-
-2010-11-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp: Rename ...
- * testsuite/lib/libffi.exp: ... to this.
- * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
- * libffi/testsuite/libffi.special/special.exp: Likewise.
-
-2010-10-28 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
- code, new parameter, and return value. Update comments.
- (ffi_prep_cif_machdep): Add case for VFP struct return values. Add
- call to layout_vfp_args().
- (ffi_call_SYSV): Update declaration.
- (ffi_call_VFP): New declaration.
- (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
- when ABI is FFI_VFP.
- (ffi_closure_VFP): New declaration.
- (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
- ffi_prep_incoming_args_SYSV().
- (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
- case handling.
- (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
- construction under VFP hard-float.
- (rec_vfp_type_p): New function.
- (vfp_type_p): Same.
- (place_vfp_arg): Same.
- (layout_vfp_args): Same.
- * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
- based on __ARM_PCS_VFP.
- (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
- fields.
- (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
- (FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
- * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
- direct call. Move function pointer load upwards.
- (ffi_call_VFP): New function.
- (ffi_closure_VFP): Same.
-
- * testsuite/lib/libffi-dg.exp (check-flags): New function.
- (dg-skip-if): New function.
- * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
- and compiler options include -mfloat-abi=hard.
- * testsuite/libffi.call/cls_longdouble_va.c: Same.
-
-2010-10-01 Jakub Jelinek <jakub@redhat.com>
-
- PR libffi/45677
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
- a multiple of 8.
- * testsuite/libffi.call/many2.c: New test.
-
-2010-08-20 Mark Wielaard <mjw@redhat.com>
-
- * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
- returns NULL.
-
-2010-08-09 Andreas Tobler <andreast@fgznet.ch>
-
- * configure.ac: Add target powerpc64-*-freebsd*.
- * configure: Regenerate.
- * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
- -mlong-double-128 only to linux targets.
- * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
- * testsuite/libffi.call/cls_longdouble.c: Likewise.
- * testsuite/libffi.call/huge_struct.c: Likewise.
-
-2010-08-05 Dan Witte <dwitte@mozilla.com>
-
- * Makefile.am: Pass FFI_DEBUG define to msvcc.sh for linking to the
- debug CRT when --enable-debug is given.
- * configure.ac: Define it.
- * msvcc.sh: Translate -g and -DFFI_DEBUG appropriately.
-
-2010-08-04 Dan Witte <dwitte@mozilla.com>
-
- * src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64
- platforms.
- * src/x86/ffi.c: Remove redundant ifdef checks.
- * src/prep_cif.c: Push stack space computation into src/x86/ffi.c
- for X86_ANY so return value space doesn't get added twice.
-
-2010-08-03 Neil Rashbrooke <neil@parkwaycc.co.uk>
-
- * msvcc.sh: Don't pass -safeseh to ml64 because behavior is buggy.
-
-2010-07-22 Dan Witte <dwitte@mozilla.com>
-
- * src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
- * src/prep_cif.c: Fix ABI assertion.
- * src/cris/ffi.c: Ditto.
-
-2010-07-10 Evan Phoenix <evan@fallingsnow.net>
-
- * src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
-
-2010-07-07 Dan Horák <dan@danny.cz>
-
- * include/ffi.h.in: Protect #define with #ifndef.
- * src/powerpc/ffitarget.h: Ditto.
- * src/s390/ffitarget.h: Ditto.
- * src/sparc/ffitarget.h: Ditto.
-
-2010-07-07 Neil Roberts <neil@linux.intel.com>
-
- * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
- 16-bytes.
-
-2010-07-02 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
- * Makefile.in: Regenerated.
-
-2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
- output, too.
- (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
- (libffi_cv_as_string_pseudo_op): Check for .string.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
-
-2010-05-11 Dan Witte <dwitte@mozilla.com>
-
- * doc/libffi.tex: Document previous change.
-
-2010-05-11 Makoto Kato <m_kato@ga2.so-net.ne.jp>
-
- * src/x86/ffi.c (ffi_call): Don't copy structs passed by value.
-
-2010-05-05 Michael Kohler <michaelkohler@live.com>
-
- * src/dlmalloc.c (dlfree): Fix spelling.
- * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
- * configure.ac: Ditto.
- * configure: Rebuilt.
-
-2010-04-13 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Build with -W3 instead of -Wall.
- * src/powerpc/ffi_darwin.c: Remove build warnings.
- * src/x86/ffi.c: Ditto.
- * src/x86/ffitarget.h: Ditto.
-
-2010-04-12 Dan Witte <dwitte@mozilla.com>
- Walter Meinl <wuno@lsvw.de>
-
- * configure.ac: Add OS/2 support.
- * configure: Rebuilt.
- * src/closures.c: Ditto.
- * src/dlmalloc.c: Ditto.
- * src/x86/win32.S: Ditto.
-
-2010-04-07 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
-
-2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2010-03-30 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Disable build warnings.
- * README (tested): Clarify windows build procedure.
-
-2010-03-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * libffi/src/x86/unix64.S (.eh_frame)
- [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
-
-2010-03-14 Matthias Klose <doko@ubuntu.com>
-
- * src/x86/ffi64.c: Fix typo in comment.
- * src/x86/ffi.c: Use /* ... */ comment style.
-
-2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/libffi.texi (The Closure API): Fix typo.
- * doc/libffi.info: Remove.
-
-2010-02-15 Matthias Klose <doko@ubuntu.com>
-
- * src/arm/sysv.S (__ARM_ARCH__): Define for processor
- __ARM_ARCH_7EM__.
-
-2010-01-15 Anthony Green <green@redhat.com>
-
- * README: Add notes on building with Microsoft Visual C++.
-
-2010-01-15 Daniel Witte <dwitte@mozilla.com>
-
- * msvcc.sh: New file.
-
- * src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
- * src/x86/ffi.c: Tweak function declaration and remove excess
- parens.
- * include/ffi.h.in: Add __declspec(align(8)) to typedef struct
- ffi_closure.
-
- * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
- function ffi_call_win32 on X86_WIN32.
- * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
- (ffi_call_STDCALL): Remove.
-
- * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
- to ffi_prep_cif_machdep for x86.
- * src/x86/ffi.c (ffi_prep_cif_machdep): To here.
-
-2010-01-15 Oliver Kiddle <okiddle@yahoo.co.uk>
-
- * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
- Sun Studio compiler compatibility.
-
-2010-01-12 Conrad Irwin <conrad.irwin@gmail.com>
-
- * doc/libffi.texi: Add closure example.
-
-2010-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40701
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
- PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
- * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
- alpha*-dec-osf*.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/return_ll1.c: Likewise.
- * testsuite/libffi.call/stret_medium2.c: Likewise.
- * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
- MAP_FAILED to char *.
-
-2010-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
-
-2009-12-31 Anthony Green <green@redhat.com>
-
- * README: Update for libffi 3.0.9.
-
-2009-12-27 Matthias Klose <doko@ubuntu.com>
-
- * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
- appropriate.
- * configure: Rebuilt.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
- avr32*-*-*.
- * testsuite/libffi.call/cls_double_va.c: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
- and inttypes.h.
- * testsuite/libffi.special/unwindtest.cc: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-openbsd*.
- * configure: Rebuilt.
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
- openbsd programs with -lpthread.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
- mips*-*-* and arm*-*-*.
- * testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c,
- testsuite/libffi.call/stret_medium2.c,
- testsuite/libffi.call/stret_medium.c,
- testsuite/libffi.call/stret_large.c,
- testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
-
-2009-12-31 Kay Tietz <ktietz70@googlemail.com>
-
- * testsuite/libffi.call/ffitest.h,
- testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
- definitions.
-
-2009-12-31 Carlo Bramini <carlo.bramix@libero.it>
-
- * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
- * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
-
-2009-12-31 Anthony Green <green@redhat.com>
- Blake Chaffin.
-
- * testsuite/libffi.call/huge_struct.c: New test case from Blake
- Chaffin @ Apple.
-
-2009-12-28 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
- local variables.
- (aix_adjust_aggregate_sizes): New function.
- (ffi_prep_cif_machdep): Call it.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
- * configure: Regenerate.
- * fficonfig.h.in: Likewise.
- * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
- Solaris/x86.
-
-2009-12-26 Andreas Schwab <schwab@linux-m68k.org>
-
- * 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.
-
-2009-12-25 Matthias Klose <doko@ubuntu.com>
-
- * man/ffi_call.3: Fix #include in examples.
- * doc/libffi.texi: Add dircategory.
-
-2009-12-25 Frank Everdij <f.p.x.everdij@tudelft.nl>
-
- * include/ffi.h.in: Placed '__GNUC__' ifdef around
- '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
- IRIX MIPSPro c99.
- * include/ffi_common.h: Added '__sgi' define to non
- '__attribute__((__mode__()))' integer typedefs.
- * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
- ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
- (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
- FFI_LONGDOUBLE support and alignment(N32 only).
- * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
- fixed non '__attribute__((__mode__()))' integer typedefs.
- * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
- since they are Linux/GNU Assembler specific.
-
-2009-12-25 Bradley Smith <brad@brad-smith.co.uk>
-
- * configure.ac, Makefile.am, src/avr32/ffi.c,
- src/avr32/ffitarget.h,
- src/avr32/sysv.S: Add AVR32 port.
- * configure, Makefile.in: Rebuilt.
-
-2009-12-21 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
- * configure: Regenerate.
-
-2009-12-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
- type on HP-UX.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
- double' arguments.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40700
- * src/closures.c [X86_64 && __sun__ && __svr4__]
- (FFI_MMAP_EXEC_WRIT): Define.
-
-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.
-
-2009-12-07 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
- typo.
-
-2009-12-05 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
- code.
- * src/powerpc/aix_closure.S: Same.
-
-2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
- linux64_closure.S.
-
-2009-12-04 Uros Bizjak <ubizjak@gmail.com>
-
- 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.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
- pfr for long double split between fpr13 and stack.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
- fparg_count twice for long double.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- PR libffi/42243
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03 Uros Bizjak <ubizjak@gmail.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
- Remove xfails for x86 linux targets.
-
-2009-12-02 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
- case.
-
-2009-12-01 David Edelsohn <edelsohn@gnu.org>
-
- * 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.
-
-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.
-
-2009-11-02 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/41908
- * testsuite/libffi.call/testclosure.c: New test.
-
-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.
-
-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.
-
-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.
-
-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.
-
-2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.am (install-html, install-pdf): Remove.
- * Makefile.in: Regenerate.
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24 Dave Korn <dave.korn.cygwin@gmail.com>
-
- 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.
-
-2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
-
- 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.
-
-2009-07-01 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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 "".)
-
-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.
-
-2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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.
-
-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.
-
-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.
-
-2009-06-16 Andrew Haley <aph@redhat.com>
-
- * configure.ac (TARGETDIR): Add missing blank lines.
- * configure: Regenerate.
-
-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.
-
-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.
-
-2009-06-12 Andrew Haley <aph@redhat.com>
-
- * Makefile.am: Remove info_TEXINFOS.
-
-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-11 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * 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.
-
-2009-06-09 Andrew Haley <aph@redhat.com>
-
- * src/x86/freebsd.S: Add missing file.
-
-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).
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * README: Import from libffi 3.0.8.
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Add xfails.
- * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
- * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
- * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
- * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
- * testsuite/libffi.call/stret_medium.c: Likewise.
- * testsuite/libffi.call/stret_large2.c: Likewise.
- * testsuite/libffi.call/stret_large.c: Likewise.
-
-2008-12-26 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_align_longdouble.c,
- testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
- failures on x86_64 cygwin/mingw.
-
-2008-12-22 Timothy Wall <twall@users.sf.net>
-
- * 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_loc_fn0.c,
- testsuite/libffi.call/closure_stdcall.c,
- testsuite/libffi.call/cls_align_pointer.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
- pointer to integer (intptr_t).
- * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_dbls_struct.c,
- testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c,
- testsuite/libffi.call/err_bad_abi.c: Clean up failures from
- compiler warnings.
-
-2008-03-04 Anthony Green <green@redhat.com>
- Blake Chaffin
- hos@tamanegi.org
-
- * testsuite/libffi.call/cls_align_longdouble_split2.c
- testsuite/libffi.call/cls_align_longdouble_split.c
- testsuite/libffi.call/cls_dbls_struct.c
- testsuite/libffi.call/cls_double_va.c
- testsuite/libffi.call/cls_longdouble.c
- testsuite/libffi.call/cls_longdouble_va.c
- testsuite/libffi.call/cls_pointer.c
- testsuite/libffi.call/cls_pointer_stack.c
- testsuite/libffi.call/err_bad_abi.c
- testsuite/libffi.call/err_bad_typedef.c
- testsuite/libffi.call/stret_large2.c
- testsuite/libffi.call/stret_large.c
- testsuite/libffi.call/stret_medium2.c
- testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
- libffi.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
- stdcall changes.
-
-2008-02-26 Anthony Green <green@redhat.com>
- Thomas Heller <theller@ctypes.org>
-
- * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
- comment.
-
-2008-02-03 Timothy Wall <twall@users.sf.net>
-
- * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
- offset based on code pointer, not data pointer.
-
-2008-01-31 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
- closures.
- * src/x86/ffitarget.h: Increase size of trampoline for stdcall
- closures.
- * src/x86/win32.S: Add assembly for stdcall closure.
- * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Change void (*)() to void (*)(void).
- * src/x86/ffi.c: Likewise.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ppc_closure.S: Insert licence header.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/m68k/sysv.S: Likewise.
-
- * src/sh64/ffi.c: Change void (*)() to void (*)(void).
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/m32r/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi64.c: Likewise.
- * src/alpha/ffi.c: Likewise.
- * src/alpha/osf.S: Likewise.
- * src/frv/ffi.c: Likewise.
- * src/s390/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/pa/hpux32.S: Likewise.
- * src/ia64/unix.S: Likewise.
- * src/ia64/ffi.c: Likewise.
- * src/sparc/ffi.c: Likewise.
- * src/mips/ffi.c: Likewise.
- * src/sh/ffi.c: Likewise.
-
-2008-02-15 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
- Define (conditionally), and use it to include cachectl.h.
- (ffi_prep_closure_loc): Fix cache flushing.
- * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- include/ffi.h.in,
- src/arm/ffitarget.h,
- src/arm/ffi.c,
- src/arm/sysv.S,
- src/powerpc/ffitarget.h,
- src/closures.c,
- src/sh64/ffitarget.h,
- src/sh64/ffi.c,
- src/sh64/sysv.S,
- src/types.c,
- src/x86/ffi64.c,
- src/x86/ffitarget.h,
- src/x86/win32.S,
- src/x86/darwin.S,
- src/x86/ffi.c,
- src/x86/sysv.S,
- src/x86/unix64.S,
- src/alpha/ffitarget.h,
- src/alpha/ffi.c,
- src/alpha/osf.S,
- src/m68k/ffitarget.h,
- src/frv/ffitarget.h,
- src/frv/ffi.c,
- src/s390/ffitarget.h,
- src/s390/sysv.S,
- src/cris/ffitarget.h,
- src/pa/linux.S,
- src/pa/ffitarget.h,
- src/pa/ffi.c,
- src/raw_api.c,
- src/ia64/ffitarget.h,
- src/ia64/unix.S,
- src/ia64/ffi.c,
- src/ia64/ia64_flags.h,
- src/java_raw_api.c,
- src/debug.c,
- src/sparc/v9.S,
- src/sparc/ffitarget.h,
- src/sparc/ffi.c,
- src/sparc/v8.S,
- src/mips/ffitarget.h,
- src/mips/n32.S,
- src/mips/o32.S,
- src/mips/ffi.c,
- src/prep_cif.c,
- src/sh/ffitarget.h,
- src/sh/ffi.c,
- src/sh/sysv.S: Update license text.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * src/x86/win32.S (_ffi_closure_STDCALL): New function.
- (.eh_frame): Add FDE for it.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * configure.ac: Also check if assembler supports pc-relative
- relocs on X86_WIN32 targets.
- * configure: Regenerate.
- * src/x86/win32.S (ffi_prep_args): Declare extern, not global.
- (_ffi_call_SYSV): Add missing function type symbol .def and
- add EH markup labels.
- (_ffi_call_STDCALL): Likewise.
- (_ffi_closure_SYSV): Likewise.
- (_ffi_closure_raw_SYSV): Likewise.
- (.eh_frame): Add hand-crafted EH data.
-
-2009-04-09 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
- version 3 of the GNU General Public License and to point readers
- at the COPYING3 file and the FSF's license web page.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-12-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libffi/26048
- * configure.ac (HAVE_AS_X86_PCREL): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
- RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
- RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
- * src/x86/unix64.S (.Lstore_table): Move to .text section.
- (.Lload_table): Likewise.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
- signed/unsigned int8/16 return values.
- * src/sparc/v8.S (ffi_call_v8): Likewise.
- (ffi_closure_v8): Likewise.
-
-2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
- Steve Ellcey <sje@cup.hp.com>
-
- * configure: Regenerate for new libtool.
- * Makefile.in: Ditto.
- * include/Makefile.in: Ditto.
- * aclocal.m4: Ditto.
-
-2008-08-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
- FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
- Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
- Adjust copyright notice.
- * src/powerpc/ffi.c: Add two new flags to indicate if we have one
- register or two register to use for FFI_SYSV structs.
- (ffi_prep_cif_machdep): Pass the right register flag introduced above.
- (ffi_closure_helper_SYSV): Fix the return type for
- FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
- Adjust copyright notice.
-
-2008-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
- int.
-
-2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2008-06-07 Joseph Myers <joseph@codesourcery.com>
-
- * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
- powerpc-*-beos*): Remove.
- * configure: Regenerate.
-
-2008-05-09 Julian Brown <julian@codesourcery.com>
-
- * Makefile.am (LTLDFLAGS): New.
- (libffi_la_LDFLAGS): Use above.
- * Makefile.in: Regenerate.
-
-2008-04-18 Paolo Bonzini <bonzini@gnu.org>
-
- PR bootstrap/35457
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2008-03-26 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add .note.GNU-stack on Linux.
- * src/sh64/sysv.S: Likewise.
-
-2008-03-26 Daniel Jacobowitz <dan@debian.org>
-
- * src/arm/sysv.S: Fix ARM comment marker.
-
-2008-03-26 Jakub Jelinek <jakub@redhat.com>
-
- * src/alpha/osf.S: Add .note.GNU-stack on Linux.
- * src/s390/sysv.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
- * src/x86/unix64.S: Likewise.
- * src/x86/sysv.S: Likewise.
- * src/sparc/v8.S: Likewise.
- * src/sparc/v9.S: Likewise.
- * src/m68k/sysv.S: Likewise.
- * src/arm/sysv.S: Likewise.
-
-2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * aclocal.m4: Regenerate.
- * configure: Likewise.
- * Makefile.in: Likewise.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2008-02-12 Bjoern Koenig <bkoenig@alpha-tierchen.de>
- Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-freebsd* target.
- * configure: Regenerate.
-
-2008-01-30 H.J. Lu <hongjiu.lu@intel.com>
-
- PR libffi/34612
- * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
- returning struct.
-
- * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
- tests.
-
-2008-01-24 David Edelsohn <edelsohn@gnu.org>
-
- * configure: Regenerate.
-
-2008-01-06 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
-
-2008-01-05 Andreas Tobler <a.tobler@schweiz.org>
-
- PR testsuite/32843
- * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
- signed/unsigned int8/16 for X86_DARWIN.
- Updated copyright info.
- Handle one and two byte structs with special cif->flags.
- * src/x86/ffitarget.h: Add special types for one and two byte structs.
- Updated copyright info.
- * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
- sysv.S
- Remove code to pop args from the stack after call.
- Special-case signed/unsigned for int8/16, one and two byte structs.
- (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
- FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
- FFI_TYPE_SINT32.
- Updated copyright info.
-
-2007-12-08 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_call_N32): Replace dadd with ADDU, dsub with
- SUBU, add with ADDU and use smaller code sequences.
-
-2007-12-07 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
- type.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
- defined.
- (ffi_java_raw): New typedef.
- (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
- ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
- ffi_java_raw.
- (ffi_java_raw_closure) : Same.
- (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
- parameter types.
- * src/java_raw_api.c (ffi_java_raw_size): Replace FFI_SIZEOF_ARG with
- FFI_SIZEOF_JAVA_RAW.
- (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
- Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
- sizeof(ffi_java_raw) for alignment calculations.
- (ffi_java_ptrarray_to_raw): Same.
- (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
- if FFI_SIZEOF_JAVA_RAW == 4.
- (ffi_java_raw_to_rvalue): Same.
- (ffi_java_raw_call): Change type of raw to ffi_java_raw.
- (ffi_java_translate_args): Same.
- (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
- parameter types.
- * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
- pointer values.
-
-2007-12-01 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/31937
- * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
- Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
- * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
- set the NUM_FPR_ARG_REGISTERS according to.
- Add support for potential soft-float support under hard-float
- architecture.
- (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
- FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
- to the FFI_LINUX_SOFT_FLOAT ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Make sure not to store float/double
- on archs where __NO_FPRS__ is true.
- Add FFI_TYPE_UINT128 support.
- * src/powerpc/sysv.S: Add support for soft-float long-double-128.
- Adjust copyright notice.
-
-2007-11-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
- * include/ffi_common.h: ... here.
- Update copyright.
-
-2007-11-17 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
- * testsuite/libffi.call/return_ldl.c: New test.
-
-2007-09-04 <aph@redhat.com>
-
- * src/arm/sysv.S (UNWIND): New.
- (Whole file): Conditionally compile unwinder directives.
- * src/arm/sysv.S: Add unwinder directives.
-
- * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
- Only treat r0 as a struct address if we're actually returning a
- struct by address.
- Only copy the bytes that are actually within a struct.
- (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
- is returned in r0, not passed by address.
- (ffi_call): Allocate a word-sized temporary for the case where
- a composite is returned in r0.
- (ffi_prep_incoming_args_SYSV): Align as necessary.
-
-2007-08-05 Steven Newbury <s_j_newbury@yahoo.co.uk>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
- directly using the sys_cacheflush syscall.
-
-2007-07-27 Andrew Haley <aph@redhat.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
-
-2007-09-03 Maciej W. Rozycki <macro@linux-mips.org>
-
- * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure: Likewise.
-
-2007-08-24 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/return_sl.c: New test.
-
-2007-08-10 David Daney <ddaney@avtrex.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/nested_struct5.c,
- testsuite/libffi.call/cls_double.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/nested_struct.c,
- testsuite/libffi.call/cls_2byte.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_sint16.c,
- testsuite/libffi.call/cls_align_uint32.c,
- testsuite/libffi.call/cls_20byte.c,
- testsuite/libffi.call/cls_float.c,
- testsuite/libffi.call/nested_struct2.c,
- testsuite/libffi.call/cls_5_1_byte.c,
- testsuite/libffi.call/nested_struct4.c,
- testsuite/libffi.call/cls_24byte.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: Remove xfail for mips64*-*-*.
-
-2007-08-10 David Daney <ddaney@avtrex.com>
-
- 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.
-
-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*.
- * 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.
-
-2006-12-13 Andreas Tobler <a.tobler@schweiz.org>
-
- * aclocal.m4: Regenerate with aclocal -I .. as written in the
- Makefile.am.
-
-2006-10-31 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
- (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
- Darwin.
- * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
- * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10 Paolo Bonzini <bonzini@gnu.org>
- Sandro Tolaini <tolaini@libero.it>
-
- * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
- conditional.
- * configure: Regenerated.
- * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
- (EXTRA_DIST): Add src/x86/darwin.S.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
- X86_WIN32, and additionally align stack to 16 bytes.
- * src/x86/darwin.S: New, based on sysv.S.
- * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12 David Daney <ddaney@avtrex.com>
-
- PR libffi/23935
- * include/Makefile.am: Install both ffi.h and ffitarget.h in
- $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
- * aclocal.m4: Regenerated for automake 1.9.6.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
-2006-08-17 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h: Remove lint directives.
- * include/ffi.h.in: Likewise.
-
-2006-07-25 Torsten Schoenfeld <kaffeetisch@gmx.de>
-
- * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
- for 32-bit architectures.
- * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
- xfail remains for mips64.
-
-2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
-
- * Makefile.am: Add install-html target. Add install-html to .PHONY
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
- stack slot.
-
-2006-04-22 Andreas Tobler <a.tobler@schweiz.ch>
-
- * README: Remove notice about 'Crazy Comments'.
- * src/debug.c: Remove lint directives. Cleanup white spaces.
- * src/java_raw_api.c: Likewise.
- * src/prep_cif.c: Likewise.
- * src/raw_api.c: Likewise.
- * src/ffitest.c: Delete. No longer needed, all test cases migrated
- to the testsuite.
- * src/arm/ffi.c: Remove lint directives.
- * src/m32r/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/sh/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/pa/hpux32.S: Correct unwind offset calculation for
- ffi_closure_pa32.
- * src/pa/linux.S: Likewise.
-
-2006-04-12 James E Wilson <wilson@specifix.com>
-
- PR libgcj/26483
- * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
- (hfa_type_load): Call stf_spill.
- (hfa_type_store): Call ldf_fill.
- (ffi_call): Adjust calls to above routines. Add local temps for
- macro result.
-
-2006-04-10 Matthias Klose <doko@debian.org>
-
- * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
- directory names containing underscores.
-
-2006-04-07 James E Wilson <wilson@specifix.com>
-
- * testsuite/libffi.call/float4.c: New testcase.
-
-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.
-
-2006-03-24 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Default
- for 32-bit using IBM extended double format. Fix FFI_LAST_ABI.
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
- FFI_TYPE_LONGDOUBLE.
- (ffi_prep_args64): Assert using IBM extended double.
- (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
- Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
- (ffi_call): Handle FFI_LINUX.
- (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
- gpr3 return pointer as for struct return. Handle FFI_LINUX
- FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf"
- unnecessarily.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
- for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table.
- Don't use r6 as pointer to results, instead use sp offset. Don't
- make a special call to load lr with case table address, instead
- use offset from previous call.
- * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
- return.
-
-2006-03-15 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
- passed with FP registers correctly.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S: Likewise.
-
-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.
-
-2006-02-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
- -O2, -O3, -Os and the warning flags -W -Wall.
- * testsuite/libffi.special/special.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
- unused parameter unused for gcc or else do nothing.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
- * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
- * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
- * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
- * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
- * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
- * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
- * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
- * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
- void* to avoid compiler warning.
- (main): Likewise.
- (cls_struct_align_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
- * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
- * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
- userdata unused.
- (cls_ret_schar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
- userdata unused.
- (cls_ret_sint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
- userdata unused.
- (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn): Mark cif and
- userdata unused.
- (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
- userdata unused.
- (cls_ret_uint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
- userdata unused.
- (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
- * testsuite/libffi.call/float1.c (main): Remove unused variable i.
- Cleanup white spaces.
- * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
- * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
- cif and userdata unused.
- * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
- Likewise.
- * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
- formatters to silence gcc.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct4.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct6.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
- * testsuite/libffi.call/problem1.c (stub): Likewise.
- * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
- gcc.
- * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
- in the last commit for this test case in the test case itself.
- * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
- unused.
- * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
- * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
- * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
- * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
- * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
- * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Fix register numbers in the FDE for
- ffi_closure_SYSV.
-
-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.
-
-2006-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
- and cast integer to void * if needed. Update the pointer to
- the FP register saved area correctly.
-
-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.
-
-2006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/return_dbl.c: New test case.
- * testsuite/libffi.call/return_dbl1.c: Likewise.
- * testsuite/libffi.call/return_dbl2.c: Likewise.
- * testsuite/libffi.call/return_fl.c: Likewise.
- * testsuite/libffi.call/return_fl1.c: Likewise.
- * testsuite/libffi.call/return_fl2.c: Likewise.
- * testsuite/libffi.call/return_fl3.c: Likewise.
- * testsuite/libffi.call/closure_fn6.c: Likewise.
-
- * 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.
-
-2006-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.ac: Enable libffi for sparc64-*-freebsd*.
- * configure: Rebuilt.
-
-2006-01-18 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
- instead do the shifting inline.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
- shift count unconditionally. Simplify load sequences for 1, 2, 3, 4
- and 8 byte structs, for the remaining struct sizes don't call
- __lshrdi3, instead do the shifting inline.
-
-2005-12-07 Thiemo Seufer <ths@networkno.de>
-
- * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
- missing parentheses.
- * src/mips/o32.S (ffi_call_O32): Code formatting. Define
- and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
- (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
- A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
- V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
- FA_0_0_OFF2.
- * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
- endianness bugs.
- (ffi_prep_closure): Improve trampoline instruction scheduling.
- (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c: Formatting.
- (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
- (ffi_prep_args64): Likewise.
-
-2005-09-30 Geoffrey Keating <geoffk@apple.com>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
- darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26 Tom Tromey <tromey@redhat.com>
-
- * 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.
-
-2005-08-25 Alan Modra <amodra@bigpond.net.au>
-
- PR target/23404
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
- homed fp args.
- (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11 Jakub Jelinek <jakub@redhat.com>
-
- * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
- (AH_BOTTOM): Add FFI_HIDDEN definition.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * src/powerpc/ffi.c (hidden): Remove.
- (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
- ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
- .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
- * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
- add FFI_HIDDEN to its prototype.
- (ffi_closure_SYSV_inner): New.
- * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
- * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10 Alfred M. Szmidt <ams@gnu.org>
-
- PR libffi/21819:
- * configure: Rebuilt.
- * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
- DW_CFA_offset_extended_sf rather than
- DW_CFA_GNU_negative_offset_extended.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
-
- * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
- on sh3.
- (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
- * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
- partially on register.
- (ffi_closure_helper_SYSV): Likewise.
- (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_call): Handle small structures correctly.
- Remove empty line.
- * src/sh64/ffi.c (simple_type): Remove.
- (return_type): Handle small structures correctly.
- (ffi_prep_args): Likewise.
- (ffi_call): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
- Emit position independent code if PIC and remove wrong datalabel
- prefixes from EH data.
-
-2005-07-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure.ac: Add POWERPC_FREEBSD rules.
- * configure: Regenerate.
- * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
- (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
- * src/powerpc/ffi.c: Add flags to handle small structure returns
- in ffi_call_SYSV.
- (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
- Aka FFI_SYSV.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Add return types for small structures.
- * src/powerpc/sysv.S: Add bits to handle small structures for
- final SYSV 4 ABI.
-
-2005-07-10 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_5_1_byte.c: New test file.
- * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05 Randolph Chung <tausq@debian.org>
-
- * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
- as FFI_TYPE_SMALL_STRUCT3. Break out handling for 5-7 byte
- structures. Kill compilation warnings.
- (ffi_closure_inner_LINUX): Print return values as hex in debug
- message. Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
- Properly handle 5-7 byte structure returns.
- * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
- (FFI_TYPE_SMALL_STRUCT2): Remove.
- (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
- (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
- * src/pa/linux.S: Mark source file as using PA1.1 assembly.
- (checksmst1, checksmst2): Remove.
- (checksmst3): Optimize handling of 3-byte struct returns.
- (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libgcj/21943
- * src/mips/n32.S: Enforce PIC code.
- * src/mips/o32.S: Likewise.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
- * configure: Regenerate.
-
-2005-06-01 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
- to call ffi_closure_helper_SYSV. Append @local instead.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
- Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
- * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
- * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
- include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-05-08 Richard Henderson <rth@redhat.com>
-
- PR libffi/21285
- * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04 Andreas Degert <ad@papyrus-gmbh.de>
- Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
- bit 11 of flags.
- (ffi_call): Mask return type field. Pass ssecount to ffi_call_unix64.
- (ffi_prep_closure): Set carry bit if sse-used flag set.
- * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
- Only load sse registers if ssecount non-zero.
- (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
- powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
- * configure: Regenerate.
-
-2005-04-20 Hans-Peter Nilsson <hp@axis.com>
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
- have Tcl8.3-compatible intermediate variable.
-
-2005-04-18 Simon Posnjak <simon.posnjak@siol.net>
- Hans-Peter Nilsson <hp@axis.com>
-
- * Makefile.am: Add CRIS support.
- * configure.ac: Likewise.
- * Makefile.in, configure, testsuite/Makefile.in,
- include/Makefile.in: Regenerate.
- * src/cris: New directory.
- * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
- * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
- \r?\n in output tests.
-
-2005-04-12 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-03-30 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30 Steve Ellcey <sje@cup.hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
- (ffi_sarg) Ditto.
- * src/ia64/unix.S (ffi_closure_unix): Extend gp
- to 64 bits in ILP32 mode.
- Load 64 bits even for short data.
-
-2005-03-23 Mike Stump <mrs@apple.com>
-
- * src/powerpc/darwin.S: Update for -m64 multilib.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21 Zack Weinberg <zack@codesourcery.com>
-
- * 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.
-
-2005-02-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
- odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR libffi/20104
- * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11 Janis Johnson <janis187@us.ibm.com>
-
- * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
- * testsuite/libffi.call/float.c: Ditto.
- * testsuite/libffi.call/float2.c: Ditto.
- * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * testsuite/libffi.special/special.exp (cxx_options): Add
- -shared-libgcc.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
- (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
- offset parameters with a type parameter; deduce size and structure
- alignment. Update all users.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
- (FFI_TYPE_LONGDOUBLE): Fix for ia64.
- * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
- into ffi_prep_closure.
- * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
- from scratch.
-
-2004-12-27 Richard Henderson <rth@redhat.com>
-
- * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25 Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
- (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
- (merge_classes): Check for it.
- (SSE_CLASS_P): New.
- (classify_argument): Pass byte_offset by value; perform all updates
- inside struct case.
- (examine_argument): Add classes argument; handle
- X86_64_COMPLEX_X87_CLASS.
- (ffi_prep_args): Merge into ...
- (ffi_call): ... here. Share stack frame with ffi_call_unix64.
- (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
- (ffi_fill_return_value): Remove.
- (ffi_prep_closure): Remove dead assert.
- (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
- Rewrite to use struct register_args instead of va_list. Create
- flags for handling structure returns.
- * src/x86/unix64.S: Remove dead strings.
- (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share
- stack frame with ffi_call. Handle structure returns properly.
- (float2sse, floatfloat2sse, double2sse): Remove.
- (sse2float, sse2double, sse2floatfloat): Remove.
- (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite
- to handle structure returns properly.
-
-2004-12-08 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
- PICFLAG.
- * Makefile.in: Regenerated.
-
-2004-12-02 Richard Sandiford <rsandifo@redhat.com>
-
- * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
- * configure, aclocal.m4, Makefile.in: Regenerate.
- * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-25 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool reversion.
-
-2004-11-24 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23 Richard Sandiford <rsandifo@redhat.com>
-
- * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
- of jal. Use an absolute encoding for the frame information.
-
-2004-11-23 Kelley Cook <kcook@gcc.gnu.org>
-
- * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS.
- * acinclude.m4: Delete logic for sincludes.
- * aclocal.m4, Makefile.in, configure: Regenerate.
- * include/Makefile: Likewise.
- * testsuite/Makefile: Likewise.
-
-2004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
- on a 8-byte boundary.
- * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
- long long values. Round stack allocation to a multiple of 8 bytes
- for ATPCS compatibility.
- * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
- names. Handle returning long long types. Add Thumb and interworking
- support. Improve soft-float code.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
- (libffi_exit): New function.
- (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR other/18138
- * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
- * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
- the function returning a structure pointed with R2.
- * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
- the structure return value if T bit set. Emit position
- independent code and EH data if PIC.
-
-2004-10-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * Makefile.am: Add m32r support.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * confiugre: Regenerate.
- * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
- (uint64, sint64, double, longdouble)
- * src/m32r: New directory.
- * src/m32r/ffi.c: New file.
- * src/m32r/sysv.S: Likewise.
- * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * testsuite/libffi.call/negint.c: New test case.
-
-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.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/many_win32.c: Remove whitespaces.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
- whitespaces.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Fix comments and identation.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
- (ffi_prep_args): Handle longdouble arguments.
- (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
- longdouble.
- (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
- * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
- values.
- * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
- * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/aix.S: Remove whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
- * src/powerpc/asm.h: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffitarget.h: Likewise.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
-
-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.in: Read configure.host.
- * 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 shouldn't 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.
-
-2004-08-24 David Daney <daney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
- to zero.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23 David Daney <daney@avtrex.com>
-
- PR libgcj/13141
- * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
- * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
- (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
- parameters and return types.
- (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
- (ffi_prep_closure): Ditto.
- (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
- alignment calculations.
- * src/mips/o32.S (ffi_closure_O32): Don't use floating point
- instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14 Casey Marshall <csm@gnu.org>
-
- * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
- contain `FFI_TYPE_UINT64' as return type for any 64-bit
- integer (O32 ABI only).
- (ffi_prep_closure): new function.
- (ffi_closure_mips_inner_O32): new function.
- * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
- `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
- * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
- 64 bit integers correctly.
- (ffi_closure_O32): new function.
- Added DWARF-2 unwind info for both functions.
-
-2004-08-10 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01 Robert Millan <robertmh@gnu.org>
-
- * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
- * configure: Regenerate.
-
-2004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
-
- * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
- and mmap() explicitly instead of relying on preset autoconf cache
- variables.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
- (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
- character on Darwin, use '\n\t' instead.
-
-2004-06-26 Matthias Klose <doko@debian.org>
-
- * libtool-version: Fix typo in revision/age.
-
-2004-06-17 Matthias Klose <doko@debian.org>
-
- * libtool-version: New.
- * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
- * Makefile.in: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * Makefile.am: Remove useless multilib rules.
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate with automake 1.8.5.
- * configure.ac: Remove useless multilib configury.
- * configure: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * .cvsignore: New file.
-
-2004-06-10 Jakub Jelinek <jakub@redhat.com>
-
- * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
- fp_done.
- (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
- changed from 8.
-
-2004-06-06 Sean McNeil <sean@mcneil.com>
-
- * configure.ac: Add x86_64-*-freebsd* support.
- * configure: Regenerate.
-
-2004-04-26 Joe Buck <jbuck@welsh-buck.org>
-
- Bug 15093
- * configure.ac: Test for existence of mmap and sys/mman.h before
- checking blacklist. Fix suggested by Jim Wilson.
- * configure: Regenerate.
-
-2004-04-26 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
- FDE location.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
- error. Reported by Thomas Heller <theller@python.net>.
- * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20 Matthias Klose <doko@debian.org>
-
- * src/pa/linux.S: Fix typo.
-
-2004-03-19 Matthias Klose <doko@debian.org>
-
- * Makefile.am: Update.
- * Makefile.in: Regenerate.
- * src/pa/ffi.h.in: Remove.
- * src/pa/ffitarget.h: New file.
-
-2004-02-10 Randolph Chung <tausq@debian.org>
-
- * Makefile.am: Add PA support.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * configure.ac: Add PA target.
- * configure: Regenerate.
- * src/pa/ffi.c: New file.
- * src/pa/ffi.h.in: Add PA support.
- * src/pa/linux.S: New file.
- * prep_cif.c: Add PA support.
-
-2004-03-16 Hosaka Yuji <hos@tamanegi.org>
-
- * src/types.c: Fix alignment size of X86_WIN32 case int64 and
- double.
- * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
- with ecif->cif->flags.
- (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
- with cif->flags.
- (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
- (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
- * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
- sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.in: Rename file to ...
- * configure.ac: ... this.
- * fficonfig.h.in: Regenerate.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2004-03-12 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Fix EH information so it corresponds to
- changes in EH format resulting from addition of linkonce support.
- * src/powerpc/darwin_closure.S: Likewise.
-
-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.
-
-2004-03-11 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
- arguments from fp registers only for the first 8 parameter slots.
- Don't convert a float parameter when passed in memory.
-
-2004-03-09 Hans-Peter Nilsson <hp@axis.com>
-
- * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
-
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
- ecif->cif->bytes to bytes.
- (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
- * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
- (ffi_closure_helper_LINUX64): Fix typo.
- * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
- for powerpc64-*-*.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
- long double function return and long double arg handling.
- (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
- Use "end_pfr" instead of "nf". Correct long double handling.
- Localise "temp".
- * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
- return value.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
- space for long double return value. Adjust stack frame and offsets.
- Load f2 long double return.
-
-2004-02-07 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
- when the structure return address is passed in %o0.
- (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
- (ffi_v9_layout_struct): Align the field following a nested structure
- on a word boundary. Use memmove instead of memcpy.
- (ffi_call): Update call to ffi_V9_return_struct.
- (ffi_prep_closure): Define 'ctx' only for V8.
- (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
- and ffi_closure_sparc_inner_v9.
- (ffi_closure_sparc_inner_v8): Return long doubles by reference.
- Always skip the structure return address. For structures and long
- doubles, copy the argument directly.
- (ffi_closure_sparc_inner_v9): Skip the structure return address only
- if required. Shift the maximum floating-point slot accordingly. For
- big structures, copy the argument directly; otherwise, left-justify the
- argument and call ffi_v9_layout_struct to lay out the structure on
- the stack.
- * src/sparc/v8.S: Undef STACKFRAME before defining it.
- (ffi_closure_v8): Pass the structure return address. Update call to
- ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
- Skip the 'unimp' insn when returning long doubles and structures.
- * src/sparc/v9.S: Undef STACKFRAME before defining it.
- (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
- FFI_TYPE_INT handling. Load structures both in integers and
- floating-point registers on return.
- * README: Update status of the SPARC port.
-
-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.
-
-2004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
-
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
- value as of type ffi_arg, not unsigned int.
-
-2004-01-21 Michael Ritzert <ritzert@t-online.de>
-
- * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
- of the LHS.
-
-2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
- Solaris.
-
-2004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
- to void *.
-
-2003-12-10 Richard Henderson <rth@redhat.com>
-
- * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
- size_t instead of int.
-
-2003-12-04 Hosaka Yuji <hos@tamanegi.org>
-
- * testsuite/libffi.call/many_win32.c: Include <float.h>.
- * testsuite/libffi.call/many_win32.c (main): Replace variable
- int i with unsigned long ul.
-
- * testsuite/libffi.call/cls_align_uint64.c: New test case.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02 Hosaka Yuji <hos@tamanegi.org>
-
- PR other/13221
- * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
- Align arguments to 32 bits.
-
-2003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR other/13221
- * testsuite/libffi.call/cls_multi_sshort.c: New test case.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-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.
-
-2003-11-21 Andreas Jaeger <aj@suse.de>
- Andreas Tobler <a.tobler@schweiz.ch>
-
- * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
- * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
- * Makefile.in: Rebuilt.
- * aclocal.m4: Likewise.
- * configure: Likewise.
- * fficonfig.h.in: Likewise.
- * testsuite/lib/libffi-dg.exp: Add include dir.
- * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
- for ffi_closure if available.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
- Add -lgcc_s to additional flags.
-
-2003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.in, include/Makefile.am: PR libgcj/11147, install
- the ffitarget.h header file in a gcc versioned and target
- dependent place.
- * configure: Regenerated.
- * Makefile.in, include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Print result and check
- with dg-output to make debugging easier.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
- static.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_9byte2.c: New test case.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_double.c: Do a check on the result.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/prep_cif.c (ffi_prep_cif): Move the validity check after
- the initialization.
-
-2003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
- FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
- __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-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
-
-2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
- _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
- Used when FFI_DEBUG = 1.
-
-2003-10-14 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
- and align.
-
-2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
- FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
- SPARC64. Cleanup whitespaces.
-
-2003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
- strongarm, xscale. Cleanup whitespaces.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Cleanup whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
- * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
- parameter stack.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
- according to the Darwin/AIX ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_DARWIN): Likewise.
- Remove the outgoing parameter stack logic. Simplify the evaluation
- of the different CASE types.
- (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
- statement in the trampoline code.
-
-2003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
- for the register size.
- (ffi_closure_helper_SYSV): Handle the structure return value
- address correctly.
- (ffi_closure_helper_SYSV): Return the appropriate type when
- the registers are used for the structure return value.
- * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
- the 64-bit return value. Update copyright years.
-
-2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
- srcdir for ffi_mips.h.
-
-2003-09-12 Alan Modra <amodra@bigpond.net.au>
-
- * src/prep_cif.c (initialize_aggregate): Include tail padding in
- structure size.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
- placement of float result.
- * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
- cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Merge identical SH and ARM
- typedefs, and add POWERPC64.
- * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
- struct split over gpr and rest.
- (ffi_prep_cif_machdep): Correct intarg_count for structures.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
- passing correctly.
-
-2003-09-09 Alan Modra <amodra@bigpond.net.au>
-
- * configure: Regenerate.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Remove build rules for ffitest.
- * Makefile.in: Rebuilt.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
- about implicit declaration of abort().
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
- * Makefile.in: Rebuilt.
- * configure.in: Add dejagnu test framework.
- * configure: Rebuilt.
-
- * testsuite/Makefile.am: New file.
- * testsuite/Makefile.in: Built
- * testsuite/lib/libffi-dg.exp: New file.
- * testsuite/config/default.exp: Likewise.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Likewise.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float1.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/many.c: Likewise.
- * testsuite/libffi.call/many_win32.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
- * testsuite/libffi.call/strlen.c: Likewise.
- * testsuite/libffi.call/strlen_win32.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
- * testsuite/libffi.call/struct2.c: Likewise.
- * testsuite/libffi.call/struct3.c: Likewise.
- * testsuite/libffi.call/struct4.c: Likewise.
- * testsuite/libffi.call/struct5.c: Likewise.
- * testsuite/libffi.call/struct6.c: Likewise.
- * testsuite/libffi.call/struct7.c: Likewise.
- * testsuite/libffi.call/struct8.c: Likewise.
- * testsuite/libffi.call/struct9.c: Likewise.
- * testsuite/libffi.special/special.exp: New file.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
- copyright years.
-
-2003-08-02 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
- structure passing.
- (ffi_closure_helper_LINUX64): Likewise.
- * src/powerpc/linux64.S: Remove code writing to parm save area.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
- address in lr from ffi_closure_helper_LINUX64 call to calculate
- table address. Optimize function tail.
-
-2003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/sparc/ffi.c: Handle all floating point registers.
- * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
-
- * README: Note that libffi is not part of GCC. Update the project
- URL and status.
-
-2003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
- Use C style comments.
-
-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
- should be read-only.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * include/ffi.h.in (EH_FRAME_FLAGS): Define.
- * src/alpha/osf.S: Use EH_FRAME_FLAGS.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
- * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
- if -fpic/-fPIC/-mrelocatable.
- * src/powerpc/powerpc_closure.S: Likewise.
- * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
- #write in .eh_frame flags.
- * src/sparc/v9.S: Likewise.
- * src/x86/unix64.S: Use EH_FRAME_FLAGS.
- * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
- * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
-
-2003-05-07 Jeff Sturm <jsturm@one-point.com>
-
- Fixes PR bootstrap/10656
- * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
- support for .register pseudo-op.
- * src/sparc/v8.S: Use it.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2003-04-18 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (POWERPC64): Define if 64-bit.
- (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
- Make it the default on POWERPC64.
- (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
- * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
- * configure: Rebuilt.
- * src/powerpc/ffi.c (hidden): Define.
- (ffi_prep_args_SYSV): Renamed from
- ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
- (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
- ASM_NEEDS_REGISTERS64): New.
- (ffi_prep_args64): New function.
- (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
- (ffi_call): Likewise.
- (ffi_prep_closure): Likewise.
- (flush_icache): Surround by #ifndef POWERPC64.
- (ffi_dblfl): New union type.
- (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
- (ffi_closure_helper_LINUX64): New function.
- * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
- __powerpc64__.
- * src/powerpc/sysv.S: Likewise.
- (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
- * src/powerpc/linux64.S: New file.
- * src/powerpc/linux64_closure.S: New file.
- * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
- src/powerpc/linux64_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
- * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
- closure_test_fn3): Fix result printing on big-endian 64-bit
- machines.
- (main): Print tst2_arg instead of uninitialized tst2_result.
-
- * src/ffitest.c (main): Hide what closure pointer really points to
- from the compiler.
-
-2003-04-16 Richard Earnshaw <rearnsha@arm.com>
-
- * configure.in (arm-*-netbsdelf*): Add configuration.
- (configure): Regenerated.
-
-2003-04-04 Loren J. Rittle <ljrittle@acm.org>
-
- * include/Makefile.in: Regenerate.
-
-2003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
-
- * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
- bit mode.
- * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
- Receive closure pointer through parameter, read args using
- __builtin_dwarf_cfa.
- (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12 Andreas Schwab <schwab@suse.de>
-
- * configure.in: Avoid trailing /. in toolexeclibdir.
- * configure: Rebuilt.
-
-2003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/powerpc/darwin_closure.S:
- Fix alignement bug, allocate 8 bytes for the result.
- * libffi/src/powerpc/aix_closure.S:
- Likewise.
- * libffi/src/powerpc/ffi_darwin.c:
- Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06 Jakub Jelinek <jakub@redhat.com>
-
- * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
- attribute.
-
-2003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
- Andreas Schwab <schwab@suse.de>
-
- * configure.in: Adjust command to source config-ml.in to account
- for changes to the libffi_basedir definition.
- (libffi_basedir): Remove ${srcdir} from value and include trailing
- slash if nonempty.
-
- * configure: Regenerate.
-
-2003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
- * src/x86/ffi64.c (ffi_prep_closure): New.
- (ffi_closure_UNIX64_inner): New.
- * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
- Remove USE_LIBDIR conditional.
- * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
- * Makefile.in, configure: Rebuilt.
-
-2003-01027 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
- * Makefile.in: Regenerate.
-
-2003-01-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
- unwind info.
-
-2003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Add unwind info.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
- (ffi_prep_cif_machdep): Likewise.
- * src/x86/unix64.S: Add unwind info.
-
-2003-01-14 Andreas Jaeger <aj@suse.de>
-
- * src/ffitest.c (main): Only use ffi_closures if those are
- supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/ffitest.c
- add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
- * libffi/src/powerpc/ffi.c
- fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c: Remove RCS version string.
- * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
- * src/ffitest.c (main): Use static storage for closure.
- * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
- * src/sparc/v8.S (ffi_closure_v8): New.
- * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10 Ranjit Mathew <rmathew@hotmail.com>
-
- * include/ffi.h.in: Added FFI_STDCALL ffi_type
- enumeration for X86_WIN32.
- * src/x86/win32.S: Added ffi_call_STDCALL function
- definition.
- * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
- switch cases for recognising FFI_STDCALL and
- calling ffi_call_STDCALL if target is X86_WIN32.
- * src/ffitest.c (my_stdcall_strlen/stdcall_many):
- stdcall versions of the "my_strlen" and "many"
- test functions (for X86_WIN32).
- Added test cases to test stdcall invocation using
- these functions.
-
-2002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26 Jim Wilson <wilson@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23 H.J. Lu <hjl@gnu.org>
-
- * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
- Include ../config/accross.m4.
- * aclocal.m4; Rebuild.
- * configure: Likewise.
-
-2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11 DJ Delorie <dj@redhat.com>
-
- * configure.in: Look for common files in the right place.
-
-2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
- raw data as _Jv_word values, not ffi_raw.
- (ffi_java_ptrarray_to_raw): Likewise.
- (ffi_java_rvalue_to_raw): New function.
- (ffi_java_raw_call): Call it.
- (ffi_java_raw_to_rvalue): New function.
- (ffi_java_translate_args): Call it.
- * src/ffitest.c (closure_test_fn): Interpret return value
- as ffi_arg, not int.
- * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
- FFI_TYPE_POINTER case.
- (ffi_closure_helper_SYSV): Likewise. Also, assume return
- values extended to word size.
-
-2002-10-02 Andreas Jaeger <aj@suse.de>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01 Bo Thorsen <bo@smetana.suse.de>
-
- * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
-
- * configure.in: Add s390x-*-linux-* target.
- * configure: Regenerate.
- * include/ffi.h.in: Define S390X for s390x targets.
- (FFI_CLOSURES): Define for s390/s390x.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
- * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
- * src/s390/ffi.c: Major rework of existing code. Add support for
- s390x targets. Add closure support.
- * src/s390/sysv.S: Likewise.
-
-2002-09-29 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: Fix typo.
-
-2002-09-28 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
- has defined __USER_LABEL_PREFIX__, then use it in CNAME.
- (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27 Bo Thorsen <bo@suse.de>
-
- * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * configure.in (sh[34]*-*-linux*): Add brackets.
- * configure: Regenerate.
-
-2002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * Makefile.am: Add SH support.
- * Makefile.in: Regenerate.
- * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
- * configure: Regenerate.
- * include/ffi.h.in: Add SH support.
- * src/sh/ffi.c: New file.
- * src/sh/sysv.S: New file.
- * src/types.c: Add SH support.
-
-2002-07-16 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi64.c: New file that adds x86-64 support.
- * src/x86/unix64.S: New file that handles argument setup for
- x86-64.
- * src/x86/sysv.S: Don't use this on x86-64.
- * src/x86/ffi.c: Don't use this on x86-64.
- Remove unused vars.
- * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
- for x86-64.
- * src/ffitest.c (struct6): New test that tests a special case in
- the x86-64 ABI.
- (struct7): Likewise.
- (struct8): Likewise.
- (struct9): Likewise.
- (closure_test_fn): Silence warning about this when it's not used.
- (main): Add the new tests.
- (main): Fix a couple of wrong casts and silence some compiler warnings.
- * include/ffi.h.in: Add x86-64 ABI definition.
- * fficonfig.h.in: Regenerate.
- * Makefile.am: Add x86-64 support.
- * configure.in: Likewise.
- * Makefile.in: Regenerate.
- * configure: Likewise.
-
-2002-06-24 Bo Thorsen <bo@suse.de>
-
- * src/types.c: Merge settings for similar architectures.
- Add x86-64 sizes and alignments.
-
-2002-06-23 Bo Thorsen <bo@suse.de>
-
- * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
- * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
- * src/mips/ffi.c (ffi_prep_args): Likewise.
- * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18 H.J. Lu (hjl@gnu.org)
-
- * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
- (libffi_la_SOURCES): Support MIPS_LINUX.
- (libffi_convenience_la_SOURCES): Likewise.
- * Makefile.in: Regenerated.
-
- * configure.in (mips64*-*): Skip.
- (mips*-*-linux*): New.
- * configure: Regenerated.
-
- * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
-
-2002-05-27 Roger Sayle <roger@eyesopen.com>
-
- * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
- fix formatting.
-
-2002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
- beginning of function (for older apple cc).
-
-2002-05-08 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
- script entry, and set LD to it when configuring multilibs.
- * configure: Rebuilt.
-
-2002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (sparc64-*-netbsd*): Add target.
- (sparc-*-netbsdelf*): Likewise.
- * configure: Regenerate.
-
-2002-04-28 David S. Miller <davem@redhat.com>
-
- * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
-
- * Makefile.am: Add Linux for S/390 support.
- * Makefile.in: Regenerate.
- * configure.in: Add Linux for S/390 support.
- * configure: Regenerate.
- * include/ffi.h.in: Add Linux for S/390 support.
- * src/s390/ffi.c: New file from libffi CVS tree.
- * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
- %r_disp32().
- * src/sparc/v8.S: Use it.
- * src/sparc/v9.S: Likewise.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2002-04-08 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
- correctly.
- * src/ia64/unix.S: Add unwind information. Fix comments.
- Save sp in a way that's compatible with unwind info.
- (ffi_call_unix): Correctly restore sp in all cases.
- * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08 Jakub Jelinek <jakub@redhat.com>
-
- * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (alpha*-*-netbsd*): Add target.
- * configure: Regenerate.
-
-2002-04-04 Jeff Sturm <jsturm@one-point.com>
-
- * src/sparc/v8.S: Add unwind info.
- * src/sparc/v9.S: Likewise.
-
-2002-03-30 Krister Walfridsson <cato@df.lth.se>
-
- * configure.in: Enable i*86-*-netbsdelf*.
- * configure: Rebuilt.
-
-2002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
-
- PR other/2620
- * src/mips/n32.s: Delete
- * src/mips/o32.s: Delete
-
-2002-03-21 Loren J. Rittle <ljrittle@acm.org>
-
- * configure.in: Enable alpha*-*-freebsd*.
- * configure: Rebuilt.
-
-2002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * Makefile.am: libfficonvenience -> libffi_convenience.
- * Makefile.in: Rebuilt.
-
- * Makefile.am: Define ffitest_OBJECTS.
- * Makefile.in: Rebuilt.
-
-2002-03-07 Andreas Tobler <toa@pop.agri.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
- (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
- (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
- * Makefile.in: Regenerate.
- * include/ffi.h.in: Add AIX and Darwin closure definitions.
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
- (flush_icache, flush_range): New functions.
- (ffi_closure_helper_DARWIN): New function.
- * src/powerpc/aix_closure.S: New file.
- * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add typedef for ffi_arg.
- * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21 Andreas Tobler <toa@pop.agri.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
- number of GPRs for floating-point arguments.
-
-2002-01-31 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Replace CHECK_SIZEOF and endian tests with
- cross-compiler friendly macros.
- * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
- macros.
-
-2002-01-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): New.
- * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
- (TARGET_SRC_POWERPC_AIX): New.
- (POWERPC_AIX): New stanza.
- * Makefile.in: Regenerate.
- * configure.in: Add AIX case.
- * configure: Regenerate.
- * include/ffi.h.in (ffi_abi): Add FFI_AIX.
- * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
- size. Fix "long double" support.
- (ffi_call): Add FFI_AIX case.
- * src/powerpc/aix.S: New.
-
-2001-10-09 John Hornkvist <john@toastedmarshmallow.com>
-
- Implement Darwin PowerPC ABI.
- * configure.in: Handle powerpc-*-darwin*.
- * Makefile.am: Set source files for POWERPC_DARWIN.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
- * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
- POWERPC_DARWIN.
- * src/powerpc/darwin.S: New file.
- * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .balign directive.
- Use C style comments.
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
- Fixes PR bootstrap/3563.
-
-2001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.in: Recognize sparc*-sun-* host.
- * configure: Regenerate.
-
-2001-06-06 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S: Add unwind info.
- * src/powerpc/sysv.S: Add unwind info.
- * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31 Jeff Sturm <jsturm@one-point.com>
-
- * configure.in: Fix AC_ARG_ENABLE usage.
- * configure: Rebuilt.
-
-2001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * configure.in: Remove warning about beta code.
- * configure: Rebuilt.
-
-2001-04-25 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/ia64/unix.S: Restore stack pointer when returning from
- ffi_closure_UNIX.
- * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18 Jim Wilson <wilson@redhat.com>
-
- * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
- to eliminate RAW DV.
-
-2001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
-
- * Makefile.am: Make a libtool convenience library.
- * Makefile.in: Rebuilt.
-
-2001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Use different syntax for subdirectory creation.
- * configure: Rebuilt.
-
-2001-03-27 Jon Beniston <jon@beniston.com>
-
- * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
- * configure: Rebuilt.
- * Makefile.am: Added X86_WIN32 target support.
- * Makefile.in: Rebuilt.
-
- * include/ffi.h.in: Added X86_WIN32 target support.
-
- * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
- * src/types.c: Added X86_WIN32 target support.
-
- * src/x86/win32.S: New file. Based on sysv.S, but with EH
- stuff removed and made to work with CygWin's gas.
-
-2001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Make target subdirectory in build dir.
- * Makefile.am: Override suffix based rules to specify correct output
- subdirectory.
- * Makefile.in: Rebuilt.
- * configure: Rebuilt.
-
-2001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
-
- * src/powerpc/ppc_closure.S: New file.
- * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
- involving long long and register pairs.
- (ffi_prep_closure): New function.
- (flush_icache): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * Makefile.in: Rebuilt.
- * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19 Tom Tromey <tromey@redhat.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02 Nick Clifton <nickc@redhat.com>
-
- * include/ffi.h.in: Remove RCS ident string.
- * include/ffi_mips.h: Remove RCS ident string.
- * src/debug.c: Remove RCS ident string.
- * src/ffitest.c: Remove RCS ident string.
- * src/prep_cif.c: Remove RCS ident string.
- * src/types.c: Remove RCS ident string.
- * src/alpha/ffi.c: Remove RCS ident string.
- * src/alpha/osf.S: Remove RCS ident string.
- * src/arm/ffi.c: Remove RCS ident string.
- * src/arm/sysv.S: Remove RCS ident string.
- * src/mips/ffi.c: Remove RCS ident string.
- * src/mips/n32.S: Remove RCS ident string.
- * src/mips/o32.S: Remove RCS ident string.
- * src/sparc/ffi.c: Remove RCS ident string.
- * src/sparc/v8.S: Remove RCS ident string.
- * src/sparc/v9.S: Remove RCS ident string.
- * src/x86/ffi.c: Remove RCS ident string.
- * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * include/ffi.h.in: Change sourceware.cygnus.com references to
- gcc.gnu.org.
-
-2000-12-09 Richard Henderson <rth@redhat.com>
-
- * src/alpha/ffi.c (ffi_call): Simplify struct return test.
- (ffi_closure_osf_inner): Index rather than increment avalue
- and arg_types. Give ffi_closure_osf the raw return value type.
- * src/alpha/osf.S (ffi_closure_osf): Handle return value type
- promotion.
-
-2000-12-07 Richard Henderson <rth@redhat.com>
-
- * src/raw_api.c (ffi_translate_args): Fix typo.
- (ffi_prep_closure): Likewise.
-
- * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
- FFI_TRAMPOLINE_SIZE.
- * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
- cif->bytes for new ffi_call_osf implementation.
- (ffi_prep_args): Absorb into ...
- (ffi_call): ... here. Do all stack allocation here and
- avoid a callback function.
- (ffi_prep_closure, ffi_closure_osf_inner): New.
- * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
- (ffi_closure_osf): New.
-
-2000-09-10 Alexandre Oliva <aoliva@redhat.com>
-
- * config.guess, config.sub, install-sh: Removed.
- * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
- * Makefile.in: Rebuilt.
-
- * acinclude.m4: Include libtool macros from the top level.
- * aclocal.m4, configure: Rebuilt.
-
-2000-08-22 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
- * configure: Rebuilt.
-
-2000-05-11 Scott Bambrough <scottb@netwinder.org>
-
- * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
- memory correctly. Use conditional instructions, not branches where
- possible.
-
-2000-05-04 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Match `arm*-*-linux-*'.
- From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (SUBDIRS): Define.
- (AM_MAKEFLAGS): Likewise.
- (Multilib support.): Add section.
- * Makefile.in: Rebuilt.
- * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
- New variables. Set for gcc using -print-multi-lib. Export them
- to libtool.
- (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
- * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
- for -shared links.
- (extra_compiler_flags_value, extra_compiler_flags): Check these
- for extra compiler options which need to be passed down in
- compiler_flags.
-
-2000-04-16 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
- Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
- * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
- Replace all void * sizeofs with sizeof(int).
- Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
- different than DOUBLE.
- Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
- (ffi_prep_args_v9): New function.
- (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
- (ffi_V9_return_struct): New function.
- (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
- 32bit code (not yet cross-arch calls).
- * src/sparc/v8.S: Add struct return delay nop.
- Handle long long.
- * src/sparc/v9.S: New file.
- * src/prep_cif.c (ffi_prep_cif): Return structure pointer
- is used on sparc64 only for structures larger than 32 bytes.
- Pass by reference for structures is done for structure arguments
- larger than 16 bytes.
- * src/ffitest.c (main): Use 64bit rint on sparc64.
- Run long long tests on sparc.
- * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
- sparc64.
- (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
- on sparc64.
- * configure.in (sparc-*-linux*): New supported target.
- (sparc64-*-linux*): Likewise.
- * configure: Rebuilt.
- * Makefile.am: Add v9.S to SPARC files.
- * Makefile.in: Likewise.
- (LINK): Surround $(CCLD) into double quotes, so that multilib
- compiles work correctly.
-
-2000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: (i*86-*-solaris*): New libffi target. Patch
- proposed by Bryce McKinlay.
-
-2000-03-20 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
-
- * config.guess, config.sub: Update from the gcc tree.
- Fix for PR libgcj/168.
-
-2000-03-03 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Fixed ia64 by hand.
-
- * configure: Rebuilt.
- * configure.in (--enable-multilib): New option.
- (libffi_basedir): New subst.
- (AC_OUTPUT): Added multilib code.
-
-2000-03-02 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
- directory name.
-
-2000-02-25 Hans Boehm <boehm@acm.org>
-
- * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
- files.
- * src/raw_api.c (ffi_translate_args): Fixed typo in argument
- list.
- (ffi_prep_raw_closure): Use ffi_translate_args, not
- ffi_closure_translate.
- * src/java_raw_api.c: New file.
- * src/ffitest.c (closure_test_fn): New function.
- (main): Define `rint' as long long on IA64. Added new test when
- FFI_CLOSURES is defined.
- * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
- (ffi_abi): Recognize IA64.
- (ffi_raw): Added `flt' field.
- Added "Java raw API" code.
- * configure.in: Recognize ia64.
- * Makefile.am (TARGET_SRC_IA64): New macro.
- (libffi_la_common_SOURCES): Added java_raw_api.c.
- (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01 Tom Tromey <tromey@cygnus.com>
-
- * include/ffi.h.in: Removed PACKAGE and VERSION defines and
- undefs.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
- * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
- Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
- * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09 Anthony Green <green@cygnus.com>
-
- * include/ffi.h.in: Try to work around messy header problem
- with PACKAGE and VERSION.
-
- * configure: Rebuilt.
- * configure.in: Change version to 2.00-beta.
-
- * fficonfig.h.in: Rebuilt.
- * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
- * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
-
- * src/x86/ffi.c (ffi_closure_SYSV): New function.
- (ffi_prep_incoming_args_SYSV): Ditto.
- (ffi_prep_closure): Ditto.
- (ffi_closure_raw_SYSV): Ditto.
- (ffi_prep_raw_closure): More ditto.
- (ffi_call_raw): Final ditto.
-
- * include/ffi.h.in: Add definitions for closure and raw API.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
- FFI_TYPE_UINT64.
-
- * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
- * src/raw_api.c: New file.
-
- * include/ffi.h.in (ffi_raw): New type.
- (UINT_ARG, SINT_ARG): New defines.
- (ffi_closure, ffi_raw_closure): New types.
- (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
- * configure.in: Add check for endianness and sizeof void*.
-
- * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
- instead of directly.
-
- * configure: Rebuilt.
-
-Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
-
- * configure.in: Add x86 and powerpc BeOS configurations.
- From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09 Anthony Green <green@cygnus.com>
-
- * configure.in: Add warning about this being beta code.
- Remove src/Makefile.am from the picture.
- * configure: Rebuilt.
-
- * Makefile.am: Move logic from src/Makefile.am. Add changes
- to support libffi as a target library.
- * Makefile.in: Rebuilt.
-
- * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
- Upgraded to new autoconf, automake, libtool.
-
- * README: Tweaks.
-
- * LICENSE: Update copyright date.
-
- * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29 Anthony Green <green@cygnus.com>
-
- * include/ChangeLog: Removed.
- * src/ChangeLog: Removed.
- * src/mips/ChangeLog: Removed.
- * src/sparc/ChangeLog: Remboved.
- * src/x86/ChangeLog: Removed.
-
- * ChangeLog.v1: Created.
diff --git a/.pc/fix-ppc32/src/powerpc/ffi.c b/.pc/fix-ppc32/src/powerpc/ffi.c
deleted file mode 100644
index dd1594e..0000000
--- a/.pc/fix-ppc32/src/powerpc/ffi.c
+++ /dev/null
@@ -1,1445 +0,0 @@
-/* -----------------------------------------------------------------------
- ffi.c - Copyright (C) 2011 Anthony Green
- Copyright (C) 2008 Red Hat, Inc
- Copyright (C) 2007, 2008 Free Software Foundation, Inc
- Copyright (c) 1998 Geoffrey Keating
-
- PowerPC Foreign Function Interface
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS
- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR
- OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- OTHER DEALINGS IN THE SOFTWARE.
- ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#include <stdlib.h>
-#include <stdio.h>
-
-
-extern void ffi_closure_SYSV (void);
-extern void FFI_HIDDEN ffi_closure_LINUX64 (void);
-
-enum {
- /* The assembly depends on these exact flags. */
- FLAG_RETURNS_SMST = 1 << (31-31), /* Used for FFI_SYSV small structs. */
- FLAG_RETURNS_NOTHING = 1 << (31-30), /* These go in cr7 */
- FLAG_RETURNS_FP = 1 << (31-29),
- FLAG_RETURNS_64BITS = 1 << (31-28),
-
- FLAG_RETURNS_128BITS = 1 << (31-27), /* cr6 */
- FLAG_SYSV_SMST_R4 = 1 << (31-26), /* use r4 for FFI_SYSV 8 byte
- structs. */
- FLAG_SYSV_SMST_R3 = 1 << (31-25), /* use r3 for FFI_SYSV 4 byte
- structs. */
- /* Bits (31-24) through (31-19) store shift value for SMST */
-
- FLAG_ARG_NEEDS_COPY = 1 << (31- 7),
- FLAG_FP_ARGUMENTS = 1 << (31- 6), /* cr1.eq; specified by ABI */
- FLAG_4_GPR_ARGUMENTS = 1 << (31- 5),
- FLAG_RETVAL_REFERENCE = 1 << (31- 4)
-};
-
-/* About the SYSV ABI. */
-unsigned int NUM_GPR_ARG_REGISTERS = 8;
-#ifndef __NO_FPRS__
-unsigned int NUM_FPR_ARG_REGISTERS = 8;
-#else
-unsigned int NUM_FPR_ARG_REGISTERS = 0;
-#endif
-
-enum { ASM_NEEDS_REGISTERS = 4 };
-
-/* ffi_prep_args_SYSV is called by the assembly routine once stack space
- has been allocated for the function's arguments.
-
- The stack layout we want looks like this:
-
- | Return address from ffi_call_SYSV 4bytes | higher addresses
- |--------------------------------------------|
- | Previous backchain pointer 4 | stack pointer here
- |--------------------------------------------|<+ <<< on entry to
- | Saved r28-r31 4*4 | | ffi_call_SYSV
- |--------------------------------------------| |
- | GPR registers r3-r10 8*4 | | ffi_call_SYSV
- |--------------------------------------------| |
- | FPR registers f1-f8 (optional) 8*8 | |
- |--------------------------------------------| | stack |
- | Space for copied structures | | grows |
- |--------------------------------------------| | down V
- | Parameters that didn't fit in registers | |
- |--------------------------------------------| | lower addresses
- | Space for callee's LR 4 | |
- |--------------------------------------------| | stack pointer here
- | Current backchain pointer 4 |-/ during
- |--------------------------------------------| <<< ffi_call_SYSV
-
-*/
-
-void
-ffi_prep_args_SYSV (extended_cif *ecif, unsigned *const stack)
-{
- const unsigned bytes = ecif->cif->bytes;
- const unsigned flags = ecif->cif->flags;
-
- typedef union {
- char *c;
- unsigned *u;
- long long *ll;
- float *f;
- double *d;
- } valp;
-
- /* 'stacktop' points at the previous backchain pointer. */
- valp stacktop;
-
- /* 'gpr_base' points at the space for gpr3, and grows upwards as
- we use GPR registers. */
- valp gpr_base;
- int intarg_count;
-
- /* 'fpr_base' points at the space for fpr1, and grows upwards as
- we use FPR registers. */
- valp fpr_base;
- int fparg_count;
-
- /* 'copy_space' grows down as we put structures in it. It should
- stay 16-byte aligned. */
- valp copy_space;
-
- /* 'next_arg' grows up as we put parameters in it. */
- valp next_arg;
-
- int i, ii MAYBE_UNUSED;
- ffi_type **ptr;
- double double_tmp;
- union {
- void **v;
- char **c;
- signed char **sc;
- unsigned char **uc;
- signed short **ss;
- unsigned short **us;
- unsigned int **ui;
- long long **ll;
- float **f;
- double **d;
- } p_argv;
- size_t struct_copy_size;
- unsigned gprvalue;
-
- if (ecif->cif->abi == FFI_LINUX_SOFT_FLOAT)
- NUM_FPR_ARG_REGISTERS = 0;
-
- stacktop.c = (char *) stack + bytes;
- gpr_base.u = stacktop.u - ASM_NEEDS_REGISTERS - NUM_GPR_ARG_REGISTERS;
- intarg_count = 0;
- fpr_base.d = gpr_base.d - NUM_FPR_ARG_REGISTERS;
- fparg_count = 0;
- copy_space.c = ((flags & FLAG_FP_ARGUMENTS) ? fpr_base.c : gpr_base.c);
- next_arg.u = stack + 2;
-
- /* Check that everything starts aligned properly. */
- FFI_ASSERT (((unsigned) (char *) stack & 0xF) == 0);
- FFI_ASSERT (((unsigned) copy_space.c & 0xF) == 0);
- FFI_ASSERT (((unsigned) stacktop.c & 0xF) == 0);
- FFI_ASSERT ((bytes & 0xF) == 0);
- FFI_ASSERT (copy_space.c >= next_arg.c);
-
- /* Deal with return values that are actually pass-by-reference. */
- if (flags & FLAG_RETVAL_REFERENCE)
- {
- *gpr_base.u++ = (unsigned long) (char *) ecif->rvalue;
- intarg_count++;
- }
-
- /* Now for the arguments. */
- p_argv.v = ecif->avalue;
- for (ptr = ecif->cif->arg_types, i = ecif->cif->nargs;
- i > 0;
- i--, ptr++, p_argv.v++)
- {
- switch ((*ptr)->type)
- {
- case FFI_TYPE_FLOAT:
- /* With FFI_LINUX_SOFT_FLOAT floats are handled like UINT32. */
- if (ecif->cif->abi == FFI_LINUX_SOFT_FLOAT)
- goto soft_float_prep;
- double_tmp = **p_argv.f;
- if (fparg_count >= NUM_FPR_ARG_REGISTERS)
- {
- *next_arg.f = (float) double_tmp;
- next_arg.u += 1;
- intarg_count++;
- }
- else
- *fpr_base.d++ = double_tmp;
- fparg_count++;
- FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
- break;
-
- case FFI_TYPE_DOUBLE:
- /* With FFI_LINUX_SOFT_FLOAT doubles are handled like UINT64. */
- if (ecif->cif->abi == FFI_LINUX_SOFT_FLOAT)
- goto soft_double_prep;
- double_tmp = **p_argv.d;
-
- if (fparg_count >= NUM_FPR_ARG_REGISTERS)
- {
- if (intarg_count >= NUM_GPR_ARG_REGISTERS
- && intarg_count % 2 != 0)
- {
- intarg_count++;
- next_arg.u++;
- }
- *next_arg.d = double_tmp;
- next_arg.u += 2;
- }
- else
- *fpr_base.d++ = double_tmp;
- fparg_count++;
- FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
- break;
-
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- case FFI_TYPE_LONGDOUBLE:
- if ((ecif->cif->abi != FFI_LINUX)
- && (ecif->cif->abi != FFI_LINUX_SOFT_FLOAT))
- goto do_struct;
- /* The soft float ABI for long doubles works like this,
- a long double is passed in four consecutive gprs if available.
- A maximum of 2 long doubles can be passed in gprs.
- If we do not have 4 gprs left, the long double is passed on the
- stack, 4-byte aligned. */
- if (ecif->cif->abi == FFI_LINUX_SOFT_FLOAT)
- {
- unsigned int int_tmp = (*p_argv.ui)[0];
- if (intarg_count >= NUM_GPR_ARG_REGISTERS - 3)
- {
- if (intarg_count < NUM_GPR_ARG_REGISTERS)
- intarg_count += NUM_GPR_ARG_REGISTERS - intarg_count;
- *next_arg.u = int_tmp;
- next_arg.u++;
- for (ii = 1; ii < 4; ii++)
- {
- int_tmp = (*p_argv.ui)[ii];
- *next_arg.u = int_tmp;
- next_arg.u++;
- }
- }
- else
- {
- *gpr_base.u++ = int_tmp;
- for (ii = 1; ii < 4; ii++)
- {
- int_tmp = (*p_argv.ui)[ii];
- *gpr_base.u++ = int_tmp;
- }
- }
- intarg_count +=4;
- }
- else
- {
- double_tmp = (*p_argv.d)[0];
-
- if (fparg_count >= NUM_FPR_ARG_REGISTERS - 1)
- {
- if (intarg_count >= NUM_GPR_ARG_REGISTERS
- && intarg_count % 2 != 0)
- {
- intarg_count++;
- next_arg.u++;
- }
- *next_arg.d = double_tmp;
- next_arg.u += 2;
- double_tmp = (*p_argv.d)[1];
- *next_arg.d = double_tmp;
- next_arg.u += 2;
- }
- else
- {
- *fpr_base.d++ = double_tmp;
- double_tmp = (*p_argv.d)[1];
- *fpr_base.d++ = double_tmp;
- }
-
- fparg_count += 2;
- FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
- }
- break;
-#endif
-
- case FFI_TYPE_UINT64:
- case FFI_TYPE_SINT64:
- soft_double_prep:
- if (intarg_count == NUM_GPR_ARG_REGISTERS-1)
- intarg_count++;
- if (intarg_count >= NUM_GPR_ARG_REGISTERS)
- {
- if (intarg_count % 2 != 0)
- {
- intarg_count++;
- next_arg.u++;
- }
- *next_arg.ll = **p_argv.ll;
- next_arg.u += 2;
- }
- else
- {
- /* whoops: abi states only certain register pairs
- * can be used for passing long long int
- * specifically (r3,r4), (r5,r6), (r7,r8),
- * (r9,r10) and if next arg is long long but
- * not correct starting register of pair then skip
- * until the proper starting register
- */
- if (intarg_count % 2 != 0)
- {
- intarg_count ++;
- gpr_base.u++;
- }
- *gpr_base.ll++ = **p_argv.ll;
- }
- intarg_count += 2;
- break;
-
- case FFI_TYPE_STRUCT:
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- do_struct:
-#endif
- struct_copy_size = ((*ptr)->size + 15) & ~0xF;
- copy_space.c -= struct_copy_size;
- memcpy (copy_space.c, *p_argv.c, (*ptr)->size);
-
- gprvalue = (unsigned long) copy_space.c;
-
- FFI_ASSERT (copy_space.c > next_arg.c);
- FFI_ASSERT (flags & FLAG_ARG_NEEDS_COPY);
- goto putgpr;
-
- case FFI_TYPE_UINT8:
- gprvalue = **p_argv.uc;
- goto putgpr;
- case FFI_TYPE_SINT8:
- gprvalue = **p_argv.sc;
- goto putgpr;
- case FFI_TYPE_UINT16:
- gprvalue = **p_argv.us;
- goto putgpr;
- case FFI_TYPE_SINT16:
- gprvalue = **p_argv.ss;
- goto putgpr;
-
- case FFI_TYPE_INT:
- case FFI_TYPE_UINT32:
- case FFI_TYPE_SINT32:
- case FFI_TYPE_POINTER:
- soft_float_prep:
-
- gprvalue = **p_argv.ui;
-
- putgpr:
- if (intarg_count >= NUM_GPR_ARG_REGISTERS)
- *next_arg.u++ = gprvalue;
- else
- *gpr_base.u++ = gprvalue;
- intarg_count++;
- break;
- }
- }
-
- /* Check that we didn't overrun the stack... */
- FFI_ASSERT (copy_space.c >= next_arg.c);
- FFI_ASSERT (gpr_base.u <= stacktop.u - ASM_NEEDS_REGISTERS);
- FFI_ASSERT (fpr_base.u
- <= stacktop.u - ASM_NEEDS_REGISTERS - NUM_GPR_ARG_REGISTERS);
- FFI_ASSERT (flags & FLAG_4_GPR_ARGUMENTS || intarg_count <= 4);
-}
-
-/* About the LINUX64 ABI. */
-enum {
- NUM_GPR_ARG_REGISTERS64 = 8,
- NUM_FPR_ARG_REGISTERS64 = 13
-};
-enum { ASM_NEEDS_REGISTERS64 = 4 };
-
-/* ffi_prep_args64 is called by the assembly routine once stack space
- has been allocated for the function's arguments.
-
- The stack layout we want looks like this:
-
- | Ret addr from ffi_call_LINUX64 8bytes | higher addresses
- |--------------------------------------------|
- | CR save area 8bytes |
- |--------------------------------------------|
- | Previous backchain pointer 8 | stack pointer here
- |--------------------------------------------|<+ <<< on entry to
- | Saved r28-r31 4*8 | | ffi_call_LINUX64
- |--------------------------------------------| |
- | GPR registers r3-r10 8*8 | |
- |--------------------------------------------| |
- | FPR registers f1-f13 (optional) 13*8 | |
- |--------------------------------------------| |
- | Parameter save area | |
- |--------------------------------------------| |
- | TOC save area 8 | |
- |--------------------------------------------| | stack |
- | Linker doubleword 8 | | grows |
- |--------------------------------------------| | down V
- | Compiler doubleword 8 | |
- |--------------------------------------------| | lower addresses
- | Space for callee's LR 8 | |
- |--------------------------------------------| |
- | CR save area 8 | |
- |--------------------------------------------| | stack pointer here
- | Current backchain pointer 8 |-/ during
- |--------------------------------------------| <<< ffi_call_LINUX64
-
-*/
-
-void FFI_HIDDEN
-ffi_prep_args64 (extended_cif *ecif, unsigned long *const stack)
-{
- const unsigned long bytes = ecif->cif->bytes;
- const unsigned long flags = ecif->cif->flags;
-
- typedef union {
- char *c;
- unsigned long *ul;
- float *f;
- double *d;
- } valp;
-
- /* 'stacktop' points at the previous backchain pointer. */
- valp stacktop;
-
- /* 'next_arg' points at the space for gpr3, and grows upwards as
- we use GPR registers, then continues at rest. */
- valp gpr_base;
- valp gpr_end;
- valp rest;
- valp next_arg;
-
- /* 'fpr_base' points at the space for fpr3, and grows upwards as
- we use FPR registers. */
- valp fpr_base;
- int fparg_count;
-
- int i, words;
- ffi_type **ptr;
- double double_tmp;
- union {
- void **v;
- char **c;
- signed char **sc;
- unsigned char **uc;
- signed short **ss;
- unsigned short **us;
- signed int **si;
- unsigned int **ui;
- unsigned long **ul;
- float **f;
- double **d;
- } p_argv;
- unsigned long gprvalue;
-
- stacktop.c = (char *) stack + bytes;
- gpr_base.ul = stacktop.ul - ASM_NEEDS_REGISTERS64 - NUM_GPR_ARG_REGISTERS64;
- gpr_end.ul = gpr_base.ul + NUM_GPR_ARG_REGISTERS64;
- rest.ul = stack + 6 + NUM_GPR_ARG_REGISTERS64;
- fpr_base.d = gpr_base.d - NUM_FPR_ARG_REGISTERS64;
- fparg_count = 0;
- next_arg.ul = gpr_base.ul;
-
- /* Check that everything starts aligned properly. */
- FFI_ASSERT (((unsigned long) (char *) stack & 0xF) == 0);
- FFI_ASSERT (((unsigned long) stacktop.c & 0xF) == 0);
- FFI_ASSERT ((bytes & 0xF) == 0);
-
- /* Deal with return values that are actually pass-by-reference. */
- if (flags & FLAG_RETVAL_REFERENCE)
- *next_arg.ul++ = (unsigned long) (char *) ecif->rvalue;
-
- /* Now for the arguments. */
- p_argv.v = ecif->avalue;
- for (ptr = ecif->cif->arg_types, i = ecif->cif->nargs;
- i > 0;
- i--, ptr++, p_argv.v++)
- {
- switch ((*ptr)->type)
- {
- case FFI_TYPE_FLOAT:
- double_tmp = **p_argv.f;
- *next_arg.f = (float) double_tmp;
- if (++next_arg.ul == gpr_end.ul)
- next_arg.ul = rest.ul;
- if (fparg_count < NUM_FPR_ARG_REGISTERS64)
- *fpr_base.d++ = double_tmp;
- fparg_count++;
- FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
- break;
-
- case FFI_TYPE_DOUBLE:
- double_tmp = **p_argv.d;
- *next_arg.d = double_tmp;
- if (++next_arg.ul == gpr_end.ul)
- next_arg.ul = rest.ul;
- if (fparg_count < NUM_FPR_ARG_REGISTERS64)
- *fpr_base.d++ = double_tmp;
- fparg_count++;
- FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
- break;
-
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- case FFI_TYPE_LONGDOUBLE:
- double_tmp = (*p_argv.d)[0];
- *next_arg.d = double_tmp;
- if (++next_arg.ul == gpr_end.ul)
- next_arg.ul = rest.ul;
- if (fparg_count < NUM_FPR_ARG_REGISTERS64)
- *fpr_base.d++ = double_tmp;
- fparg_count++;
- double_tmp = (*p_argv.d)[1];
- *next_arg.d = double_tmp;
- if (++next_arg.ul == gpr_end.ul)
- next_arg.ul = rest.ul;
- if (fparg_count < NUM_FPR_ARG_REGISTERS64)
- *fpr_base.d++ = double_tmp;
- fparg_count++;
- FFI_ASSERT (__LDBL_MANT_DIG__ == 106);
- FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
- break;
-#endif
-
- case FFI_TYPE_STRUCT:
- words = ((*ptr)->size + 7) / 8;
- if (next_arg.ul >= gpr_base.ul && next_arg.ul + words > gpr_end.ul)
- {
- size_t first = gpr_end.c - next_arg.c;
- memcpy (next_arg.c, *p_argv.c, first);
- memcpy (rest.c, *p_argv.c + first, (*ptr)->size - first);
- next_arg.c = rest.c + words * 8 - first;
- }
- else
- {
- char *where = next_arg.c;
-
- /* Structures with size less than eight bytes are passed
- left-padded. */
- if ((*ptr)->size < 8)
- where += 8 - (*ptr)->size;
-
- memcpy (where, *p_argv.c, (*ptr)->size);
- next_arg.ul += words;
- if (next_arg.ul == gpr_end.ul)
- next_arg.ul = rest.ul;
- }
- break;
-
- case FFI_TYPE_UINT8:
- gprvalue = **p_argv.uc;
- goto putgpr;
- case FFI_TYPE_SINT8:
- gprvalue = **p_argv.sc;
- goto putgpr;
- case FFI_TYPE_UINT16:
- gprvalue = **p_argv.us;
- goto putgpr;
- case FFI_TYPE_SINT16:
- gprvalue = **p_argv.ss;
- goto putgpr;
- case FFI_TYPE_UINT32:
- gprvalue = **p_argv.ui;
- goto putgpr;
- case FFI_TYPE_INT:
- case FFI_TYPE_SINT32:
- gprvalue = **p_argv.si;
- goto putgpr;
-
- case FFI_TYPE_UINT64:
- case FFI_TYPE_SINT64:
- case FFI_TYPE_POINTER:
- gprvalue = **p_argv.ul;
- putgpr:
- *next_arg.ul++ = gprvalue;
- if (next_arg.ul == gpr_end.ul)
- next_arg.ul = rest.ul;
- break;
- }
- }
-
- FFI_ASSERT (flags & FLAG_4_GPR_ARGUMENTS
- || (next_arg.ul >= gpr_base.ul
- && next_arg.ul <= gpr_base.ul + 4));
-}
-
-
-
-/* Perform machine dependent cif processing */
-ffi_status
-ffi_prep_cif_machdep (ffi_cif *cif)
-{
- /* All this is for the SYSV and LINUX64 ABI. */
- int i;
- ffi_type **ptr;
- unsigned bytes;
- int fparg_count = 0, intarg_count = 0;
- unsigned flags = 0;
- unsigned struct_copy_size = 0;
- unsigned type = cif->rtype->type;
- unsigned size = cif->rtype->size;
-
- if (cif->abi == FFI_LINUX_SOFT_FLOAT)
- NUM_FPR_ARG_REGISTERS = 0;
-
- if (cif->abi != FFI_LINUX64)
- {
- /* All the machine-independent calculation of cif->bytes will be wrong.
- Redo the calculation for SYSV. */
-
- /* Space for the frame pointer, callee's LR, and the asm's temp regs. */
- bytes = (2 + ASM_NEEDS_REGISTERS) * sizeof (int);
-
- /* Space for the GPR registers. */
- bytes += NUM_GPR_ARG_REGISTERS * sizeof (int);
- }
- else
- {
- /* 64-bit ABI. */
-
- /* Space for backchain, CR, LR, cc/ld doubleword, TOC and the asm's temp
- regs. */
- bytes = (6 + ASM_NEEDS_REGISTERS64) * sizeof (long);
-
- /* Space for the mandatory parm save area and general registers. */
- bytes += 2 * NUM_GPR_ARG_REGISTERS64 * sizeof (long);
- }
-
- /* Return value handling. The rules for SYSV are as follows:
- - 32-bit (or less) integer values are returned in gpr3;
- - Structures of size <= 4 bytes also returned in gpr3;
- - 64-bit integer values and structures between 5 and 8 bytes are returned
- in gpr3 and gpr4;
- - Single/double FP values are returned in fpr1;
- - Larger structures are allocated space and a pointer is passed as
- the first argument.
- - long doubles (if not equivalent to double) are returned in
- fpr1,fpr2 for Linux and as for large structs for SysV.
- For LINUX64:
- - integer values in gpr3;
- - Structures/Unions by reference;
- - Single/double FP values in fpr1, long double in fpr1,fpr2.
- - soft-float float/doubles are treated as UINT32/UINT64 respectivley.
- - soft-float long doubles are returned in gpr3-gpr6. */
- switch (type)
- {
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- case FFI_TYPE_LONGDOUBLE:
- if (cif->abi != FFI_LINUX && cif->abi != FFI_LINUX64
- && cif->abi != FFI_LINUX_SOFT_FLOAT)
- goto byref;
- flags |= FLAG_RETURNS_128BITS;
- /* Fall through. */
-#endif
- case FFI_TYPE_DOUBLE:
- flags |= FLAG_RETURNS_64BITS;
- /* Fall through. */
- case FFI_TYPE_FLOAT:
- /* With FFI_LINUX_SOFT_FLOAT no fp registers are used. */
- if (cif->abi != FFI_LINUX_SOFT_FLOAT)
- flags |= FLAG_RETURNS_FP;
- break;
-
- case FFI_TYPE_UINT64:
- case FFI_TYPE_SINT64:
- flags |= FLAG_RETURNS_64BITS;
- break;
-
- case FFI_TYPE_STRUCT:
- if (cif->abi == FFI_SYSV)
- {
- /* The final SYSV ABI says that structures smaller or equal 8 bytes
- are returned in r3/r4. The FFI_GCC_SYSV ABI instead returns them
- in memory. */
-
- /* Treat structs with size <= 8 bytes. */
- if (size <= 8)
- {
- flags |= FLAG_RETURNS_SMST;
- /* These structs are returned in r3. We pack the type and the
- precalculated shift value (needed in the sysv.S) into flags.
- The same applies for the structs returned in r3/r4. */
- if (size <= 4)
- {
- flags |= FLAG_SYSV_SMST_R3;
- flags |= 8 * (4 - size) << 8;
- break;
- }
- /* These structs are returned in r3 and r4. See above. */
- if (size <= 8)
- {
- flags |= FLAG_SYSV_SMST_R3 | FLAG_SYSV_SMST_R4;
- flags |= 8 * (8 - size) << 8;
- break;
- }
- }
- }
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- byref:
-#endif
- intarg_count++;
- flags |= FLAG_RETVAL_REFERENCE;
- /* Fall through. */
- case FFI_TYPE_VOID:
- flags |= FLAG_RETURNS_NOTHING;
- break;
-
- default:
- /* Returns 32-bit integer, or similar. Nothing to do here. */
- break;
- }
-
- if (cif->abi != FFI_LINUX64)
- /* The first NUM_GPR_ARG_REGISTERS words of integer arguments, and the
- first NUM_FPR_ARG_REGISTERS fp arguments, go in registers; the rest
- goes on the stack. Structures and long doubles (if not equivalent
- to double) are passed as a pointer to a copy of the structure.
- Stuff on the stack needs to keep proper alignment. */
- for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++)
- {
- switch ((*ptr)->type)
- {
- case FFI_TYPE_FLOAT:
- /* With FFI_LINUX_SOFT_FLOAT floats are handled like UINT32. */
- if (cif->abi == FFI_LINUX_SOFT_FLOAT)
- goto soft_float_cif;
- fparg_count++;
- /* floating singles are not 8-aligned on stack */
- break;
-
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- case FFI_TYPE_LONGDOUBLE:
- if (cif->abi != FFI_LINUX && cif->abi != FFI_LINUX_SOFT_FLOAT)
- goto do_struct;
- if (cif->abi == FFI_LINUX_SOFT_FLOAT)
- {
- if (intarg_count >= NUM_GPR_ARG_REGISTERS - 3
- || intarg_count < NUM_GPR_ARG_REGISTERS)
- /* A long double in FFI_LINUX_SOFT_FLOAT can use only
- a set of four consecutive gprs. If we have not enough,
- we have to adjust the intarg_count value. */
- intarg_count += NUM_GPR_ARG_REGISTERS - intarg_count;
- intarg_count += 4;
- break;
- }
- else
- fparg_count++;
- /* Fall thru */
-#endif
- case FFI_TYPE_DOUBLE:
- /* With FFI_LINUX_SOFT_FLOAT doubles are handled like UINT64. */
- if (cif->abi == FFI_LINUX_SOFT_FLOAT)
- goto soft_double_cif;
- fparg_count++;
- /* If this FP arg is going on the stack, it must be
- 8-byte-aligned. */
- if (fparg_count > NUM_FPR_ARG_REGISTERS
- && intarg_count >= NUM_GPR_ARG_REGISTERS
- && intarg_count % 2 != 0)
- intarg_count++;
- break;
-
- case FFI_TYPE_UINT64:
- case FFI_TYPE_SINT64:
- soft_double_cif:
- /* 'long long' arguments are passed as two words, but
- either both words must fit in registers or both go
- on the stack. If they go on the stack, they must
- be 8-byte-aligned.
-
- Also, only certain register pairs can be used for
- passing long long int -- specifically (r3,r4), (r5,r6),
- (r7,r8), (r9,r10).
- */
- if (intarg_count == NUM_GPR_ARG_REGISTERS-1
- || intarg_count % 2 != 0)
- intarg_count++;
- intarg_count += 2;
- break;
-
- case FFI_TYPE_STRUCT:
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- do_struct:
-#endif
- /* We must allocate space for a copy of these to enforce
- pass-by-value. Pad the space up to a multiple of 16
- bytes (the maximum alignment required for anything under
- the SYSV ABI). */
- struct_copy_size += ((*ptr)->size + 15) & ~0xF;
- /* Fall through (allocate space for the pointer). */
-
- default:
- soft_float_cif:
- /* Everything else is passed as a 4-byte word in a GPR, either
- the object itself or a pointer to it. */
- intarg_count++;
- break;
- }
- }
- else
- for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++)
- {
- switch ((*ptr)->type)
- {
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- case FFI_TYPE_LONGDOUBLE:
- if (cif->abi == FFI_LINUX_SOFT_FLOAT)
- intarg_count += 4;
- else
- {
- fparg_count += 2;
- intarg_count += 2;
- }
- break;
-#endif
- case FFI_TYPE_FLOAT:
- case FFI_TYPE_DOUBLE:
- fparg_count++;
- intarg_count++;
- break;
-
- case FFI_TYPE_STRUCT:
- intarg_count += ((*ptr)->size + 7) / 8;
- break;
-
- default:
- /* Everything else is passed as a 8-byte word in a GPR, either
- the object itself or a pointer to it. */
- intarg_count++;
- break;
- }
- }
-
- if (fparg_count != 0)
- flags |= FLAG_FP_ARGUMENTS;
- if (intarg_count > 4)
- flags |= FLAG_4_GPR_ARGUMENTS;
- if (struct_copy_size != 0)
- flags |= FLAG_ARG_NEEDS_COPY;
-
- if (cif->abi != FFI_LINUX64)
- {
- /* Space for the FPR registers, if needed. */
- if (fparg_count != 0)
- bytes += NUM_FPR_ARG_REGISTERS * sizeof (double);
-
- /* Stack space. */
- if (intarg_count > NUM_GPR_ARG_REGISTERS)
- bytes += (intarg_count - NUM_GPR_ARG_REGISTERS) * sizeof (int);
- if (fparg_count > NUM_FPR_ARG_REGISTERS)
- bytes += (fparg_count - NUM_FPR_ARG_REGISTERS) * sizeof (double);
- }
- else
- {
- /* Space for the FPR registers, if needed. */
- if (fparg_count != 0)
- bytes += NUM_FPR_ARG_REGISTERS64 * sizeof (double);
-
- /* Stack space. */
- if (intarg_count > NUM_GPR_ARG_REGISTERS64)
- bytes += (intarg_count - NUM_GPR_ARG_REGISTERS64) * sizeof (long);
- }
-
- /* The stack space allocated needs to be a multiple of 16 bytes. */
- bytes = (bytes + 15) & ~0xF;
-
- /* Add in the space for the copied structures. */
- bytes += struct_copy_size;
-
- cif->flags = flags;
- cif->bytes = bytes;
-
- return FFI_OK;
-}
-
-extern void ffi_call_SYSV(extended_cif *, unsigned, unsigned, unsigned *,
- void (*fn)(void));
-extern void FFI_HIDDEN ffi_call_LINUX64(extended_cif *, unsigned long,
- unsigned long, unsigned long *,
- void (*fn)(void));
-
-void
-ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
-{
- extended_cif ecif;
-
- ecif.cif = cif;
- ecif.avalue = avalue;
-
- /* If the return value is a struct and we don't have a return */
- /* value address then we need to make one */
-
- if ((rvalue == NULL) && (cif->rtype->type == FFI_TYPE_STRUCT))
- {
- ecif.rvalue = alloca(cif->rtype->size);
- }
- else
- ecif.rvalue = rvalue;
-
-
- switch (cif->abi)
- {
-#ifndef POWERPC64
- case FFI_SYSV:
- case FFI_GCC_SYSV:
- case FFI_LINUX:
- case FFI_LINUX_SOFT_FLOAT:
- ffi_call_SYSV (&ecif, -cif->bytes, cif->flags, ecif.rvalue, fn);
- break;
-#else
- case FFI_LINUX64:
- ffi_call_LINUX64 (&ecif, -(long) cif->bytes, cif->flags, ecif.rvalue, fn);
- break;
-#endif
- default:
- FFI_ASSERT (0);
- break;
- }
-}
-
-
-#ifndef POWERPC64
-#define MIN_CACHE_LINE_SIZE 8
-
-static void
-flush_icache (char *wraddr, char *xaddr, int size)
-{
- int i;
- for (i = 0; i < size; i += MIN_CACHE_LINE_SIZE)
- __asm__ volatile ("icbi 0,%0;" "dcbf 0,%1;"
- : : "r" (xaddr + i), "r" (wraddr + i) : "memory");
- __asm__ volatile ("icbi 0,%0;" "dcbf 0,%1;" "sync;" "isync;"
- : : "r"(xaddr + size - 1), "r"(wraddr + size - 1)
- : "memory");
-}
-#endif
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure *closure,
- ffi_cif *cif,
- void (*fun) (ffi_cif *, void *, void **, void *),
- void *user_data,
- void *codeloc)
-{
-#ifdef POWERPC64
- void **tramp = (void **) &closure->tramp[0];
-
- if (cif->abi != FFI_LINUX64)
- return FFI_BAD_ABI;
- /* Copy function address and TOC from ffi_closure_LINUX64. */
- memcpy (tramp, (char *) ffi_closure_LINUX64, 16);
- tramp[2] = codeloc;
-#else
- unsigned int *tramp;
-
- if (! (cif->abi == FFI_GCC_SYSV || cif->abi == FFI_SYSV))
- return FFI_BAD_ABI;
-
- tramp = (unsigned int *) &closure->tramp[0];
- tramp[0] = 0x7c0802a6; /* mflr r0 */
- tramp[1] = 0x4800000d; /* bl 10 <trampoline_initial+0x10> */
- tramp[4] = 0x7d6802a6; /* mflr r11 */
- tramp[5] = 0x7c0803a6; /* mtlr r0 */
- tramp[6] = 0x800b0000; /* lwz r0,0(r11) */
- tramp[7] = 0x816b0004; /* lwz r11,4(r11) */
- tramp[8] = 0x7c0903a6; /* mtctr r0 */
- tramp[9] = 0x4e800420; /* bctr */
- *(void **) &tramp[2] = (void *) ffi_closure_SYSV; /* function */
- *(void **) &tramp[3] = codeloc; /* context */
-
- /* Flush the icache. */
- flush_icache ((char *)tramp, (char *)codeloc, FFI_TRAMPOLINE_SIZE);
-#endif
-
- closure->cif = cif;
- closure->fun = fun;
- closure->user_data = user_data;
-
- return FFI_OK;
-}
-
-typedef union
-{
- float f;
- double d;
-} ffi_dblfl;
-
-int ffi_closure_helper_SYSV (ffi_closure *, void *, unsigned long *,
- ffi_dblfl *, unsigned long *);
-
-/* Basically the trampoline invokes ffi_closure_SYSV, and on
- * entry, r11 holds the address of the closure.
- * After storing the registers that could possibly contain
- * parameters to be passed into the stack frame and setting
- * up space for a return value, ffi_closure_SYSV invokes the
- * following helper function to do most of the work
- */
-
-int
-ffi_closure_helper_SYSV (ffi_closure *closure, void *rvalue,
- unsigned long *pgr, ffi_dblfl *pfr,
- unsigned long *pst)
-{
- /* rvalue is the pointer to space for return value in closure assembly */
- /* pgr is the pointer to where r3-r10 are stored in ffi_closure_SYSV */
- /* pfr is the pointer to where f1-f8 are stored in ffi_closure_SYSV */
- /* pst is the pointer to outgoing parameter stack in original caller */
-
- void ** avalue;
- ffi_type ** arg_types;
- long i, avn;
- long nf; /* number of floating registers already used */
- long ng; /* number of general registers already used */
- ffi_cif * cif;
- double temp;
- unsigned size;
-
- cif = closure->cif;
- avalue = alloca (cif->nargs * sizeof (void *));
- size = cif->rtype->size;
-
- nf = 0;
- ng = 0;
-
- /* Copy the caller's structure return value address so that the closure
- returns the data directly to the caller.
- For FFI_SYSV the result is passed in r3/r4 if the struct size is less
- or equal 8 bytes. */
-
- if ((cif->rtype->type == FFI_TYPE_STRUCT
- && !((cif->abi == FFI_SYSV) && (size <= 8)))
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- || (cif->rtype->type == FFI_TYPE_LONGDOUBLE
- && cif->abi != FFI_LINUX && cif->abi != FFI_LINUX_SOFT_FLOAT)
-#endif
- )
- {
- rvalue = (void *) *pgr;
- ng++;
- pgr++;
- }
-
- i = 0;
- avn = cif->nargs;
- arg_types = cif->arg_types;
-
- /* Grab the addresses of the arguments from the stack frame. */
- while (i < avn)
- {
- switch (arg_types[i]->type)
- {
- case FFI_TYPE_SINT8:
- case FFI_TYPE_UINT8:
- /* there are 8 gpr registers used to pass values */
- if (ng < 8)
- {
- avalue[i] = (char *) pgr + 3;
- ng++;
- pgr++;
- }
- else
- {
- avalue[i] = (char *) pst + 3;
- pst++;
- }
- break;
-
- case FFI_TYPE_SINT16:
- case FFI_TYPE_UINT16:
- /* there are 8 gpr registers used to pass values */
- if (ng < 8)
- {
- avalue[i] = (char *) pgr + 2;
- ng++;
- pgr++;
- }
- else
- {
- avalue[i] = (char *) pst + 2;
- pst++;
- }
- break;
-
- case FFI_TYPE_SINT32:
- case FFI_TYPE_UINT32:
- case FFI_TYPE_POINTER:
- soft_float_closure:
- /* there are 8 gpr registers used to pass values */
- if (ng < 8)
- {
- avalue[i] = pgr;
- ng++;
- pgr++;
- }
- else
- {
- avalue[i] = pst;
- pst++;
- }
- break;
-
- case FFI_TYPE_STRUCT:
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- do_struct:
-#endif
- /* Structs are passed by reference. The address will appear in a
- gpr if it is one of the first 8 arguments. */
- if (ng < 8)
- {
- avalue[i] = (void *) *pgr;
- ng++;
- pgr++;
- }
- else
- {
- avalue[i] = (void *) *pst;
- pst++;
- }
- break;
-
- case FFI_TYPE_SINT64:
- case FFI_TYPE_UINT64:
- soft_double_closure:
- /* passing long long ints are complex, they must
- * be passed in suitable register pairs such as
- * (r3,r4) or (r5,r6) or (r6,r7), or (r7,r8) or (r9,r10)
- * and if the entire pair aren't available then the outgoing
- * parameter stack is used for both but an alignment of 8
- * must will be kept. So we must either look in pgr
- * or pst to find the correct address for this type
- * of parameter.
- */
- if (ng < 7)
- {
- if (ng & 0x01)
- {
- /* skip r4, r6, r8 as starting points */
- ng++;
- pgr++;
- }
- avalue[i] = pgr;
- ng += 2;
- pgr += 2;
- }
- else
- {
- if (((long) pst) & 4)
- pst++;
- avalue[i] = pst;
- pst += 2;
- ng = 8;
- }
- break;
-
- case FFI_TYPE_FLOAT:
- /* With FFI_LINUX_SOFT_FLOAT floats are handled like UINT32. */
- if (cif->abi == FFI_LINUX_SOFT_FLOAT)
- goto soft_float_closure;
- /* unfortunately float values are stored as doubles
- * in the ffi_closure_SYSV code (since we don't check
- * the type in that routine).
- */
-
- /* there are 8 64bit floating point registers */
-
- if (nf < 8)
- {
- temp = pfr->d;
- pfr->f = (float) temp;
- avalue[i] = pfr;
- nf++;
- pfr++;
- }
- else
- {
- /* FIXME? here we are really changing the values
- * stored in the original calling routines outgoing
- * parameter stack. This is probably a really
- * naughty thing to do but...
- */
- avalue[i] = pst;
- pst += 1;
- }
- break;
-
- case FFI_TYPE_DOUBLE:
- /* With FFI_LINUX_SOFT_FLOAT doubles are handled like UINT64. */
- if (cif->abi == FFI_LINUX_SOFT_FLOAT)
- goto soft_double_closure;
- /* On the outgoing stack all values are aligned to 8 */
- /* there are 8 64bit floating point registers */
-
- if (nf < 8)
- {
- avalue[i] = pfr;
- nf++;
- pfr++;
- }
- else
- {
- if (((long) pst) & 4)
- pst++;
- avalue[i] = pst;
- pst += 2;
- }
- break;
-
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- case FFI_TYPE_LONGDOUBLE:
- if (cif->abi != FFI_LINUX && cif->abi != FFI_LINUX_SOFT_FLOAT)
- goto do_struct;
- if (cif->abi == FFI_LINUX_SOFT_FLOAT)
- { /* Test if for the whole long double, 4 gprs are available.
- otherwise the stuff ends up on the stack. */
- if (ng < 5)
- {
- avalue[i] = pgr;
- pgr += 4;
- ng += 4;
- }
- else
- {
- avalue[i] = pst;
- pst += 4;
- ng = 8;
- }
- break;
- }
- if (nf < 7)
- {
- avalue[i] = pfr;
- pfr += 2;
- nf += 2;
- }
- else
- {
- if (((long) pst) & 4)
- pst++;
- avalue[i] = pst;
- pst += 4;
- nf = 8;
- }
- break;
-#endif
-
- default:
- FFI_ASSERT (0);
- }
-
- i++;
- }
-
-
- (closure->fun) (cif, rvalue, avalue, closure->user_data);
-
- /* Tell ffi_closure_SYSV how to perform return type promotions.
- Because the FFI_SYSV ABI returns the structures <= 8 bytes in r3/r4
- we have to tell ffi_closure_SYSV how to treat them. We combine the base
- type FFI_SYSV_TYPE_SMALL_STRUCT - 1 with the size of the struct.
- So a one byte struct gets the return type 16. Return type 1 to 15 are
- already used and we never have a struct with size zero. That is the reason
- for the subtraction of 1. See the comment in ffitarget.h about ordering.
- */
- if (cif->abi == FFI_SYSV && cif->rtype->type == FFI_TYPE_STRUCT
- && size <= 8)
- return (FFI_SYSV_TYPE_SMALL_STRUCT - 1) + size;
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- else if (cif->rtype->type == FFI_TYPE_LONGDOUBLE
- && cif->abi != FFI_LINUX && cif->abi != FFI_LINUX_SOFT_FLOAT)
- return FFI_TYPE_STRUCT;
-#endif
- /* With FFI_LINUX_SOFT_FLOAT floats and doubles are handled like UINT32
- respectivley UINT64. */
- if (cif->abi == FFI_LINUX_SOFT_FLOAT)
- {
- switch (cif->rtype->type)
- {
- case FFI_TYPE_FLOAT:
- return FFI_TYPE_UINT32;
- break;
- case FFI_TYPE_DOUBLE:
- return FFI_TYPE_UINT64;
- break;
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- case FFI_TYPE_LONGDOUBLE:
- return FFI_TYPE_UINT128;
- break;
-#endif
- default:
- return cif->rtype->type;
- }
- }
- else
- {
- return cif->rtype->type;
- }
-}
-
-int FFI_HIDDEN ffi_closure_helper_LINUX64 (ffi_closure *, void *,
- unsigned long *, ffi_dblfl *);
-
-int FFI_HIDDEN
-ffi_closure_helper_LINUX64 (ffi_closure *closure, void *rvalue,
- unsigned long *pst, ffi_dblfl *pfr)
-{
- /* rvalue is the pointer to space for return value in closure assembly */
- /* pst is the pointer to parameter save area
- (r3-r10 are stored into its first 8 slots by ffi_closure_LINUX64) */
- /* pfr is the pointer to where f1-f13 are stored in ffi_closure_LINUX64 */
-
- void **avalue;
- ffi_type **arg_types;
- long i, avn;
- ffi_cif *cif;
- ffi_dblfl *end_pfr = pfr + NUM_FPR_ARG_REGISTERS64;
-
- cif = closure->cif;
- avalue = alloca (cif->nargs * sizeof (void *));
-
- /* Copy the caller's structure return value address so that the closure
- returns the data directly to the caller. */
- if (cif->rtype->type == FFI_TYPE_STRUCT)
- {
- rvalue = (void *) *pst;
- pst++;
- }
-
- i = 0;
- avn = cif->nargs;
- arg_types = cif->arg_types;
-
- /* Grab the addresses of the arguments from the stack frame. */
- while (i < avn)
- {
- switch (arg_types[i]->type)
- {
- case FFI_TYPE_SINT8:
- case FFI_TYPE_UINT8:
- avalue[i] = (char *) pst + 7;
- pst++;
- break;
-
- case FFI_TYPE_SINT16:
- case FFI_TYPE_UINT16:
- avalue[i] = (char *) pst + 6;
- pst++;
- break;
-
- case FFI_TYPE_SINT32:
- case FFI_TYPE_UINT32:
- avalue[i] = (char *) pst + 4;
- pst++;
- break;
-
- case FFI_TYPE_SINT64:
- case FFI_TYPE_UINT64:
- case FFI_TYPE_POINTER:
- avalue[i] = pst;
- pst++;
- break;
-
- case FFI_TYPE_STRUCT:
- /* Structures with size less than eight bytes are passed
- left-padded. */
- if (arg_types[i]->size < 8)
- avalue[i] = (char *) pst + 8 - arg_types[i]->size;
- else
- avalue[i] = pst;
- pst += (arg_types[i]->size + 7) / 8;
- break;
-
- case FFI_TYPE_FLOAT:
- /* unfortunately float values are stored as doubles
- * in the ffi_closure_LINUX64 code (since we don't check
- * the type in that routine).
- */
-
- /* there are 13 64bit floating point registers */
-
- if (pfr < end_pfr)
- {
- double temp = pfr->d;
- pfr->f = (float) temp;
- avalue[i] = pfr;
- pfr++;
- }
- else
- avalue[i] = pst;
- pst++;
- break;
-
- case FFI_TYPE_DOUBLE:
- /* On the outgoing stack all values are aligned to 8 */
- /* there are 13 64bit floating point registers */
-
- if (pfr < end_pfr)
- {
- avalue[i] = pfr;
- pfr++;
- }
- else
- avalue[i] = pst;
- pst++;
- break;
-
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- case FFI_TYPE_LONGDOUBLE:
- if (pfr + 1 < end_pfr)
- {
- avalue[i] = pfr;
- pfr += 2;
- }
- else
- {
- if (pfr < end_pfr)
- {
- /* Passed partly in f13 and partly on the stack.
- Move it all to the stack. */
- *pst = *(unsigned long *) pfr;
- pfr++;
- }
- avalue[i] = pst;
- }
- pst += 2;
- break;
-#endif
-
- default:
- FFI_ASSERT (0);
- }
-
- i++;
- }
-
-
- (closure->fun) (cif, rvalue, avalue, closure->user_data);
-
- /* Tell ffi_closure_LINUX64 how to perform return type promotions. */
- return cif->rtype->type;
-}
diff --git a/.pc/fix-xfails/.timestamp b/.pc/fix-xfails/.timestamp
deleted file mode 100644
index e69de29..0000000
--- a/.pc/fix-xfails/.timestamp
+++ /dev/null
diff --git a/.pc/fix-xfails/ChangeLog b/.pc/fix-xfails/ChangeLog
deleted file mode 100644
index d436f80..0000000
--- a/.pc/fix-xfails/ChangeLog
+++ /dev/null
@@ -1,4607 +0,0 @@
-2012-02-10 Kai Tietz <ktietz@redhat.com>
-
- * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
- windows target.
- * configure: Regenerated.
-
-2012-02-08 Kai Tietz <ktietz@redhat.com>
-
- * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
- also FFI_THISCALL.
- * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
- (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
- (ffi_prep_closure_loc): Add FFI_THISCALL support.
- * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
- * src/x86/win32.S (ffi_closure_THISCALL): New closure code
- for thiscall-calling convention.
- * testsuite/libffi.call/closure_thiscall.c: New test.
-
-2012-01-28 Kai Tietz <ktietz@redhat.com>
-
- * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
- argument to prototype for specify calling-convention.
- (ffi_call): Add support for stdcall/thiscall convention.
- (ffi_prep_args): Likewise.
- (ffi_raw_call): Likewise.
- * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
- FFI_FASTCALL.
- * src/x86/win32.S (_ffi_call_win32): Add support for
- fastcall/thiscall calling-convention calls.
- * testsuite/libffi.call/fastthis1_win32.c: New test.
- * testsuite/libffi.call/fastthis2_win32.c: New test.
- * testsuite/libffi.call/fastthis3_win32.c: New test.
- * testsuite/libffi.call/strlen2_win32.c: New test.
- * testsuite/libffi.call/many2_win32.c: New test.
- * testsuite/libffi.call/struct1_win32.c: New test.
- * testsuite/libffi.call/struct2_win32.c: New test.
-
-2012-01-23 Andreas Schwab <schwab@linux-m68k.org>
-
- * src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
- mc68000. Test for __HAVE_68881__ in addition to __MC68881__.
-
-2012-01-19 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/48496
- * src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
-
-2012-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (i?86-*-*): Set TARGET to X86_64.
- * configure: Regenerate.
-
-2011-12-07 Andrew Pinski <apinski@cavium.com>
-
- PR libffi/50051
- * src/mips/n32.S: Add ".set mips4".
-
-2011-11-21 Andreas Tobler <andreast@fgznet.ch>
-
- * configure: Regenerate.
-
-2011-11-10 Richard Henderson <rth@redhat.com>
-
- * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
- * configure, aclocal.m4: Rebuild.
-
-2011-09-04 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/49594
- * src/powerpc/darwin_closure.S (stubs): Make the stub binding
- helper reference track the architecture pointer size.
-
-2011-08-25 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
- instructions.
- * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
-
-2011-07-11 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46660
- * testsuite/libffi.call/cls_double_va.c: xfail dg-output on
- mips-sgi-irix6*.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
- PRId8 instead of %hhu, %hhd.
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
- PRIu8): Define.
- [__sgi__] (PRId8, PRIu8): Define.
-
-2011-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
- Define.
- Use them to handle ELF vs. ECOFF differences.
- [__osf__] (_GLOBAL__F_ffi_call_osf): Define.
-
-2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * README: Mention ARM iOS.
-
-2011-02-09 Landon Fuller <landonf@macports.org>
-
- * Makefile.am (EXTRA_DIST): Add build-ios.sh, src/arm/gentramp.sh,
- src/arm/trampoline.S.
- (nodist_libffi_la_SOURCES): Add src/arc/trampoline.S.
- * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Define.
- * src/arm/ffi.c (ffi_trampoline_table)
- (ffi_closure_trampoline_table_page, ffi_trampoline_table_entry)
- (FFI_TRAMPOLINE_CODELOC_CONFIG, FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET)
- (FFI_TRAMPOLINE_COUNT, ffi_trampoline_lock, ffi_trampoline_tables)
- (ffi_trampoline_table_alloc, ffi_closure_alloc, ffi_closure_free):
- Define for FFI_EXEC_TRAMPOLINE_TABLE case (iOS).
- (ffi_prep_closure_loc): Handl FFI_EXEC_TRAMPOLINE_TABLE case
- separately.
- * src/arm/sysv.S: Handle Apple iOS host.
- * src/closures.c: Handle FFI_EXEC_TRAMPOLINE_TABLE case.
- * build-ios.sh: New file.
- * fficonfig.h.in, configure, Makefile.in: Rebuilt.
-
-2011-02-08 Oren Held <orenhe@il.ibm.com>
-
- * src/dlmalloc.c (_STRUCT_MALLINFO): Define in order to avoid
- redefinition of mallinfo on HP-UX.
-
-2011-02-08 Ginn Chen <ginn.chen@oracle.com>
-
- * src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
- aggregate return ABI. Flush cache.
- (ffi_prep_closure_loc): Flush cache.
-
-2011-02-11 Anthony Green <green@moxielogic.com>
-
- From Tom Honermann <tom.honermann@oracle.com>:
- * src/powerpc/aix.S (ffi_call_AIX): Support for xlc toolchain on
- AIX. Declare .ffi_prep_args. Insert nops after branch
- instructions so that the AIX linker can insert TOC reload
- instructions.
- * src/powerpc/aix_closure.S: Declare .ffi_closure_helper_DARWIN.
-
-2011-02-08 Ed <ed@kdtc.net>
-
- * src/powerpc/asm.h: Fix grammar nit in comment.
-
-2011-02-08 Uli Link <ul.mcamafia@linkitup.de>
-
- * include/ffi.h.in (FFI_64_BIT_MAX): Define and use.
-
-2011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46661
- * testsuite/libffi.call/cls_pointer.c (main): Cast void * to
- uintptr_t first.
- * testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
-
-2011-02-08 Rafael Avila de Espindola <respindola@mozilla.com>
-
- * configure.ac: Fix x86 test for pc related relocs.
- * configure: Rebuilt.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
- Handle case when CPU variant does not have long double support.
- * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
- and cores with soft floating point.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * configure.ac: Add mips*-*-rtems* support.
- * configure: Regenerate.
- * src/mips/ffitarget.h: Ensure needed constants are available
- for targets which do not have sgidefs.h.
-
-2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR target/40125
- * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
- * configure: Regenerate.
-
-2010-12-18 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/29152
- PR libffi/42378
- * src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
- (FFI_TRAMPOLINE_SIZE): Update for Darwin64.
- * src/powerpc/darwin.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
- backslashes.
- (libffi_cv_as_string_pseudo_op): Likewise.
- * configure: Regenerate.
-
-2010-12-03 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
- (ffi_closure_VFP): Same.
- (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
- directive.
-
-2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
- (PRIuPTR): Define.
-
-2010-11-29 Richard Henderson <rth@redhat.com>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
- (.eh_frame): Use FDE_ENCODING.
- (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
-
-2010-11-22 Jacek Caban <jacek@codeweavers.com>
-
- * configure.ac: Check for symbol underscores on mingw-w64.
- * configure: Rebuilt.
- * src/x86/win64.S: Correctly access extern symbols in respect to
- underscores.
-
-2010-11-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp: Rename ...
- * testsuite/lib/libffi.exp: ... to this.
- * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
- * libffi/testsuite/libffi.special/special.exp: Likewise.
-
-2010-10-28 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
- code, new parameter, and return value. Update comments.
- (ffi_prep_cif_machdep): Add case for VFP struct return values. Add
- call to layout_vfp_args().
- (ffi_call_SYSV): Update declaration.
- (ffi_call_VFP): New declaration.
- (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
- when ABI is FFI_VFP.
- (ffi_closure_VFP): New declaration.
- (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
- ffi_prep_incoming_args_SYSV().
- (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
- case handling.
- (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
- construction under VFP hard-float.
- (rec_vfp_type_p): New function.
- (vfp_type_p): Same.
- (place_vfp_arg): Same.
- (layout_vfp_args): Same.
- * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
- based on __ARM_PCS_VFP.
- (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
- fields.
- (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
- (FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
- * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
- direct call. Move function pointer load upwards.
- (ffi_call_VFP): New function.
- (ffi_closure_VFP): Same.
-
- * testsuite/lib/libffi-dg.exp (check-flags): New function.
- (dg-skip-if): New function.
- * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
- and compiler options include -mfloat-abi=hard.
- * testsuite/libffi.call/cls_longdouble_va.c: Same.
-
-2010-10-01 Jakub Jelinek <jakub@redhat.com>
-
- PR libffi/45677
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
- a multiple of 8.
- * testsuite/libffi.call/many2.c: New test.
-
-2010-08-20 Mark Wielaard <mjw@redhat.com>
-
- * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
- returns NULL.
-
-2010-08-09 Andreas Tobler <andreast@fgznet.ch>
-
- * configure.ac: Add target powerpc64-*-freebsd*.
- * configure: Regenerate.
- * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
- -mlong-double-128 only to linux targets.
- * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
- * testsuite/libffi.call/cls_longdouble.c: Likewise.
- * testsuite/libffi.call/huge_struct.c: Likewise.
-
-2010-08-05 Dan Witte <dwitte@mozilla.com>
-
- * Makefile.am: Pass FFI_DEBUG define to msvcc.sh for linking to the
- debug CRT when --enable-debug is given.
- * configure.ac: Define it.
- * msvcc.sh: Translate -g and -DFFI_DEBUG appropriately.
-
-2010-08-04 Dan Witte <dwitte@mozilla.com>
-
- * src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64
- platforms.
- * src/x86/ffi.c: Remove redundant ifdef checks.
- * src/prep_cif.c: Push stack space computation into src/x86/ffi.c
- for X86_ANY so return value space doesn't get added twice.
-
-2010-08-03 Neil Rashbrooke <neil@parkwaycc.co.uk>
-
- * msvcc.sh: Don't pass -safeseh to ml64 because behavior is buggy.
-
-2010-07-22 Dan Witte <dwitte@mozilla.com>
-
- * src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
- * src/prep_cif.c: Fix ABI assertion.
- * src/cris/ffi.c: Ditto.
-
-2010-07-10 Evan Phoenix <evan@fallingsnow.net>
-
- * src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
-
-2010-07-07 Dan Horák <dan@danny.cz>
-
- * include/ffi.h.in: Protect #define with #ifndef.
- * src/powerpc/ffitarget.h: Ditto.
- * src/s390/ffitarget.h: Ditto.
- * src/sparc/ffitarget.h: Ditto.
-
-2010-07-07 Neil Roberts <neil@linux.intel.com>
-
- * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
- 16-bytes.
-
-2010-07-02 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
- * Makefile.in: Regenerated.
-
-2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
- output, too.
- (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
- (libffi_cv_as_string_pseudo_op): Check for .string.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
-
-2010-05-11 Dan Witte <dwitte@mozilla.com>
-
- * doc/libffi.tex: Document previous change.
-
-2010-05-11 Makoto Kato <m_kato@ga2.so-net.ne.jp>
-
- * src/x86/ffi.c (ffi_call): Don't copy structs passed by value.
-
-2010-05-05 Michael Kohler <michaelkohler@live.com>
-
- * src/dlmalloc.c (dlfree): Fix spelling.
- * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
- * configure.ac: Ditto.
- * configure: Rebuilt.
-
-2010-04-13 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Build with -W3 instead of -Wall.
- * src/powerpc/ffi_darwin.c: Remove build warnings.
- * src/x86/ffi.c: Ditto.
- * src/x86/ffitarget.h: Ditto.
-
-2010-04-12 Dan Witte <dwitte@mozilla.com>
- Walter Meinl <wuno@lsvw.de>
-
- * configure.ac: Add OS/2 support.
- * configure: Rebuilt.
- * src/closures.c: Ditto.
- * src/dlmalloc.c: Ditto.
- * src/x86/win32.S: Ditto.
-
-2010-04-07 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
-
-2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2010-03-30 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Disable build warnings.
- * README (tested): Clarify windows build procedure.
-
-2010-03-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * libffi/src/x86/unix64.S (.eh_frame)
- [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
-
-2010-03-14 Matthias Klose <doko@ubuntu.com>
-
- * src/x86/ffi64.c: Fix typo in comment.
- * src/x86/ffi.c: Use /* ... */ comment style.
-
-2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/libffi.texi (The Closure API): Fix typo.
- * doc/libffi.info: Remove.
-
-2010-02-15 Matthias Klose <doko@ubuntu.com>
-
- * src/arm/sysv.S (__ARM_ARCH__): Define for processor
- __ARM_ARCH_7EM__.
-
-2010-01-15 Anthony Green <green@redhat.com>
-
- * README: Add notes on building with Microsoft Visual C++.
-
-2010-01-15 Daniel Witte <dwitte@mozilla.com>
-
- * msvcc.sh: New file.
-
- * src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
- * src/x86/ffi.c: Tweak function declaration and remove excess
- parens.
- * include/ffi.h.in: Add __declspec(align(8)) to typedef struct
- ffi_closure.
-
- * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
- function ffi_call_win32 on X86_WIN32.
- * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
- (ffi_call_STDCALL): Remove.
-
- * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
- to ffi_prep_cif_machdep for x86.
- * src/x86/ffi.c (ffi_prep_cif_machdep): To here.
-
-2010-01-15 Oliver Kiddle <okiddle@yahoo.co.uk>
-
- * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
- Sun Studio compiler compatibility.
-
-2010-01-12 Conrad Irwin <conrad.irwin@gmail.com>
-
- * doc/libffi.texi: Add closure example.
-
-2010-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40701
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
- PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
- * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
- alpha*-dec-osf*.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/return_ll1.c: Likewise.
- * testsuite/libffi.call/stret_medium2.c: Likewise.
- * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
- MAP_FAILED to char *.
-
-2010-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
-
-2009-12-31 Anthony Green <green@redhat.com>
-
- * README: Update for libffi 3.0.9.
-
-2009-12-27 Matthias Klose <doko@ubuntu.com>
-
- * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
- appropriate.
- * configure: Rebuilt.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
- avr32*-*-*.
- * testsuite/libffi.call/cls_double_va.c: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
- and inttypes.h.
- * testsuite/libffi.special/unwindtest.cc: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-openbsd*.
- * configure: Rebuilt.
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
- openbsd programs with -lpthread.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
- mips*-*-* and arm*-*-*.
- * testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c,
- testsuite/libffi.call/stret_medium2.c,
- testsuite/libffi.call/stret_medium.c,
- testsuite/libffi.call/stret_large.c,
- testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
-
-2009-12-31 Kay Tietz <ktietz70@googlemail.com>
-
- * testsuite/libffi.call/ffitest.h,
- testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
- definitions.
-
-2009-12-31 Carlo Bramini <carlo.bramix@libero.it>
-
- * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
- * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
-
-2009-12-31 Anthony Green <green@redhat.com>
- Blake Chaffin.
-
- * testsuite/libffi.call/huge_struct.c: New test case from Blake
- Chaffin @ Apple.
-
-2009-12-28 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
- local variables.
- (aix_adjust_aggregate_sizes): New function.
- (ffi_prep_cif_machdep): Call it.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
- * configure: Regenerate.
- * fficonfig.h.in: Likewise.
- * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
- Solaris/x86.
-
-2009-12-26 Andreas Schwab <schwab@linux-m68k.org>
-
- * 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.
-
-2009-12-25 Matthias Klose <doko@ubuntu.com>
-
- * man/ffi_call.3: Fix #include in examples.
- * doc/libffi.texi: Add dircategory.
-
-2009-12-25 Frank Everdij <f.p.x.everdij@tudelft.nl>
-
- * include/ffi.h.in: Placed '__GNUC__' ifdef around
- '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
- IRIX MIPSPro c99.
- * include/ffi_common.h: Added '__sgi' define to non
- '__attribute__((__mode__()))' integer typedefs.
- * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
- ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
- (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
- FFI_LONGDOUBLE support and alignment(N32 only).
- * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
- fixed non '__attribute__((__mode__()))' integer typedefs.
- * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
- since they are Linux/GNU Assembler specific.
-
-2009-12-25 Bradley Smith <brad@brad-smith.co.uk>
-
- * configure.ac, Makefile.am, src/avr32/ffi.c,
- src/avr32/ffitarget.h,
- src/avr32/sysv.S: Add AVR32 port.
- * configure, Makefile.in: Rebuilt.
-
-2009-12-21 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
- * configure: Regenerate.
-
-2009-12-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
- type on HP-UX.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
- double' arguments.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40700
- * src/closures.c [X86_64 && __sun__ && __svr4__]
- (FFI_MMAP_EXEC_WRIT): Define.
-
-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.
-
-2009-12-07 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
- typo.
-
-2009-12-05 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
- code.
- * src/powerpc/aix_closure.S: Same.
-
-2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
- linux64_closure.S.
-
-2009-12-04 Uros Bizjak <ubizjak@gmail.com>
-
- 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.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
- pfr for long double split between fpr13 and stack.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
- fparg_count twice for long double.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- PR libffi/42243
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03 Uros Bizjak <ubizjak@gmail.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
- Remove xfails for x86 linux targets.
-
-2009-12-02 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
- case.
-
-2009-12-01 David Edelsohn <edelsohn@gnu.org>
-
- * 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.
-
-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.
-
-2009-11-02 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/41908
- * testsuite/libffi.call/testclosure.c: New test.
-
-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.
-
-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.
-
-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.
-
-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.
-
-2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.am (install-html, install-pdf): Remove.
- * Makefile.in: Regenerate.
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24 Dave Korn <dave.korn.cygwin@gmail.com>
-
- 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.
-
-2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
-
- 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.
-
-2009-07-01 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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 "".)
-
-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.
-
-2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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.
-
-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.
-
-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.
-
-2009-06-16 Andrew Haley <aph@redhat.com>
-
- * configure.ac (TARGETDIR): Add missing blank lines.
- * configure: Regenerate.
-
-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.
-
-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.
-
-2009-06-12 Andrew Haley <aph@redhat.com>
-
- * Makefile.am: Remove info_TEXINFOS.
-
-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-11 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * 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.
-
-2009-06-09 Andrew Haley <aph@redhat.com>
-
- * src/x86/freebsd.S: Add missing file.
-
-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).
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * README: Import from libffi 3.0.8.
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Add xfails.
- * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
- * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
- * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
- * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
- * testsuite/libffi.call/stret_medium.c: Likewise.
- * testsuite/libffi.call/stret_large2.c: Likewise.
- * testsuite/libffi.call/stret_large.c: Likewise.
-
-2008-12-26 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_align_longdouble.c,
- testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
- failures on x86_64 cygwin/mingw.
-
-2008-12-22 Timothy Wall <twall@users.sf.net>
-
- * 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_loc_fn0.c,
- testsuite/libffi.call/closure_stdcall.c,
- testsuite/libffi.call/cls_align_pointer.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
- pointer to integer (intptr_t).
- * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_dbls_struct.c,
- testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c,
- testsuite/libffi.call/err_bad_abi.c: Clean up failures from
- compiler warnings.
-
-2008-03-04 Anthony Green <green@redhat.com>
- Blake Chaffin
- hos@tamanegi.org
-
- * testsuite/libffi.call/cls_align_longdouble_split2.c
- testsuite/libffi.call/cls_align_longdouble_split.c
- testsuite/libffi.call/cls_dbls_struct.c
- testsuite/libffi.call/cls_double_va.c
- testsuite/libffi.call/cls_longdouble.c
- testsuite/libffi.call/cls_longdouble_va.c
- testsuite/libffi.call/cls_pointer.c
- testsuite/libffi.call/cls_pointer_stack.c
- testsuite/libffi.call/err_bad_abi.c
- testsuite/libffi.call/err_bad_typedef.c
- testsuite/libffi.call/stret_large2.c
- testsuite/libffi.call/stret_large.c
- testsuite/libffi.call/stret_medium2.c
- testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
- libffi.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
- stdcall changes.
-
-2008-02-26 Anthony Green <green@redhat.com>
- Thomas Heller <theller@ctypes.org>
-
- * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
- comment.
-
-2008-02-03 Timothy Wall <twall@users.sf.net>
-
- * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
- offset based on code pointer, not data pointer.
-
-2008-01-31 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
- closures.
- * src/x86/ffitarget.h: Increase size of trampoline for stdcall
- closures.
- * src/x86/win32.S: Add assembly for stdcall closure.
- * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Change void (*)() to void (*)(void).
- * src/x86/ffi.c: Likewise.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ppc_closure.S: Insert licence header.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/m68k/sysv.S: Likewise.
-
- * src/sh64/ffi.c: Change void (*)() to void (*)(void).
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/m32r/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi64.c: Likewise.
- * src/alpha/ffi.c: Likewise.
- * src/alpha/osf.S: Likewise.
- * src/frv/ffi.c: Likewise.
- * src/s390/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/pa/hpux32.S: Likewise.
- * src/ia64/unix.S: Likewise.
- * src/ia64/ffi.c: Likewise.
- * src/sparc/ffi.c: Likewise.
- * src/mips/ffi.c: Likewise.
- * src/sh/ffi.c: Likewise.
-
-2008-02-15 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
- Define (conditionally), and use it to include cachectl.h.
- (ffi_prep_closure_loc): Fix cache flushing.
- * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- include/ffi.h.in,
- src/arm/ffitarget.h,
- src/arm/ffi.c,
- src/arm/sysv.S,
- src/powerpc/ffitarget.h,
- src/closures.c,
- src/sh64/ffitarget.h,
- src/sh64/ffi.c,
- src/sh64/sysv.S,
- src/types.c,
- src/x86/ffi64.c,
- src/x86/ffitarget.h,
- src/x86/win32.S,
- src/x86/darwin.S,
- src/x86/ffi.c,
- src/x86/sysv.S,
- src/x86/unix64.S,
- src/alpha/ffitarget.h,
- src/alpha/ffi.c,
- src/alpha/osf.S,
- src/m68k/ffitarget.h,
- src/frv/ffitarget.h,
- src/frv/ffi.c,
- src/s390/ffitarget.h,
- src/s390/sysv.S,
- src/cris/ffitarget.h,
- src/pa/linux.S,
- src/pa/ffitarget.h,
- src/pa/ffi.c,
- src/raw_api.c,
- src/ia64/ffitarget.h,
- src/ia64/unix.S,
- src/ia64/ffi.c,
- src/ia64/ia64_flags.h,
- src/java_raw_api.c,
- src/debug.c,
- src/sparc/v9.S,
- src/sparc/ffitarget.h,
- src/sparc/ffi.c,
- src/sparc/v8.S,
- src/mips/ffitarget.h,
- src/mips/n32.S,
- src/mips/o32.S,
- src/mips/ffi.c,
- src/prep_cif.c,
- src/sh/ffitarget.h,
- src/sh/ffi.c,
- src/sh/sysv.S: Update license text.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * src/x86/win32.S (_ffi_closure_STDCALL): New function.
- (.eh_frame): Add FDE for it.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * configure.ac: Also check if assembler supports pc-relative
- relocs on X86_WIN32 targets.
- * configure: Regenerate.
- * src/x86/win32.S (ffi_prep_args): Declare extern, not global.
- (_ffi_call_SYSV): Add missing function type symbol .def and
- add EH markup labels.
- (_ffi_call_STDCALL): Likewise.
- (_ffi_closure_SYSV): Likewise.
- (_ffi_closure_raw_SYSV): Likewise.
- (.eh_frame): Add hand-crafted EH data.
-
-2009-04-09 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
- version 3 of the GNU General Public License and to point readers
- at the COPYING3 file and the FSF's license web page.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-12-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libffi/26048
- * configure.ac (HAVE_AS_X86_PCREL): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
- RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
- RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
- * src/x86/unix64.S (.Lstore_table): Move to .text section.
- (.Lload_table): Likewise.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
- signed/unsigned int8/16 return values.
- * src/sparc/v8.S (ffi_call_v8): Likewise.
- (ffi_closure_v8): Likewise.
-
-2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
- Steve Ellcey <sje@cup.hp.com>
-
- * configure: Regenerate for new libtool.
- * Makefile.in: Ditto.
- * include/Makefile.in: Ditto.
- * aclocal.m4: Ditto.
-
-2008-08-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
- FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
- Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
- Adjust copyright notice.
- * src/powerpc/ffi.c: Add two new flags to indicate if we have one
- register or two register to use for FFI_SYSV structs.
- (ffi_prep_cif_machdep): Pass the right register flag introduced above.
- (ffi_closure_helper_SYSV): Fix the return type for
- FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
- Adjust copyright notice.
-
-2008-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
- int.
-
-2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2008-06-07 Joseph Myers <joseph@codesourcery.com>
-
- * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
- powerpc-*-beos*): Remove.
- * configure: Regenerate.
-
-2008-05-09 Julian Brown <julian@codesourcery.com>
-
- * Makefile.am (LTLDFLAGS): New.
- (libffi_la_LDFLAGS): Use above.
- * Makefile.in: Regenerate.
-
-2008-04-18 Paolo Bonzini <bonzini@gnu.org>
-
- PR bootstrap/35457
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2008-03-26 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add .note.GNU-stack on Linux.
- * src/sh64/sysv.S: Likewise.
-
-2008-03-26 Daniel Jacobowitz <dan@debian.org>
-
- * src/arm/sysv.S: Fix ARM comment marker.
-
-2008-03-26 Jakub Jelinek <jakub@redhat.com>
-
- * src/alpha/osf.S: Add .note.GNU-stack on Linux.
- * src/s390/sysv.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
- * src/x86/unix64.S: Likewise.
- * src/x86/sysv.S: Likewise.
- * src/sparc/v8.S: Likewise.
- * src/sparc/v9.S: Likewise.
- * src/m68k/sysv.S: Likewise.
- * src/arm/sysv.S: Likewise.
-
-2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * aclocal.m4: Regenerate.
- * configure: Likewise.
- * Makefile.in: Likewise.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2008-02-12 Bjoern Koenig <bkoenig@alpha-tierchen.de>
- Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-freebsd* target.
- * configure: Regenerate.
-
-2008-01-30 H.J. Lu <hongjiu.lu@intel.com>
-
- PR libffi/34612
- * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
- returning struct.
-
- * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
- tests.
-
-2008-01-24 David Edelsohn <edelsohn@gnu.org>
-
- * configure: Regenerate.
-
-2008-01-06 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
-
-2008-01-05 Andreas Tobler <a.tobler@schweiz.org>
-
- PR testsuite/32843
- * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
- signed/unsigned int8/16 for X86_DARWIN.
- Updated copyright info.
- Handle one and two byte structs with special cif->flags.
- * src/x86/ffitarget.h: Add special types for one and two byte structs.
- Updated copyright info.
- * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
- sysv.S
- Remove code to pop args from the stack after call.
- Special-case signed/unsigned for int8/16, one and two byte structs.
- (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
- FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
- FFI_TYPE_SINT32.
- Updated copyright info.
-
-2007-12-08 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_call_N32): Replace dadd with ADDU, dsub with
- SUBU, add with ADDU and use smaller code sequences.
-
-2007-12-07 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
- type.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
- defined.
- (ffi_java_raw): New typedef.
- (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
- ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
- ffi_java_raw.
- (ffi_java_raw_closure) : Same.
- (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
- parameter types.
- * src/java_raw_api.c (ffi_java_raw_size): Replace FFI_SIZEOF_ARG with
- FFI_SIZEOF_JAVA_RAW.
- (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
- Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
- sizeof(ffi_java_raw) for alignment calculations.
- (ffi_java_ptrarray_to_raw): Same.
- (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
- if FFI_SIZEOF_JAVA_RAW == 4.
- (ffi_java_raw_to_rvalue): Same.
- (ffi_java_raw_call): Change type of raw to ffi_java_raw.
- (ffi_java_translate_args): Same.
- (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
- parameter types.
- * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
- pointer values.
-
-2007-12-01 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/31937
- * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
- Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
- * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
- set the NUM_FPR_ARG_REGISTERS according to.
- Add support for potential soft-float support under hard-float
- architecture.
- (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
- FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
- to the FFI_LINUX_SOFT_FLOAT ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Make sure not to store float/double
- on archs where __NO_FPRS__ is true.
- Add FFI_TYPE_UINT128 support.
- * src/powerpc/sysv.S: Add support for soft-float long-double-128.
- Adjust copyright notice.
-
-2007-11-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
- * include/ffi_common.h: ... here.
- Update copyright.
-
-2007-11-17 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
- * testsuite/libffi.call/return_ldl.c: New test.
-
-2007-09-04 <aph@redhat.com>
-
- * src/arm/sysv.S (UNWIND): New.
- (Whole file): Conditionally compile unwinder directives.
- * src/arm/sysv.S: Add unwinder directives.
-
- * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
- Only treat r0 as a struct address if we're actually returning a
- struct by address.
- Only copy the bytes that are actually within a struct.
- (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
- is returned in r0, not passed by address.
- (ffi_call): Allocate a word-sized temporary for the case where
- a composite is returned in r0.
- (ffi_prep_incoming_args_SYSV): Align as necessary.
-
-2007-08-05 Steven Newbury <s_j_newbury@yahoo.co.uk>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
- directly using the sys_cacheflush syscall.
-
-2007-07-27 Andrew Haley <aph@redhat.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
-
-2007-09-03 Maciej W. Rozycki <macro@linux-mips.org>
-
- * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure: Likewise.
-
-2007-08-24 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/return_sl.c: New test.
-
-2007-08-10 David Daney <ddaney@avtrex.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/nested_struct5.c,
- testsuite/libffi.call/cls_double.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/nested_struct.c,
- testsuite/libffi.call/cls_2byte.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_sint16.c,
- testsuite/libffi.call/cls_align_uint32.c,
- testsuite/libffi.call/cls_20byte.c,
- testsuite/libffi.call/cls_float.c,
- testsuite/libffi.call/nested_struct2.c,
- testsuite/libffi.call/cls_5_1_byte.c,
- testsuite/libffi.call/nested_struct4.c,
- testsuite/libffi.call/cls_24byte.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: Remove xfail for mips64*-*-*.
-
-2007-08-10 David Daney <ddaney@avtrex.com>
-
- 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.
-
-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*.
- * 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.
-
-2006-12-13 Andreas Tobler <a.tobler@schweiz.org>
-
- * aclocal.m4: Regenerate with aclocal -I .. as written in the
- Makefile.am.
-
-2006-10-31 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
- (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
- Darwin.
- * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
- * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10 Paolo Bonzini <bonzini@gnu.org>
- Sandro Tolaini <tolaini@libero.it>
-
- * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
- conditional.
- * configure: Regenerated.
- * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
- (EXTRA_DIST): Add src/x86/darwin.S.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
- X86_WIN32, and additionally align stack to 16 bytes.
- * src/x86/darwin.S: New, based on sysv.S.
- * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12 David Daney <ddaney@avtrex.com>
-
- PR libffi/23935
- * include/Makefile.am: Install both ffi.h and ffitarget.h in
- $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
- * aclocal.m4: Regenerated for automake 1.9.6.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
-2006-08-17 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h: Remove lint directives.
- * include/ffi.h.in: Likewise.
-
-2006-07-25 Torsten Schoenfeld <kaffeetisch@gmx.de>
-
- * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
- for 32-bit architectures.
- * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
- xfail remains for mips64.
-
-2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
-
- * Makefile.am: Add install-html target. Add install-html to .PHONY
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
- stack slot.
-
-2006-04-22 Andreas Tobler <a.tobler@schweiz.ch>
-
- * README: Remove notice about 'Crazy Comments'.
- * src/debug.c: Remove lint directives. Cleanup white spaces.
- * src/java_raw_api.c: Likewise.
- * src/prep_cif.c: Likewise.
- * src/raw_api.c: Likewise.
- * src/ffitest.c: Delete. No longer needed, all test cases migrated
- to the testsuite.
- * src/arm/ffi.c: Remove lint directives.
- * src/m32r/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/sh/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/pa/hpux32.S: Correct unwind offset calculation for
- ffi_closure_pa32.
- * src/pa/linux.S: Likewise.
-
-2006-04-12 James E Wilson <wilson@specifix.com>
-
- PR libgcj/26483
- * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
- (hfa_type_load): Call stf_spill.
- (hfa_type_store): Call ldf_fill.
- (ffi_call): Adjust calls to above routines. Add local temps for
- macro result.
-
-2006-04-10 Matthias Klose <doko@debian.org>
-
- * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
- directory names containing underscores.
-
-2006-04-07 James E Wilson <wilson@specifix.com>
-
- * testsuite/libffi.call/float4.c: New testcase.
-
-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.
-
-2006-03-24 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Default
- for 32-bit using IBM extended double format. Fix FFI_LAST_ABI.
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
- FFI_TYPE_LONGDOUBLE.
- (ffi_prep_args64): Assert using IBM extended double.
- (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
- Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
- (ffi_call): Handle FFI_LINUX.
- (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
- gpr3 return pointer as for struct return. Handle FFI_LINUX
- FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf"
- unnecessarily.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
- for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table.
- Don't use r6 as pointer to results, instead use sp offset. Don't
- make a special call to load lr with case table address, instead
- use offset from previous call.
- * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
- return.
-
-2006-03-15 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
- passed with FP registers correctly.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S: Likewise.
-
-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.
-
-2006-02-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
- -O2, -O3, -Os and the warning flags -W -Wall.
- * testsuite/libffi.special/special.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
- unused parameter unused for gcc or else do nothing.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
- * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
- * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
- * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
- * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
- * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
- * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
- * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
- * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
- void* to avoid compiler warning.
- (main): Likewise.
- (cls_struct_align_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
- * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
- * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
- userdata unused.
- (cls_ret_schar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
- userdata unused.
- (cls_ret_sint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
- userdata unused.
- (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn): Mark cif and
- userdata unused.
- (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
- userdata unused.
- (cls_ret_uint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
- userdata unused.
- (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
- * testsuite/libffi.call/float1.c (main): Remove unused variable i.
- Cleanup white spaces.
- * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
- * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
- cif and userdata unused.
- * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
- Likewise.
- * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
- formatters to silence gcc.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct4.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct6.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
- * testsuite/libffi.call/problem1.c (stub): Likewise.
- * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
- gcc.
- * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
- in the last commit for this test case in the test case itself.
- * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
- unused.
- * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
- * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
- * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
- * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
- * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
- * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Fix register numbers in the FDE for
- ffi_closure_SYSV.
-
-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.
-
-2006-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
- and cast integer to void * if needed. Update the pointer to
- the FP register saved area correctly.
-
-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.
-
-2006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/return_dbl.c: New test case.
- * testsuite/libffi.call/return_dbl1.c: Likewise.
- * testsuite/libffi.call/return_dbl2.c: Likewise.
- * testsuite/libffi.call/return_fl.c: Likewise.
- * testsuite/libffi.call/return_fl1.c: Likewise.
- * testsuite/libffi.call/return_fl2.c: Likewise.
- * testsuite/libffi.call/return_fl3.c: Likewise.
- * testsuite/libffi.call/closure_fn6.c: Likewise.
-
- * 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.
-
-2006-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.ac: Enable libffi for sparc64-*-freebsd*.
- * configure: Rebuilt.
-
-2006-01-18 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
- instead do the shifting inline.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
- shift count unconditionally. Simplify load sequences for 1, 2, 3, 4
- and 8 byte structs, for the remaining struct sizes don't call
- __lshrdi3, instead do the shifting inline.
-
-2005-12-07 Thiemo Seufer <ths@networkno.de>
-
- * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
- missing parentheses.
- * src/mips/o32.S (ffi_call_O32): Code formatting. Define
- and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
- (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
- A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
- V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
- FA_0_0_OFF2.
- * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
- endianness bugs.
- (ffi_prep_closure): Improve trampoline instruction scheduling.
- (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c: Formatting.
- (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
- (ffi_prep_args64): Likewise.
-
-2005-09-30 Geoffrey Keating <geoffk@apple.com>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
- darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26 Tom Tromey <tromey@redhat.com>
-
- * 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.
-
-2005-08-25 Alan Modra <amodra@bigpond.net.au>
-
- PR target/23404
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
- homed fp args.
- (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11 Jakub Jelinek <jakub@redhat.com>
-
- * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
- (AH_BOTTOM): Add FFI_HIDDEN definition.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * src/powerpc/ffi.c (hidden): Remove.
- (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
- ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
- .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
- * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
- add FFI_HIDDEN to its prototype.
- (ffi_closure_SYSV_inner): New.
- * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
- * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10 Alfred M. Szmidt <ams@gnu.org>
-
- PR libffi/21819:
- * configure: Rebuilt.
- * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
- DW_CFA_offset_extended_sf rather than
- DW_CFA_GNU_negative_offset_extended.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
-
- * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
- on sh3.
- (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
- * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
- partially on register.
- (ffi_closure_helper_SYSV): Likewise.
- (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_call): Handle small structures correctly.
- Remove empty line.
- * src/sh64/ffi.c (simple_type): Remove.
- (return_type): Handle small structures correctly.
- (ffi_prep_args): Likewise.
- (ffi_call): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
- Emit position independent code if PIC and remove wrong datalabel
- prefixes from EH data.
-
-2005-07-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure.ac: Add POWERPC_FREEBSD rules.
- * configure: Regenerate.
- * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
- (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
- * src/powerpc/ffi.c: Add flags to handle small structure returns
- in ffi_call_SYSV.
- (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
- Aka FFI_SYSV.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Add return types for small structures.
- * src/powerpc/sysv.S: Add bits to handle small structures for
- final SYSV 4 ABI.
-
-2005-07-10 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_5_1_byte.c: New test file.
- * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05 Randolph Chung <tausq@debian.org>
-
- * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
- as FFI_TYPE_SMALL_STRUCT3. Break out handling for 5-7 byte
- structures. Kill compilation warnings.
- (ffi_closure_inner_LINUX): Print return values as hex in debug
- message. Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
- Properly handle 5-7 byte structure returns.
- * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
- (FFI_TYPE_SMALL_STRUCT2): Remove.
- (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
- (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
- * src/pa/linux.S: Mark source file as using PA1.1 assembly.
- (checksmst1, checksmst2): Remove.
- (checksmst3): Optimize handling of 3-byte struct returns.
- (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libgcj/21943
- * src/mips/n32.S: Enforce PIC code.
- * src/mips/o32.S: Likewise.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
- * configure: Regenerate.
-
-2005-06-01 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
- to call ffi_closure_helper_SYSV. Append @local instead.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
- Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
- * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
- * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
- include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-05-08 Richard Henderson <rth@redhat.com>
-
- PR libffi/21285
- * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04 Andreas Degert <ad@papyrus-gmbh.de>
- Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
- bit 11 of flags.
- (ffi_call): Mask return type field. Pass ssecount to ffi_call_unix64.
- (ffi_prep_closure): Set carry bit if sse-used flag set.
- * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
- Only load sse registers if ssecount non-zero.
- (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
- powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
- * configure: Regenerate.
-
-2005-04-20 Hans-Peter Nilsson <hp@axis.com>
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
- have Tcl8.3-compatible intermediate variable.
-
-2005-04-18 Simon Posnjak <simon.posnjak@siol.net>
- Hans-Peter Nilsson <hp@axis.com>
-
- * Makefile.am: Add CRIS support.
- * configure.ac: Likewise.
- * Makefile.in, configure, testsuite/Makefile.in,
- include/Makefile.in: Regenerate.
- * src/cris: New directory.
- * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
- * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
- \r?\n in output tests.
-
-2005-04-12 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-03-30 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30 Steve Ellcey <sje@cup.hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
- (ffi_sarg) Ditto.
- * src/ia64/unix.S (ffi_closure_unix): Extend gp
- to 64 bits in ILP32 mode.
- Load 64 bits even for short data.
-
-2005-03-23 Mike Stump <mrs@apple.com>
-
- * src/powerpc/darwin.S: Update for -m64 multilib.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21 Zack Weinberg <zack@codesourcery.com>
-
- * 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.
-
-2005-02-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
- odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR libffi/20104
- * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11 Janis Johnson <janis187@us.ibm.com>
-
- * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
- * testsuite/libffi.call/float.c: Ditto.
- * testsuite/libffi.call/float2.c: Ditto.
- * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * testsuite/libffi.special/special.exp (cxx_options): Add
- -shared-libgcc.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
- (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
- offset parameters with a type parameter; deduce size and structure
- alignment. Update all users.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
- (FFI_TYPE_LONGDOUBLE): Fix for ia64.
- * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
- into ffi_prep_closure.
- * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
- from scratch.
-
-2004-12-27 Richard Henderson <rth@redhat.com>
-
- * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25 Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
- (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
- (merge_classes): Check for it.
- (SSE_CLASS_P): New.
- (classify_argument): Pass byte_offset by value; perform all updates
- inside struct case.
- (examine_argument): Add classes argument; handle
- X86_64_COMPLEX_X87_CLASS.
- (ffi_prep_args): Merge into ...
- (ffi_call): ... here. Share stack frame with ffi_call_unix64.
- (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
- (ffi_fill_return_value): Remove.
- (ffi_prep_closure): Remove dead assert.
- (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
- Rewrite to use struct register_args instead of va_list. Create
- flags for handling structure returns.
- * src/x86/unix64.S: Remove dead strings.
- (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share
- stack frame with ffi_call. Handle structure returns properly.
- (float2sse, floatfloat2sse, double2sse): Remove.
- (sse2float, sse2double, sse2floatfloat): Remove.
- (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite
- to handle structure returns properly.
-
-2004-12-08 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
- PICFLAG.
- * Makefile.in: Regenerated.
-
-2004-12-02 Richard Sandiford <rsandifo@redhat.com>
-
- * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
- * configure, aclocal.m4, Makefile.in: Regenerate.
- * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-25 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool reversion.
-
-2004-11-24 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23 Richard Sandiford <rsandifo@redhat.com>
-
- * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
- of jal. Use an absolute encoding for the frame information.
-
-2004-11-23 Kelley Cook <kcook@gcc.gnu.org>
-
- * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS.
- * acinclude.m4: Delete logic for sincludes.
- * aclocal.m4, Makefile.in, configure: Regenerate.
- * include/Makefile: Likewise.
- * testsuite/Makefile: Likewise.
-
-2004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
- on a 8-byte boundary.
- * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
- long long values. Round stack allocation to a multiple of 8 bytes
- for ATPCS compatibility.
- * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
- names. Handle returning long long types. Add Thumb and interworking
- support. Improve soft-float code.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
- (libffi_exit): New function.
- (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR other/18138
- * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
- * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
- the function returning a structure pointed with R2.
- * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
- the structure return value if T bit set. Emit position
- independent code and EH data if PIC.
-
-2004-10-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * Makefile.am: Add m32r support.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * confiugre: Regenerate.
- * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
- (uint64, sint64, double, longdouble)
- * src/m32r: New directory.
- * src/m32r/ffi.c: New file.
- * src/m32r/sysv.S: Likewise.
- * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * testsuite/libffi.call/negint.c: New test case.
-
-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.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/many_win32.c: Remove whitespaces.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
- whitespaces.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Fix comments and identation.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
- (ffi_prep_args): Handle longdouble arguments.
- (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
- longdouble.
- (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
- * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
- values.
- * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
- * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/aix.S: Remove whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
- * src/powerpc/asm.h: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffitarget.h: Likewise.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
-
-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.in: Read configure.host.
- * 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 shouldn't 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.
-
-2004-08-24 David Daney <daney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
- to zero.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23 David Daney <daney@avtrex.com>
-
- PR libgcj/13141
- * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
- * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
- (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
- parameters and return types.
- (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
- (ffi_prep_closure): Ditto.
- (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
- alignment calculations.
- * src/mips/o32.S (ffi_closure_O32): Don't use floating point
- instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14 Casey Marshall <csm@gnu.org>
-
- * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
- contain `FFI_TYPE_UINT64' as return type for any 64-bit
- integer (O32 ABI only).
- (ffi_prep_closure): new function.
- (ffi_closure_mips_inner_O32): new function.
- * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
- `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
- * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
- 64 bit integers correctly.
- (ffi_closure_O32): new function.
- Added DWARF-2 unwind info for both functions.
-
-2004-08-10 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01 Robert Millan <robertmh@gnu.org>
-
- * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
- * configure: Regenerate.
-
-2004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
-
- * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
- and mmap() explicitly instead of relying on preset autoconf cache
- variables.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
- (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
- character on Darwin, use '\n\t' instead.
-
-2004-06-26 Matthias Klose <doko@debian.org>
-
- * libtool-version: Fix typo in revision/age.
-
-2004-06-17 Matthias Klose <doko@debian.org>
-
- * libtool-version: New.
- * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
- * Makefile.in: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * Makefile.am: Remove useless multilib rules.
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate with automake 1.8.5.
- * configure.ac: Remove useless multilib configury.
- * configure: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * .cvsignore: New file.
-
-2004-06-10 Jakub Jelinek <jakub@redhat.com>
-
- * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
- fp_done.
- (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
- changed from 8.
-
-2004-06-06 Sean McNeil <sean@mcneil.com>
-
- * configure.ac: Add x86_64-*-freebsd* support.
- * configure: Regenerate.
-
-2004-04-26 Joe Buck <jbuck@welsh-buck.org>
-
- Bug 15093
- * configure.ac: Test for existence of mmap and sys/mman.h before
- checking blacklist. Fix suggested by Jim Wilson.
- * configure: Regenerate.
-
-2004-04-26 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
- FDE location.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
- error. Reported by Thomas Heller <theller@python.net>.
- * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20 Matthias Klose <doko@debian.org>
-
- * src/pa/linux.S: Fix typo.
-
-2004-03-19 Matthias Klose <doko@debian.org>
-
- * Makefile.am: Update.
- * Makefile.in: Regenerate.
- * src/pa/ffi.h.in: Remove.
- * src/pa/ffitarget.h: New file.
-
-2004-02-10 Randolph Chung <tausq@debian.org>
-
- * Makefile.am: Add PA support.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * configure.ac: Add PA target.
- * configure: Regenerate.
- * src/pa/ffi.c: New file.
- * src/pa/ffi.h.in: Add PA support.
- * src/pa/linux.S: New file.
- * prep_cif.c: Add PA support.
-
-2004-03-16 Hosaka Yuji <hos@tamanegi.org>
-
- * src/types.c: Fix alignment size of X86_WIN32 case int64 and
- double.
- * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
- with ecif->cif->flags.
- (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
- with cif->flags.
- (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
- (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
- * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
- sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.in: Rename file to ...
- * configure.ac: ... this.
- * fficonfig.h.in: Regenerate.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2004-03-12 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Fix EH information so it corresponds to
- changes in EH format resulting from addition of linkonce support.
- * src/powerpc/darwin_closure.S: Likewise.
-
-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.
-
-2004-03-11 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
- arguments from fp registers only for the first 8 parameter slots.
- Don't convert a float parameter when passed in memory.
-
-2004-03-09 Hans-Peter Nilsson <hp@axis.com>
-
- * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
-
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
- ecif->cif->bytes to bytes.
- (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
- * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
- (ffi_closure_helper_LINUX64): Fix typo.
- * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
- for powerpc64-*-*.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
- long double function return and long double arg handling.
- (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
- Use "end_pfr" instead of "nf". Correct long double handling.
- Localise "temp".
- * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
- return value.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
- space for long double return value. Adjust stack frame and offsets.
- Load f2 long double return.
-
-2004-02-07 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
- when the structure return address is passed in %o0.
- (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
- (ffi_v9_layout_struct): Align the field following a nested structure
- on a word boundary. Use memmove instead of memcpy.
- (ffi_call): Update call to ffi_V9_return_struct.
- (ffi_prep_closure): Define 'ctx' only for V8.
- (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
- and ffi_closure_sparc_inner_v9.
- (ffi_closure_sparc_inner_v8): Return long doubles by reference.
- Always skip the structure return address. For structures and long
- doubles, copy the argument directly.
- (ffi_closure_sparc_inner_v9): Skip the structure return address only
- if required. Shift the maximum floating-point slot accordingly. For
- big structures, copy the argument directly; otherwise, left-justify the
- argument and call ffi_v9_layout_struct to lay out the structure on
- the stack.
- * src/sparc/v8.S: Undef STACKFRAME before defining it.
- (ffi_closure_v8): Pass the structure return address. Update call to
- ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
- Skip the 'unimp' insn when returning long doubles and structures.
- * src/sparc/v9.S: Undef STACKFRAME before defining it.
- (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
- FFI_TYPE_INT handling. Load structures both in integers and
- floating-point registers on return.
- * README: Update status of the SPARC port.
-
-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.
-
-2004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
-
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
- value as of type ffi_arg, not unsigned int.
-
-2004-01-21 Michael Ritzert <ritzert@t-online.de>
-
- * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
- of the LHS.
-
-2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
- Solaris.
-
-2004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
- to void *.
-
-2003-12-10 Richard Henderson <rth@redhat.com>
-
- * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
- size_t instead of int.
-
-2003-12-04 Hosaka Yuji <hos@tamanegi.org>
-
- * testsuite/libffi.call/many_win32.c: Include <float.h>.
- * testsuite/libffi.call/many_win32.c (main): Replace variable
- int i with unsigned long ul.
-
- * testsuite/libffi.call/cls_align_uint64.c: New test case.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02 Hosaka Yuji <hos@tamanegi.org>
-
- PR other/13221
- * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
- Align arguments to 32 bits.
-
-2003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR other/13221
- * testsuite/libffi.call/cls_multi_sshort.c: New test case.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-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.
-
-2003-11-21 Andreas Jaeger <aj@suse.de>
- Andreas Tobler <a.tobler@schweiz.ch>
-
- * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
- * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
- * Makefile.in: Rebuilt.
- * aclocal.m4: Likewise.
- * configure: Likewise.
- * fficonfig.h.in: Likewise.
- * testsuite/lib/libffi-dg.exp: Add include dir.
- * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
- for ffi_closure if available.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
- Add -lgcc_s to additional flags.
-
-2003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.in, include/Makefile.am: PR libgcj/11147, install
- the ffitarget.h header file in a gcc versioned and target
- dependent place.
- * configure: Regenerated.
- * Makefile.in, include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Print result and check
- with dg-output to make debugging easier.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
- static.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_9byte2.c: New test case.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_double.c: Do a check on the result.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/prep_cif.c (ffi_prep_cif): Move the validity check after
- the initialization.
-
-2003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
- FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
- __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-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
-
-2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
- _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
- Used when FFI_DEBUG = 1.
-
-2003-10-14 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
- and align.
-
-2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
- FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
- SPARC64. Cleanup whitespaces.
-
-2003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
- strongarm, xscale. Cleanup whitespaces.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Cleanup whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
- * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
- parameter stack.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
- according to the Darwin/AIX ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_DARWIN): Likewise.
- Remove the outgoing parameter stack logic. Simplify the evaluation
- of the different CASE types.
- (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
- statement in the trampoline code.
-
-2003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
- for the register size.
- (ffi_closure_helper_SYSV): Handle the structure return value
- address correctly.
- (ffi_closure_helper_SYSV): Return the appropriate type when
- the registers are used for the structure return value.
- * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
- the 64-bit return value. Update copyright years.
-
-2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
- srcdir for ffi_mips.h.
-
-2003-09-12 Alan Modra <amodra@bigpond.net.au>
-
- * src/prep_cif.c (initialize_aggregate): Include tail padding in
- structure size.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
- placement of float result.
- * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
- cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Merge identical SH and ARM
- typedefs, and add POWERPC64.
- * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
- struct split over gpr and rest.
- (ffi_prep_cif_machdep): Correct intarg_count for structures.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
- passing correctly.
-
-2003-09-09 Alan Modra <amodra@bigpond.net.au>
-
- * configure: Regenerate.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Remove build rules for ffitest.
- * Makefile.in: Rebuilt.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
- about implicit declaration of abort().
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
- * Makefile.in: Rebuilt.
- * configure.in: Add dejagnu test framework.
- * configure: Rebuilt.
-
- * testsuite/Makefile.am: New file.
- * testsuite/Makefile.in: Built
- * testsuite/lib/libffi-dg.exp: New file.
- * testsuite/config/default.exp: Likewise.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Likewise.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float1.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/many.c: Likewise.
- * testsuite/libffi.call/many_win32.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
- * testsuite/libffi.call/strlen.c: Likewise.
- * testsuite/libffi.call/strlen_win32.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
- * testsuite/libffi.call/struct2.c: Likewise.
- * testsuite/libffi.call/struct3.c: Likewise.
- * testsuite/libffi.call/struct4.c: Likewise.
- * testsuite/libffi.call/struct5.c: Likewise.
- * testsuite/libffi.call/struct6.c: Likewise.
- * testsuite/libffi.call/struct7.c: Likewise.
- * testsuite/libffi.call/struct8.c: Likewise.
- * testsuite/libffi.call/struct9.c: Likewise.
- * testsuite/libffi.special/special.exp: New file.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
- copyright years.
-
-2003-08-02 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
- structure passing.
- (ffi_closure_helper_LINUX64): Likewise.
- * src/powerpc/linux64.S: Remove code writing to parm save area.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
- address in lr from ffi_closure_helper_LINUX64 call to calculate
- table address. Optimize function tail.
-
-2003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/sparc/ffi.c: Handle all floating point registers.
- * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
-
- * README: Note that libffi is not part of GCC. Update the project
- URL and status.
-
-2003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
- Use C style comments.
-
-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
- should be read-only.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * include/ffi.h.in (EH_FRAME_FLAGS): Define.
- * src/alpha/osf.S: Use EH_FRAME_FLAGS.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
- * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
- if -fpic/-fPIC/-mrelocatable.
- * src/powerpc/powerpc_closure.S: Likewise.
- * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
- #write in .eh_frame flags.
- * src/sparc/v9.S: Likewise.
- * src/x86/unix64.S: Use EH_FRAME_FLAGS.
- * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
- * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
-
-2003-05-07 Jeff Sturm <jsturm@one-point.com>
-
- Fixes PR bootstrap/10656
- * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
- support for .register pseudo-op.
- * src/sparc/v8.S: Use it.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2003-04-18 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (POWERPC64): Define if 64-bit.
- (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
- Make it the default on POWERPC64.
- (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
- * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
- * configure: Rebuilt.
- * src/powerpc/ffi.c (hidden): Define.
- (ffi_prep_args_SYSV): Renamed from
- ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
- (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
- ASM_NEEDS_REGISTERS64): New.
- (ffi_prep_args64): New function.
- (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
- (ffi_call): Likewise.
- (ffi_prep_closure): Likewise.
- (flush_icache): Surround by #ifndef POWERPC64.
- (ffi_dblfl): New union type.
- (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
- (ffi_closure_helper_LINUX64): New function.
- * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
- __powerpc64__.
- * src/powerpc/sysv.S: Likewise.
- (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
- * src/powerpc/linux64.S: New file.
- * src/powerpc/linux64_closure.S: New file.
- * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
- src/powerpc/linux64_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
- * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
- closure_test_fn3): Fix result printing on big-endian 64-bit
- machines.
- (main): Print tst2_arg instead of uninitialized tst2_result.
-
- * src/ffitest.c (main): Hide what closure pointer really points to
- from the compiler.
-
-2003-04-16 Richard Earnshaw <rearnsha@arm.com>
-
- * configure.in (arm-*-netbsdelf*): Add configuration.
- (configure): Regenerated.
-
-2003-04-04 Loren J. Rittle <ljrittle@acm.org>
-
- * include/Makefile.in: Regenerate.
-
-2003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
-
- * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
- bit mode.
- * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
- Receive closure pointer through parameter, read args using
- __builtin_dwarf_cfa.
- (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12 Andreas Schwab <schwab@suse.de>
-
- * configure.in: Avoid trailing /. in toolexeclibdir.
- * configure: Rebuilt.
-
-2003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/powerpc/darwin_closure.S:
- Fix alignement bug, allocate 8 bytes for the result.
- * libffi/src/powerpc/aix_closure.S:
- Likewise.
- * libffi/src/powerpc/ffi_darwin.c:
- Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06 Jakub Jelinek <jakub@redhat.com>
-
- * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
- attribute.
-
-2003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
- Andreas Schwab <schwab@suse.de>
-
- * configure.in: Adjust command to source config-ml.in to account
- for changes to the libffi_basedir definition.
- (libffi_basedir): Remove ${srcdir} from value and include trailing
- slash if nonempty.
-
- * configure: Regenerate.
-
-2003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
- * src/x86/ffi64.c (ffi_prep_closure): New.
- (ffi_closure_UNIX64_inner): New.
- * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
- Remove USE_LIBDIR conditional.
- * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
- * Makefile.in, configure: Rebuilt.
-
-2003-01027 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
- * Makefile.in: Regenerate.
-
-2003-01-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
- unwind info.
-
-2003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Add unwind info.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
- (ffi_prep_cif_machdep): Likewise.
- * src/x86/unix64.S: Add unwind info.
-
-2003-01-14 Andreas Jaeger <aj@suse.de>
-
- * src/ffitest.c (main): Only use ffi_closures if those are
- supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/ffitest.c
- add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
- * libffi/src/powerpc/ffi.c
- fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c: Remove RCS version string.
- * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
- * src/ffitest.c (main): Use static storage for closure.
- * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
- * src/sparc/v8.S (ffi_closure_v8): New.
- * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10 Ranjit Mathew <rmathew@hotmail.com>
-
- * include/ffi.h.in: Added FFI_STDCALL ffi_type
- enumeration for X86_WIN32.
- * src/x86/win32.S: Added ffi_call_STDCALL function
- definition.
- * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
- switch cases for recognising FFI_STDCALL and
- calling ffi_call_STDCALL if target is X86_WIN32.
- * src/ffitest.c (my_stdcall_strlen/stdcall_many):
- stdcall versions of the "my_strlen" and "many"
- test functions (for X86_WIN32).
- Added test cases to test stdcall invocation using
- these functions.
-
-2002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26 Jim Wilson <wilson@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23 H.J. Lu <hjl@gnu.org>
-
- * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
- Include ../config/accross.m4.
- * aclocal.m4; Rebuild.
- * configure: Likewise.
-
-2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11 DJ Delorie <dj@redhat.com>
-
- * configure.in: Look for common files in the right place.
-
-2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
- raw data as _Jv_word values, not ffi_raw.
- (ffi_java_ptrarray_to_raw): Likewise.
- (ffi_java_rvalue_to_raw): New function.
- (ffi_java_raw_call): Call it.
- (ffi_java_raw_to_rvalue): New function.
- (ffi_java_translate_args): Call it.
- * src/ffitest.c (closure_test_fn): Interpret return value
- as ffi_arg, not int.
- * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
- FFI_TYPE_POINTER case.
- (ffi_closure_helper_SYSV): Likewise. Also, assume return
- values extended to word size.
-
-2002-10-02 Andreas Jaeger <aj@suse.de>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01 Bo Thorsen <bo@smetana.suse.de>
-
- * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
-
- * configure.in: Add s390x-*-linux-* target.
- * configure: Regenerate.
- * include/ffi.h.in: Define S390X for s390x targets.
- (FFI_CLOSURES): Define for s390/s390x.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
- * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
- * src/s390/ffi.c: Major rework of existing code. Add support for
- s390x targets. Add closure support.
- * src/s390/sysv.S: Likewise.
-
-2002-09-29 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: Fix typo.
-
-2002-09-28 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
- has defined __USER_LABEL_PREFIX__, then use it in CNAME.
- (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27 Bo Thorsen <bo@suse.de>
-
- * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * configure.in (sh[34]*-*-linux*): Add brackets.
- * configure: Regenerate.
-
-2002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * Makefile.am: Add SH support.
- * Makefile.in: Regenerate.
- * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
- * configure: Regenerate.
- * include/ffi.h.in: Add SH support.
- * src/sh/ffi.c: New file.
- * src/sh/sysv.S: New file.
- * src/types.c: Add SH support.
-
-2002-07-16 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi64.c: New file that adds x86-64 support.
- * src/x86/unix64.S: New file that handles argument setup for
- x86-64.
- * src/x86/sysv.S: Don't use this on x86-64.
- * src/x86/ffi.c: Don't use this on x86-64.
- Remove unused vars.
- * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
- for x86-64.
- * src/ffitest.c (struct6): New test that tests a special case in
- the x86-64 ABI.
- (struct7): Likewise.
- (struct8): Likewise.
- (struct9): Likewise.
- (closure_test_fn): Silence warning about this when it's not used.
- (main): Add the new tests.
- (main): Fix a couple of wrong casts and silence some compiler warnings.
- * include/ffi.h.in: Add x86-64 ABI definition.
- * fficonfig.h.in: Regenerate.
- * Makefile.am: Add x86-64 support.
- * configure.in: Likewise.
- * Makefile.in: Regenerate.
- * configure: Likewise.
-
-2002-06-24 Bo Thorsen <bo@suse.de>
-
- * src/types.c: Merge settings for similar architectures.
- Add x86-64 sizes and alignments.
-
-2002-06-23 Bo Thorsen <bo@suse.de>
-
- * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
- * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
- * src/mips/ffi.c (ffi_prep_args): Likewise.
- * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18 H.J. Lu (hjl@gnu.org)
-
- * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
- (libffi_la_SOURCES): Support MIPS_LINUX.
- (libffi_convenience_la_SOURCES): Likewise.
- * Makefile.in: Regenerated.
-
- * configure.in (mips64*-*): Skip.
- (mips*-*-linux*): New.
- * configure: Regenerated.
-
- * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
-
-2002-05-27 Roger Sayle <roger@eyesopen.com>
-
- * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
- fix formatting.
-
-2002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
- beginning of function (for older apple cc).
-
-2002-05-08 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
- script entry, and set LD to it when configuring multilibs.
- * configure: Rebuilt.
-
-2002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (sparc64-*-netbsd*): Add target.
- (sparc-*-netbsdelf*): Likewise.
- * configure: Regenerate.
-
-2002-04-28 David S. Miller <davem@redhat.com>
-
- * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
-
- * Makefile.am: Add Linux for S/390 support.
- * Makefile.in: Regenerate.
- * configure.in: Add Linux for S/390 support.
- * configure: Regenerate.
- * include/ffi.h.in: Add Linux for S/390 support.
- * src/s390/ffi.c: New file from libffi CVS tree.
- * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
- %r_disp32().
- * src/sparc/v8.S: Use it.
- * src/sparc/v9.S: Likewise.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2002-04-08 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
- correctly.
- * src/ia64/unix.S: Add unwind information. Fix comments.
- Save sp in a way that's compatible with unwind info.
- (ffi_call_unix): Correctly restore sp in all cases.
- * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08 Jakub Jelinek <jakub@redhat.com>
-
- * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (alpha*-*-netbsd*): Add target.
- * configure: Regenerate.
-
-2002-04-04 Jeff Sturm <jsturm@one-point.com>
-
- * src/sparc/v8.S: Add unwind info.
- * src/sparc/v9.S: Likewise.
-
-2002-03-30 Krister Walfridsson <cato@df.lth.se>
-
- * configure.in: Enable i*86-*-netbsdelf*.
- * configure: Rebuilt.
-
-2002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
-
- PR other/2620
- * src/mips/n32.s: Delete
- * src/mips/o32.s: Delete
-
-2002-03-21 Loren J. Rittle <ljrittle@acm.org>
-
- * configure.in: Enable alpha*-*-freebsd*.
- * configure: Rebuilt.
-
-2002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * Makefile.am: libfficonvenience -> libffi_convenience.
- * Makefile.in: Rebuilt.
-
- * Makefile.am: Define ffitest_OBJECTS.
- * Makefile.in: Rebuilt.
-
-2002-03-07 Andreas Tobler <toa@pop.agri.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
- (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
- (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
- * Makefile.in: Regenerate.
- * include/ffi.h.in: Add AIX and Darwin closure definitions.
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
- (flush_icache, flush_range): New functions.
- (ffi_closure_helper_DARWIN): New function.
- * src/powerpc/aix_closure.S: New file.
- * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add typedef for ffi_arg.
- * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21 Andreas Tobler <toa@pop.agri.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
- number of GPRs for floating-point arguments.
-
-2002-01-31 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Replace CHECK_SIZEOF and endian tests with
- cross-compiler friendly macros.
- * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
- macros.
-
-2002-01-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): New.
- * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
- (TARGET_SRC_POWERPC_AIX): New.
- (POWERPC_AIX): New stanza.
- * Makefile.in: Regenerate.
- * configure.in: Add AIX case.
- * configure: Regenerate.
- * include/ffi.h.in (ffi_abi): Add FFI_AIX.
- * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
- size. Fix "long double" support.
- (ffi_call): Add FFI_AIX case.
- * src/powerpc/aix.S: New.
-
-2001-10-09 John Hornkvist <john@toastedmarshmallow.com>
-
- Implement Darwin PowerPC ABI.
- * configure.in: Handle powerpc-*-darwin*.
- * Makefile.am: Set source files for POWERPC_DARWIN.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
- * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
- POWERPC_DARWIN.
- * src/powerpc/darwin.S: New file.
- * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .balign directive.
- Use C style comments.
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
- Fixes PR bootstrap/3563.
-
-2001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.in: Recognize sparc*-sun-* host.
- * configure: Regenerate.
-
-2001-06-06 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S: Add unwind info.
- * src/powerpc/sysv.S: Add unwind info.
- * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31 Jeff Sturm <jsturm@one-point.com>
-
- * configure.in: Fix AC_ARG_ENABLE usage.
- * configure: Rebuilt.
-
-2001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * configure.in: Remove warning about beta code.
- * configure: Rebuilt.
-
-2001-04-25 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/ia64/unix.S: Restore stack pointer when returning from
- ffi_closure_UNIX.
- * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18 Jim Wilson <wilson@redhat.com>
-
- * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
- to eliminate RAW DV.
-
-2001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
-
- * Makefile.am: Make a libtool convenience library.
- * Makefile.in: Rebuilt.
-
-2001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Use different syntax for subdirectory creation.
- * configure: Rebuilt.
-
-2001-03-27 Jon Beniston <jon@beniston.com>
-
- * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
- * configure: Rebuilt.
- * Makefile.am: Added X86_WIN32 target support.
- * Makefile.in: Rebuilt.
-
- * include/ffi.h.in: Added X86_WIN32 target support.
-
- * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
- * src/types.c: Added X86_WIN32 target support.
-
- * src/x86/win32.S: New file. Based on sysv.S, but with EH
- stuff removed and made to work with CygWin's gas.
-
-2001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Make target subdirectory in build dir.
- * Makefile.am: Override suffix based rules to specify correct output
- subdirectory.
- * Makefile.in: Rebuilt.
- * configure: Rebuilt.
-
-2001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
-
- * src/powerpc/ppc_closure.S: New file.
- * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
- involving long long and register pairs.
- (ffi_prep_closure): New function.
- (flush_icache): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * Makefile.in: Rebuilt.
- * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19 Tom Tromey <tromey@redhat.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02 Nick Clifton <nickc@redhat.com>
-
- * include/ffi.h.in: Remove RCS ident string.
- * include/ffi_mips.h: Remove RCS ident string.
- * src/debug.c: Remove RCS ident string.
- * src/ffitest.c: Remove RCS ident string.
- * src/prep_cif.c: Remove RCS ident string.
- * src/types.c: Remove RCS ident string.
- * src/alpha/ffi.c: Remove RCS ident string.
- * src/alpha/osf.S: Remove RCS ident string.
- * src/arm/ffi.c: Remove RCS ident string.
- * src/arm/sysv.S: Remove RCS ident string.
- * src/mips/ffi.c: Remove RCS ident string.
- * src/mips/n32.S: Remove RCS ident string.
- * src/mips/o32.S: Remove RCS ident string.
- * src/sparc/ffi.c: Remove RCS ident string.
- * src/sparc/v8.S: Remove RCS ident string.
- * src/sparc/v9.S: Remove RCS ident string.
- * src/x86/ffi.c: Remove RCS ident string.
- * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * include/ffi.h.in: Change sourceware.cygnus.com references to
- gcc.gnu.org.
-
-2000-12-09 Richard Henderson <rth@redhat.com>
-
- * src/alpha/ffi.c (ffi_call): Simplify struct return test.
- (ffi_closure_osf_inner): Index rather than increment avalue
- and arg_types. Give ffi_closure_osf the raw return value type.
- * src/alpha/osf.S (ffi_closure_osf): Handle return value type
- promotion.
-
-2000-12-07 Richard Henderson <rth@redhat.com>
-
- * src/raw_api.c (ffi_translate_args): Fix typo.
- (ffi_prep_closure): Likewise.
-
- * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
- FFI_TRAMPOLINE_SIZE.
- * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
- cif->bytes for new ffi_call_osf implementation.
- (ffi_prep_args): Absorb into ...
- (ffi_call): ... here. Do all stack allocation here and
- avoid a callback function.
- (ffi_prep_closure, ffi_closure_osf_inner): New.
- * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
- (ffi_closure_osf): New.
-
-2000-09-10 Alexandre Oliva <aoliva@redhat.com>
-
- * config.guess, config.sub, install-sh: Removed.
- * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
- * Makefile.in: Rebuilt.
-
- * acinclude.m4: Include libtool macros from the top level.
- * aclocal.m4, configure: Rebuilt.
-
-2000-08-22 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
- * configure: Rebuilt.
-
-2000-05-11 Scott Bambrough <scottb@netwinder.org>
-
- * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
- memory correctly. Use conditional instructions, not branches where
- possible.
-
-2000-05-04 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Match `arm*-*-linux-*'.
- From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (SUBDIRS): Define.
- (AM_MAKEFLAGS): Likewise.
- (Multilib support.): Add section.
- * Makefile.in: Rebuilt.
- * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
- New variables. Set for gcc using -print-multi-lib. Export them
- to libtool.
- (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
- * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
- for -shared links.
- (extra_compiler_flags_value, extra_compiler_flags): Check these
- for extra compiler options which need to be passed down in
- compiler_flags.
-
-2000-04-16 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
- Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
- * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
- Replace all void * sizeofs with sizeof(int).
- Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
- different than DOUBLE.
- Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
- (ffi_prep_args_v9): New function.
- (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
- (ffi_V9_return_struct): New function.
- (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
- 32bit code (not yet cross-arch calls).
- * src/sparc/v8.S: Add struct return delay nop.
- Handle long long.
- * src/sparc/v9.S: New file.
- * src/prep_cif.c (ffi_prep_cif): Return structure pointer
- is used on sparc64 only for structures larger than 32 bytes.
- Pass by reference for structures is done for structure arguments
- larger than 16 bytes.
- * src/ffitest.c (main): Use 64bit rint on sparc64.
- Run long long tests on sparc.
- * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
- sparc64.
- (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
- on sparc64.
- * configure.in (sparc-*-linux*): New supported target.
- (sparc64-*-linux*): Likewise.
- * configure: Rebuilt.
- * Makefile.am: Add v9.S to SPARC files.
- * Makefile.in: Likewise.
- (LINK): Surround $(CCLD) into double quotes, so that multilib
- compiles work correctly.
-
-2000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: (i*86-*-solaris*): New libffi target. Patch
- proposed by Bryce McKinlay.
-
-2000-03-20 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
-
- * config.guess, config.sub: Update from the gcc tree.
- Fix for PR libgcj/168.
-
-2000-03-03 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Fixed ia64 by hand.
-
- * configure: Rebuilt.
- * configure.in (--enable-multilib): New option.
- (libffi_basedir): New subst.
- (AC_OUTPUT): Added multilib code.
-
-2000-03-02 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
- directory name.
-
-2000-02-25 Hans Boehm <boehm@acm.org>
-
- * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
- files.
- * src/raw_api.c (ffi_translate_args): Fixed typo in argument
- list.
- (ffi_prep_raw_closure): Use ffi_translate_args, not
- ffi_closure_translate.
- * src/java_raw_api.c: New file.
- * src/ffitest.c (closure_test_fn): New function.
- (main): Define `rint' as long long on IA64. Added new test when
- FFI_CLOSURES is defined.
- * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
- (ffi_abi): Recognize IA64.
- (ffi_raw): Added `flt' field.
- Added "Java raw API" code.
- * configure.in: Recognize ia64.
- * Makefile.am (TARGET_SRC_IA64): New macro.
- (libffi_la_common_SOURCES): Added java_raw_api.c.
- (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01 Tom Tromey <tromey@cygnus.com>
-
- * include/ffi.h.in: Removed PACKAGE and VERSION defines and
- undefs.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
- * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
- Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
- * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09 Anthony Green <green@cygnus.com>
-
- * include/ffi.h.in: Try to work around messy header problem
- with PACKAGE and VERSION.
-
- * configure: Rebuilt.
- * configure.in: Change version to 2.00-beta.
-
- * fficonfig.h.in: Rebuilt.
- * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
- * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
-
- * src/x86/ffi.c (ffi_closure_SYSV): New function.
- (ffi_prep_incoming_args_SYSV): Ditto.
- (ffi_prep_closure): Ditto.
- (ffi_closure_raw_SYSV): Ditto.
- (ffi_prep_raw_closure): More ditto.
- (ffi_call_raw): Final ditto.
-
- * include/ffi.h.in: Add definitions for closure and raw API.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
- FFI_TYPE_UINT64.
-
- * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
- * src/raw_api.c: New file.
-
- * include/ffi.h.in (ffi_raw): New type.
- (UINT_ARG, SINT_ARG): New defines.
- (ffi_closure, ffi_raw_closure): New types.
- (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
- * configure.in: Add check for endianness and sizeof void*.
-
- * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
- instead of directly.
-
- * configure: Rebuilt.
-
-Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
-
- * configure.in: Add x86 and powerpc BeOS configurations.
- From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09 Anthony Green <green@cygnus.com>
-
- * configure.in: Add warning about this being beta code.
- Remove src/Makefile.am from the picture.
- * configure: Rebuilt.
-
- * Makefile.am: Move logic from src/Makefile.am. Add changes
- to support libffi as a target library.
- * Makefile.in: Rebuilt.
-
- * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
- Upgraded to new autoconf, automake, libtool.
-
- * README: Tweaks.
-
- * LICENSE: Update copyright date.
-
- * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29 Anthony Green <green@cygnus.com>
-
- * include/ChangeLog: Removed.
- * src/ChangeLog: Removed.
- * src/mips/ChangeLog: Removed.
- * src/sparc/ChangeLog: Remboved.
- * src/x86/ChangeLog: Removed.
-
- * ChangeLog.v1: Created.
diff --git a/.pc/fix-xfails/src/prep_cif.c b/.pc/fix-xfails/src/prep_cif.c
deleted file mode 100644
index f3f835f..0000000
--- a/.pc/fix-xfails/src/prep_cif.c
+++ /dev/null
@@ -1,177 +0,0 @@
-/* -----------------------------------------------------------------------
- prep_cif.c - Copyright (c) 2012 Anthony Green
- Copyright (c) 1996, 1998, 2007 Red Hat, Inc.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
- ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-#include <stdlib.h>
-
-/* Round up to FFI_SIZEOF_ARG. */
-
-#define STACK_ARG_SIZE(x) ALIGN(x, FFI_SIZEOF_ARG)
-
-/* Perform machine independent initialization of aggregate type
- specifications. */
-
-static ffi_status initialize_aggregate(ffi_type *arg)
-{
- ffi_type **ptr;
-
- FFI_ASSERT(arg != NULL);
-
- FFI_ASSERT(arg->elements != NULL);
- FFI_ASSERT(arg->size == 0);
- FFI_ASSERT(arg->alignment == 0);
-
- ptr = &(arg->elements[0]);
-
- while ((*ptr) != NULL)
- {
- if (((*ptr)->size == 0) && (initialize_aggregate((*ptr)) != FFI_OK))
- return FFI_BAD_TYPEDEF;
-
- /* Perform a sanity check on the argument type */
- FFI_ASSERT_VALID_TYPE(*ptr);
-
- arg->size = ALIGN(arg->size, (*ptr)->alignment);
- arg->size += (*ptr)->size;
-
- arg->alignment = (arg->alignment > (*ptr)->alignment) ?
- arg->alignment : (*ptr)->alignment;
-
- ptr++;
- }
-
- /* Structure size includes tail padding. This is important for
- structures that fit in one register on ABIs like the PowerPC64
- Linux ABI that right justify small structs in a register.
- It's also needed for nested structure layout, for example
- struct A { long a; char b; }; struct B { struct A x; char y; };
- should find y at an offset of 2*sizeof(long) and result in a
- total size of 3*sizeof(long). */
- arg->size = ALIGN (arg->size, arg->alignment);
-
- if (arg->size == 0)
- return FFI_BAD_TYPEDEF;
- else
- return FFI_OK;
-}
-
-#ifndef __CRIS__
-/* The CRIS ABI specifies structure elements to have byte
- alignment only, so it completely overrides this functions,
- which assumes "natural" alignment and padding. */
-
-/* Perform machine independent ffi_cif preparation, then call
- machine dependent routine. */
-
-ffi_status ffi_prep_cif(ffi_cif *cif, ffi_abi abi, unsigned int nargs,
- ffi_type *rtype, ffi_type **atypes)
-{
- unsigned bytes = 0;
- unsigned int i;
- ffi_type **ptr;
-
- FFI_ASSERT(cif != NULL);
-#ifndef X86_WIN32
- FFI_ASSERT((abi > FFI_FIRST_ABI) && (abi <= FFI_DEFAULT_ABI));
-#else
- FFI_ASSERT(abi > FFI_FIRST_ABI && abi < FFI_LAST_ABI
- || abi == FFI_THISCALL);
-#endif
-
- cif->abi = abi;
- cif->arg_types = atypes;
- cif->nargs = nargs;
- cif->rtype = rtype;
-
- cif->flags = 0;
-
- /* Initialize the return type if necessary */
- if ((cif->rtype->size == 0) && (initialize_aggregate(cif->rtype) != FFI_OK))
- return FFI_BAD_TYPEDEF;
-
- /* Perform a sanity check on the return type */
- FFI_ASSERT_VALID_TYPE(cif->rtype);
-
- /* x86, x86-64 and s390 stack space allocation is handled in prep_machdep. */
-#if !defined M68K && !defined X86_ANY && !defined S390 && !defined PA
- /* Make space for the return structure pointer */
- if (cif->rtype->type == FFI_TYPE_STRUCT
-#ifdef SPARC
- && (cif->abi != FFI_V9 || cif->rtype->size > 32)
-#endif
- )
- bytes = STACK_ARG_SIZE(sizeof(void*));
-#endif
-
- for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++)
- {
-
- /* Initialize any uninitialized aggregate type definitions */
- if (((*ptr)->size == 0) && (initialize_aggregate((*ptr)) != FFI_OK))
- return FFI_BAD_TYPEDEF;
-
- /* Perform a sanity check on the argument type, do this
- check after the initialization. */
- FFI_ASSERT_VALID_TYPE(*ptr);
-
-#if !defined X86_ANY && !defined S390 && !defined PA
-#ifdef SPARC
- if (((*ptr)->type == FFI_TYPE_STRUCT
- && ((*ptr)->size > 16 || cif->abi != FFI_V9))
- || ((*ptr)->type == FFI_TYPE_LONGDOUBLE
- && cif->abi != FFI_V9))
- bytes += sizeof(void*);
- else
-#endif
- {
- /* Add any padding if necessary */
- if (((*ptr)->alignment - 1) & bytes)
- bytes = ALIGN(bytes, (*ptr)->alignment);
-
- bytes += STACK_ARG_SIZE((*ptr)->size);
- }
-#endif
- }
-
- cif->bytes = bytes;
-
- /* Perform machine dependent cif processing */
- return ffi_prep_cif_machdep(cif);
-}
-#endif /* not __CRIS__ */
-
-#if FFI_CLOSURES
-
-ffi_status
-ffi_prep_closure (ffi_closure* closure,
- ffi_cif* cif,
- void (*fun)(ffi_cif*,void*,void**,void*),
- void *user_data)
-{
- return ffi_prep_closure_loc (closure, cif, fun, user_data, closure);
-}
-
-#endif
diff --git a/.pc/fix-xfails/src/x86/ffi64.c b/.pc/fix-xfails/src/x86/ffi64.c
deleted file mode 100644
index bd907d7..0000000
--- a/.pc/fix-xfails/src/x86/ffi64.c
+++ /dev/null
@@ -1,627 +0,0 @@
-/* -----------------------------------------------------------------------
- ffi64.c - Copyright (c) 2002, 2007 Bo Thorsen <bo@suse.de>
- Copyright (c) 2008, 2010 Red Hat, Inc.
-
- x86-64 Foreign Function Interface
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
- ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#include <stdlib.h>
-#include <stdarg.h>
-
-#ifdef __x86_64__
-
-#define MAX_GPR_REGS 6
-#define MAX_SSE_REGS 8
-
-struct register_args
-{
- /* Registers for argument passing. */
- UINT64 gpr[MAX_GPR_REGS];
- __int128_t sse[MAX_SSE_REGS];
-};
-
-extern void ffi_call_unix64 (void *args, unsigned long bytes, unsigned flags,
- void *raddr, void (*fnaddr)(void), unsigned ssecount);
-
-/* All reference to register classes here is identical to the code in
- gcc/config/i386/i386.c. Do *not* change one without the other. */
-
-/* Register class used for passing given 64bit part of the argument.
- These represent classes as documented by the PS ABI, with the
- exception of SSESF, SSEDF classes, that are basically SSE class,
- just gcc will use SF or DFmode move instead of DImode to avoid
- reformatting penalties.
-
- Similary we play games with INTEGERSI_CLASS to use cheaper SImode moves
- whenever possible (upper half does contain padding). */
-enum x86_64_reg_class
- {
- X86_64_NO_CLASS,
- X86_64_INTEGER_CLASS,
- X86_64_INTEGERSI_CLASS,
- X86_64_SSE_CLASS,
- X86_64_SSESF_CLASS,
- X86_64_SSEDF_CLASS,
- X86_64_SSEUP_CLASS,
- X86_64_X87_CLASS,
- X86_64_X87UP_CLASS,
- X86_64_COMPLEX_X87_CLASS,
- X86_64_MEMORY_CLASS
- };
-
-#define MAX_CLASSES 4
-
-#define SSE_CLASS_P(X) ((X) >= X86_64_SSE_CLASS && X <= X86_64_SSEUP_CLASS)
-
-/* x86-64 register passing implementation. See x86-64 ABI for details. Goal
- of this code is to classify each 8bytes of incoming argument by the register
- class and assign registers accordingly. */
-
-/* Return the union class of CLASS1 and CLASS2.
- See the x86-64 PS ABI for details. */
-
-static enum x86_64_reg_class
-merge_classes (enum x86_64_reg_class class1, enum x86_64_reg_class class2)
-{
- /* Rule #1: If both classes are equal, this is the resulting class. */
- if (class1 == class2)
- return class1;
-
- /* Rule #2: If one of the classes is NO_CLASS, the resulting class is
- the other class. */
- if (class1 == X86_64_NO_CLASS)
- return class2;
- if (class2 == X86_64_NO_CLASS)
- return class1;
-
- /* Rule #3: If one of the classes is MEMORY, the result is MEMORY. */
- if (class1 == X86_64_MEMORY_CLASS || class2 == X86_64_MEMORY_CLASS)
- return X86_64_MEMORY_CLASS;
-
- /* Rule #4: If one of the classes is INTEGER, the result is INTEGER. */
- if ((class1 == X86_64_INTEGERSI_CLASS && class2 == X86_64_SSESF_CLASS)
- || (class2 == X86_64_INTEGERSI_CLASS && class1 == X86_64_SSESF_CLASS))
- return X86_64_INTEGERSI_CLASS;
- if (class1 == X86_64_INTEGER_CLASS || class1 == X86_64_INTEGERSI_CLASS
- || class2 == X86_64_INTEGER_CLASS || class2 == X86_64_INTEGERSI_CLASS)
- return X86_64_INTEGER_CLASS;
-
- /* Rule #5: If one of the classes is X87, X87UP, or COMPLEX_X87 class,
- MEMORY is used. */
- if (class1 == X86_64_X87_CLASS
- || class1 == X86_64_X87UP_CLASS
- || class1 == X86_64_COMPLEX_X87_CLASS
- || class2 == X86_64_X87_CLASS
- || class2 == X86_64_X87UP_CLASS
- || class2 == X86_64_COMPLEX_X87_CLASS)
- return X86_64_MEMORY_CLASS;
-
- /* Rule #6: Otherwise class SSE is used. */
- return X86_64_SSE_CLASS;
-}
-
-/* Classify the argument of type TYPE and mode MODE.
- CLASSES will be filled by the register class used to pass each word
- of the operand. The number of words is returned. In case the parameter
- should be passed in memory, 0 is returned. As a special case for zero
- sized containers, classes[0] will be NO_CLASS and 1 is returned.
-
- See the x86-64 PS ABI for details.
-*/
-static int
-classify_argument (ffi_type *type, enum x86_64_reg_class classes[],
- size_t byte_offset)
-{
- switch (type->type)
- {
- case FFI_TYPE_UINT8:
- case FFI_TYPE_SINT8:
- case FFI_TYPE_UINT16:
- case FFI_TYPE_SINT16:
- case FFI_TYPE_UINT32:
- case FFI_TYPE_SINT32:
- case FFI_TYPE_UINT64:
- case FFI_TYPE_SINT64:
- case FFI_TYPE_POINTER:
- {
- int size = byte_offset + type->size;
-
- if (size <= 4)
- {
- classes[0] = X86_64_INTEGERSI_CLASS;
- return 1;
- }
- else if (size <= 8)
- {
- classes[0] = X86_64_INTEGER_CLASS;
- return 1;
- }
- else if (size <= 12)
- {
- classes[0] = X86_64_INTEGER_CLASS;
- classes[1] = X86_64_INTEGERSI_CLASS;
- return 2;
- }
- else if (size <= 16)
- {
- classes[0] = classes[1] = X86_64_INTEGERSI_CLASS;
- return 2;
- }
- else
- FFI_ASSERT (0);
- }
- case FFI_TYPE_FLOAT:
- if (!(byte_offset % 8))
- classes[0] = X86_64_SSESF_CLASS;
- else
- classes[0] = X86_64_SSE_CLASS;
- return 1;
- case FFI_TYPE_DOUBLE:
- classes[0] = X86_64_SSEDF_CLASS;
- return 1;
- case FFI_TYPE_LONGDOUBLE:
- classes[0] = X86_64_X87_CLASS;
- classes[1] = X86_64_X87UP_CLASS;
- return 2;
- case FFI_TYPE_STRUCT:
- {
- const int UNITS_PER_WORD = 8;
- int words = (type->size + UNITS_PER_WORD - 1) / UNITS_PER_WORD;
- ffi_type **ptr;
- int i;
- enum x86_64_reg_class subclasses[MAX_CLASSES];
-
- /* If the struct is larger than 32 bytes, pass it on the stack. */
- if (type->size > 32)
- return 0;
-
- for (i = 0; i < words; i++)
- classes[i] = X86_64_NO_CLASS;
-
- /* Zero sized arrays or structures are NO_CLASS. We return 0 to
- signalize memory class, so handle it as special case. */
- if (!words)
- {
- classes[0] = X86_64_NO_CLASS;
- return 1;
- }
-
- /* Merge the fields of structure. */
- for (ptr = type->elements; *ptr != NULL; ptr++)
- {
- int num;
-
- byte_offset = ALIGN (byte_offset, (*ptr)->alignment);
-
- num = classify_argument (*ptr, subclasses, byte_offset % 8);
- if (num == 0)
- return 0;
- for (i = 0; i < num; i++)
- {
- int pos = byte_offset / 8;
- classes[i + pos] =
- merge_classes (subclasses[i], classes[i + pos]);
- }
-
- byte_offset += (*ptr)->size;
- }
-
- if (words > 2)
- {
- /* When size > 16 bytes, if the first one isn't
- X86_64_SSE_CLASS or any other ones aren't
- X86_64_SSEUP_CLASS, everything should be passed in
- memory. */
- if (classes[0] != X86_64_SSE_CLASS)
- return 0;
-
- for (i = 1; i < words; i++)
- if (classes[i] != X86_64_SSEUP_CLASS)
- return 0;
- }
-
- /* Final merger cleanup. */
- for (i = 0; i < words; i++)
- {
- /* If one class is MEMORY, everything should be passed in
- memory. */
- if (classes[i] == X86_64_MEMORY_CLASS)
- return 0;
-
- /* The X86_64_SSEUP_CLASS should be always preceded by
- X86_64_SSE_CLASS or X86_64_SSEUP_CLASS. */
- if (classes[i] == X86_64_SSEUP_CLASS
- && classes[i - 1] != X86_64_SSE_CLASS
- && classes[i - 1] != X86_64_SSEUP_CLASS)
- {
- /* The first one should never be X86_64_SSEUP_CLASS. */
- FFI_ASSERT (i != 0);
- classes[i] = X86_64_SSE_CLASS;
- }
-
- /* If X86_64_X87UP_CLASS isn't preceded by X86_64_X87_CLASS,
- everything should be passed in memory. */
- if (classes[i] == X86_64_X87UP_CLASS
- && (classes[i - 1] != X86_64_X87_CLASS))
- {
- /* The first one should never be X86_64_X87UP_CLASS. */
- FFI_ASSERT (i != 0);
- return 0;
- }
- }
- return words;
- }
-
- default:
- FFI_ASSERT(0);
- }
- return 0; /* Never reached. */
-}
-
-/* Examine the argument and return set number of register required in each
- class. Return zero iff parameter should be passed in memory, otherwise
- the number of registers. */
-
-static int
-examine_argument (ffi_type *type, enum x86_64_reg_class classes[MAX_CLASSES],
- _Bool in_return, int *pngpr, int *pnsse)
-{
- int i, n, ngpr, nsse;
-
- n = classify_argument (type, classes, 0);
- if (n == 0)
- return 0;
-
- ngpr = nsse = 0;
- for (i = 0; i < n; ++i)
- switch (classes[i])
- {
- case X86_64_INTEGER_CLASS:
- case X86_64_INTEGERSI_CLASS:
- ngpr++;
- break;
- case X86_64_SSE_CLASS:
- case X86_64_SSESF_CLASS:
- case X86_64_SSEDF_CLASS:
- nsse++;
- break;
- case X86_64_NO_CLASS:
- case X86_64_SSEUP_CLASS:
- break;
- case X86_64_X87_CLASS:
- case X86_64_X87UP_CLASS:
- case X86_64_COMPLEX_X87_CLASS:
- return in_return != 0;
- default:
- abort ();
- }
-
- *pngpr = ngpr;
- *pnsse = nsse;
-
- return n;
-}
-
-/* Perform machine dependent cif processing. */
-
-ffi_status
-ffi_prep_cif_machdep (ffi_cif *cif)
-{
- int gprcount, ssecount, i, avn, n, ngpr, nsse, flags;
- enum x86_64_reg_class classes[MAX_CLASSES];
- size_t bytes;
-
- gprcount = ssecount = 0;
-
- flags = cif->rtype->type;
- if (flags != FFI_TYPE_VOID)
- {
- n = examine_argument (cif->rtype, classes, 1, &ngpr, &nsse);
- if (n == 0)
- {
- /* The return value is passed in memory. A pointer to that
- memory is the first argument. Allocate a register for it. */
- gprcount++;
- /* We don't have to do anything in asm for the return. */
- flags = FFI_TYPE_VOID;
- }
- else if (flags == FFI_TYPE_STRUCT)
- {
- /* Mark which registers the result appears in. */
- _Bool sse0 = SSE_CLASS_P (classes[0]);
- _Bool sse1 = n == 2 && SSE_CLASS_P (classes[1]);
- if (sse0 && !sse1)
- flags |= 1 << 8;
- else if (!sse0 && sse1)
- flags |= 1 << 9;
- else if (sse0 && sse1)
- flags |= 1 << 10;
- /* Mark the true size of the structure. */
- flags |= cif->rtype->size << 12;
- }
- }
-
- /* Go over all arguments and determine the way they should be passed.
- If it's in a register and there is space for it, let that be so. If
- not, add it's size to the stack byte count. */
- for (bytes = 0, i = 0, avn = cif->nargs; i < avn; i++)
- {
- if (examine_argument (cif->arg_types[i], classes, 0, &ngpr, &nsse) == 0
- || gprcount + ngpr > MAX_GPR_REGS
- || ssecount + nsse > MAX_SSE_REGS)
- {
- long align = cif->arg_types[i]->alignment;
-
- if (align < 8)
- align = 8;
-
- bytes = ALIGN (bytes, align);
- bytes += cif->arg_types[i]->size;
- }
- else
- {
- gprcount += ngpr;
- ssecount += nsse;
- }
- }
- if (ssecount)
- flags |= 1 << 11;
- cif->flags = flags;
- cif->bytes = ALIGN (bytes, 8);
-
- return FFI_OK;
-}
-
-void
-ffi_call (ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
-{
- enum x86_64_reg_class classes[MAX_CLASSES];
- char *stack, *argp;
- ffi_type **arg_types;
- int gprcount, ssecount, ngpr, nsse, i, avn;
- _Bool ret_in_memory;
- struct register_args *reg_args;
-
- /* Can't call 32-bit mode from 64-bit mode. */
- FFI_ASSERT (cif->abi == FFI_UNIX64);
-
- /* If the return value is a struct and we don't have a return value
- address then we need to make one. Note the setting of flags to
- VOID above in ffi_prep_cif_machdep. */
- ret_in_memory = (cif->rtype->type == FFI_TYPE_STRUCT
- && (cif->flags & 0xff) == FFI_TYPE_VOID);
- if (rvalue == NULL && ret_in_memory)
- rvalue = alloca (cif->rtype->size);
-
- /* Allocate the space for the arguments, plus 4 words of temp space. */
- stack = alloca (sizeof (struct register_args) + cif->bytes + 4*8);
- reg_args = (struct register_args *) stack;
- argp = stack + sizeof (struct register_args);
-
- gprcount = ssecount = 0;
-
- /* If the return value is passed in memory, add the pointer as the
- first integer argument. */
- if (ret_in_memory)
- reg_args->gpr[gprcount++] = (long) rvalue;
-
- avn = cif->nargs;
- arg_types = cif->arg_types;
-
- for (i = 0; i < avn; ++i)
- {
- size_t size = arg_types[i]->size;
- int n;
-
- n = examine_argument (arg_types[i], classes, 0, &ngpr, &nsse);
- if (n == 0
- || gprcount + ngpr > MAX_GPR_REGS
- || ssecount + nsse > MAX_SSE_REGS)
- {
- long align = arg_types[i]->alignment;
-
- /* Stack arguments are *always* at least 8 byte aligned. */
- if (align < 8)
- align = 8;
-
- /* Pass this argument in memory. */
- argp = (void *) ALIGN (argp, align);
- memcpy (argp, avalue[i], size);
- argp += size;
- }
- else
- {
- /* The argument is passed entirely in registers. */
- char *a = (char *) avalue[i];
- int j;
-
- for (j = 0; j < n; j++, a += 8, size -= 8)
- {
- switch (classes[j])
- {
- case X86_64_INTEGER_CLASS:
- case X86_64_INTEGERSI_CLASS:
- reg_args->gpr[gprcount] = 0;
- memcpy (&reg_args->gpr[gprcount], a, size < 8 ? size : 8);
- gprcount++;
- break;
- case X86_64_SSE_CLASS:
- case X86_64_SSEDF_CLASS:
- reg_args->sse[ssecount++] = *(UINT64 *) a;
- break;
- case X86_64_SSESF_CLASS:
- reg_args->sse[ssecount++] = *(UINT32 *) a;
- break;
- default:
- abort();
- }
- }
- }
- }
-
- ffi_call_unix64 (stack, cif->bytes + sizeof (struct register_args),
- cif->flags, rvalue, fn, ssecount);
-}
-
-
-extern void ffi_closure_unix64(void);
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure* closure,
- ffi_cif* cif,
- void (*fun)(ffi_cif*, void*, void**, void*),
- void *user_data,
- void *codeloc)
-{
- volatile unsigned short *tramp;
-
- tramp = (volatile unsigned short *) &closure->tramp[0];
-
- tramp[0] = 0xbb49; /* mov <code>, %r11 */
- *(void * volatile *) &tramp[1] = ffi_closure_unix64;
- tramp[5] = 0xba49; /* mov <data>, %r10 */
- *(void * volatile *) &tramp[6] = codeloc;
-
- /* Set the carry bit iff the function uses any sse registers.
- This is clc or stc, together with the first byte of the jmp. */
- tramp[10] = cif->flags & (1 << 11) ? 0x49f9 : 0x49f8;
-
- tramp[11] = 0xe3ff; /* jmp *%r11 */
-
- closure->cif = cif;
- closure->fun = fun;
- closure->user_data = user_data;
-
- return FFI_OK;
-}
-
-int
-ffi_closure_unix64_inner(ffi_closure *closure, void *rvalue,
- struct register_args *reg_args, char *argp)
-{
- ffi_cif *cif;
- void **avalue;
- ffi_type **arg_types;
- long i, avn;
- int gprcount, ssecount, ngpr, nsse;
- int ret;
-
- cif = closure->cif;
- avalue = alloca(cif->nargs * sizeof(void *));
- gprcount = ssecount = 0;
-
- ret = cif->rtype->type;
- if (ret != FFI_TYPE_VOID)
- {
- enum x86_64_reg_class classes[MAX_CLASSES];
- int n = examine_argument (cif->rtype, classes, 1, &ngpr, &nsse);
- if (n == 0)
- {
- /* The return value goes in memory. Arrange for the closure
- return value to go directly back to the original caller. */
- rvalue = (void *) reg_args->gpr[gprcount++];
- /* We don't have to do anything in asm for the return. */
- ret = FFI_TYPE_VOID;
- }
- else if (ret == FFI_TYPE_STRUCT && n == 2)
- {
- /* Mark which register the second word of the structure goes in. */
- _Bool sse0 = SSE_CLASS_P (classes[0]);
- _Bool sse1 = SSE_CLASS_P (classes[1]);
- if (!sse0 && sse1)
- ret |= 1 << 8;
- else if (sse0 && !sse1)
- ret |= 1 << 9;
- }
- }
-
- avn = cif->nargs;
- arg_types = cif->arg_types;
-
- for (i = 0; i < avn; ++i)
- {
- enum x86_64_reg_class classes[MAX_CLASSES];
- int n;
-
- n = examine_argument (arg_types[i], classes, 0, &ngpr, &nsse);
- if (n == 0
- || gprcount + ngpr > MAX_GPR_REGS
- || ssecount + nsse > MAX_SSE_REGS)
- {
- long align = arg_types[i]->alignment;
-
- /* Stack arguments are *always* at least 8 byte aligned. */
- if (align < 8)
- align = 8;
-
- /* Pass this argument in memory. */
- argp = (void *) ALIGN (argp, align);
- avalue[i] = argp;
- argp += arg_types[i]->size;
- }
- /* If the argument is in a single register, or two consecutive
- integer registers, then we can use that address directly. */
- else if (n == 1
- || (n == 2 && !(SSE_CLASS_P (classes[0])
- || SSE_CLASS_P (classes[1]))))
- {
- /* The argument is in a single register. */
- if (SSE_CLASS_P (classes[0]))
- {
- avalue[i] = &reg_args->sse[ssecount];
- ssecount += n;
- }
- else
- {
- avalue[i] = &reg_args->gpr[gprcount];
- gprcount += n;
- }
- }
- /* Otherwise, allocate space to make them consecutive. */
- else
- {
- char *a = alloca (16);
- int j;
-
- avalue[i] = a;
- for (j = 0; j < n; j++, a += 8)
- {
- if (SSE_CLASS_P (classes[j]))
- memcpy (a, &reg_args->sse[ssecount++], 8);
- else
- memcpy (a, &reg_args->gpr[gprcount++], 8);
- }
- }
- }
-
- /* Invoke the closure. */
- closure->fun (cif, rvalue, avalue, closure->user_data);
-
- /* Tell assembly how to perform return type promotions. */
- return ret;
-}
-
-#endif /* __x86_64__ */
diff --git a/.pc/fix-xfails/testsuite/libffi.call/err_bad_abi.c b/.pc/fix-xfails/testsuite/libffi.call/err_bad_abi.c
deleted file mode 100644
index ce0f3bb..0000000
--- a/.pc/fix-xfails/testsuite/libffi.call/err_bad_abi.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Area: ffi_prep_cif, ffi_prep_closure
- Purpose: Test error return for bad ABIs.
- Limitations: none.
- PR: none.
- Originator: Blake Chaffin 6/6/2007 */
-
-/* { dg-do run { xfail *-*-* } } */
-#include "ffitest.h"
-
-static void
-dummy_fn(ffi_cif* cif __UNUSED__, void* resp __UNUSED__,
- void** args __UNUSED__, void* userdata __UNUSED__)
-{}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- ffi_type* arg_types[1];
-
- arg_types[0] = NULL;
-
- CHECK(ffi_prep_cif(&cif, 255, 0, &ffi_type_void,
- arg_types) == FFI_BAD_ABI);
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 0, &ffi_type_void,
- arg_types) == FFI_OK);
-
- cif.abi= 255;
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, dummy_fn, NULL, code) == FFI_BAD_ABI);
-
- exit(0);
-}
diff --git a/.pc/fix-xfails/testsuite/libffi.call/err_bad_typedef.c b/.pc/fix-xfails/testsuite/libffi.call/err_bad_typedef.c
deleted file mode 100644
index bd2fc54..0000000
--- a/.pc/fix-xfails/testsuite/libffi.call/err_bad_typedef.c
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Area: ffi_prep_cif
- Purpose: Test error return for bad typedefs.
- Limitations: none.
- PR: none.
- Originator: Blake Chaffin 6/6/2007 */
-
-/* { dg-do run { xfail *-*-* } } */
-#include "ffitest.h"
-
-int main (void)
-{
- ffi_cif cif;
- ffi_type* arg_types[1];
-
- arg_types[0] = NULL;
-
- ffi_type badType = ffi_type_void;
-
- badType.size = 0;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 0, &badType,
- arg_types) == FFI_BAD_TYPEDEF);
-
- exit(0);
-}
diff --git a/.pc/fix_maxopt/.timestamp b/.pc/fix_maxopt/.timestamp
deleted file mode 100644
index e69de29..0000000
--- a/.pc/fix_maxopt/.timestamp
+++ /dev/null
diff --git a/.pc/fix_maxopt/ChangeLog b/.pc/fix_maxopt/ChangeLog
deleted file mode 100644
index 178a530..0000000
--- a/.pc/fix_maxopt/ChangeLog
+++ /dev/null
@@ -1,4658 +0,0 @@
-2012-02-10 Kai Tietz <ktietz@redhat.com>
-
- * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
- windows target.
- * configure: Regenerated.
-
-2012-02-08 Kai Tietz <ktietz@redhat.com>
-
- * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
- also FFI_THISCALL.
- * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
- (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
- (ffi_prep_closure_loc): Add FFI_THISCALL support.
- * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
- * src/x86/win32.S (ffi_closure_THISCALL): New closure code
- for thiscall-calling convention.
- * testsuite/libffi.call/closure_thiscall.c: New test.
-
-2012-01-28 Kai Tietz <ktietz@redhat.com>
-
- * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
- argument to prototype for specify calling-convention.
- (ffi_call): Add support for stdcall/thiscall convention.
- (ffi_prep_args): Likewise.
- (ffi_raw_call): Likewise.
- * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
- FFI_FASTCALL.
- * src/x86/win32.S (_ffi_call_win32): Add support for
- fastcall/thiscall calling-convention calls.
- * testsuite/libffi.call/fastthis1_win32.c: New test.
- * testsuite/libffi.call/fastthis2_win32.c: New test.
- * testsuite/libffi.call/fastthis3_win32.c: New test.
- * testsuite/libffi.call/strlen2_win32.c: New test.
- * testsuite/libffi.call/many2_win32.c: New test.
- * testsuite/libffi.call/struct1_win32.c: New test.
- * testsuite/libffi.call/struct2_win32.c: New test.
-
-2012-01-23 Andreas Schwab <schwab@linux-m68k.org>
-
- * src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
- mc68000. Test for __HAVE_68881__ in addition to __MC68881__.
-
-2012-01-19 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/48496
- * src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
-
-2012-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (i?86-*-*): Set TARGET to X86_64.
- * configure: Regenerate.
-
-2011-12-07 Andrew Pinski <apinski@cavium.com>
-
- PR libffi/50051
- * src/mips/n32.S: Add ".set mips4".
-
-2011-11-21 Andreas Tobler <andreast@fgznet.ch>
-
- * configure: Regenerate.
-
-2011-11-10 Richard Henderson <rth@redhat.com>
-
- * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
- * configure, aclocal.m4: Rebuild.
-
-2011-09-04 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/49594
- * src/powerpc/darwin_closure.S (stubs): Make the stub binding
- helper reference track the architecture pointer size.
-
-2011-08-25 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
- instructions.
- * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
-
-2011-07-11 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46660
- * testsuite/libffi.call/cls_double_va.c: xfail dg-output on
- mips-sgi-irix6*.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
- PRId8 instead of %hhu, %hhd.
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
- PRIu8): Define.
- [__sgi__] (PRId8, PRIu8): Define.
-
-2011-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
- Define.
- Use them to handle ELF vs. ECOFF differences.
- [__osf__] (_GLOBAL__F_ffi_call_osf): Define.
-
-2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2011-02-13 Anthony Green <green@moxielogic.com>
-
- * include/ffi_common.h (UNLIKELY, LIKELY): Define.
- * src/x86/ffi64.c (UNLIKELY, LIKELY): Remove definition.
- * src/prep_cif.c (UNLIKELY, LIKELY): Remove definition.
-
- * src/prep_cif.c (initialize_aggregate): Convert assertion into
- FFI_BAD_TYPEDEF return. Initialize arg size and alignment to 0.
-
- * src/pa/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
- just return FFI_BAD_ABI when things are wrong.
- * src/arm/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/powerpc/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/mips/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/ia64/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/avr32/ffi.c (ffi_prep_closure_loc): Ditto.
-
-2011-02-11 Anthony Green <green@moxielogic.com>
-
- * src/sparc/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
- just return FFI_BAD_ABI when things are wrong.
-
-2011-02-09 Stuart Shelton <srcshelton@gmail.com>
-
- http://bugs.gentoo.org/show_bug.cgi?id=286911
- * src/mips/ffitarget.h: Clean up error messages.
- * src/java_raw_api.c (ffi_java_translate_args): Cast raw arg to
- ffi_raw*.
- * include/ffi.h.in: Add pragma for SGI compiler.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * configure.ac: Add powerpc64-*-darwin* support.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * README: Mention Interix.
-
-2011-02-09 Jonathan Callen <abcd@gentoo.org>
-
- * configure.ac: Add Interix to win32/cygwin/mingw case.
- * configure: Ditto.
- * src/closures.c: Treat Interix like Cygwin, instead of as a
- generic win32.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * testsuite/libffi.call/err_bad_typedef.c: Remove xfail.
- * testsuite/libffi.call/err_bad_abi.c: Remove xfail.
- * src/x86/ffi64.c (UNLIKELY, LIKELY): Define.
- (ffi_prep_closure_loc): Check for bad ABI.
- * src/prep_cif.c (UNLIKELY, LIKELY): Define.
- (initialize_aggregate): Check for bad types.
-
-2011-02-09 Landon Fuller <landonf@plausible.coop>
-
- * Makefile.am (EXTRA_DIST): Add build-ios.sh, src/arm/gentramp.sh,
- src/arm/trampoline.S.
- (nodist_libffi_la_SOURCES): Add src/arc/trampoline.S.
- * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Define.
- * src/arm/ffi.c (ffi_trampoline_table)
- (ffi_closure_trampoline_table_page, ffi_trampoline_table_entry)
- (FFI_TRAMPOLINE_CODELOC_CONFIG, FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET)
- (FFI_TRAMPOLINE_COUNT, ffi_trampoline_lock, ffi_trampoline_tables)
- (ffi_trampoline_table_alloc, ffi_closure_alloc, ffi_closure_free):
- Define for FFI_EXEC_TRAMPOLINE_TABLE case (iOS).
- (ffi_prep_closure_loc): Handl FFI_EXEC_TRAMPOLINE_TABLE case
- separately.
- * src/arm/sysv.S: Handle Apple iOS host.
- * src/closures.c: Handle FFI_EXEC_TRAMPOLINE_TABLE case.
- * build-ios.sh: New file.
- * fficonfig.h.in, configure, Makefile.in: Rebuilt.
- * README: Mention ARM iOS.
-
-2011-02-08 Oren Held <orenhe@il.ibm.com>
-
- * src/dlmalloc.c (_STRUCT_MALLINFO): Define in order to avoid
- redefinition of mallinfo on HP-UX.
-
-2011-02-08 Ginn Chen <ginn.chen@oracle.com>
-
- * src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
- aggregate return ABI. Flush cache.
- (ffi_prep_closure_loc): Flush cache.
-
-2011-02-11 Anthony Green <green@moxielogic.com>
-
- From Tom Honermann <tom.honermann@oracle.com>:
- * src/powerpc/aix.S (ffi_call_AIX): Support for xlc toolchain on
- AIX. Declare .ffi_prep_args. Insert nops after branch
- instructions so that the AIX linker can insert TOC reload
- instructions.
- * src/powerpc/aix_closure.S: Declare .ffi_closure_helper_DARWIN.
-
-2011-02-08 Ed <ed@kdtc.net>
-
- * src/powerpc/asm.h: Fix grammar nit in comment.
-
-2011-02-08 Uli Link <ul.mcamafia@linkitup.de>
-
- * include/ffi.h.in (FFI_64_BIT_MAX): Define and use.
-
-2011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46661
- * testsuite/libffi.call/cls_pointer.c (main): Cast void * to
- uintptr_t first.
- * testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
-
-2011-02-08 Rafael Avila de Espindola <respindola@mozilla.com>
-
- * configure.ac: Fix x86 test for pc related relocs.
- * configure: Rebuilt.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
- Handle case when CPU variant does not have long double support.
- * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
- and cores with soft floating point.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * configure.ac: Add mips*-*-rtems* support.
- * configure: Regenerate.
- * src/mips/ffitarget.h: Ensure needed constants are available
- for targets which do not have sgidefs.h.
-
-2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR target/40125
- * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
- * configure: Regenerate.
-
-2010-12-18 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/29152
- PR libffi/42378
- * src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
- (FFI_TRAMPOLINE_SIZE): Update for Darwin64.
- * src/powerpc/darwin.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
- backslashes.
- (libffi_cv_as_string_pseudo_op): Likewise.
- * configure: Regenerate.
-
-2010-12-03 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
- (ffi_closure_VFP): Same.
- (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
- directive.
-
-2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
- (PRIuPTR): Define.
-
-2010-11-29 Richard Henderson <rth@redhat.com>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
- (.eh_frame): Use FDE_ENCODING.
- (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
-
-2010-11-22 Jacek Caban <jacek@codeweavers.com>
-
- * configure.ac: Check for symbol underscores on mingw-w64.
- * configure: Rebuilt.
- * src/x86/win64.S: Correctly access extern symbols in respect to
- underscores.
-
-2010-11-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp: Rename ...
- * testsuite/lib/libffi.exp: ... to this.
- * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
- * libffi/testsuite/libffi.special/special.exp: Likewise.
-
-2010-10-28 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
- code, new parameter, and return value. Update comments.
- (ffi_prep_cif_machdep): Add case for VFP struct return values. Add
- call to layout_vfp_args().
- (ffi_call_SYSV): Update declaration.
- (ffi_call_VFP): New declaration.
- (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
- when ABI is FFI_VFP.
- (ffi_closure_VFP): New declaration.
- (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
- ffi_prep_incoming_args_SYSV().
- (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
- case handling.
- (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
- construction under VFP hard-float.
- (rec_vfp_type_p): New function.
- (vfp_type_p): Same.
- (place_vfp_arg): Same.
- (layout_vfp_args): Same.
- * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
- based on __ARM_PCS_VFP.
- (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
- fields.
- (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
- (FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
- * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
- direct call. Move function pointer load upwards.
- (ffi_call_VFP): New function.
- (ffi_closure_VFP): Same.
-
- * testsuite/lib/libffi-dg.exp (check-flags): New function.
- (dg-skip-if): New function.
- * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
- and compiler options include -mfloat-abi=hard.
- * testsuite/libffi.call/cls_longdouble_va.c: Same.
-
-2010-10-01 Jakub Jelinek <jakub@redhat.com>
-
- PR libffi/45677
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
- a multiple of 8.
- * testsuite/libffi.call/many2.c: New test.
-
-2010-08-20 Mark Wielaard <mjw@redhat.com>
-
- * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
- returns NULL.
-
-2010-08-09 Andreas Tobler <andreast@fgznet.ch>
-
- * configure.ac: Add target powerpc64-*-freebsd*.
- * configure: Regenerate.
- * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
- -mlong-double-128 only to linux targets.
- * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
- * testsuite/libffi.call/cls_longdouble.c: Likewise.
- * testsuite/libffi.call/huge_struct.c: Likewise.
-
-2010-08-05 Dan Witte <dwitte@mozilla.com>
-
- * Makefile.am: Pass FFI_DEBUG define to msvcc.sh for linking to the
- debug CRT when --enable-debug is given.
- * configure.ac: Define it.
- * msvcc.sh: Translate -g and -DFFI_DEBUG appropriately.
-
-2010-08-04 Dan Witte <dwitte@mozilla.com>
-
- * src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64
- platforms.
- * src/x86/ffi.c: Remove redundant ifdef checks.
- * src/prep_cif.c: Push stack space computation into src/x86/ffi.c
- for X86_ANY so return value space doesn't get added twice.
-
-2010-08-03 Neil Rashbrooke <neil@parkwaycc.co.uk>
-
- * msvcc.sh: Don't pass -safeseh to ml64 because behavior is buggy.
-
-2010-07-22 Dan Witte <dwitte@mozilla.com>
-
- * src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
- * src/prep_cif.c: Fix ABI assertion.
- * src/cris/ffi.c: Ditto.
-
-2010-07-10 Evan Phoenix <evan@fallingsnow.net>
-
- * src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
-
-2010-07-07 Dan Horák <dan@danny.cz>
-
- * include/ffi.h.in: Protect #define with #ifndef.
- * src/powerpc/ffitarget.h: Ditto.
- * src/s390/ffitarget.h: Ditto.
- * src/sparc/ffitarget.h: Ditto.
-
-2010-07-07 Neil Roberts <neil@linux.intel.com>
-
- * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
- 16-bytes.
-
-2010-07-02 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
- * Makefile.in: Regenerated.
-
-2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
- output, too.
- (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
- (libffi_cv_as_string_pseudo_op): Check for .string.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
-
-2010-05-11 Dan Witte <dwitte@mozilla.com>
-
- * doc/libffi.tex: Document previous change.
-
-2010-05-11 Makoto Kato <m_kato@ga2.so-net.ne.jp>
-
- * src/x86/ffi.c (ffi_call): Don't copy structs passed by value.
-
-2010-05-05 Michael Kohler <michaelkohler@live.com>
-
- * src/dlmalloc.c (dlfree): Fix spelling.
- * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
- * configure.ac: Ditto.
- * configure: Rebuilt.
-
-2010-04-13 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Build with -W3 instead of -Wall.
- * src/powerpc/ffi_darwin.c: Remove build warnings.
- * src/x86/ffi.c: Ditto.
- * src/x86/ffitarget.h: Ditto.
-
-2010-04-12 Dan Witte <dwitte@mozilla.com>
- Walter Meinl <wuno@lsvw.de>
-
- * configure.ac: Add OS/2 support.
- * configure: Rebuilt.
- * src/closures.c: Ditto.
- * src/dlmalloc.c: Ditto.
- * src/x86/win32.S: Ditto.
-
-2010-04-07 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
-
-2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2010-03-30 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Disable build warnings.
- * README (tested): Clarify windows build procedure.
-
-2010-03-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * libffi/src/x86/unix64.S (.eh_frame)
- [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
-
-2010-03-14 Matthias Klose <doko@ubuntu.com>
-
- * src/x86/ffi64.c: Fix typo in comment.
- * src/x86/ffi.c: Use /* ... */ comment style.
-
-2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/libffi.texi (The Closure API): Fix typo.
- * doc/libffi.info: Remove.
-
-2010-02-15 Matthias Klose <doko@ubuntu.com>
-
- * src/arm/sysv.S (__ARM_ARCH__): Define for processor
- __ARM_ARCH_7EM__.
-
-2010-01-15 Anthony Green <green@redhat.com>
-
- * README: Add notes on building with Microsoft Visual C++.
-
-2010-01-15 Daniel Witte <dwitte@mozilla.com>
-
- * msvcc.sh: New file.
-
- * src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
- * src/x86/ffi.c: Tweak function declaration and remove excess
- parens.
- * include/ffi.h.in: Add __declspec(align(8)) to typedef struct
- ffi_closure.
-
- * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
- function ffi_call_win32 on X86_WIN32.
- * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
- (ffi_call_STDCALL): Remove.
-
- * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
- to ffi_prep_cif_machdep for x86.
- * src/x86/ffi.c (ffi_prep_cif_machdep): To here.
-
-2010-01-15 Oliver Kiddle <okiddle@yahoo.co.uk>
-
- * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
- Sun Studio compiler compatibility.
-
-2010-01-12 Conrad Irwin <conrad.irwin@gmail.com>
-
- * doc/libffi.texi: Add closure example.
-
-2010-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40701
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
- PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
- * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
- alpha*-dec-osf*.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/return_ll1.c: Likewise.
- * testsuite/libffi.call/stret_medium2.c: Likewise.
- * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
- MAP_FAILED to char *.
-
-2010-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
-
-2009-12-31 Anthony Green <green@redhat.com>
-
- * README: Update for libffi 3.0.9.
-
-2009-12-27 Matthias Klose <doko@ubuntu.com>
-
- * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
- appropriate.
- * configure: Rebuilt.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
- avr32*-*-*.
- * testsuite/libffi.call/cls_double_va.c: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
- and inttypes.h.
- * testsuite/libffi.special/unwindtest.cc: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-openbsd*.
- * configure: Rebuilt.
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
- openbsd programs with -lpthread.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
- mips*-*-* and arm*-*-*.
- * testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c,
- testsuite/libffi.call/stret_medium2.c,
- testsuite/libffi.call/stret_medium.c,
- testsuite/libffi.call/stret_large.c,
- testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
-
-2009-12-31 Kay Tietz <ktietz70@googlemail.com>
-
- * testsuite/libffi.call/ffitest.h,
- testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
- definitions.
-
-2009-12-31 Carlo Bramini <carlo.bramix@libero.it>
-
- * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
- * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
-
-2009-12-31 Anthony Green <green@redhat.com>
- Blake Chaffin.
-
- * testsuite/libffi.call/huge_struct.c: New test case from Blake
- Chaffin @ Apple.
-
-2009-12-28 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
- local variables.
- (aix_adjust_aggregate_sizes): New function.
- (ffi_prep_cif_machdep): Call it.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
- * configure: Regenerate.
- * fficonfig.h.in: Likewise.
- * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
- Solaris/x86.
-
-2009-12-26 Andreas Schwab <schwab@linux-m68k.org>
-
- * 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.
-
-2009-12-25 Matthias Klose <doko@ubuntu.com>
-
- * man/ffi_call.3: Fix #include in examples.
- * doc/libffi.texi: Add dircategory.
-
-2009-12-25 Frank Everdij <f.p.x.everdij@tudelft.nl>
-
- * include/ffi.h.in: Placed '__GNUC__' ifdef around
- '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
- IRIX MIPSPro c99.
- * include/ffi_common.h: Added '__sgi' define to non
- '__attribute__((__mode__()))' integer typedefs.
- * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
- ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
- (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
- FFI_LONGDOUBLE support and alignment(N32 only).
- * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
- fixed non '__attribute__((__mode__()))' integer typedefs.
- * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
- since they are Linux/GNU Assembler specific.
-
-2009-12-25 Bradley Smith <brad@brad-smith.co.uk>
-
- * configure.ac, Makefile.am, src/avr32/ffi.c,
- src/avr32/ffitarget.h,
- src/avr32/sysv.S: Add AVR32 port.
- * configure, Makefile.in: Rebuilt.
-
-2009-12-21 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
- * configure: Regenerate.
-
-2009-12-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
- type on HP-UX.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
- double' arguments.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40700
- * src/closures.c [X86_64 && __sun__ && __svr4__]
- (FFI_MMAP_EXEC_WRIT): Define.
-
-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.
-
-2009-12-07 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
- typo.
-
-2009-12-05 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
- code.
- * src/powerpc/aix_closure.S: Same.
-
-2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
- linux64_closure.S.
-
-2009-12-04 Uros Bizjak <ubizjak@gmail.com>
-
- 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.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
- pfr for long double split between fpr13 and stack.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
- fparg_count twice for long double.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- PR libffi/42243
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03 Uros Bizjak <ubizjak@gmail.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
- Remove xfails for x86 linux targets.
-
-2009-12-02 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
- case.
-
-2009-12-01 David Edelsohn <edelsohn@gnu.org>
-
- * 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.
-
-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.
-
-2009-11-02 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/41908
- * testsuite/libffi.call/testclosure.c: New test.
-
-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.
-
-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.
-
-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.
-
-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.
-
-2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.am (install-html, install-pdf): Remove.
- * Makefile.in: Regenerate.
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24 Dave Korn <dave.korn.cygwin@gmail.com>
-
- 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.
-
-2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
-
- 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.
-
-2009-07-01 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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 "".)
-
-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.
-
-2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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.
-
-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.
-
-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.
-
-2009-06-16 Andrew Haley <aph@redhat.com>
-
- * configure.ac (TARGETDIR): Add missing blank lines.
- * configure: Regenerate.
-
-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.
-
-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.
-
-2009-06-12 Andrew Haley <aph@redhat.com>
-
- * Makefile.am: Remove info_TEXINFOS.
-
-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-11 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * 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.
-
-2009-06-09 Andrew Haley <aph@redhat.com>
-
- * src/x86/freebsd.S: Add missing file.
-
-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).
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * README: Import from libffi 3.0.8.
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Add xfails.
- * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
- * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
- * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
- * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
- * testsuite/libffi.call/stret_medium.c: Likewise.
- * testsuite/libffi.call/stret_large2.c: Likewise.
- * testsuite/libffi.call/stret_large.c: Likewise.
-
-2008-12-26 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_align_longdouble.c,
- testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
- failures on x86_64 cygwin/mingw.
-
-2008-12-22 Timothy Wall <twall@users.sf.net>
-
- * 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_loc_fn0.c,
- testsuite/libffi.call/closure_stdcall.c,
- testsuite/libffi.call/cls_align_pointer.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
- pointer to integer (intptr_t).
- * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_dbls_struct.c,
- testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c,
- testsuite/libffi.call/err_bad_abi.c: Clean up failures from
- compiler warnings.
-
-2008-03-04 Anthony Green <green@redhat.com>
- Blake Chaffin
- hos@tamanegi.org
-
- * testsuite/libffi.call/cls_align_longdouble_split2.c
- testsuite/libffi.call/cls_align_longdouble_split.c
- testsuite/libffi.call/cls_dbls_struct.c
- testsuite/libffi.call/cls_double_va.c
- testsuite/libffi.call/cls_longdouble.c
- testsuite/libffi.call/cls_longdouble_va.c
- testsuite/libffi.call/cls_pointer.c
- testsuite/libffi.call/cls_pointer_stack.c
- testsuite/libffi.call/err_bad_abi.c
- testsuite/libffi.call/err_bad_typedef.c
- testsuite/libffi.call/stret_large2.c
- testsuite/libffi.call/stret_large.c
- testsuite/libffi.call/stret_medium2.c
- testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
- libffi.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
- stdcall changes.
-
-2008-02-26 Anthony Green <green@redhat.com>
- Thomas Heller <theller@ctypes.org>
-
- * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
- comment.
-
-2008-02-03 Timothy Wall <twall@users.sf.net>
-
- * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
- offset based on code pointer, not data pointer.
-
-2008-01-31 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
- closures.
- * src/x86/ffitarget.h: Increase size of trampoline for stdcall
- closures.
- * src/x86/win32.S: Add assembly for stdcall closure.
- * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Change void (*)() to void (*)(void).
- * src/x86/ffi.c: Likewise.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ppc_closure.S: Insert licence header.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/m68k/sysv.S: Likewise.
-
- * src/sh64/ffi.c: Change void (*)() to void (*)(void).
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/m32r/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi64.c: Likewise.
- * src/alpha/ffi.c: Likewise.
- * src/alpha/osf.S: Likewise.
- * src/frv/ffi.c: Likewise.
- * src/s390/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/pa/hpux32.S: Likewise.
- * src/ia64/unix.S: Likewise.
- * src/ia64/ffi.c: Likewise.
- * src/sparc/ffi.c: Likewise.
- * src/mips/ffi.c: Likewise.
- * src/sh/ffi.c: Likewise.
-
-2008-02-15 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
- Define (conditionally), and use it to include cachectl.h.
- (ffi_prep_closure_loc): Fix cache flushing.
- * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- include/ffi.h.in,
- src/arm/ffitarget.h,
- src/arm/ffi.c,
- src/arm/sysv.S,
- src/powerpc/ffitarget.h,
- src/closures.c,
- src/sh64/ffitarget.h,
- src/sh64/ffi.c,
- src/sh64/sysv.S,
- src/types.c,
- src/x86/ffi64.c,
- src/x86/ffitarget.h,
- src/x86/win32.S,
- src/x86/darwin.S,
- src/x86/ffi.c,
- src/x86/sysv.S,
- src/x86/unix64.S,
- src/alpha/ffitarget.h,
- src/alpha/ffi.c,
- src/alpha/osf.S,
- src/m68k/ffitarget.h,
- src/frv/ffitarget.h,
- src/frv/ffi.c,
- src/s390/ffitarget.h,
- src/s390/sysv.S,
- src/cris/ffitarget.h,
- src/pa/linux.S,
- src/pa/ffitarget.h,
- src/pa/ffi.c,
- src/raw_api.c,
- src/ia64/ffitarget.h,
- src/ia64/unix.S,
- src/ia64/ffi.c,
- src/ia64/ia64_flags.h,
- src/java_raw_api.c,
- src/debug.c,
- src/sparc/v9.S,
- src/sparc/ffitarget.h,
- src/sparc/ffi.c,
- src/sparc/v8.S,
- src/mips/ffitarget.h,
- src/mips/n32.S,
- src/mips/o32.S,
- src/mips/ffi.c,
- src/prep_cif.c,
- src/sh/ffitarget.h,
- src/sh/ffi.c,
- src/sh/sysv.S: Update license text.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * src/x86/win32.S (_ffi_closure_STDCALL): New function.
- (.eh_frame): Add FDE for it.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * configure.ac: Also check if assembler supports pc-relative
- relocs on X86_WIN32 targets.
- * configure: Regenerate.
- * src/x86/win32.S (ffi_prep_args): Declare extern, not global.
- (_ffi_call_SYSV): Add missing function type symbol .def and
- add EH markup labels.
- (_ffi_call_STDCALL): Likewise.
- (_ffi_closure_SYSV): Likewise.
- (_ffi_closure_raw_SYSV): Likewise.
- (.eh_frame): Add hand-crafted EH data.
-
-2009-04-09 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
- version 3 of the GNU General Public License and to point readers
- at the COPYING3 file and the FSF's license web page.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-12-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libffi/26048
- * configure.ac (HAVE_AS_X86_PCREL): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
- RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
- RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
- * src/x86/unix64.S (.Lstore_table): Move to .text section.
- (.Lload_table): Likewise.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
- signed/unsigned int8/16 return values.
- * src/sparc/v8.S (ffi_call_v8): Likewise.
- (ffi_closure_v8): Likewise.
-
-2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
- Steve Ellcey <sje@cup.hp.com>
-
- * configure: Regenerate for new libtool.
- * Makefile.in: Ditto.
- * include/Makefile.in: Ditto.
- * aclocal.m4: Ditto.
-
-2008-08-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
- FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
- Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
- Adjust copyright notice.
- * src/powerpc/ffi.c: Add two new flags to indicate if we have one
- register or two register to use for FFI_SYSV structs.
- (ffi_prep_cif_machdep): Pass the right register flag introduced above.
- (ffi_closure_helper_SYSV): Fix the return type for
- FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
- Adjust copyright notice.
-
-2008-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
- int.
-
-2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2008-06-07 Joseph Myers <joseph@codesourcery.com>
-
- * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
- powerpc-*-beos*): Remove.
- * configure: Regenerate.
-
-2008-05-09 Julian Brown <julian@codesourcery.com>
-
- * Makefile.am (LTLDFLAGS): New.
- (libffi_la_LDFLAGS): Use above.
- * Makefile.in: Regenerate.
-
-2008-04-18 Paolo Bonzini <bonzini@gnu.org>
-
- PR bootstrap/35457
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2008-03-26 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add .note.GNU-stack on Linux.
- * src/sh64/sysv.S: Likewise.
-
-2008-03-26 Daniel Jacobowitz <dan@debian.org>
-
- * src/arm/sysv.S: Fix ARM comment marker.
-
-2008-03-26 Jakub Jelinek <jakub@redhat.com>
-
- * src/alpha/osf.S: Add .note.GNU-stack on Linux.
- * src/s390/sysv.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
- * src/x86/unix64.S: Likewise.
- * src/x86/sysv.S: Likewise.
- * src/sparc/v8.S: Likewise.
- * src/sparc/v9.S: Likewise.
- * src/m68k/sysv.S: Likewise.
- * src/arm/sysv.S: Likewise.
-
-2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * aclocal.m4: Regenerate.
- * configure: Likewise.
- * Makefile.in: Likewise.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2008-02-12 Bjoern Koenig <bkoenig@alpha-tierchen.de>
- Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-freebsd* target.
- * configure: Regenerate.
-
-2008-01-30 H.J. Lu <hongjiu.lu@intel.com>
-
- PR libffi/34612
- * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
- returning struct.
-
- * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
- tests.
-
-2008-01-24 David Edelsohn <edelsohn@gnu.org>
-
- * configure: Regenerate.
-
-2008-01-06 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
-
-2008-01-05 Andreas Tobler <a.tobler@schweiz.org>
-
- PR testsuite/32843
- * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
- signed/unsigned int8/16 for X86_DARWIN.
- Updated copyright info.
- Handle one and two byte structs with special cif->flags.
- * src/x86/ffitarget.h: Add special types for one and two byte structs.
- Updated copyright info.
- * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
- sysv.S
- Remove code to pop args from the stack after call.
- Special-case signed/unsigned for int8/16, one and two byte structs.
- (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
- FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
- FFI_TYPE_SINT32.
- Updated copyright info.
-
-2007-12-08 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_call_N32): Replace dadd with ADDU, dsub with
- SUBU, add with ADDU and use smaller code sequences.
-
-2007-12-07 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
- type.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
- defined.
- (ffi_java_raw): New typedef.
- (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
- ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
- ffi_java_raw.
- (ffi_java_raw_closure) : Same.
- (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
- parameter types.
- * src/java_raw_api.c (ffi_java_raw_size): Replace FFI_SIZEOF_ARG with
- FFI_SIZEOF_JAVA_RAW.
- (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
- Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
- sizeof(ffi_java_raw) for alignment calculations.
- (ffi_java_ptrarray_to_raw): Same.
- (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
- if FFI_SIZEOF_JAVA_RAW == 4.
- (ffi_java_raw_to_rvalue): Same.
- (ffi_java_raw_call): Change type of raw to ffi_java_raw.
- (ffi_java_translate_args): Same.
- (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
- parameter types.
- * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
- pointer values.
-
-2007-12-01 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/31937
- * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
- Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
- * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
- set the NUM_FPR_ARG_REGISTERS according to.
- Add support for potential soft-float support under hard-float
- architecture.
- (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
- FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
- to the FFI_LINUX_SOFT_FLOAT ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Make sure not to store float/double
- on archs where __NO_FPRS__ is true.
- Add FFI_TYPE_UINT128 support.
- * src/powerpc/sysv.S: Add support for soft-float long-double-128.
- Adjust copyright notice.
-
-2007-11-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
- * include/ffi_common.h: ... here.
- Update copyright.
-
-2007-11-17 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
- * testsuite/libffi.call/return_ldl.c: New test.
-
-2007-09-04 <aph@redhat.com>
-
- * src/arm/sysv.S (UNWIND): New.
- (Whole file): Conditionally compile unwinder directives.
- * src/arm/sysv.S: Add unwinder directives.
-
- * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
- Only treat r0 as a struct address if we're actually returning a
- struct by address.
- Only copy the bytes that are actually within a struct.
- (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
- is returned in r0, not passed by address.
- (ffi_call): Allocate a word-sized temporary for the case where
- a composite is returned in r0.
- (ffi_prep_incoming_args_SYSV): Align as necessary.
-
-2007-08-05 Steven Newbury <s_j_newbury@yahoo.co.uk>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
- directly using the sys_cacheflush syscall.
-
-2007-07-27 Andrew Haley <aph@redhat.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
-
-2007-09-03 Maciej W. Rozycki <macro@linux-mips.org>
-
- * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure: Likewise.
-
-2007-08-24 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/return_sl.c: New test.
-
-2007-08-10 David Daney <ddaney@avtrex.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/nested_struct5.c,
- testsuite/libffi.call/cls_double.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/nested_struct.c,
- testsuite/libffi.call/cls_2byte.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_sint16.c,
- testsuite/libffi.call/cls_align_uint32.c,
- testsuite/libffi.call/cls_20byte.c,
- testsuite/libffi.call/cls_float.c,
- testsuite/libffi.call/nested_struct2.c,
- testsuite/libffi.call/cls_5_1_byte.c,
- testsuite/libffi.call/nested_struct4.c,
- testsuite/libffi.call/cls_24byte.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: Remove xfail for mips64*-*-*.
-
-2007-08-10 David Daney <ddaney@avtrex.com>
-
- 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.
-
-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*.
- * 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.
-
-2006-12-13 Andreas Tobler <a.tobler@schweiz.org>
-
- * aclocal.m4: Regenerate with aclocal -I .. as written in the
- Makefile.am.
-
-2006-10-31 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
- (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
- Darwin.
- * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
- * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10 Paolo Bonzini <bonzini@gnu.org>
- Sandro Tolaini <tolaini@libero.it>
-
- * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
- conditional.
- * configure: Regenerated.
- * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
- (EXTRA_DIST): Add src/x86/darwin.S.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
- X86_WIN32, and additionally align stack to 16 bytes.
- * src/x86/darwin.S: New, based on sysv.S.
- * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12 David Daney <ddaney@avtrex.com>
-
- PR libffi/23935
- * include/Makefile.am: Install both ffi.h and ffitarget.h in
- $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
- * aclocal.m4: Regenerated for automake 1.9.6.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
-2006-08-17 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h: Remove lint directives.
- * include/ffi.h.in: Likewise.
-
-2006-07-25 Torsten Schoenfeld <kaffeetisch@gmx.de>
-
- * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
- for 32-bit architectures.
- * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
- xfail remains for mips64.
-
-2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
-
- * Makefile.am: Add install-html target. Add install-html to .PHONY
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
- stack slot.
-
-2006-04-22 Andreas Tobler <a.tobler@schweiz.ch>
-
- * README: Remove notice about 'Crazy Comments'.
- * src/debug.c: Remove lint directives. Cleanup white spaces.
- * src/java_raw_api.c: Likewise.
- * src/prep_cif.c: Likewise.
- * src/raw_api.c: Likewise.
- * src/ffitest.c: Delete. No longer needed, all test cases migrated
- to the testsuite.
- * src/arm/ffi.c: Remove lint directives.
- * src/m32r/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/sh/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/pa/hpux32.S: Correct unwind offset calculation for
- ffi_closure_pa32.
- * src/pa/linux.S: Likewise.
-
-2006-04-12 James E Wilson <wilson@specifix.com>
-
- PR libgcj/26483
- * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
- (hfa_type_load): Call stf_spill.
- (hfa_type_store): Call ldf_fill.
- (ffi_call): Adjust calls to above routines. Add local temps for
- macro result.
-
-2006-04-10 Matthias Klose <doko@debian.org>
-
- * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
- directory names containing underscores.
-
-2006-04-07 James E Wilson <wilson@specifix.com>
-
- * testsuite/libffi.call/float4.c: New testcase.
-
-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.
-
-2006-03-24 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Default
- for 32-bit using IBM extended double format. Fix FFI_LAST_ABI.
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
- FFI_TYPE_LONGDOUBLE.
- (ffi_prep_args64): Assert using IBM extended double.
- (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
- Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
- (ffi_call): Handle FFI_LINUX.
- (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
- gpr3 return pointer as for struct return. Handle FFI_LINUX
- FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf"
- unnecessarily.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
- for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table.
- Don't use r6 as pointer to results, instead use sp offset. Don't
- make a special call to load lr with case table address, instead
- use offset from previous call.
- * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
- return.
-
-2006-03-15 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
- passed with FP registers correctly.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S: Likewise.
-
-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.
-
-2006-02-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
- -O2, -O3, -Os and the warning flags -W -Wall.
- * testsuite/libffi.special/special.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
- unused parameter unused for gcc or else do nothing.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
- * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
- * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
- * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
- * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
- * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
- * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
- * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
- * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
- void* to avoid compiler warning.
- (main): Likewise.
- (cls_struct_align_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
- * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
- * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
- userdata unused.
- (cls_ret_schar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
- userdata unused.
- (cls_ret_sint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
- userdata unused.
- (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn): Mark cif and
- userdata unused.
- (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
- userdata unused.
- (cls_ret_uint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
- userdata unused.
- (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
- * testsuite/libffi.call/float1.c (main): Remove unused variable i.
- Cleanup white spaces.
- * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
- * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
- cif and userdata unused.
- * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
- Likewise.
- * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
- formatters to silence gcc.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct4.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct6.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
- * testsuite/libffi.call/problem1.c (stub): Likewise.
- * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
- gcc.
- * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
- in the last commit for this test case in the test case itself.
- * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
- unused.
- * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
- * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
- * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
- * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
- * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
- * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Fix register numbers in the FDE for
- ffi_closure_SYSV.
-
-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.
-
-2006-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
- and cast integer to void * if needed. Update the pointer to
- the FP register saved area correctly.
-
-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.
-
-2006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/return_dbl.c: New test case.
- * testsuite/libffi.call/return_dbl1.c: Likewise.
- * testsuite/libffi.call/return_dbl2.c: Likewise.
- * testsuite/libffi.call/return_fl.c: Likewise.
- * testsuite/libffi.call/return_fl1.c: Likewise.
- * testsuite/libffi.call/return_fl2.c: Likewise.
- * testsuite/libffi.call/return_fl3.c: Likewise.
- * testsuite/libffi.call/closure_fn6.c: Likewise.
-
- * 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.
-
-2006-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.ac: Enable libffi for sparc64-*-freebsd*.
- * configure: Rebuilt.
-
-2006-01-18 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
- instead do the shifting inline.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
- shift count unconditionally. Simplify load sequences for 1, 2, 3, 4
- and 8 byte structs, for the remaining struct sizes don't call
- __lshrdi3, instead do the shifting inline.
-
-2005-12-07 Thiemo Seufer <ths@networkno.de>
-
- * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
- missing parentheses.
- * src/mips/o32.S (ffi_call_O32): Code formatting. Define
- and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
- (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
- A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
- V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
- FA_0_0_OFF2.
- * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
- endianness bugs.
- (ffi_prep_closure): Improve trampoline instruction scheduling.
- (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c: Formatting.
- (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
- (ffi_prep_args64): Likewise.
-
-2005-09-30 Geoffrey Keating <geoffk@apple.com>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
- darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26 Tom Tromey <tromey@redhat.com>
-
- * 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.
-
-2005-08-25 Alan Modra <amodra@bigpond.net.au>
-
- PR target/23404
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
- homed fp args.
- (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11 Jakub Jelinek <jakub@redhat.com>
-
- * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
- (AH_BOTTOM): Add FFI_HIDDEN definition.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * src/powerpc/ffi.c (hidden): Remove.
- (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
- ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
- .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
- * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
- add FFI_HIDDEN to its prototype.
- (ffi_closure_SYSV_inner): New.
- * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
- * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10 Alfred M. Szmidt <ams@gnu.org>
-
- PR libffi/21819:
- * configure: Rebuilt.
- * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
- DW_CFA_offset_extended_sf rather than
- DW_CFA_GNU_negative_offset_extended.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
-
- * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
- on sh3.
- (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
- * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
- partially on register.
- (ffi_closure_helper_SYSV): Likewise.
- (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_call): Handle small structures correctly.
- Remove empty line.
- * src/sh64/ffi.c (simple_type): Remove.
- (return_type): Handle small structures correctly.
- (ffi_prep_args): Likewise.
- (ffi_call): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
- Emit position independent code if PIC and remove wrong datalabel
- prefixes from EH data.
-
-2005-07-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure.ac: Add POWERPC_FREEBSD rules.
- * configure: Regenerate.
- * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
- (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
- * src/powerpc/ffi.c: Add flags to handle small structure returns
- in ffi_call_SYSV.
- (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
- Aka FFI_SYSV.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Add return types for small structures.
- * src/powerpc/sysv.S: Add bits to handle small structures for
- final SYSV 4 ABI.
-
-2005-07-10 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_5_1_byte.c: New test file.
- * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05 Randolph Chung <tausq@debian.org>
-
- * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
- as FFI_TYPE_SMALL_STRUCT3. Break out handling for 5-7 byte
- structures. Kill compilation warnings.
- (ffi_closure_inner_LINUX): Print return values as hex in debug
- message. Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
- Properly handle 5-7 byte structure returns.
- * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
- (FFI_TYPE_SMALL_STRUCT2): Remove.
- (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
- (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
- * src/pa/linux.S: Mark source file as using PA1.1 assembly.
- (checksmst1, checksmst2): Remove.
- (checksmst3): Optimize handling of 3-byte struct returns.
- (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libgcj/21943
- * src/mips/n32.S: Enforce PIC code.
- * src/mips/o32.S: Likewise.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
- * configure: Regenerate.
-
-2005-06-01 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
- to call ffi_closure_helper_SYSV. Append @local instead.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
- Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
- * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
- * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
- include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-05-08 Richard Henderson <rth@redhat.com>
-
- PR libffi/21285
- * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04 Andreas Degert <ad@papyrus-gmbh.de>
- Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
- bit 11 of flags.
- (ffi_call): Mask return type field. Pass ssecount to ffi_call_unix64.
- (ffi_prep_closure): Set carry bit if sse-used flag set.
- * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
- Only load sse registers if ssecount non-zero.
- (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
- powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
- * configure: Regenerate.
-
-2005-04-20 Hans-Peter Nilsson <hp@axis.com>
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
- have Tcl8.3-compatible intermediate variable.
-
-2005-04-18 Simon Posnjak <simon.posnjak@siol.net>
- Hans-Peter Nilsson <hp@axis.com>
-
- * Makefile.am: Add CRIS support.
- * configure.ac: Likewise.
- * Makefile.in, configure, testsuite/Makefile.in,
- include/Makefile.in: Regenerate.
- * src/cris: New directory.
- * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
- * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
- \r?\n in output tests.
-
-2005-04-12 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-03-30 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30 Steve Ellcey <sje@cup.hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
- (ffi_sarg) Ditto.
- * src/ia64/unix.S (ffi_closure_unix): Extend gp
- to 64 bits in ILP32 mode.
- Load 64 bits even for short data.
-
-2005-03-23 Mike Stump <mrs@apple.com>
-
- * src/powerpc/darwin.S: Update for -m64 multilib.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21 Zack Weinberg <zack@codesourcery.com>
-
- * 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.
-
-2005-02-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
- odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR libffi/20104
- * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11 Janis Johnson <janis187@us.ibm.com>
-
- * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
- * testsuite/libffi.call/float.c: Ditto.
- * testsuite/libffi.call/float2.c: Ditto.
- * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * testsuite/libffi.special/special.exp (cxx_options): Add
- -shared-libgcc.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
- (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
- offset parameters with a type parameter; deduce size and structure
- alignment. Update all users.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
- (FFI_TYPE_LONGDOUBLE): Fix for ia64.
- * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
- into ffi_prep_closure.
- * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
- from scratch.
-
-2004-12-27 Richard Henderson <rth@redhat.com>
-
- * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25 Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
- (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
- (merge_classes): Check for it.
- (SSE_CLASS_P): New.
- (classify_argument): Pass byte_offset by value; perform all updates
- inside struct case.
- (examine_argument): Add classes argument; handle
- X86_64_COMPLEX_X87_CLASS.
- (ffi_prep_args): Merge into ...
- (ffi_call): ... here. Share stack frame with ffi_call_unix64.
- (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
- (ffi_fill_return_value): Remove.
- (ffi_prep_closure): Remove dead assert.
- (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
- Rewrite to use struct register_args instead of va_list. Create
- flags for handling structure returns.
- * src/x86/unix64.S: Remove dead strings.
- (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share
- stack frame with ffi_call. Handle structure returns properly.
- (float2sse, floatfloat2sse, double2sse): Remove.
- (sse2float, sse2double, sse2floatfloat): Remove.
- (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite
- to handle structure returns properly.
-
-2004-12-08 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
- PICFLAG.
- * Makefile.in: Regenerated.
-
-2004-12-02 Richard Sandiford <rsandifo@redhat.com>
-
- * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
- * configure, aclocal.m4, Makefile.in: Regenerate.
- * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-25 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool reversion.
-
-2004-11-24 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23 Richard Sandiford <rsandifo@redhat.com>
-
- * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
- of jal. Use an absolute encoding for the frame information.
-
-2004-11-23 Kelley Cook <kcook@gcc.gnu.org>
-
- * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS.
- * acinclude.m4: Delete logic for sincludes.
- * aclocal.m4, Makefile.in, configure: Regenerate.
- * include/Makefile: Likewise.
- * testsuite/Makefile: Likewise.
-
-2004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
- on a 8-byte boundary.
- * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
- long long values. Round stack allocation to a multiple of 8 bytes
- for ATPCS compatibility.
- * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
- names. Handle returning long long types. Add Thumb and interworking
- support. Improve soft-float code.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
- (libffi_exit): New function.
- (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR other/18138
- * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
- * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
- the function returning a structure pointed with R2.
- * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
- the structure return value if T bit set. Emit position
- independent code and EH data if PIC.
-
-2004-10-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * Makefile.am: Add m32r support.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * confiugre: Regenerate.
- * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
- (uint64, sint64, double, longdouble)
- * src/m32r: New directory.
- * src/m32r/ffi.c: New file.
- * src/m32r/sysv.S: Likewise.
- * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * testsuite/libffi.call/negint.c: New test case.
-
-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.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/many_win32.c: Remove whitespaces.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
- whitespaces.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Fix comments and identation.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
- (ffi_prep_args): Handle longdouble arguments.
- (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
- longdouble.
- (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
- * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
- values.
- * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
- * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/aix.S: Remove whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
- * src/powerpc/asm.h: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffitarget.h: Likewise.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
-
-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.in: Read configure.host.
- * 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 shouldn't 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.
-
-2004-08-24 David Daney <daney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
- to zero.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23 David Daney <daney@avtrex.com>
-
- PR libgcj/13141
- * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
- * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
- (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
- parameters and return types.
- (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
- (ffi_prep_closure): Ditto.
- (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
- alignment calculations.
- * src/mips/o32.S (ffi_closure_O32): Don't use floating point
- instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14 Casey Marshall <csm@gnu.org>
-
- * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
- contain `FFI_TYPE_UINT64' as return type for any 64-bit
- integer (O32 ABI only).
- (ffi_prep_closure): new function.
- (ffi_closure_mips_inner_O32): new function.
- * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
- `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
- * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
- 64 bit integers correctly.
- (ffi_closure_O32): new function.
- Added DWARF-2 unwind info for both functions.
-
-2004-08-10 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01 Robert Millan <robertmh@gnu.org>
-
- * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
- * configure: Regenerate.
-
-2004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
-
- * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
- and mmap() explicitly instead of relying on preset autoconf cache
- variables.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
- (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
- character on Darwin, use '\n\t' instead.
-
-2004-06-26 Matthias Klose <doko@debian.org>
-
- * libtool-version: Fix typo in revision/age.
-
-2004-06-17 Matthias Klose <doko@debian.org>
-
- * libtool-version: New.
- * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
- * Makefile.in: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * Makefile.am: Remove useless multilib rules.
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate with automake 1.8.5.
- * configure.ac: Remove useless multilib configury.
- * configure: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * .cvsignore: New file.
-
-2004-06-10 Jakub Jelinek <jakub@redhat.com>
-
- * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
- fp_done.
- (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
- changed from 8.
-
-2004-06-06 Sean McNeil <sean@mcneil.com>
-
- * configure.ac: Add x86_64-*-freebsd* support.
- * configure: Regenerate.
-
-2004-04-26 Joe Buck <jbuck@welsh-buck.org>
-
- Bug 15093
- * configure.ac: Test for existence of mmap and sys/mman.h before
- checking blacklist. Fix suggested by Jim Wilson.
- * configure: Regenerate.
-
-2004-04-26 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
- FDE location.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
- error. Reported by Thomas Heller <theller@python.net>.
- * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20 Matthias Klose <doko@debian.org>
-
- * src/pa/linux.S: Fix typo.
-
-2004-03-19 Matthias Klose <doko@debian.org>
-
- * Makefile.am: Update.
- * Makefile.in: Regenerate.
- * src/pa/ffi.h.in: Remove.
- * src/pa/ffitarget.h: New file.
-
-2004-02-10 Randolph Chung <tausq@debian.org>
-
- * Makefile.am: Add PA support.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * configure.ac: Add PA target.
- * configure: Regenerate.
- * src/pa/ffi.c: New file.
- * src/pa/ffi.h.in: Add PA support.
- * src/pa/linux.S: New file.
- * prep_cif.c: Add PA support.
-
-2004-03-16 Hosaka Yuji <hos@tamanegi.org>
-
- * src/types.c: Fix alignment size of X86_WIN32 case int64 and
- double.
- * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
- with ecif->cif->flags.
- (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
- with cif->flags.
- (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
- (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
- * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
- sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.in: Rename file to ...
- * configure.ac: ... this.
- * fficonfig.h.in: Regenerate.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2004-03-12 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Fix EH information so it corresponds to
- changes in EH format resulting from addition of linkonce support.
- * src/powerpc/darwin_closure.S: Likewise.
-
-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.
-
-2004-03-11 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
- arguments from fp registers only for the first 8 parameter slots.
- Don't convert a float parameter when passed in memory.
-
-2004-03-09 Hans-Peter Nilsson <hp@axis.com>
-
- * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
-
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
- ecif->cif->bytes to bytes.
- (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
- * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
- (ffi_closure_helper_LINUX64): Fix typo.
- * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
- for powerpc64-*-*.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
- long double function return and long double arg handling.
- (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
- Use "end_pfr" instead of "nf". Correct long double handling.
- Localise "temp".
- * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
- return value.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
- space for long double return value. Adjust stack frame and offsets.
- Load f2 long double return.
-
-2004-02-07 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
- when the structure return address is passed in %o0.
- (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
- (ffi_v9_layout_struct): Align the field following a nested structure
- on a word boundary. Use memmove instead of memcpy.
- (ffi_call): Update call to ffi_V9_return_struct.
- (ffi_prep_closure): Define 'ctx' only for V8.
- (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
- and ffi_closure_sparc_inner_v9.
- (ffi_closure_sparc_inner_v8): Return long doubles by reference.
- Always skip the structure return address. For structures and long
- doubles, copy the argument directly.
- (ffi_closure_sparc_inner_v9): Skip the structure return address only
- if required. Shift the maximum floating-point slot accordingly. For
- big structures, copy the argument directly; otherwise, left-justify the
- argument and call ffi_v9_layout_struct to lay out the structure on
- the stack.
- * src/sparc/v8.S: Undef STACKFRAME before defining it.
- (ffi_closure_v8): Pass the structure return address. Update call to
- ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
- Skip the 'unimp' insn when returning long doubles and structures.
- * src/sparc/v9.S: Undef STACKFRAME before defining it.
- (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
- FFI_TYPE_INT handling. Load structures both in integers and
- floating-point registers on return.
- * README: Update status of the SPARC port.
-
-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.
-
-2004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
-
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
- value as of type ffi_arg, not unsigned int.
-
-2004-01-21 Michael Ritzert <ritzert@t-online.de>
-
- * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
- of the LHS.
-
-2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
- Solaris.
-
-2004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
- to void *.
-
-2003-12-10 Richard Henderson <rth@redhat.com>
-
- * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
- size_t instead of int.
-
-2003-12-04 Hosaka Yuji <hos@tamanegi.org>
-
- * testsuite/libffi.call/many_win32.c: Include <float.h>.
- * testsuite/libffi.call/many_win32.c (main): Replace variable
- int i with unsigned long ul.
-
- * testsuite/libffi.call/cls_align_uint64.c: New test case.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02 Hosaka Yuji <hos@tamanegi.org>
-
- PR other/13221
- * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
- Align arguments to 32 bits.
-
-2003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR other/13221
- * testsuite/libffi.call/cls_multi_sshort.c: New test case.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-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.
-
-2003-11-21 Andreas Jaeger <aj@suse.de>
- Andreas Tobler <a.tobler@schweiz.ch>
-
- * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
- * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
- * Makefile.in: Rebuilt.
- * aclocal.m4: Likewise.
- * configure: Likewise.
- * fficonfig.h.in: Likewise.
- * testsuite/lib/libffi-dg.exp: Add include dir.
- * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
- for ffi_closure if available.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
- Add -lgcc_s to additional flags.
-
-2003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.in, include/Makefile.am: PR libgcj/11147, install
- the ffitarget.h header file in a gcc versioned and target
- dependent place.
- * configure: Regenerated.
- * Makefile.in, include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Print result and check
- with dg-output to make debugging easier.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
- static.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_9byte2.c: New test case.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_double.c: Do a check on the result.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/prep_cif.c (ffi_prep_cif): Move the validity check after
- the initialization.
-
-2003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
- FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
- __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-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
-
-2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
- _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
- Used when FFI_DEBUG = 1.
-
-2003-10-14 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
- and align.
-
-2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
- FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
- SPARC64. Cleanup whitespaces.
-
-2003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
- strongarm, xscale. Cleanup whitespaces.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Cleanup whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
- * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
- parameter stack.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
- according to the Darwin/AIX ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_DARWIN): Likewise.
- Remove the outgoing parameter stack logic. Simplify the evaluation
- of the different CASE types.
- (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
- statement in the trampoline code.
-
-2003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
- for the register size.
- (ffi_closure_helper_SYSV): Handle the structure return value
- address correctly.
- (ffi_closure_helper_SYSV): Return the appropriate type when
- the registers are used for the structure return value.
- * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
- the 64-bit return value. Update copyright years.
-
-2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
- srcdir for ffi_mips.h.
-
-2003-09-12 Alan Modra <amodra@bigpond.net.au>
-
- * src/prep_cif.c (initialize_aggregate): Include tail padding in
- structure size.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
- placement of float result.
- * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
- cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Merge identical SH and ARM
- typedefs, and add POWERPC64.
- * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
- struct split over gpr and rest.
- (ffi_prep_cif_machdep): Correct intarg_count for structures.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
- passing correctly.
-
-2003-09-09 Alan Modra <amodra@bigpond.net.au>
-
- * configure: Regenerate.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Remove build rules for ffitest.
- * Makefile.in: Rebuilt.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
- about implicit declaration of abort().
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
- * Makefile.in: Rebuilt.
- * configure.in: Add dejagnu test framework.
- * configure: Rebuilt.
-
- * testsuite/Makefile.am: New file.
- * testsuite/Makefile.in: Built
- * testsuite/lib/libffi-dg.exp: New file.
- * testsuite/config/default.exp: Likewise.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Likewise.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float1.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/many.c: Likewise.
- * testsuite/libffi.call/many_win32.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
- * testsuite/libffi.call/strlen.c: Likewise.
- * testsuite/libffi.call/strlen_win32.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
- * testsuite/libffi.call/struct2.c: Likewise.
- * testsuite/libffi.call/struct3.c: Likewise.
- * testsuite/libffi.call/struct4.c: Likewise.
- * testsuite/libffi.call/struct5.c: Likewise.
- * testsuite/libffi.call/struct6.c: Likewise.
- * testsuite/libffi.call/struct7.c: Likewise.
- * testsuite/libffi.call/struct8.c: Likewise.
- * testsuite/libffi.call/struct9.c: Likewise.
- * testsuite/libffi.special/special.exp: New file.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
- copyright years.
-
-2003-08-02 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
- structure passing.
- (ffi_closure_helper_LINUX64): Likewise.
- * src/powerpc/linux64.S: Remove code writing to parm save area.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
- address in lr from ffi_closure_helper_LINUX64 call to calculate
- table address. Optimize function tail.
-
-2003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/sparc/ffi.c: Handle all floating point registers.
- * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
-
- * README: Note that libffi is not part of GCC. Update the project
- URL and status.
-
-2003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
- Use C style comments.
-
-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
- should be read-only.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * include/ffi.h.in (EH_FRAME_FLAGS): Define.
- * src/alpha/osf.S: Use EH_FRAME_FLAGS.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
- * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
- if -fpic/-fPIC/-mrelocatable.
- * src/powerpc/powerpc_closure.S: Likewise.
- * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
- #write in .eh_frame flags.
- * src/sparc/v9.S: Likewise.
- * src/x86/unix64.S: Use EH_FRAME_FLAGS.
- * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
- * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
-
-2003-05-07 Jeff Sturm <jsturm@one-point.com>
-
- Fixes PR bootstrap/10656
- * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
- support for .register pseudo-op.
- * src/sparc/v8.S: Use it.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2003-04-18 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (POWERPC64): Define if 64-bit.
- (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
- Make it the default on POWERPC64.
- (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
- * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
- * configure: Rebuilt.
- * src/powerpc/ffi.c (hidden): Define.
- (ffi_prep_args_SYSV): Renamed from
- ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
- (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
- ASM_NEEDS_REGISTERS64): New.
- (ffi_prep_args64): New function.
- (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
- (ffi_call): Likewise.
- (ffi_prep_closure): Likewise.
- (flush_icache): Surround by #ifndef POWERPC64.
- (ffi_dblfl): New union type.
- (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
- (ffi_closure_helper_LINUX64): New function.
- * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
- __powerpc64__.
- * src/powerpc/sysv.S: Likewise.
- (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
- * src/powerpc/linux64.S: New file.
- * src/powerpc/linux64_closure.S: New file.
- * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
- src/powerpc/linux64_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
- * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
- closure_test_fn3): Fix result printing on big-endian 64-bit
- machines.
- (main): Print tst2_arg instead of uninitialized tst2_result.
-
- * src/ffitest.c (main): Hide what closure pointer really points to
- from the compiler.
-
-2003-04-16 Richard Earnshaw <rearnsha@arm.com>
-
- * configure.in (arm-*-netbsdelf*): Add configuration.
- (configure): Regenerated.
-
-2003-04-04 Loren J. Rittle <ljrittle@acm.org>
-
- * include/Makefile.in: Regenerate.
-
-2003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
-
- * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
- bit mode.
- * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
- Receive closure pointer through parameter, read args using
- __builtin_dwarf_cfa.
- (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12 Andreas Schwab <schwab@suse.de>
-
- * configure.in: Avoid trailing /. in toolexeclibdir.
- * configure: Rebuilt.
-
-2003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/powerpc/darwin_closure.S:
- Fix alignement bug, allocate 8 bytes for the result.
- * libffi/src/powerpc/aix_closure.S:
- Likewise.
- * libffi/src/powerpc/ffi_darwin.c:
- Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06 Jakub Jelinek <jakub@redhat.com>
-
- * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
- attribute.
-
-2003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
- Andreas Schwab <schwab@suse.de>
-
- * configure.in: Adjust command to source config-ml.in to account
- for changes to the libffi_basedir definition.
- (libffi_basedir): Remove ${srcdir} from value and include trailing
- slash if nonempty.
-
- * configure: Regenerate.
-
-2003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
- * src/x86/ffi64.c (ffi_prep_closure): New.
- (ffi_closure_UNIX64_inner): New.
- * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
- Remove USE_LIBDIR conditional.
- * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
- * Makefile.in, configure: Rebuilt.
-
-2003-01027 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
- * Makefile.in: Regenerate.
-
-2003-01-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
- unwind info.
-
-2003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Add unwind info.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
- (ffi_prep_cif_machdep): Likewise.
- * src/x86/unix64.S: Add unwind info.
-
-2003-01-14 Andreas Jaeger <aj@suse.de>
-
- * src/ffitest.c (main): Only use ffi_closures if those are
- supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/ffitest.c
- add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
- * libffi/src/powerpc/ffi.c
- fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c: Remove RCS version string.
- * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
- * src/ffitest.c (main): Use static storage for closure.
- * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
- * src/sparc/v8.S (ffi_closure_v8): New.
- * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10 Ranjit Mathew <rmathew@hotmail.com>
-
- * include/ffi.h.in: Added FFI_STDCALL ffi_type
- enumeration for X86_WIN32.
- * src/x86/win32.S: Added ffi_call_STDCALL function
- definition.
- * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
- switch cases for recognising FFI_STDCALL and
- calling ffi_call_STDCALL if target is X86_WIN32.
- * src/ffitest.c (my_stdcall_strlen/stdcall_many):
- stdcall versions of the "my_strlen" and "many"
- test functions (for X86_WIN32).
- Added test cases to test stdcall invocation using
- these functions.
-
-2002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26 Jim Wilson <wilson@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23 H.J. Lu <hjl@gnu.org>
-
- * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
- Include ../config/accross.m4.
- * aclocal.m4; Rebuild.
- * configure: Likewise.
-
-2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11 DJ Delorie <dj@redhat.com>
-
- * configure.in: Look for common files in the right place.
-
-2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
- raw data as _Jv_word values, not ffi_raw.
- (ffi_java_ptrarray_to_raw): Likewise.
- (ffi_java_rvalue_to_raw): New function.
- (ffi_java_raw_call): Call it.
- (ffi_java_raw_to_rvalue): New function.
- (ffi_java_translate_args): Call it.
- * src/ffitest.c (closure_test_fn): Interpret return value
- as ffi_arg, not int.
- * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
- FFI_TYPE_POINTER case.
- (ffi_closure_helper_SYSV): Likewise. Also, assume return
- values extended to word size.
-
-2002-10-02 Andreas Jaeger <aj@suse.de>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01 Bo Thorsen <bo@smetana.suse.de>
-
- * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
-
- * configure.in: Add s390x-*-linux-* target.
- * configure: Regenerate.
- * include/ffi.h.in: Define S390X for s390x targets.
- (FFI_CLOSURES): Define for s390/s390x.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
- * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
- * src/s390/ffi.c: Major rework of existing code. Add support for
- s390x targets. Add closure support.
- * src/s390/sysv.S: Likewise.
-
-2002-09-29 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: Fix typo.
-
-2002-09-28 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
- has defined __USER_LABEL_PREFIX__, then use it in CNAME.
- (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27 Bo Thorsen <bo@suse.de>
-
- * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * configure.in (sh[34]*-*-linux*): Add brackets.
- * configure: Regenerate.
-
-2002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * Makefile.am: Add SH support.
- * Makefile.in: Regenerate.
- * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
- * configure: Regenerate.
- * include/ffi.h.in: Add SH support.
- * src/sh/ffi.c: New file.
- * src/sh/sysv.S: New file.
- * src/types.c: Add SH support.
-
-2002-07-16 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi64.c: New file that adds x86-64 support.
- * src/x86/unix64.S: New file that handles argument setup for
- x86-64.
- * src/x86/sysv.S: Don't use this on x86-64.
- * src/x86/ffi.c: Don't use this on x86-64.
- Remove unused vars.
- * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
- for x86-64.
- * src/ffitest.c (struct6): New test that tests a special case in
- the x86-64 ABI.
- (struct7): Likewise.
- (struct8): Likewise.
- (struct9): Likewise.
- (closure_test_fn): Silence warning about this when it's not used.
- (main): Add the new tests.
- (main): Fix a couple of wrong casts and silence some compiler warnings.
- * include/ffi.h.in: Add x86-64 ABI definition.
- * fficonfig.h.in: Regenerate.
- * Makefile.am: Add x86-64 support.
- * configure.in: Likewise.
- * Makefile.in: Regenerate.
- * configure: Likewise.
-
-2002-06-24 Bo Thorsen <bo@suse.de>
-
- * src/types.c: Merge settings for similar architectures.
- Add x86-64 sizes and alignments.
-
-2002-06-23 Bo Thorsen <bo@suse.de>
-
- * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
- * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
- * src/mips/ffi.c (ffi_prep_args): Likewise.
- * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18 H.J. Lu (hjl@gnu.org)
-
- * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
- (libffi_la_SOURCES): Support MIPS_LINUX.
- (libffi_convenience_la_SOURCES): Likewise.
- * Makefile.in: Regenerated.
-
- * configure.in (mips64*-*): Skip.
- (mips*-*-linux*): New.
- * configure: Regenerated.
-
- * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
-
-2002-05-27 Roger Sayle <roger@eyesopen.com>
-
- * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
- fix formatting.
-
-2002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
- beginning of function (for older apple cc).
-
-2002-05-08 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
- script entry, and set LD to it when configuring multilibs.
- * configure: Rebuilt.
-
-2002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (sparc64-*-netbsd*): Add target.
- (sparc-*-netbsdelf*): Likewise.
- * configure: Regenerate.
-
-2002-04-28 David S. Miller <davem@redhat.com>
-
- * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
-
- * Makefile.am: Add Linux for S/390 support.
- * Makefile.in: Regenerate.
- * configure.in: Add Linux for S/390 support.
- * configure: Regenerate.
- * include/ffi.h.in: Add Linux for S/390 support.
- * src/s390/ffi.c: New file from libffi CVS tree.
- * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
- %r_disp32().
- * src/sparc/v8.S: Use it.
- * src/sparc/v9.S: Likewise.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2002-04-08 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
- correctly.
- * src/ia64/unix.S: Add unwind information. Fix comments.
- Save sp in a way that's compatible with unwind info.
- (ffi_call_unix): Correctly restore sp in all cases.
- * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08 Jakub Jelinek <jakub@redhat.com>
-
- * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (alpha*-*-netbsd*): Add target.
- * configure: Regenerate.
-
-2002-04-04 Jeff Sturm <jsturm@one-point.com>
-
- * src/sparc/v8.S: Add unwind info.
- * src/sparc/v9.S: Likewise.
-
-2002-03-30 Krister Walfridsson <cato@df.lth.se>
-
- * configure.in: Enable i*86-*-netbsdelf*.
- * configure: Rebuilt.
-
-2002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
-
- PR other/2620
- * src/mips/n32.s: Delete
- * src/mips/o32.s: Delete
-
-2002-03-21 Loren J. Rittle <ljrittle@acm.org>
-
- * configure.in: Enable alpha*-*-freebsd*.
- * configure: Rebuilt.
-
-2002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * Makefile.am: libfficonvenience -> libffi_convenience.
- * Makefile.in: Rebuilt.
-
- * Makefile.am: Define ffitest_OBJECTS.
- * Makefile.in: Rebuilt.
-
-2002-03-07 Andreas Tobler <toa@pop.agri.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
- (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
- (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
- * Makefile.in: Regenerate.
- * include/ffi.h.in: Add AIX and Darwin closure definitions.
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
- (flush_icache, flush_range): New functions.
- (ffi_closure_helper_DARWIN): New function.
- * src/powerpc/aix_closure.S: New file.
- * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add typedef for ffi_arg.
- * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21 Andreas Tobler <toa@pop.agri.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
- number of GPRs for floating-point arguments.
-
-2002-01-31 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Replace CHECK_SIZEOF and endian tests with
- cross-compiler friendly macros.
- * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
- macros.
-
-2002-01-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): New.
- * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
- (TARGET_SRC_POWERPC_AIX): New.
- (POWERPC_AIX): New stanza.
- * Makefile.in: Regenerate.
- * configure.in: Add AIX case.
- * configure: Regenerate.
- * include/ffi.h.in (ffi_abi): Add FFI_AIX.
- * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
- size. Fix "long double" support.
- (ffi_call): Add FFI_AIX case.
- * src/powerpc/aix.S: New.
-
-2001-10-09 John Hornkvist <john@toastedmarshmallow.com>
-
- Implement Darwin PowerPC ABI.
- * configure.in: Handle powerpc-*-darwin*.
- * Makefile.am: Set source files for POWERPC_DARWIN.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
- * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
- POWERPC_DARWIN.
- * src/powerpc/darwin.S: New file.
- * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .balign directive.
- Use C style comments.
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
- Fixes PR bootstrap/3563.
-
-2001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.in: Recognize sparc*-sun-* host.
- * configure: Regenerate.
-
-2001-06-06 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S: Add unwind info.
- * src/powerpc/sysv.S: Add unwind info.
- * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31 Jeff Sturm <jsturm@one-point.com>
-
- * configure.in: Fix AC_ARG_ENABLE usage.
- * configure: Rebuilt.
-
-2001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * configure.in: Remove warning about beta code.
- * configure: Rebuilt.
-
-2001-04-25 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/ia64/unix.S: Restore stack pointer when returning from
- ffi_closure_UNIX.
- * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18 Jim Wilson <wilson@redhat.com>
-
- * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
- to eliminate RAW DV.
-
-2001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
-
- * Makefile.am: Make a libtool convenience library.
- * Makefile.in: Rebuilt.
-
-2001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Use different syntax for subdirectory creation.
- * configure: Rebuilt.
-
-2001-03-27 Jon Beniston <jon@beniston.com>
-
- * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
- * configure: Rebuilt.
- * Makefile.am: Added X86_WIN32 target support.
- * Makefile.in: Rebuilt.
-
- * include/ffi.h.in: Added X86_WIN32 target support.
-
- * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
- * src/types.c: Added X86_WIN32 target support.
-
- * src/x86/win32.S: New file. Based on sysv.S, but with EH
- stuff removed and made to work with CygWin's gas.
-
-2001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Make target subdirectory in build dir.
- * Makefile.am: Override suffix based rules to specify correct output
- subdirectory.
- * Makefile.in: Rebuilt.
- * configure: Rebuilt.
-
-2001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
-
- * src/powerpc/ppc_closure.S: New file.
- * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
- involving long long and register pairs.
- (ffi_prep_closure): New function.
- (flush_icache): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * Makefile.in: Rebuilt.
- * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19 Tom Tromey <tromey@redhat.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02 Nick Clifton <nickc@redhat.com>
-
- * include/ffi.h.in: Remove RCS ident string.
- * include/ffi_mips.h: Remove RCS ident string.
- * src/debug.c: Remove RCS ident string.
- * src/ffitest.c: Remove RCS ident string.
- * src/prep_cif.c: Remove RCS ident string.
- * src/types.c: Remove RCS ident string.
- * src/alpha/ffi.c: Remove RCS ident string.
- * src/alpha/osf.S: Remove RCS ident string.
- * src/arm/ffi.c: Remove RCS ident string.
- * src/arm/sysv.S: Remove RCS ident string.
- * src/mips/ffi.c: Remove RCS ident string.
- * src/mips/n32.S: Remove RCS ident string.
- * src/mips/o32.S: Remove RCS ident string.
- * src/sparc/ffi.c: Remove RCS ident string.
- * src/sparc/v8.S: Remove RCS ident string.
- * src/sparc/v9.S: Remove RCS ident string.
- * src/x86/ffi.c: Remove RCS ident string.
- * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * include/ffi.h.in: Change sourceware.cygnus.com references to
- gcc.gnu.org.
-
-2000-12-09 Richard Henderson <rth@redhat.com>
-
- * src/alpha/ffi.c (ffi_call): Simplify struct return test.
- (ffi_closure_osf_inner): Index rather than increment avalue
- and arg_types. Give ffi_closure_osf the raw return value type.
- * src/alpha/osf.S (ffi_closure_osf): Handle return value type
- promotion.
-
-2000-12-07 Richard Henderson <rth@redhat.com>
-
- * src/raw_api.c (ffi_translate_args): Fix typo.
- (ffi_prep_closure): Likewise.
-
- * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
- FFI_TRAMPOLINE_SIZE.
- * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
- cif->bytes for new ffi_call_osf implementation.
- (ffi_prep_args): Absorb into ...
- (ffi_call): ... here. Do all stack allocation here and
- avoid a callback function.
- (ffi_prep_closure, ffi_closure_osf_inner): New.
- * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
- (ffi_closure_osf): New.
-
-2000-09-10 Alexandre Oliva <aoliva@redhat.com>
-
- * config.guess, config.sub, install-sh: Removed.
- * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
- * Makefile.in: Rebuilt.
-
- * acinclude.m4: Include libtool macros from the top level.
- * aclocal.m4, configure: Rebuilt.
-
-2000-08-22 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
- * configure: Rebuilt.
-
-2000-05-11 Scott Bambrough <scottb@netwinder.org>
-
- * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
- memory correctly. Use conditional instructions, not branches where
- possible.
-
-2000-05-04 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Match `arm*-*-linux-*'.
- From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (SUBDIRS): Define.
- (AM_MAKEFLAGS): Likewise.
- (Multilib support.): Add section.
- * Makefile.in: Rebuilt.
- * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
- New variables. Set for gcc using -print-multi-lib. Export them
- to libtool.
- (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
- * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
- for -shared links.
- (extra_compiler_flags_value, extra_compiler_flags): Check these
- for extra compiler options which need to be passed down in
- compiler_flags.
-
-2000-04-16 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
- Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
- * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
- Replace all void * sizeofs with sizeof(int).
- Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
- different than DOUBLE.
- Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
- (ffi_prep_args_v9): New function.
- (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
- (ffi_V9_return_struct): New function.
- (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
- 32bit code (not yet cross-arch calls).
- * src/sparc/v8.S: Add struct return delay nop.
- Handle long long.
- * src/sparc/v9.S: New file.
- * src/prep_cif.c (ffi_prep_cif): Return structure pointer
- is used on sparc64 only for structures larger than 32 bytes.
- Pass by reference for structures is done for structure arguments
- larger than 16 bytes.
- * src/ffitest.c (main): Use 64bit rint on sparc64.
- Run long long tests on sparc.
- * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
- sparc64.
- (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
- on sparc64.
- * configure.in (sparc-*-linux*): New supported target.
- (sparc64-*-linux*): Likewise.
- * configure: Rebuilt.
- * Makefile.am: Add v9.S to SPARC files.
- * Makefile.in: Likewise.
- (LINK): Surround $(CCLD) into double quotes, so that multilib
- compiles work correctly.
-
-2000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: (i*86-*-solaris*): New libffi target. Patch
- proposed by Bryce McKinlay.
-
-2000-03-20 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
-
- * config.guess, config.sub: Update from the gcc tree.
- Fix for PR libgcj/168.
-
-2000-03-03 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Fixed ia64 by hand.
-
- * configure: Rebuilt.
- * configure.in (--enable-multilib): New option.
- (libffi_basedir): New subst.
- (AC_OUTPUT): Added multilib code.
-
-2000-03-02 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
- directory name.
-
-2000-02-25 Hans Boehm <boehm@acm.org>
-
- * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
- files.
- * src/raw_api.c (ffi_translate_args): Fixed typo in argument
- list.
- (ffi_prep_raw_closure): Use ffi_translate_args, not
- ffi_closure_translate.
- * src/java_raw_api.c: New file.
- * src/ffitest.c (closure_test_fn): New function.
- (main): Define `rint' as long long on IA64. Added new test when
- FFI_CLOSURES is defined.
- * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
- (ffi_abi): Recognize IA64.
- (ffi_raw): Added `flt' field.
- Added "Java raw API" code.
- * configure.in: Recognize ia64.
- * Makefile.am (TARGET_SRC_IA64): New macro.
- (libffi_la_common_SOURCES): Added java_raw_api.c.
- (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01 Tom Tromey <tromey@cygnus.com>
-
- * include/ffi.h.in: Removed PACKAGE and VERSION defines and
- undefs.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
- * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
- Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
- * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09 Anthony Green <green@cygnus.com>
-
- * include/ffi.h.in: Try to work around messy header problem
- with PACKAGE and VERSION.
-
- * configure: Rebuilt.
- * configure.in: Change version to 2.00-beta.
-
- * fficonfig.h.in: Rebuilt.
- * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
- * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
-
- * src/x86/ffi.c (ffi_closure_SYSV): New function.
- (ffi_prep_incoming_args_SYSV): Ditto.
- (ffi_prep_closure): Ditto.
- (ffi_closure_raw_SYSV): Ditto.
- (ffi_prep_raw_closure): More ditto.
- (ffi_call_raw): Final ditto.
-
- * include/ffi.h.in: Add definitions for closure and raw API.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
- FFI_TYPE_UINT64.
-
- * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
- * src/raw_api.c: New file.
-
- * include/ffi.h.in (ffi_raw): New type.
- (UINT_ARG, SINT_ARG): New defines.
- (ffi_closure, ffi_raw_closure): New types.
- (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
- * configure.in: Add check for endianness and sizeof void*.
-
- * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
- instead of directly.
-
- * configure: Rebuilt.
-
-Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
-
- * configure.in: Add x86 and powerpc BeOS configurations.
- From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09 Anthony Green <green@cygnus.com>
-
- * configure.in: Add warning about this being beta code.
- Remove src/Makefile.am from the picture.
- * configure: Rebuilt.
-
- * Makefile.am: Move logic from src/Makefile.am. Add changes
- to support libffi as a target library.
- * Makefile.in: Rebuilt.
-
- * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
- Upgraded to new autoconf, automake, libtool.
-
- * README: Tweaks.
-
- * LICENSE: Update copyright date.
-
- * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29 Anthony Green <green@cygnus.com>
-
- * include/ChangeLog: Removed.
- * src/ChangeLog: Removed.
- * src/mips/ChangeLog: Removed.
- * src/sparc/ChangeLog: Remboved.
- * src/x86/ChangeLog: Removed.
-
- * ChangeLog.v1: Created.
diff --git a/.pc/fix_maxopt/m4/ax_cc_maxopt.m4 b/.pc/fix_maxopt/m4/ax_cc_maxopt.m4
deleted file mode 100644
index a62cafd..0000000
--- a/.pc/fix_maxopt/m4/ax_cc_maxopt.m4
+++ /dev/null
@@ -1,180 +0,0 @@
-# ===========================================================================
-# http://www.gnu.org/software/autoconf-archive/ax_cc_maxopt.html
-# ===========================================================================
-#
-# SYNOPSIS
-#
-# AX_CC_MAXOPT
-#
-# DESCRIPTION
-#
-# Try to turn on "good" C optimization flags for various compilers and
-# architectures, for some definition of "good". (In our case, good for
-# FFTW and hopefully for other scientific codes. Modify as needed.)
-#
-# The user can override the flags by setting the CFLAGS environment
-# variable. The user can also specify --enable-portable-binary in order to
-# disable any optimization flags that might result in a binary that only
-# runs on the host architecture.
-#
-# Note also that the flags assume that ANSI C aliasing rules are followed
-# by the code (e.g. for gcc's -fstrict-aliasing), and that floating-point
-# computations can be re-ordered as needed.
-#
-# Requires macros: AX_CHECK_COMPILER_FLAGS, AX_COMPILER_VENDOR,
-# AX_GCC_ARCHFLAG, AX_GCC_X86_CPUID.
-#
-# LICENSE
-#
-# Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
-# Copyright (c) 2008 Matteo Frigo
-#
-# This program is free software: you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by the
-# Free Software Foundation, either version 3 of the License, or (at your
-# option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
-# Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-# As a special exception, the respective Autoconf Macro's copyright owner
-# gives unlimited permission to copy, distribute and modify the configure
-# scripts that are the output of Autoconf when processing the Macro. You
-# need not follow the terms of the GNU General Public License when using
-# or distributing such scripts, even though portions of the text of the
-# Macro appear in them. The GNU General Public License (GPL) does govern
-# all other use of the material that constitutes the Autoconf Macro.
-#
-# This special exception to the GPL applies to versions of the Autoconf
-# Macro released by the Autoconf Archive. When you make and distribute a
-# modified version of the Autoconf Macro, you may extend this special
-# exception to the GPL to apply to your modified version as well.
-
-#serial 11
-
-AC_DEFUN([AX_CC_MAXOPT],
-[
-AC_REQUIRE([AC_PROG_CC])
-AC_REQUIRE([AX_COMPILER_VENDOR])
-AC_REQUIRE([AC_CANONICAL_HOST])
-
-AC_ARG_ENABLE(portable-binary, [AS_HELP_STRING([--enable-portable-binary], [disable compiler optimizations that would produce unportable binaries])],
- acx_maxopt_portable=$withval, acx_maxopt_portable=no)
-
-# Try to determine "good" native compiler flags if none specified via CFLAGS
-if test "$ac_test_CFLAGS" != "set"; then
- CFLAGS=""
- case $ax_cv_c_compiler_vendor in
- dec) CFLAGS="-newc -w0 -O5 -ansi_alias -ansi_args -fp_reorder -tune host"
- if test "x$acx_maxopt_portable" = xno; then
- CFLAGS="$CFLAGS -arch host"
- fi;;
-
- sun) CFLAGS="-native -fast -xO5 -dalign"
- if test "x$acx_maxopt_portable" = xyes; then
- CFLAGS="$CFLAGS -xarch=generic"
- fi;;
-
- hp) CFLAGS="+Oall +Optrs_ansi +DSnative"
- if test "x$acx_maxopt_portable" = xyes; then
- CFLAGS="$CFLAGS +DAportable"
- fi;;
-
- ibm) if test "x$acx_maxopt_portable" = xno; then
- xlc_opt="-qarch=auto -qtune=auto"
- else
- xlc_opt="-qtune=auto"
- fi
- AX_CHECK_COMPILER_FLAGS($xlc_opt,
- CFLAGS="-O3 -qansialias -w $xlc_opt",
- [CFLAGS="-O3 -qansialias -w"
- echo "******************************************************"
- echo "* You seem to have the IBM C compiler. It is *"
- echo "* recommended for best performance that you use: *"
- echo "* *"
- echo "* CFLAGS=-O3 -qarch=xxx -qtune=xxx -qansialias -w *"
- echo "* ^^^ ^^^ *"
- echo "* where xxx is pwr2, pwr3, 604, or whatever kind of *"
- echo "* CPU you have. (Set the CFLAGS environment var. *"
- echo "* and re-run configure.) For more info, man cc. *"
- echo "******************************************************"])
- ;;
-
- intel) CFLAGS="-O3 -ansi_alias"
- if test "x$acx_maxopt_portable" = xno; then
- icc_archflag=unknown
- icc_flags=""
- case $host_cpu in
- i686*|x86_64*)
- # icc accepts gcc assembly syntax, so these should work:
- AX_GCC_X86_CPUID(0)
- AX_GCC_X86_CPUID(1)
- case $ax_cv_gcc_x86_cpuid_0 in # see AX_GCC_ARCHFLAG
- *:756e6547:*:*) # Intel
- case $ax_cv_gcc_x86_cpuid_1 in
- *6a?:*[[234]]:*:*|*6[[789b]]?:*:*:*) icc_flags="-xK";;
- *f3[[347]]:*:*:*|*f4[1347]:*:*:*) icc_flags="-xP -xN -xW -xK";;
- *f??:*:*:*) icc_flags="-xN -xW -xK";;
- esac ;;
- esac ;;
- esac
- if test "x$icc_flags" != x; then
- for flag in $icc_flags; do
- AX_CHECK_COMPILER_FLAGS($flag, [icc_archflag=$flag; break])
- done
- fi
- AC_MSG_CHECKING([for icc architecture flag])
- AC_MSG_RESULT($icc_archflag)
- if test "x$icc_archflag" != xunknown; then
- CFLAGS="$CFLAGS $icc_archflag"
- fi
- fi
- ;;
-
- gnu)
- # default optimization flags for gcc on all systems
- CFLAGS="-O3 -fomit-frame-pointer"
-
- # -malign-double for x86 systems
- AX_CHECK_COMPILER_FLAGS(-malign-double, CFLAGS="$CFLAGS -malign-double")
-
- # -fstrict-aliasing for gcc-2.95+
- AX_CHECK_COMPILER_FLAGS(-fstrict-aliasing,
- CFLAGS="$CFLAGS -fstrict-aliasing")
-
- # note that we enable "unsafe" fp optimization with other compilers, too
- AX_CHECK_COMPILER_FLAGS(-ffast-math, CFLAGS="$CFLAGS -ffast-math")
-
- AX_GCC_ARCHFLAG($acx_maxopt_portable)
- ;;
- esac
-
- if test -z "$CFLAGS"; then
- echo ""
- echo "********************************************************"
- echo "* WARNING: Don't know the best CFLAGS for this system *"
- echo "* Use ./configure CFLAGS=... to specify your own flags *"
- echo "* (otherwise, a default of CFLAGS=-O3 will be used) *"
- echo "********************************************************"
- echo ""
- CFLAGS="-O3"
- fi
-
- AX_CHECK_COMPILER_FLAGS($CFLAGS, [], [
- echo ""
- echo "********************************************************"
- echo "* WARNING: The guessed CFLAGS don't seem to work with *"
- echo "* your compiler. *"
- echo "* Use ./configure CFLAGS=... to specify your own flags *"
- echo "********************************************************"
- echo ""
- CFLAGS=""
- ])
-
-fi
-])
diff --git a/.pc/hpux-mallinfo/.timestamp b/.pc/hpux-mallinfo/.timestamp
deleted file mode 100644
index e69de29..0000000
--- a/.pc/hpux-mallinfo/.timestamp
+++ /dev/null
diff --git a/.pc/hpux-mallinfo/ChangeLog b/.pc/hpux-mallinfo/ChangeLog
deleted file mode 100644
index 502aaef..0000000
--- a/.pc/hpux-mallinfo/ChangeLog
+++ /dev/null
@@ -1,4579 +0,0 @@
-2012-02-10 Kai Tietz <ktietz@redhat.com>
-
- * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
- windows target.
- * configure: Regenerated.
-
-2012-02-08 Kai Tietz <ktietz@redhat.com>
-
- * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
- also FFI_THISCALL.
- * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
- (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
- (ffi_prep_closure_loc): Add FFI_THISCALL support.
- * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
- * src/x86/win32.S (ffi_closure_THISCALL): New closure code
- for thiscall-calling convention.
- * testsuite/libffi.call/closure_thiscall.c: New test.
-
-2012-01-28 Kai Tietz <ktietz@redhat.com>
-
- * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
- argument to prototype for specify calling-convention.
- (ffi_call): Add support for stdcall/thiscall convention.
- (ffi_prep_args): Likewise.
- (ffi_raw_call): Likewise.
- * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
- FFI_FASTCALL.
- * src/x86/win32.S (_ffi_call_win32): Add support for
- fastcall/thiscall calling-convention calls.
- * testsuite/libffi.call/fastthis1_win32.c: New test.
- * testsuite/libffi.call/fastthis2_win32.c: New test.
- * testsuite/libffi.call/fastthis3_win32.c: New test.
- * testsuite/libffi.call/strlen2_win32.c: New test.
- * testsuite/libffi.call/many2_win32.c: New test.
- * testsuite/libffi.call/struct1_win32.c: New test.
- * testsuite/libffi.call/struct2_win32.c: New test.
-
-2012-01-23 Andreas Schwab <schwab@linux-m68k.org>
-
- * src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
- mc68000. Test for __HAVE_68881__ in addition to __MC68881__.
-
-2012-01-19 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/48496
- * src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
-
-2012-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (i?86-*-*): Set TARGET to X86_64.
- * configure: Regenerate.
-
-2011-12-07 Andrew Pinski <apinski@cavium.com>
-
- PR libffi/50051
- * src/mips/n32.S: Add ".set mips4".
-
-2011-11-21 Andreas Tobler <andreast@fgznet.ch>
-
- * configure: Regenerate.
-
-2011-11-10 Richard Henderson <rth@redhat.com>
-
- * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
- * configure, aclocal.m4: Rebuild.
-
-2011-09-04 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/49594
- * src/powerpc/darwin_closure.S (stubs): Make the stub binding
- helper reference track the architecture pointer size.
-
-2011-08-25 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
- instructions.
- * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
-
-2011-07-11 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46660
- * testsuite/libffi.call/cls_double_va.c: xfail dg-output on
- mips-sgi-irix6*.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
- PRId8 instead of %hhu, %hhd.
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
- PRIu8): Define.
- [__sgi__] (PRId8, PRIu8): Define.
-
-2011-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
- Define.
- Use them to handle ELF vs. ECOFF differences.
- [__osf__] (_GLOBAL__F_ffi_call_osf): Define.
-
-2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2011-02-08 Ginn Chen <ginn.chen@oracle.com>
-
- * src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
- aggregate return ABI. Flush cache.
- (ffi_prep_closure_loc): Flush cache.
-
-2011-02-11 Anthony Green <green@moxielogic.com>
-
- From Tom Honermann <tom.honermann@oracle.com>:
- * src/powerpc/aix.S (ffi_call_AIX): Support for xlc toolchain on
- AIX. Declare .ffi_prep_args. Insert nops after branch
- instructions so that the AIX linker can insert TOC reload
- instructions.
- * src/powerpc/aix_closure.S: Declare .ffi_closure_helper_DARWIN.
-
-2011-02-08 Ed <ed@kdtc.net>
-
- * src/powerpc/asm.h: Fix grammar nit in comment.
-
-2011-02-08 Uli Link <ul.mcamafia@linkitup.de>
-
- * include/ffi.h.in (FFI_64_BIT_MAX): Define and use.
-
-2011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46661
- * testsuite/libffi.call/cls_pointer.c (main): Cast void * to
- uintptr_t first.
- * testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
-
-2011-02-08 Rafael Avila de Espindola <respindola@mozilla.com>
-
- * configure.ac: Fix x86 test for pc related relocs.
- * configure: Rebuilt.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
- Handle case when CPU variant does not have long double support.
- * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
- and cores with soft floating point.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * configure.ac: Add mips*-*-rtems* support.
- * configure: Regenerate.
- * src/mips/ffitarget.h: Ensure needed constants are available
- for targets which do not have sgidefs.h.
-
-2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR target/40125
- * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
- * configure: Regenerate.
-
-2010-12-18 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/29152
- PR libffi/42378
- * src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
- (FFI_TRAMPOLINE_SIZE): Update for Darwin64.
- * src/powerpc/darwin.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
- backslashes.
- (libffi_cv_as_string_pseudo_op): Likewise.
- * configure: Regenerate.
-
-2010-12-03 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
- (ffi_closure_VFP): Same.
- (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
- directive.
-
-2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
- (PRIuPTR): Define.
-
-2010-11-29 Richard Henderson <rth@redhat.com>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
- (.eh_frame): Use FDE_ENCODING.
- (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
-
-2010-11-22 Jacek Caban <jacek@codeweavers.com>
-
- * configure.ac: Check for symbol underscores on mingw-w64.
- * configure: Rebuilt.
- * src/x86/win64.S: Correctly access extern symbols in respect to
- underscores.
-
-2010-11-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp: Rename ...
- * testsuite/lib/libffi.exp: ... to this.
- * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
- * libffi/testsuite/libffi.special/special.exp: Likewise.
-
-2010-10-28 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
- code, new parameter, and return value. Update comments.
- (ffi_prep_cif_machdep): Add case for VFP struct return values. Add
- call to layout_vfp_args().
- (ffi_call_SYSV): Update declaration.
- (ffi_call_VFP): New declaration.
- (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
- when ABI is FFI_VFP.
- (ffi_closure_VFP): New declaration.
- (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
- ffi_prep_incoming_args_SYSV().
- (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
- case handling.
- (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
- construction under VFP hard-float.
- (rec_vfp_type_p): New function.
- (vfp_type_p): Same.
- (place_vfp_arg): Same.
- (layout_vfp_args): Same.
- * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
- based on __ARM_PCS_VFP.
- (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
- fields.
- (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
- (FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
- * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
- direct call. Move function pointer load upwards.
- (ffi_call_VFP): New function.
- (ffi_closure_VFP): Same.
-
- * testsuite/lib/libffi-dg.exp (check-flags): New function.
- (dg-skip-if): New function.
- * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
- and compiler options include -mfloat-abi=hard.
- * testsuite/libffi.call/cls_longdouble_va.c: Same.
-
-2010-10-01 Jakub Jelinek <jakub@redhat.com>
-
- PR libffi/45677
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
- a multiple of 8.
- * testsuite/libffi.call/many2.c: New test.
-
-2010-08-20 Mark Wielaard <mjw@redhat.com>
-
- * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
- returns NULL.
-
-2010-08-09 Andreas Tobler <andreast@fgznet.ch>
-
- * configure.ac: Add target powerpc64-*-freebsd*.
- * configure: Regenerate.
- * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
- -mlong-double-128 only to linux targets.
- * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
- * testsuite/libffi.call/cls_longdouble.c: Likewise.
- * testsuite/libffi.call/huge_struct.c: Likewise.
-
-2010-08-05 Dan Witte <dwitte@mozilla.com>
-
- * Makefile.am: Pass FFI_DEBUG define to msvcc.sh for linking to the
- debug CRT when --enable-debug is given.
- * configure.ac: Define it.
- * msvcc.sh: Translate -g and -DFFI_DEBUG appropriately.
-
-2010-08-04 Dan Witte <dwitte@mozilla.com>
-
- * src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64
- platforms.
- * src/x86/ffi.c: Remove redundant ifdef checks.
- * src/prep_cif.c: Push stack space computation into src/x86/ffi.c
- for X86_ANY so return value space doesn't get added twice.
-
-2010-08-03 Neil Rashbrooke <neil@parkwaycc.co.uk>
-
- * msvcc.sh: Don't pass -safeseh to ml64 because behavior is buggy.
-
-2010-07-22 Dan Witte <dwitte@mozilla.com>
-
- * src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
- * src/prep_cif.c: Fix ABI assertion.
- * src/cris/ffi.c: Ditto.
-
-2010-07-10 Evan Phoenix <evan@fallingsnow.net>
-
- * src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
-
-2010-07-07 Dan Horák <dan@danny.cz>
-
- * include/ffi.h.in: Protect #define with #ifndef.
- * src/powerpc/ffitarget.h: Ditto.
- * src/s390/ffitarget.h: Ditto.
- * src/sparc/ffitarget.h: Ditto.
-
-2010-07-07 Neil Roberts <neil@linux.intel.com>
-
- * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
- 16-bytes.
-
-2010-07-02 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
- * Makefile.in: Regenerated.
-
-2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
- output, too.
- (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
- (libffi_cv_as_string_pseudo_op): Check for .string.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
-
-2010-05-11 Dan Witte <dwitte@mozilla.com>
-
- * doc/libffi.tex: Document previous change.
-
-2010-05-11 Makoto Kato <m_kato@ga2.so-net.ne.jp>
-
- * src/x86/ffi.c (ffi_call): Don't copy structs passed by value.
-
-2010-05-05 Michael Kohler <michaelkohler@live.com>
-
- * src/dlmalloc.c (dlfree): Fix spelling.
- * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
- * configure.ac: Ditto.
- * configure: Rebuilt.
-
-2010-04-13 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Build with -W3 instead of -Wall.
- * src/powerpc/ffi_darwin.c: Remove build warnings.
- * src/x86/ffi.c: Ditto.
- * src/x86/ffitarget.h: Ditto.
-
-2010-04-12 Dan Witte <dwitte@mozilla.com>
- Walter Meinl <wuno@lsvw.de>
-
- * configure.ac: Add OS/2 support.
- * configure: Rebuilt.
- * src/closures.c: Ditto.
- * src/dlmalloc.c: Ditto.
- * src/x86/win32.S: Ditto.
-
-2010-04-07 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
-
-2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2010-03-30 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Disable build warnings.
- * README (tested): Clarify windows build procedure.
-
-2010-03-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * libffi/src/x86/unix64.S (.eh_frame)
- [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
-
-2010-03-14 Matthias Klose <doko@ubuntu.com>
-
- * src/x86/ffi64.c: Fix typo in comment.
- * src/x86/ffi.c: Use /* ... */ comment style.
-
-2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/libffi.texi (The Closure API): Fix typo.
- * doc/libffi.info: Remove.
-
-2010-02-15 Matthias Klose <doko@ubuntu.com>
-
- * src/arm/sysv.S (__ARM_ARCH__): Define for processor
- __ARM_ARCH_7EM__.
-
-2010-01-15 Anthony Green <green@redhat.com>
-
- * README: Add notes on building with Microsoft Visual C++.
-
-2010-01-15 Daniel Witte <dwitte@mozilla.com>
-
- * msvcc.sh: New file.
-
- * src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
- * src/x86/ffi.c: Tweak function declaration and remove excess
- parens.
- * include/ffi.h.in: Add __declspec(align(8)) to typedef struct
- ffi_closure.
-
- * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
- function ffi_call_win32 on X86_WIN32.
- * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
- (ffi_call_STDCALL): Remove.
-
- * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
- to ffi_prep_cif_machdep for x86.
- * src/x86/ffi.c (ffi_prep_cif_machdep): To here.
-
-2010-01-15 Oliver Kiddle <okiddle@yahoo.co.uk>
-
- * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
- Sun Studio compiler compatibility.
-
-2010-01-12 Conrad Irwin <conrad.irwin@gmail.com>
-
- * doc/libffi.texi: Add closure example.
-
-2010-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40701
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
- PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
- * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
- alpha*-dec-osf*.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/return_ll1.c: Likewise.
- * testsuite/libffi.call/stret_medium2.c: Likewise.
- * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
- MAP_FAILED to char *.
-
-2010-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
-
-2009-12-31 Anthony Green <green@redhat.com>
-
- * README: Update for libffi 3.0.9.
-
-2009-12-27 Matthias Klose <doko@ubuntu.com>
-
- * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
- appropriate.
- * configure: Rebuilt.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
- avr32*-*-*.
- * testsuite/libffi.call/cls_double_va.c: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
- and inttypes.h.
- * testsuite/libffi.special/unwindtest.cc: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-openbsd*.
- * configure: Rebuilt.
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
- openbsd programs with -lpthread.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
- mips*-*-* and arm*-*-*.
- * testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c,
- testsuite/libffi.call/stret_medium2.c,
- testsuite/libffi.call/stret_medium.c,
- testsuite/libffi.call/stret_large.c,
- testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
-
-2009-12-31 Kay Tietz <ktietz70@googlemail.com>
-
- * testsuite/libffi.call/ffitest.h,
- testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
- definitions.
-
-2009-12-31 Carlo Bramini <carlo.bramix@libero.it>
-
- * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
- * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
-
-2009-12-31 Anthony Green <green@redhat.com>
- Blake Chaffin.
-
- * testsuite/libffi.call/huge_struct.c: New test case from Blake
- Chaffin @ Apple.
-
-2009-12-28 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
- local variables.
- (aix_adjust_aggregate_sizes): New function.
- (ffi_prep_cif_machdep): Call it.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
- * configure: Regenerate.
- * fficonfig.h.in: Likewise.
- * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
- Solaris/x86.
-
-2009-12-26 Andreas Schwab <schwab@linux-m68k.org>
-
- * 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.
-
-2009-12-25 Matthias Klose <doko@ubuntu.com>
-
- * man/ffi_call.3: Fix #include in examples.
- * doc/libffi.texi: Add dircategory.
-
-2009-12-25 Frank Everdij <f.p.x.everdij@tudelft.nl>
-
- * include/ffi.h.in: Placed '__GNUC__' ifdef around
- '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
- IRIX MIPSPro c99.
- * include/ffi_common.h: Added '__sgi' define to non
- '__attribute__((__mode__()))' integer typedefs.
- * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
- ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
- (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
- FFI_LONGDOUBLE support and alignment(N32 only).
- * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
- fixed non '__attribute__((__mode__()))' integer typedefs.
- * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
- since they are Linux/GNU Assembler specific.
-
-2009-12-25 Bradley Smith <brad@brad-smith.co.uk>
-
- * configure.ac, Makefile.am, src/avr32/ffi.c,
- src/avr32/ffitarget.h,
- src/avr32/sysv.S: Add AVR32 port.
- * configure, Makefile.in: Rebuilt.
-
-2009-12-21 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
- * configure: Regenerate.
-
-2009-12-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
- type on HP-UX.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
- double' arguments.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40700
- * src/closures.c [X86_64 && __sun__ && __svr4__]
- (FFI_MMAP_EXEC_WRIT): Define.
-
-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.
-
-2009-12-07 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
- typo.
-
-2009-12-05 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
- code.
- * src/powerpc/aix_closure.S: Same.
-
-2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
- linux64_closure.S.
-
-2009-12-04 Uros Bizjak <ubizjak@gmail.com>
-
- 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.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
- pfr for long double split between fpr13 and stack.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
- fparg_count twice for long double.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- PR libffi/42243
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03 Uros Bizjak <ubizjak@gmail.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
- Remove xfails for x86 linux targets.
-
-2009-12-02 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
- case.
-
-2009-12-01 David Edelsohn <edelsohn@gnu.org>
-
- * 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.
-
-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.
-
-2009-11-02 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/41908
- * testsuite/libffi.call/testclosure.c: New test.
-
-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.
-
-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.
-
-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.
-
-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.
-
-2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.am (install-html, install-pdf): Remove.
- * Makefile.in: Regenerate.
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24 Dave Korn <dave.korn.cygwin@gmail.com>
-
- 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.
-
-2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
-
- 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.
-
-2009-07-01 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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 "".)
-
-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.
-
-2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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.
-
-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.
-
-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.
-
-2009-06-16 Andrew Haley <aph@redhat.com>
-
- * configure.ac (TARGETDIR): Add missing blank lines.
- * configure: Regenerate.
-
-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.
-
-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.
-
-2009-06-12 Andrew Haley <aph@redhat.com>
-
- * Makefile.am: Remove info_TEXINFOS.
-
-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-11 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * 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.
-
-2009-06-09 Andrew Haley <aph@redhat.com>
-
- * src/x86/freebsd.S: Add missing file.
-
-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).
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * README: Import from libffi 3.0.8.
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Add xfails.
- * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
- * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
- * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
- * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
- * testsuite/libffi.call/stret_medium.c: Likewise.
- * testsuite/libffi.call/stret_large2.c: Likewise.
- * testsuite/libffi.call/stret_large.c: Likewise.
-
-2008-12-26 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_align_longdouble.c,
- testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
- failures on x86_64 cygwin/mingw.
-
-2008-12-22 Timothy Wall <twall@users.sf.net>
-
- * 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_loc_fn0.c,
- testsuite/libffi.call/closure_stdcall.c,
- testsuite/libffi.call/cls_align_pointer.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
- pointer to integer (intptr_t).
- * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_dbls_struct.c,
- testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c,
- testsuite/libffi.call/err_bad_abi.c: Clean up failures from
- compiler warnings.
-
-2008-03-04 Anthony Green <green@redhat.com>
- Blake Chaffin
- hos@tamanegi.org
-
- * testsuite/libffi.call/cls_align_longdouble_split2.c
- testsuite/libffi.call/cls_align_longdouble_split.c
- testsuite/libffi.call/cls_dbls_struct.c
- testsuite/libffi.call/cls_double_va.c
- testsuite/libffi.call/cls_longdouble.c
- testsuite/libffi.call/cls_longdouble_va.c
- testsuite/libffi.call/cls_pointer.c
- testsuite/libffi.call/cls_pointer_stack.c
- testsuite/libffi.call/err_bad_abi.c
- testsuite/libffi.call/err_bad_typedef.c
- testsuite/libffi.call/stret_large2.c
- testsuite/libffi.call/stret_large.c
- testsuite/libffi.call/stret_medium2.c
- testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
- libffi.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
- stdcall changes.
-
-2008-02-26 Anthony Green <green@redhat.com>
- Thomas Heller <theller@ctypes.org>
-
- * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
- comment.
-
-2008-02-03 Timothy Wall <twall@users.sf.net>
-
- * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
- offset based on code pointer, not data pointer.
-
-2008-01-31 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
- closures.
- * src/x86/ffitarget.h: Increase size of trampoline for stdcall
- closures.
- * src/x86/win32.S: Add assembly for stdcall closure.
- * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Change void (*)() to void (*)(void).
- * src/x86/ffi.c: Likewise.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ppc_closure.S: Insert licence header.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/m68k/sysv.S: Likewise.
-
- * src/sh64/ffi.c: Change void (*)() to void (*)(void).
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/m32r/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi64.c: Likewise.
- * src/alpha/ffi.c: Likewise.
- * src/alpha/osf.S: Likewise.
- * src/frv/ffi.c: Likewise.
- * src/s390/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/pa/hpux32.S: Likewise.
- * src/ia64/unix.S: Likewise.
- * src/ia64/ffi.c: Likewise.
- * src/sparc/ffi.c: Likewise.
- * src/mips/ffi.c: Likewise.
- * src/sh/ffi.c: Likewise.
-
-2008-02-15 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
- Define (conditionally), and use it to include cachectl.h.
- (ffi_prep_closure_loc): Fix cache flushing.
- * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- include/ffi.h.in,
- src/arm/ffitarget.h,
- src/arm/ffi.c,
- src/arm/sysv.S,
- src/powerpc/ffitarget.h,
- src/closures.c,
- src/sh64/ffitarget.h,
- src/sh64/ffi.c,
- src/sh64/sysv.S,
- src/types.c,
- src/x86/ffi64.c,
- src/x86/ffitarget.h,
- src/x86/win32.S,
- src/x86/darwin.S,
- src/x86/ffi.c,
- src/x86/sysv.S,
- src/x86/unix64.S,
- src/alpha/ffitarget.h,
- src/alpha/ffi.c,
- src/alpha/osf.S,
- src/m68k/ffitarget.h,
- src/frv/ffitarget.h,
- src/frv/ffi.c,
- src/s390/ffitarget.h,
- src/s390/sysv.S,
- src/cris/ffitarget.h,
- src/pa/linux.S,
- src/pa/ffitarget.h,
- src/pa/ffi.c,
- src/raw_api.c,
- src/ia64/ffitarget.h,
- src/ia64/unix.S,
- src/ia64/ffi.c,
- src/ia64/ia64_flags.h,
- src/java_raw_api.c,
- src/debug.c,
- src/sparc/v9.S,
- src/sparc/ffitarget.h,
- src/sparc/ffi.c,
- src/sparc/v8.S,
- src/mips/ffitarget.h,
- src/mips/n32.S,
- src/mips/o32.S,
- src/mips/ffi.c,
- src/prep_cif.c,
- src/sh/ffitarget.h,
- src/sh/ffi.c,
- src/sh/sysv.S: Update license text.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * src/x86/win32.S (_ffi_closure_STDCALL): New function.
- (.eh_frame): Add FDE for it.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * configure.ac: Also check if assembler supports pc-relative
- relocs on X86_WIN32 targets.
- * configure: Regenerate.
- * src/x86/win32.S (ffi_prep_args): Declare extern, not global.
- (_ffi_call_SYSV): Add missing function type symbol .def and
- add EH markup labels.
- (_ffi_call_STDCALL): Likewise.
- (_ffi_closure_SYSV): Likewise.
- (_ffi_closure_raw_SYSV): Likewise.
- (.eh_frame): Add hand-crafted EH data.
-
-2009-04-09 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
- version 3 of the GNU General Public License and to point readers
- at the COPYING3 file and the FSF's license web page.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-12-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libffi/26048
- * configure.ac (HAVE_AS_X86_PCREL): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
- RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
- RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
- * src/x86/unix64.S (.Lstore_table): Move to .text section.
- (.Lload_table): Likewise.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
- signed/unsigned int8/16 return values.
- * src/sparc/v8.S (ffi_call_v8): Likewise.
- (ffi_closure_v8): Likewise.
-
-2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
- Steve Ellcey <sje@cup.hp.com>
-
- * configure: Regenerate for new libtool.
- * Makefile.in: Ditto.
- * include/Makefile.in: Ditto.
- * aclocal.m4: Ditto.
-
-2008-08-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
- FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
- Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
- Adjust copyright notice.
- * src/powerpc/ffi.c: Add two new flags to indicate if we have one
- register or two register to use for FFI_SYSV structs.
- (ffi_prep_cif_machdep): Pass the right register flag introduced above.
- (ffi_closure_helper_SYSV): Fix the return type for
- FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
- Adjust copyright notice.
-
-2008-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
- int.
-
-2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2008-06-07 Joseph Myers <joseph@codesourcery.com>
-
- * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
- powerpc-*-beos*): Remove.
- * configure: Regenerate.
-
-2008-05-09 Julian Brown <julian@codesourcery.com>
-
- * Makefile.am (LTLDFLAGS): New.
- (libffi_la_LDFLAGS): Use above.
- * Makefile.in: Regenerate.
-
-2008-04-18 Paolo Bonzini <bonzini@gnu.org>
-
- PR bootstrap/35457
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2008-03-26 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add .note.GNU-stack on Linux.
- * src/sh64/sysv.S: Likewise.
-
-2008-03-26 Daniel Jacobowitz <dan@debian.org>
-
- * src/arm/sysv.S: Fix ARM comment marker.
-
-2008-03-26 Jakub Jelinek <jakub@redhat.com>
-
- * src/alpha/osf.S: Add .note.GNU-stack on Linux.
- * src/s390/sysv.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
- * src/x86/unix64.S: Likewise.
- * src/x86/sysv.S: Likewise.
- * src/sparc/v8.S: Likewise.
- * src/sparc/v9.S: Likewise.
- * src/m68k/sysv.S: Likewise.
- * src/arm/sysv.S: Likewise.
-
-2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * aclocal.m4: Regenerate.
- * configure: Likewise.
- * Makefile.in: Likewise.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2008-02-12 Bjoern Koenig <bkoenig@alpha-tierchen.de>
- Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-freebsd* target.
- * configure: Regenerate.
-
-2008-01-30 H.J. Lu <hongjiu.lu@intel.com>
-
- PR libffi/34612
- * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
- returning struct.
-
- * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
- tests.
-
-2008-01-24 David Edelsohn <edelsohn@gnu.org>
-
- * configure: Regenerate.
-
-2008-01-06 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
-
-2008-01-05 Andreas Tobler <a.tobler@schweiz.org>
-
- PR testsuite/32843
- * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
- signed/unsigned int8/16 for X86_DARWIN.
- Updated copyright info.
- Handle one and two byte structs with special cif->flags.
- * src/x86/ffitarget.h: Add special types for one and two byte structs.
- Updated copyright info.
- * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
- sysv.S
- Remove code to pop args from the stack after call.
- Special-case signed/unsigned for int8/16, one and two byte structs.
- (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
- FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
- FFI_TYPE_SINT32.
- Updated copyright info.
-
-2007-12-08 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_call_N32): Replace dadd with ADDU, dsub with
- SUBU, add with ADDU and use smaller code sequences.
-
-2007-12-07 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
- type.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
- defined.
- (ffi_java_raw): New typedef.
- (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
- ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
- ffi_java_raw.
- (ffi_java_raw_closure) : Same.
- (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
- parameter types.
- * src/java_raw_api.c (ffi_java_raw_size): Replace FFI_SIZEOF_ARG with
- FFI_SIZEOF_JAVA_RAW.
- (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
- Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
- sizeof(ffi_java_raw) for alignment calculations.
- (ffi_java_ptrarray_to_raw): Same.
- (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
- if FFI_SIZEOF_JAVA_RAW == 4.
- (ffi_java_raw_to_rvalue): Same.
- (ffi_java_raw_call): Change type of raw to ffi_java_raw.
- (ffi_java_translate_args): Same.
- (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
- parameter types.
- * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
- pointer values.
-
-2007-12-01 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/31937
- * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
- Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
- * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
- set the NUM_FPR_ARG_REGISTERS according to.
- Add support for potential soft-float support under hard-float
- architecture.
- (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
- FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
- to the FFI_LINUX_SOFT_FLOAT ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Make sure not to store float/double
- on archs where __NO_FPRS__ is true.
- Add FFI_TYPE_UINT128 support.
- * src/powerpc/sysv.S: Add support for soft-float long-double-128.
- Adjust copyright notice.
-
-2007-11-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
- * include/ffi_common.h: ... here.
- Update copyright.
-
-2007-11-17 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
- * testsuite/libffi.call/return_ldl.c: New test.
-
-2007-09-04 <aph@redhat.com>
-
- * src/arm/sysv.S (UNWIND): New.
- (Whole file): Conditionally compile unwinder directives.
- * src/arm/sysv.S: Add unwinder directives.
-
- * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
- Only treat r0 as a struct address if we're actually returning a
- struct by address.
- Only copy the bytes that are actually within a struct.
- (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
- is returned in r0, not passed by address.
- (ffi_call): Allocate a word-sized temporary for the case where
- a composite is returned in r0.
- (ffi_prep_incoming_args_SYSV): Align as necessary.
-
-2007-08-05 Steven Newbury <s_j_newbury@yahoo.co.uk>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
- directly using the sys_cacheflush syscall.
-
-2007-07-27 Andrew Haley <aph@redhat.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
-
-2007-09-03 Maciej W. Rozycki <macro@linux-mips.org>
-
- * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure: Likewise.
-
-2007-08-24 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/return_sl.c: New test.
-
-2007-08-10 David Daney <ddaney@avtrex.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/nested_struct5.c,
- testsuite/libffi.call/cls_double.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/nested_struct.c,
- testsuite/libffi.call/cls_2byte.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_sint16.c,
- testsuite/libffi.call/cls_align_uint32.c,
- testsuite/libffi.call/cls_20byte.c,
- testsuite/libffi.call/cls_float.c,
- testsuite/libffi.call/nested_struct2.c,
- testsuite/libffi.call/cls_5_1_byte.c,
- testsuite/libffi.call/nested_struct4.c,
- testsuite/libffi.call/cls_24byte.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: Remove xfail for mips64*-*-*.
-
-2007-08-10 David Daney <ddaney@avtrex.com>
-
- 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.
-
-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*.
- * 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.
-
-2006-12-13 Andreas Tobler <a.tobler@schweiz.org>
-
- * aclocal.m4: Regenerate with aclocal -I .. as written in the
- Makefile.am.
-
-2006-10-31 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
- (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
- Darwin.
- * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
- * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10 Paolo Bonzini <bonzini@gnu.org>
- Sandro Tolaini <tolaini@libero.it>
-
- * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
- conditional.
- * configure: Regenerated.
- * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
- (EXTRA_DIST): Add src/x86/darwin.S.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
- X86_WIN32, and additionally align stack to 16 bytes.
- * src/x86/darwin.S: New, based on sysv.S.
- * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12 David Daney <ddaney@avtrex.com>
-
- PR libffi/23935
- * include/Makefile.am: Install both ffi.h and ffitarget.h in
- $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
- * aclocal.m4: Regenerated for automake 1.9.6.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
-2006-08-17 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h: Remove lint directives.
- * include/ffi.h.in: Likewise.
-
-2006-07-25 Torsten Schoenfeld <kaffeetisch@gmx.de>
-
- * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
- for 32-bit architectures.
- * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
- xfail remains for mips64.
-
-2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
-
- * Makefile.am: Add install-html target. Add install-html to .PHONY
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
- stack slot.
-
-2006-04-22 Andreas Tobler <a.tobler@schweiz.ch>
-
- * README: Remove notice about 'Crazy Comments'.
- * src/debug.c: Remove lint directives. Cleanup white spaces.
- * src/java_raw_api.c: Likewise.
- * src/prep_cif.c: Likewise.
- * src/raw_api.c: Likewise.
- * src/ffitest.c: Delete. No longer needed, all test cases migrated
- to the testsuite.
- * src/arm/ffi.c: Remove lint directives.
- * src/m32r/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/sh/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/pa/hpux32.S: Correct unwind offset calculation for
- ffi_closure_pa32.
- * src/pa/linux.S: Likewise.
-
-2006-04-12 James E Wilson <wilson@specifix.com>
-
- PR libgcj/26483
- * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
- (hfa_type_load): Call stf_spill.
- (hfa_type_store): Call ldf_fill.
- (ffi_call): Adjust calls to above routines. Add local temps for
- macro result.
-
-2006-04-10 Matthias Klose <doko@debian.org>
-
- * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
- directory names containing underscores.
-
-2006-04-07 James E Wilson <wilson@specifix.com>
-
- * testsuite/libffi.call/float4.c: New testcase.
-
-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.
-
-2006-03-24 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Default
- for 32-bit using IBM extended double format. Fix FFI_LAST_ABI.
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
- FFI_TYPE_LONGDOUBLE.
- (ffi_prep_args64): Assert using IBM extended double.
- (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
- Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
- (ffi_call): Handle FFI_LINUX.
- (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
- gpr3 return pointer as for struct return. Handle FFI_LINUX
- FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf"
- unnecessarily.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
- for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table.
- Don't use r6 as pointer to results, instead use sp offset. Don't
- make a special call to load lr with case table address, instead
- use offset from previous call.
- * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
- return.
-
-2006-03-15 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
- passed with FP registers correctly.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S: Likewise.
-
-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.
-
-2006-02-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
- -O2, -O3, -Os and the warning flags -W -Wall.
- * testsuite/libffi.special/special.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
- unused parameter unused for gcc or else do nothing.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
- * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
- * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
- * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
- * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
- * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
- * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
- * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
- * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
- void* to avoid compiler warning.
- (main): Likewise.
- (cls_struct_align_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
- * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
- * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
- userdata unused.
- (cls_ret_schar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
- userdata unused.
- (cls_ret_sint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
- userdata unused.
- (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn): Mark cif and
- userdata unused.
- (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
- userdata unused.
- (cls_ret_uint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
- userdata unused.
- (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
- * testsuite/libffi.call/float1.c (main): Remove unused variable i.
- Cleanup white spaces.
- * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
- * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
- cif and userdata unused.
- * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
- Likewise.
- * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
- formatters to silence gcc.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct4.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct6.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
- * testsuite/libffi.call/problem1.c (stub): Likewise.
- * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
- gcc.
- * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
- in the last commit for this test case in the test case itself.
- * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
- unused.
- * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
- * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
- * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
- * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
- * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
- * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Fix register numbers in the FDE for
- ffi_closure_SYSV.
-
-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.
-
-2006-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
- and cast integer to void * if needed. Update the pointer to
- the FP register saved area correctly.
-
-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.
-
-2006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/return_dbl.c: New test case.
- * testsuite/libffi.call/return_dbl1.c: Likewise.
- * testsuite/libffi.call/return_dbl2.c: Likewise.
- * testsuite/libffi.call/return_fl.c: Likewise.
- * testsuite/libffi.call/return_fl1.c: Likewise.
- * testsuite/libffi.call/return_fl2.c: Likewise.
- * testsuite/libffi.call/return_fl3.c: Likewise.
- * testsuite/libffi.call/closure_fn6.c: Likewise.
-
- * 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.
-
-2006-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.ac: Enable libffi for sparc64-*-freebsd*.
- * configure: Rebuilt.
-
-2006-01-18 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
- instead do the shifting inline.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
- shift count unconditionally. Simplify load sequences for 1, 2, 3, 4
- and 8 byte structs, for the remaining struct sizes don't call
- __lshrdi3, instead do the shifting inline.
-
-2005-12-07 Thiemo Seufer <ths@networkno.de>
-
- * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
- missing parentheses.
- * src/mips/o32.S (ffi_call_O32): Code formatting. Define
- and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
- (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
- A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
- V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
- FA_0_0_OFF2.
- * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
- endianness bugs.
- (ffi_prep_closure): Improve trampoline instruction scheduling.
- (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c: Formatting.
- (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
- (ffi_prep_args64): Likewise.
-
-2005-09-30 Geoffrey Keating <geoffk@apple.com>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
- darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26 Tom Tromey <tromey@redhat.com>
-
- * 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.
-
-2005-08-25 Alan Modra <amodra@bigpond.net.au>
-
- PR target/23404
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
- homed fp args.
- (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11 Jakub Jelinek <jakub@redhat.com>
-
- * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
- (AH_BOTTOM): Add FFI_HIDDEN definition.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * src/powerpc/ffi.c (hidden): Remove.
- (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
- ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
- .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
- * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
- add FFI_HIDDEN to its prototype.
- (ffi_closure_SYSV_inner): New.
- * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
- * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10 Alfred M. Szmidt <ams@gnu.org>
-
- PR libffi/21819:
- * configure: Rebuilt.
- * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
- DW_CFA_offset_extended_sf rather than
- DW_CFA_GNU_negative_offset_extended.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
-
- * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
- on sh3.
- (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
- * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
- partially on register.
- (ffi_closure_helper_SYSV): Likewise.
- (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_call): Handle small structures correctly.
- Remove empty line.
- * src/sh64/ffi.c (simple_type): Remove.
- (return_type): Handle small structures correctly.
- (ffi_prep_args): Likewise.
- (ffi_call): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
- Emit position independent code if PIC and remove wrong datalabel
- prefixes from EH data.
-
-2005-07-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure.ac: Add POWERPC_FREEBSD rules.
- * configure: Regenerate.
- * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
- (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
- * src/powerpc/ffi.c: Add flags to handle small structure returns
- in ffi_call_SYSV.
- (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
- Aka FFI_SYSV.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Add return types for small structures.
- * src/powerpc/sysv.S: Add bits to handle small structures for
- final SYSV 4 ABI.
-
-2005-07-10 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_5_1_byte.c: New test file.
- * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05 Randolph Chung <tausq@debian.org>
-
- * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
- as FFI_TYPE_SMALL_STRUCT3. Break out handling for 5-7 byte
- structures. Kill compilation warnings.
- (ffi_closure_inner_LINUX): Print return values as hex in debug
- message. Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
- Properly handle 5-7 byte structure returns.
- * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
- (FFI_TYPE_SMALL_STRUCT2): Remove.
- (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
- (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
- * src/pa/linux.S: Mark source file as using PA1.1 assembly.
- (checksmst1, checksmst2): Remove.
- (checksmst3): Optimize handling of 3-byte struct returns.
- (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libgcj/21943
- * src/mips/n32.S: Enforce PIC code.
- * src/mips/o32.S: Likewise.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
- * configure: Regenerate.
-
-2005-06-01 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
- to call ffi_closure_helper_SYSV. Append @local instead.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
- Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
- * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
- * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
- include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-05-08 Richard Henderson <rth@redhat.com>
-
- PR libffi/21285
- * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04 Andreas Degert <ad@papyrus-gmbh.de>
- Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
- bit 11 of flags.
- (ffi_call): Mask return type field. Pass ssecount to ffi_call_unix64.
- (ffi_prep_closure): Set carry bit if sse-used flag set.
- * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
- Only load sse registers if ssecount non-zero.
- (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
- powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
- * configure: Regenerate.
-
-2005-04-20 Hans-Peter Nilsson <hp@axis.com>
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
- have Tcl8.3-compatible intermediate variable.
-
-2005-04-18 Simon Posnjak <simon.posnjak@siol.net>
- Hans-Peter Nilsson <hp@axis.com>
-
- * Makefile.am: Add CRIS support.
- * configure.ac: Likewise.
- * Makefile.in, configure, testsuite/Makefile.in,
- include/Makefile.in: Regenerate.
- * src/cris: New directory.
- * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
- * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
- \r?\n in output tests.
-
-2005-04-12 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-03-30 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30 Steve Ellcey <sje@cup.hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
- (ffi_sarg) Ditto.
- * src/ia64/unix.S (ffi_closure_unix): Extend gp
- to 64 bits in ILP32 mode.
- Load 64 bits even for short data.
-
-2005-03-23 Mike Stump <mrs@apple.com>
-
- * src/powerpc/darwin.S: Update for -m64 multilib.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21 Zack Weinberg <zack@codesourcery.com>
-
- * 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.
-
-2005-02-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
- odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR libffi/20104
- * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11 Janis Johnson <janis187@us.ibm.com>
-
- * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
- * testsuite/libffi.call/float.c: Ditto.
- * testsuite/libffi.call/float2.c: Ditto.
- * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * testsuite/libffi.special/special.exp (cxx_options): Add
- -shared-libgcc.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
- (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
- offset parameters with a type parameter; deduce size and structure
- alignment. Update all users.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
- (FFI_TYPE_LONGDOUBLE): Fix for ia64.
- * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
- into ffi_prep_closure.
- * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
- from scratch.
-
-2004-12-27 Richard Henderson <rth@redhat.com>
-
- * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25 Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
- (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
- (merge_classes): Check for it.
- (SSE_CLASS_P): New.
- (classify_argument): Pass byte_offset by value; perform all updates
- inside struct case.
- (examine_argument): Add classes argument; handle
- X86_64_COMPLEX_X87_CLASS.
- (ffi_prep_args): Merge into ...
- (ffi_call): ... here. Share stack frame with ffi_call_unix64.
- (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
- (ffi_fill_return_value): Remove.
- (ffi_prep_closure): Remove dead assert.
- (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
- Rewrite to use struct register_args instead of va_list. Create
- flags for handling structure returns.
- * src/x86/unix64.S: Remove dead strings.
- (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share
- stack frame with ffi_call. Handle structure returns properly.
- (float2sse, floatfloat2sse, double2sse): Remove.
- (sse2float, sse2double, sse2floatfloat): Remove.
- (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite
- to handle structure returns properly.
-
-2004-12-08 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
- PICFLAG.
- * Makefile.in: Regenerated.
-
-2004-12-02 Richard Sandiford <rsandifo@redhat.com>
-
- * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
- * configure, aclocal.m4, Makefile.in: Regenerate.
- * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-25 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool reversion.
-
-2004-11-24 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23 Richard Sandiford <rsandifo@redhat.com>
-
- * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
- of jal. Use an absolute encoding for the frame information.
-
-2004-11-23 Kelley Cook <kcook@gcc.gnu.org>
-
- * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS.
- * acinclude.m4: Delete logic for sincludes.
- * aclocal.m4, Makefile.in, configure: Regenerate.
- * include/Makefile: Likewise.
- * testsuite/Makefile: Likewise.
-
-2004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
- on a 8-byte boundary.
- * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
- long long values. Round stack allocation to a multiple of 8 bytes
- for ATPCS compatibility.
- * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
- names. Handle returning long long types. Add Thumb and interworking
- support. Improve soft-float code.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
- (libffi_exit): New function.
- (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR other/18138
- * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
- * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
- the function returning a structure pointed with R2.
- * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
- the structure return value if T bit set. Emit position
- independent code and EH data if PIC.
-
-2004-10-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * Makefile.am: Add m32r support.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * confiugre: Regenerate.
- * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
- (uint64, sint64, double, longdouble)
- * src/m32r: New directory.
- * src/m32r/ffi.c: New file.
- * src/m32r/sysv.S: Likewise.
- * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * testsuite/libffi.call/negint.c: New test case.
-
-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.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/many_win32.c: Remove whitespaces.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
- whitespaces.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Fix comments and identation.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
- (ffi_prep_args): Handle longdouble arguments.
- (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
- longdouble.
- (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
- * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
- values.
- * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
- * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/aix.S: Remove whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
- * src/powerpc/asm.h: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffitarget.h: Likewise.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
-
-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.in: Read configure.host.
- * 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 shouldn't 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.
-
-2004-08-24 David Daney <daney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
- to zero.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23 David Daney <daney@avtrex.com>
-
- PR libgcj/13141
- * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
- * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
- (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
- parameters and return types.
- (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
- (ffi_prep_closure): Ditto.
- (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
- alignment calculations.
- * src/mips/o32.S (ffi_closure_O32): Don't use floating point
- instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14 Casey Marshall <csm@gnu.org>
-
- * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
- contain `FFI_TYPE_UINT64' as return type for any 64-bit
- integer (O32 ABI only).
- (ffi_prep_closure): new function.
- (ffi_closure_mips_inner_O32): new function.
- * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
- `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
- * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
- 64 bit integers correctly.
- (ffi_closure_O32): new function.
- Added DWARF-2 unwind info for both functions.
-
-2004-08-10 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01 Robert Millan <robertmh@gnu.org>
-
- * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
- * configure: Regenerate.
-
-2004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
-
- * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
- and mmap() explicitly instead of relying on preset autoconf cache
- variables.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
- (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
- character on Darwin, use '\n\t' instead.
-
-2004-06-26 Matthias Klose <doko@debian.org>
-
- * libtool-version: Fix typo in revision/age.
-
-2004-06-17 Matthias Klose <doko@debian.org>
-
- * libtool-version: New.
- * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
- * Makefile.in: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * Makefile.am: Remove useless multilib rules.
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate with automake 1.8.5.
- * configure.ac: Remove useless multilib configury.
- * configure: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * .cvsignore: New file.
-
-2004-06-10 Jakub Jelinek <jakub@redhat.com>
-
- * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
- fp_done.
- (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
- changed from 8.
-
-2004-06-06 Sean McNeil <sean@mcneil.com>
-
- * configure.ac: Add x86_64-*-freebsd* support.
- * configure: Regenerate.
-
-2004-04-26 Joe Buck <jbuck@welsh-buck.org>
-
- Bug 15093
- * configure.ac: Test for existence of mmap and sys/mman.h before
- checking blacklist. Fix suggested by Jim Wilson.
- * configure: Regenerate.
-
-2004-04-26 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
- FDE location.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
- error. Reported by Thomas Heller <theller@python.net>.
- * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20 Matthias Klose <doko@debian.org>
-
- * src/pa/linux.S: Fix typo.
-
-2004-03-19 Matthias Klose <doko@debian.org>
-
- * Makefile.am: Update.
- * Makefile.in: Regenerate.
- * src/pa/ffi.h.in: Remove.
- * src/pa/ffitarget.h: New file.
-
-2004-02-10 Randolph Chung <tausq@debian.org>
-
- * Makefile.am: Add PA support.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * configure.ac: Add PA target.
- * configure: Regenerate.
- * src/pa/ffi.c: New file.
- * src/pa/ffi.h.in: Add PA support.
- * src/pa/linux.S: New file.
- * prep_cif.c: Add PA support.
-
-2004-03-16 Hosaka Yuji <hos@tamanegi.org>
-
- * src/types.c: Fix alignment size of X86_WIN32 case int64 and
- double.
- * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
- with ecif->cif->flags.
- (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
- with cif->flags.
- (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
- (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
- * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
- sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.in: Rename file to ...
- * configure.ac: ... this.
- * fficonfig.h.in: Regenerate.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2004-03-12 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Fix EH information so it corresponds to
- changes in EH format resulting from addition of linkonce support.
- * src/powerpc/darwin_closure.S: Likewise.
-
-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.
-
-2004-03-11 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
- arguments from fp registers only for the first 8 parameter slots.
- Don't convert a float parameter when passed in memory.
-
-2004-03-09 Hans-Peter Nilsson <hp@axis.com>
-
- * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
-
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
- ecif->cif->bytes to bytes.
- (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
- * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
- (ffi_closure_helper_LINUX64): Fix typo.
- * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
- for powerpc64-*-*.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
- long double function return and long double arg handling.
- (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
- Use "end_pfr" instead of "nf". Correct long double handling.
- Localise "temp".
- * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
- return value.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
- space for long double return value. Adjust stack frame and offsets.
- Load f2 long double return.
-
-2004-02-07 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
- when the structure return address is passed in %o0.
- (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
- (ffi_v9_layout_struct): Align the field following a nested structure
- on a word boundary. Use memmove instead of memcpy.
- (ffi_call): Update call to ffi_V9_return_struct.
- (ffi_prep_closure): Define 'ctx' only for V8.
- (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
- and ffi_closure_sparc_inner_v9.
- (ffi_closure_sparc_inner_v8): Return long doubles by reference.
- Always skip the structure return address. For structures and long
- doubles, copy the argument directly.
- (ffi_closure_sparc_inner_v9): Skip the structure return address only
- if required. Shift the maximum floating-point slot accordingly. For
- big structures, copy the argument directly; otherwise, left-justify the
- argument and call ffi_v9_layout_struct to lay out the structure on
- the stack.
- * src/sparc/v8.S: Undef STACKFRAME before defining it.
- (ffi_closure_v8): Pass the structure return address. Update call to
- ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
- Skip the 'unimp' insn when returning long doubles and structures.
- * src/sparc/v9.S: Undef STACKFRAME before defining it.
- (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
- FFI_TYPE_INT handling. Load structures both in integers and
- floating-point registers on return.
- * README: Update status of the SPARC port.
-
-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.
-
-2004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
-
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
- value as of type ffi_arg, not unsigned int.
-
-2004-01-21 Michael Ritzert <ritzert@t-online.de>
-
- * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
- of the LHS.
-
-2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
- Solaris.
-
-2004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
- to void *.
-
-2003-12-10 Richard Henderson <rth@redhat.com>
-
- * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
- size_t instead of int.
-
-2003-12-04 Hosaka Yuji <hos@tamanegi.org>
-
- * testsuite/libffi.call/many_win32.c: Include <float.h>.
- * testsuite/libffi.call/many_win32.c (main): Replace variable
- int i with unsigned long ul.
-
- * testsuite/libffi.call/cls_align_uint64.c: New test case.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02 Hosaka Yuji <hos@tamanegi.org>
-
- PR other/13221
- * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
- Align arguments to 32 bits.
-
-2003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR other/13221
- * testsuite/libffi.call/cls_multi_sshort.c: New test case.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-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.
-
-2003-11-21 Andreas Jaeger <aj@suse.de>
- Andreas Tobler <a.tobler@schweiz.ch>
-
- * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
- * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
- * Makefile.in: Rebuilt.
- * aclocal.m4: Likewise.
- * configure: Likewise.
- * fficonfig.h.in: Likewise.
- * testsuite/lib/libffi-dg.exp: Add include dir.
- * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
- for ffi_closure if available.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
- Add -lgcc_s to additional flags.
-
-2003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.in, include/Makefile.am: PR libgcj/11147, install
- the ffitarget.h header file in a gcc versioned and target
- dependent place.
- * configure: Regenerated.
- * Makefile.in, include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Print result and check
- with dg-output to make debugging easier.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
- static.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_9byte2.c: New test case.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_double.c: Do a check on the result.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/prep_cif.c (ffi_prep_cif): Move the validity check after
- the initialization.
-
-2003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
- FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
- __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-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
-
-2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
- _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
- Used when FFI_DEBUG = 1.
-
-2003-10-14 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
- and align.
-
-2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
- FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
- SPARC64. Cleanup whitespaces.
-
-2003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
- strongarm, xscale. Cleanup whitespaces.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Cleanup whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
- * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
- parameter stack.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
- according to the Darwin/AIX ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_DARWIN): Likewise.
- Remove the outgoing parameter stack logic. Simplify the evaluation
- of the different CASE types.
- (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
- statement in the trampoline code.
-
-2003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
- for the register size.
- (ffi_closure_helper_SYSV): Handle the structure return value
- address correctly.
- (ffi_closure_helper_SYSV): Return the appropriate type when
- the registers are used for the structure return value.
- * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
- the 64-bit return value. Update copyright years.
-
-2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
- srcdir for ffi_mips.h.
-
-2003-09-12 Alan Modra <amodra@bigpond.net.au>
-
- * src/prep_cif.c (initialize_aggregate): Include tail padding in
- structure size.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
- placement of float result.
- * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
- cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Merge identical SH and ARM
- typedefs, and add POWERPC64.
- * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
- struct split over gpr and rest.
- (ffi_prep_cif_machdep): Correct intarg_count for structures.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
- passing correctly.
-
-2003-09-09 Alan Modra <amodra@bigpond.net.au>
-
- * configure: Regenerate.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Remove build rules for ffitest.
- * Makefile.in: Rebuilt.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
- about implicit declaration of abort().
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
- * Makefile.in: Rebuilt.
- * configure.in: Add dejagnu test framework.
- * configure: Rebuilt.
-
- * testsuite/Makefile.am: New file.
- * testsuite/Makefile.in: Built
- * testsuite/lib/libffi-dg.exp: New file.
- * testsuite/config/default.exp: Likewise.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Likewise.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float1.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/many.c: Likewise.
- * testsuite/libffi.call/many_win32.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
- * testsuite/libffi.call/strlen.c: Likewise.
- * testsuite/libffi.call/strlen_win32.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
- * testsuite/libffi.call/struct2.c: Likewise.
- * testsuite/libffi.call/struct3.c: Likewise.
- * testsuite/libffi.call/struct4.c: Likewise.
- * testsuite/libffi.call/struct5.c: Likewise.
- * testsuite/libffi.call/struct6.c: Likewise.
- * testsuite/libffi.call/struct7.c: Likewise.
- * testsuite/libffi.call/struct8.c: Likewise.
- * testsuite/libffi.call/struct9.c: Likewise.
- * testsuite/libffi.special/special.exp: New file.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
- copyright years.
-
-2003-08-02 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
- structure passing.
- (ffi_closure_helper_LINUX64): Likewise.
- * src/powerpc/linux64.S: Remove code writing to parm save area.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
- address in lr from ffi_closure_helper_LINUX64 call to calculate
- table address. Optimize function tail.
-
-2003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/sparc/ffi.c: Handle all floating point registers.
- * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
-
- * README: Note that libffi is not part of GCC. Update the project
- URL and status.
-
-2003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
- Use C style comments.
-
-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
- should be read-only.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * include/ffi.h.in (EH_FRAME_FLAGS): Define.
- * src/alpha/osf.S: Use EH_FRAME_FLAGS.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
- * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
- if -fpic/-fPIC/-mrelocatable.
- * src/powerpc/powerpc_closure.S: Likewise.
- * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
- #write in .eh_frame flags.
- * src/sparc/v9.S: Likewise.
- * src/x86/unix64.S: Use EH_FRAME_FLAGS.
- * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
- * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
-
-2003-05-07 Jeff Sturm <jsturm@one-point.com>
-
- Fixes PR bootstrap/10656
- * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
- support for .register pseudo-op.
- * src/sparc/v8.S: Use it.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2003-04-18 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (POWERPC64): Define if 64-bit.
- (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
- Make it the default on POWERPC64.
- (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
- * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
- * configure: Rebuilt.
- * src/powerpc/ffi.c (hidden): Define.
- (ffi_prep_args_SYSV): Renamed from
- ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
- (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
- ASM_NEEDS_REGISTERS64): New.
- (ffi_prep_args64): New function.
- (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
- (ffi_call): Likewise.
- (ffi_prep_closure): Likewise.
- (flush_icache): Surround by #ifndef POWERPC64.
- (ffi_dblfl): New union type.
- (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
- (ffi_closure_helper_LINUX64): New function.
- * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
- __powerpc64__.
- * src/powerpc/sysv.S: Likewise.
- (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
- * src/powerpc/linux64.S: New file.
- * src/powerpc/linux64_closure.S: New file.
- * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
- src/powerpc/linux64_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
- * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
- closure_test_fn3): Fix result printing on big-endian 64-bit
- machines.
- (main): Print tst2_arg instead of uninitialized tst2_result.
-
- * src/ffitest.c (main): Hide what closure pointer really points to
- from the compiler.
-
-2003-04-16 Richard Earnshaw <rearnsha@arm.com>
-
- * configure.in (arm-*-netbsdelf*): Add configuration.
- (configure): Regenerated.
-
-2003-04-04 Loren J. Rittle <ljrittle@acm.org>
-
- * include/Makefile.in: Regenerate.
-
-2003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
-
- * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
- bit mode.
- * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
- Receive closure pointer through parameter, read args using
- __builtin_dwarf_cfa.
- (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12 Andreas Schwab <schwab@suse.de>
-
- * configure.in: Avoid trailing /. in toolexeclibdir.
- * configure: Rebuilt.
-
-2003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/powerpc/darwin_closure.S:
- Fix alignement bug, allocate 8 bytes for the result.
- * libffi/src/powerpc/aix_closure.S:
- Likewise.
- * libffi/src/powerpc/ffi_darwin.c:
- Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06 Jakub Jelinek <jakub@redhat.com>
-
- * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
- attribute.
-
-2003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
- Andreas Schwab <schwab@suse.de>
-
- * configure.in: Adjust command to source config-ml.in to account
- for changes to the libffi_basedir definition.
- (libffi_basedir): Remove ${srcdir} from value and include trailing
- slash if nonempty.
-
- * configure: Regenerate.
-
-2003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
- * src/x86/ffi64.c (ffi_prep_closure): New.
- (ffi_closure_UNIX64_inner): New.
- * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
- Remove USE_LIBDIR conditional.
- * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
- * Makefile.in, configure: Rebuilt.
-
-2003-01027 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
- * Makefile.in: Regenerate.
-
-2003-01-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
- unwind info.
-
-2003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Add unwind info.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
- (ffi_prep_cif_machdep): Likewise.
- * src/x86/unix64.S: Add unwind info.
-
-2003-01-14 Andreas Jaeger <aj@suse.de>
-
- * src/ffitest.c (main): Only use ffi_closures if those are
- supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/ffitest.c
- add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
- * libffi/src/powerpc/ffi.c
- fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c: Remove RCS version string.
- * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
- * src/ffitest.c (main): Use static storage for closure.
- * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
- * src/sparc/v8.S (ffi_closure_v8): New.
- * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10 Ranjit Mathew <rmathew@hotmail.com>
-
- * include/ffi.h.in: Added FFI_STDCALL ffi_type
- enumeration for X86_WIN32.
- * src/x86/win32.S: Added ffi_call_STDCALL function
- definition.
- * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
- switch cases for recognising FFI_STDCALL and
- calling ffi_call_STDCALL if target is X86_WIN32.
- * src/ffitest.c (my_stdcall_strlen/stdcall_many):
- stdcall versions of the "my_strlen" and "many"
- test functions (for X86_WIN32).
- Added test cases to test stdcall invocation using
- these functions.
-
-2002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26 Jim Wilson <wilson@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23 H.J. Lu <hjl@gnu.org>
-
- * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
- Include ../config/accross.m4.
- * aclocal.m4; Rebuild.
- * configure: Likewise.
-
-2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11 DJ Delorie <dj@redhat.com>
-
- * configure.in: Look for common files in the right place.
-
-2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
- raw data as _Jv_word values, not ffi_raw.
- (ffi_java_ptrarray_to_raw): Likewise.
- (ffi_java_rvalue_to_raw): New function.
- (ffi_java_raw_call): Call it.
- (ffi_java_raw_to_rvalue): New function.
- (ffi_java_translate_args): Call it.
- * src/ffitest.c (closure_test_fn): Interpret return value
- as ffi_arg, not int.
- * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
- FFI_TYPE_POINTER case.
- (ffi_closure_helper_SYSV): Likewise. Also, assume return
- values extended to word size.
-
-2002-10-02 Andreas Jaeger <aj@suse.de>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01 Bo Thorsen <bo@smetana.suse.de>
-
- * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
-
- * configure.in: Add s390x-*-linux-* target.
- * configure: Regenerate.
- * include/ffi.h.in: Define S390X for s390x targets.
- (FFI_CLOSURES): Define for s390/s390x.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
- * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
- * src/s390/ffi.c: Major rework of existing code. Add support for
- s390x targets. Add closure support.
- * src/s390/sysv.S: Likewise.
-
-2002-09-29 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: Fix typo.
-
-2002-09-28 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
- has defined __USER_LABEL_PREFIX__, then use it in CNAME.
- (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27 Bo Thorsen <bo@suse.de>
-
- * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * configure.in (sh[34]*-*-linux*): Add brackets.
- * configure: Regenerate.
-
-2002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * Makefile.am: Add SH support.
- * Makefile.in: Regenerate.
- * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
- * configure: Regenerate.
- * include/ffi.h.in: Add SH support.
- * src/sh/ffi.c: New file.
- * src/sh/sysv.S: New file.
- * src/types.c: Add SH support.
-
-2002-07-16 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi64.c: New file that adds x86-64 support.
- * src/x86/unix64.S: New file that handles argument setup for
- x86-64.
- * src/x86/sysv.S: Don't use this on x86-64.
- * src/x86/ffi.c: Don't use this on x86-64.
- Remove unused vars.
- * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
- for x86-64.
- * src/ffitest.c (struct6): New test that tests a special case in
- the x86-64 ABI.
- (struct7): Likewise.
- (struct8): Likewise.
- (struct9): Likewise.
- (closure_test_fn): Silence warning about this when it's not used.
- (main): Add the new tests.
- (main): Fix a couple of wrong casts and silence some compiler warnings.
- * include/ffi.h.in: Add x86-64 ABI definition.
- * fficonfig.h.in: Regenerate.
- * Makefile.am: Add x86-64 support.
- * configure.in: Likewise.
- * Makefile.in: Regenerate.
- * configure: Likewise.
-
-2002-06-24 Bo Thorsen <bo@suse.de>
-
- * src/types.c: Merge settings for similar architectures.
- Add x86-64 sizes and alignments.
-
-2002-06-23 Bo Thorsen <bo@suse.de>
-
- * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
- * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
- * src/mips/ffi.c (ffi_prep_args): Likewise.
- * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18 H.J. Lu (hjl@gnu.org)
-
- * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
- (libffi_la_SOURCES): Support MIPS_LINUX.
- (libffi_convenience_la_SOURCES): Likewise.
- * Makefile.in: Regenerated.
-
- * configure.in (mips64*-*): Skip.
- (mips*-*-linux*): New.
- * configure: Regenerated.
-
- * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
-
-2002-05-27 Roger Sayle <roger@eyesopen.com>
-
- * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
- fix formatting.
-
-2002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
- beginning of function (for older apple cc).
-
-2002-05-08 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
- script entry, and set LD to it when configuring multilibs.
- * configure: Rebuilt.
-
-2002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (sparc64-*-netbsd*): Add target.
- (sparc-*-netbsdelf*): Likewise.
- * configure: Regenerate.
-
-2002-04-28 David S. Miller <davem@redhat.com>
-
- * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
-
- * Makefile.am: Add Linux for S/390 support.
- * Makefile.in: Regenerate.
- * configure.in: Add Linux for S/390 support.
- * configure: Regenerate.
- * include/ffi.h.in: Add Linux for S/390 support.
- * src/s390/ffi.c: New file from libffi CVS tree.
- * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
- %r_disp32().
- * src/sparc/v8.S: Use it.
- * src/sparc/v9.S: Likewise.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2002-04-08 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
- correctly.
- * src/ia64/unix.S: Add unwind information. Fix comments.
- Save sp in a way that's compatible with unwind info.
- (ffi_call_unix): Correctly restore sp in all cases.
- * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08 Jakub Jelinek <jakub@redhat.com>
-
- * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (alpha*-*-netbsd*): Add target.
- * configure: Regenerate.
-
-2002-04-04 Jeff Sturm <jsturm@one-point.com>
-
- * src/sparc/v8.S: Add unwind info.
- * src/sparc/v9.S: Likewise.
-
-2002-03-30 Krister Walfridsson <cato@df.lth.se>
-
- * configure.in: Enable i*86-*-netbsdelf*.
- * configure: Rebuilt.
-
-2002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
-
- PR other/2620
- * src/mips/n32.s: Delete
- * src/mips/o32.s: Delete
-
-2002-03-21 Loren J. Rittle <ljrittle@acm.org>
-
- * configure.in: Enable alpha*-*-freebsd*.
- * configure: Rebuilt.
-
-2002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * Makefile.am: libfficonvenience -> libffi_convenience.
- * Makefile.in: Rebuilt.
-
- * Makefile.am: Define ffitest_OBJECTS.
- * Makefile.in: Rebuilt.
-
-2002-03-07 Andreas Tobler <toa@pop.agri.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
- (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
- (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
- * Makefile.in: Regenerate.
- * include/ffi.h.in: Add AIX and Darwin closure definitions.
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
- (flush_icache, flush_range): New functions.
- (ffi_closure_helper_DARWIN): New function.
- * src/powerpc/aix_closure.S: New file.
- * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add typedef for ffi_arg.
- * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21 Andreas Tobler <toa@pop.agri.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
- number of GPRs for floating-point arguments.
-
-2002-01-31 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Replace CHECK_SIZEOF and endian tests with
- cross-compiler friendly macros.
- * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
- macros.
-
-2002-01-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): New.
- * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
- (TARGET_SRC_POWERPC_AIX): New.
- (POWERPC_AIX): New stanza.
- * Makefile.in: Regenerate.
- * configure.in: Add AIX case.
- * configure: Regenerate.
- * include/ffi.h.in (ffi_abi): Add FFI_AIX.
- * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
- size. Fix "long double" support.
- (ffi_call): Add FFI_AIX case.
- * src/powerpc/aix.S: New.
-
-2001-10-09 John Hornkvist <john@toastedmarshmallow.com>
-
- Implement Darwin PowerPC ABI.
- * configure.in: Handle powerpc-*-darwin*.
- * Makefile.am: Set source files for POWERPC_DARWIN.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
- * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
- POWERPC_DARWIN.
- * src/powerpc/darwin.S: New file.
- * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .balign directive.
- Use C style comments.
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
- Fixes PR bootstrap/3563.
-
-2001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.in: Recognize sparc*-sun-* host.
- * configure: Regenerate.
-
-2001-06-06 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S: Add unwind info.
- * src/powerpc/sysv.S: Add unwind info.
- * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31 Jeff Sturm <jsturm@one-point.com>
-
- * configure.in: Fix AC_ARG_ENABLE usage.
- * configure: Rebuilt.
-
-2001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * configure.in: Remove warning about beta code.
- * configure: Rebuilt.
-
-2001-04-25 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/ia64/unix.S: Restore stack pointer when returning from
- ffi_closure_UNIX.
- * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18 Jim Wilson <wilson@redhat.com>
-
- * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
- to eliminate RAW DV.
-
-2001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
-
- * Makefile.am: Make a libtool convenience library.
- * Makefile.in: Rebuilt.
-
-2001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Use different syntax for subdirectory creation.
- * configure: Rebuilt.
-
-2001-03-27 Jon Beniston <jon@beniston.com>
-
- * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
- * configure: Rebuilt.
- * Makefile.am: Added X86_WIN32 target support.
- * Makefile.in: Rebuilt.
-
- * include/ffi.h.in: Added X86_WIN32 target support.
-
- * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
- * src/types.c: Added X86_WIN32 target support.
-
- * src/x86/win32.S: New file. Based on sysv.S, but with EH
- stuff removed and made to work with CygWin's gas.
-
-2001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Make target subdirectory in build dir.
- * Makefile.am: Override suffix based rules to specify correct output
- subdirectory.
- * Makefile.in: Rebuilt.
- * configure: Rebuilt.
-
-2001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
-
- * src/powerpc/ppc_closure.S: New file.
- * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
- involving long long and register pairs.
- (ffi_prep_closure): New function.
- (flush_icache): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * Makefile.in: Rebuilt.
- * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19 Tom Tromey <tromey@redhat.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02 Nick Clifton <nickc@redhat.com>
-
- * include/ffi.h.in: Remove RCS ident string.
- * include/ffi_mips.h: Remove RCS ident string.
- * src/debug.c: Remove RCS ident string.
- * src/ffitest.c: Remove RCS ident string.
- * src/prep_cif.c: Remove RCS ident string.
- * src/types.c: Remove RCS ident string.
- * src/alpha/ffi.c: Remove RCS ident string.
- * src/alpha/osf.S: Remove RCS ident string.
- * src/arm/ffi.c: Remove RCS ident string.
- * src/arm/sysv.S: Remove RCS ident string.
- * src/mips/ffi.c: Remove RCS ident string.
- * src/mips/n32.S: Remove RCS ident string.
- * src/mips/o32.S: Remove RCS ident string.
- * src/sparc/ffi.c: Remove RCS ident string.
- * src/sparc/v8.S: Remove RCS ident string.
- * src/sparc/v9.S: Remove RCS ident string.
- * src/x86/ffi.c: Remove RCS ident string.
- * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * include/ffi.h.in: Change sourceware.cygnus.com references to
- gcc.gnu.org.
-
-2000-12-09 Richard Henderson <rth@redhat.com>
-
- * src/alpha/ffi.c (ffi_call): Simplify struct return test.
- (ffi_closure_osf_inner): Index rather than increment avalue
- and arg_types. Give ffi_closure_osf the raw return value type.
- * src/alpha/osf.S (ffi_closure_osf): Handle return value type
- promotion.
-
-2000-12-07 Richard Henderson <rth@redhat.com>
-
- * src/raw_api.c (ffi_translate_args): Fix typo.
- (ffi_prep_closure): Likewise.
-
- * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
- FFI_TRAMPOLINE_SIZE.
- * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
- cif->bytes for new ffi_call_osf implementation.
- (ffi_prep_args): Absorb into ...
- (ffi_call): ... here. Do all stack allocation here and
- avoid a callback function.
- (ffi_prep_closure, ffi_closure_osf_inner): New.
- * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
- (ffi_closure_osf): New.
-
-2000-09-10 Alexandre Oliva <aoliva@redhat.com>
-
- * config.guess, config.sub, install-sh: Removed.
- * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
- * Makefile.in: Rebuilt.
-
- * acinclude.m4: Include libtool macros from the top level.
- * aclocal.m4, configure: Rebuilt.
-
-2000-08-22 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
- * configure: Rebuilt.
-
-2000-05-11 Scott Bambrough <scottb@netwinder.org>
-
- * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
- memory correctly. Use conditional instructions, not branches where
- possible.
-
-2000-05-04 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Match `arm*-*-linux-*'.
- From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (SUBDIRS): Define.
- (AM_MAKEFLAGS): Likewise.
- (Multilib support.): Add section.
- * Makefile.in: Rebuilt.
- * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
- New variables. Set for gcc using -print-multi-lib. Export them
- to libtool.
- (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
- * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
- for -shared links.
- (extra_compiler_flags_value, extra_compiler_flags): Check these
- for extra compiler options which need to be passed down in
- compiler_flags.
-
-2000-04-16 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
- Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
- * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
- Replace all void * sizeofs with sizeof(int).
- Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
- different than DOUBLE.
- Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
- (ffi_prep_args_v9): New function.
- (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
- (ffi_V9_return_struct): New function.
- (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
- 32bit code (not yet cross-arch calls).
- * src/sparc/v8.S: Add struct return delay nop.
- Handle long long.
- * src/sparc/v9.S: New file.
- * src/prep_cif.c (ffi_prep_cif): Return structure pointer
- is used on sparc64 only for structures larger than 32 bytes.
- Pass by reference for structures is done for structure arguments
- larger than 16 bytes.
- * src/ffitest.c (main): Use 64bit rint on sparc64.
- Run long long tests on sparc.
- * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
- sparc64.
- (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
- on sparc64.
- * configure.in (sparc-*-linux*): New supported target.
- (sparc64-*-linux*): Likewise.
- * configure: Rebuilt.
- * Makefile.am: Add v9.S to SPARC files.
- * Makefile.in: Likewise.
- (LINK): Surround $(CCLD) into double quotes, so that multilib
- compiles work correctly.
-
-2000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: (i*86-*-solaris*): New libffi target. Patch
- proposed by Bryce McKinlay.
-
-2000-03-20 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
-
- * config.guess, config.sub: Update from the gcc tree.
- Fix for PR libgcj/168.
-
-2000-03-03 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Fixed ia64 by hand.
-
- * configure: Rebuilt.
- * configure.in (--enable-multilib): New option.
- (libffi_basedir): New subst.
- (AC_OUTPUT): Added multilib code.
-
-2000-03-02 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
- directory name.
-
-2000-02-25 Hans Boehm <boehm@acm.org>
-
- * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
- files.
- * src/raw_api.c (ffi_translate_args): Fixed typo in argument
- list.
- (ffi_prep_raw_closure): Use ffi_translate_args, not
- ffi_closure_translate.
- * src/java_raw_api.c: New file.
- * src/ffitest.c (closure_test_fn): New function.
- (main): Define `rint' as long long on IA64. Added new test when
- FFI_CLOSURES is defined.
- * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
- (ffi_abi): Recognize IA64.
- (ffi_raw): Added `flt' field.
- Added "Java raw API" code.
- * configure.in: Recognize ia64.
- * Makefile.am (TARGET_SRC_IA64): New macro.
- (libffi_la_common_SOURCES): Added java_raw_api.c.
- (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01 Tom Tromey <tromey@cygnus.com>
-
- * include/ffi.h.in: Removed PACKAGE and VERSION defines and
- undefs.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
- * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
- Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
- * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09 Anthony Green <green@cygnus.com>
-
- * include/ffi.h.in: Try to work around messy header problem
- with PACKAGE and VERSION.
-
- * configure: Rebuilt.
- * configure.in: Change version to 2.00-beta.
-
- * fficonfig.h.in: Rebuilt.
- * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
- * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
-
- * src/x86/ffi.c (ffi_closure_SYSV): New function.
- (ffi_prep_incoming_args_SYSV): Ditto.
- (ffi_prep_closure): Ditto.
- (ffi_closure_raw_SYSV): Ditto.
- (ffi_prep_raw_closure): More ditto.
- (ffi_call_raw): Final ditto.
-
- * include/ffi.h.in: Add definitions for closure and raw API.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
- FFI_TYPE_UINT64.
-
- * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
- * src/raw_api.c: New file.
-
- * include/ffi.h.in (ffi_raw): New type.
- (UINT_ARG, SINT_ARG): New defines.
- (ffi_closure, ffi_raw_closure): New types.
- (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
- * configure.in: Add check for endianness and sizeof void*.
-
- * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
- instead of directly.
-
- * configure: Rebuilt.
-
-Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
-
- * configure.in: Add x86 and powerpc BeOS configurations.
- From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09 Anthony Green <green@cygnus.com>
-
- * configure.in: Add warning about this being beta code.
- Remove src/Makefile.am from the picture.
- * configure: Rebuilt.
-
- * Makefile.am: Move logic from src/Makefile.am. Add changes
- to support libffi as a target library.
- * Makefile.in: Rebuilt.
-
- * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
- Upgraded to new autoconf, automake, libtool.
-
- * README: Tweaks.
-
- * LICENSE: Update copyright date.
-
- * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29 Anthony Green <green@cygnus.com>
-
- * include/ChangeLog: Removed.
- * src/ChangeLog: Removed.
- * src/mips/ChangeLog: Removed.
- * src/sparc/ChangeLog: Remboved.
- * src/x86/ChangeLog: Removed.
-
- * ChangeLog.v1: Created.
diff --git a/.pc/hpux-mallinfo/src/dlmalloc.c b/.pc/hpux-mallinfo/src/dlmalloc.c
deleted file mode 100644
index 0fa235a..0000000
--- a/.pc/hpux-mallinfo/src/dlmalloc.c
+++ /dev/null
@@ -1,5158 +0,0 @@
-/*
- This is a version (aka dlmalloc) of malloc/free/realloc written by
- Doug Lea and released to the public domain, as explained at
- http://creativecommons.org/licenses/publicdomain. Send questions,
- comments, complaints, performance data, etc to dl@cs.oswego.edu
-
-* Version 2.8.3 Thu Sep 22 11:16:15 2005 Doug Lea (dl at gee)
-
- Note: There may be an updated version of this malloc obtainable at
- ftp://gee.cs.oswego.edu/pub/misc/malloc.c
- Check before installing!
-
-* Quickstart
-
- This library is all in one file to simplify the most common usage:
- ftp it, compile it (-O3), and link it into another program. All of
- the compile-time options default to reasonable values for use on
- most platforms. You might later want to step through various
- compile-time and dynamic tuning options.
-
- For convenience, an include file for code using this malloc is at:
- ftp://gee.cs.oswego.edu/pub/misc/malloc-2.8.3.h
- You don't really need this .h file unless you call functions not
- defined in your system include files. The .h file contains only the
- excerpts from this file needed for using this malloc on ANSI C/C++
- systems, so long as you haven't changed compile-time options about
- naming and tuning parameters. If you do, then you can create your
- own malloc.h that does include all settings by cutting at the point
- indicated below. Note that you may already by default be using a C
- library containing a malloc that is based on some version of this
- malloc (for example in linux). You might still want to use the one
- in this file to customize settings or to avoid overheads associated
- with library versions.
-
-* Vital statistics:
-
- Supported pointer/size_t representation: 4 or 8 bytes
- size_t MUST be an unsigned type of the same width as
- pointers. (If you are using an ancient system that declares
- size_t as a signed type, or need it to be a different width
- than pointers, you can use a previous release of this malloc
- (e.g. 2.7.2) supporting these.)
-
- Alignment: 8 bytes (default)
- This suffices for nearly all current machines and C compilers.
- However, you can define MALLOC_ALIGNMENT to be wider than this
- if necessary (up to 128bytes), at the expense of using more space.
-
- Minimum overhead per allocated chunk: 4 or 8 bytes (if 4byte sizes)
- 8 or 16 bytes (if 8byte sizes)
- Each malloced chunk has a hidden word of overhead holding size
- and status information, and additional cross-check word
- if FOOTERS is defined.
-
- Minimum allocated size: 4-byte ptrs: 16 bytes (including overhead)
- 8-byte ptrs: 32 bytes (including overhead)
-
- Even a request for zero bytes (i.e., malloc(0)) returns a
- pointer to something of the minimum allocatable size.
- The maximum overhead wastage (i.e., number of extra bytes
- allocated than were requested in malloc) is less than or equal
- to the minimum size, except for requests >= mmap_threshold that
- are serviced via mmap(), where the worst case wastage is about
- 32 bytes plus the remainder from a system page (the minimal
- mmap unit); typically 4096 or 8192 bytes.
-
- Security: static-safe; optionally more or less
- The "security" of malloc refers to the ability of malicious
- code to accentuate the effects of errors (for example, freeing
- space that is not currently malloc'ed or overwriting past the
- ends of chunks) in code that calls malloc. This malloc
- guarantees not to modify any memory locations below the base of
- heap, i.e., static variables, even in the presence of usage
- errors. The routines additionally detect most improper frees
- and reallocs. All this holds as long as the static bookkeeping
- for malloc itself is not corrupted by some other means. This
- is only one aspect of security -- these checks do not, and
- cannot, detect all possible programming errors.
-
- If FOOTERS is defined nonzero, then each allocated chunk
- carries an additional check word to verify that it was malloced
- from its space. These check words are the same within each
- execution of a program using malloc, but differ across
- executions, so externally crafted fake chunks cannot be
- freed. This improves security by rejecting frees/reallocs that
- could corrupt heap memory, in addition to the checks preventing
- writes to statics that are always on. This may further improve
- security at the expense of time and space overhead. (Note that
- FOOTERS may also be worth using with MSPACES.)
-
- By default detected errors cause the program to abort (calling
- "abort()"). You can override this to instead proceed past
- errors by defining PROCEED_ON_ERROR. In this case, a bad free
- has no effect, and a malloc that encounters a bad address
- caused by user overwrites will ignore the bad address by
- dropping pointers and indices to all known memory. This may
- be appropriate for programs that should continue if at all
- possible in the face of programming errors, although they may
- run out of memory because dropped memory is never reclaimed.
-
- If you don't like either of these options, you can define
- CORRUPTION_ERROR_ACTION and USAGE_ERROR_ACTION to do anything
- else. And if if you are sure that your program using malloc has
- no errors or vulnerabilities, you can define INSECURE to 1,
- which might (or might not) provide a small performance improvement.
-
- Thread-safety: NOT thread-safe unless USE_LOCKS defined
- When USE_LOCKS is defined, each public call to malloc, free,
- etc is surrounded with either a pthread mutex or a win32
- spinlock (depending on WIN32). This is not especially fast, and
- can be a major bottleneck. It is designed only to provide
- minimal protection in concurrent environments, and to provide a
- basis for extensions. If you are using malloc in a concurrent
- program, consider instead using ptmalloc, which is derived from
- a version of this malloc. (See http://www.malloc.de).
-
- System requirements: Any combination of MORECORE and/or MMAP/MUNMAP
- This malloc can use unix sbrk or any emulation (invoked using
- the CALL_MORECORE macro) and/or mmap/munmap or any emulation
- (invoked using CALL_MMAP/CALL_MUNMAP) to get and release system
- memory. On most unix systems, it tends to work best if both
- MORECORE and MMAP are enabled. On Win32, it uses emulations
- based on VirtualAlloc. It also uses common C library functions
- like memset.
-
- Compliance: I believe it is compliant with the Single Unix Specification
- (See http://www.unix.org). Also SVID/XPG, ANSI C, and probably
- others as well.
-
-* Overview of algorithms
-
- This is not the fastest, most space-conserving, most portable, or
- most tunable malloc ever written. However it is among the fastest
- while also being among the most space-conserving, portable and
- tunable. Consistent balance across these factors results in a good
- general-purpose allocator for malloc-intensive programs.
-
- In most ways, this malloc is a best-fit allocator. Generally, it
- chooses the best-fitting existing chunk for a request, with ties
- broken in approximately least-recently-used order. (This strategy
- normally maintains low fragmentation.) However, for requests less
- than 256bytes, it deviates from best-fit when there is not an
- exactly fitting available chunk by preferring to use space adjacent
- to that used for the previous small request, as well as by breaking
- ties in approximately most-recently-used order. (These enhance
- locality of series of small allocations.) And for very large requests
- (>= 256Kb by default), it relies on system memory mapping
- facilities, if supported. (This helps avoid carrying around and
- possibly fragmenting memory used only for large chunks.)
-
- All operations (except malloc_stats and mallinfo) have execution
- times that are bounded by a constant factor of the number of bits in
- a size_t, not counting any clearing in calloc or copying in realloc,
- or actions surrounding MORECORE and MMAP that have times
- proportional to the number of non-contiguous regions returned by
- system allocation routines, which is often just 1.
-
- The implementation is not very modular and seriously overuses
- macros. Perhaps someday all C compilers will do as good a job
- inlining modular code as can now be done by brute-force expansion,
- but now, enough of them seem not to.
-
- Some compilers issue a lot of warnings about code that is
- dead/unreachable only on some platforms, and also about intentional
- uses of negation on unsigned types. All known cases of each can be
- ignored.
-
- For a longer but out of date high-level description, see
- http://gee.cs.oswego.edu/dl/html/malloc.html
-
-* MSPACES
- If MSPACES is defined, then in addition to malloc, free, etc.,
- this file also defines mspace_malloc, mspace_free, etc. These
- are versions of malloc routines that take an "mspace" argument
- obtained using create_mspace, to control all internal bookkeeping.
- If ONLY_MSPACES is defined, only these versions are compiled.
- So if you would like to use this allocator for only some allocations,
- and your system malloc for others, you can compile with
- ONLY_MSPACES and then do something like...
- static mspace mymspace = create_mspace(0,0); // for example
- #define mymalloc(bytes) mspace_malloc(mymspace, bytes)
-
- (Note: If you only need one instance of an mspace, you can instead
- use "USE_DL_PREFIX" to relabel the global malloc.)
-
- You can similarly create thread-local allocators by storing
- mspaces as thread-locals. For example:
- static __thread mspace tlms = 0;
- void* tlmalloc(size_t bytes) {
- if (tlms == 0) tlms = create_mspace(0, 0);
- return mspace_malloc(tlms, bytes);
- }
- void tlfree(void* mem) { mspace_free(tlms, mem); }
-
- Unless FOOTERS is defined, each mspace is completely independent.
- You cannot allocate from one and free to another (although
- conformance is only weakly checked, so usage errors are not always
- caught). If FOOTERS is defined, then each chunk carries around a tag
- indicating its originating mspace, and frees are directed to their
- originating spaces.
-
- ------------------------- Compile-time options ---------------------------
-
-Be careful in setting #define values for numerical constants of type
-size_t. On some systems, literal values are not automatically extended
-to size_t precision unless they are explicitly casted.
-
-WIN32 default: defined if _WIN32 defined
- Defining WIN32 sets up defaults for MS environment and compilers.
- Otherwise defaults are for unix.
-
-MALLOC_ALIGNMENT default: (size_t)8
- Controls the minimum alignment for malloc'ed chunks. It must be a
- power of two and at least 8, even on machines for which smaller
- alignments would suffice. It may be defined as larger than this
- though. Note however that code and data structures are optimized for
- the case of 8-byte alignment.
-
-MSPACES default: 0 (false)
- If true, compile in support for independent allocation spaces.
- This is only supported if HAVE_MMAP is true.
-
-ONLY_MSPACES default: 0 (false)
- If true, only compile in mspace versions, not regular versions.
-
-USE_LOCKS default: 0 (false)
- Causes each call to each public routine to be surrounded with
- pthread or WIN32 mutex lock/unlock. (If set true, this can be
- overridden on a per-mspace basis for mspace versions.)
-
-FOOTERS default: 0
- If true, provide extra checking and dispatching by placing
- information in the footers of allocated chunks. This adds
- space and time overhead.
-
-INSECURE default: 0
- If true, omit checks for usage errors and heap space overwrites.
-
-USE_DL_PREFIX default: NOT defined
- Causes compiler to prefix all public routines with the string 'dl'.
- This can be useful when you only want to use this malloc in one part
- of a program, using your regular system malloc elsewhere.
-
-ABORT default: defined as abort()
- Defines how to abort on failed checks. On most systems, a failed
- check cannot die with an "assert" or even print an informative
- message, because the underlying print routines in turn call malloc,
- which will fail again. Generally, the best policy is to simply call
- abort(). It's not very useful to do more than this because many
- errors due to overwriting will show up as address faults (null, odd
- addresses etc) rather than malloc-triggered checks, so will also
- abort. Also, most compilers know that abort() does not return, so
- can better optimize code conditionally calling it.
-
-PROCEED_ON_ERROR default: defined as 0 (false)
- Controls whether detected bad addresses cause them to bypassed
- rather than aborting. If set, detected bad arguments to free and
- realloc are ignored. And all bookkeeping information is zeroed out
- upon a detected overwrite of freed heap space, thus losing the
- ability to ever return it from malloc again, but enabling the
- application to proceed. If PROCEED_ON_ERROR is defined, the
- static variable malloc_corruption_error_count is compiled in
- and can be examined to see if errors have occurred. This option
- generates slower code than the default abort policy.
-
-DEBUG default: NOT defined
- The DEBUG setting is mainly intended for people trying to modify
- this code or diagnose problems when porting to new platforms.
- However, it may also be able to better isolate user errors than just
- using runtime checks. The assertions in the check routines spell
- out in more detail the assumptions and invariants underlying the
- algorithms. The checking is fairly extensive, and will slow down
- execution noticeably. Calling malloc_stats or mallinfo with DEBUG
- set will attempt to check every non-mmapped allocated and free chunk
- in the course of computing the summaries.
-
-ABORT_ON_ASSERT_FAILURE default: defined as 1 (true)
- Debugging assertion failures can be nearly impossible if your
- version of the assert macro causes malloc to be called, which will
- lead to a cascade of further failures, blowing the runtime stack.
- ABORT_ON_ASSERT_FAILURE cause assertions failures to call abort(),
- which will usually make debugging easier.
-
-MALLOC_FAILURE_ACTION default: sets errno to ENOMEM, or no-op on win32
- The action to take before "return 0" when malloc fails to be able to
- return memory because there is none available.
-
-HAVE_MORECORE default: 1 (true) unless win32 or ONLY_MSPACES
- True if this system supports sbrk or an emulation of it.
-
-MORECORE default: sbrk
- The name of the sbrk-style system routine to call to obtain more
- memory. See below for guidance on writing custom MORECORE
- functions. The type of the argument to sbrk/MORECORE varies across
- systems. It cannot be size_t, because it supports negative
- arguments, so it is normally the signed type of the same width as
- size_t (sometimes declared as "intptr_t"). It doesn't much matter
- though. Internally, we only call it with arguments less than half
- the max value of a size_t, which should work across all reasonable
- possibilities, although sometimes generating compiler warnings. See
- near the end of this file for guidelines for creating a custom
- version of MORECORE.
-
-MORECORE_CONTIGUOUS default: 1 (true)
- If true, take advantage of fact that consecutive calls to MORECORE
- with positive arguments always return contiguous increasing
- addresses. This is true of unix sbrk. It does not hurt too much to
- set it true anyway, since malloc copes with non-contiguities.
- Setting it false when definitely non-contiguous saves time
- and possibly wasted space it would take to discover this though.
-
-MORECORE_CANNOT_TRIM default: NOT defined
- True if MORECORE cannot release space back to the system when given
- negative arguments. This is generally necessary only if you are
- using a hand-crafted MORECORE function that cannot handle negative
- arguments.
-
-HAVE_MMAP default: 1 (true)
- True if this system supports mmap or an emulation of it. If so, and
- HAVE_MORECORE is not true, MMAP is used for all system
- allocation. If set and HAVE_MORECORE is true as well, MMAP is
- primarily used to directly allocate very large blocks. It is also
- used as a backup strategy in cases where MORECORE fails to provide
- space from system. Note: A single call to MUNMAP is assumed to be
- able to unmap memory that may have be allocated using multiple calls
- to MMAP, so long as they are adjacent.
-
-HAVE_MREMAP default: 1 on linux, else 0
- If true realloc() uses mremap() to re-allocate large blocks and
- extend or shrink allocation spaces.
-
-MMAP_CLEARS default: 1 on unix
- True if mmap clears memory so calloc doesn't need to. This is true
- for standard unix mmap using /dev/zero.
-
-USE_BUILTIN_FFS default: 0 (i.e., not used)
- Causes malloc to use the builtin ffs() function to compute indices.
- Some compilers may recognize and intrinsify ffs to be faster than the
- supplied C version. Also, the case of x86 using gcc is special-cased
- to an asm instruction, so is already as fast as it can be, and so
- this setting has no effect. (On most x86s, the asm version is only
- slightly faster than the C version.)
-
-malloc_getpagesize default: derive from system includes, or 4096.
- The system page size. To the extent possible, this malloc manages
- memory from the system in page-size units. This may be (and
- usually is) a function rather than a constant. This is ignored
- if WIN32, where page size is determined using getSystemInfo during
- initialization.
-
-USE_DEV_RANDOM default: 0 (i.e., not used)
- Causes malloc to use /dev/random to initialize secure magic seed for
- stamping footers. Otherwise, the current time is used.
-
-NO_MALLINFO default: 0
- If defined, don't compile "mallinfo". This can be a simple way
- of dealing with mismatches between system declarations and
- those in this file.
-
-MALLINFO_FIELD_TYPE default: size_t
- The type of the fields in the mallinfo struct. This was originally
- defined as "int" in SVID etc, but is more usefully defined as
- size_t. The value is used only if HAVE_USR_INCLUDE_MALLOC_H is not set
-
-REALLOC_ZERO_BYTES_FREES default: not defined
- This should be set if a call to realloc with zero bytes should
- be the same as a call to free. Some people think it should. Otherwise,
- since this malloc returns a unique pointer for malloc(0), so does
- realloc(p, 0).
-
-LACKS_UNISTD_H, LACKS_FCNTL_H, LACKS_SYS_PARAM_H, LACKS_SYS_MMAN_H
-LACKS_STRINGS_H, LACKS_STRING_H, LACKS_SYS_TYPES_H, LACKS_ERRNO_H
-LACKS_STDLIB_H default: NOT defined unless on WIN32
- Define these if your system does not have these header files.
- You might need to manually insert some of the declarations they provide.
-
-DEFAULT_GRANULARITY default: page size if MORECORE_CONTIGUOUS,
- system_info.dwAllocationGranularity in WIN32,
- otherwise 64K.
- Also settable using mallopt(M_GRANULARITY, x)
- The unit for allocating and deallocating memory from the system. On
- most systems with contiguous MORECORE, there is no reason to
- make this more than a page. However, systems with MMAP tend to
- either require or encourage larger granularities. You can increase
- this value to prevent system allocation functions to be called so
- often, especially if they are slow. The value must be at least one
- page and must be a power of two. Setting to 0 causes initialization
- to either page size or win32 region size. (Note: In previous
- versions of malloc, the equivalent of this option was called
- "TOP_PAD")
-
-DEFAULT_TRIM_THRESHOLD default: 2MB
- Also settable using mallopt(M_TRIM_THRESHOLD, x)
- The maximum amount of unused top-most memory to keep before
- releasing via malloc_trim in free(). Automatic trimming is mainly
- useful in long-lived programs using contiguous MORECORE. Because
- trimming via sbrk can be slow on some systems, and can sometimes be
- wasteful (in cases where programs immediately afterward allocate
- more large chunks) the value should be high enough so that your
- overall system performance would improve by releasing this much
- memory. As a rough guide, you might set to a value close to the
- average size of a process (program) running on your system.
- Releasing this much memory would allow such a process to run in
- memory. Generally, it is worth tuning trim thresholds when a
- program undergoes phases where several large chunks are allocated
- and released in ways that can reuse each other's storage, perhaps
- mixed with phases where there are no such chunks at all. The trim
- value must be greater than page size to have any useful effect. To
- disable trimming completely, you can set to MAX_SIZE_T. Note that the trick
- some people use of mallocing a huge space and then freeing it at
- program startup, in an attempt to reserve system memory, doesn't
- have the intended effect under automatic trimming, since that memory
- will immediately be returned to the system.
-
-DEFAULT_MMAP_THRESHOLD default: 256K
- Also settable using mallopt(M_MMAP_THRESHOLD, x)
- The request size threshold for using MMAP to directly service a
- request. Requests of at least this size that cannot be allocated
- using already-existing space will be serviced via mmap. (If enough
- normal freed space already exists it is used instead.) Using mmap
- segregates relatively large chunks of memory so that they can be
- individually obtained and released from the host system. A request
- serviced through mmap is never reused by any other request (at least
- not directly; the system may just so happen to remap successive
- requests to the same locations). Segregating space in this way has
- the benefits that: Mmapped space can always be individually released
- back to the system, which helps keep the system level memory demands
- of a long-lived program low. Also, mapped memory doesn't become
- `locked' between other chunks, as can happen with normally allocated
- chunks, which means that even trimming via malloc_trim would not
- release them. However, it has the disadvantage that the space
- cannot be reclaimed, consolidated, and then used to service later
- requests, as happens with normal chunks. The advantages of mmap
- nearly always outweigh disadvantages for "large" chunks, but the
- value of "large" may vary across systems. The default is an
- empirically derived value that works well in most systems. You can
- disable mmap by setting to MAX_SIZE_T.
-
-*/
-
-#ifndef WIN32
-#ifdef _WIN32
-#define WIN32 1
-#endif /* _WIN32 */
-#endif /* WIN32 */
-#ifdef WIN32
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#define HAVE_MMAP 1
-#define HAVE_MORECORE 0
-#define LACKS_UNISTD_H
-#define LACKS_SYS_PARAM_H
-#define LACKS_SYS_MMAN_H
-#define LACKS_STRING_H
-#define LACKS_STRINGS_H
-#define LACKS_SYS_TYPES_H
-#define LACKS_ERRNO_H
-#define MALLOC_FAILURE_ACTION
-#define MMAP_CLEARS 0 /* WINCE and some others apparently don't clear */
-#endif /* WIN32 */
-
-#ifdef __OS2__
-#define INCL_DOS
-#include <os2.h>
-#define HAVE_MMAP 1
-#define HAVE_MORECORE 0
-#define LACKS_SYS_MMAN_H
-#endif /* __OS2__ */
-
-#if defined(DARWIN) || defined(_DARWIN)
-/* Mac OSX docs advise not to use sbrk; it seems better to use mmap */
-#ifndef HAVE_MORECORE
-#define HAVE_MORECORE 0
-#define HAVE_MMAP 1
-#endif /* HAVE_MORECORE */
-#endif /* DARWIN */
-
-#ifndef LACKS_SYS_TYPES_H
-#include <sys/types.h> /* For size_t */
-#endif /* LACKS_SYS_TYPES_H */
-
-/* The maximum possible size_t value has all bits set */
-#define MAX_SIZE_T (~(size_t)0)
-
-#ifndef ONLY_MSPACES
-#define ONLY_MSPACES 0
-#endif /* ONLY_MSPACES */
-#ifndef MSPACES
-#if ONLY_MSPACES
-#define MSPACES 1
-#else /* ONLY_MSPACES */
-#define MSPACES 0
-#endif /* ONLY_MSPACES */
-#endif /* MSPACES */
-#ifndef MALLOC_ALIGNMENT
-#define MALLOC_ALIGNMENT ((size_t)8U)
-#endif /* MALLOC_ALIGNMENT */
-#ifndef FOOTERS
-#define FOOTERS 0
-#endif /* FOOTERS */
-#ifndef ABORT
-#define ABORT abort()
-#endif /* ABORT */
-#ifndef ABORT_ON_ASSERT_FAILURE
-#define ABORT_ON_ASSERT_FAILURE 1
-#endif /* ABORT_ON_ASSERT_FAILURE */
-#ifndef PROCEED_ON_ERROR
-#define PROCEED_ON_ERROR 0
-#endif /* PROCEED_ON_ERROR */
-#ifndef USE_LOCKS
-#define USE_LOCKS 0
-#endif /* USE_LOCKS */
-#ifndef INSECURE
-#define INSECURE 0
-#endif /* INSECURE */
-#ifndef HAVE_MMAP
-#define HAVE_MMAP 1
-#endif /* HAVE_MMAP */
-#ifndef MMAP_CLEARS
-#define MMAP_CLEARS 1
-#endif /* MMAP_CLEARS */
-#ifndef HAVE_MREMAP
-#ifdef linux
-#define HAVE_MREMAP 1
-#else /* linux */
-#define HAVE_MREMAP 0
-#endif /* linux */
-#endif /* HAVE_MREMAP */
-#ifndef MALLOC_FAILURE_ACTION
-#define MALLOC_FAILURE_ACTION errno = ENOMEM;
-#endif /* MALLOC_FAILURE_ACTION */
-#ifndef HAVE_MORECORE
-#if ONLY_MSPACES
-#define HAVE_MORECORE 0
-#else /* ONLY_MSPACES */
-#define HAVE_MORECORE 1
-#endif /* ONLY_MSPACES */
-#endif /* HAVE_MORECORE */
-#if !HAVE_MORECORE
-#define MORECORE_CONTIGUOUS 0
-#else /* !HAVE_MORECORE */
-#ifndef MORECORE
-#define MORECORE sbrk
-#endif /* MORECORE */
-#ifndef MORECORE_CONTIGUOUS
-#define MORECORE_CONTIGUOUS 1
-#endif /* MORECORE_CONTIGUOUS */
-#endif /* HAVE_MORECORE */
-#ifndef DEFAULT_GRANULARITY
-#if MORECORE_CONTIGUOUS
-#define DEFAULT_GRANULARITY (0) /* 0 means to compute in init_mparams */
-#else /* MORECORE_CONTIGUOUS */
-#define DEFAULT_GRANULARITY ((size_t)64U * (size_t)1024U)
-#endif /* MORECORE_CONTIGUOUS */
-#endif /* DEFAULT_GRANULARITY */
-#ifndef DEFAULT_TRIM_THRESHOLD
-#ifndef MORECORE_CANNOT_TRIM
-#define DEFAULT_TRIM_THRESHOLD ((size_t)2U * (size_t)1024U * (size_t)1024U)
-#else /* MORECORE_CANNOT_TRIM */
-#define DEFAULT_TRIM_THRESHOLD MAX_SIZE_T
-#endif /* MORECORE_CANNOT_TRIM */
-#endif /* DEFAULT_TRIM_THRESHOLD */
-#ifndef DEFAULT_MMAP_THRESHOLD
-#if HAVE_MMAP
-#define DEFAULT_MMAP_THRESHOLD ((size_t)256U * (size_t)1024U)
-#else /* HAVE_MMAP */
-#define DEFAULT_MMAP_THRESHOLD MAX_SIZE_T
-#endif /* HAVE_MMAP */
-#endif /* DEFAULT_MMAP_THRESHOLD */
-#ifndef USE_BUILTIN_FFS
-#define USE_BUILTIN_FFS 0
-#endif /* USE_BUILTIN_FFS */
-#ifndef USE_DEV_RANDOM
-#define USE_DEV_RANDOM 0
-#endif /* USE_DEV_RANDOM */
-#ifndef NO_MALLINFO
-#define NO_MALLINFO 0
-#endif /* NO_MALLINFO */
-#ifndef MALLINFO_FIELD_TYPE
-#define MALLINFO_FIELD_TYPE size_t
-#endif /* MALLINFO_FIELD_TYPE */
-
-/*
- mallopt tuning options. SVID/XPG defines four standard parameter
- numbers for mallopt, normally defined in malloc.h. None of these
- are used in this malloc, so setting them has no effect. But this
- malloc does support the following options.
-*/
-
-#define M_TRIM_THRESHOLD (-1)
-#define M_GRANULARITY (-2)
-#define M_MMAP_THRESHOLD (-3)
-
-/* ------------------------ Mallinfo declarations ------------------------ */
-
-#if !NO_MALLINFO
-/*
- This version of malloc supports the standard SVID/XPG mallinfo
- routine that returns a struct containing usage properties and
- statistics. It should work on any system that has a
- /usr/include/malloc.h defining struct mallinfo. The main
- declaration needed is the mallinfo struct that is returned (by-copy)
- by mallinfo(). The malloinfo struct contains a bunch of fields that
- are not even meaningful in this version of malloc. These fields are
- are instead filled by mallinfo() with other numbers that might be of
- interest.
-
- HAVE_USR_INCLUDE_MALLOC_H should be set if you have a
- /usr/include/malloc.h file that includes a declaration of struct
- mallinfo. If so, it is included; else a compliant version is
- declared below. These must be precisely the same for mallinfo() to
- work. The original SVID version of this struct, defined on most
- systems with mallinfo, declares all fields as ints. But some others
- define as unsigned long. If your system defines the fields using a
- type of different width than listed here, you MUST #include your
- system version and #define HAVE_USR_INCLUDE_MALLOC_H.
-*/
-
-/* #define HAVE_USR_INCLUDE_MALLOC_H */
-
-#ifdef HAVE_USR_INCLUDE_MALLOC_H
-#include "/usr/include/malloc.h"
-#else /* HAVE_USR_INCLUDE_MALLOC_H */
-
-struct mallinfo {
- MALLINFO_FIELD_TYPE arena; /* non-mmapped space allocated from system */
- MALLINFO_FIELD_TYPE ordblks; /* number of free chunks */
- MALLINFO_FIELD_TYPE smblks; /* always 0 */
- MALLINFO_FIELD_TYPE hblks; /* always 0 */
- MALLINFO_FIELD_TYPE hblkhd; /* space in mmapped regions */
- MALLINFO_FIELD_TYPE usmblks; /* maximum total allocated space */
- MALLINFO_FIELD_TYPE fsmblks; /* always 0 */
- MALLINFO_FIELD_TYPE uordblks; /* total allocated space */
- MALLINFO_FIELD_TYPE fordblks; /* total free space */
- MALLINFO_FIELD_TYPE keepcost; /* releasable (via malloc_trim) space */
-};
-
-#endif /* HAVE_USR_INCLUDE_MALLOC_H */
-#endif /* NO_MALLINFO */
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#if !ONLY_MSPACES
-
-/* ------------------- Declarations of public routines ------------------- */
-
-#ifndef USE_DL_PREFIX
-#define dlcalloc calloc
-#define dlfree free
-#define dlmalloc malloc
-#define dlmemalign memalign
-#define dlrealloc realloc
-#define dlvalloc valloc
-#define dlpvalloc pvalloc
-#define dlmallinfo mallinfo
-#define dlmallopt mallopt
-#define dlmalloc_trim malloc_trim
-#define dlmalloc_stats malloc_stats
-#define dlmalloc_usable_size malloc_usable_size
-#define dlmalloc_footprint malloc_footprint
-#define dlmalloc_max_footprint malloc_max_footprint
-#define dlindependent_calloc independent_calloc
-#define dlindependent_comalloc independent_comalloc
-#endif /* USE_DL_PREFIX */
-
-
-/*
- malloc(size_t n)
- Returns a pointer to a newly allocated chunk of at least n bytes, or
- null if no space is available, in which case errno is set to ENOMEM
- on ANSI C systems.
-
- If n is zero, malloc returns a minimum-sized chunk. (The minimum
- size is 16 bytes on most 32bit systems, and 32 bytes on 64bit
- systems.) Note that size_t is an unsigned type, so calls with
- arguments that would be negative if signed are interpreted as
- requests for huge amounts of space, which will often fail. The
- maximum supported value of n differs across systems, but is in all
- cases less than the maximum representable value of a size_t.
-*/
-void* dlmalloc(size_t);
-
-/*
- free(void* p)
- Releases the chunk of memory pointed to by p, that had been previously
- allocated using malloc or a related routine such as realloc.
- It has no effect if p is null. If p was not malloced or already
- freed, free(p) will by default cause the current program to abort.
-*/
-void dlfree(void*);
-
-/*
- calloc(size_t n_elements, size_t element_size);
- Returns a pointer to n_elements * element_size bytes, with all locations
- set to zero.
-*/
-void* dlcalloc(size_t, size_t);
-
-/*
- realloc(void* p, size_t n)
- Returns a pointer to a chunk of size n that contains the same data
- as does chunk p up to the minimum of (n, p's size) bytes, or null
- if no space is available.
-
- The returned pointer may or may not be the same as p. The algorithm
- prefers extending p in most cases when possible, otherwise it
- employs the equivalent of a malloc-copy-free sequence.
-
- If p is null, realloc is equivalent to malloc.
-
- If space is not available, realloc returns null, errno is set (if on
- ANSI) and p is NOT freed.
-
- if n is for fewer bytes than already held by p, the newly unused
- space is lopped off and freed if possible. realloc with a size
- argument of zero (re)allocates a minimum-sized chunk.
-
- The old unix realloc convention of allowing the last-free'd chunk
- to be used as an argument to realloc is not supported.
-*/
-
-void* dlrealloc(void*, size_t);
-
-/*
- memalign(size_t alignment, size_t n);
- Returns a pointer to a newly allocated chunk of n bytes, aligned
- in accord with the alignment argument.
-
- The alignment argument should be a power of two. If the argument is
- not a power of two, the nearest greater power is used.
- 8-byte alignment is guaranteed by normal malloc calls, so don't
- bother calling memalign with an argument of 8 or less.
-
- Overreliance on memalign is a sure way to fragment space.
-*/
-void* dlmemalign(size_t, size_t);
-
-/*
- valloc(size_t n);
- Equivalent to memalign(pagesize, n), where pagesize is the page
- size of the system. If the pagesize is unknown, 4096 is used.
-*/
-void* dlvalloc(size_t);
-
-/*
- mallopt(int parameter_number, int parameter_value)
- Sets tunable parameters The format is to provide a
- (parameter-number, parameter-value) pair. mallopt then sets the
- corresponding parameter to the argument value if it can (i.e., so
- long as the value is meaningful), and returns 1 if successful else
- 0. SVID/XPG/ANSI defines four standard param numbers for mallopt,
- normally defined in malloc.h. None of these are use in this malloc,
- so setting them has no effect. But this malloc also supports other
- options in mallopt. See below for details. Briefly, supported
- parameters are as follows (listed defaults are for "typical"
- configurations).
-
- Symbol param # default allowed param values
- M_TRIM_THRESHOLD -1 2*1024*1024 any (MAX_SIZE_T disables)
- M_GRANULARITY -2 page size any power of 2 >= page size
- M_MMAP_THRESHOLD -3 256*1024 any (or 0 if no MMAP support)
-*/
-int dlmallopt(int, int);
-
-/*
- malloc_footprint();
- Returns the number of bytes obtained from the system. The total
- number of bytes allocated by malloc, realloc etc., is less than this
- value. Unlike mallinfo, this function returns only a precomputed
- result, so can be called frequently to monitor memory consumption.
- Even if locks are otherwise defined, this function does not use them,
- so results might not be up to date.
-*/
-size_t dlmalloc_footprint(void);
-
-/*
- malloc_max_footprint();
- Returns the maximum number of bytes obtained from the system. This
- value will be greater than current footprint if deallocated space
- has been reclaimed by the system. The peak number of bytes allocated
- by malloc, realloc etc., is less than this value. Unlike mallinfo,
- this function returns only a precomputed result, so can be called
- frequently to monitor memory consumption. Even if locks are
- otherwise defined, this function does not use them, so results might
- not be up to date.
-*/
-size_t dlmalloc_max_footprint(void);
-
-#if !NO_MALLINFO
-/*
- mallinfo()
- Returns (by copy) a struct containing various summary statistics:
-
- arena: current total non-mmapped bytes allocated from system
- ordblks: the number of free chunks
- smblks: always zero.
- hblks: current number of mmapped regions
- hblkhd: total bytes held in mmapped regions
- usmblks: the maximum total allocated space. This will be greater
- than current total if trimming has occurred.
- fsmblks: always zero
- uordblks: current total allocated space (normal or mmapped)
- fordblks: total free space
- keepcost: the maximum number of bytes that could ideally be released
- back to system via malloc_trim. ("ideally" means that
- it ignores page restrictions etc.)
-
- Because these fields are ints, but internal bookkeeping may
- be kept as longs, the reported values may wrap around zero and
- thus be inaccurate.
-*/
-struct mallinfo dlmallinfo(void);
-#endif /* NO_MALLINFO */
-
-/*
- independent_calloc(size_t n_elements, size_t element_size, void* chunks[]);
-
- independent_calloc is similar to calloc, but instead of returning a
- single cleared space, it returns an array of pointers to n_elements
- independent elements that can hold contents of size elem_size, each
- of which starts out cleared, and can be independently freed,
- realloc'ed etc. The elements are guaranteed to be adjacently
- allocated (this is not guaranteed to occur with multiple callocs or
- mallocs), which may also improve cache locality in some
- applications.
-
- The "chunks" argument is optional (i.e., may be null, which is
- probably the most typical usage). If it is null, the returned array
- is itself dynamically allocated and should also be freed when it is
- no longer needed. Otherwise, the chunks array must be of at least
- n_elements in length. It is filled in with the pointers to the
- chunks.
-
- In either case, independent_calloc returns this pointer array, or
- null if the allocation failed. If n_elements is zero and "chunks"
- is null, it returns a chunk representing an array with zero elements
- (which should be freed if not wanted).
-
- Each element must be individually freed when it is no longer
- needed. If you'd like to instead be able to free all at once, you
- should instead use regular calloc and assign pointers into this
- space to represent elements. (In this case though, you cannot
- independently free elements.)
-
- independent_calloc simplifies and speeds up implementations of many
- kinds of pools. It may also be useful when constructing large data
- structures that initially have a fixed number of fixed-sized nodes,
- but the number is not known at compile time, and some of the nodes
- may later need to be freed. For example:
-
- struct Node { int item; struct Node* next; };
-
- struct Node* build_list() {
- struct Node** pool;
- int n = read_number_of_nodes_needed();
- if (n <= 0) return 0;
- pool = (struct Node**)(independent_calloc(n, sizeof(struct Node), 0);
- if (pool == 0) die();
- // organize into a linked list...
- struct Node* first = pool[0];
- for (i = 0; i < n-1; ++i)
- pool[i]->next = pool[i+1];
- free(pool); // Can now free the array (or not, if it is needed later)
- return first;
- }
-*/
-void** dlindependent_calloc(size_t, size_t, void**);
-
-/*
- independent_comalloc(size_t n_elements, size_t sizes[], void* chunks[]);
-
- independent_comalloc allocates, all at once, a set of n_elements
- chunks with sizes indicated in the "sizes" array. It returns
- an array of pointers to these elements, each of which can be
- independently freed, realloc'ed etc. The elements are guaranteed to
- be adjacently allocated (this is not guaranteed to occur with
- multiple callocs or mallocs), which may also improve cache locality
- in some applications.
-
- The "chunks" argument is optional (i.e., may be null). If it is null
- the returned array is itself dynamically allocated and should also
- be freed when it is no longer needed. Otherwise, the chunks array
- must be of at least n_elements in length. It is filled in with the
- pointers to the chunks.
-
- In either case, independent_comalloc returns this pointer array, or
- null if the allocation failed. If n_elements is zero and chunks is
- null, it returns a chunk representing an array with zero elements
- (which should be freed if not wanted).
-
- Each element must be individually freed when it is no longer
- needed. If you'd like to instead be able to free all at once, you
- should instead use a single regular malloc, and assign pointers at
- particular offsets in the aggregate space. (In this case though, you
- cannot independently free elements.)
-
- independent_comallac differs from independent_calloc in that each
- element may have a different size, and also that it does not
- automatically clear elements.
-
- independent_comalloc can be used to speed up allocation in cases
- where several structs or objects must always be allocated at the
- same time. For example:
-
- struct Head { ... }
- struct Foot { ... }
-
- void send_message(char* msg) {
- int msglen = strlen(msg);
- size_t sizes[3] = { sizeof(struct Head), msglen, sizeof(struct Foot) };
- void* chunks[3];
- if (independent_comalloc(3, sizes, chunks) == 0)
- die();
- struct Head* head = (struct Head*)(chunks[0]);
- char* body = (char*)(chunks[1]);
- struct Foot* foot = (struct Foot*)(chunks[2]);
- // ...
- }
-
- In general though, independent_comalloc is worth using only for
- larger values of n_elements. For small values, you probably won't
- detect enough difference from series of malloc calls to bother.
-
- Overuse of independent_comalloc can increase overall memory usage,
- since it cannot reuse existing noncontiguous small chunks that
- might be available for some of the elements.
-*/
-void** dlindependent_comalloc(size_t, size_t*, void**);
-
-
-/*
- pvalloc(size_t n);
- Equivalent to valloc(minimum-page-that-holds(n)), that is,
- round up n to nearest pagesize.
- */
-void* dlpvalloc(size_t);
-
-/*
- malloc_trim(size_t pad);
-
- If possible, gives memory back to the system (via negative arguments
- to sbrk) if there is unused memory at the `high' end of the malloc
- pool or in unused MMAP segments. You can call this after freeing
- large blocks of memory to potentially reduce the system-level memory
- requirements of a program. However, it cannot guarantee to reduce
- memory. Under some allocation patterns, some large free blocks of
- memory will be locked between two used chunks, so they cannot be
- given back to the system.
-
- The `pad' argument to malloc_trim represents the amount of free
- trailing space to leave untrimmed. If this argument is zero, only
- the minimum amount of memory to maintain internal data structures
- will be left. Non-zero arguments can be supplied to maintain enough
- trailing space to service future expected allocations without having
- to re-obtain memory from the system.
-
- Malloc_trim returns 1 if it actually released any memory, else 0.
-*/
-int dlmalloc_trim(size_t);
-
-/*
- malloc_usable_size(void* p);
-
- Returns the number of bytes you can actually use in
- an allocated chunk, which may be more than you requested (although
- often not) due to alignment and minimum size constraints.
- You can use this many bytes without worrying about
- overwriting other allocated objects. This is not a particularly great
- programming practice. malloc_usable_size can be more useful in
- debugging and assertions, for example:
-
- p = malloc(n);
- assert(malloc_usable_size(p) >= 256);
-*/
-size_t dlmalloc_usable_size(void*);
-
-/*
- malloc_stats();
- Prints on stderr the amount of space obtained from the system (both
- via sbrk and mmap), the maximum amount (which may be more than
- current if malloc_trim and/or munmap got called), and the current
- number of bytes allocated via malloc (or realloc, etc) but not yet
- freed. Note that this is the number of bytes allocated, not the
- number requested. It will be larger than the number requested
- because of alignment and bookkeeping overhead. Because it includes
- alignment wastage as being in use, this figure may be greater than
- zero even when no user-level chunks are allocated.
-
- The reported current and maximum system memory can be inaccurate if
- a program makes other calls to system memory allocation functions
- (normally sbrk) outside of malloc.
-
- malloc_stats prints only the most commonly interesting statistics.
- More information can be obtained by calling mallinfo.
-*/
-void dlmalloc_stats(void);
-
-#endif /* ONLY_MSPACES */
-
-#if MSPACES
-
-/*
- mspace is an opaque type representing an independent
- region of space that supports mspace_malloc, etc.
-*/
-typedef void* mspace;
-
-/*
- create_mspace creates and returns a new independent space with the
- given initial capacity, or, if 0, the default granularity size. It
- returns null if there is no system memory available to create the
- space. If argument locked is non-zero, the space uses a separate
- lock to control access. The capacity of the space will grow
- dynamically as needed to service mspace_malloc requests. You can
- control the sizes of incremental increases of this space by
- compiling with a different DEFAULT_GRANULARITY or dynamically
- setting with mallopt(M_GRANULARITY, value).
-*/
-mspace create_mspace(size_t capacity, int locked);
-
-/*
- destroy_mspace destroys the given space, and attempts to return all
- of its memory back to the system, returning the total number of
- bytes freed. After destruction, the results of access to all memory
- used by the space become undefined.
-*/
-size_t destroy_mspace(mspace msp);
-
-/*
- create_mspace_with_base uses the memory supplied as the initial base
- of a new mspace. Part (less than 128*sizeof(size_t) bytes) of this
- space is used for bookkeeping, so the capacity must be at least this
- large. (Otherwise 0 is returned.) When this initial space is
- exhausted, additional memory will be obtained from the system.
- Destroying this space will deallocate all additionally allocated
- space (if possible) but not the initial base.
-*/
-mspace create_mspace_with_base(void* base, size_t capacity, int locked);
-
-/*
- mspace_malloc behaves as malloc, but operates within
- the given space.
-*/
-void* mspace_malloc(mspace msp, size_t bytes);
-
-/*
- mspace_free behaves as free, but operates within
- the given space.
-
- If compiled with FOOTERS==1, mspace_free is not actually needed.
- free may be called instead of mspace_free because freed chunks from
- any space are handled by their originating spaces.
-*/
-void mspace_free(mspace msp, void* mem);
-
-/*
- mspace_realloc behaves as realloc, but operates within
- the given space.
-
- If compiled with FOOTERS==1, mspace_realloc is not actually
- needed. realloc may be called instead of mspace_realloc because
- realloced chunks from any space are handled by their originating
- spaces.
-*/
-void* mspace_realloc(mspace msp, void* mem, size_t newsize);
-
-/*
- mspace_calloc behaves as calloc, but operates within
- the given space.
-*/
-void* mspace_calloc(mspace msp, size_t n_elements, size_t elem_size);
-
-/*
- mspace_memalign behaves as memalign, but operates within
- the given space.
-*/
-void* mspace_memalign(mspace msp, size_t alignment, size_t bytes);
-
-/*
- mspace_independent_calloc behaves as independent_calloc, but
- operates within the given space.
-*/
-void** mspace_independent_calloc(mspace msp, size_t n_elements,
- size_t elem_size, void* chunks[]);
-
-/*
- mspace_independent_comalloc behaves as independent_comalloc, but
- operates within the given space.
-*/
-void** mspace_independent_comalloc(mspace msp, size_t n_elements,
- size_t sizes[], void* chunks[]);
-
-/*
- mspace_footprint() returns the number of bytes obtained from the
- system for this space.
-*/
-size_t mspace_footprint(mspace msp);
-
-/*
- mspace_max_footprint() returns the peak number of bytes obtained from the
- system for this space.
-*/
-size_t mspace_max_footprint(mspace msp);
-
-
-#if !NO_MALLINFO
-/*
- mspace_mallinfo behaves as mallinfo, but reports properties of
- the given space.
-*/
-struct mallinfo mspace_mallinfo(mspace msp);
-#endif /* NO_MALLINFO */
-
-/*
- mspace_malloc_stats behaves as malloc_stats, but reports
- properties of the given space.
-*/
-void mspace_malloc_stats(mspace msp);
-
-/*
- mspace_trim behaves as malloc_trim, but
- operates within the given space.
-*/
-int mspace_trim(mspace msp, size_t pad);
-
-/*
- An alias for mallopt.
-*/
-int mspace_mallopt(int, int);
-
-#endif /* MSPACES */
-
-#ifdef __cplusplus
-}; /* end of extern "C" */
-#endif /* __cplusplus */
-
-/*
- ========================================================================
- To make a fully customizable malloc.h header file, cut everything
- above this line, put into file malloc.h, edit to suit, and #include it
- on the next line, as well as in programs that use this malloc.
- ========================================================================
-*/
-
-/* #include "malloc.h" */
-
-/*------------------------------ internal #includes ---------------------- */
-
-#ifdef _MSC_VER
-#pragma warning( disable : 4146 ) /* no "unsigned" warnings */
-#endif /* _MSC_VER */
-
-#include <stdio.h> /* for printing in malloc_stats */
-
-#ifndef LACKS_ERRNO_H
-#include <errno.h> /* for MALLOC_FAILURE_ACTION */
-#endif /* LACKS_ERRNO_H */
-#if FOOTERS
-#include <time.h> /* for magic initialization */
-#endif /* FOOTERS */
-#ifndef LACKS_STDLIB_H
-#include <stdlib.h> /* for abort() */
-#endif /* LACKS_STDLIB_H */
-#ifdef DEBUG
-#if ABORT_ON_ASSERT_FAILURE
-#define assert(x) if(!(x)) ABORT
-#else /* ABORT_ON_ASSERT_FAILURE */
-#include <assert.h>
-#endif /* ABORT_ON_ASSERT_FAILURE */
-#else /* DEBUG */
-#define assert(x)
-#endif /* DEBUG */
-#ifndef LACKS_STRING_H
-#include <string.h> /* for memset etc */
-#endif /* LACKS_STRING_H */
-#if USE_BUILTIN_FFS
-#ifndef LACKS_STRINGS_H
-#include <strings.h> /* for ffs */
-#endif /* LACKS_STRINGS_H */
-#endif /* USE_BUILTIN_FFS */
-#if HAVE_MMAP
-#ifndef LACKS_SYS_MMAN_H
-#include <sys/mman.h> /* for mmap */
-#endif /* LACKS_SYS_MMAN_H */
-#ifndef LACKS_FCNTL_H
-#include <fcntl.h>
-#endif /* LACKS_FCNTL_H */
-#endif /* HAVE_MMAP */
-#if HAVE_MORECORE
-#ifndef LACKS_UNISTD_H
-#include <unistd.h> /* for sbrk */
-#else /* LACKS_UNISTD_H */
-#if !defined(__FreeBSD__) && !defined(__OpenBSD__) && !defined(__NetBSD__)
-extern void* sbrk(ptrdiff_t);
-#endif /* FreeBSD etc */
-#endif /* LACKS_UNISTD_H */
-#endif /* HAVE_MMAP */
-
-#ifndef WIN32
-#ifndef malloc_getpagesize
-# ifdef _SC_PAGESIZE /* some SVR4 systems omit an underscore */
-# ifndef _SC_PAGE_SIZE
-# define _SC_PAGE_SIZE _SC_PAGESIZE
-# endif
-# endif
-# ifdef _SC_PAGE_SIZE
-# define malloc_getpagesize sysconf(_SC_PAGE_SIZE)
-# else
-# if defined(BSD) || defined(DGUX) || defined(HAVE_GETPAGESIZE)
- extern size_t getpagesize();
-# define malloc_getpagesize getpagesize()
-# else
-# ifdef WIN32 /* use supplied emulation of getpagesize */
-# define malloc_getpagesize getpagesize()
-# else
-# ifndef LACKS_SYS_PARAM_H
-# include <sys/param.h>
-# endif
-# ifdef EXEC_PAGESIZE
-# define malloc_getpagesize EXEC_PAGESIZE
-# else
-# ifdef NBPG
-# ifndef CLSIZE
-# define malloc_getpagesize NBPG
-# else
-# define malloc_getpagesize (NBPG * CLSIZE)
-# endif
-# else
-# ifdef NBPC
-# define malloc_getpagesize NBPC
-# else
-# ifdef PAGESIZE
-# define malloc_getpagesize PAGESIZE
-# else /* just guess */
-# define malloc_getpagesize ((size_t)4096U)
-# endif
-# endif
-# endif
-# endif
-# endif
-# endif
-# endif
-#endif
-#endif
-
-/* ------------------- size_t and alignment properties -------------------- */
-
-/* The byte and bit size of a size_t */
-#define SIZE_T_SIZE (sizeof(size_t))
-#define SIZE_T_BITSIZE (sizeof(size_t) << 3)
-
-/* Some constants coerced to size_t */
-/* Annoying but necessary to avoid errors on some plaftorms */
-#define SIZE_T_ZERO ((size_t)0)
-#define SIZE_T_ONE ((size_t)1)
-#define SIZE_T_TWO ((size_t)2)
-#define TWO_SIZE_T_SIZES (SIZE_T_SIZE<<1)
-#define FOUR_SIZE_T_SIZES (SIZE_T_SIZE<<2)
-#define SIX_SIZE_T_SIZES (FOUR_SIZE_T_SIZES+TWO_SIZE_T_SIZES)
-#define HALF_MAX_SIZE_T (MAX_SIZE_T / 2U)
-
-/* The bit mask value corresponding to MALLOC_ALIGNMENT */
-#define CHUNK_ALIGN_MASK (MALLOC_ALIGNMENT - SIZE_T_ONE)
-
-/* True if address a has acceptable alignment */
-#define is_aligned(A) (((size_t)((A)) & (CHUNK_ALIGN_MASK)) == 0)
-
-/* the number of bytes to offset an address to align it */
-#define align_offset(A)\
- ((((size_t)(A) & CHUNK_ALIGN_MASK) == 0)? 0 :\
- ((MALLOC_ALIGNMENT - ((size_t)(A) & CHUNK_ALIGN_MASK)) & CHUNK_ALIGN_MASK))
-
-/* -------------------------- MMAP preliminaries ------------------------- */
-
-/*
- If HAVE_MORECORE or HAVE_MMAP are false, we just define calls and
- checks to fail so compiler optimizer can delete code rather than
- using so many "#if"s.
-*/
-
-
-/* MORECORE and MMAP must return MFAIL on failure */
-#define MFAIL ((void*)(MAX_SIZE_T))
-#define CMFAIL ((char*)(MFAIL)) /* defined for convenience */
-
-#if !HAVE_MMAP
-#define IS_MMAPPED_BIT (SIZE_T_ZERO)
-#define USE_MMAP_BIT (SIZE_T_ZERO)
-#define CALL_MMAP(s) MFAIL
-#define CALL_MUNMAP(a, s) (-1)
-#define DIRECT_MMAP(s) MFAIL
-
-#else /* HAVE_MMAP */
-#define IS_MMAPPED_BIT (SIZE_T_ONE)
-#define USE_MMAP_BIT (SIZE_T_ONE)
-
-#if !defined(WIN32) && !defined (__OS2__)
-#define CALL_MUNMAP(a, s) munmap((a), (s))
-#define MMAP_PROT (PROT_READ|PROT_WRITE)
-#if !defined(MAP_ANONYMOUS) && defined(MAP_ANON)
-#define MAP_ANONYMOUS MAP_ANON
-#endif /* MAP_ANON */
-#ifdef MAP_ANONYMOUS
-#define MMAP_FLAGS (MAP_PRIVATE|MAP_ANONYMOUS)
-#define CALL_MMAP(s) mmap(0, (s), MMAP_PROT, MMAP_FLAGS, -1, 0)
-#else /* MAP_ANONYMOUS */
-/*
- Nearly all versions of mmap support MAP_ANONYMOUS, so the following
- is unlikely to be needed, but is supplied just in case.
-*/
-#define MMAP_FLAGS (MAP_PRIVATE)
-static int dev_zero_fd = -1; /* Cached file descriptor for /dev/zero. */
-#define CALL_MMAP(s) ((dev_zero_fd < 0) ? \
- (dev_zero_fd = open("/dev/zero", O_RDWR), \
- mmap(0, (s), MMAP_PROT, MMAP_FLAGS, dev_zero_fd, 0)) : \
- mmap(0, (s), MMAP_PROT, MMAP_FLAGS, dev_zero_fd, 0))
-#endif /* MAP_ANONYMOUS */
-
-#define DIRECT_MMAP(s) CALL_MMAP(s)
-
-#elif defined(__OS2__)
-
-/* OS/2 MMAP via DosAllocMem */
-static void* os2mmap(size_t size) {
- void* ptr;
- if (DosAllocMem(&ptr, size, OBJ_ANY|PAG_COMMIT|PAG_READ|PAG_WRITE) &&
- DosAllocMem(&ptr, size, PAG_COMMIT|PAG_READ|PAG_WRITE))
- return MFAIL;
- return ptr;
-}
-
-#define os2direct_mmap(n) os2mmap(n)
-
-/* This function supports releasing coalesed segments */
-static int os2munmap(void* ptr, size_t size) {
- while (size) {
- ULONG ulSize = size;
- ULONG ulFlags = 0;
- if (DosQueryMem(ptr, &ulSize, &ulFlags) != 0)
- return -1;
- if ((ulFlags & PAG_BASE) == 0 ||(ulFlags & PAG_COMMIT) == 0 ||
- ulSize > size)
- return -1;
- if (DosFreeMem(ptr) != 0)
- return -1;
- ptr = ( void * ) ( ( char * ) ptr + ulSize );
- size -= ulSize;
- }
- return 0;
-}
-
-#define CALL_MMAP(s) os2mmap(s)
-#define CALL_MUNMAP(a, s) os2munmap((a), (s))
-#define DIRECT_MMAP(s) os2direct_mmap(s)
-
-#else /* WIN32 */
-
-/* Win32 MMAP via VirtualAlloc */
-static void* win32mmap(size_t size) {
- void* ptr = VirtualAlloc(0, size, MEM_RESERVE|MEM_COMMIT, PAGE_EXECUTE_READWRITE);
- return (ptr != 0)? ptr: MFAIL;
-}
-
-/* For direct MMAP, use MEM_TOP_DOWN to minimize interference */
-static void* win32direct_mmap(size_t size) {
- void* ptr = VirtualAlloc(0, size, MEM_RESERVE|MEM_COMMIT|MEM_TOP_DOWN,
- PAGE_EXECUTE_READWRITE);
- return (ptr != 0)? ptr: MFAIL;
-}
-
-/* This function supports releasing coalesed segments */
-static int win32munmap(void* ptr, size_t size) {
- MEMORY_BASIC_INFORMATION minfo;
- char* cptr = ptr;
- while (size) {
- if (VirtualQuery(cptr, &minfo, sizeof(minfo)) == 0)
- return -1;
- if (minfo.BaseAddress != cptr || minfo.AllocationBase != cptr ||
- minfo.State != MEM_COMMIT || minfo.RegionSize > size)
- return -1;
- if (VirtualFree(cptr, 0, MEM_RELEASE) == 0)
- return -1;
- cptr += minfo.RegionSize;
- size -= minfo.RegionSize;
- }
- return 0;
-}
-
-#define CALL_MMAP(s) win32mmap(s)
-#define CALL_MUNMAP(a, s) win32munmap((a), (s))
-#define DIRECT_MMAP(s) win32direct_mmap(s)
-#endif /* WIN32 */
-#endif /* HAVE_MMAP */
-
-#if HAVE_MMAP && HAVE_MREMAP
-#define CALL_MREMAP(addr, osz, nsz, mv) mremap((addr), (osz), (nsz), (mv))
-#else /* HAVE_MMAP && HAVE_MREMAP */
-#define CALL_MREMAP(addr, osz, nsz, mv) MFAIL
-#endif /* HAVE_MMAP && HAVE_MREMAP */
-
-#if HAVE_MORECORE
-#define CALL_MORECORE(S) MORECORE(S)
-#else /* HAVE_MORECORE */
-#define CALL_MORECORE(S) MFAIL
-#endif /* HAVE_MORECORE */
-
-/* mstate bit set if continguous morecore disabled or failed */
-#define USE_NONCONTIGUOUS_BIT (4U)
-
-/* segment bit set in create_mspace_with_base */
-#define EXTERN_BIT (8U)
-
-
-/* --------------------------- Lock preliminaries ------------------------ */
-
-#if USE_LOCKS
-
-/*
- When locks are defined, there are up to two global locks:
-
- * If HAVE_MORECORE, morecore_mutex protects sequences of calls to
- MORECORE. In many cases sys_alloc requires two calls, that should
- not be interleaved with calls by other threads. This does not
- protect against direct calls to MORECORE by other threads not
- using this lock, so there is still code to cope the best we can on
- interference.
-
- * magic_init_mutex ensures that mparams.magic and other
- unique mparams values are initialized only once.
-*/
-
-#if !defined(WIN32) && !defined(__OS2__)
-/* By default use posix locks */
-#include <pthread.h>
-#define MLOCK_T pthread_mutex_t
-#define INITIAL_LOCK(l) pthread_mutex_init(l, NULL)
-#define ACQUIRE_LOCK(l) pthread_mutex_lock(l)
-#define RELEASE_LOCK(l) pthread_mutex_unlock(l)
-
-#if HAVE_MORECORE
-static MLOCK_T morecore_mutex = PTHREAD_MUTEX_INITIALIZER;
-#endif /* HAVE_MORECORE */
-
-static MLOCK_T magic_init_mutex = PTHREAD_MUTEX_INITIALIZER;
-
-#elif defined(__OS2__)
-#define MLOCK_T HMTX
-#define INITIAL_LOCK(l) DosCreateMutexSem(0, l, 0, FALSE)
-#define ACQUIRE_LOCK(l) DosRequestMutexSem(*l, SEM_INDEFINITE_WAIT)
-#define RELEASE_LOCK(l) DosReleaseMutexSem(*l)
-#if HAVE_MORECORE
-static MLOCK_T morecore_mutex;
-#endif /* HAVE_MORECORE */
-static MLOCK_T magic_init_mutex;
-
-#else /* WIN32 */
-/*
- Because lock-protected regions have bounded times, and there
- are no recursive lock calls, we can use simple spinlocks.
-*/
-
-#define MLOCK_T long
-static int win32_acquire_lock (MLOCK_T *sl) {
- for (;;) {
-#ifdef InterlockedCompareExchangePointer
- if (!InterlockedCompareExchange(sl, 1, 0))
- return 0;
-#else /* Use older void* version */
- if (!InterlockedCompareExchange((void**)sl, (void*)1, (void*)0))
- return 0;
-#endif /* InterlockedCompareExchangePointer */
- Sleep (0);
- }
-}
-
-static void win32_release_lock (MLOCK_T *sl) {
- InterlockedExchange (sl, 0);
-}
-
-#define INITIAL_LOCK(l) *(l)=0
-#define ACQUIRE_LOCK(l) win32_acquire_lock(l)
-#define RELEASE_LOCK(l) win32_release_lock(l)
-#if HAVE_MORECORE
-static MLOCK_T morecore_mutex;
-#endif /* HAVE_MORECORE */
-static MLOCK_T magic_init_mutex;
-#endif /* WIN32 */
-
-#define USE_LOCK_BIT (2U)
-#else /* USE_LOCKS */
-#define USE_LOCK_BIT (0U)
-#define INITIAL_LOCK(l)
-#endif /* USE_LOCKS */
-
-#if USE_LOCKS && HAVE_MORECORE
-#define ACQUIRE_MORECORE_LOCK() ACQUIRE_LOCK(&morecore_mutex);
-#define RELEASE_MORECORE_LOCK() RELEASE_LOCK(&morecore_mutex);
-#else /* USE_LOCKS && HAVE_MORECORE */
-#define ACQUIRE_MORECORE_LOCK()
-#define RELEASE_MORECORE_LOCK()
-#endif /* USE_LOCKS && HAVE_MORECORE */
-
-#if USE_LOCKS
-#define ACQUIRE_MAGIC_INIT_LOCK() ACQUIRE_LOCK(&magic_init_mutex);
-#define RELEASE_MAGIC_INIT_LOCK() RELEASE_LOCK(&magic_init_mutex);
-#else /* USE_LOCKS */
-#define ACQUIRE_MAGIC_INIT_LOCK()
-#define RELEASE_MAGIC_INIT_LOCK()
-#endif /* USE_LOCKS */
-
-
-/* ----------------------- Chunk representations ------------------------ */
-
-/*
- (The following includes lightly edited explanations by Colin Plumb.)
-
- The malloc_chunk declaration below is misleading (but accurate and
- necessary). It declares a "view" into memory allowing access to
- necessary fields at known offsets from a given base.
-
- Chunks of memory are maintained using a `boundary tag' method as
- originally described by Knuth. (See the paper by Paul Wilson
- ftp://ftp.cs.utexas.edu/pub/garbage/allocsrv.ps for a survey of such
- techniques.) Sizes of free chunks are stored both in the front of
- each chunk and at the end. This makes consolidating fragmented
- chunks into bigger chunks fast. The head fields also hold bits
- representing whether chunks are free or in use.
-
- Here are some pictures to make it clearer. They are "exploded" to
- show that the state of a chunk can be thought of as extending from
- the high 31 bits of the head field of its header through the
- prev_foot and PINUSE_BIT bit of the following chunk header.
-
- A chunk that's in use looks like:
-
- chunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Size of previous chunk (if P = 1) |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |P|
- | Size of this chunk 1| +-+
- mem-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | |
- +- -+
- | |
- +- -+
- | :
- +- size - sizeof(size_t) available payload bytes -+
- : |
- chunk-> +- -+
- | |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |1|
- | Size of next chunk (may or may not be in use) | +-+
- mem-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
- And if it's free, it looks like this:
-
- chunk-> +- -+
- | User payload (must be in use, or we would have merged!) |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |P|
- | Size of this chunk 0| +-+
- mem-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Next pointer |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Prev pointer |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | :
- +- size - sizeof(struct chunk) unused bytes -+
- : |
- chunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Size of this chunk |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |0|
- | Size of next chunk (must be in use, or we would have merged)| +-+
- mem-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | :
- +- User payload -+
- : |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- |0|
- +-+
- Note that since we always merge adjacent free chunks, the chunks
- adjacent to a free chunk must be in use.
-
- Given a pointer to a chunk (which can be derived trivially from the
- payload pointer) we can, in O(1) time, find out whether the adjacent
- chunks are free, and if so, unlink them from the lists that they
- are on and merge them with the current chunk.
-
- Chunks always begin on even word boundaries, so the mem portion
- (which is returned to the user) is also on an even word boundary, and
- thus at least double-word aligned.
-
- The P (PINUSE_BIT) bit, stored in the unused low-order bit of the
- chunk size (which is always a multiple of two words), is an in-use
- bit for the *previous* chunk. If that bit is *clear*, then the
- word before the current chunk size contains the previous chunk
- size, and can be used to find the front of the previous chunk.
- The very first chunk allocated always has this bit set, preventing
- access to non-existent (or non-owned) memory. If pinuse is set for
- any given chunk, then you CANNOT determine the size of the
- previous chunk, and might even get a memory addressing fault when
- trying to do so.
-
- The C (CINUSE_BIT) bit, stored in the unused second-lowest bit of
- the chunk size redundantly records whether the current chunk is
- inuse. This redundancy enables usage checks within free and realloc,
- and reduces indirection when freeing and consolidating chunks.
-
- Each freshly allocated chunk must have both cinuse and pinuse set.
- That is, each allocated chunk borders either a previously allocated
- and still in-use chunk, or the base of its memory arena. This is
- ensured by making all allocations from the the `lowest' part of any
- found chunk. Further, no free chunk physically borders another one,
- so each free chunk is known to be preceded and followed by either
- inuse chunks or the ends of memory.
-
- Note that the `foot' of the current chunk is actually represented
- as the prev_foot of the NEXT chunk. This makes it easier to
- deal with alignments etc but can be very confusing when trying
- to extend or adapt this code.
-
- The exceptions to all this are
-
- 1. The special chunk `top' is the top-most available chunk (i.e.,
- the one bordering the end of available memory). It is treated
- specially. Top is never included in any bin, is used only if
- no other chunk is available, and is released back to the
- system if it is very large (see M_TRIM_THRESHOLD). In effect,
- the top chunk is treated as larger (and thus less well
- fitting) than any other available chunk. The top chunk
- doesn't update its trailing size field since there is no next
- contiguous chunk that would have to index off it. However,
- space is still allocated for it (TOP_FOOT_SIZE) to enable
- separation or merging when space is extended.
-
- 3. Chunks allocated via mmap, which have the lowest-order bit
- (IS_MMAPPED_BIT) set in their prev_foot fields, and do not set
- PINUSE_BIT in their head fields. Because they are allocated
- one-by-one, each must carry its own prev_foot field, which is
- also used to hold the offset this chunk has within its mmapped
- region, which is needed to preserve alignment. Each mmapped
- chunk is trailed by the first two fields of a fake next-chunk
- for sake of usage checks.
-
-*/
-
-struct malloc_chunk {
- size_t prev_foot; /* Size of previous chunk (if free). */
- size_t head; /* Size and inuse bits. */
- struct malloc_chunk* fd; /* double links -- used only if free. */
- struct malloc_chunk* bk;
-};
-
-typedef struct malloc_chunk mchunk;
-typedef struct malloc_chunk* mchunkptr;
-typedef struct malloc_chunk* sbinptr; /* The type of bins of chunks */
-typedef unsigned int bindex_t; /* Described below */
-typedef unsigned int binmap_t; /* Described below */
-typedef unsigned int flag_t; /* The type of various bit flag sets */
-
-/* ------------------- Chunks sizes and alignments ----------------------- */
-
-#define MCHUNK_SIZE (sizeof(mchunk))
-
-#if FOOTERS
-#define CHUNK_OVERHEAD (TWO_SIZE_T_SIZES)
-#else /* FOOTERS */
-#define CHUNK_OVERHEAD (SIZE_T_SIZE)
-#endif /* FOOTERS */
-
-/* MMapped chunks need a second word of overhead ... */
-#define MMAP_CHUNK_OVERHEAD (TWO_SIZE_T_SIZES)
-/* ... and additional padding for fake next-chunk at foot */
-#define MMAP_FOOT_PAD (FOUR_SIZE_T_SIZES)
-
-/* The smallest size we can malloc is an aligned minimal chunk */
-#define MIN_CHUNK_SIZE\
- ((MCHUNK_SIZE + CHUNK_ALIGN_MASK) & ~CHUNK_ALIGN_MASK)
-
-/* conversion from malloc headers to user pointers, and back */
-#define chunk2mem(p) ((void*)((char*)(p) + TWO_SIZE_T_SIZES))
-#define mem2chunk(mem) ((mchunkptr)((char*)(mem) - TWO_SIZE_T_SIZES))
-/* chunk associated with aligned address A */
-#define align_as_chunk(A) (mchunkptr)((A) + align_offset(chunk2mem(A)))
-
-/* Bounds on request (not chunk) sizes. */
-#define MAX_REQUEST ((-MIN_CHUNK_SIZE) << 2)
-#define MIN_REQUEST (MIN_CHUNK_SIZE - CHUNK_OVERHEAD - SIZE_T_ONE)
-
-/* pad request bytes into a usable size */
-#define pad_request(req) \
- (((req) + CHUNK_OVERHEAD + CHUNK_ALIGN_MASK) & ~CHUNK_ALIGN_MASK)
-
-/* pad request, checking for minimum (but not maximum) */
-#define request2size(req) \
- (((req) < MIN_REQUEST)? MIN_CHUNK_SIZE : pad_request(req))
-
-
-/* ------------------ Operations on head and foot fields ----------------- */
-
-/*
- The head field of a chunk is or'ed with PINUSE_BIT when previous
- adjacent chunk in use, and or'ed with CINUSE_BIT if this chunk is in
- use. If the chunk was obtained with mmap, the prev_foot field has
- IS_MMAPPED_BIT set, otherwise holding the offset of the base of the
- mmapped region to the base of the chunk.
-*/
-
-#define PINUSE_BIT (SIZE_T_ONE)
-#define CINUSE_BIT (SIZE_T_TWO)
-#define INUSE_BITS (PINUSE_BIT|CINUSE_BIT)
-
-/* Head value for fenceposts */
-#define FENCEPOST_HEAD (INUSE_BITS|SIZE_T_SIZE)
-
-/* extraction of fields from head words */
-#define cinuse(p) ((p)->head & CINUSE_BIT)
-#define pinuse(p) ((p)->head & PINUSE_BIT)
-#define chunksize(p) ((p)->head & ~(INUSE_BITS))
-
-#define clear_pinuse(p) ((p)->head &= ~PINUSE_BIT)
-#define clear_cinuse(p) ((p)->head &= ~CINUSE_BIT)
-
-/* Treat space at ptr +/- offset as a chunk */
-#define chunk_plus_offset(p, s) ((mchunkptr)(((char*)(p)) + (s)))
-#define chunk_minus_offset(p, s) ((mchunkptr)(((char*)(p)) - (s)))
-
-/* Ptr to next or previous physical malloc_chunk. */
-#define next_chunk(p) ((mchunkptr)( ((char*)(p)) + ((p)->head & ~INUSE_BITS)))
-#define prev_chunk(p) ((mchunkptr)( ((char*)(p)) - ((p)->prev_foot) ))
-
-/* extract next chunk's pinuse bit */
-#define next_pinuse(p) ((next_chunk(p)->head) & PINUSE_BIT)
-
-/* Get/set size at footer */
-#define get_foot(p, s) (((mchunkptr)((char*)(p) + (s)))->prev_foot)
-#define set_foot(p, s) (((mchunkptr)((char*)(p) + (s)))->prev_foot = (s))
-
-/* Set size, pinuse bit, and foot */
-#define set_size_and_pinuse_of_free_chunk(p, s)\
- ((p)->head = (s|PINUSE_BIT), set_foot(p, s))
-
-/* Set size, pinuse bit, foot, and clear next pinuse */
-#define set_free_with_pinuse(p, s, n)\
- (clear_pinuse(n), set_size_and_pinuse_of_free_chunk(p, s))
-
-#define is_mmapped(p)\
- (!((p)->head & PINUSE_BIT) && ((p)->prev_foot & IS_MMAPPED_BIT))
-
-/* Get the internal overhead associated with chunk p */
-#define overhead_for(p)\
- (is_mmapped(p)? MMAP_CHUNK_OVERHEAD : CHUNK_OVERHEAD)
-
-/* Return true if malloced space is not necessarily cleared */
-#if MMAP_CLEARS
-#define calloc_must_clear(p) (!is_mmapped(p))
-#else /* MMAP_CLEARS */
-#define calloc_must_clear(p) (1)
-#endif /* MMAP_CLEARS */
-
-/* ---------------------- Overlaid data structures ----------------------- */
-
-/*
- When chunks are not in use, they are treated as nodes of either
- lists or trees.
-
- "Small" chunks are stored in circular doubly-linked lists, and look
- like this:
-
- chunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Size of previous chunk |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- `head:' | Size of chunk, in bytes |P|
- mem-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Forward pointer to next chunk in list |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Back pointer to previous chunk in list |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Unused space (may be 0 bytes long) .
- . .
- . |
-nextchunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- `foot:' | Size of chunk, in bytes |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
- Larger chunks are kept in a form of bitwise digital trees (aka
- tries) keyed on chunksizes. Because malloc_tree_chunks are only for
- free chunks greater than 256 bytes, their size doesn't impose any
- constraints on user chunk sizes. Each node looks like:
-
- chunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Size of previous chunk |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- `head:' | Size of chunk, in bytes |P|
- mem-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Forward pointer to next chunk of same size |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Back pointer to previous chunk of same size |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Pointer to left child (child[0]) |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Pointer to right child (child[1]) |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Pointer to parent |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | bin index of this chunk |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Unused space .
- . |
-nextchunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- `foot:' | Size of chunk, in bytes |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
- Each tree holding treenodes is a tree of unique chunk sizes. Chunks
- of the same size are arranged in a circularly-linked list, with only
- the oldest chunk (the next to be used, in our FIFO ordering)
- actually in the tree. (Tree members are distinguished by a non-null
- parent pointer.) If a chunk with the same size an an existing node
- is inserted, it is linked off the existing node using pointers that
- work in the same way as fd/bk pointers of small chunks.
-
- Each tree contains a power of 2 sized range of chunk sizes (the
- smallest is 0x100 <= x < 0x180), which is is divided in half at each
- tree level, with the chunks in the smaller half of the range (0x100
- <= x < 0x140 for the top nose) in the left subtree and the larger
- half (0x140 <= x < 0x180) in the right subtree. This is, of course,
- done by inspecting individual bits.
-
- Using these rules, each node's left subtree contains all smaller
- sizes than its right subtree. However, the node at the root of each
- subtree has no particular ordering relationship to either. (The
- dividing line between the subtree sizes is based on trie relation.)
- If we remove the last chunk of a given size from the interior of the
- tree, we need to replace it with a leaf node. The tree ordering
- rules permit a node to be replaced by any leaf below it.
-
- The smallest chunk in a tree (a common operation in a best-fit
- allocator) can be found by walking a path to the leftmost leaf in
- the tree. Unlike a usual binary tree, where we follow left child
- pointers until we reach a null, here we follow the right child
- pointer any time the left one is null, until we reach a leaf with
- both child pointers null. The smallest chunk in the tree will be
- somewhere along that path.
-
- The worst case number of steps to add, find, or remove a node is
- bounded by the number of bits differentiating chunks within
- bins. Under current bin calculations, this ranges from 6 up to 21
- (for 32 bit sizes) or up to 53 (for 64 bit sizes). The typical case
- is of course much better.
-*/
-
-struct malloc_tree_chunk {
- /* The first four fields must be compatible with malloc_chunk */
- size_t prev_foot;
- size_t head;
- struct malloc_tree_chunk* fd;
- struct malloc_tree_chunk* bk;
-
- struct malloc_tree_chunk* child[2];
- struct malloc_tree_chunk* parent;
- bindex_t index;
-};
-
-typedef struct malloc_tree_chunk tchunk;
-typedef struct malloc_tree_chunk* tchunkptr;
-typedef struct malloc_tree_chunk* tbinptr; /* The type of bins of trees */
-
-/* A little helper macro for trees */
-#define leftmost_child(t) ((t)->child[0] != 0? (t)->child[0] : (t)->child[1])
-
-/* ----------------------------- Segments -------------------------------- */
-
-/*
- Each malloc space may include non-contiguous segments, held in a
- list headed by an embedded malloc_segment record representing the
- top-most space. Segments also include flags holding properties of
- the space. Large chunks that are directly allocated by mmap are not
- included in this list. They are instead independently created and
- destroyed without otherwise keeping track of them.
-
- Segment management mainly comes into play for spaces allocated by
- MMAP. Any call to MMAP might or might not return memory that is
- adjacent to an existing segment. MORECORE normally contiguously
- extends the current space, so this space is almost always adjacent,
- which is simpler and faster to deal with. (This is why MORECORE is
- used preferentially to MMAP when both are available -- see
- sys_alloc.) When allocating using MMAP, we don't use any of the
- hinting mechanisms (inconsistently) supported in various
- implementations of unix mmap, or distinguish reserving from
- committing memory. Instead, we just ask for space, and exploit
- contiguity when we get it. It is probably possible to do
- better than this on some systems, but no general scheme seems
- to be significantly better.
-
- Management entails a simpler variant of the consolidation scheme
- used for chunks to reduce fragmentation -- new adjacent memory is
- normally prepended or appended to an existing segment. However,
- there are limitations compared to chunk consolidation that mostly
- reflect the fact that segment processing is relatively infrequent
- (occurring only when getting memory from system) and that we
- don't expect to have huge numbers of segments:
-
- * Segments are not indexed, so traversal requires linear scans. (It
- would be possible to index these, but is not worth the extra
- overhead and complexity for most programs on most platforms.)
- * New segments are only appended to old ones when holding top-most
- memory; if they cannot be prepended to others, they are held in
- different segments.
-
- Except for the top-most segment of an mstate, each segment record
- is kept at the tail of its segment. Segments are added by pushing
- segment records onto the list headed by &mstate.seg for the
- containing mstate.
-
- Segment flags control allocation/merge/deallocation policies:
- * If EXTERN_BIT set, then we did not allocate this segment,
- and so should not try to deallocate or merge with others.
- (This currently holds only for the initial segment passed
- into create_mspace_with_base.)
- * If IS_MMAPPED_BIT set, the segment may be merged with
- other surrounding mmapped segments and trimmed/de-allocated
- using munmap.
- * If neither bit is set, then the segment was obtained using
- MORECORE so can be merged with surrounding MORECORE'd segments
- and deallocated/trimmed using MORECORE with negative arguments.
-*/
-
-struct malloc_segment {
- char* base; /* base address */
- size_t size; /* allocated size */
- struct malloc_segment* next; /* ptr to next segment */
-#if FFI_MMAP_EXEC_WRIT
- /* The mmap magic is supposed to store the address of the executable
- segment at the very end of the requested block. */
-
-# define mmap_exec_offset(b,s) (*(ptrdiff_t*)((b)+(s)-sizeof(ptrdiff_t)))
-
- /* We can only merge segments if their corresponding executable
- segments are at identical offsets. */
-# define check_segment_merge(S,b,s) \
- (mmap_exec_offset((b),(s)) == (S)->exec_offset)
-
-# define add_segment_exec_offset(p,S) ((char*)(p) + (S)->exec_offset)
-# define sub_segment_exec_offset(p,S) ((char*)(p) - (S)->exec_offset)
-
- /* The removal of sflags only works with HAVE_MORECORE == 0. */
-
-# define get_segment_flags(S) (IS_MMAPPED_BIT)
-# define set_segment_flags(S,v) \
- (((v) != IS_MMAPPED_BIT) ? (ABORT, (v)) : \
- (((S)->exec_offset = \
- mmap_exec_offset((S)->base, (S)->size)), \
- (mmap_exec_offset((S)->base + (S)->exec_offset, (S)->size) != \
- (S)->exec_offset) ? (ABORT, (v)) : \
- (mmap_exec_offset((S)->base, (S)->size) = 0), (v)))
-
- /* We use an offset here, instead of a pointer, because then, when
- base changes, we don't have to modify this. On architectures
- with segmented addresses, this might not work. */
- ptrdiff_t exec_offset;
-#else
-
-# define get_segment_flags(S) ((S)->sflags)
-# define set_segment_flags(S,v) ((S)->sflags = (v))
-# define check_segment_merge(S,b,s) (1)
-
- flag_t sflags; /* mmap and extern flag */
-#endif
-};
-
-#define is_mmapped_segment(S) (get_segment_flags(S) & IS_MMAPPED_BIT)
-#define is_extern_segment(S) (get_segment_flags(S) & EXTERN_BIT)
-
-typedef struct malloc_segment msegment;
-typedef struct malloc_segment* msegmentptr;
-
-/* ---------------------------- malloc_state ----------------------------- */
-
-/*
- A malloc_state holds all of the bookkeeping for a space.
- The main fields are:
-
- Top
- The topmost chunk of the currently active segment. Its size is
- cached in topsize. The actual size of topmost space is
- topsize+TOP_FOOT_SIZE, which includes space reserved for adding
- fenceposts and segment records if necessary when getting more
- space from the system. The size at which to autotrim top is
- cached from mparams in trim_check, except that it is disabled if
- an autotrim fails.
-
- Designated victim (dv)
- This is the preferred chunk for servicing small requests that
- don't have exact fits. It is normally the chunk split off most
- recently to service another small request. Its size is cached in
- dvsize. The link fields of this chunk are not maintained since it
- is not kept in a bin.
-
- SmallBins
- An array of bin headers for free chunks. These bins hold chunks
- with sizes less than MIN_LARGE_SIZE bytes. Each bin contains
- chunks of all the same size, spaced 8 bytes apart. To simplify
- use in double-linked lists, each bin header acts as a malloc_chunk
- pointing to the real first node, if it exists (else pointing to
- itself). This avoids special-casing for headers. But to avoid
- waste, we allocate only the fd/bk pointers of bins, and then use
- repositioning tricks to treat these as the fields of a chunk.
-
- TreeBins
- Treebins are pointers to the roots of trees holding a range of
- sizes. There are 2 equally spaced treebins for each power of two
- from TREE_SHIFT to TREE_SHIFT+16. The last bin holds anything
- larger.
-
- Bin maps
- There is one bit map for small bins ("smallmap") and one for
- treebins ("treemap). Each bin sets its bit when non-empty, and
- clears the bit when empty. Bit operations are then used to avoid
- bin-by-bin searching -- nearly all "search" is done without ever
- looking at bins that won't be selected. The bit maps
- conservatively use 32 bits per map word, even if on 64bit system.
- For a good description of some of the bit-based techniques used
- here, see Henry S. Warren Jr's book "Hacker's Delight" (and
- supplement at http://hackersdelight.org/). Many of these are
- intended to reduce the branchiness of paths through malloc etc, as
- well as to reduce the number of memory locations read or written.
-
- Segments
- A list of segments headed by an embedded malloc_segment record
- representing the initial space.
-
- Address check support
- The least_addr field is the least address ever obtained from
- MORECORE or MMAP. Attempted frees and reallocs of any address less
- than this are trapped (unless INSECURE is defined).
-
- Magic tag
- A cross-check field that should always hold same value as mparams.magic.
-
- Flags
- Bits recording whether to use MMAP, locks, or contiguous MORECORE
-
- Statistics
- Each space keeps track of current and maximum system memory
- obtained via MORECORE or MMAP.
-
- Locking
- If USE_LOCKS is defined, the "mutex" lock is acquired and released
- around every public call using this mspace.
-*/
-
-/* Bin types, widths and sizes */
-#define NSMALLBINS (32U)
-#define NTREEBINS (32U)
-#define SMALLBIN_SHIFT (3U)
-#define SMALLBIN_WIDTH (SIZE_T_ONE << SMALLBIN_SHIFT)
-#define TREEBIN_SHIFT (8U)
-#define MIN_LARGE_SIZE (SIZE_T_ONE << TREEBIN_SHIFT)
-#define MAX_SMALL_SIZE (MIN_LARGE_SIZE - SIZE_T_ONE)
-#define MAX_SMALL_REQUEST (MAX_SMALL_SIZE - CHUNK_ALIGN_MASK - CHUNK_OVERHEAD)
-
-struct malloc_state {
- binmap_t smallmap;
- binmap_t treemap;
- size_t dvsize;
- size_t topsize;
- char* least_addr;
- mchunkptr dv;
- mchunkptr top;
- size_t trim_check;
- size_t magic;
- mchunkptr smallbins[(NSMALLBINS+1)*2];
- tbinptr treebins[NTREEBINS];
- size_t footprint;
- size_t max_footprint;
- flag_t mflags;
-#if USE_LOCKS
- MLOCK_T mutex; /* locate lock among fields that rarely change */
-#endif /* USE_LOCKS */
- msegment seg;
-};
-
-typedef struct malloc_state* mstate;
-
-/* ------------- Global malloc_state and malloc_params ------------------- */
-
-/*
- malloc_params holds global properties, including those that can be
- dynamically set using mallopt. There is a single instance, mparams,
- initialized in init_mparams.
-*/
-
-struct malloc_params {
- size_t magic;
- size_t page_size;
- size_t granularity;
- size_t mmap_threshold;
- size_t trim_threshold;
- flag_t default_mflags;
-};
-
-static struct malloc_params mparams;
-
-/* The global malloc_state used for all non-"mspace" calls */
-static struct malloc_state _gm_;
-#define gm (&_gm_)
-#define is_global(M) ((M) == &_gm_)
-#define is_initialized(M) ((M)->top != 0)
-
-/* -------------------------- system alloc setup ------------------------- */
-
-/* Operations on mflags */
-
-#define use_lock(M) ((M)->mflags & USE_LOCK_BIT)
-#define enable_lock(M) ((M)->mflags |= USE_LOCK_BIT)
-#define disable_lock(M) ((M)->mflags &= ~USE_LOCK_BIT)
-
-#define use_mmap(M) ((M)->mflags & USE_MMAP_BIT)
-#define enable_mmap(M) ((M)->mflags |= USE_MMAP_BIT)
-#define disable_mmap(M) ((M)->mflags &= ~USE_MMAP_BIT)
-
-#define use_noncontiguous(M) ((M)->mflags & USE_NONCONTIGUOUS_BIT)
-#define disable_contiguous(M) ((M)->mflags |= USE_NONCONTIGUOUS_BIT)
-
-#define set_lock(M,L)\
- ((M)->mflags = (L)?\
- ((M)->mflags | USE_LOCK_BIT) :\
- ((M)->mflags & ~USE_LOCK_BIT))
-
-/* page-align a size */
-#define page_align(S)\
- (((S) + (mparams.page_size)) & ~(mparams.page_size - SIZE_T_ONE))
-
-/* granularity-align a size */
-#define granularity_align(S)\
- (((S) + (mparams.granularity)) & ~(mparams.granularity - SIZE_T_ONE))
-
-#define is_page_aligned(S)\
- (((size_t)(S) & (mparams.page_size - SIZE_T_ONE)) == 0)
-#define is_granularity_aligned(S)\
- (((size_t)(S) & (mparams.granularity - SIZE_T_ONE)) == 0)
-
-/* True if segment S holds address A */
-#define segment_holds(S, A)\
- ((char*)(A) >= S->base && (char*)(A) < S->base + S->size)
-
-/* Return segment holding given address */
-static msegmentptr segment_holding(mstate m, char* addr) {
- msegmentptr sp = &m->seg;
- for (;;) {
- if (addr >= sp->base && addr < sp->base + sp->size)
- return sp;
- if ((sp = sp->next) == 0)
- return 0;
- }
-}
-
-/* Return true if segment contains a segment link */
-static int has_segment_link(mstate m, msegmentptr ss) {
- msegmentptr sp = &m->seg;
- for (;;) {
- if ((char*)sp >= ss->base && (char*)sp < ss->base + ss->size)
- return 1;
- if ((sp = sp->next) == 0)
- return 0;
- }
-}
-
-#ifndef MORECORE_CANNOT_TRIM
-#define should_trim(M,s) ((s) > (M)->trim_check)
-#else /* MORECORE_CANNOT_TRIM */
-#define should_trim(M,s) (0)
-#endif /* MORECORE_CANNOT_TRIM */
-
-/*
- TOP_FOOT_SIZE is padding at the end of a segment, including space
- that may be needed to place segment records and fenceposts when new
- noncontiguous segments are added.
-*/
-#define TOP_FOOT_SIZE\
- (align_offset(chunk2mem(0))+pad_request(sizeof(struct malloc_segment))+MIN_CHUNK_SIZE)
-
-
-/* ------------------------------- Hooks -------------------------------- */
-
-/*
- PREACTION should be defined to return 0 on success, and nonzero on
- failure. If you are not using locking, you can redefine these to do
- anything you like.
-*/
-
-#if USE_LOCKS
-
-/* Ensure locks are initialized */
-#define GLOBALLY_INITIALIZE() (mparams.page_size == 0 && init_mparams())
-
-#define PREACTION(M) ((GLOBALLY_INITIALIZE() || use_lock(M))? ACQUIRE_LOCK(&(M)->mutex) : 0)
-#define POSTACTION(M) { if (use_lock(M)) RELEASE_LOCK(&(M)->mutex); }
-#else /* USE_LOCKS */
-
-#ifndef PREACTION
-#define PREACTION(M) (0)
-#endif /* PREACTION */
-
-#ifndef POSTACTION
-#define POSTACTION(M)
-#endif /* POSTACTION */
-
-#endif /* USE_LOCKS */
-
-/*
- CORRUPTION_ERROR_ACTION is triggered upon detected bad addresses.
- USAGE_ERROR_ACTION is triggered on detected bad frees and
- reallocs. The argument p is an address that might have triggered the
- fault. It is ignored by the two predefined actions, but might be
- useful in custom actions that try to help diagnose errors.
-*/
-
-#if PROCEED_ON_ERROR
-
-/* A count of the number of corruption errors causing resets */
-int malloc_corruption_error_count;
-
-/* default corruption action */
-static void reset_on_error(mstate m);
-
-#define CORRUPTION_ERROR_ACTION(m) reset_on_error(m)
-#define USAGE_ERROR_ACTION(m, p)
-
-#else /* PROCEED_ON_ERROR */
-
-#ifndef CORRUPTION_ERROR_ACTION
-#define CORRUPTION_ERROR_ACTION(m) ABORT
-#endif /* CORRUPTION_ERROR_ACTION */
-
-#ifndef USAGE_ERROR_ACTION
-#define USAGE_ERROR_ACTION(m,p) ABORT
-#endif /* USAGE_ERROR_ACTION */
-
-#endif /* PROCEED_ON_ERROR */
-
-/* -------------------------- Debugging setup ---------------------------- */
-
-#if ! DEBUG
-
-#define check_free_chunk(M,P)
-#define check_inuse_chunk(M,P)
-#define check_malloced_chunk(M,P,N)
-#define check_mmapped_chunk(M,P)
-#define check_malloc_state(M)
-#define check_top_chunk(M,P)
-
-#else /* DEBUG */
-#define check_free_chunk(M,P) do_check_free_chunk(M,P)
-#define check_inuse_chunk(M,P) do_check_inuse_chunk(M,P)
-#define check_top_chunk(M,P) do_check_top_chunk(M,P)
-#define check_malloced_chunk(M,P,N) do_check_malloced_chunk(M,P,N)
-#define check_mmapped_chunk(M,P) do_check_mmapped_chunk(M,P)
-#define check_malloc_state(M) do_check_malloc_state(M)
-
-static void do_check_any_chunk(mstate m, mchunkptr p);
-static void do_check_top_chunk(mstate m, mchunkptr p);
-static void do_check_mmapped_chunk(mstate m, mchunkptr p);
-static void do_check_inuse_chunk(mstate m, mchunkptr p);
-static void do_check_free_chunk(mstate m, mchunkptr p);
-static void do_check_malloced_chunk(mstate m, void* mem, size_t s);
-static void do_check_tree(mstate m, tchunkptr t);
-static void do_check_treebin(mstate m, bindex_t i);
-static void do_check_smallbin(mstate m, bindex_t i);
-static void do_check_malloc_state(mstate m);
-static int bin_find(mstate m, mchunkptr x);
-static size_t traverse_and_check(mstate m);
-#endif /* DEBUG */
-
-/* ---------------------------- Indexing Bins ---------------------------- */
-
-#define is_small(s) (((s) >> SMALLBIN_SHIFT) < NSMALLBINS)
-#define small_index(s) ((s) >> SMALLBIN_SHIFT)
-#define small_index2size(i) ((i) << SMALLBIN_SHIFT)
-#define MIN_SMALL_INDEX (small_index(MIN_CHUNK_SIZE))
-
-/* addressing by index. See above about smallbin repositioning */
-#define smallbin_at(M, i) ((sbinptr)((char*)&((M)->smallbins[(i)<<1])))
-#define treebin_at(M,i) (&((M)->treebins[i]))
-
-/* assign tree index for size S to variable I */
-#if defined(__GNUC__) && defined(i386)
-#define compute_tree_index(S, I)\
-{\
- size_t X = S >> TREEBIN_SHIFT;\
- if (X == 0)\
- I = 0;\
- else if (X > 0xFFFF)\
- I = NTREEBINS-1;\
- else {\
- unsigned int K;\
- __asm__("bsrl %1,%0\n\t" : "=r" (K) : "rm" (X));\
- I = (bindex_t)((K << 1) + ((S >> (K + (TREEBIN_SHIFT-1)) & 1)));\
- }\
-}
-#else /* GNUC */
-#define compute_tree_index(S, I)\
-{\
- size_t X = S >> TREEBIN_SHIFT;\
- if (X == 0)\
- I = 0;\
- else if (X > 0xFFFF)\
- I = NTREEBINS-1;\
- else {\
- unsigned int Y = (unsigned int)X;\
- unsigned int N = ((Y - 0x100) >> 16) & 8;\
- unsigned int K = (((Y <<= N) - 0x1000) >> 16) & 4;\
- N += K;\
- N += K = (((Y <<= K) - 0x4000) >> 16) & 2;\
- K = 14 - N + ((Y <<= K) >> 15);\
- I = (K << 1) + ((S >> (K + (TREEBIN_SHIFT-1)) & 1));\
- }\
-}
-#endif /* GNUC */
-
-/* Bit representing maximum resolved size in a treebin at i */
-#define bit_for_tree_index(i) \
- (i == NTREEBINS-1)? (SIZE_T_BITSIZE-1) : (((i) >> 1) + TREEBIN_SHIFT - 2)
-
-/* Shift placing maximum resolved bit in a treebin at i as sign bit */
-#define leftshift_for_tree_index(i) \
- ((i == NTREEBINS-1)? 0 : \
- ((SIZE_T_BITSIZE-SIZE_T_ONE) - (((i) >> 1) + TREEBIN_SHIFT - 2)))
-
-/* The size of the smallest chunk held in bin with index i */
-#define minsize_for_tree_index(i) \
- ((SIZE_T_ONE << (((i) >> 1) + TREEBIN_SHIFT)) | \
- (((size_t)((i) & SIZE_T_ONE)) << (((i) >> 1) + TREEBIN_SHIFT - 1)))
-
-
-/* ------------------------ Operations on bin maps ----------------------- */
-
-/* bit corresponding to given index */
-#define idx2bit(i) ((binmap_t)(1) << (i))
-
-/* Mark/Clear bits with given index */
-#define mark_smallmap(M,i) ((M)->smallmap |= idx2bit(i))
-#define clear_smallmap(M,i) ((M)->smallmap &= ~idx2bit(i))
-#define smallmap_is_marked(M,i) ((M)->smallmap & idx2bit(i))
-
-#define mark_treemap(M,i) ((M)->treemap |= idx2bit(i))
-#define clear_treemap(M,i) ((M)->treemap &= ~idx2bit(i))
-#define treemap_is_marked(M,i) ((M)->treemap & idx2bit(i))
-
-/* index corresponding to given bit */
-
-#if defined(__GNUC__) && defined(i386)
-#define compute_bit2idx(X, I)\
-{\
- unsigned int J;\
- __asm__("bsfl %1,%0\n\t" : "=r" (J) : "rm" (X));\
- I = (bindex_t)J;\
-}
-
-#else /* GNUC */
-#if USE_BUILTIN_FFS
-#define compute_bit2idx(X, I) I = ffs(X)-1
-
-#else /* USE_BUILTIN_FFS */
-#define compute_bit2idx(X, I)\
-{\
- unsigned int Y = X - 1;\
- unsigned int K = Y >> (16-4) & 16;\
- unsigned int N = K; Y >>= K;\
- N += K = Y >> (8-3) & 8; Y >>= K;\
- N += K = Y >> (4-2) & 4; Y >>= K;\
- N += K = Y >> (2-1) & 2; Y >>= K;\
- N += K = Y >> (1-0) & 1; Y >>= K;\
- I = (bindex_t)(N + Y);\
-}
-#endif /* USE_BUILTIN_FFS */
-#endif /* GNUC */
-
-/* isolate the least set bit of a bitmap */
-#define least_bit(x) ((x) & -(x))
-
-/* mask with all bits to left of least bit of x on */
-#define left_bits(x) ((x<<1) | -(x<<1))
-
-/* mask with all bits to left of or equal to least bit of x on */
-#define same_or_left_bits(x) ((x) | -(x))
-
-
-/* ----------------------- Runtime Check Support ------------------------- */
-
-/*
- For security, the main invariant is that malloc/free/etc never
- writes to a static address other than malloc_state, unless static
- malloc_state itself has been corrupted, which cannot occur via
- malloc (because of these checks). In essence this means that we
- believe all pointers, sizes, maps etc held in malloc_state, but
- check all of those linked or offsetted from other embedded data
- structures. These checks are interspersed with main code in a way
- that tends to minimize their run-time cost.
-
- When FOOTERS is defined, in addition to range checking, we also
- verify footer fields of inuse chunks, which can be used guarantee
- that the mstate controlling malloc/free is intact. This is a
- streamlined version of the approach described by William Robertson
- et al in "Run-time Detection of Heap-based Overflows" LISA'03
- http://www.usenix.org/events/lisa03/tech/robertson.html The footer
- of an inuse chunk holds the xor of its mstate and a random seed,
- that is checked upon calls to free() and realloc(). This is
- (probablistically) unguessable from outside the program, but can be
- computed by any code successfully malloc'ing any chunk, so does not
- itself provide protection against code that has already broken
- security through some other means. Unlike Robertson et al, we
- always dynamically check addresses of all offset chunks (previous,
- next, etc). This turns out to be cheaper than relying on hashes.
-*/
-
-#if !INSECURE
-/* Check if address a is at least as high as any from MORECORE or MMAP */
-#define ok_address(M, a) ((char*)(a) >= (M)->least_addr)
-/* Check if address of next chunk n is higher than base chunk p */
-#define ok_next(p, n) ((char*)(p) < (char*)(n))
-/* Check if p has its cinuse bit on */
-#define ok_cinuse(p) cinuse(p)
-/* Check if p has its pinuse bit on */
-#define ok_pinuse(p) pinuse(p)
-
-#else /* !INSECURE */
-#define ok_address(M, a) (1)
-#define ok_next(b, n) (1)
-#define ok_cinuse(p) (1)
-#define ok_pinuse(p) (1)
-#endif /* !INSECURE */
-
-#if (FOOTERS && !INSECURE)
-/* Check if (alleged) mstate m has expected magic field */
-#define ok_magic(M) ((M)->magic == mparams.magic)
-#else /* (FOOTERS && !INSECURE) */
-#define ok_magic(M) (1)
-#endif /* (FOOTERS && !INSECURE) */
-
-
-/* In gcc, use __builtin_expect to minimize impact of checks */
-#if !INSECURE
-#if defined(__GNUC__) && __GNUC__ >= 3
-#define RTCHECK(e) __builtin_expect(e, 1)
-#else /* GNUC */
-#define RTCHECK(e) (e)
-#endif /* GNUC */
-#else /* !INSECURE */
-#define RTCHECK(e) (1)
-#endif /* !INSECURE */
-
-/* macros to set up inuse chunks with or without footers */
-
-#if !FOOTERS
-
-#define mark_inuse_foot(M,p,s)
-
-/* Set cinuse bit and pinuse bit of next chunk */
-#define set_inuse(M,p,s)\
- ((p)->head = (((p)->head & PINUSE_BIT)|s|CINUSE_BIT),\
- ((mchunkptr)(((char*)(p)) + (s)))->head |= PINUSE_BIT)
-
-/* Set cinuse and pinuse of this chunk and pinuse of next chunk */
-#define set_inuse_and_pinuse(M,p,s)\
- ((p)->head = (s|PINUSE_BIT|CINUSE_BIT),\
- ((mchunkptr)(((char*)(p)) + (s)))->head |= PINUSE_BIT)
-
-/* Set size, cinuse and pinuse bit of this chunk */
-#define set_size_and_pinuse_of_inuse_chunk(M, p, s)\
- ((p)->head = (s|PINUSE_BIT|CINUSE_BIT))
-
-#else /* FOOTERS */
-
-/* Set foot of inuse chunk to be xor of mstate and seed */
-#define mark_inuse_foot(M,p,s)\
- (((mchunkptr)((char*)(p) + (s)))->prev_foot = ((size_t)(M) ^ mparams.magic))
-
-#define get_mstate_for(p)\
- ((mstate)(((mchunkptr)((char*)(p) +\
- (chunksize(p))))->prev_foot ^ mparams.magic))
-
-#define set_inuse(M,p,s)\
- ((p)->head = (((p)->head & PINUSE_BIT)|s|CINUSE_BIT),\
- (((mchunkptr)(((char*)(p)) + (s)))->head |= PINUSE_BIT), \
- mark_inuse_foot(M,p,s))
-
-#define set_inuse_and_pinuse(M,p,s)\
- ((p)->head = (s|PINUSE_BIT|CINUSE_BIT),\
- (((mchunkptr)(((char*)(p)) + (s)))->head |= PINUSE_BIT),\
- mark_inuse_foot(M,p,s))
-
-#define set_size_and_pinuse_of_inuse_chunk(M, p, s)\
- ((p)->head = (s|PINUSE_BIT|CINUSE_BIT),\
- mark_inuse_foot(M, p, s))
-
-#endif /* !FOOTERS */
-
-/* ---------------------------- setting mparams -------------------------- */
-
-/* Initialize mparams */
-static int init_mparams(void) {
- if (mparams.page_size == 0) {
- size_t s;
-
- mparams.mmap_threshold = DEFAULT_MMAP_THRESHOLD;
- mparams.trim_threshold = DEFAULT_TRIM_THRESHOLD;
-#if MORECORE_CONTIGUOUS
- mparams.default_mflags = USE_LOCK_BIT|USE_MMAP_BIT;
-#else /* MORECORE_CONTIGUOUS */
- mparams.default_mflags = USE_LOCK_BIT|USE_MMAP_BIT|USE_NONCONTIGUOUS_BIT;
-#endif /* MORECORE_CONTIGUOUS */
-
-#if (FOOTERS && !INSECURE)
- {
-#if USE_DEV_RANDOM
- int fd;
- unsigned char buf[sizeof(size_t)];
- /* Try to use /dev/urandom, else fall back on using time */
- if ((fd = open("/dev/urandom", O_RDONLY)) >= 0 &&
- read(fd, buf, sizeof(buf)) == sizeof(buf)) {
- s = *((size_t *) buf);
- close(fd);
- }
- else
-#endif /* USE_DEV_RANDOM */
- s = (size_t)(time(0) ^ (size_t)0x55555555U);
-
- s |= (size_t)8U; /* ensure nonzero */
- s &= ~(size_t)7U; /* improve chances of fault for bad values */
-
- }
-#else /* (FOOTERS && !INSECURE) */
- s = (size_t)0x58585858U;
-#endif /* (FOOTERS && !INSECURE) */
- ACQUIRE_MAGIC_INIT_LOCK();
- if (mparams.magic == 0) {
- mparams.magic = s;
- /* Set up lock for main malloc area */
- INITIAL_LOCK(&gm->mutex);
- gm->mflags = mparams.default_mflags;
- }
- RELEASE_MAGIC_INIT_LOCK();
-
-#if !defined(WIN32) && !defined(__OS2__)
- mparams.page_size = malloc_getpagesize;
- mparams.granularity = ((DEFAULT_GRANULARITY != 0)?
- DEFAULT_GRANULARITY : mparams.page_size);
-#elif defined (__OS2__)
- /* if low-memory is used, os2munmap() would break
- if it were anything other than 64k */
- mparams.page_size = 4096u;
- mparams.granularity = 65536u;
-#else /* WIN32 */
- {
- SYSTEM_INFO system_info;
- GetSystemInfo(&system_info);
- mparams.page_size = system_info.dwPageSize;
- mparams.granularity = system_info.dwAllocationGranularity;
- }
-#endif /* WIN32 */
-
- /* Sanity-check configuration:
- size_t must be unsigned and as wide as pointer type.
- ints must be at least 4 bytes.
- alignment must be at least 8.
- Alignment, min chunk size, and page size must all be powers of 2.
- */
- if ((sizeof(size_t) != sizeof(char*)) ||
- (MAX_SIZE_T < MIN_CHUNK_SIZE) ||
- (sizeof(int) < 4) ||
- (MALLOC_ALIGNMENT < (size_t)8U) ||
- ((MALLOC_ALIGNMENT & (MALLOC_ALIGNMENT-SIZE_T_ONE)) != 0) ||
- ((MCHUNK_SIZE & (MCHUNK_SIZE-SIZE_T_ONE)) != 0) ||
- ((mparams.granularity & (mparams.granularity-SIZE_T_ONE)) != 0) ||
- ((mparams.page_size & (mparams.page_size-SIZE_T_ONE)) != 0))
- ABORT;
- }
- return 0;
-}
-
-/* support for mallopt */
-static int change_mparam(int param_number, int value) {
- size_t val = (size_t)value;
- init_mparams();
- switch(param_number) {
- case M_TRIM_THRESHOLD:
- mparams.trim_threshold = val;
- return 1;
- case M_GRANULARITY:
- if (val >= mparams.page_size && ((val & (val-1)) == 0)) {
- mparams.granularity = val;
- return 1;
- }
- else
- return 0;
- case M_MMAP_THRESHOLD:
- mparams.mmap_threshold = val;
- return 1;
- default:
- return 0;
- }
-}
-
-#if DEBUG
-/* ------------------------- Debugging Support --------------------------- */
-
-/* Check properties of any chunk, whether free, inuse, mmapped etc */
-static void do_check_any_chunk(mstate m, mchunkptr p) {
- assert((is_aligned(chunk2mem(p))) || (p->head == FENCEPOST_HEAD));
- assert(ok_address(m, p));
-}
-
-/* Check properties of top chunk */
-static void do_check_top_chunk(mstate m, mchunkptr p) {
- msegmentptr sp = segment_holding(m, (char*)p);
- size_t sz = chunksize(p);
- assert(sp != 0);
- assert((is_aligned(chunk2mem(p))) || (p->head == FENCEPOST_HEAD));
- assert(ok_address(m, p));
- assert(sz == m->topsize);
- assert(sz > 0);
- assert(sz == ((sp->base + sp->size) - (char*)p) - TOP_FOOT_SIZE);
- assert(pinuse(p));
- assert(!next_pinuse(p));
-}
-
-/* Check properties of (inuse) mmapped chunks */
-static void do_check_mmapped_chunk(mstate m, mchunkptr p) {
- size_t sz = chunksize(p);
- size_t len = (sz + (p->prev_foot & ~IS_MMAPPED_BIT) + MMAP_FOOT_PAD);
- assert(is_mmapped(p));
- assert(use_mmap(m));
- assert((is_aligned(chunk2mem(p))) || (p->head == FENCEPOST_HEAD));
- assert(ok_address(m, p));
- assert(!is_small(sz));
- assert((len & (mparams.page_size-SIZE_T_ONE)) == 0);
- assert(chunk_plus_offset(p, sz)->head == FENCEPOST_HEAD);
- assert(chunk_plus_offset(p, sz+SIZE_T_SIZE)->head == 0);
-}
-
-/* Check properties of inuse chunks */
-static void do_check_inuse_chunk(mstate m, mchunkptr p) {
- do_check_any_chunk(m, p);
- assert(cinuse(p));
- assert(next_pinuse(p));
- /* If not pinuse and not mmapped, previous chunk has OK offset */
- assert(is_mmapped(p) || pinuse(p) || next_chunk(prev_chunk(p)) == p);
- if (is_mmapped(p))
- do_check_mmapped_chunk(m, p);
-}
-
-/* Check properties of free chunks */
-static void do_check_free_chunk(mstate m, mchunkptr p) {
- size_t sz = p->head & ~(PINUSE_BIT|CINUSE_BIT);
- mchunkptr next = chunk_plus_offset(p, sz);
- do_check_any_chunk(m, p);
- assert(!cinuse(p));
- assert(!next_pinuse(p));
- assert (!is_mmapped(p));
- if (p != m->dv && p != m->top) {
- if (sz >= MIN_CHUNK_SIZE) {
- assert((sz & CHUNK_ALIGN_MASK) == 0);
- assert(is_aligned(chunk2mem(p)));
- assert(next->prev_foot == sz);
- assert(pinuse(p));
- assert (next == m->top || cinuse(next));
- assert(p->fd->bk == p);
- assert(p->bk->fd == p);
- }
- else /* markers are always of size SIZE_T_SIZE */
- assert(sz == SIZE_T_SIZE);
- }
-}
-
-/* Check properties of malloced chunks at the point they are malloced */
-static void do_check_malloced_chunk(mstate m, void* mem, size_t s) {
- if (mem != 0) {
- mchunkptr p = mem2chunk(mem);
- size_t sz = p->head & ~(PINUSE_BIT|CINUSE_BIT);
- do_check_inuse_chunk(m, p);
- assert((sz & CHUNK_ALIGN_MASK) == 0);
- assert(sz >= MIN_CHUNK_SIZE);
- assert(sz >= s);
- /* unless mmapped, size is less than MIN_CHUNK_SIZE more than request */
- assert(is_mmapped(p) || sz < (s + MIN_CHUNK_SIZE));
- }
-}
-
-/* Check a tree and its subtrees. */
-static void do_check_tree(mstate m, tchunkptr t) {
- tchunkptr head = 0;
- tchunkptr u = t;
- bindex_t tindex = t->index;
- size_t tsize = chunksize(t);
- bindex_t idx;
- compute_tree_index(tsize, idx);
- assert(tindex == idx);
- assert(tsize >= MIN_LARGE_SIZE);
- assert(tsize >= minsize_for_tree_index(idx));
- assert((idx == NTREEBINS-1) || (tsize < minsize_for_tree_index((idx+1))));
-
- do { /* traverse through chain of same-sized nodes */
- do_check_any_chunk(m, ((mchunkptr)u));
- assert(u->index == tindex);
- assert(chunksize(u) == tsize);
- assert(!cinuse(u));
- assert(!next_pinuse(u));
- assert(u->fd->bk == u);
- assert(u->bk->fd == u);
- if (u->parent == 0) {
- assert(u->child[0] == 0);
- assert(u->child[1] == 0);
- }
- else {
- assert(head == 0); /* only one node on chain has parent */
- head = u;
- assert(u->parent != u);
- assert (u->parent->child[0] == u ||
- u->parent->child[1] == u ||
- *((tbinptr*)(u->parent)) == u);
- if (u->child[0] != 0) {
- assert(u->child[0]->parent == u);
- assert(u->child[0] != u);
- do_check_tree(m, u->child[0]);
- }
- if (u->child[1] != 0) {
- assert(u->child[1]->parent == u);
- assert(u->child[1] != u);
- do_check_tree(m, u->child[1]);
- }
- if (u->child[0] != 0 && u->child[1] != 0) {
- assert(chunksize(u->child[0]) < chunksize(u->child[1]));
- }
- }
- u = u->fd;
- } while (u != t);
- assert(head != 0);
-}
-
-/* Check all the chunks in a treebin. */
-static void do_check_treebin(mstate m, bindex_t i) {
- tbinptr* tb = treebin_at(m, i);
- tchunkptr t = *tb;
- int empty = (m->treemap & (1U << i)) == 0;
- if (t == 0)
- assert(empty);
- if (!empty)
- do_check_tree(m, t);
-}
-
-/* Check all the chunks in a smallbin. */
-static void do_check_smallbin(mstate m, bindex_t i) {
- sbinptr b = smallbin_at(m, i);
- mchunkptr p = b->bk;
- unsigned int empty = (m->smallmap & (1U << i)) == 0;
- if (p == b)
- assert(empty);
- if (!empty) {
- for (; p != b; p = p->bk) {
- size_t size = chunksize(p);
- mchunkptr q;
- /* each chunk claims to be free */
- do_check_free_chunk(m, p);
- /* chunk belongs in bin */
- assert(small_index(size) == i);
- assert(p->bk == b || chunksize(p->bk) == chunksize(p));
- /* chunk is followed by an inuse chunk */
- q = next_chunk(p);
- if (q->head != FENCEPOST_HEAD)
- do_check_inuse_chunk(m, q);
- }
- }
-}
-
-/* Find x in a bin. Used in other check functions. */
-static int bin_find(mstate m, mchunkptr x) {
- size_t size = chunksize(x);
- if (is_small(size)) {
- bindex_t sidx = small_index(size);
- sbinptr b = smallbin_at(m, sidx);
- if (smallmap_is_marked(m, sidx)) {
- mchunkptr p = b;
- do {
- if (p == x)
- return 1;
- } while ((p = p->fd) != b);
- }
- }
- else {
- bindex_t tidx;
- compute_tree_index(size, tidx);
- if (treemap_is_marked(m, tidx)) {
- tchunkptr t = *treebin_at(m, tidx);
- size_t sizebits = size << leftshift_for_tree_index(tidx);
- while (t != 0 && chunksize(t) != size) {
- t = t->child[(sizebits >> (SIZE_T_BITSIZE-SIZE_T_ONE)) & 1];
- sizebits <<= 1;
- }
- if (t != 0) {
- tchunkptr u = t;
- do {
- if (u == (tchunkptr)x)
- return 1;
- } while ((u = u->fd) != t);
- }
- }
- }
- return 0;
-}
-
-/* Traverse each chunk and check it; return total */
-static size_t traverse_and_check(mstate m) {
- size_t sum = 0;
- if (is_initialized(m)) {
- msegmentptr s = &m->seg;
- sum += m->topsize + TOP_FOOT_SIZE;
- while (s != 0) {
- mchunkptr q = align_as_chunk(s->base);
- mchunkptr lastq = 0;
- assert(pinuse(q));
- while (segment_holds(s, q) &&
- q != m->top && q->head != FENCEPOST_HEAD) {
- sum += chunksize(q);
- if (cinuse(q)) {
- assert(!bin_find(m, q));
- do_check_inuse_chunk(m, q);
- }
- else {
- assert(q == m->dv || bin_find(m, q));
- assert(lastq == 0 || cinuse(lastq)); /* Not 2 consecutive free */
- do_check_free_chunk(m, q);
- }
- lastq = q;
- q = next_chunk(q);
- }
- s = s->next;
- }
- }
- return sum;
-}
-
-/* Check all properties of malloc_state. */
-static void do_check_malloc_state(mstate m) {
- bindex_t i;
- size_t total;
- /* check bins */
- for (i = 0; i < NSMALLBINS; ++i)
- do_check_smallbin(m, i);
- for (i = 0; i < NTREEBINS; ++i)
- do_check_treebin(m, i);
-
- if (m->dvsize != 0) { /* check dv chunk */
- do_check_any_chunk(m, m->dv);
- assert(m->dvsize == chunksize(m->dv));
- assert(m->dvsize >= MIN_CHUNK_SIZE);
- assert(bin_find(m, m->dv) == 0);
- }
-
- if (m->top != 0) { /* check top chunk */
- do_check_top_chunk(m, m->top);
- assert(m->topsize == chunksize(m->top));
- assert(m->topsize > 0);
- assert(bin_find(m, m->top) == 0);
- }
-
- total = traverse_and_check(m);
- assert(total <= m->footprint);
- assert(m->footprint <= m->max_footprint);
-}
-#endif /* DEBUG */
-
-/* ----------------------------- statistics ------------------------------ */
-
-#if !NO_MALLINFO
-static struct mallinfo internal_mallinfo(mstate m) {
- struct mallinfo nm = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
- if (!PREACTION(m)) {
- check_malloc_state(m);
- if (is_initialized(m)) {
- size_t nfree = SIZE_T_ONE; /* top always free */
- size_t mfree = m->topsize + TOP_FOOT_SIZE;
- size_t sum = mfree;
- msegmentptr s = &m->seg;
- while (s != 0) {
- mchunkptr q = align_as_chunk(s->base);
- while (segment_holds(s, q) &&
- q != m->top && q->head != FENCEPOST_HEAD) {
- size_t sz = chunksize(q);
- sum += sz;
- if (!cinuse(q)) {
- mfree += sz;
- ++nfree;
- }
- q = next_chunk(q);
- }
- s = s->next;
- }
-
- nm.arena = sum;
- nm.ordblks = nfree;
- nm.hblkhd = m->footprint - sum;
- nm.usmblks = m->max_footprint;
- nm.uordblks = m->footprint - mfree;
- nm.fordblks = mfree;
- nm.keepcost = m->topsize;
- }
-
- POSTACTION(m);
- }
- return nm;
-}
-#endif /* !NO_MALLINFO */
-
-static void internal_malloc_stats(mstate m) {
- if (!PREACTION(m)) {
- size_t maxfp = 0;
- size_t fp = 0;
- size_t used = 0;
- check_malloc_state(m);
- if (is_initialized(m)) {
- msegmentptr s = &m->seg;
- maxfp = m->max_footprint;
- fp = m->footprint;
- used = fp - (m->topsize + TOP_FOOT_SIZE);
-
- while (s != 0) {
- mchunkptr q = align_as_chunk(s->base);
- while (segment_holds(s, q) &&
- q != m->top && q->head != FENCEPOST_HEAD) {
- if (!cinuse(q))
- used -= chunksize(q);
- q = next_chunk(q);
- }
- s = s->next;
- }
- }
-
- fprintf(stderr, "max system bytes = %10lu\n", (unsigned long)(maxfp));
- fprintf(stderr, "system bytes = %10lu\n", (unsigned long)(fp));
- fprintf(stderr, "in use bytes = %10lu\n", (unsigned long)(used));
-
- POSTACTION(m);
- }
-}
-
-/* ----------------------- Operations on smallbins ----------------------- */
-
-/*
- Various forms of linking and unlinking are defined as macros. Even
- the ones for trees, which are very long but have very short typical
- paths. This is ugly but reduces reliance on inlining support of
- compilers.
-*/
-
-/* Link a free chunk into a smallbin */
-#define insert_small_chunk(M, P, S) {\
- bindex_t I = small_index(S);\
- mchunkptr B = smallbin_at(M, I);\
- mchunkptr F = B;\
- assert(S >= MIN_CHUNK_SIZE);\
- if (!smallmap_is_marked(M, I))\
- mark_smallmap(M, I);\
- else if (RTCHECK(ok_address(M, B->fd)))\
- F = B->fd;\
- else {\
- CORRUPTION_ERROR_ACTION(M);\
- }\
- B->fd = P;\
- F->bk = P;\
- P->fd = F;\
- P->bk = B;\
-}
-
-/* Unlink a chunk from a smallbin */
-#define unlink_small_chunk(M, P, S) {\
- mchunkptr F = P->fd;\
- mchunkptr B = P->bk;\
- bindex_t I = small_index(S);\
- assert(P != B);\
- assert(P != F);\
- assert(chunksize(P) == small_index2size(I));\
- if (F == B)\
- clear_smallmap(M, I);\
- else if (RTCHECK((F == smallbin_at(M,I) || ok_address(M, F)) &&\
- (B == smallbin_at(M,I) || ok_address(M, B)))) {\
- F->bk = B;\
- B->fd = F;\
- }\
- else {\
- CORRUPTION_ERROR_ACTION(M);\
- }\
-}
-
-/* Unlink the first chunk from a smallbin */
-#define unlink_first_small_chunk(M, B, P, I) {\
- mchunkptr F = P->fd;\
- assert(P != B);\
- assert(P != F);\
- assert(chunksize(P) == small_index2size(I));\
- if (B == F)\
- clear_smallmap(M, I);\
- else if (RTCHECK(ok_address(M, F))) {\
- B->fd = F;\
- F->bk = B;\
- }\
- else {\
- CORRUPTION_ERROR_ACTION(M);\
- }\
-}
-
-/* Replace dv node, binning the old one */
-/* Used only when dvsize known to be small */
-#define replace_dv(M, P, S) {\
- size_t DVS = M->dvsize;\
- if (DVS != 0) {\
- mchunkptr DV = M->dv;\
- assert(is_small(DVS));\
- insert_small_chunk(M, DV, DVS);\
- }\
- M->dvsize = S;\
- M->dv = P;\
-}
-
-/* ------------------------- Operations on trees ------------------------- */
-
-/* Insert chunk into tree */
-#define insert_large_chunk(M, X, S) {\
- tbinptr* H;\
- bindex_t I;\
- compute_tree_index(S, I);\
- H = treebin_at(M, I);\
- X->index = I;\
- X->child[0] = X->child[1] = 0;\
- if (!treemap_is_marked(M, I)) {\
- mark_treemap(M, I);\
- *H = X;\
- X->parent = (tchunkptr)H;\
- X->fd = X->bk = X;\
- }\
- else {\
- tchunkptr T = *H;\
- size_t K = S << leftshift_for_tree_index(I);\
- for (;;) {\
- if (chunksize(T) != S) {\
- tchunkptr* C = &(T->child[(K >> (SIZE_T_BITSIZE-SIZE_T_ONE)) & 1]);\
- K <<= 1;\
- if (*C != 0)\
- T = *C;\
- else if (RTCHECK(ok_address(M, C))) {\
- *C = X;\
- X->parent = T;\
- X->fd = X->bk = X;\
- break;\
- }\
- else {\
- CORRUPTION_ERROR_ACTION(M);\
- break;\
- }\
- }\
- else {\
- tchunkptr F = T->fd;\
- if (RTCHECK(ok_address(M, T) && ok_address(M, F))) {\
- T->fd = F->bk = X;\
- X->fd = F;\
- X->bk = T;\
- X->parent = 0;\
- break;\
- }\
- else {\
- CORRUPTION_ERROR_ACTION(M);\
- break;\
- }\
- }\
- }\
- }\
-}
-
-/*
- Unlink steps:
-
- 1. If x is a chained node, unlink it from its same-sized fd/bk links
- and choose its bk node as its replacement.
- 2. If x was the last node of its size, but not a leaf node, it must
- be replaced with a leaf node (not merely one with an open left or
- right), to make sure that lefts and rights of descendents
- correspond properly to bit masks. We use the rightmost descendent
- of x. We could use any other leaf, but this is easy to locate and
- tends to counteract removal of leftmosts elsewhere, and so keeps
- paths shorter than minimally guaranteed. This doesn't loop much
- because on average a node in a tree is near the bottom.
- 3. If x is the base of a chain (i.e., has parent links) relink
- x's parent and children to x's replacement (or null if none).
-*/
-
-#define unlink_large_chunk(M, X) {\
- tchunkptr XP = X->parent;\
- tchunkptr R;\
- if (X->bk != X) {\
- tchunkptr F = X->fd;\
- R = X->bk;\
- if (RTCHECK(ok_address(M, F))) {\
- F->bk = R;\
- R->fd = F;\
- }\
- else {\
- CORRUPTION_ERROR_ACTION(M);\
- }\
- }\
- else {\
- tchunkptr* RP;\
- if (((R = *(RP = &(X->child[1]))) != 0) ||\
- ((R = *(RP = &(X->child[0]))) != 0)) {\
- tchunkptr* CP;\
- while ((*(CP = &(R->child[1])) != 0) ||\
- (*(CP = &(R->child[0])) != 0)) {\
- R = *(RP = CP);\
- }\
- if (RTCHECK(ok_address(M, RP)))\
- *RP = 0;\
- else {\
- CORRUPTION_ERROR_ACTION(M);\
- }\
- }\
- }\
- if (XP != 0) {\
- tbinptr* H = treebin_at(M, X->index);\
- if (X == *H) {\
- if ((*H = R) == 0) \
- clear_treemap(M, X->index);\
- }\
- else if (RTCHECK(ok_address(M, XP))) {\
- if (XP->child[0] == X) \
- XP->child[0] = R;\
- else \
- XP->child[1] = R;\
- }\
- else\
- CORRUPTION_ERROR_ACTION(M);\
- if (R != 0) {\
- if (RTCHECK(ok_address(M, R))) {\
- tchunkptr C0, C1;\
- R->parent = XP;\
- if ((C0 = X->child[0]) != 0) {\
- if (RTCHECK(ok_address(M, C0))) {\
- R->child[0] = C0;\
- C0->parent = R;\
- }\
- else\
- CORRUPTION_ERROR_ACTION(M);\
- }\
- if ((C1 = X->child[1]) != 0) {\
- if (RTCHECK(ok_address(M, C1))) {\
- R->child[1] = C1;\
- C1->parent = R;\
- }\
- else\
- CORRUPTION_ERROR_ACTION(M);\
- }\
- }\
- else\
- CORRUPTION_ERROR_ACTION(M);\
- }\
- }\
-}
-
-/* Relays to large vs small bin operations */
-
-#define insert_chunk(M, P, S)\
- if (is_small(S)) insert_small_chunk(M, P, S)\
- else { tchunkptr TP = (tchunkptr)(P); insert_large_chunk(M, TP, S); }
-
-#define unlink_chunk(M, P, S)\
- if (is_small(S)) unlink_small_chunk(M, P, S)\
- else { tchunkptr TP = (tchunkptr)(P); unlink_large_chunk(M, TP); }
-
-
-/* Relays to internal calls to malloc/free from realloc, memalign etc */
-
-#if ONLY_MSPACES
-#define internal_malloc(m, b) mspace_malloc(m, b)
-#define internal_free(m, mem) mspace_free(m,mem);
-#else /* ONLY_MSPACES */
-#if MSPACES
-#define internal_malloc(m, b)\
- (m == gm)? dlmalloc(b) : mspace_malloc(m, b)
-#define internal_free(m, mem)\
- if (m == gm) dlfree(mem); else mspace_free(m,mem);
-#else /* MSPACES */
-#define internal_malloc(m, b) dlmalloc(b)
-#define internal_free(m, mem) dlfree(mem)
-#endif /* MSPACES */
-#endif /* ONLY_MSPACES */
-
-/* ----------------------- Direct-mmapping chunks ----------------------- */
-
-/*
- Directly mmapped chunks are set up with an offset to the start of
- the mmapped region stored in the prev_foot field of the chunk. This
- allows reconstruction of the required argument to MUNMAP when freed,
- and also allows adjustment of the returned chunk to meet alignment
- requirements (especially in memalign). There is also enough space
- allocated to hold a fake next chunk of size SIZE_T_SIZE to maintain
- the PINUSE bit so frees can be checked.
-*/
-
-/* Malloc using mmap */
-static void* mmap_alloc(mstate m, size_t nb) {
- size_t mmsize = granularity_align(nb + SIX_SIZE_T_SIZES + CHUNK_ALIGN_MASK);
- if (mmsize > nb) { /* Check for wrap around 0 */
- char* mm = (char*)(DIRECT_MMAP(mmsize));
- if (mm != CMFAIL) {
- size_t offset = align_offset(chunk2mem(mm));
- size_t psize = mmsize - offset - MMAP_FOOT_PAD;
- mchunkptr p = (mchunkptr)(mm + offset);
- p->prev_foot = offset | IS_MMAPPED_BIT;
- (p)->head = (psize|CINUSE_BIT);
- mark_inuse_foot(m, p, psize);
- chunk_plus_offset(p, psize)->head = FENCEPOST_HEAD;
- chunk_plus_offset(p, psize+SIZE_T_SIZE)->head = 0;
-
- if (mm < m->least_addr)
- m->least_addr = mm;
- if ((m->footprint += mmsize) > m->max_footprint)
- m->max_footprint = m->footprint;
- assert(is_aligned(chunk2mem(p)));
- check_mmapped_chunk(m, p);
- return chunk2mem(p);
- }
- }
- return 0;
-}
-
-/* Realloc using mmap */
-static mchunkptr mmap_resize(mstate m, mchunkptr oldp, size_t nb) {
- size_t oldsize = chunksize(oldp);
- if (is_small(nb)) /* Can't shrink mmap regions below small size */
- return 0;
- /* Keep old chunk if big enough but not too big */
- if (oldsize >= nb + SIZE_T_SIZE &&
- (oldsize - nb) <= (mparams.granularity << 1))
- return oldp;
- else {
- size_t offset = oldp->prev_foot & ~IS_MMAPPED_BIT;
- size_t oldmmsize = oldsize + offset + MMAP_FOOT_PAD;
- size_t newmmsize = granularity_align(nb + SIX_SIZE_T_SIZES +
- CHUNK_ALIGN_MASK);
- char* cp = (char*)CALL_MREMAP((char*)oldp - offset,
- oldmmsize, newmmsize, 1);
- if (cp != CMFAIL) {
- mchunkptr newp = (mchunkptr)(cp + offset);
- size_t psize = newmmsize - offset - MMAP_FOOT_PAD;
- newp->head = (psize|CINUSE_BIT);
- mark_inuse_foot(m, newp, psize);
- chunk_plus_offset(newp, psize)->head = FENCEPOST_HEAD;
- chunk_plus_offset(newp, psize+SIZE_T_SIZE)->head = 0;
-
- if (cp < m->least_addr)
- m->least_addr = cp;
- if ((m->footprint += newmmsize - oldmmsize) > m->max_footprint)
- m->max_footprint = m->footprint;
- check_mmapped_chunk(m, newp);
- return newp;
- }
- }
- return 0;
-}
-
-/* -------------------------- mspace management -------------------------- */
-
-/* Initialize top chunk and its size */
-static void init_top(mstate m, mchunkptr p, size_t psize) {
- /* Ensure alignment */
- size_t offset = align_offset(chunk2mem(p));
- p = (mchunkptr)((char*)p + offset);
- psize -= offset;
-
- m->top = p;
- m->topsize = psize;
- p->head = psize | PINUSE_BIT;
- /* set size of fake trailing chunk holding overhead space only once */
- chunk_plus_offset(p, psize)->head = TOP_FOOT_SIZE;
- m->trim_check = mparams.trim_threshold; /* reset on each update */
-}
-
-/* Initialize bins for a new mstate that is otherwise zeroed out */
-static void init_bins(mstate m) {
- /* Establish circular links for smallbins */
- bindex_t i;
- for (i = 0; i < NSMALLBINS; ++i) {
- sbinptr bin = smallbin_at(m,i);
- bin->fd = bin->bk = bin;
- }
-}
-
-#if PROCEED_ON_ERROR
-
-/* default corruption action */
-static void reset_on_error(mstate m) {
- int i;
- ++malloc_corruption_error_count;
- /* Reinitialize fields to forget about all memory */
- m->smallbins = m->treebins = 0;
- m->dvsize = m->topsize = 0;
- m->seg.base = 0;
- m->seg.size = 0;
- m->seg.next = 0;
- m->top = m->dv = 0;
- for (i = 0; i < NTREEBINS; ++i)
- *treebin_at(m, i) = 0;
- init_bins(m);
-}
-#endif /* PROCEED_ON_ERROR */
-
-/* Allocate chunk and prepend remainder with chunk in successor base. */
-static void* prepend_alloc(mstate m, char* newbase, char* oldbase,
- size_t nb) {
- mchunkptr p = align_as_chunk(newbase);
- mchunkptr oldfirst = align_as_chunk(oldbase);
- size_t psize = (char*)oldfirst - (char*)p;
- mchunkptr q = chunk_plus_offset(p, nb);
- size_t qsize = psize - nb;
- set_size_and_pinuse_of_inuse_chunk(m, p, nb);
-
- assert((char*)oldfirst > (char*)q);
- assert(pinuse(oldfirst));
- assert(qsize >= MIN_CHUNK_SIZE);
-
- /* consolidate remainder with first chunk of old base */
- if (oldfirst == m->top) {
- size_t tsize = m->topsize += qsize;
- m->top = q;
- q->head = tsize | PINUSE_BIT;
- check_top_chunk(m, q);
- }
- else if (oldfirst == m->dv) {
- size_t dsize = m->dvsize += qsize;
- m->dv = q;
- set_size_and_pinuse_of_free_chunk(q, dsize);
- }
- else {
- if (!cinuse(oldfirst)) {
- size_t nsize = chunksize(oldfirst);
- unlink_chunk(m, oldfirst, nsize);
- oldfirst = chunk_plus_offset(oldfirst, nsize);
- qsize += nsize;
- }
- set_free_with_pinuse(q, qsize, oldfirst);
- insert_chunk(m, q, qsize);
- check_free_chunk(m, q);
- }
-
- check_malloced_chunk(m, chunk2mem(p), nb);
- return chunk2mem(p);
-}
-
-
-/* Add a segment to hold a new noncontiguous region */
-static void add_segment(mstate m, char* tbase, size_t tsize, flag_t mmapped) {
- /* Determine locations and sizes of segment, fenceposts, old top */
- char* old_top = (char*)m->top;
- msegmentptr oldsp = segment_holding(m, old_top);
- char* old_end = oldsp->base + oldsp->size;
- size_t ssize = pad_request(sizeof(struct malloc_segment));
- char* rawsp = old_end - (ssize + FOUR_SIZE_T_SIZES + CHUNK_ALIGN_MASK);
- size_t offset = align_offset(chunk2mem(rawsp));
- char* asp = rawsp + offset;
- char* csp = (asp < (old_top + MIN_CHUNK_SIZE))? old_top : asp;
- mchunkptr sp = (mchunkptr)csp;
- msegmentptr ss = (msegmentptr)(chunk2mem(sp));
- mchunkptr tnext = chunk_plus_offset(sp, ssize);
- mchunkptr p = tnext;
- int nfences = 0;
-
- /* reset top to new space */
- init_top(m, (mchunkptr)tbase, tsize - TOP_FOOT_SIZE);
-
- /* Set up segment record */
- assert(is_aligned(ss));
- set_size_and_pinuse_of_inuse_chunk(m, sp, ssize);
- *ss = m->seg; /* Push current record */
- m->seg.base = tbase;
- m->seg.size = tsize;
- set_segment_flags(&m->seg, mmapped);
- m->seg.next = ss;
-
- /* Insert trailing fenceposts */
- for (;;) {
- mchunkptr nextp = chunk_plus_offset(p, SIZE_T_SIZE);
- p->head = FENCEPOST_HEAD;
- ++nfences;
- if ((char*)(&(nextp->head)) < old_end)
- p = nextp;
- else
- break;
- }
- assert(nfences >= 2);
-
- /* Insert the rest of old top into a bin as an ordinary free chunk */
- if (csp != old_top) {
- mchunkptr q = (mchunkptr)old_top;
- size_t psize = csp - old_top;
- mchunkptr tn = chunk_plus_offset(q, psize);
- set_free_with_pinuse(q, psize, tn);
- insert_chunk(m, q, psize);
- }
-
- check_top_chunk(m, m->top);
-}
-
-/* -------------------------- System allocation -------------------------- */
-
-/* Get memory from system using MORECORE or MMAP */
-static void* sys_alloc(mstate m, size_t nb) {
- char* tbase = CMFAIL;
- size_t tsize = 0;
- flag_t mmap_flag = 0;
-
- init_mparams();
-
- /* Directly map large chunks */
- if (use_mmap(m) && nb >= mparams.mmap_threshold) {
- void* mem = mmap_alloc(m, nb);
- if (mem != 0)
- return mem;
- }
-
- /*
- Try getting memory in any of three ways (in most-preferred to
- least-preferred order):
- 1. A call to MORECORE that can normally contiguously extend memory.
- (disabled if not MORECORE_CONTIGUOUS or not HAVE_MORECORE or
- or main space is mmapped or a previous contiguous call failed)
- 2. A call to MMAP new space (disabled if not HAVE_MMAP).
- Note that under the default settings, if MORECORE is unable to
- fulfill a request, and HAVE_MMAP is true, then mmap is
- used as a noncontiguous system allocator. This is a useful backup
- strategy for systems with holes in address spaces -- in this case
- sbrk cannot contiguously expand the heap, but mmap may be able to
- find space.
- 3. A call to MORECORE that cannot usually contiguously extend memory.
- (disabled if not HAVE_MORECORE)
- */
-
- if (MORECORE_CONTIGUOUS && !use_noncontiguous(m)) {
- char* br = CMFAIL;
- msegmentptr ss = (m->top == 0)? 0 : segment_holding(m, (char*)m->top);
- size_t asize = 0;
- ACQUIRE_MORECORE_LOCK();
-
- if (ss == 0) { /* First time through or recovery */
- char* base = (char*)CALL_MORECORE(0);
- if (base != CMFAIL) {
- asize = granularity_align(nb + TOP_FOOT_SIZE + SIZE_T_ONE);
- /* Adjust to end on a page boundary */
- if (!is_page_aligned(base))
- asize += (page_align((size_t)base) - (size_t)base);
- /* Can't call MORECORE if size is negative when treated as signed */
- if (asize < HALF_MAX_SIZE_T &&
- (br = (char*)(CALL_MORECORE(asize))) == base) {
- tbase = base;
- tsize = asize;
- }
- }
- }
- else {
- /* Subtract out existing available top space from MORECORE request. */
- asize = granularity_align(nb - m->topsize + TOP_FOOT_SIZE + SIZE_T_ONE);
- /* Use mem here only if it did continuously extend old space */
- if (asize < HALF_MAX_SIZE_T &&
- (br = (char*)(CALL_MORECORE(asize))) == ss->base+ss->size) {
- tbase = br;
- tsize = asize;
- }
- }
-
- if (tbase == CMFAIL) { /* Cope with partial failure */
- if (br != CMFAIL) { /* Try to use/extend the space we did get */
- if (asize < HALF_MAX_SIZE_T &&
- asize < nb + TOP_FOOT_SIZE + SIZE_T_ONE) {
- size_t esize = granularity_align(nb + TOP_FOOT_SIZE + SIZE_T_ONE - asize);
- if (esize < HALF_MAX_SIZE_T) {
- char* end = (char*)CALL_MORECORE(esize);
- if (end != CMFAIL)
- asize += esize;
- else { /* Can't use; try to release */
- (void)CALL_MORECORE(-asize);
- br = CMFAIL;
- }
- }
- }
- }
- if (br != CMFAIL) { /* Use the space we did get */
- tbase = br;
- tsize = asize;
- }
- else
- disable_contiguous(m); /* Don't try contiguous path in the future */
- }
-
- RELEASE_MORECORE_LOCK();
- }
-
- if (HAVE_MMAP && tbase == CMFAIL) { /* Try MMAP */
- size_t req = nb + TOP_FOOT_SIZE + SIZE_T_ONE;
- size_t rsize = granularity_align(req);
- if (rsize > nb) { /* Fail if wraps around zero */
- char* mp = (char*)(CALL_MMAP(rsize));
- if (mp != CMFAIL) {
- tbase = mp;
- tsize = rsize;
- mmap_flag = IS_MMAPPED_BIT;
- }
- }
- }
-
- if (HAVE_MORECORE && tbase == CMFAIL) { /* Try noncontiguous MORECORE */
- size_t asize = granularity_align(nb + TOP_FOOT_SIZE + SIZE_T_ONE);
- if (asize < HALF_MAX_SIZE_T) {
- char* br = CMFAIL;
- char* end = CMFAIL;
- ACQUIRE_MORECORE_LOCK();
- br = (char*)(CALL_MORECORE(asize));
- end = (char*)(CALL_MORECORE(0));
- RELEASE_MORECORE_LOCK();
- if (br != CMFAIL && end != CMFAIL && br < end) {
- size_t ssize = end - br;
- if (ssize > nb + TOP_FOOT_SIZE) {
- tbase = br;
- tsize = ssize;
- }
- }
- }
- }
-
- if (tbase != CMFAIL) {
-
- if ((m->footprint += tsize) > m->max_footprint)
- m->max_footprint = m->footprint;
-
- if (!is_initialized(m)) { /* first-time initialization */
- m->seg.base = m->least_addr = tbase;
- m->seg.size = tsize;
- set_segment_flags(&m->seg, mmap_flag);
- m->magic = mparams.magic;
- init_bins(m);
- if (is_global(m))
- init_top(m, (mchunkptr)tbase, tsize - TOP_FOOT_SIZE);
- else {
- /* Offset top by embedded malloc_state */
- mchunkptr mn = next_chunk(mem2chunk(m));
- init_top(m, mn, (size_t)((tbase + tsize) - (char*)mn) -TOP_FOOT_SIZE);
- }
- }
-
- else {
- /* Try to merge with an existing segment */
- msegmentptr sp = &m->seg;
- while (sp != 0 && tbase != sp->base + sp->size)
- sp = sp->next;
- if (sp != 0 &&
- !is_extern_segment(sp) &&
- check_segment_merge(sp, tbase, tsize) &&
- (get_segment_flags(sp) & IS_MMAPPED_BIT) == mmap_flag &&
- segment_holds(sp, m->top)) { /* append */
- sp->size += tsize;
- init_top(m, m->top, m->topsize + tsize);
- }
- else {
- if (tbase < m->least_addr)
- m->least_addr = tbase;
- sp = &m->seg;
- while (sp != 0 && sp->base != tbase + tsize)
- sp = sp->next;
- if (sp != 0 &&
- !is_extern_segment(sp) &&
- check_segment_merge(sp, tbase, tsize) &&
- (get_segment_flags(sp) & IS_MMAPPED_BIT) == mmap_flag) {
- char* oldbase = sp->base;
- sp->base = tbase;
- sp->size += tsize;
- return prepend_alloc(m, tbase, oldbase, nb);
- }
- else
- add_segment(m, tbase, tsize, mmap_flag);
- }
- }
-
- if (nb < m->topsize) { /* Allocate from new or extended top space */
- size_t rsize = m->topsize -= nb;
- mchunkptr p = m->top;
- mchunkptr r = m->top = chunk_plus_offset(p, nb);
- r->head = rsize | PINUSE_BIT;
- set_size_and_pinuse_of_inuse_chunk(m, p, nb);
- check_top_chunk(m, m->top);
- check_malloced_chunk(m, chunk2mem(p), nb);
- return chunk2mem(p);
- }
- }
-
- MALLOC_FAILURE_ACTION;
- return 0;
-}
-
-/* ----------------------- system deallocation -------------------------- */
-
-/* Unmap and unlink any mmapped segments that don't contain used chunks */
-static size_t release_unused_segments(mstate m) {
- size_t released = 0;
- msegmentptr pred = &m->seg;
- msegmentptr sp = pred->next;
- while (sp != 0) {
- char* base = sp->base;
- size_t size = sp->size;
- msegmentptr next = sp->next;
- if (is_mmapped_segment(sp) && !is_extern_segment(sp)) {
- mchunkptr p = align_as_chunk(base);
- size_t psize = chunksize(p);
- /* Can unmap if first chunk holds entire segment and not pinned */
- if (!cinuse(p) && (char*)p + psize >= base + size - TOP_FOOT_SIZE) {
- tchunkptr tp = (tchunkptr)p;
- assert(segment_holds(sp, (char*)sp));
- if (p == m->dv) {
- m->dv = 0;
- m->dvsize = 0;
- }
- else {
- unlink_large_chunk(m, tp);
- }
- if (CALL_MUNMAP(base, size) == 0) {
- released += size;
- m->footprint -= size;
- /* unlink obsoleted record */
- sp = pred;
- sp->next = next;
- }
- else { /* back out if cannot unmap */
- insert_large_chunk(m, tp, psize);
- }
- }
- }
- pred = sp;
- sp = next;
- }
- return released;
-}
-
-static int sys_trim(mstate m, size_t pad) {
- size_t released = 0;
- if (pad < MAX_REQUEST && is_initialized(m)) {
- pad += TOP_FOOT_SIZE; /* ensure enough room for segment overhead */
-
- if (m->topsize > pad) {
- /* Shrink top space in granularity-size units, keeping at least one */
- size_t unit = mparams.granularity;
- size_t extra = ((m->topsize - pad + (unit - SIZE_T_ONE)) / unit -
- SIZE_T_ONE) * unit;
- msegmentptr sp = segment_holding(m, (char*)m->top);
-
- if (!is_extern_segment(sp)) {
- if (is_mmapped_segment(sp)) {
- if (HAVE_MMAP &&
- sp->size >= extra &&
- !has_segment_link(m, sp)) { /* can't shrink if pinned */
- size_t newsize = sp->size - extra;
- /* Prefer mremap, fall back to munmap */
- if ((CALL_MREMAP(sp->base, sp->size, newsize, 0) != MFAIL) ||
- (CALL_MUNMAP(sp->base + newsize, extra) == 0)) {
- released = extra;
- }
- }
- }
- else if (HAVE_MORECORE) {
- if (extra >= HALF_MAX_SIZE_T) /* Avoid wrapping negative */
- extra = (HALF_MAX_SIZE_T) + SIZE_T_ONE - unit;
- ACQUIRE_MORECORE_LOCK();
- {
- /* Make sure end of memory is where we last set it. */
- char* old_br = (char*)(CALL_MORECORE(0));
- if (old_br == sp->base + sp->size) {
- char* rel_br = (char*)(CALL_MORECORE(-extra));
- char* new_br = (char*)(CALL_MORECORE(0));
- if (rel_br != CMFAIL && new_br < old_br)
- released = old_br - new_br;
- }
- }
- RELEASE_MORECORE_LOCK();
- }
- }
-
- if (released != 0) {
- sp->size -= released;
- m->footprint -= released;
- init_top(m, m->top, m->topsize - released);
- check_top_chunk(m, m->top);
- }
- }
-
- /* Unmap any unused mmapped segments */
- if (HAVE_MMAP)
- released += release_unused_segments(m);
-
- /* On failure, disable autotrim to avoid repeated failed future calls */
- if (released == 0)
- m->trim_check = MAX_SIZE_T;
- }
-
- return (released != 0)? 1 : 0;
-}
-
-/* ---------------------------- malloc support --------------------------- */
-
-/* allocate a large request from the best fitting chunk in a treebin */
-static void* tmalloc_large(mstate m, size_t nb) {
- tchunkptr v = 0;
- size_t rsize = -nb; /* Unsigned negation */
- tchunkptr t;
- bindex_t idx;
- compute_tree_index(nb, idx);
-
- if ((t = *treebin_at(m, idx)) != 0) {
- /* Traverse tree for this bin looking for node with size == nb */
- size_t sizebits = nb << leftshift_for_tree_index(idx);
- tchunkptr rst = 0; /* The deepest untaken right subtree */
- for (;;) {
- tchunkptr rt;
- size_t trem = chunksize(t) - nb;
- if (trem < rsize) {
- v = t;
- if ((rsize = trem) == 0)
- break;
- }
- rt = t->child[1];
- t = t->child[(sizebits >> (SIZE_T_BITSIZE-SIZE_T_ONE)) & 1];
- if (rt != 0 && rt != t)
- rst = rt;
- if (t == 0) {
- t = rst; /* set t to least subtree holding sizes > nb */
- break;
- }
- sizebits <<= 1;
- }
- }
-
- if (t == 0 && v == 0) { /* set t to root of next non-empty treebin */
- binmap_t leftbits = left_bits(idx2bit(idx)) & m->treemap;
- if (leftbits != 0) {
- bindex_t i;
- binmap_t leastbit = least_bit(leftbits);
- compute_bit2idx(leastbit, i);
- t = *treebin_at(m, i);
- }
- }
-
- while (t != 0) { /* find smallest of tree or subtree */
- size_t trem = chunksize(t) - nb;
- if (trem < rsize) {
- rsize = trem;
- v = t;
- }
- t = leftmost_child(t);
- }
-
- /* If dv is a better fit, return 0 so malloc will use it */
- if (v != 0 && rsize < (size_t)(m->dvsize - nb)) {
- if (RTCHECK(ok_address(m, v))) { /* split */
- mchunkptr r = chunk_plus_offset(v, nb);
- assert(chunksize(v) == rsize + nb);
- if (RTCHECK(ok_next(v, r))) {
- unlink_large_chunk(m, v);
- if (rsize < MIN_CHUNK_SIZE)
- set_inuse_and_pinuse(m, v, (rsize + nb));
- else {
- set_size_and_pinuse_of_inuse_chunk(m, v, nb);
- set_size_and_pinuse_of_free_chunk(r, rsize);
- insert_chunk(m, r, rsize);
- }
- return chunk2mem(v);
- }
- }
- CORRUPTION_ERROR_ACTION(m);
- }
- return 0;
-}
-
-/* allocate a small request from the best fitting chunk in a treebin */
-static void* tmalloc_small(mstate m, size_t nb) {
- tchunkptr t, v;
- size_t rsize;
- bindex_t i;
- binmap_t leastbit = least_bit(m->treemap);
- compute_bit2idx(leastbit, i);
-
- v = t = *treebin_at(m, i);
- rsize = chunksize(t) - nb;
-
- while ((t = leftmost_child(t)) != 0) {
- size_t trem = chunksize(t) - nb;
- if (trem < rsize) {
- rsize = trem;
- v = t;
- }
- }
-
- if (RTCHECK(ok_address(m, v))) {
- mchunkptr r = chunk_plus_offset(v, nb);
- assert(chunksize(v) == rsize + nb);
- if (RTCHECK(ok_next(v, r))) {
- unlink_large_chunk(m, v);
- if (rsize < MIN_CHUNK_SIZE)
- set_inuse_and_pinuse(m, v, (rsize + nb));
- else {
- set_size_and_pinuse_of_inuse_chunk(m, v, nb);
- set_size_and_pinuse_of_free_chunk(r, rsize);
- replace_dv(m, r, rsize);
- }
- return chunk2mem(v);
- }
- }
-
- CORRUPTION_ERROR_ACTION(m);
- return 0;
-}
-
-/* --------------------------- realloc support --------------------------- */
-
-static void* internal_realloc(mstate m, void* oldmem, size_t bytes) {
- if (bytes >= MAX_REQUEST) {
- MALLOC_FAILURE_ACTION;
- return 0;
- }
- if (!PREACTION(m)) {
- mchunkptr oldp = mem2chunk(oldmem);
- size_t oldsize = chunksize(oldp);
- mchunkptr next = chunk_plus_offset(oldp, oldsize);
- mchunkptr newp = 0;
- void* extra = 0;
-
- /* Try to either shrink or extend into top. Else malloc-copy-free */
-
- if (RTCHECK(ok_address(m, oldp) && ok_cinuse(oldp) &&
- ok_next(oldp, next) && ok_pinuse(next))) {
- size_t nb = request2size(bytes);
- if (is_mmapped(oldp))
- newp = mmap_resize(m, oldp, nb);
- else if (oldsize >= nb) { /* already big enough */
- size_t rsize = oldsize - nb;
- newp = oldp;
- if (rsize >= MIN_CHUNK_SIZE) {
- mchunkptr remainder = chunk_plus_offset(newp, nb);
- set_inuse(m, newp, nb);
- set_inuse(m, remainder, rsize);
- extra = chunk2mem(remainder);
- }
- }
- else if (next == m->top && oldsize + m->topsize > nb) {
- /* Expand into top */
- size_t newsize = oldsize + m->topsize;
- size_t newtopsize = newsize - nb;
- mchunkptr newtop = chunk_plus_offset(oldp, nb);
- set_inuse(m, oldp, nb);
- newtop->head = newtopsize |PINUSE_BIT;
- m->top = newtop;
- m->topsize = newtopsize;
- newp = oldp;
- }
- }
- else {
- USAGE_ERROR_ACTION(m, oldmem);
- POSTACTION(m);
- return 0;
- }
-
- POSTACTION(m);
-
- if (newp != 0) {
- if (extra != 0) {
- internal_free(m, extra);
- }
- check_inuse_chunk(m, newp);
- return chunk2mem(newp);
- }
- else {
- void* newmem = internal_malloc(m, bytes);
- if (newmem != 0) {
- size_t oc = oldsize - overhead_for(oldp);
- memcpy(newmem, oldmem, (oc < bytes)? oc : bytes);
- internal_free(m, oldmem);
- }
- return newmem;
- }
- }
- return 0;
-}
-
-/* --------------------------- memalign support -------------------------- */
-
-static void* internal_memalign(mstate m, size_t alignment, size_t bytes) {
- if (alignment <= MALLOC_ALIGNMENT) /* Can just use malloc */
- return internal_malloc(m, bytes);
- if (alignment < MIN_CHUNK_SIZE) /* must be at least a minimum chunk size */
- alignment = MIN_CHUNK_SIZE;
- if ((alignment & (alignment-SIZE_T_ONE)) != 0) {/* Ensure a power of 2 */
- size_t a = MALLOC_ALIGNMENT << 1;
- while (a < alignment) a <<= 1;
- alignment = a;
- }
-
- if (bytes >= MAX_REQUEST - alignment) {
- if (m != 0) { /* Test isn't needed but avoids compiler warning */
- MALLOC_FAILURE_ACTION;
- }
- }
- else {
- size_t nb = request2size(bytes);
- size_t req = nb + alignment + MIN_CHUNK_SIZE - CHUNK_OVERHEAD;
- char* mem = (char*)internal_malloc(m, req);
- if (mem != 0) {
- void* leader = 0;
- void* trailer = 0;
- mchunkptr p = mem2chunk(mem);
-
- if (PREACTION(m)) return 0;
- if ((((size_t)(mem)) % alignment) != 0) { /* misaligned */
- /*
- Find an aligned spot inside chunk. Since we need to give
- back leading space in a chunk of at least MIN_CHUNK_SIZE, if
- the first calculation places us at a spot with less than
- MIN_CHUNK_SIZE leader, we can move to the next aligned spot.
- We've allocated enough total room so that this is always
- possible.
- */
- char* br = (char*)mem2chunk((size_t)(((size_t)(mem +
- alignment -
- SIZE_T_ONE)) &
- -alignment));
- char* pos = ((size_t)(br - (char*)(p)) >= MIN_CHUNK_SIZE)?
- br : br+alignment;
- mchunkptr newp = (mchunkptr)pos;
- size_t leadsize = pos - (char*)(p);
- size_t newsize = chunksize(p) - leadsize;
-
- if (is_mmapped(p)) { /* For mmapped chunks, just adjust offset */
- newp->prev_foot = p->prev_foot + leadsize;
- newp->head = (newsize|CINUSE_BIT);
- }
- else { /* Otherwise, give back leader, use the rest */
- set_inuse(m, newp, newsize);
- set_inuse(m, p, leadsize);
- leader = chunk2mem(p);
- }
- p = newp;
- }
-
- /* Give back spare room at the end */
- if (!is_mmapped(p)) {
- size_t size = chunksize(p);
- if (size > nb + MIN_CHUNK_SIZE) {
- size_t remainder_size = size - nb;
- mchunkptr remainder = chunk_plus_offset(p, nb);
- set_inuse(m, p, nb);
- set_inuse(m, remainder, remainder_size);
- trailer = chunk2mem(remainder);
- }
- }
-
- assert (chunksize(p) >= nb);
- assert((((size_t)(chunk2mem(p))) % alignment) == 0);
- check_inuse_chunk(m, p);
- POSTACTION(m);
- if (leader != 0) {
- internal_free(m, leader);
- }
- if (trailer != 0) {
- internal_free(m, trailer);
- }
- return chunk2mem(p);
- }
- }
- return 0;
-}
-
-/* ------------------------ comalloc/coalloc support --------------------- */
-
-static void** ialloc(mstate m,
- size_t n_elements,
- size_t* sizes,
- int opts,
- void* chunks[]) {
- /*
- This provides common support for independent_X routines, handling
- all of the combinations that can result.
-
- The opts arg has:
- bit 0 set if all elements are same size (using sizes[0])
- bit 1 set if elements should be zeroed
- */
-
- size_t element_size; /* chunksize of each element, if all same */
- size_t contents_size; /* total size of elements */
- size_t array_size; /* request size of pointer array */
- void* mem; /* malloced aggregate space */
- mchunkptr p; /* corresponding chunk */
- size_t remainder_size; /* remaining bytes while splitting */
- void** marray; /* either "chunks" or malloced ptr array */
- mchunkptr array_chunk; /* chunk for malloced ptr array */
- flag_t was_enabled; /* to disable mmap */
- size_t size;
- size_t i;
-
- /* compute array length, if needed */
- if (chunks != 0) {
- if (n_elements == 0)
- return chunks; /* nothing to do */
- marray = chunks;
- array_size = 0;
- }
- else {
- /* if empty req, must still return chunk representing empty array */
- if (n_elements == 0)
- return (void**)internal_malloc(m, 0);
- marray = 0;
- array_size = request2size(n_elements * (sizeof(void*)));
- }
-
- /* compute total element size */
- if (opts & 0x1) { /* all-same-size */
- element_size = request2size(*sizes);
- contents_size = n_elements * element_size;
- }
- else { /* add up all the sizes */
- element_size = 0;
- contents_size = 0;
- for (i = 0; i != n_elements; ++i)
- contents_size += request2size(sizes[i]);
- }
-
- size = contents_size + array_size;
-
- /*
- Allocate the aggregate chunk. First disable direct-mmapping so
- malloc won't use it, since we would not be able to later
- free/realloc space internal to a segregated mmap region.
- */
- was_enabled = use_mmap(m);
- disable_mmap(m);
- mem = internal_malloc(m, size - CHUNK_OVERHEAD);
- if (was_enabled)
- enable_mmap(m);
- if (mem == 0)
- return 0;
-
- if (PREACTION(m)) return 0;
- p = mem2chunk(mem);
- remainder_size = chunksize(p);
-
- assert(!is_mmapped(p));
-
- if (opts & 0x2) { /* optionally clear the elements */
- memset((size_t*)mem, 0, remainder_size - SIZE_T_SIZE - array_size);
- }
-
- /* If not provided, allocate the pointer array as final part of chunk */
- if (marray == 0) {
- size_t array_chunk_size;
- array_chunk = chunk_plus_offset(p, contents_size);
- array_chunk_size = remainder_size - contents_size;
- marray = (void**) (chunk2mem(array_chunk));
- set_size_and_pinuse_of_inuse_chunk(m, array_chunk, array_chunk_size);
- remainder_size = contents_size;
- }
-
- /* split out elements */
- for (i = 0; ; ++i) {
- marray[i] = chunk2mem(p);
- if (i != n_elements-1) {
- if (element_size != 0)
- size = element_size;
- else
- size = request2size(sizes[i]);
- remainder_size -= size;
- set_size_and_pinuse_of_inuse_chunk(m, p, size);
- p = chunk_plus_offset(p, size);
- }
- else { /* the final element absorbs any overallocation slop */
- set_size_and_pinuse_of_inuse_chunk(m, p, remainder_size);
- break;
- }
- }
-
-#if DEBUG
- if (marray != chunks) {
- /* final element must have exactly exhausted chunk */
- if (element_size != 0) {
- assert(remainder_size == element_size);
- }
- else {
- assert(remainder_size == request2size(sizes[i]));
- }
- check_inuse_chunk(m, mem2chunk(marray));
- }
- for (i = 0; i != n_elements; ++i)
- check_inuse_chunk(m, mem2chunk(marray[i]));
-
-#endif /* DEBUG */
-
- POSTACTION(m);
- return marray;
-}
-
-
-/* -------------------------- public routines ---------------------------- */
-
-#if !ONLY_MSPACES
-
-void* dlmalloc(size_t bytes) {
- /*
- Basic algorithm:
- If a small request (< 256 bytes minus per-chunk overhead):
- 1. If one exists, use a remainderless chunk in associated smallbin.
- (Remainderless means that there are too few excess bytes to
- represent as a chunk.)
- 2. If it is big enough, use the dv chunk, which is normally the
- chunk adjacent to the one used for the most recent small request.
- 3. If one exists, split the smallest available chunk in a bin,
- saving remainder in dv.
- 4. If it is big enough, use the top chunk.
- 5. If available, get memory from system and use it
- Otherwise, for a large request:
- 1. Find the smallest available binned chunk that fits, and use it
- if it is better fitting than dv chunk, splitting if necessary.
- 2. If better fitting than any binned chunk, use the dv chunk.
- 3. If it is big enough, use the top chunk.
- 4. If request size >= mmap threshold, try to directly mmap this chunk.
- 5. If available, get memory from system and use it
-
- The ugly goto's here ensure that postaction occurs along all paths.
- */
-
- if (!PREACTION(gm)) {
- void* mem;
- size_t nb;
- if (bytes <= MAX_SMALL_REQUEST) {
- bindex_t idx;
- binmap_t smallbits;
- nb = (bytes < MIN_REQUEST)? MIN_CHUNK_SIZE : pad_request(bytes);
- idx = small_index(nb);
- smallbits = gm->smallmap >> idx;
-
- if ((smallbits & 0x3U) != 0) { /* Remainderless fit to a smallbin. */
- mchunkptr b, p;
- idx += ~smallbits & 1; /* Uses next bin if idx empty */
- b = smallbin_at(gm, idx);
- p = b->fd;
- assert(chunksize(p) == small_index2size(idx));
- unlink_first_small_chunk(gm, b, p, idx);
- set_inuse_and_pinuse(gm, p, small_index2size(idx));
- mem = chunk2mem(p);
- check_malloced_chunk(gm, mem, nb);
- goto postaction;
- }
-
- else if (nb > gm->dvsize) {
- if (smallbits != 0) { /* Use chunk in next nonempty smallbin */
- mchunkptr b, p, r;
- size_t rsize;
- bindex_t i;
- binmap_t leftbits = (smallbits << idx) & left_bits(idx2bit(idx));
- binmap_t leastbit = least_bit(leftbits);
- compute_bit2idx(leastbit, i);
- b = smallbin_at(gm, i);
- p = b->fd;
- assert(chunksize(p) == small_index2size(i));
- unlink_first_small_chunk(gm, b, p, i);
- rsize = small_index2size(i) - nb;
- /* Fit here cannot be remainderless if 4byte sizes */
- if (SIZE_T_SIZE != 4 && rsize < MIN_CHUNK_SIZE)
- set_inuse_and_pinuse(gm, p, small_index2size(i));
- else {
- set_size_and_pinuse_of_inuse_chunk(gm, p, nb);
- r = chunk_plus_offset(p, nb);
- set_size_and_pinuse_of_free_chunk(r, rsize);
- replace_dv(gm, r, rsize);
- }
- mem = chunk2mem(p);
- check_malloced_chunk(gm, mem, nb);
- goto postaction;
- }
-
- else if (gm->treemap != 0 && (mem = tmalloc_small(gm, nb)) != 0) {
- check_malloced_chunk(gm, mem, nb);
- goto postaction;
- }
- }
- }
- else if (bytes >= MAX_REQUEST)
- nb = MAX_SIZE_T; /* Too big to allocate. Force failure (in sys alloc) */
- else {
- nb = pad_request(bytes);
- if (gm->treemap != 0 && (mem = tmalloc_large(gm, nb)) != 0) {
- check_malloced_chunk(gm, mem, nb);
- goto postaction;
- }
- }
-
- if (nb <= gm->dvsize) {
- size_t rsize = gm->dvsize - nb;
- mchunkptr p = gm->dv;
- if (rsize >= MIN_CHUNK_SIZE) { /* split dv */
- mchunkptr r = gm->dv = chunk_plus_offset(p, nb);
- gm->dvsize = rsize;
- set_size_and_pinuse_of_free_chunk(r, rsize);
- set_size_and_pinuse_of_inuse_chunk(gm, p, nb);
- }
- else { /* exhaust dv */
- size_t dvs = gm->dvsize;
- gm->dvsize = 0;
- gm->dv = 0;
- set_inuse_and_pinuse(gm, p, dvs);
- }
- mem = chunk2mem(p);
- check_malloced_chunk(gm, mem, nb);
- goto postaction;
- }
-
- else if (nb < gm->topsize) { /* Split top */
- size_t rsize = gm->topsize -= nb;
- mchunkptr p = gm->top;
- mchunkptr r = gm->top = chunk_plus_offset(p, nb);
- r->head = rsize | PINUSE_BIT;
- set_size_and_pinuse_of_inuse_chunk(gm, p, nb);
- mem = chunk2mem(p);
- check_top_chunk(gm, gm->top);
- check_malloced_chunk(gm, mem, nb);
- goto postaction;
- }
-
- mem = sys_alloc(gm, nb);
-
- postaction:
- POSTACTION(gm);
- return mem;
- }
-
- return 0;
-}
-
-void dlfree(void* mem) {
- /*
- Consolidate freed chunks with preceding or succeeding bordering
- free chunks, if they exist, and then place in a bin. Intermixed
- with special cases for top, dv, mmapped chunks, and usage errors.
- */
-
- if (mem != 0) {
- mchunkptr p = mem2chunk(mem);
-#if FOOTERS
- mstate fm = get_mstate_for(p);
- if (!ok_magic(fm)) {
- USAGE_ERROR_ACTION(fm, p);
- return;
- }
-#else /* FOOTERS */
-#define fm gm
-#endif /* FOOTERS */
- if (!PREACTION(fm)) {
- check_inuse_chunk(fm, p);
- if (RTCHECK(ok_address(fm, p) && ok_cinuse(p))) {
- size_t psize = chunksize(p);
- mchunkptr next = chunk_plus_offset(p, psize);
- if (!pinuse(p)) {
- size_t prevsize = p->prev_foot;
- if ((prevsize & IS_MMAPPED_BIT) != 0) {
- prevsize &= ~IS_MMAPPED_BIT;
- psize += prevsize + MMAP_FOOT_PAD;
- if (CALL_MUNMAP((char*)p - prevsize, psize) == 0)
- fm->footprint -= psize;
- goto postaction;
- }
- else {
- mchunkptr prev = chunk_minus_offset(p, prevsize);
- psize += prevsize;
- p = prev;
- if (RTCHECK(ok_address(fm, prev))) { /* consolidate backward */
- if (p != fm->dv) {
- unlink_chunk(fm, p, prevsize);
- }
- else if ((next->head & INUSE_BITS) == INUSE_BITS) {
- fm->dvsize = psize;
- set_free_with_pinuse(p, psize, next);
- goto postaction;
- }
- }
- else
- goto erroraction;
- }
- }
-
- if (RTCHECK(ok_next(p, next) && ok_pinuse(next))) {
- if (!cinuse(next)) { /* consolidate forward */
- if (next == fm->top) {
- size_t tsize = fm->topsize += psize;
- fm->top = p;
- p->head = tsize | PINUSE_BIT;
- if (p == fm->dv) {
- fm->dv = 0;
- fm->dvsize = 0;
- }
- if (should_trim(fm, tsize))
- sys_trim(fm, 0);
- goto postaction;
- }
- else if (next == fm->dv) {
- size_t dsize = fm->dvsize += psize;
- fm->dv = p;
- set_size_and_pinuse_of_free_chunk(p, dsize);
- goto postaction;
- }
- else {
- size_t nsize = chunksize(next);
- psize += nsize;
- unlink_chunk(fm, next, nsize);
- set_size_and_pinuse_of_free_chunk(p, psize);
- if (p == fm->dv) {
- fm->dvsize = psize;
- goto postaction;
- }
- }
- }
- else
- set_free_with_pinuse(p, psize, next);
- insert_chunk(fm, p, psize);
- check_free_chunk(fm, p);
- goto postaction;
- }
- }
- erroraction:
- USAGE_ERROR_ACTION(fm, p);
- postaction:
- POSTACTION(fm);
- }
- }
-#if !FOOTERS
-#undef fm
-#endif /* FOOTERS */
-}
-
-void* dlcalloc(size_t n_elements, size_t elem_size) {
- void* mem;
- size_t req = 0;
- if (n_elements != 0) {
- req = n_elements * elem_size;
- if (((n_elements | elem_size) & ~(size_t)0xffff) &&
- (req / n_elements != elem_size))
- req = MAX_SIZE_T; /* force downstream failure on overflow */
- }
- mem = dlmalloc(req);
- if (mem != 0 && calloc_must_clear(mem2chunk(mem)))
- memset(mem, 0, req);
- return mem;
-}
-
-void* dlrealloc(void* oldmem, size_t bytes) {
- if (oldmem == 0)
- return dlmalloc(bytes);
-#ifdef REALLOC_ZERO_BYTES_FREES
- if (bytes == 0) {
- dlfree(oldmem);
- return 0;
- }
-#endif /* REALLOC_ZERO_BYTES_FREES */
- else {
-#if ! FOOTERS
- mstate m = gm;
-#else /* FOOTERS */
- mstate m = get_mstate_for(mem2chunk(oldmem));
- if (!ok_magic(m)) {
- USAGE_ERROR_ACTION(m, oldmem);
- return 0;
- }
-#endif /* FOOTERS */
- return internal_realloc(m, oldmem, bytes);
- }
-}
-
-void* dlmemalign(size_t alignment, size_t bytes) {
- return internal_memalign(gm, alignment, bytes);
-}
-
-void** dlindependent_calloc(size_t n_elements, size_t elem_size,
- void* chunks[]) {
- size_t sz = elem_size; /* serves as 1-element array */
- return ialloc(gm, n_elements, &sz, 3, chunks);
-}
-
-void** dlindependent_comalloc(size_t n_elements, size_t sizes[],
- void* chunks[]) {
- return ialloc(gm, n_elements, sizes, 0, chunks);
-}
-
-void* dlvalloc(size_t bytes) {
- size_t pagesz;
- init_mparams();
- pagesz = mparams.page_size;
- return dlmemalign(pagesz, bytes);
-}
-
-void* dlpvalloc(size_t bytes) {
- size_t pagesz;
- init_mparams();
- pagesz = mparams.page_size;
- return dlmemalign(pagesz, (bytes + pagesz - SIZE_T_ONE) & ~(pagesz - SIZE_T_ONE));
-}
-
-int dlmalloc_trim(size_t pad) {
- int result = 0;
- if (!PREACTION(gm)) {
- result = sys_trim(gm, pad);
- POSTACTION(gm);
- }
- return result;
-}
-
-size_t dlmalloc_footprint(void) {
- return gm->footprint;
-}
-
-size_t dlmalloc_max_footprint(void) {
- return gm->max_footprint;
-}
-
-#if !NO_MALLINFO
-struct mallinfo dlmallinfo(void) {
- return internal_mallinfo(gm);
-}
-#endif /* NO_MALLINFO */
-
-void dlmalloc_stats() {
- internal_malloc_stats(gm);
-}
-
-size_t dlmalloc_usable_size(void* mem) {
- if (mem != 0) {
- mchunkptr p = mem2chunk(mem);
- if (cinuse(p))
- return chunksize(p) - overhead_for(p);
- }
- return 0;
-}
-
-int dlmallopt(int param_number, int value) {
- return change_mparam(param_number, value);
-}
-
-#endif /* !ONLY_MSPACES */
-
-/* ----------------------------- user mspaces ---------------------------- */
-
-#if MSPACES
-
-static mstate init_user_mstate(char* tbase, size_t tsize) {
- size_t msize = pad_request(sizeof(struct malloc_state));
- mchunkptr mn;
- mchunkptr msp = align_as_chunk(tbase);
- mstate m = (mstate)(chunk2mem(msp));
- memset(m, 0, msize);
- INITIAL_LOCK(&m->mutex);
- msp->head = (msize|PINUSE_BIT|CINUSE_BIT);
- m->seg.base = m->least_addr = tbase;
- m->seg.size = m->footprint = m->max_footprint = tsize;
- m->magic = mparams.magic;
- m->mflags = mparams.default_mflags;
- disable_contiguous(m);
- init_bins(m);
- mn = next_chunk(mem2chunk(m));
- init_top(m, mn, (size_t)((tbase + tsize) - (char*)mn) - TOP_FOOT_SIZE);
- check_top_chunk(m, m->top);
- return m;
-}
-
-mspace create_mspace(size_t capacity, int locked) {
- mstate m = 0;
- size_t msize = pad_request(sizeof(struct malloc_state));
- init_mparams(); /* Ensure pagesize etc initialized */
-
- if (capacity < (size_t) -(msize + TOP_FOOT_SIZE + mparams.page_size)) {
- size_t rs = ((capacity == 0)? mparams.granularity :
- (capacity + TOP_FOOT_SIZE + msize));
- size_t tsize = granularity_align(rs);
- char* tbase = (char*)(CALL_MMAP(tsize));
- if (tbase != CMFAIL) {
- m = init_user_mstate(tbase, tsize);
- set_segment_flags(&m->seg, IS_MMAPPED_BIT);
- set_lock(m, locked);
- }
- }
- return (mspace)m;
-}
-
-mspace create_mspace_with_base(void* base, size_t capacity, int locked) {
- mstate m = 0;
- size_t msize = pad_request(sizeof(struct malloc_state));
- init_mparams(); /* Ensure pagesize etc initialized */
-
- if (capacity > msize + TOP_FOOT_SIZE &&
- capacity < (size_t) -(msize + TOP_FOOT_SIZE + mparams.page_size)) {
- m = init_user_mstate((char*)base, capacity);
- set_segment_flags(&m->seg, EXTERN_BIT);
- set_lock(m, locked);
- }
- return (mspace)m;
-}
-
-size_t destroy_mspace(mspace msp) {
- size_t freed = 0;
- mstate ms = (mstate)msp;
- if (ok_magic(ms)) {
- msegmentptr sp = &ms->seg;
- while (sp != 0) {
- char* base = sp->base;
- size_t size = sp->size;
- flag_t flag = get_segment_flags(sp);
- sp = sp->next;
- if ((flag & IS_MMAPPED_BIT) && !(flag & EXTERN_BIT) &&
- CALL_MUNMAP(base, size) == 0)
- freed += size;
- }
- }
- else {
- USAGE_ERROR_ACTION(ms,ms);
- }
- return freed;
-}
-
-/*
- mspace versions of routines are near-clones of the global
- versions. This is not so nice but better than the alternatives.
-*/
-
-
-void* mspace_malloc(mspace msp, size_t bytes) {
- mstate ms = (mstate)msp;
- if (!ok_magic(ms)) {
- USAGE_ERROR_ACTION(ms,ms);
- return 0;
- }
- if (!PREACTION(ms)) {
- void* mem;
- size_t nb;
- if (bytes <= MAX_SMALL_REQUEST) {
- bindex_t idx;
- binmap_t smallbits;
- nb = (bytes < MIN_REQUEST)? MIN_CHUNK_SIZE : pad_request(bytes);
- idx = small_index(nb);
- smallbits = ms->smallmap >> idx;
-
- if ((smallbits & 0x3U) != 0) { /* Remainderless fit to a smallbin. */
- mchunkptr b, p;
- idx += ~smallbits & 1; /* Uses next bin if idx empty */
- b = smallbin_at(ms, idx);
- p = b->fd;
- assert(chunksize(p) == small_index2size(idx));
- unlink_first_small_chunk(ms, b, p, idx);
- set_inuse_and_pinuse(ms, p, small_index2size(idx));
- mem = chunk2mem(p);
- check_malloced_chunk(ms, mem, nb);
- goto postaction;
- }
-
- else if (nb > ms->dvsize) {
- if (smallbits != 0) { /* Use chunk in next nonempty smallbin */
- mchunkptr b, p, r;
- size_t rsize;
- bindex_t i;
- binmap_t leftbits = (smallbits << idx) & left_bits(idx2bit(idx));
- binmap_t leastbit = least_bit(leftbits);
- compute_bit2idx(leastbit, i);
- b = smallbin_at(ms, i);
- p = b->fd;
- assert(chunksize(p) == small_index2size(i));
- unlink_first_small_chunk(ms, b, p, i);
- rsize = small_index2size(i) - nb;
- /* Fit here cannot be remainderless if 4byte sizes */
- if (SIZE_T_SIZE != 4 && rsize < MIN_CHUNK_SIZE)
- set_inuse_and_pinuse(ms, p, small_index2size(i));
- else {
- set_size_and_pinuse_of_inuse_chunk(ms, p, nb);
- r = chunk_plus_offset(p, nb);
- set_size_and_pinuse_of_free_chunk(r, rsize);
- replace_dv(ms, r, rsize);
- }
- mem = chunk2mem(p);
- check_malloced_chunk(ms, mem, nb);
- goto postaction;
- }
-
- else if (ms->treemap != 0 && (mem = tmalloc_small(ms, nb)) != 0) {
- check_malloced_chunk(ms, mem, nb);
- goto postaction;
- }
- }
- }
- else if (bytes >= MAX_REQUEST)
- nb = MAX_SIZE_T; /* Too big to allocate. Force failure (in sys alloc) */
- else {
- nb = pad_request(bytes);
- if (ms->treemap != 0 && (mem = tmalloc_large(ms, nb)) != 0) {
- check_malloced_chunk(ms, mem, nb);
- goto postaction;
- }
- }
-
- if (nb <= ms->dvsize) {
- size_t rsize = ms->dvsize - nb;
- mchunkptr p = ms->dv;
- if (rsize >= MIN_CHUNK_SIZE) { /* split dv */
- mchunkptr r = ms->dv = chunk_plus_offset(p, nb);
- ms->dvsize = rsize;
- set_size_and_pinuse_of_free_chunk(r, rsize);
- set_size_and_pinuse_of_inuse_chunk(ms, p, nb);
- }
- else { /* exhaust dv */
- size_t dvs = ms->dvsize;
- ms->dvsize = 0;
- ms->dv = 0;
- set_inuse_and_pinuse(ms, p, dvs);
- }
- mem = chunk2mem(p);
- check_malloced_chunk(ms, mem, nb);
- goto postaction;
- }
-
- else if (nb < ms->topsize) { /* Split top */
- size_t rsize = ms->topsize -= nb;
- mchunkptr p = ms->top;
- mchunkptr r = ms->top = chunk_plus_offset(p, nb);
- r->head = rsize | PINUSE_BIT;
- set_size_and_pinuse_of_inuse_chunk(ms, p, nb);
- mem = chunk2mem(p);
- check_top_chunk(ms, ms->top);
- check_malloced_chunk(ms, mem, nb);
- goto postaction;
- }
-
- mem = sys_alloc(ms, nb);
-
- postaction:
- POSTACTION(ms);
- return mem;
- }
-
- return 0;
-}
-
-void mspace_free(mspace msp, void* mem) {
- if (mem != 0) {
- mchunkptr p = mem2chunk(mem);
-#if FOOTERS
- mstate fm = get_mstate_for(p);
-#else /* FOOTERS */
- mstate fm = (mstate)msp;
-#endif /* FOOTERS */
- if (!ok_magic(fm)) {
- USAGE_ERROR_ACTION(fm, p);
- return;
- }
- if (!PREACTION(fm)) {
- check_inuse_chunk(fm, p);
- if (RTCHECK(ok_address(fm, p) && ok_cinuse(p))) {
- size_t psize = chunksize(p);
- mchunkptr next = chunk_plus_offset(p, psize);
- if (!pinuse(p)) {
- size_t prevsize = p->prev_foot;
- if ((prevsize & IS_MMAPPED_BIT) != 0) {
- prevsize &= ~IS_MMAPPED_BIT;
- psize += prevsize + MMAP_FOOT_PAD;
- if (CALL_MUNMAP((char*)p - prevsize, psize) == 0)
- fm->footprint -= psize;
- goto postaction;
- }
- else {
- mchunkptr prev = chunk_minus_offset(p, prevsize);
- psize += prevsize;
- p = prev;
- if (RTCHECK(ok_address(fm, prev))) { /* consolidate backward */
- if (p != fm->dv) {
- unlink_chunk(fm, p, prevsize);
- }
- else if ((next->head & INUSE_BITS) == INUSE_BITS) {
- fm->dvsize = psize;
- set_free_with_pinuse(p, psize, next);
- goto postaction;
- }
- }
- else
- goto erroraction;
- }
- }
-
- if (RTCHECK(ok_next(p, next) && ok_pinuse(next))) {
- if (!cinuse(next)) { /* consolidate forward */
- if (next == fm->top) {
- size_t tsize = fm->topsize += psize;
- fm->top = p;
- p->head = tsize | PINUSE_BIT;
- if (p == fm->dv) {
- fm->dv = 0;
- fm->dvsize = 0;
- }
- if (should_trim(fm, tsize))
- sys_trim(fm, 0);
- goto postaction;
- }
- else if (next == fm->dv) {
- size_t dsize = fm->dvsize += psize;
- fm->dv = p;
- set_size_and_pinuse_of_free_chunk(p, dsize);
- goto postaction;
- }
- else {
- size_t nsize = chunksize(next);
- psize += nsize;
- unlink_chunk(fm, next, nsize);
- set_size_and_pinuse_of_free_chunk(p, psize);
- if (p == fm->dv) {
- fm->dvsize = psize;
- goto postaction;
- }
- }
- }
- else
- set_free_with_pinuse(p, psize, next);
- insert_chunk(fm, p, psize);
- check_free_chunk(fm, p);
- goto postaction;
- }
- }
- erroraction:
- USAGE_ERROR_ACTION(fm, p);
- postaction:
- POSTACTION(fm);
- }
- }
-}
-
-void* mspace_calloc(mspace msp, size_t n_elements, size_t elem_size) {
- void* mem;
- size_t req = 0;
- mstate ms = (mstate)msp;
- if (!ok_magic(ms)) {
- USAGE_ERROR_ACTION(ms,ms);
- return 0;
- }
- if (n_elements != 0) {
- req = n_elements * elem_size;
- if (((n_elements | elem_size) & ~(size_t)0xffff) &&
- (req / n_elements != elem_size))
- req = MAX_SIZE_T; /* force downstream failure on overflow */
- }
- mem = internal_malloc(ms, req);
- if (mem != 0 && calloc_must_clear(mem2chunk(mem)))
- memset(mem, 0, req);
- return mem;
-}
-
-void* mspace_realloc(mspace msp, void* oldmem, size_t bytes) {
- if (oldmem == 0)
- return mspace_malloc(msp, bytes);
-#ifdef REALLOC_ZERO_BYTES_FREES
- if (bytes == 0) {
- mspace_free(msp, oldmem);
- return 0;
- }
-#endif /* REALLOC_ZERO_BYTES_FREES */
- else {
-#if FOOTERS
- mchunkptr p = mem2chunk(oldmem);
- mstate ms = get_mstate_for(p);
-#else /* FOOTERS */
- mstate ms = (mstate)msp;
-#endif /* FOOTERS */
- if (!ok_magic(ms)) {
- USAGE_ERROR_ACTION(ms,ms);
- return 0;
- }
- return internal_realloc(ms, oldmem, bytes);
- }
-}
-
-void* mspace_memalign(mspace msp, size_t alignment, size_t bytes) {
- mstate ms = (mstate)msp;
- if (!ok_magic(ms)) {
- USAGE_ERROR_ACTION(ms,ms);
- return 0;
- }
- return internal_memalign(ms, alignment, bytes);
-}
-
-void** mspace_independent_calloc(mspace msp, size_t n_elements,
- size_t elem_size, void* chunks[]) {
- size_t sz = elem_size; /* serves as 1-element array */
- mstate ms = (mstate)msp;
- if (!ok_magic(ms)) {
- USAGE_ERROR_ACTION(ms,ms);
- return 0;
- }
- return ialloc(ms, n_elements, &sz, 3, chunks);
-}
-
-void** mspace_independent_comalloc(mspace msp, size_t n_elements,
- size_t sizes[], void* chunks[]) {
- mstate ms = (mstate)msp;
- if (!ok_magic(ms)) {
- USAGE_ERROR_ACTION(ms,ms);
- return 0;
- }
- return ialloc(ms, n_elements, sizes, 0, chunks);
-}
-
-int mspace_trim(mspace msp, size_t pad) {
- int result = 0;
- mstate ms = (mstate)msp;
- if (ok_magic(ms)) {
- if (!PREACTION(ms)) {
- result = sys_trim(ms, pad);
- POSTACTION(ms);
- }
- }
- else {
- USAGE_ERROR_ACTION(ms,ms);
- }
- return result;
-}
-
-void mspace_malloc_stats(mspace msp) {
- mstate ms = (mstate)msp;
- if (ok_magic(ms)) {
- internal_malloc_stats(ms);
- }
- else {
- USAGE_ERROR_ACTION(ms,ms);
- }
-}
-
-size_t mspace_footprint(mspace msp) {
- size_t result;
- mstate ms = (mstate)msp;
- if (ok_magic(ms)) {
- result = ms->footprint;
- }
- USAGE_ERROR_ACTION(ms,ms);
- return result;
-}
-
-
-size_t mspace_max_footprint(mspace msp) {
- size_t result;
- mstate ms = (mstate)msp;
- if (ok_magic(ms)) {
- result = ms->max_footprint;
- }
- USAGE_ERROR_ACTION(ms,ms);
- return result;
-}
-
-
-#if !NO_MALLINFO
-struct mallinfo mspace_mallinfo(mspace msp) {
- mstate ms = (mstate)msp;
- if (!ok_magic(ms)) {
- USAGE_ERROR_ACTION(ms,ms);
- }
- return internal_mallinfo(ms);
-}
-#endif /* NO_MALLINFO */
-
-int mspace_mallopt(int param_number, int value) {
- return change_mparam(param_number, value);
-}
-
-#endif /* MSPACES */
-
-/* -------------------- Alternative MORECORE functions ------------------- */
-
-/*
- Guidelines for creating a custom version of MORECORE:
-
- * For best performance, MORECORE should allocate in multiples of pagesize.
- * MORECORE may allocate more memory than requested. (Or even less,
- but this will usually result in a malloc failure.)
- * MORECORE must not allocate memory when given argument zero, but
- instead return one past the end address of memory from previous
- nonzero call.
- * For best performance, consecutive calls to MORECORE with positive
- arguments should return increasing addresses, indicating that
- space has been contiguously extended.
- * Even though consecutive calls to MORECORE need not return contiguous
- addresses, it must be OK for malloc'ed chunks to span multiple
- regions in those cases where they do happen to be contiguous.
- * MORECORE need not handle negative arguments -- it may instead
- just return MFAIL when given negative arguments.
- Negative arguments are always multiples of pagesize. MORECORE
- must not misinterpret negative args as large positive unsigned
- args. You can suppress all such calls from even occurring by defining
- MORECORE_CANNOT_TRIM,
-
- As an example alternative MORECORE, here is a custom allocator
- kindly contributed for pre-OSX macOS. It uses virtually but not
- necessarily physically contiguous non-paged memory (locked in,
- present and won't get swapped out). You can use it by uncommenting
- this section, adding some #includes, and setting up the appropriate
- defines above:
-
- #define MORECORE osMoreCore
-
- There is also a shutdown routine that should somehow be called for
- cleanup upon program exit.
-
- #define MAX_POOL_ENTRIES 100
- #define MINIMUM_MORECORE_SIZE (64 * 1024U)
- static int next_os_pool;
- void *our_os_pools[MAX_POOL_ENTRIES];
-
- void *osMoreCore(int size)
- {
- void *ptr = 0;
- static void *sbrk_top = 0;
-
- if (size > 0)
- {
- if (size < MINIMUM_MORECORE_SIZE)
- size = MINIMUM_MORECORE_SIZE;
- if (CurrentExecutionLevel() == kTaskLevel)
- ptr = PoolAllocateResident(size + RM_PAGE_SIZE, 0);
- if (ptr == 0)
- {
- return (void *) MFAIL;
- }
- // save ptrs so they can be freed during cleanup
- our_os_pools[next_os_pool] = ptr;
- next_os_pool++;
- ptr = (void *) ((((size_t) ptr) + RM_PAGE_MASK) & ~RM_PAGE_MASK);
- sbrk_top = (char *) ptr + size;
- return ptr;
- }
- else if (size < 0)
- {
- // we don't currently support shrink behavior
- return (void *) MFAIL;
- }
- else
- {
- return sbrk_top;
- }
- }
-
- // cleanup any allocated memory pools
- // called as last thing before shutting down driver
-
- void osCleanupMem(void)
- {
- void **ptr;
-
- for (ptr = our_os_pools; ptr < &our_os_pools[MAX_POOL_ENTRIES]; ptr++)
- if (*ptr)
- {
- PoolDeallocate(*ptr);
- *ptr = 0;
- }
- }
-
-*/
-
-
-/* -----------------------------------------------------------------------
-History:
- V2.8.3 Thu Sep 22 11:16:32 2005 Doug Lea (dl at gee)
- * Add max_footprint functions
- * Ensure all appropriate literals are size_t
- * Fix conditional compilation problem for some #define settings
- * Avoid concatenating segments with the one provided
- in create_mspace_with_base
- * Rename some variables to avoid compiler shadowing warnings
- * Use explicit lock initialization.
- * Better handling of sbrk interference.
- * Simplify and fix segment insertion, trimming and mspace_destroy
- * Reinstate REALLOC_ZERO_BYTES_FREES option from 2.7.x
- * Thanks especially to Dennis Flanagan for help on these.
-
- V2.8.2 Sun Jun 12 16:01:10 2005 Doug Lea (dl at gee)
- * Fix memalign brace error.
-
- V2.8.1 Wed Jun 8 16:11:46 2005 Doug Lea (dl at gee)
- * Fix improper #endif nesting in C++
- * Add explicit casts needed for C++
-
- V2.8.0 Mon May 30 14:09:02 2005 Doug Lea (dl at gee)
- * Use trees for large bins
- * Support mspaces
- * Use segments to unify sbrk-based and mmap-based system allocation,
- removing need for emulation on most platforms without sbrk.
- * Default safety checks
- * Optional footer checks. Thanks to William Robertson for the idea.
- * Internal code refactoring
- * Incorporate suggestions and platform-specific changes.
- Thanks to Dennis Flanagan, Colin Plumb, Niall Douglas,
- Aaron Bachmann, Emery Berger, and others.
- * Speed up non-fastbin processing enough to remove fastbins.
- * Remove useless cfree() to avoid conflicts with other apps.
- * Remove internal memcpy, memset. Compilers handle builtins better.
- * Remove some options that no one ever used and rename others.
-
- V2.7.2 Sat Aug 17 09:07:30 2002 Doug Lea (dl at gee)
- * Fix malloc_state bitmap array misdeclaration
-
- V2.7.1 Thu Jul 25 10:58:03 2002 Doug Lea (dl at gee)
- * Allow tuning of FIRST_SORTED_BIN_SIZE
- * Use PTR_UINT as type for all ptr->int casts. Thanks to John Belmonte.
- * Better detection and support for non-contiguousness of MORECORE.
- Thanks to Andreas Mueller, Conal Walsh, and Wolfram Gloger
- * Bypass most of malloc if no frees. Thanks To Emery Berger.
- * Fix freeing of old top non-contiguous chunk im sysmalloc.
- * Raised default trim and map thresholds to 256K.
- * Fix mmap-related #defines. Thanks to Lubos Lunak.
- * Fix copy macros; added LACKS_FCNTL_H. Thanks to Neal Walfield.
- * Branch-free bin calculation
- * Default trim and mmap thresholds now 256K.
-
- V2.7.0 Sun Mar 11 14:14:06 2001 Doug Lea (dl at gee)
- * Introduce independent_comalloc and independent_calloc.
- Thanks to Michael Pachos for motivation and help.
- * Make optional .h file available
- * Allow > 2GB requests on 32bit systems.
- * new WIN32 sbrk, mmap, munmap, lock code from <Walter@GeNeSys-e.de>.
- Thanks also to Andreas Mueller <a.mueller at paradatec.de>,
- and Anonymous.
- * Allow override of MALLOC_ALIGNMENT (Thanks to Ruud Waij for
- helping test this.)
- * memalign: check alignment arg
- * realloc: don't try to shift chunks backwards, since this
- leads to more fragmentation in some programs and doesn't
- seem to help in any others.
- * Collect all cases in malloc requiring system memory into sysmalloc
- * Use mmap as backup to sbrk
- * Place all internal state in malloc_state
- * Introduce fastbins (although similar to 2.5.1)
- * Many minor tunings and cosmetic improvements
- * Introduce USE_PUBLIC_MALLOC_WRAPPERS, USE_MALLOC_LOCK
- * Introduce MALLOC_FAILURE_ACTION, MORECORE_CONTIGUOUS
- Thanks to Tony E. Bennett <tbennett@nvidia.com> and others.
- * Include errno.h to support default failure action.
-
- V2.6.6 Sun Dec 5 07:42:19 1999 Doug Lea (dl at gee)
- * return null for negative arguments
- * Added Several WIN32 cleanups from Martin C. Fong <mcfong at yahoo.com>
- * Add 'LACKS_SYS_PARAM_H' for those systems without 'sys/param.h'
- (e.g. WIN32 platforms)
- * Cleanup header file inclusion for WIN32 platforms
- * Cleanup code to avoid Microsoft Visual C++ compiler complaints
- * Add 'USE_DL_PREFIX' to quickly allow co-existence with existing
- memory allocation routines
- * Set 'malloc_getpagesize' for WIN32 platforms (needs more work)
- * Use 'assert' rather than 'ASSERT' in WIN32 code to conform to
- usage of 'assert' in non-WIN32 code
- * Improve WIN32 'sbrk()' emulation's 'findRegion()' routine to
- avoid infinite loop
- * Always call 'fREe()' rather than 'free()'
-
- V2.6.5 Wed Jun 17 15:57:31 1998 Doug Lea (dl at gee)
- * Fixed ordering problem with boundary-stamping
-
- V2.6.3 Sun May 19 08:17:58 1996 Doug Lea (dl at gee)
- * Added pvalloc, as recommended by H.J. Liu
- * Added 64bit pointer support mainly from Wolfram Gloger
- * Added anonymously donated WIN32 sbrk emulation
- * Malloc, calloc, getpagesize: add optimizations from Raymond Nijssen
- * malloc_extend_top: fix mask error that caused wastage after
- foreign sbrks
- * Add linux mremap support code from HJ Liu
-
- V2.6.2 Tue Dec 5 06:52:55 1995 Doug Lea (dl at gee)
- * Integrated most documentation with the code.
- * Add support for mmap, with help from
- Wolfram Gloger (Gloger@lrz.uni-muenchen.de).
- * Use last_remainder in more cases.
- * Pack bins using idea from colin@nyx10.cs.du.edu
- * Use ordered bins instead of best-fit threshhold
- * Eliminate block-local decls to simplify tracing and debugging.
- * Support another case of realloc via move into top
- * Fix error occuring when initial sbrk_base not word-aligned.
- * Rely on page size for units instead of SBRK_UNIT to
- avoid surprises about sbrk alignment conventions.
- * Add mallinfo, mallopt. Thanks to Raymond Nijssen
- (raymond@es.ele.tue.nl) for the suggestion.
- * Add `pad' argument to malloc_trim and top_pad mallopt parameter.
- * More precautions for cases where other routines call sbrk,
- courtesy of Wolfram Gloger (Gloger@lrz.uni-muenchen.de).
- * Added macros etc., allowing use in linux libc from
- H.J. Lu (hjl@gnu.ai.mit.edu)
- * Inverted this history list
-
- V2.6.1 Sat Dec 2 14:10:57 1995 Doug Lea (dl at gee)
- * Re-tuned and fixed to behave more nicely with V2.6.0 changes.
- * Removed all preallocation code since under current scheme
- the work required to undo bad preallocations exceeds
- the work saved in good cases for most test programs.
- * No longer use return list or unconsolidated bins since
- no scheme using them consistently outperforms those that don't
- given above changes.
- * Use best fit for very large chunks to prevent some worst-cases.
- * Added some support for debugging
-
- V2.6.0 Sat Nov 4 07:05:23 1995 Doug Lea (dl at gee)
- * Removed footers when chunks are in use. Thanks to
- Paul Wilson (wilson@cs.texas.edu) for the suggestion.
-
- V2.5.4 Wed Nov 1 07:54:51 1995 Doug Lea (dl at gee)
- * Added malloc_trim, with help from Wolfram Gloger
- (wmglo@Dent.MED.Uni-Muenchen.DE).
-
- V2.5.3 Tue Apr 26 10:16:01 1994 Doug Lea (dl at g)
-
- V2.5.2 Tue Apr 5 16:20:40 1994 Doug Lea (dl at g)
- * realloc: try to expand in both directions
- * malloc: swap order of clean-bin strategy;
- * realloc: only conditionally expand backwards
- * Try not to scavenge used bins
- * Use bin counts as a guide to preallocation
- * Occasionally bin return list chunks in first scan
- * Add a few optimizations from colin@nyx10.cs.du.edu
-
- V2.5.1 Sat Aug 14 15:40:43 1993 Doug Lea (dl at g)
- * faster bin computation & slightly different binning
- * merged all consolidations to one part of malloc proper
- (eliminating old malloc_find_space & malloc_clean_bin)
- * Scan 2 returns chunks (not just 1)
- * Propagate failure in realloc if malloc returns 0
- * Add stuff to allow compilation on non-ANSI compilers
- from kpv@research.att.com
-
- V2.5 Sat Aug 7 07:41:59 1993 Doug Lea (dl at g.oswego.edu)
- * removed potential for odd address access in prev_chunk
- * removed dependency on getpagesize.h
- * misc cosmetics and a bit more internal documentation
- * anticosmetics: mangled names in macros to evade debugger strangeness
- * tested on sparc, hp-700, dec-mips, rs6000
- with gcc & native cc (hp, dec only) allowing
- Detlefs & Zorn comparison study (in SIGPLAN Notices.)
-
- Trial version Fri Aug 28 13:14:29 1992 Doug Lea (dl at g.oswego.edu)
- * Based loosely on libg++-1.2X malloc. (It retains some of the overall
- structure of old version, but most details differ.)
-
-*/
diff --git a/.pc/interix-patch/.timestamp b/.pc/interix-patch/.timestamp
deleted file mode 100644
index e69de29..0000000
--- a/.pc/interix-patch/.timestamp
+++ /dev/null
diff --git a/.pc/interix-patch/src/closures.c b/.pc/interix-patch/src/closures.c
deleted file mode 100644
index b8392c8..0000000
--- a/.pc/interix-patch/src/closures.c
+++ /dev/null
@@ -1,615 +0,0 @@
-/* -----------------------------------------------------------------------
- closures.c - Copyright (c) 2007, 2009, 2010 Red Hat, Inc.
- Copyright (C) 2007, 2009, 2010 Free Software Foundation, Inc
- Copyright (c) 2011 Plausible Labs Cooperative, Inc.
-
- Code to allocate and deallocate memory for closures.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
- ----------------------------------------------------------------------- */
-
-#if defined __linux__ && !defined _GNU_SOURCE
-#define _GNU_SOURCE 1
-#endif
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#if !FFI_MMAP_EXEC_WRIT && !FFI_EXEC_TRAMPOLINE_TABLE
-# if __gnu_linux__
-/* This macro indicates it may be forbidden to map anonymous memory
- with both write and execute permission. Code compiled when this
- option is defined will attempt to map such pages once, but if it
- fails, it falls back to creating a temporary file in a writable and
- executable filesystem and mapping pages from it into separate
- locations in the virtual memory space, one location writable and
- another executable. */
-# define FFI_MMAP_EXEC_WRIT 1
-# define HAVE_MNTENT 1
-# endif
-# if defined(X86_WIN32) || defined(X86_WIN64) || defined(__OS2__)
-/* Windows systems may have Data Execution Protection (DEP) enabled,
- which requires the use of VirtualMalloc/VirtualFree to alloc/free
- executable memory. */
-# define FFI_MMAP_EXEC_WRIT 1
-# endif
-#endif
-
-#if FFI_MMAP_EXEC_WRIT && !defined FFI_MMAP_EXEC_SELINUX
-# ifdef __linux__
-/* When defined to 1 check for SELinux and if SELinux is active,
- don't attempt PROT_EXEC|PROT_WRITE mapping at all, as that
- might cause audit messages. */
-# define FFI_MMAP_EXEC_SELINUX 1
-# endif
-#endif
-
-#if FFI_CLOSURES
-
-# if FFI_EXEC_TRAMPOLINE_TABLE
-
-// Per-target implementation; It's unclear what can reasonable be shared between two OS/architecture implementations.
-
-# elif FFI_MMAP_EXEC_WRIT /* !FFI_EXEC_TRAMPOLINE_TABLE */
-
-#define USE_LOCKS 1
-#define USE_DL_PREFIX 1
-#ifdef __GNUC__
-#ifndef USE_BUILTIN_FFS
-#define USE_BUILTIN_FFS 1
-#endif
-#endif
-
-/* We need to use mmap, not sbrk. */
-#define HAVE_MORECORE 0
-
-/* We could, in theory, support mremap, but it wouldn't buy us anything. */
-#define HAVE_MREMAP 0
-
-/* We have no use for this, so save some code and data. */
-#define NO_MALLINFO 1
-
-/* We need all allocations to be in regular segments, otherwise we
- lose track of the corresponding code address. */
-#define DEFAULT_MMAP_THRESHOLD MAX_SIZE_T
-
-/* Don't allocate more than a page unless needed. */
-#define DEFAULT_GRANULARITY ((size_t)malloc_getpagesize)
-
-#if FFI_CLOSURE_TEST
-/* Don't release single pages, to avoid a worst-case scenario of
- continuously allocating and releasing single pages, but release
- pairs of pages, which should do just as well given that allocations
- are likely to be small. */
-#define DEFAULT_TRIM_THRESHOLD ((size_t)malloc_getpagesize)
-#endif
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <errno.h>
-#ifndef _MSC_VER
-#include <unistd.h>
-#endif
-#include <string.h>
-#include <stdio.h>
-#if !defined(X86_WIN32) && !defined(X86_WIN64)
-#ifdef HAVE_MNTENT
-#include <mntent.h>
-#endif /* HAVE_MNTENT */
-#include <sys/param.h>
-#include <pthread.h>
-
-/* We don't want sys/mman.h to be included after we redefine mmap and
- dlmunmap. */
-#include <sys/mman.h>
-#define LACKS_SYS_MMAN_H 1
-
-#if FFI_MMAP_EXEC_SELINUX
-#include <sys/statfs.h>
-#include <stdlib.h>
-
-static int selinux_enabled = -1;
-
-static int
-selinux_enabled_check (void)
-{
- struct statfs sfs;
- FILE *f;
- char *buf = NULL;
- size_t len = 0;
-
- if (statfs ("/selinux", &sfs) >= 0
- && (unsigned int) sfs.f_type == 0xf97cff8cU)
- return 1;
- f = fopen ("/proc/mounts", "r");
- if (f == NULL)
- return 0;
- while (getline (&buf, &len, f) >= 0)
- {
- char *p = strchr (buf, ' ');
- if (p == NULL)
- break;
- p = strchr (p + 1, ' ');
- if (p == NULL)
- break;
- if (strncmp (p + 1, "selinuxfs ", 10) == 0)
- {
- free (buf);
- fclose (f);
- return 1;
- }
- }
- free (buf);
- fclose (f);
- return 0;
-}
-
-#define is_selinux_enabled() (selinux_enabled >= 0 ? selinux_enabled \
- : (selinux_enabled = selinux_enabled_check ()))
-
-#else
-
-#define is_selinux_enabled() 0
-
-#endif /* !FFI_MMAP_EXEC_SELINUX */
-
-#elif defined (__CYGWIN__)
-
-#include <sys/mman.h>
-
-/* Cygwin is Linux-like, but not quite that Linux-like. */
-#define is_selinux_enabled() 0
-
-#endif /* !defined(X86_WIN32) && !defined(X86_WIN64) */
-
-/* Declare all functions defined in dlmalloc.c as static. */
-static void *dlmalloc(size_t);
-static void dlfree(void*);
-static void *dlcalloc(size_t, size_t) MAYBE_UNUSED;
-static void *dlrealloc(void *, size_t) MAYBE_UNUSED;
-static void *dlmemalign(size_t, size_t) MAYBE_UNUSED;
-static void *dlvalloc(size_t) MAYBE_UNUSED;
-static int dlmallopt(int, int) MAYBE_UNUSED;
-static size_t dlmalloc_footprint(void) MAYBE_UNUSED;
-static size_t dlmalloc_max_footprint(void) MAYBE_UNUSED;
-static void** dlindependent_calloc(size_t, size_t, void**) MAYBE_UNUSED;
-static void** dlindependent_comalloc(size_t, size_t*, void**) MAYBE_UNUSED;
-static void *dlpvalloc(size_t) MAYBE_UNUSED;
-static int dlmalloc_trim(size_t) MAYBE_UNUSED;
-static size_t dlmalloc_usable_size(void*) MAYBE_UNUSED;
-static void dlmalloc_stats(void) MAYBE_UNUSED;
-
-#if !(defined(X86_WIN32) || defined(X86_WIN64) || defined(__OS2__)) || defined (__CYGWIN__) || defined(__INTERIX)
-/* Use these for mmap and munmap within dlmalloc.c. */
-static void *dlmmap(void *, size_t, int, int, int, off_t);
-static int dlmunmap(void *, size_t);
-#endif /* !(defined(X86_WIN32) || defined(X86_WIN64) || defined(__OS2__)) || defined (__CYGWIN__) || defined(__INTERIX) */
-
-#define mmap dlmmap
-#define munmap dlmunmap
-
-#include "dlmalloc.c"
-
-#undef mmap
-#undef munmap
-
-#if !(defined(X86_WIN32) || defined(X86_WIN64) || defined(__OS2__)) || defined (__CYGWIN__) || defined(__INTERIX)
-
-/* A mutex used to synchronize access to *exec* variables in this file. */
-static pthread_mutex_t open_temp_exec_file_mutex = PTHREAD_MUTEX_INITIALIZER;
-
-/* A file descriptor of a temporary file from which we'll map
- executable pages. */
-static int execfd = -1;
-
-/* The amount of space already allocated from the temporary file. */
-static size_t execsize = 0;
-
-/* Open a temporary file name, and immediately unlink it. */
-static int
-open_temp_exec_file_name (char *name)
-{
- int fd = mkstemp (name);
-
- if (fd != -1)
- unlink (name);
-
- return fd;
-}
-
-/* Open a temporary file in the named directory. */
-static int
-open_temp_exec_file_dir (const char *dir)
-{
- static const char suffix[] = "/ffiXXXXXX";
- int lendir = strlen (dir);
- char *tempname = __builtin_alloca (lendir + sizeof (suffix));
-
- if (!tempname)
- return -1;
-
- memcpy (tempname, dir, lendir);
- memcpy (tempname + lendir, suffix, sizeof (suffix));
-
- return open_temp_exec_file_name (tempname);
-}
-
-/* Open a temporary file in the directory in the named environment
- variable. */
-static int
-open_temp_exec_file_env (const char *envvar)
-{
- const char *value = getenv (envvar);
-
- if (!value)
- return -1;
-
- return open_temp_exec_file_dir (value);
-}
-
-#ifdef HAVE_MNTENT
-/* Open a temporary file in an executable and writable mount point
- listed in the mounts file. Subsequent calls with the same mounts
- keep searching for mount points in the same file. Providing NULL
- as the mounts file closes the file. */
-static int
-open_temp_exec_file_mnt (const char *mounts)
-{
- static const char *last_mounts;
- static FILE *last_mntent;
-
- if (mounts != last_mounts)
- {
- if (last_mntent)
- endmntent (last_mntent);
-
- last_mounts = mounts;
-
- if (mounts)
- last_mntent = setmntent (mounts, "r");
- else
- last_mntent = NULL;
- }
-
- if (!last_mntent)
- return -1;
-
- for (;;)
- {
- int fd;
- struct mntent mnt;
- char buf[MAXPATHLEN * 3];
-
- if (getmntent_r (last_mntent, &mnt, buf, sizeof (buf)) == NULL)
- return -1;
-
- if (hasmntopt (&mnt, "ro")
- || hasmntopt (&mnt, "noexec")
- || access (mnt.mnt_dir, W_OK))
- continue;
-
- fd = open_temp_exec_file_dir (mnt.mnt_dir);
-
- if (fd != -1)
- return fd;
- }
-}
-#endif /* HAVE_MNTENT */
-
-/* Instructions to look for a location to hold a temporary file that
- can be mapped in for execution. */
-static struct
-{
- int (*func)(const char *);
- const char *arg;
- int repeat;
-} open_temp_exec_file_opts[] = {
- { open_temp_exec_file_env, "TMPDIR", 0 },
- { open_temp_exec_file_dir, "/tmp", 0 },
- { open_temp_exec_file_dir, "/var/tmp", 0 },
- { open_temp_exec_file_dir, "/dev/shm", 0 },
- { open_temp_exec_file_env, "HOME", 0 },
-#ifdef HAVE_MNTENT
- { open_temp_exec_file_mnt, "/etc/mtab", 1 },
- { open_temp_exec_file_mnt, "/proc/mounts", 1 },
-#endif /* HAVE_MNTENT */
-};
-
-/* Current index into open_temp_exec_file_opts. */
-static int open_temp_exec_file_opts_idx = 0;
-
-/* Reset a current multi-call func, then advances to the next entry.
- If we're at the last, go back to the first and return nonzero,
- otherwise return zero. */
-static int
-open_temp_exec_file_opts_next (void)
-{
- if (open_temp_exec_file_opts[open_temp_exec_file_opts_idx].repeat)
- open_temp_exec_file_opts[open_temp_exec_file_opts_idx].func (NULL);
-
- open_temp_exec_file_opts_idx++;
- if (open_temp_exec_file_opts_idx
- == (sizeof (open_temp_exec_file_opts)
- / sizeof (*open_temp_exec_file_opts)))
- {
- open_temp_exec_file_opts_idx = 0;
- return 1;
- }
-
- return 0;
-}
-
-/* Return a file descriptor of a temporary zero-sized file in a
- writable and exexutable filesystem. */
-static int
-open_temp_exec_file (void)
-{
- int fd;
-
- do
- {
- fd = open_temp_exec_file_opts[open_temp_exec_file_opts_idx].func
- (open_temp_exec_file_opts[open_temp_exec_file_opts_idx].arg);
-
- if (!open_temp_exec_file_opts[open_temp_exec_file_opts_idx].repeat
- || fd == -1)
- {
- if (open_temp_exec_file_opts_next ())
- break;
- }
- }
- while (fd == -1);
-
- return fd;
-}
-
-/* Map in a chunk of memory from the temporary exec file into separate
- locations in the virtual memory address space, one writable and one
- executable. Returns the address of the writable portion, after
- storing an offset to the corresponding executable portion at the
- last word of the requested chunk. */
-static void *
-dlmmap_locked (void *start, size_t length, int prot, int flags, off_t offset)
-{
- void *ptr;
-
- if (execfd == -1)
- {
- open_temp_exec_file_opts_idx = 0;
- retry_open:
- execfd = open_temp_exec_file ();
- if (execfd == -1)
- return MFAIL;
- }
-
- offset = execsize;
-
- if (ftruncate (execfd, offset + length))
- return MFAIL;
-
- flags &= ~(MAP_PRIVATE | MAP_ANONYMOUS);
- flags |= MAP_SHARED;
-
- ptr = mmap (NULL, length, (prot & ~PROT_WRITE) | PROT_EXEC,
- flags, execfd, offset);
- if (ptr == MFAIL)
- {
- if (!offset)
- {
- close (execfd);
- goto retry_open;
- }
- ftruncate (execfd, offset);
- return MFAIL;
- }
- else if (!offset
- && open_temp_exec_file_opts[open_temp_exec_file_opts_idx].repeat)
- open_temp_exec_file_opts_next ();
-
- start = mmap (start, length, prot, flags, execfd, offset);
-
- if (start == MFAIL)
- {
- munmap (ptr, length);
- ftruncate (execfd, offset);
- return start;
- }
-
- mmap_exec_offset ((char *)start, length) = (char*)ptr - (char*)start;
-
- execsize += length;
-
- return start;
-}
-
-/* Map in a writable and executable chunk of memory if possible.
- Failing that, fall back to dlmmap_locked. */
-static void *
-dlmmap (void *start, size_t length, int prot,
- int flags, int fd, off_t offset)
-{
- void *ptr;
-
- assert (start == NULL && length % malloc_getpagesize == 0
- && prot == (PROT_READ | PROT_WRITE)
- && flags == (MAP_PRIVATE | MAP_ANONYMOUS)
- && fd == -1 && offset == 0);
-
-#if FFI_CLOSURE_TEST
- printf ("mapping in %zi\n", length);
-#endif
-
- if (execfd == -1 && !is_selinux_enabled ())
- {
- ptr = mmap (start, length, prot | PROT_EXEC, flags, fd, offset);
-
- if (ptr != MFAIL || (errno != EPERM && errno != EACCES))
- /* Cool, no need to mess with separate segments. */
- return ptr;
-
- /* If MREMAP_DUP is ever introduced and implemented, try mmap
- with ((prot & ~PROT_WRITE) | PROT_EXEC) and mremap with
- MREMAP_DUP and prot at this point. */
- }
-
- if (execsize == 0 || execfd == -1)
- {
- pthread_mutex_lock (&open_temp_exec_file_mutex);
- ptr = dlmmap_locked (start, length, prot, flags, offset);
- pthread_mutex_unlock (&open_temp_exec_file_mutex);
-
- return ptr;
- }
-
- return dlmmap_locked (start, length, prot, flags, offset);
-}
-
-/* Release memory at the given address, as well as the corresponding
- executable page if it's separate. */
-static int
-dlmunmap (void *start, size_t length)
-{
- /* We don't bother decreasing execsize or truncating the file, since
- we can't quite tell whether we're unmapping the end of the file.
- We don't expect frequent deallocation anyway. If we did, we
- could locate pages in the file by writing to the pages being
- deallocated and checking that the file contents change.
- Yuck. */
- msegmentptr seg = segment_holding (gm, start);
- void *code;
-
-#if FFI_CLOSURE_TEST
- printf ("unmapping %zi\n", length);
-#endif
-
- if (seg && (code = add_segment_exec_offset (start, seg)) != start)
- {
- int ret = munmap (code, length);
- if (ret)
- return ret;
- }
-
- return munmap (start, length);
-}
-
-#if FFI_CLOSURE_FREE_CODE
-/* Return segment holding given code address. */
-static msegmentptr
-segment_holding_code (mstate m, char* addr)
-{
- msegmentptr sp = &m->seg;
- for (;;) {
- if (addr >= add_segment_exec_offset (sp->base, sp)
- && addr < add_segment_exec_offset (sp->base, sp) + sp->size)
- return sp;
- if ((sp = sp->next) == 0)
- return 0;
- }
-}
-#endif
-
-#endif /* !(defined(X86_WIN32) || defined(X86_WIN64) || defined(__OS2__)) || defined (__CYGWIN__) || defined(__INTERIX) */
-
-/* Allocate a chunk of memory with the given size. Returns a pointer
- to the writable address, and sets *CODE to the executable
- corresponding virtual address. */
-void *
-ffi_closure_alloc (size_t size, void **code)
-{
- void *ptr;
-
- if (!code)
- return NULL;
-
- ptr = dlmalloc (size);
-
- if (ptr)
- {
- msegmentptr seg = segment_holding (gm, ptr);
-
- *code = add_segment_exec_offset (ptr, seg);
- }
-
- return ptr;
-}
-
-/* Release a chunk of memory allocated with ffi_closure_alloc. If
- FFI_CLOSURE_FREE_CODE is nonzero, the given address can be the
- writable or the executable address given. Otherwise, only the
- writable address can be provided here. */
-void
-ffi_closure_free (void *ptr)
-{
-#if FFI_CLOSURE_FREE_CODE
- msegmentptr seg = segment_holding_code (gm, ptr);
-
- if (seg)
- ptr = sub_segment_exec_offset (ptr, seg);
-#endif
-
- dlfree (ptr);
-}
-
-
-#if FFI_CLOSURE_TEST
-/* Do some internal sanity testing to make sure allocation and
- deallocation of pages are working as intended. */
-int main ()
-{
- void *p[3];
-#define GET(idx, len) do { p[idx] = dlmalloc (len); printf ("allocated %zi for p[%i]\n", (len), (idx)); } while (0)
-#define PUT(idx) do { printf ("freeing p[%i]\n", (idx)); dlfree (p[idx]); } while (0)
- GET (0, malloc_getpagesize / 2);
- GET (1, 2 * malloc_getpagesize - 64 * sizeof (void*));
- PUT (1);
- GET (1, 2 * malloc_getpagesize);
- GET (2, malloc_getpagesize / 2);
- PUT (1);
- PUT (0);
- PUT (2);
- return 0;
-}
-#endif /* FFI_CLOSURE_TEST */
-# else /* ! FFI_MMAP_EXEC_WRIT */
-
-/* On many systems, memory returned by malloc is writable and
- executable, so just use it. */
-
-#include <stdlib.h>
-
-void *
-ffi_closure_alloc (size_t size, void **code)
-{
- if (!code)
- return NULL;
-
- return *code = malloc (size);
-}
-
-void
-ffi_closure_free (void *ptr)
-{
- free (ptr);
-}
-
-# endif /* ! FFI_MMAP_EXEC_WRIT */
-#endif /* FFI_CLOSURES */
diff --git a/.pc/interix/.timestamp b/.pc/interix/.timestamp
deleted file mode 100644
index e69de29..0000000
--- a/.pc/interix/.timestamp
+++ /dev/null
diff --git a/.pc/interix/ChangeLog b/.pc/interix/ChangeLog
deleted file mode 100644
index 2073829..0000000
--- a/.pc/interix/ChangeLog
+++ /dev/null
@@ -1,4613 +0,0 @@
-2012-02-10 Kai Tietz <ktietz@redhat.com>
-
- * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
- windows target.
- * configure: Regenerated.
-
-2012-02-08 Kai Tietz <ktietz@redhat.com>
-
- * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
- also FFI_THISCALL.
- * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
- (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
- (ffi_prep_closure_loc): Add FFI_THISCALL support.
- * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
- * src/x86/win32.S (ffi_closure_THISCALL): New closure code
- for thiscall-calling convention.
- * testsuite/libffi.call/closure_thiscall.c: New test.
-
-2012-01-28 Kai Tietz <ktietz@redhat.com>
-
- * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
- argument to prototype for specify calling-convention.
- (ffi_call): Add support for stdcall/thiscall convention.
- (ffi_prep_args): Likewise.
- (ffi_raw_call): Likewise.
- * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
- FFI_FASTCALL.
- * src/x86/win32.S (_ffi_call_win32): Add support for
- fastcall/thiscall calling-convention calls.
- * testsuite/libffi.call/fastthis1_win32.c: New test.
- * testsuite/libffi.call/fastthis2_win32.c: New test.
- * testsuite/libffi.call/fastthis3_win32.c: New test.
- * testsuite/libffi.call/strlen2_win32.c: New test.
- * testsuite/libffi.call/many2_win32.c: New test.
- * testsuite/libffi.call/struct1_win32.c: New test.
- * testsuite/libffi.call/struct2_win32.c: New test.
-
-2012-01-23 Andreas Schwab <schwab@linux-m68k.org>
-
- * src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
- mc68000. Test for __HAVE_68881__ in addition to __MC68881__.
-
-2012-01-19 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/48496
- * src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
-
-2012-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (i?86-*-*): Set TARGET to X86_64.
- * configure: Regenerate.
-
-2011-12-07 Andrew Pinski <apinski@cavium.com>
-
- PR libffi/50051
- * src/mips/n32.S: Add ".set mips4".
-
-2011-11-21 Andreas Tobler <andreast@fgznet.ch>
-
- * configure: Regenerate.
-
-2011-11-10 Richard Henderson <rth@redhat.com>
-
- * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
- * configure, aclocal.m4: Rebuild.
-
-2011-09-04 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/49594
- * src/powerpc/darwin_closure.S (stubs): Make the stub binding
- helper reference track the architecture pointer size.
-
-2011-08-25 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
- instructions.
- * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
-
-2011-07-11 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46660
- * testsuite/libffi.call/cls_double_va.c: xfail dg-output on
- mips-sgi-irix6*.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
- PRId8 instead of %hhu, %hhd.
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
- PRIu8): Define.
- [__sgi__] (PRId8, PRIu8): Define.
-
-2011-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
- Define.
- Use them to handle ELF vs. ECOFF differences.
- [__osf__] (_GLOBAL__F_ffi_call_osf): Define.
-
-2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * testsuite/libffi.call/err_bad_typedef.c: Remove xfail.
- * testsuite/libffi.call/err_bad_abi.c: Remove xfail.
- * src/x86/ffi64.c (UNLIKELY, LIKELY): Define.
- (ffi_prep_closure_loc): Check for bad ABI.
- * src/prep_cif.c (UNLIKELY, LIKELY): Define.
- (initialize_aggregate): Check for bad types.
-
-2011-02-09 Landon Fuller <landonf@macports.org>
-
- * Makefile.am (EXTRA_DIST): Add build-ios.sh, src/arm/gentramp.sh,
- src/arm/trampoline.S.
- (nodist_libffi_la_SOURCES): Add src/arc/trampoline.S.
- * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Define.
- * src/arm/ffi.c (ffi_trampoline_table)
- (ffi_closure_trampoline_table_page, ffi_trampoline_table_entry)
- (FFI_TRAMPOLINE_CODELOC_CONFIG, FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET)
- (FFI_TRAMPOLINE_COUNT, ffi_trampoline_lock, ffi_trampoline_tables)
- (ffi_trampoline_table_alloc, ffi_closure_alloc, ffi_closure_free):
- Define for FFI_EXEC_TRAMPOLINE_TABLE case (iOS).
- (ffi_prep_closure_loc): Handl FFI_EXEC_TRAMPOLINE_TABLE case
- separately.
- * src/arm/sysv.S: Handle Apple iOS host.
- * src/closures.c: Handle FFI_EXEC_TRAMPOLINE_TABLE case.
- * build-ios.sh: New file.
- * fficonfig.h.in, configure, Makefile.in: Rebuilt.
- * README: Mention ARM iOS.
-
-2011-02-08 Oren Held <orenhe@il.ibm.com>
-
- * src/dlmalloc.c (_STRUCT_MALLINFO): Define in order to avoid
- redefinition of mallinfo on HP-UX.
-
-2011-02-08 Ginn Chen <ginn.chen@oracle.com>
-
- * src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
- aggregate return ABI. Flush cache.
- (ffi_prep_closure_loc): Flush cache.
-
-2011-02-11 Anthony Green <green@moxielogic.com>
-
- From Tom Honermann <tom.honermann@oracle.com>:
- * src/powerpc/aix.S (ffi_call_AIX): Support for xlc toolchain on
- AIX. Declare .ffi_prep_args. Insert nops after branch
- instructions so that the AIX linker can insert TOC reload
- instructions.
- * src/powerpc/aix_closure.S: Declare .ffi_closure_helper_DARWIN.
-
-2011-02-08 Ed <ed@kdtc.net>
-
- * src/powerpc/asm.h: Fix grammar nit in comment.
-
-2011-02-08 Uli Link <ul.mcamafia@linkitup.de>
-
- * include/ffi.h.in (FFI_64_BIT_MAX): Define and use.
-
-2011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46661
- * testsuite/libffi.call/cls_pointer.c (main): Cast void * to
- uintptr_t first.
- * testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
-
-2011-02-08 Rafael Avila de Espindola <respindola@mozilla.com>
-
- * configure.ac: Fix x86 test for pc related relocs.
- * configure: Rebuilt.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
- Handle case when CPU variant does not have long double support.
- * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
- and cores with soft floating point.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * configure.ac: Add mips*-*-rtems* support.
- * configure: Regenerate.
- * src/mips/ffitarget.h: Ensure needed constants are available
- for targets which do not have sgidefs.h.
-
-2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR target/40125
- * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
- * configure: Regenerate.
-
-2010-12-18 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/29152
- PR libffi/42378
- * src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
- (FFI_TRAMPOLINE_SIZE): Update for Darwin64.
- * src/powerpc/darwin.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
- backslashes.
- (libffi_cv_as_string_pseudo_op): Likewise.
- * configure: Regenerate.
-
-2010-12-03 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
- (ffi_closure_VFP): Same.
- (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
- directive.
-
-2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
- (PRIuPTR): Define.
-
-2010-11-29 Richard Henderson <rth@redhat.com>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
- (.eh_frame): Use FDE_ENCODING.
- (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
-
-2010-11-22 Jacek Caban <jacek@codeweavers.com>
-
- * configure.ac: Check for symbol underscores on mingw-w64.
- * configure: Rebuilt.
- * src/x86/win64.S: Correctly access extern symbols in respect to
- underscores.
-
-2010-11-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp: Rename ...
- * testsuite/lib/libffi.exp: ... to this.
- * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
- * libffi/testsuite/libffi.special/special.exp: Likewise.
-
-2010-10-28 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
- code, new parameter, and return value. Update comments.
- (ffi_prep_cif_machdep): Add case for VFP struct return values. Add
- call to layout_vfp_args().
- (ffi_call_SYSV): Update declaration.
- (ffi_call_VFP): New declaration.
- (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
- when ABI is FFI_VFP.
- (ffi_closure_VFP): New declaration.
- (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
- ffi_prep_incoming_args_SYSV().
- (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
- case handling.
- (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
- construction under VFP hard-float.
- (rec_vfp_type_p): New function.
- (vfp_type_p): Same.
- (place_vfp_arg): Same.
- (layout_vfp_args): Same.
- * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
- based on __ARM_PCS_VFP.
- (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
- fields.
- (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
- (FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
- * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
- direct call. Move function pointer load upwards.
- (ffi_call_VFP): New function.
- (ffi_closure_VFP): Same.
-
- * testsuite/lib/libffi-dg.exp (check-flags): New function.
- (dg-skip-if): New function.
- * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
- and compiler options include -mfloat-abi=hard.
- * testsuite/libffi.call/cls_longdouble_va.c: Same.
-
-2010-10-01 Jakub Jelinek <jakub@redhat.com>
-
- PR libffi/45677
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
- a multiple of 8.
- * testsuite/libffi.call/many2.c: New test.
-
-2010-08-20 Mark Wielaard <mjw@redhat.com>
-
- * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
- returns NULL.
-
-2010-08-09 Andreas Tobler <andreast@fgznet.ch>
-
- * configure.ac: Add target powerpc64-*-freebsd*.
- * configure: Regenerate.
- * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
- -mlong-double-128 only to linux targets.
- * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
- * testsuite/libffi.call/cls_longdouble.c: Likewise.
- * testsuite/libffi.call/huge_struct.c: Likewise.
-
-2010-08-05 Dan Witte <dwitte@mozilla.com>
-
- * Makefile.am: Pass FFI_DEBUG define to msvcc.sh for linking to the
- debug CRT when --enable-debug is given.
- * configure.ac: Define it.
- * msvcc.sh: Translate -g and -DFFI_DEBUG appropriately.
-
-2010-08-04 Dan Witte <dwitte@mozilla.com>
-
- * src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64
- platforms.
- * src/x86/ffi.c: Remove redundant ifdef checks.
- * src/prep_cif.c: Push stack space computation into src/x86/ffi.c
- for X86_ANY so return value space doesn't get added twice.
-
-2010-08-03 Neil Rashbrooke <neil@parkwaycc.co.uk>
-
- * msvcc.sh: Don't pass -safeseh to ml64 because behavior is buggy.
-
-2010-07-22 Dan Witte <dwitte@mozilla.com>
-
- * src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
- * src/prep_cif.c: Fix ABI assertion.
- * src/cris/ffi.c: Ditto.
-
-2010-07-10 Evan Phoenix <evan@fallingsnow.net>
-
- * src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
-
-2010-07-07 Dan Horák <dan@danny.cz>
-
- * include/ffi.h.in: Protect #define with #ifndef.
- * src/powerpc/ffitarget.h: Ditto.
- * src/s390/ffitarget.h: Ditto.
- * src/sparc/ffitarget.h: Ditto.
-
-2010-07-07 Neil Roberts <neil@linux.intel.com>
-
- * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
- 16-bytes.
-
-2010-07-02 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
- * Makefile.in: Regenerated.
-
-2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
- output, too.
- (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
- (libffi_cv_as_string_pseudo_op): Check for .string.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
-
-2010-05-11 Dan Witte <dwitte@mozilla.com>
-
- * doc/libffi.tex: Document previous change.
-
-2010-05-11 Makoto Kato <m_kato@ga2.so-net.ne.jp>
-
- * src/x86/ffi.c (ffi_call): Don't copy structs passed by value.
-
-2010-05-05 Michael Kohler <michaelkohler@live.com>
-
- * src/dlmalloc.c (dlfree): Fix spelling.
- * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
- * configure.ac: Ditto.
- * configure: Rebuilt.
-
-2010-04-13 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Build with -W3 instead of -Wall.
- * src/powerpc/ffi_darwin.c: Remove build warnings.
- * src/x86/ffi.c: Ditto.
- * src/x86/ffitarget.h: Ditto.
-
-2010-04-12 Dan Witte <dwitte@mozilla.com>
- Walter Meinl <wuno@lsvw.de>
-
- * configure.ac: Add OS/2 support.
- * configure: Rebuilt.
- * src/closures.c: Ditto.
- * src/dlmalloc.c: Ditto.
- * src/x86/win32.S: Ditto.
-
-2010-04-07 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
-
-2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2010-03-30 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Disable build warnings.
- * README (tested): Clarify windows build procedure.
-
-2010-03-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * libffi/src/x86/unix64.S (.eh_frame)
- [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
-
-2010-03-14 Matthias Klose <doko@ubuntu.com>
-
- * src/x86/ffi64.c: Fix typo in comment.
- * src/x86/ffi.c: Use /* ... */ comment style.
-
-2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/libffi.texi (The Closure API): Fix typo.
- * doc/libffi.info: Remove.
-
-2010-02-15 Matthias Klose <doko@ubuntu.com>
-
- * src/arm/sysv.S (__ARM_ARCH__): Define for processor
- __ARM_ARCH_7EM__.
-
-2010-01-15 Anthony Green <green@redhat.com>
-
- * README: Add notes on building with Microsoft Visual C++.
-
-2010-01-15 Daniel Witte <dwitte@mozilla.com>
-
- * msvcc.sh: New file.
-
- * src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
- * src/x86/ffi.c: Tweak function declaration and remove excess
- parens.
- * include/ffi.h.in: Add __declspec(align(8)) to typedef struct
- ffi_closure.
-
- * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
- function ffi_call_win32 on X86_WIN32.
- * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
- (ffi_call_STDCALL): Remove.
-
- * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
- to ffi_prep_cif_machdep for x86.
- * src/x86/ffi.c (ffi_prep_cif_machdep): To here.
-
-2010-01-15 Oliver Kiddle <okiddle@yahoo.co.uk>
-
- * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
- Sun Studio compiler compatibility.
-
-2010-01-12 Conrad Irwin <conrad.irwin@gmail.com>
-
- * doc/libffi.texi: Add closure example.
-
-2010-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40701
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
- PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
- * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
- alpha*-dec-osf*.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/return_ll1.c: Likewise.
- * testsuite/libffi.call/stret_medium2.c: Likewise.
- * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
- MAP_FAILED to char *.
-
-2010-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
-
-2009-12-31 Anthony Green <green@redhat.com>
-
- * README: Update for libffi 3.0.9.
-
-2009-12-27 Matthias Klose <doko@ubuntu.com>
-
- * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
- appropriate.
- * configure: Rebuilt.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
- avr32*-*-*.
- * testsuite/libffi.call/cls_double_va.c: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
- and inttypes.h.
- * testsuite/libffi.special/unwindtest.cc: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-openbsd*.
- * configure: Rebuilt.
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
- openbsd programs with -lpthread.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
- mips*-*-* and arm*-*-*.
- * testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c,
- testsuite/libffi.call/stret_medium2.c,
- testsuite/libffi.call/stret_medium.c,
- testsuite/libffi.call/stret_large.c,
- testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
-
-2009-12-31 Kay Tietz <ktietz70@googlemail.com>
-
- * testsuite/libffi.call/ffitest.h,
- testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
- definitions.
-
-2009-12-31 Carlo Bramini <carlo.bramix@libero.it>
-
- * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
- * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
-
-2009-12-31 Anthony Green <green@redhat.com>
- Blake Chaffin.
-
- * testsuite/libffi.call/huge_struct.c: New test case from Blake
- Chaffin @ Apple.
-
-2009-12-28 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
- local variables.
- (aix_adjust_aggregate_sizes): New function.
- (ffi_prep_cif_machdep): Call it.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
- * configure: Regenerate.
- * fficonfig.h.in: Likewise.
- * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
- Solaris/x86.
-
-2009-12-26 Andreas Schwab <schwab@linux-m68k.org>
-
- * 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.
-
-2009-12-25 Matthias Klose <doko@ubuntu.com>
-
- * man/ffi_call.3: Fix #include in examples.
- * doc/libffi.texi: Add dircategory.
-
-2009-12-25 Frank Everdij <f.p.x.everdij@tudelft.nl>
-
- * include/ffi.h.in: Placed '__GNUC__' ifdef around
- '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
- IRIX MIPSPro c99.
- * include/ffi_common.h: Added '__sgi' define to non
- '__attribute__((__mode__()))' integer typedefs.
- * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
- ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
- (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
- FFI_LONGDOUBLE support and alignment(N32 only).
- * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
- fixed non '__attribute__((__mode__()))' integer typedefs.
- * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
- since they are Linux/GNU Assembler specific.
-
-2009-12-25 Bradley Smith <brad@brad-smith.co.uk>
-
- * configure.ac, Makefile.am, src/avr32/ffi.c,
- src/avr32/ffitarget.h,
- src/avr32/sysv.S: Add AVR32 port.
- * configure, Makefile.in: Rebuilt.
-
-2009-12-21 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
- * configure: Regenerate.
-
-2009-12-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
- type on HP-UX.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
- double' arguments.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40700
- * src/closures.c [X86_64 && __sun__ && __svr4__]
- (FFI_MMAP_EXEC_WRIT): Define.
-
-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.
-
-2009-12-07 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
- typo.
-
-2009-12-05 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
- code.
- * src/powerpc/aix_closure.S: Same.
-
-2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
- linux64_closure.S.
-
-2009-12-04 Uros Bizjak <ubizjak@gmail.com>
-
- 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.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
- pfr for long double split between fpr13 and stack.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
- fparg_count twice for long double.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- PR libffi/42243
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03 Uros Bizjak <ubizjak@gmail.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
- Remove xfails for x86 linux targets.
-
-2009-12-02 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
- case.
-
-2009-12-01 David Edelsohn <edelsohn@gnu.org>
-
- * 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.
-
-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.
-
-2009-11-02 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/41908
- * testsuite/libffi.call/testclosure.c: New test.
-
-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.
-
-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.
-
-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.
-
-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.
-
-2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.am (install-html, install-pdf): Remove.
- * Makefile.in: Regenerate.
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24 Dave Korn <dave.korn.cygwin@gmail.com>
-
- 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.
-
-2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
-
- 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.
-
-2009-07-01 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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 "".)
-
-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.
-
-2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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.
-
-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.
-
-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.
-
-2009-06-16 Andrew Haley <aph@redhat.com>
-
- * configure.ac (TARGETDIR): Add missing blank lines.
- * configure: Regenerate.
-
-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.
-
-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.
-
-2009-06-12 Andrew Haley <aph@redhat.com>
-
- * Makefile.am: Remove info_TEXINFOS.
-
-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-11 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * 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.
-
-2009-06-09 Andrew Haley <aph@redhat.com>
-
- * src/x86/freebsd.S: Add missing file.
-
-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).
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * README: Import from libffi 3.0.8.
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Add xfails.
- * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
- * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
- * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
- * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
- * testsuite/libffi.call/stret_medium.c: Likewise.
- * testsuite/libffi.call/stret_large2.c: Likewise.
- * testsuite/libffi.call/stret_large.c: Likewise.
-
-2008-12-26 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_align_longdouble.c,
- testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
- failures on x86_64 cygwin/mingw.
-
-2008-12-22 Timothy Wall <twall@users.sf.net>
-
- * 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_loc_fn0.c,
- testsuite/libffi.call/closure_stdcall.c,
- testsuite/libffi.call/cls_align_pointer.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
- pointer to integer (intptr_t).
- * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_dbls_struct.c,
- testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c,
- testsuite/libffi.call/err_bad_abi.c: Clean up failures from
- compiler warnings.
-
-2008-03-04 Anthony Green <green@redhat.com>
- Blake Chaffin
- hos@tamanegi.org
-
- * testsuite/libffi.call/cls_align_longdouble_split2.c
- testsuite/libffi.call/cls_align_longdouble_split.c
- testsuite/libffi.call/cls_dbls_struct.c
- testsuite/libffi.call/cls_double_va.c
- testsuite/libffi.call/cls_longdouble.c
- testsuite/libffi.call/cls_longdouble_va.c
- testsuite/libffi.call/cls_pointer.c
- testsuite/libffi.call/cls_pointer_stack.c
- testsuite/libffi.call/err_bad_abi.c
- testsuite/libffi.call/err_bad_typedef.c
- testsuite/libffi.call/stret_large2.c
- testsuite/libffi.call/stret_large.c
- testsuite/libffi.call/stret_medium2.c
- testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
- libffi.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
- stdcall changes.
-
-2008-02-26 Anthony Green <green@redhat.com>
- Thomas Heller <theller@ctypes.org>
-
- * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
- comment.
-
-2008-02-03 Timothy Wall <twall@users.sf.net>
-
- * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
- offset based on code pointer, not data pointer.
-
-2008-01-31 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
- closures.
- * src/x86/ffitarget.h: Increase size of trampoline for stdcall
- closures.
- * src/x86/win32.S: Add assembly for stdcall closure.
- * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Change void (*)() to void (*)(void).
- * src/x86/ffi.c: Likewise.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ppc_closure.S: Insert licence header.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/m68k/sysv.S: Likewise.
-
- * src/sh64/ffi.c: Change void (*)() to void (*)(void).
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/m32r/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi64.c: Likewise.
- * src/alpha/ffi.c: Likewise.
- * src/alpha/osf.S: Likewise.
- * src/frv/ffi.c: Likewise.
- * src/s390/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/pa/hpux32.S: Likewise.
- * src/ia64/unix.S: Likewise.
- * src/ia64/ffi.c: Likewise.
- * src/sparc/ffi.c: Likewise.
- * src/mips/ffi.c: Likewise.
- * src/sh/ffi.c: Likewise.
-
-2008-02-15 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
- Define (conditionally), and use it to include cachectl.h.
- (ffi_prep_closure_loc): Fix cache flushing.
- * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- include/ffi.h.in,
- src/arm/ffitarget.h,
- src/arm/ffi.c,
- src/arm/sysv.S,
- src/powerpc/ffitarget.h,
- src/closures.c,
- src/sh64/ffitarget.h,
- src/sh64/ffi.c,
- src/sh64/sysv.S,
- src/types.c,
- src/x86/ffi64.c,
- src/x86/ffitarget.h,
- src/x86/win32.S,
- src/x86/darwin.S,
- src/x86/ffi.c,
- src/x86/sysv.S,
- src/x86/unix64.S,
- src/alpha/ffitarget.h,
- src/alpha/ffi.c,
- src/alpha/osf.S,
- src/m68k/ffitarget.h,
- src/frv/ffitarget.h,
- src/frv/ffi.c,
- src/s390/ffitarget.h,
- src/s390/sysv.S,
- src/cris/ffitarget.h,
- src/pa/linux.S,
- src/pa/ffitarget.h,
- src/pa/ffi.c,
- src/raw_api.c,
- src/ia64/ffitarget.h,
- src/ia64/unix.S,
- src/ia64/ffi.c,
- src/ia64/ia64_flags.h,
- src/java_raw_api.c,
- src/debug.c,
- src/sparc/v9.S,
- src/sparc/ffitarget.h,
- src/sparc/ffi.c,
- src/sparc/v8.S,
- src/mips/ffitarget.h,
- src/mips/n32.S,
- src/mips/o32.S,
- src/mips/ffi.c,
- src/prep_cif.c,
- src/sh/ffitarget.h,
- src/sh/ffi.c,
- src/sh/sysv.S: Update license text.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * src/x86/win32.S (_ffi_closure_STDCALL): New function.
- (.eh_frame): Add FDE for it.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * configure.ac: Also check if assembler supports pc-relative
- relocs on X86_WIN32 targets.
- * configure: Regenerate.
- * src/x86/win32.S (ffi_prep_args): Declare extern, not global.
- (_ffi_call_SYSV): Add missing function type symbol .def and
- add EH markup labels.
- (_ffi_call_STDCALL): Likewise.
- (_ffi_closure_SYSV): Likewise.
- (_ffi_closure_raw_SYSV): Likewise.
- (.eh_frame): Add hand-crafted EH data.
-
-2009-04-09 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
- version 3 of the GNU General Public License and to point readers
- at the COPYING3 file and the FSF's license web page.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-12-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libffi/26048
- * configure.ac (HAVE_AS_X86_PCREL): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
- RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
- RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
- * src/x86/unix64.S (.Lstore_table): Move to .text section.
- (.Lload_table): Likewise.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
- signed/unsigned int8/16 return values.
- * src/sparc/v8.S (ffi_call_v8): Likewise.
- (ffi_closure_v8): Likewise.
-
-2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
- Steve Ellcey <sje@cup.hp.com>
-
- * configure: Regenerate for new libtool.
- * Makefile.in: Ditto.
- * include/Makefile.in: Ditto.
- * aclocal.m4: Ditto.
-
-2008-08-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
- FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
- Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
- Adjust copyright notice.
- * src/powerpc/ffi.c: Add two new flags to indicate if we have one
- register or two register to use for FFI_SYSV structs.
- (ffi_prep_cif_machdep): Pass the right register flag introduced above.
- (ffi_closure_helper_SYSV): Fix the return type for
- FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
- Adjust copyright notice.
-
-2008-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
- int.
-
-2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2008-06-07 Joseph Myers <joseph@codesourcery.com>
-
- * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
- powerpc-*-beos*): Remove.
- * configure: Regenerate.
-
-2008-05-09 Julian Brown <julian@codesourcery.com>
-
- * Makefile.am (LTLDFLAGS): New.
- (libffi_la_LDFLAGS): Use above.
- * Makefile.in: Regenerate.
-
-2008-04-18 Paolo Bonzini <bonzini@gnu.org>
-
- PR bootstrap/35457
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2008-03-26 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add .note.GNU-stack on Linux.
- * src/sh64/sysv.S: Likewise.
-
-2008-03-26 Daniel Jacobowitz <dan@debian.org>
-
- * src/arm/sysv.S: Fix ARM comment marker.
-
-2008-03-26 Jakub Jelinek <jakub@redhat.com>
-
- * src/alpha/osf.S: Add .note.GNU-stack on Linux.
- * src/s390/sysv.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
- * src/x86/unix64.S: Likewise.
- * src/x86/sysv.S: Likewise.
- * src/sparc/v8.S: Likewise.
- * src/sparc/v9.S: Likewise.
- * src/m68k/sysv.S: Likewise.
- * src/arm/sysv.S: Likewise.
-
-2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * aclocal.m4: Regenerate.
- * configure: Likewise.
- * Makefile.in: Likewise.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2008-02-12 Bjoern Koenig <bkoenig@alpha-tierchen.de>
- Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-freebsd* target.
- * configure: Regenerate.
-
-2008-01-30 H.J. Lu <hongjiu.lu@intel.com>
-
- PR libffi/34612
- * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
- returning struct.
-
- * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
- tests.
-
-2008-01-24 David Edelsohn <edelsohn@gnu.org>
-
- * configure: Regenerate.
-
-2008-01-06 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
-
-2008-01-05 Andreas Tobler <a.tobler@schweiz.org>
-
- PR testsuite/32843
- * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
- signed/unsigned int8/16 for X86_DARWIN.
- Updated copyright info.
- Handle one and two byte structs with special cif->flags.
- * src/x86/ffitarget.h: Add special types for one and two byte structs.
- Updated copyright info.
- * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
- sysv.S
- Remove code to pop args from the stack after call.
- Special-case signed/unsigned for int8/16, one and two byte structs.
- (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
- FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
- FFI_TYPE_SINT32.
- Updated copyright info.
-
-2007-12-08 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_call_N32): Replace dadd with ADDU, dsub with
- SUBU, add with ADDU and use smaller code sequences.
-
-2007-12-07 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
- type.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
- defined.
- (ffi_java_raw): New typedef.
- (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
- ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
- ffi_java_raw.
- (ffi_java_raw_closure) : Same.
- (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
- parameter types.
- * src/java_raw_api.c (ffi_java_raw_size): Replace FFI_SIZEOF_ARG with
- FFI_SIZEOF_JAVA_RAW.
- (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
- Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
- sizeof(ffi_java_raw) for alignment calculations.
- (ffi_java_ptrarray_to_raw): Same.
- (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
- if FFI_SIZEOF_JAVA_RAW == 4.
- (ffi_java_raw_to_rvalue): Same.
- (ffi_java_raw_call): Change type of raw to ffi_java_raw.
- (ffi_java_translate_args): Same.
- (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
- parameter types.
- * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
- pointer values.
-
-2007-12-01 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/31937
- * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
- Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
- * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
- set the NUM_FPR_ARG_REGISTERS according to.
- Add support for potential soft-float support under hard-float
- architecture.
- (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
- FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
- to the FFI_LINUX_SOFT_FLOAT ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Make sure not to store float/double
- on archs where __NO_FPRS__ is true.
- Add FFI_TYPE_UINT128 support.
- * src/powerpc/sysv.S: Add support for soft-float long-double-128.
- Adjust copyright notice.
-
-2007-11-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
- * include/ffi_common.h: ... here.
- Update copyright.
-
-2007-11-17 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
- * testsuite/libffi.call/return_ldl.c: New test.
-
-2007-09-04 <aph@redhat.com>
-
- * src/arm/sysv.S (UNWIND): New.
- (Whole file): Conditionally compile unwinder directives.
- * src/arm/sysv.S: Add unwinder directives.
-
- * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
- Only treat r0 as a struct address if we're actually returning a
- struct by address.
- Only copy the bytes that are actually within a struct.
- (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
- is returned in r0, not passed by address.
- (ffi_call): Allocate a word-sized temporary for the case where
- a composite is returned in r0.
- (ffi_prep_incoming_args_SYSV): Align as necessary.
-
-2007-08-05 Steven Newbury <s_j_newbury@yahoo.co.uk>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
- directly using the sys_cacheflush syscall.
-
-2007-07-27 Andrew Haley <aph@redhat.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
-
-2007-09-03 Maciej W. Rozycki <macro@linux-mips.org>
-
- * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure: Likewise.
-
-2007-08-24 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/return_sl.c: New test.
-
-2007-08-10 David Daney <ddaney@avtrex.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/nested_struct5.c,
- testsuite/libffi.call/cls_double.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/nested_struct.c,
- testsuite/libffi.call/cls_2byte.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_sint16.c,
- testsuite/libffi.call/cls_align_uint32.c,
- testsuite/libffi.call/cls_20byte.c,
- testsuite/libffi.call/cls_float.c,
- testsuite/libffi.call/nested_struct2.c,
- testsuite/libffi.call/cls_5_1_byte.c,
- testsuite/libffi.call/nested_struct4.c,
- testsuite/libffi.call/cls_24byte.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: Remove xfail for mips64*-*-*.
-
-2007-08-10 David Daney <ddaney@avtrex.com>
-
- 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.
-
-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*.
- * 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.
-
-2006-12-13 Andreas Tobler <a.tobler@schweiz.org>
-
- * aclocal.m4: Regenerate with aclocal -I .. as written in the
- Makefile.am.
-
-2006-10-31 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
- (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
- Darwin.
- * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
- * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10 Paolo Bonzini <bonzini@gnu.org>
- Sandro Tolaini <tolaini@libero.it>
-
- * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
- conditional.
- * configure: Regenerated.
- * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
- (EXTRA_DIST): Add src/x86/darwin.S.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
- X86_WIN32, and additionally align stack to 16 bytes.
- * src/x86/darwin.S: New, based on sysv.S.
- * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12 David Daney <ddaney@avtrex.com>
-
- PR libffi/23935
- * include/Makefile.am: Install both ffi.h and ffitarget.h in
- $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
- * aclocal.m4: Regenerated for automake 1.9.6.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
-2006-08-17 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h: Remove lint directives.
- * include/ffi.h.in: Likewise.
-
-2006-07-25 Torsten Schoenfeld <kaffeetisch@gmx.de>
-
- * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
- for 32-bit architectures.
- * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
- xfail remains for mips64.
-
-2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
-
- * Makefile.am: Add install-html target. Add install-html to .PHONY
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
- stack slot.
-
-2006-04-22 Andreas Tobler <a.tobler@schweiz.ch>
-
- * README: Remove notice about 'Crazy Comments'.
- * src/debug.c: Remove lint directives. Cleanup white spaces.
- * src/java_raw_api.c: Likewise.
- * src/prep_cif.c: Likewise.
- * src/raw_api.c: Likewise.
- * src/ffitest.c: Delete. No longer needed, all test cases migrated
- to the testsuite.
- * src/arm/ffi.c: Remove lint directives.
- * src/m32r/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/sh/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/pa/hpux32.S: Correct unwind offset calculation for
- ffi_closure_pa32.
- * src/pa/linux.S: Likewise.
-
-2006-04-12 James E Wilson <wilson@specifix.com>
-
- PR libgcj/26483
- * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
- (hfa_type_load): Call stf_spill.
- (hfa_type_store): Call ldf_fill.
- (ffi_call): Adjust calls to above routines. Add local temps for
- macro result.
-
-2006-04-10 Matthias Klose <doko@debian.org>
-
- * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
- directory names containing underscores.
-
-2006-04-07 James E Wilson <wilson@specifix.com>
-
- * testsuite/libffi.call/float4.c: New testcase.
-
-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.
-
-2006-03-24 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Default
- for 32-bit using IBM extended double format. Fix FFI_LAST_ABI.
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
- FFI_TYPE_LONGDOUBLE.
- (ffi_prep_args64): Assert using IBM extended double.
- (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
- Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
- (ffi_call): Handle FFI_LINUX.
- (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
- gpr3 return pointer as for struct return. Handle FFI_LINUX
- FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf"
- unnecessarily.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
- for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table.
- Don't use r6 as pointer to results, instead use sp offset. Don't
- make a special call to load lr with case table address, instead
- use offset from previous call.
- * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
- return.
-
-2006-03-15 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
- passed with FP registers correctly.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S: Likewise.
-
-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.
-
-2006-02-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
- -O2, -O3, -Os and the warning flags -W -Wall.
- * testsuite/libffi.special/special.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
- unused parameter unused for gcc or else do nothing.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
- * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
- * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
- * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
- * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
- * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
- * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
- * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
- * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
- void* to avoid compiler warning.
- (main): Likewise.
- (cls_struct_align_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
- * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
- * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
- userdata unused.
- (cls_ret_schar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
- userdata unused.
- (cls_ret_sint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
- userdata unused.
- (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn): Mark cif and
- userdata unused.
- (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
- userdata unused.
- (cls_ret_uint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
- userdata unused.
- (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
- * testsuite/libffi.call/float1.c (main): Remove unused variable i.
- Cleanup white spaces.
- * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
- * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
- cif and userdata unused.
- * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
- Likewise.
- * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
- formatters to silence gcc.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct4.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct6.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
- * testsuite/libffi.call/problem1.c (stub): Likewise.
- * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
- gcc.
- * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
- in the last commit for this test case in the test case itself.
- * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
- unused.
- * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
- * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
- * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
- * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
- * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
- * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Fix register numbers in the FDE for
- ffi_closure_SYSV.
-
-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.
-
-2006-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
- and cast integer to void * if needed. Update the pointer to
- the FP register saved area correctly.
-
-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.
-
-2006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/return_dbl.c: New test case.
- * testsuite/libffi.call/return_dbl1.c: Likewise.
- * testsuite/libffi.call/return_dbl2.c: Likewise.
- * testsuite/libffi.call/return_fl.c: Likewise.
- * testsuite/libffi.call/return_fl1.c: Likewise.
- * testsuite/libffi.call/return_fl2.c: Likewise.
- * testsuite/libffi.call/return_fl3.c: Likewise.
- * testsuite/libffi.call/closure_fn6.c: Likewise.
-
- * 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.
-
-2006-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.ac: Enable libffi for sparc64-*-freebsd*.
- * configure: Rebuilt.
-
-2006-01-18 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
- instead do the shifting inline.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
- shift count unconditionally. Simplify load sequences for 1, 2, 3, 4
- and 8 byte structs, for the remaining struct sizes don't call
- __lshrdi3, instead do the shifting inline.
-
-2005-12-07 Thiemo Seufer <ths@networkno.de>
-
- * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
- missing parentheses.
- * src/mips/o32.S (ffi_call_O32): Code formatting. Define
- and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
- (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
- A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
- V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
- FA_0_0_OFF2.
- * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
- endianness bugs.
- (ffi_prep_closure): Improve trampoline instruction scheduling.
- (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c: Formatting.
- (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
- (ffi_prep_args64): Likewise.
-
-2005-09-30 Geoffrey Keating <geoffk@apple.com>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
- darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26 Tom Tromey <tromey@redhat.com>
-
- * 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.
-
-2005-08-25 Alan Modra <amodra@bigpond.net.au>
-
- PR target/23404
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
- homed fp args.
- (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11 Jakub Jelinek <jakub@redhat.com>
-
- * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
- (AH_BOTTOM): Add FFI_HIDDEN definition.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * src/powerpc/ffi.c (hidden): Remove.
- (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
- ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
- .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
- * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
- add FFI_HIDDEN to its prototype.
- (ffi_closure_SYSV_inner): New.
- * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
- * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10 Alfred M. Szmidt <ams@gnu.org>
-
- PR libffi/21819:
- * configure: Rebuilt.
- * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
- DW_CFA_offset_extended_sf rather than
- DW_CFA_GNU_negative_offset_extended.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
-
- * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
- on sh3.
- (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
- * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
- partially on register.
- (ffi_closure_helper_SYSV): Likewise.
- (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_call): Handle small structures correctly.
- Remove empty line.
- * src/sh64/ffi.c (simple_type): Remove.
- (return_type): Handle small structures correctly.
- (ffi_prep_args): Likewise.
- (ffi_call): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
- Emit position independent code if PIC and remove wrong datalabel
- prefixes from EH data.
-
-2005-07-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure.ac: Add POWERPC_FREEBSD rules.
- * configure: Regenerate.
- * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
- (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
- * src/powerpc/ffi.c: Add flags to handle small structure returns
- in ffi_call_SYSV.
- (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
- Aka FFI_SYSV.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Add return types for small structures.
- * src/powerpc/sysv.S: Add bits to handle small structures for
- final SYSV 4 ABI.
-
-2005-07-10 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_5_1_byte.c: New test file.
- * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05 Randolph Chung <tausq@debian.org>
-
- * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
- as FFI_TYPE_SMALL_STRUCT3. Break out handling for 5-7 byte
- structures. Kill compilation warnings.
- (ffi_closure_inner_LINUX): Print return values as hex in debug
- message. Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
- Properly handle 5-7 byte structure returns.
- * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
- (FFI_TYPE_SMALL_STRUCT2): Remove.
- (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
- (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
- * src/pa/linux.S: Mark source file as using PA1.1 assembly.
- (checksmst1, checksmst2): Remove.
- (checksmst3): Optimize handling of 3-byte struct returns.
- (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libgcj/21943
- * src/mips/n32.S: Enforce PIC code.
- * src/mips/o32.S: Likewise.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
- * configure: Regenerate.
-
-2005-06-01 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
- to call ffi_closure_helper_SYSV. Append @local instead.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
- Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
- * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
- * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
- include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-05-08 Richard Henderson <rth@redhat.com>
-
- PR libffi/21285
- * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04 Andreas Degert <ad@papyrus-gmbh.de>
- Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
- bit 11 of flags.
- (ffi_call): Mask return type field. Pass ssecount to ffi_call_unix64.
- (ffi_prep_closure): Set carry bit if sse-used flag set.
- * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
- Only load sse registers if ssecount non-zero.
- (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
- powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
- * configure: Regenerate.
-
-2005-04-20 Hans-Peter Nilsson <hp@axis.com>
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
- have Tcl8.3-compatible intermediate variable.
-
-2005-04-18 Simon Posnjak <simon.posnjak@siol.net>
- Hans-Peter Nilsson <hp@axis.com>
-
- * Makefile.am: Add CRIS support.
- * configure.ac: Likewise.
- * Makefile.in, configure, testsuite/Makefile.in,
- include/Makefile.in: Regenerate.
- * src/cris: New directory.
- * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
- * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
- \r?\n in output tests.
-
-2005-04-12 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-03-30 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30 Steve Ellcey <sje@cup.hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
- (ffi_sarg) Ditto.
- * src/ia64/unix.S (ffi_closure_unix): Extend gp
- to 64 bits in ILP32 mode.
- Load 64 bits even for short data.
-
-2005-03-23 Mike Stump <mrs@apple.com>
-
- * src/powerpc/darwin.S: Update for -m64 multilib.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21 Zack Weinberg <zack@codesourcery.com>
-
- * 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.
-
-2005-02-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
- odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR libffi/20104
- * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11 Janis Johnson <janis187@us.ibm.com>
-
- * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
- * testsuite/libffi.call/float.c: Ditto.
- * testsuite/libffi.call/float2.c: Ditto.
- * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * testsuite/libffi.special/special.exp (cxx_options): Add
- -shared-libgcc.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
- (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
- offset parameters with a type parameter; deduce size and structure
- alignment. Update all users.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
- (FFI_TYPE_LONGDOUBLE): Fix for ia64.
- * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
- into ffi_prep_closure.
- * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
- from scratch.
-
-2004-12-27 Richard Henderson <rth@redhat.com>
-
- * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25 Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
- (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
- (merge_classes): Check for it.
- (SSE_CLASS_P): New.
- (classify_argument): Pass byte_offset by value; perform all updates
- inside struct case.
- (examine_argument): Add classes argument; handle
- X86_64_COMPLEX_X87_CLASS.
- (ffi_prep_args): Merge into ...
- (ffi_call): ... here. Share stack frame with ffi_call_unix64.
- (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
- (ffi_fill_return_value): Remove.
- (ffi_prep_closure): Remove dead assert.
- (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
- Rewrite to use struct register_args instead of va_list. Create
- flags for handling structure returns.
- * src/x86/unix64.S: Remove dead strings.
- (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share
- stack frame with ffi_call. Handle structure returns properly.
- (float2sse, floatfloat2sse, double2sse): Remove.
- (sse2float, sse2double, sse2floatfloat): Remove.
- (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite
- to handle structure returns properly.
-
-2004-12-08 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
- PICFLAG.
- * Makefile.in: Regenerated.
-
-2004-12-02 Richard Sandiford <rsandifo@redhat.com>
-
- * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
- * configure, aclocal.m4, Makefile.in: Regenerate.
- * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-25 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool reversion.
-
-2004-11-24 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23 Richard Sandiford <rsandifo@redhat.com>
-
- * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
- of jal. Use an absolute encoding for the frame information.
-
-2004-11-23 Kelley Cook <kcook@gcc.gnu.org>
-
- * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS.
- * acinclude.m4: Delete logic for sincludes.
- * aclocal.m4, Makefile.in, configure: Regenerate.
- * include/Makefile: Likewise.
- * testsuite/Makefile: Likewise.
-
-2004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
- on a 8-byte boundary.
- * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
- long long values. Round stack allocation to a multiple of 8 bytes
- for ATPCS compatibility.
- * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
- names. Handle returning long long types. Add Thumb and interworking
- support. Improve soft-float code.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
- (libffi_exit): New function.
- (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR other/18138
- * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
- * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
- the function returning a structure pointed with R2.
- * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
- the structure return value if T bit set. Emit position
- independent code and EH data if PIC.
-
-2004-10-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * Makefile.am: Add m32r support.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * confiugre: Regenerate.
- * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
- (uint64, sint64, double, longdouble)
- * src/m32r: New directory.
- * src/m32r/ffi.c: New file.
- * src/m32r/sysv.S: Likewise.
- * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * testsuite/libffi.call/negint.c: New test case.
-
-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.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/many_win32.c: Remove whitespaces.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
- whitespaces.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Fix comments and identation.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
- (ffi_prep_args): Handle longdouble arguments.
- (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
- longdouble.
- (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
- * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
- values.
- * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
- * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/aix.S: Remove whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
- * src/powerpc/asm.h: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffitarget.h: Likewise.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
-
-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.in: Read configure.host.
- * 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 shouldn't 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.
-
-2004-08-24 David Daney <daney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
- to zero.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23 David Daney <daney@avtrex.com>
-
- PR libgcj/13141
- * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
- * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
- (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
- parameters and return types.
- (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
- (ffi_prep_closure): Ditto.
- (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
- alignment calculations.
- * src/mips/o32.S (ffi_closure_O32): Don't use floating point
- instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14 Casey Marshall <csm@gnu.org>
-
- * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
- contain `FFI_TYPE_UINT64' as return type for any 64-bit
- integer (O32 ABI only).
- (ffi_prep_closure): new function.
- (ffi_closure_mips_inner_O32): new function.
- * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
- `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
- * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
- 64 bit integers correctly.
- (ffi_closure_O32): new function.
- Added DWARF-2 unwind info for both functions.
-
-2004-08-10 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01 Robert Millan <robertmh@gnu.org>
-
- * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
- * configure: Regenerate.
-
-2004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
-
- * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
- and mmap() explicitly instead of relying on preset autoconf cache
- variables.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
- (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
- character on Darwin, use '\n\t' instead.
-
-2004-06-26 Matthias Klose <doko@debian.org>
-
- * libtool-version: Fix typo in revision/age.
-
-2004-06-17 Matthias Klose <doko@debian.org>
-
- * libtool-version: New.
- * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
- * Makefile.in: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * Makefile.am: Remove useless multilib rules.
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate with automake 1.8.5.
- * configure.ac: Remove useless multilib configury.
- * configure: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * .cvsignore: New file.
-
-2004-06-10 Jakub Jelinek <jakub@redhat.com>
-
- * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
- fp_done.
- (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
- changed from 8.
-
-2004-06-06 Sean McNeil <sean@mcneil.com>
-
- * configure.ac: Add x86_64-*-freebsd* support.
- * configure: Regenerate.
-
-2004-04-26 Joe Buck <jbuck@welsh-buck.org>
-
- Bug 15093
- * configure.ac: Test for existence of mmap and sys/mman.h before
- checking blacklist. Fix suggested by Jim Wilson.
- * configure: Regenerate.
-
-2004-04-26 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
- FDE location.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
- error. Reported by Thomas Heller <theller@python.net>.
- * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20 Matthias Klose <doko@debian.org>
-
- * src/pa/linux.S: Fix typo.
-
-2004-03-19 Matthias Klose <doko@debian.org>
-
- * Makefile.am: Update.
- * Makefile.in: Regenerate.
- * src/pa/ffi.h.in: Remove.
- * src/pa/ffitarget.h: New file.
-
-2004-02-10 Randolph Chung <tausq@debian.org>
-
- * Makefile.am: Add PA support.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * configure.ac: Add PA target.
- * configure: Regenerate.
- * src/pa/ffi.c: New file.
- * src/pa/ffi.h.in: Add PA support.
- * src/pa/linux.S: New file.
- * prep_cif.c: Add PA support.
-
-2004-03-16 Hosaka Yuji <hos@tamanegi.org>
-
- * src/types.c: Fix alignment size of X86_WIN32 case int64 and
- double.
- * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
- with ecif->cif->flags.
- (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
- with cif->flags.
- (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
- (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
- * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
- sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.in: Rename file to ...
- * configure.ac: ... this.
- * fficonfig.h.in: Regenerate.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2004-03-12 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Fix EH information so it corresponds to
- changes in EH format resulting from addition of linkonce support.
- * src/powerpc/darwin_closure.S: Likewise.
-
-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.
-
-2004-03-11 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
- arguments from fp registers only for the first 8 parameter slots.
- Don't convert a float parameter when passed in memory.
-
-2004-03-09 Hans-Peter Nilsson <hp@axis.com>
-
- * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
-
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
- ecif->cif->bytes to bytes.
- (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
- * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
- (ffi_closure_helper_LINUX64): Fix typo.
- * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
- for powerpc64-*-*.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
- long double function return and long double arg handling.
- (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
- Use "end_pfr" instead of "nf". Correct long double handling.
- Localise "temp".
- * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
- return value.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
- space for long double return value. Adjust stack frame and offsets.
- Load f2 long double return.
-
-2004-02-07 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
- when the structure return address is passed in %o0.
- (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
- (ffi_v9_layout_struct): Align the field following a nested structure
- on a word boundary. Use memmove instead of memcpy.
- (ffi_call): Update call to ffi_V9_return_struct.
- (ffi_prep_closure): Define 'ctx' only for V8.
- (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
- and ffi_closure_sparc_inner_v9.
- (ffi_closure_sparc_inner_v8): Return long doubles by reference.
- Always skip the structure return address. For structures and long
- doubles, copy the argument directly.
- (ffi_closure_sparc_inner_v9): Skip the structure return address only
- if required. Shift the maximum floating-point slot accordingly. For
- big structures, copy the argument directly; otherwise, left-justify the
- argument and call ffi_v9_layout_struct to lay out the structure on
- the stack.
- * src/sparc/v8.S: Undef STACKFRAME before defining it.
- (ffi_closure_v8): Pass the structure return address. Update call to
- ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
- Skip the 'unimp' insn when returning long doubles and structures.
- * src/sparc/v9.S: Undef STACKFRAME before defining it.
- (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
- FFI_TYPE_INT handling. Load structures both in integers and
- floating-point registers on return.
- * README: Update status of the SPARC port.
-
-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.
-
-2004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
-
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
- value as of type ffi_arg, not unsigned int.
-
-2004-01-21 Michael Ritzert <ritzert@t-online.de>
-
- * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
- of the LHS.
-
-2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
- Solaris.
-
-2004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
- to void *.
-
-2003-12-10 Richard Henderson <rth@redhat.com>
-
- * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
- size_t instead of int.
-
-2003-12-04 Hosaka Yuji <hos@tamanegi.org>
-
- * testsuite/libffi.call/many_win32.c: Include <float.h>.
- * testsuite/libffi.call/many_win32.c (main): Replace variable
- int i with unsigned long ul.
-
- * testsuite/libffi.call/cls_align_uint64.c: New test case.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02 Hosaka Yuji <hos@tamanegi.org>
-
- PR other/13221
- * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
- Align arguments to 32 bits.
-
-2003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR other/13221
- * testsuite/libffi.call/cls_multi_sshort.c: New test case.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-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.
-
-2003-11-21 Andreas Jaeger <aj@suse.de>
- Andreas Tobler <a.tobler@schweiz.ch>
-
- * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
- * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
- * Makefile.in: Rebuilt.
- * aclocal.m4: Likewise.
- * configure: Likewise.
- * fficonfig.h.in: Likewise.
- * testsuite/lib/libffi-dg.exp: Add include dir.
- * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
- for ffi_closure if available.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
- Add -lgcc_s to additional flags.
-
-2003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.in, include/Makefile.am: PR libgcj/11147, install
- the ffitarget.h header file in a gcc versioned and target
- dependent place.
- * configure: Regenerated.
- * Makefile.in, include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Print result and check
- with dg-output to make debugging easier.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
- static.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_9byte2.c: New test case.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_double.c: Do a check on the result.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/prep_cif.c (ffi_prep_cif): Move the validity check after
- the initialization.
-
-2003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
- FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
- __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-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
-
-2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
- _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
- Used when FFI_DEBUG = 1.
-
-2003-10-14 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
- and align.
-
-2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
- FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
- SPARC64. Cleanup whitespaces.
-
-2003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
- strongarm, xscale. Cleanup whitespaces.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Cleanup whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
- * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
- parameter stack.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
- according to the Darwin/AIX ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_DARWIN): Likewise.
- Remove the outgoing parameter stack logic. Simplify the evaluation
- of the different CASE types.
- (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
- statement in the trampoline code.
-
-2003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
- for the register size.
- (ffi_closure_helper_SYSV): Handle the structure return value
- address correctly.
- (ffi_closure_helper_SYSV): Return the appropriate type when
- the registers are used for the structure return value.
- * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
- the 64-bit return value. Update copyright years.
-
-2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
- srcdir for ffi_mips.h.
-
-2003-09-12 Alan Modra <amodra@bigpond.net.au>
-
- * src/prep_cif.c (initialize_aggregate): Include tail padding in
- structure size.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
- placement of float result.
- * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
- cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Merge identical SH and ARM
- typedefs, and add POWERPC64.
- * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
- struct split over gpr and rest.
- (ffi_prep_cif_machdep): Correct intarg_count for structures.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
- passing correctly.
-
-2003-09-09 Alan Modra <amodra@bigpond.net.au>
-
- * configure: Regenerate.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Remove build rules for ffitest.
- * Makefile.in: Rebuilt.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
- about implicit declaration of abort().
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
- * Makefile.in: Rebuilt.
- * configure.in: Add dejagnu test framework.
- * configure: Rebuilt.
-
- * testsuite/Makefile.am: New file.
- * testsuite/Makefile.in: Built
- * testsuite/lib/libffi-dg.exp: New file.
- * testsuite/config/default.exp: Likewise.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Likewise.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float1.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/many.c: Likewise.
- * testsuite/libffi.call/many_win32.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
- * testsuite/libffi.call/strlen.c: Likewise.
- * testsuite/libffi.call/strlen_win32.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
- * testsuite/libffi.call/struct2.c: Likewise.
- * testsuite/libffi.call/struct3.c: Likewise.
- * testsuite/libffi.call/struct4.c: Likewise.
- * testsuite/libffi.call/struct5.c: Likewise.
- * testsuite/libffi.call/struct6.c: Likewise.
- * testsuite/libffi.call/struct7.c: Likewise.
- * testsuite/libffi.call/struct8.c: Likewise.
- * testsuite/libffi.call/struct9.c: Likewise.
- * testsuite/libffi.special/special.exp: New file.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
- copyright years.
-
-2003-08-02 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
- structure passing.
- (ffi_closure_helper_LINUX64): Likewise.
- * src/powerpc/linux64.S: Remove code writing to parm save area.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
- address in lr from ffi_closure_helper_LINUX64 call to calculate
- table address. Optimize function tail.
-
-2003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/sparc/ffi.c: Handle all floating point registers.
- * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
-
- * README: Note that libffi is not part of GCC. Update the project
- URL and status.
-
-2003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
- Use C style comments.
-
-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
- should be read-only.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * include/ffi.h.in (EH_FRAME_FLAGS): Define.
- * src/alpha/osf.S: Use EH_FRAME_FLAGS.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
- * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
- if -fpic/-fPIC/-mrelocatable.
- * src/powerpc/powerpc_closure.S: Likewise.
- * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
- #write in .eh_frame flags.
- * src/sparc/v9.S: Likewise.
- * src/x86/unix64.S: Use EH_FRAME_FLAGS.
- * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
- * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
-
-2003-05-07 Jeff Sturm <jsturm@one-point.com>
-
- Fixes PR bootstrap/10656
- * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
- support for .register pseudo-op.
- * src/sparc/v8.S: Use it.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2003-04-18 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (POWERPC64): Define if 64-bit.
- (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
- Make it the default on POWERPC64.
- (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
- * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
- * configure: Rebuilt.
- * src/powerpc/ffi.c (hidden): Define.
- (ffi_prep_args_SYSV): Renamed from
- ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
- (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
- ASM_NEEDS_REGISTERS64): New.
- (ffi_prep_args64): New function.
- (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
- (ffi_call): Likewise.
- (ffi_prep_closure): Likewise.
- (flush_icache): Surround by #ifndef POWERPC64.
- (ffi_dblfl): New union type.
- (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
- (ffi_closure_helper_LINUX64): New function.
- * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
- __powerpc64__.
- * src/powerpc/sysv.S: Likewise.
- (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
- * src/powerpc/linux64.S: New file.
- * src/powerpc/linux64_closure.S: New file.
- * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
- src/powerpc/linux64_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
- * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
- closure_test_fn3): Fix result printing on big-endian 64-bit
- machines.
- (main): Print tst2_arg instead of uninitialized tst2_result.
-
- * src/ffitest.c (main): Hide what closure pointer really points to
- from the compiler.
-
-2003-04-16 Richard Earnshaw <rearnsha@arm.com>
-
- * configure.in (arm-*-netbsdelf*): Add configuration.
- (configure): Regenerated.
-
-2003-04-04 Loren J. Rittle <ljrittle@acm.org>
-
- * include/Makefile.in: Regenerate.
-
-2003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
-
- * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
- bit mode.
- * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
- Receive closure pointer through parameter, read args using
- __builtin_dwarf_cfa.
- (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12 Andreas Schwab <schwab@suse.de>
-
- * configure.in: Avoid trailing /. in toolexeclibdir.
- * configure: Rebuilt.
-
-2003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/powerpc/darwin_closure.S:
- Fix alignement bug, allocate 8 bytes for the result.
- * libffi/src/powerpc/aix_closure.S:
- Likewise.
- * libffi/src/powerpc/ffi_darwin.c:
- Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06 Jakub Jelinek <jakub@redhat.com>
-
- * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
- attribute.
-
-2003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
- Andreas Schwab <schwab@suse.de>
-
- * configure.in: Adjust command to source config-ml.in to account
- for changes to the libffi_basedir definition.
- (libffi_basedir): Remove ${srcdir} from value and include trailing
- slash if nonempty.
-
- * configure: Regenerate.
-
-2003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
- * src/x86/ffi64.c (ffi_prep_closure): New.
- (ffi_closure_UNIX64_inner): New.
- * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
- Remove USE_LIBDIR conditional.
- * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
- * Makefile.in, configure: Rebuilt.
-
-2003-01027 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
- * Makefile.in: Regenerate.
-
-2003-01-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
- unwind info.
-
-2003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Add unwind info.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
- (ffi_prep_cif_machdep): Likewise.
- * src/x86/unix64.S: Add unwind info.
-
-2003-01-14 Andreas Jaeger <aj@suse.de>
-
- * src/ffitest.c (main): Only use ffi_closures if those are
- supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/ffitest.c
- add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
- * libffi/src/powerpc/ffi.c
- fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c: Remove RCS version string.
- * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
- * src/ffitest.c (main): Use static storage for closure.
- * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
- * src/sparc/v8.S (ffi_closure_v8): New.
- * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10 Ranjit Mathew <rmathew@hotmail.com>
-
- * include/ffi.h.in: Added FFI_STDCALL ffi_type
- enumeration for X86_WIN32.
- * src/x86/win32.S: Added ffi_call_STDCALL function
- definition.
- * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
- switch cases for recognising FFI_STDCALL and
- calling ffi_call_STDCALL if target is X86_WIN32.
- * src/ffitest.c (my_stdcall_strlen/stdcall_many):
- stdcall versions of the "my_strlen" and "many"
- test functions (for X86_WIN32).
- Added test cases to test stdcall invocation using
- these functions.
-
-2002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26 Jim Wilson <wilson@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23 H.J. Lu <hjl@gnu.org>
-
- * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
- Include ../config/accross.m4.
- * aclocal.m4; Rebuild.
- * configure: Likewise.
-
-2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11 DJ Delorie <dj@redhat.com>
-
- * configure.in: Look for common files in the right place.
-
-2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
- raw data as _Jv_word values, not ffi_raw.
- (ffi_java_ptrarray_to_raw): Likewise.
- (ffi_java_rvalue_to_raw): New function.
- (ffi_java_raw_call): Call it.
- (ffi_java_raw_to_rvalue): New function.
- (ffi_java_translate_args): Call it.
- * src/ffitest.c (closure_test_fn): Interpret return value
- as ffi_arg, not int.
- * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
- FFI_TYPE_POINTER case.
- (ffi_closure_helper_SYSV): Likewise. Also, assume return
- values extended to word size.
-
-2002-10-02 Andreas Jaeger <aj@suse.de>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01 Bo Thorsen <bo@smetana.suse.de>
-
- * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
-
- * configure.in: Add s390x-*-linux-* target.
- * configure: Regenerate.
- * include/ffi.h.in: Define S390X for s390x targets.
- (FFI_CLOSURES): Define for s390/s390x.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
- * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
- * src/s390/ffi.c: Major rework of existing code. Add support for
- s390x targets. Add closure support.
- * src/s390/sysv.S: Likewise.
-
-2002-09-29 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: Fix typo.
-
-2002-09-28 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
- has defined __USER_LABEL_PREFIX__, then use it in CNAME.
- (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27 Bo Thorsen <bo@suse.de>
-
- * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * configure.in (sh[34]*-*-linux*): Add brackets.
- * configure: Regenerate.
-
-2002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * Makefile.am: Add SH support.
- * Makefile.in: Regenerate.
- * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
- * configure: Regenerate.
- * include/ffi.h.in: Add SH support.
- * src/sh/ffi.c: New file.
- * src/sh/sysv.S: New file.
- * src/types.c: Add SH support.
-
-2002-07-16 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi64.c: New file that adds x86-64 support.
- * src/x86/unix64.S: New file that handles argument setup for
- x86-64.
- * src/x86/sysv.S: Don't use this on x86-64.
- * src/x86/ffi.c: Don't use this on x86-64.
- Remove unused vars.
- * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
- for x86-64.
- * src/ffitest.c (struct6): New test that tests a special case in
- the x86-64 ABI.
- (struct7): Likewise.
- (struct8): Likewise.
- (struct9): Likewise.
- (closure_test_fn): Silence warning about this when it's not used.
- (main): Add the new tests.
- (main): Fix a couple of wrong casts and silence some compiler warnings.
- * include/ffi.h.in: Add x86-64 ABI definition.
- * fficonfig.h.in: Regenerate.
- * Makefile.am: Add x86-64 support.
- * configure.in: Likewise.
- * Makefile.in: Regenerate.
- * configure: Likewise.
-
-2002-06-24 Bo Thorsen <bo@suse.de>
-
- * src/types.c: Merge settings for similar architectures.
- Add x86-64 sizes and alignments.
-
-2002-06-23 Bo Thorsen <bo@suse.de>
-
- * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
- * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
- * src/mips/ffi.c (ffi_prep_args): Likewise.
- * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18 H.J. Lu (hjl@gnu.org)
-
- * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
- (libffi_la_SOURCES): Support MIPS_LINUX.
- (libffi_convenience_la_SOURCES): Likewise.
- * Makefile.in: Regenerated.
-
- * configure.in (mips64*-*): Skip.
- (mips*-*-linux*): New.
- * configure: Regenerated.
-
- * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
-
-2002-05-27 Roger Sayle <roger@eyesopen.com>
-
- * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
- fix formatting.
-
-2002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
- beginning of function (for older apple cc).
-
-2002-05-08 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
- script entry, and set LD to it when configuring multilibs.
- * configure: Rebuilt.
-
-2002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (sparc64-*-netbsd*): Add target.
- (sparc-*-netbsdelf*): Likewise.
- * configure: Regenerate.
-
-2002-04-28 David S. Miller <davem@redhat.com>
-
- * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
-
- * Makefile.am: Add Linux for S/390 support.
- * Makefile.in: Regenerate.
- * configure.in: Add Linux for S/390 support.
- * configure: Regenerate.
- * include/ffi.h.in: Add Linux for S/390 support.
- * src/s390/ffi.c: New file from libffi CVS tree.
- * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
- %r_disp32().
- * src/sparc/v8.S: Use it.
- * src/sparc/v9.S: Likewise.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2002-04-08 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
- correctly.
- * src/ia64/unix.S: Add unwind information. Fix comments.
- Save sp in a way that's compatible with unwind info.
- (ffi_call_unix): Correctly restore sp in all cases.
- * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08 Jakub Jelinek <jakub@redhat.com>
-
- * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (alpha*-*-netbsd*): Add target.
- * configure: Regenerate.
-
-2002-04-04 Jeff Sturm <jsturm@one-point.com>
-
- * src/sparc/v8.S: Add unwind info.
- * src/sparc/v9.S: Likewise.
-
-2002-03-30 Krister Walfridsson <cato@df.lth.se>
-
- * configure.in: Enable i*86-*-netbsdelf*.
- * configure: Rebuilt.
-
-2002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
-
- PR other/2620
- * src/mips/n32.s: Delete
- * src/mips/o32.s: Delete
-
-2002-03-21 Loren J. Rittle <ljrittle@acm.org>
-
- * configure.in: Enable alpha*-*-freebsd*.
- * configure: Rebuilt.
-
-2002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * Makefile.am: libfficonvenience -> libffi_convenience.
- * Makefile.in: Rebuilt.
-
- * Makefile.am: Define ffitest_OBJECTS.
- * Makefile.in: Rebuilt.
-
-2002-03-07 Andreas Tobler <toa@pop.agri.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
- (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
- (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
- * Makefile.in: Regenerate.
- * include/ffi.h.in: Add AIX and Darwin closure definitions.
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
- (flush_icache, flush_range): New functions.
- (ffi_closure_helper_DARWIN): New function.
- * src/powerpc/aix_closure.S: New file.
- * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add typedef for ffi_arg.
- * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21 Andreas Tobler <toa@pop.agri.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
- number of GPRs for floating-point arguments.
-
-2002-01-31 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Replace CHECK_SIZEOF and endian tests with
- cross-compiler friendly macros.
- * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
- macros.
-
-2002-01-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): New.
- * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
- (TARGET_SRC_POWERPC_AIX): New.
- (POWERPC_AIX): New stanza.
- * Makefile.in: Regenerate.
- * configure.in: Add AIX case.
- * configure: Regenerate.
- * include/ffi.h.in (ffi_abi): Add FFI_AIX.
- * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
- size. Fix "long double" support.
- (ffi_call): Add FFI_AIX case.
- * src/powerpc/aix.S: New.
-
-2001-10-09 John Hornkvist <john@toastedmarshmallow.com>
-
- Implement Darwin PowerPC ABI.
- * configure.in: Handle powerpc-*-darwin*.
- * Makefile.am: Set source files for POWERPC_DARWIN.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
- * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
- POWERPC_DARWIN.
- * src/powerpc/darwin.S: New file.
- * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .balign directive.
- Use C style comments.
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
- Fixes PR bootstrap/3563.
-
-2001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.in: Recognize sparc*-sun-* host.
- * configure: Regenerate.
-
-2001-06-06 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S: Add unwind info.
- * src/powerpc/sysv.S: Add unwind info.
- * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31 Jeff Sturm <jsturm@one-point.com>
-
- * configure.in: Fix AC_ARG_ENABLE usage.
- * configure: Rebuilt.
-
-2001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * configure.in: Remove warning about beta code.
- * configure: Rebuilt.
-
-2001-04-25 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/ia64/unix.S: Restore stack pointer when returning from
- ffi_closure_UNIX.
- * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18 Jim Wilson <wilson@redhat.com>
-
- * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
- to eliminate RAW DV.
-
-2001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
-
- * Makefile.am: Make a libtool convenience library.
- * Makefile.in: Rebuilt.
-
-2001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Use different syntax for subdirectory creation.
- * configure: Rebuilt.
-
-2001-03-27 Jon Beniston <jon@beniston.com>
-
- * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
- * configure: Rebuilt.
- * Makefile.am: Added X86_WIN32 target support.
- * Makefile.in: Rebuilt.
-
- * include/ffi.h.in: Added X86_WIN32 target support.
-
- * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
- * src/types.c: Added X86_WIN32 target support.
-
- * src/x86/win32.S: New file. Based on sysv.S, but with EH
- stuff removed and made to work with CygWin's gas.
-
-2001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Make target subdirectory in build dir.
- * Makefile.am: Override suffix based rules to specify correct output
- subdirectory.
- * Makefile.in: Rebuilt.
- * configure: Rebuilt.
-
-2001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
-
- * src/powerpc/ppc_closure.S: New file.
- * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
- involving long long and register pairs.
- (ffi_prep_closure): New function.
- (flush_icache): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * Makefile.in: Rebuilt.
- * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19 Tom Tromey <tromey@redhat.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02 Nick Clifton <nickc@redhat.com>
-
- * include/ffi.h.in: Remove RCS ident string.
- * include/ffi_mips.h: Remove RCS ident string.
- * src/debug.c: Remove RCS ident string.
- * src/ffitest.c: Remove RCS ident string.
- * src/prep_cif.c: Remove RCS ident string.
- * src/types.c: Remove RCS ident string.
- * src/alpha/ffi.c: Remove RCS ident string.
- * src/alpha/osf.S: Remove RCS ident string.
- * src/arm/ffi.c: Remove RCS ident string.
- * src/arm/sysv.S: Remove RCS ident string.
- * src/mips/ffi.c: Remove RCS ident string.
- * src/mips/n32.S: Remove RCS ident string.
- * src/mips/o32.S: Remove RCS ident string.
- * src/sparc/ffi.c: Remove RCS ident string.
- * src/sparc/v8.S: Remove RCS ident string.
- * src/sparc/v9.S: Remove RCS ident string.
- * src/x86/ffi.c: Remove RCS ident string.
- * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * include/ffi.h.in: Change sourceware.cygnus.com references to
- gcc.gnu.org.
-
-2000-12-09 Richard Henderson <rth@redhat.com>
-
- * src/alpha/ffi.c (ffi_call): Simplify struct return test.
- (ffi_closure_osf_inner): Index rather than increment avalue
- and arg_types. Give ffi_closure_osf the raw return value type.
- * src/alpha/osf.S (ffi_closure_osf): Handle return value type
- promotion.
-
-2000-12-07 Richard Henderson <rth@redhat.com>
-
- * src/raw_api.c (ffi_translate_args): Fix typo.
- (ffi_prep_closure): Likewise.
-
- * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
- FFI_TRAMPOLINE_SIZE.
- * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
- cif->bytes for new ffi_call_osf implementation.
- (ffi_prep_args): Absorb into ...
- (ffi_call): ... here. Do all stack allocation here and
- avoid a callback function.
- (ffi_prep_closure, ffi_closure_osf_inner): New.
- * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
- (ffi_closure_osf): New.
-
-2000-09-10 Alexandre Oliva <aoliva@redhat.com>
-
- * config.guess, config.sub, install-sh: Removed.
- * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
- * Makefile.in: Rebuilt.
-
- * acinclude.m4: Include libtool macros from the top level.
- * aclocal.m4, configure: Rebuilt.
-
-2000-08-22 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
- * configure: Rebuilt.
-
-2000-05-11 Scott Bambrough <scottb@netwinder.org>
-
- * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
- memory correctly. Use conditional instructions, not branches where
- possible.
-
-2000-05-04 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Match `arm*-*-linux-*'.
- From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (SUBDIRS): Define.
- (AM_MAKEFLAGS): Likewise.
- (Multilib support.): Add section.
- * Makefile.in: Rebuilt.
- * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
- New variables. Set for gcc using -print-multi-lib. Export them
- to libtool.
- (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
- * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
- for -shared links.
- (extra_compiler_flags_value, extra_compiler_flags): Check these
- for extra compiler options which need to be passed down in
- compiler_flags.
-
-2000-04-16 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
- Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
- * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
- Replace all void * sizeofs with sizeof(int).
- Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
- different than DOUBLE.
- Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
- (ffi_prep_args_v9): New function.
- (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
- (ffi_V9_return_struct): New function.
- (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
- 32bit code (not yet cross-arch calls).
- * src/sparc/v8.S: Add struct return delay nop.
- Handle long long.
- * src/sparc/v9.S: New file.
- * src/prep_cif.c (ffi_prep_cif): Return structure pointer
- is used on sparc64 only for structures larger than 32 bytes.
- Pass by reference for structures is done for structure arguments
- larger than 16 bytes.
- * src/ffitest.c (main): Use 64bit rint on sparc64.
- Run long long tests on sparc.
- * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
- sparc64.
- (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
- on sparc64.
- * configure.in (sparc-*-linux*): New supported target.
- (sparc64-*-linux*): Likewise.
- * configure: Rebuilt.
- * Makefile.am: Add v9.S to SPARC files.
- * Makefile.in: Likewise.
- (LINK): Surround $(CCLD) into double quotes, so that multilib
- compiles work correctly.
-
-2000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: (i*86-*-solaris*): New libffi target. Patch
- proposed by Bryce McKinlay.
-
-2000-03-20 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
-
- * config.guess, config.sub: Update from the gcc tree.
- Fix for PR libgcj/168.
-
-2000-03-03 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Fixed ia64 by hand.
-
- * configure: Rebuilt.
- * configure.in (--enable-multilib): New option.
- (libffi_basedir): New subst.
- (AC_OUTPUT): Added multilib code.
-
-2000-03-02 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
- directory name.
-
-2000-02-25 Hans Boehm <boehm@acm.org>
-
- * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
- files.
- * src/raw_api.c (ffi_translate_args): Fixed typo in argument
- list.
- (ffi_prep_raw_closure): Use ffi_translate_args, not
- ffi_closure_translate.
- * src/java_raw_api.c: New file.
- * src/ffitest.c (closure_test_fn): New function.
- (main): Define `rint' as long long on IA64. Added new test when
- FFI_CLOSURES is defined.
- * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
- (ffi_abi): Recognize IA64.
- (ffi_raw): Added `flt' field.
- Added "Java raw API" code.
- * configure.in: Recognize ia64.
- * Makefile.am (TARGET_SRC_IA64): New macro.
- (libffi_la_common_SOURCES): Added java_raw_api.c.
- (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01 Tom Tromey <tromey@cygnus.com>
-
- * include/ffi.h.in: Removed PACKAGE and VERSION defines and
- undefs.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
- * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
- Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
- * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09 Anthony Green <green@cygnus.com>
-
- * include/ffi.h.in: Try to work around messy header problem
- with PACKAGE and VERSION.
-
- * configure: Rebuilt.
- * configure.in: Change version to 2.00-beta.
-
- * fficonfig.h.in: Rebuilt.
- * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
- * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
-
- * src/x86/ffi.c (ffi_closure_SYSV): New function.
- (ffi_prep_incoming_args_SYSV): Ditto.
- (ffi_prep_closure): Ditto.
- (ffi_closure_raw_SYSV): Ditto.
- (ffi_prep_raw_closure): More ditto.
- (ffi_call_raw): Final ditto.
-
- * include/ffi.h.in: Add definitions for closure and raw API.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
- FFI_TYPE_UINT64.
-
- * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
- * src/raw_api.c: New file.
-
- * include/ffi.h.in (ffi_raw): New type.
- (UINT_ARG, SINT_ARG): New defines.
- (ffi_closure, ffi_raw_closure): New types.
- (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
- * configure.in: Add check for endianness and sizeof void*.
-
- * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
- instead of directly.
-
- * configure: Rebuilt.
-
-Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
-
- * configure.in: Add x86 and powerpc BeOS configurations.
- From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09 Anthony Green <green@cygnus.com>
-
- * configure.in: Add warning about this being beta code.
- Remove src/Makefile.am from the picture.
- * configure: Rebuilt.
-
- * Makefile.am: Move logic from src/Makefile.am. Add changes
- to support libffi as a target library.
- * Makefile.in: Rebuilt.
-
- * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
- Upgraded to new autoconf, automake, libtool.
-
- * README: Tweaks.
-
- * LICENSE: Update copyright date.
-
- * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29 Anthony Green <green@cygnus.com>
-
- * include/ChangeLog: Removed.
- * src/ChangeLog: Removed.
- * src/mips/ChangeLog: Removed.
- * src/sparc/ChangeLog: Remboved.
- * src/x86/ChangeLog: Removed.
-
- * ChangeLog.v1: Created.
diff --git a/.pc/interix/configure b/.pc/interix/configure
deleted file mode 100755
index 6bc08a9..0000000
--- a/.pc/interix/configure
+++ /dev/null
@@ -1,16030 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for libffi 3.0.11-rc2.
-#
-# Report bugs to <http://github.com/atgreen/libffi/issues>.
-#
-#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-# Foundation, Inc.
-#
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in #(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test "x$CONFIG_SHELL" = x; then
- as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '\${1+\"\$@\"}'='\"\$@\"'
- setopt NO_GLOB_SUBST
-else
- case \`(set -o) 2>/dev/null\` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-"
- as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-
-else
- exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1"
- as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
- as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
- eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
- test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-
- test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
- ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
- ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
- ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
- PATH=/empty FPATH=/empty; export PATH FPATH
- test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
- || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
- if (eval "$as_required") 2>/dev/null; then :
- as_have_required=yes
-else
- as_have_required=no
-fi
- if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- as_found=:
- case $as_dir in #(
- /*)
- for as_base in sh bash ksh sh5; do
- # Try only shells that exist, to save several forks.
- as_shell=$as_dir/$as_base
- if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
- CONFIG_SHELL=$as_shell as_have_required=yes
- if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
- break 2
-fi
-fi
- done;;
- esac
- as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
- CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
- if test "x$CONFIG_SHELL" != x; then :
- # We cannot yet assume a decent shell, so we have to provide a
- # neutralization value for shells without unset; and this also
- # works around shells that cannot unset nonexistent variables.
- # Preserve -v and -x to the replacement shell.
- BASH_ENV=/dev/null
- ENV=/dev/null
- (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
- export CONFIG_SHELL
- case $- in # ((((
- *v*x* | *x*v* ) as_opts=-vx ;;
- *v* ) as_opts=-v ;;
- *x* ) as_opts=-x ;;
- * ) as_opts= ;;
- esac
- exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
-fi
-
- if test x$as_have_required = xno; then :
- $as_echo "$0: This script requires a shell more modern than all"
- $as_echo "$0: the shells that I found on your system."
- if test x${ZSH_VERSION+set} = xset ; then
- $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
- $as_echo "$0: be upgraded to zsh 4.3.4 or later."
- else
- $as_echo "$0: Please tell bug-autoconf@gnu.org and
-$0: http://github.com/atgreen/libffi/issues about your
-$0: system, including any error possibly output before this
-$0: message. Then install a modern shell, or manually run
-$0: the script under such a shell if you do have one."
- fi
- exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} # as_fn_exit
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- fi
- $as_echo "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} # as_fn_error
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
- as_lineno_1=$LINENO as_lineno_1a=$LINENO
- as_lineno_2=$LINENO as_lineno_2a=$LINENO
- eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
- test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
- # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
- sed -n '
- p
- /[$]LINENO/=
- ' <$as_myself |
- sed '
- s/[$]LINENO.*/&-/
- t lineno
- b
- :lineno
- N
- :loop
- s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
- t loop
- s/-\n.*//
- ' >$as_me.lineno &&
- chmod +x "$as_me.lineno" ||
- { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensitive to this).
- . "./$as_me.lineno"
- # Exit status is that of the last command.
- exit
-}
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -p'
- fi
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in #(
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-
-test -n "$DJDIR" || exec 7<&0 </dev/null
-exec 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-
-# Identity of this package.
-PACKAGE_NAME='libffi'
-PACKAGE_TARNAME='libffi'
-PACKAGE_VERSION='3.0.11-rc2'
-PACKAGE_STRING='libffi 3.0.11-rc2'
-PACKAGE_BUGREPORT='http://github.com/atgreen/libffi/issues'
-PACKAGE_URL=''
-
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-# include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-# include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='am__EXEEXT_FALSE
-am__EXEEXT_TRUE
-LTLIBOBJS
-LIBOBJS
-toolexeclibdir
-toolexecdir
-FFI_DEBUG_FALSE
-FFI_DEBUG_TRUE
-TARGETDIR
-TARGET
-sys_symbol_underscore
-HAVE_LONG_DOUBLE
-ALLOCA
-PA64_HPUX_FALSE
-PA64_HPUX_TRUE
-PA_HPUX_FALSE
-PA_HPUX_TRUE
-PA_LINUX_FALSE
-PA_LINUX_TRUE
-SH64_FALSE
-SH64_TRUE
-SH_FALSE
-SH_TRUE
-X86_64_FALSE
-X86_64_TRUE
-S390_FALSE
-S390_TRUE
-FRV_FALSE
-FRV_TRUE
-LIBFFI_CRIS_FALSE
-LIBFFI_CRIS_TRUE
-AVR32_FALSE
-AVR32_TRUE
-ARM_FALSE
-ARM_TRUE
-POWERPC_FREEBSD_FALSE
-POWERPC_FREEBSD_TRUE
-POWERPC_DARWIN_FALSE
-POWERPC_DARWIN_TRUE
-POWERPC_AIX_FALSE
-POWERPC_AIX_TRUE
-POWERPC_FALSE
-POWERPC_TRUE
-MOXIE_FALSE
-MOXIE_TRUE
-M68K_FALSE
-M68K_TRUE
-M32R_FALSE
-M32R_TRUE
-IA64_FALSE
-IA64_TRUE
-ALPHA_FALSE
-ALPHA_TRUE
-X86_DARWIN_FALSE
-X86_DARWIN_TRUE
-X86_WIN64_FALSE
-X86_WIN64_TRUE
-X86_WIN32_FALSE
-X86_WIN32_TRUE
-X86_FREEBSD_FALSE
-X86_FREEBSD_TRUE
-X86_FALSE
-X86_TRUE
-SPARC_FALSE
-SPARC_TRUE
-MIPS_FALSE
-MIPS_TRUE
-AM_LTLDFLAGS
-AM_RUNTESTFLAGS
-TESTSUBDIR_FALSE
-TESTSUBDIR_TRUE
-MAINT
-MAINTAINER_MODE_FALSE
-MAINTAINER_MODE_TRUE
-CPP
-OTOOL64
-OTOOL
-LIPO
-NMEDIT
-DSYMUTIL
-MANIFEST_TOOL
-RANLIB
-ac_ct_AR
-AR
-DLLTOOL
-OBJDUMP
-LN_S
-NM
-ac_ct_DUMPBIN
-DUMPBIN
-LD
-FGREP
-EGREP
-GREP
-SED
-LIBTOOL
-am__fastdepCCAS_FALSE
-am__fastdepCCAS_TRUE
-CCASDEPMODE
-CCASFLAGS
-CCAS
-am__fastdepCC_FALSE
-am__fastdepCC_TRUE
-CCDEPMODE
-AMDEPBACKSLASH
-AMDEP_FALSE
-AMDEP_TRUE
-am__quote
-am__include
-DEPDIR
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-am__untar
-am__tar
-AMTAR
-am__leading_dot
-SET_MAKE
-AWK
-mkdir_p
-MKDIR_P
-INSTALL_STRIP_PROGRAM
-STRIP
-install_sh
-MAKEINFO
-AUTOHEADER
-AUTOMAKE
-AUTOCONF
-ACLOCAL
-VERSION
-PACKAGE
-CYGPATH_W
-am__isrc
-INSTALL_DATA
-INSTALL_SCRIPT
-INSTALL_PROGRAM
-target_os
-target_vendor
-target_cpu
-target
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-enable_dependency_tracking
-enable_shared
-enable_static
-with_pic
-enable_fast_install
-with_gnu_ld
-with_sysroot
-enable_libtool_lock
-enable_maintainer_mode
-enable_debug
-enable_structs
-enable_raw_api
-enable_purify_safety
-'
- ac_precious_vars='build_alias
-host_alias
-target_alias
-CCAS
-CCASFLAGS
-CPP
-CPPFLAGS'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval $ac_prev=\$ac_option
- ac_prev=
- continue
- fi
-
- case $ac_option in
- *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
- *=) ac_optarg= ;;
- *) ac_optarg=yes ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case $ac_dashdash$ac_option in
- --)
- ac_dashdash=yes ;;
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir=$ac_optarg ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build_alias ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build_alias=$ac_optarg ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file=$ac_optarg ;;
-
- --config-cache | -C)
- cache_file=config.cache ;;
-
- -datadir | --datadir | --datadi | --datad)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=*)
- datadir=$ac_optarg ;;
-
- -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
- | --dataroo | --dataro | --datar)
- ac_prev=datarootdir ;;
- -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
- | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
- datarootdir=$ac_optarg ;;
-
- -disable-* | --disable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=no ;;
-
- -docdir | --docdir | --docdi | --doc | --do)
- ac_prev=docdir ;;
- -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
- docdir=$ac_optarg ;;
-
- -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
- ac_prev=dvidir ;;
- -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
- dvidir=$ac_optarg ;;
-
- -enable-* | --enable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=\$ac_optarg ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix=$ac_optarg ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he | -h)
- ac_init_help=long ;;
- -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
- ac_init_help=recursive ;;
- -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
- ac_init_help=short ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host_alias ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host_alias=$ac_optarg ;;
-
- -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
- ac_prev=htmldir ;;
- -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
- | --ht=*)
- htmldir=$ac_optarg ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir=$ac_optarg ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir=$ac_optarg ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir=$ac_optarg ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir=$ac_optarg ;;
-
- -localedir | --localedir | --localedi | --localed | --locale)
- ac_prev=localedir ;;
- -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
- localedir=$ac_optarg ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst | --locals)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
- localstatedir=$ac_optarg ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir=$ac_optarg ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c | -n)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir=$ac_optarg ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix=$ac_optarg ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix=$ac_optarg ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix=$ac_optarg ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name=$ac_optarg ;;
-
- -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
- ac_prev=pdfdir ;;
- -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
- pdfdir=$ac_optarg ;;
-
- -psdir | --psdir | --psdi | --psd | --ps)
- ac_prev=psdir ;;
- -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
- psdir=$ac_optarg ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir=$ac_optarg ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir=$ac_optarg ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site=$ac_optarg ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir=$ac_optarg ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir=$ac_optarg ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target_alias ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target_alias=$ac_optarg ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers | -V)
- ac_init_version=: ;;
-
- -with-* | --with-*)
- ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=\$ac_optarg ;;
-
- -without-* | --without-*)
- ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=no ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes=$ac_optarg ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries=$ac_optarg ;;
-
- -*) as_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
- ;;
-
- *=*)
- ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
- # Reject names that are not valid shell variable names.
- case $ac_envvar in #(
- '' | [0-9]* | *[!_$as_cr_alnum]* )
- as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
- esac
- eval $ac_envvar=\$ac_optarg
- export $ac_envvar ;;
-
- *)
- # FIXME: should be removed in autoconf 3.0.
- $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
- expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- as_fn_error $? "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
- case $enable_option_checking in
- no) ;;
- fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
- *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
- esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
- datadir sysconfdir sharedstatedir localstatedir includedir \
- oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir
-do
- eval ac_val=\$$ac_var
- # Remove trailing slashes.
- case $ac_val in
- */ )
- ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
- eval $ac_var=\$ac_val;;
- esac
- # Be sure to have absolute directory names.
- case $ac_val in
- [\\/$]* | ?:[\\/]* ) continue;;
- NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
- esac
- as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
- if test "x$build_alias" = x; then
- cross_compiling=maybe
- $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
- If a cross compiler is detected then cross compile mode will be used" >&2
- elif test "x$build_alias" != "x$host_alias"; then
- cross_compiling=yes
- fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
- as_fn_error $? "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
- as_fn_error $? "pwd does not report name of working directory"
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then the parent directory.
- ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_myself" : 'X\(//\)[^/]' \| \
- X"$as_myself" : 'X\(//\)$' \| \
- X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- srcdir=$ac_confdir
- if test ! -r "$srcdir/$ac_unique_file"; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
- test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
- as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
- cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
- pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
- srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
- eval ac_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_env_${ac_var}_value=\$${ac_var}
- eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat <<_ACEOF
-\`configure' configures libffi 3.0.11-rc2 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE. See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
- -h, --help display this help and exit
- --help=short display options specific to this package
- --help=recursive display the short help of all the included packages
- -V, --version display version information and exit
- -q, --quiet, --silent do not print \`checking ...' messages
- --cache-file=FILE cache test results in FILE [disabled]
- -C, --config-cache alias for \`--cache-file=config.cache'
- -n, --no-create do not create output files
- --srcdir=DIR find the sources in DIR [configure dir or \`..']
-
-Installation directories:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
- --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
- --infodir=DIR info documentation [DATAROOTDIR/info]
- --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
- --mandir=DIR man documentation [DATAROOTDIR/man]
- --docdir=DIR documentation root [DATAROOTDIR/doc/libffi]
- --htmldir=DIR html documentation [DOCDIR]
- --dvidir=DIR dvi documentation [DOCDIR]
- --pdfdir=DIR pdf documentation [DOCDIR]
- --psdir=DIR ps documentation [DOCDIR]
-_ACEOF
-
- cat <<\_ACEOF
-
-Program names:
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM run sed PROGRAM on installed program names
-
-System types:
- --build=BUILD configure for building on BUILD [guessed]
- --host=HOST cross-compile to build programs to run on HOST [BUILD]
- --target=TARGET configure for building compilers for TARGET [HOST]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
- case $ac_init_help in
- short | recursive ) echo "Configuration of libffi 3.0.11-rc2:";;
- esac
- cat <<\_ACEOF
-
-Optional Features:
- --disable-option-checking ignore unrecognized --enable/--with options
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --disable-dependency-tracking speeds up one-time build
- --enable-dependency-tracking do not reject slow dependency extractors
- --enable-shared[=PKGS] build shared libraries [default=yes]
- --enable-static[=PKGS] build static libraries [default=yes]
- --enable-fast-install[=PKGS]
- optimize for fast installation [default=yes]
- --disable-libtool-lock avoid locking (might break parallel builds)
- --enable-maintainer-mode enable make rules and dependencies not useful
- (and sometimes confusing) to the casual installer
- --enable-debug debugging mode
- --disable-structs omit code for struct support
- --disable-raw-api make the raw api unavailable
- --enable-purify-safety purify-safe mode
-
-Optional Packages:
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --with-pic try to use only PIC/non-PIC objects [default=use
- both]
- --with-gnu-ld assume the C compiler uses GNU ld [default=no]
- --with-sysroot=DIR Search for dependent libraries within DIR
- (or the compiler's sysroot if not specified).
-
-Some influential environment variables:
- CC C compiler command
- CFLAGS C compiler flags
- LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
- nonstandard directory <lib dir>
- LIBS libraries to pass to the linker, e.g. -l<library>
- CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
- you have headers in a nonstandard directory <include dir>
- CCAS assembler compiler command (defaults to CC)
- CCASFLAGS assembler compiler flags (defaults to CFLAGS)
- CPP C preprocessor
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to <http://github.com/atgreen/libffi/issues>.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
- # If there are subdirs, report their specific --help.
- for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d "$ac_dir" ||
- { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
- continue
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
- cd "$ac_dir" || { ac_status=$?; continue; }
- # Check for guested configure.
- if test -f "$ac_srcdir/configure.gnu"; then
- echo &&
- $SHELL "$ac_srcdir/configure.gnu" --help=recursive
- elif test -f "$ac_srcdir/configure"; then
- echo &&
- $SHELL "$ac_srcdir/configure" --help=recursive
- else
- $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi || ac_status=$?
- cd "$ac_pwd" || { ac_status=$?; break; }
- done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
- cat <<\_ACEOF
-libffi configure 3.0.11-rc2
-generated by GNU Autoconf 2.68
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
- exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-# ac_fn_c_try_compile LINENO
-# --------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext
- if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_compile
-
-# ac_fn_c_try_link LINENO
-# -----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext conftest$ac_exeext
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext && {
- test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
- }; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
- # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
- # interfere with the next link command; also delete a directory that is
- # left behind by Apple's compiler. We do this before executing the actions.
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_link
-
-# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists and can be compiled using the include files in
-# INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- eval "$3=yes"
-else
- eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_compile
-
-# ac_fn_c_try_cpp LINENO
-# ----------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } > conftest.i && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_cpp
-
-# ac_fn_c_try_run LINENO
-# ----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
-ac_fn_c_try_run ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
- ac_retval=0
-else
- $as_echo "$as_me: program exited with status $ac_status" >&5
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=$ac_status
-fi
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_run
-
-# ac_fn_c_check_func LINENO FUNC VAR
-# ----------------------------------
-# Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_c_check_func ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $2 innocuous_$2
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $2 (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $2
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $2 ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_$2 || defined __stub___$2
-choke me
-#endif
-
-int
-main ()
-{
-return $2 ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- eval "$3=yes"
-else
- eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_func
-
-# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists, giving a warning if it cannot be compiled using
-# the include files in INCLUDES and setting the cache variable VAR
-# accordingly.
-ac_fn_c_check_header_mongrel ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if eval \${$3+:} false; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
- # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_header_compiler=yes
-else
- ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <$2>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- ac_header_preproc=yes
-else
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
- yes:no: )
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
- ;;
- no:yes:* )
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( $as_echo "## ------------------------------------------------------ ##
-## Report this to http://github.com/atgreen/libffi/issues ##
-## ------------------------------------------------------ ##"
- ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_mongrel
-
-# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
-# -------------------------------------------
-# Tests whether TYPE exists after having included INCLUDES, setting cache
-# variable VAR accordingly.
-ac_fn_c_check_type ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- eval "$3=no"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-if (sizeof ($2))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-if (sizeof (($2)))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
- eval "$3=yes"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_type
-
-# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
-# --------------------------------------------
-# Tries to find the compile-time value of EXPR in a program that includes
-# INCLUDES, setting VAR accordingly. Returns whether the value could be
-# computed
-ac_fn_c_compute_int ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if test "$cross_compiling" = yes; then
- # Depending upon the size, compute the lo and hi bounds.
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_lo=0 ac_mid=0
- while :; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_hi=$ac_mid; break
-else
- as_fn_arith $ac_mid + 1 && ac_lo=$as_val
- if test $ac_lo -le $ac_mid; then
- ac_lo= ac_hi=
- break
- fi
- as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) < 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_hi=-1 ac_mid=-1
- while :; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_lo=$ac_mid; break
-else
- as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
- if test $ac_mid -le $ac_hi; then
- ac_lo= ac_hi=
- break
- fi
- as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- ac_lo= ac_hi=
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
- as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_hi=$ac_mid
-else
- as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in #((
-?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
-'') ac_retval=1 ;;
-esac
- else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-static long int longval () { return $2; }
-static unsigned long int ulongval () { return $2; }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
- FILE *f = fopen ("conftest.val", "w");
- if (! f)
- return 1;
- if (($2) < 0)
- {
- long int i = longval ();
- if (i != ($2))
- return 1;
- fprintf (f, "%ld", i);
- }
- else
- {
- unsigned long int i = ulongval ();
- if (i != ($2))
- return 1;
- fprintf (f, "%lu", i);
- }
- /* Do not output a trailing newline, as this causes \r\n confusion
- on some platforms. */
- return ferror (f) || fclose (f) != 0;
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- echo >>conftest.val; read $3 <conftest.val; ac_retval=0
-else
- ac_retval=1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-rm -f conftest.val
-
- fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_compute_int
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by libffi $as_me 3.0.11-rc2, which was
-generated by GNU Autoconf 2.68. Invocation command line was
-
- $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
-
-/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
-/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
-/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- $as_echo "PATH: $as_dir"
- done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
- for ac_arg
- do
- case $ac_arg in
- -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- continue ;;
- *\'*)
- ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- case $ac_pass in
- 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
- 2)
- as_fn_append ac_configure_args1 " '$ac_arg'"
- if test $ac_must_keep_next = true; then
- ac_must_keep_next=false # Got value, back to normal.
- else
- case $ac_arg in
- *=* | --config-cache | -C | -disable-* | --disable-* \
- | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
- | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
- | -with-* | --with-* | -without-* | --without-* | --x)
- case "$ac_configure_args0 " in
- "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
- esac
- ;;
- -* ) ac_must_keep_next=true ;;
- esac
- fi
- as_fn_append ac_configure_args " '$ac_arg'"
- ;;
- esac
- done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log. We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
- # Save into config.log some information that might help in debugging.
- {
- echo
-
- $as_echo "## ---------------- ##
-## Cache variables. ##
-## ---------------- ##"
- echo
- # The following way of writing the cache mishandles newlines in values,
-(
- for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
- (set) 2>&1 |
- case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- sed -n \
- "s/'\''/'\''\\\\'\'''\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
- ;; #(
- *)
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-)
- echo
-
- $as_echo "## ----------------- ##
-## Output variables. ##
-## ----------------- ##"
- echo
- for ac_var in $ac_subst_vars
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
-
- if test -n "$ac_subst_files"; then
- $as_echo "## ------------------- ##
-## File substitutions. ##
-## ------------------- ##"
- echo
- for ac_var in $ac_subst_files
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
- fi
-
- if test -s confdefs.h; then
- $as_echo "## ----------- ##
-## confdefs.h. ##
-## ----------- ##"
- echo
- cat confdefs.h
- echo
- fi
- test "$ac_signal" != 0 &&
- $as_echo "$as_me: caught signal $ac_signal"
- $as_echo "$as_me: exit $exit_status"
- } >&5
- rm -f core *.core core.conftest.* &&
- rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
- exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
- trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-$as_echo "/* confdefs.h */" > confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
- # We do not want a PATH search for config.site.
- case $CONFIG_SITE in #((
- -*) ac_site_file1=./$CONFIG_SITE;;
- */*) ac_site_file1=$CONFIG_SITE;;
- *) ac_site_file1=./$CONFIG_SITE;;
- esac
-elif test "x$prefix" != xNONE; then
- ac_site_file1=$prefix/share/config.site
- ac_site_file2=$prefix/etc/config.site
-else
- ac_site_file1=$ac_default_prefix/share/config.site
- ac_site_file2=$ac_default_prefix/etc/config.site
-fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
- test "x$ac_site_file" = xNONE && continue
- if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
- sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file" \
- || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5; }
- fi
-done
-
-if test -r "$cache_file"; then
- # Some versions of bash will fail to source /dev/null (special files
- # actually), so we avoid doing that. DJGPP emulates it as a regular file.
- if test /dev/null != "$cache_file" && test -f "$cache_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
- case $cache_file in
- [\\/]* | ?:[\\/]* ) . "$cache_file";;
- *) . "./$cache_file";;
- esac
- fi
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
- >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
- eval ac_old_set=\$ac_cv_env_${ac_var}_set
- eval ac_new_set=\$ac_env_${ac_var}_set
- eval ac_old_val=\$ac_cv_env_${ac_var}_value
- eval ac_new_val=\$ac_env_${ac_var}_value
- case $ac_old_set,$ac_new_set in
- set,)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,set)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,);;
- *)
- if test "x$ac_old_val" != "x$ac_new_val"; then
- # differences in whitespace do not lead to failure.
- ac_old_val_w=`echo x $ac_old_val`
- ac_new_val_w=`echo x $ac_new_val`
- if test "$ac_old_val_w" != "$ac_new_val_w"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- ac_cache_corrupted=:
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
- eval $ac_var=\$ac_old_val
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
-$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
-$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
- fi;;
- esac
- # Pass precious variables to config.status.
- if test "$ac_new_set" = set; then
- case $ac_new_val in
- *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
- *) ac_arg=$ac_var=$ac_new_val ;;
- esac
- case " $ac_configure_args " in
- *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
- *) as_fn_append ac_configure_args " '$ac_arg'" ;;
- esac
- fi
-done
-if $ac_cache_corrupted; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-ac_config_headers="$ac_config_headers fficonfig.h"
-
-
-ac_aux_dir=
-for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
- if test -f "$ac_dir/install-sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f "$ac_dir/install.sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- elif test -f "$ac_dir/shtool"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/shtool install -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
-
-
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
- as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if ${ac_cv_build+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
- ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
- as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if ${ac_cv_host+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "x$host_alias" = x; then
- ac_cv_host=$ac_cv_build
-else
- ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
-$as_echo_n "checking target system type... " >&6; }
-if ${ac_cv_target+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "x$target_alias" = x; then
- ac_cv_target=$ac_cv_host
-else
- ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
-$as_echo "$ac_cv_target" >&6; }
-case $ac_cv_target in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
-esac
-target=$ac_cv_target
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_target
-shift
-target_cpu=$1
-target_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-target_os=$*
-IFS=$ac_save_IFS
-case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
-
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-test -n "$target_alias" &&
- test "$program_prefix$program_suffix$program_transform_name" = \
- NONENONEs,x,x, &&
- program_prefix=${target_alias}-
-
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-am__api_version='1.11'
-
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-# Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
-if test -z "$INSTALL"; then
-if ${ac_cv_path_install+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in #((
- ./ | .// | /[cC]/* | \
- /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
- ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
- /usr/ucb/* ) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
- if test $ac_prog = install &&
- grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- elif test $ac_prog = install &&
- grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # program-specific install script used by HP pwplus--don't use.
- :
- else
- rm -rf conftest.one conftest.two conftest.dir
- echo one > conftest.one
- echo two > conftest.two
- mkdir conftest.dir
- if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
- test -s conftest.one && test -s conftest.two &&
- test -s conftest.dir/conftest.one &&
- test -s conftest.dir/conftest.two
- then
- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
- break 3
- fi
- fi
- fi
- done
- done
- ;;
-esac
-
- done
-IFS=$as_save_IFS
-
-rm -rf conftest.one conftest.two conftest.dir
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL=$ac_cv_path_install
- else
- # As a last resort, use the slow shell script. Don't cache a
- # value for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- INSTALL=$ac_install_sh
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
-$as_echo_n "checking whether build environment is sane... " >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name. Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
- *[\\\"\#\$\&\'\`$am_lf]*)
- as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
-esac
-case $srcdir in
- *[\\\"\#\$\&\'\`$am_lf\ \ ]*)
- as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
-esac
-
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
- if test "$*" = "X"; then
- # -L didn't work.
- set X `ls -t "$srcdir/configure" conftest.file`
- fi
- rm -f conftest.file
- if test "$*" != "X $srcdir/configure conftest.file" \
- && test "$*" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
-alias in your environment" "$LINENO" 5
- fi
-
- test "$2" = conftest.file
- )
-then
- # Ok.
- :
-else
- as_fn_error $? "newly created file is older than distributed files!
-Check your system clock" "$LINENO" 5
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-test "$program_prefix" != NONE &&
- program_transform_name="s&^&$program_prefix&;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
- program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $.
-# By default was `s,x,x', remove it if useless.
-ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
-if test x"${MISSING+set}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
- *)
- MISSING="\${SHELL} $am_aux_dir/missing" ;;
- esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
-else
- am_missing_run=
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
-fi
-
-if test x"${install_sh}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
- *)
- install_sh="\${SHELL} $am_aux_dir/install-sh"
- esac
-fi
-
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_STRIP="strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_STRIP" = x; then
- STRIP=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- STRIP=$ac_ct_STRIP
- fi
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
-$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
-if test -z "$MKDIR_P"; then
- if ${ac_cv_path_mkdir+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in mkdir gmkdir; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
- case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
- 'mkdir (GNU coreutils) '* | \
- 'mkdir (coreutils) '* | \
- 'mkdir (fileutils) '4.1*)
- ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
- break 3;;
- esac
- done
- done
- done
-IFS=$as_save_IFS
-
-fi
-
- test -d ./--version && rmdir ./--version
- if test "${ac_cv_path_mkdir+set}" = set; then
- MKDIR_P="$ac_cv_path_mkdir -p"
- else
- # As a last resort, use the slow shell script. Don't cache a
- # value for MKDIR_P within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- MKDIR_P="$ac_install_sh -d"
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
-$as_echo "$MKDIR_P" >&6; }
-
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
- [\\/$]* | ?:[\\/]*) ;;
- */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-
-for ac_prog in gawk mawk nawk awk
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AWK+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$AWK"; then
- ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_AWK="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$AWK" && break
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
- @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
- *@@@%%%=?*=@@@%%%*)
- eval ac_cv_prog_make_${ac_make}_set=yes;;
- *)
- eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- SET_MAKE=
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
- am__leading_dot=.
-else
- am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
- # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
- # is not polluted with repeated "-I."
- am__isrc=' -I$(srcdir)'
- # test to see if srcdir already configured
- if test -f $srcdir/config.status; then
- as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
- fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
- if (cygpath --version) >/dev/null 2>/dev/null; then
- CYGPATH_W='cygpath -w'
- else
- CYGPATH_W=echo
- fi
-fi
-
-
-# Define the identity of the package.
- PACKAGE='libffi'
- VERSION='3.0.11-rc2'
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE "$PACKAGE"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define VERSION "$VERSION"
-_ACEOF
-
-# Some tools Automake needs.
-
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-
-
-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-
-
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-
-
-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-
-
-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
-# Always define AMTAR for backward compatibility.
-
-AMTAR=${AMTAR-"${am_missing_run}tar"}
-
-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
-
-
-
-
-
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-# Also save and restore CFLAGS, since AC_PROG_CC will come up with
-# defaults of its own if none are provided.
-
-
-
-save_CFLAGS=$CFLAGS
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="${ac_tool_prefix}gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_CC="gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-else
- CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="${ac_tool_prefix}cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- fi
-fi
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# != 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
- fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- for ac_prog in cl.exe
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$CC" && break
- done
-fi
-if test -z "$CC"; then
- ac_ct_CC=$CC
- for ac_prog in cl.exe
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_CC="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_CC" && break
-done
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
- { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compiler $ac_option >&5") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- sed '10a\
-... rest of stderr output deleted ...
- 10q' conftest.err >conftest.er1
- cat conftest.er1 >&5
- fi
- rm -f conftest.er1 conftest.err
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- * ) ac_rmfiles="$ac_rmfiles $ac_file";;
- esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link_default") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile. We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
- ;;
- [ab].out )
- # We found the default executable, but exeext='' is most
- # certainly right.
- break;;
- *.* )
- if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
- then :; else
- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- fi
- # We set ac_cv_exeext here because the later test for it is not
- # safe: cross compilers may not add the suffix if given an `-o'
- # argument, so we may need to know it at that point already.
- # Even if this section looks crufty: it has the advantage of
- # actually working.
- break;;
- * )
- break;;
- esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
- ac_file=''
-fi
-if test -z "$ac_file"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-ac_exeext=$ac_cv_exeext
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- break;;
- * ) break;;
- esac
-done
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdio.h>
-int
-main ()
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
- { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if { ac_try='./conftest$ac_cv_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- cross_compiling=no
- else
- if test "$cross_compiling" = maybe; then
- cross_compiling=yes
- else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5; }
- fi
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- for ac_file in conftest.o conftest.obj conftest.*; do
- test -f "$ac_file" || continue;
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
- *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
- break;;
- esac
-done
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-#ifndef __GNUC__
- choke me
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_compiler_gnu=yes
-else
- ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
- GCC=yes
-else
- GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_save_c_werror_flag=$ac_c_werror_flag
- ac_c_werror_flag=yes
- ac_cv_prog_cc_g=no
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-else
- CFLAGS=""
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
- ac_c_werror_flag=$ac_save_c_werror_flag
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
- CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
- if test "$GCC" = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-g"
- fi
-else
- if test "$GCC" = yes; then
- CFLAGS="-O2"
- else
- CFLAGS=
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
- char **p;
- int i;
-{
- return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
- char *s;
- va_list v;
- va_start (v,p);
- s = g (p, va_arg (v,int));
- va_end (v);
- return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
- function prototypes and stuff, but not '\xHH' hex character constants.
- These don't provoke an error unfortunately, instead are silently treated
- as 'x'. The following induces an error, until -std is added to get
- proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
- array size at least. It's necessary to write '\x00'==0 to get something
- that's true only with -std. */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
- inside strings and character constants. */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
- ;
- return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
- -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
- CC="$ac_save_CC $ac_arg"
- if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
- test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
- x)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
- xno)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
- *)
- CC="$CC $ac_cv_prog_cc_c89"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
-
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
- @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
-$as_echo_n "checking for style of include used by $am_make... " >&6; }
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
- am__include=include
- am__quote=
- _am_result=GNU
- ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- case `$am_make -s -f confmf 2> /dev/null` in #(
- *the\ am__doit\ target*)
- am__include=.include
- am__quote="\""
- _am_result=BSD
- ;;
- esac
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
-rm -f confinc confmf
-
-# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then :
- enableval=$enable_dependency_tracking;
-fi
-
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
-fi
- if test "x$enable_dependency_tracking" != xno; then
- AMDEP_TRUE=
- AMDEP_FALSE='#'
-else
- AMDEP_TRUE='#'
- AMDEP_FALSE=
-fi
-
-
-
-depcc="$CC" am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CC_dependencies_compiler_type+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_CC_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
- fi
- am__universal=false
- case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac
-
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs
- am__obj=sub/conftest.${OBJEXT-o}
- am__minus_obj="-o $am__obj"
- case $depmode in
- gcc)
- # This depmode causes a compiler race in universal mode.
- test "$am__universal" = false || continue
- ;;
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- msvisualcpp | msvcmsys)
- # This compiler won't grok `-c -o', but also, the minuso test has
- # not run yet. These depmodes are late enough in the game, and
- # so weak that their functioning should not be impacted.
- am__obj=conftest.${OBJEXT-o}
- am__minus_obj=
- ;;
- none) break ;;
- esac
- if depmode=$depmode \
- source=sub/conftest.c object=$am__obj \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_CC_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
- am__fastdepCC_TRUE=
- am__fastdepCC_FALSE='#'
-else
- am__fastdepCC_TRUE='#'
- am__fastdepCC_FALSE=
-fi
-
-
-CFLAGS=$save_CFLAGS
-
-
-
-
-
-# By default we simply use the C compiler to build assembly code.
-
-test "${CCAS+set}" = set || CCAS=$CC
-test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
-
-
-
-depcc="$CCAS" am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CCAS_dependencies_compiler_type+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_CCAS_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
- fi
- am__universal=false
-
-
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs
- am__obj=sub/conftest.${OBJEXT-o}
- am__minus_obj="-o $am__obj"
- case $depmode in
- gcc)
- # This depmode causes a compiler race in universal mode.
- test "$am__universal" = false || continue
- ;;
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- msvisualcpp | msvcmsys)
- # This compiler won't grok `-c -o', but also, the minuso test has
- # not run yet. These depmodes are late enough in the game, and
- # so weak that their functioning should not be impacted.
- am__obj=conftest.${OBJEXT-o}
- am__minus_obj=
- ;;
- none) break ;;
- esac
- if depmode=$depmode \
- source=sub/conftest.c object=$am__obj \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_CCAS_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_CCAS_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CCAS_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CCAS_dependencies_compiler_type" >&6; }
-CCASDEPMODE=depmode=$am_cv_CCAS_dependencies_compiler_type
-
- if
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CCAS_dependencies_compiler_type" = gcc3; then
- am__fastdepCCAS_TRUE=
- am__fastdepCCAS_FALSE='#'
-else
- am__fastdepCCAS_TRUE='#'
- am__fastdepCCAS_FALSE=
-fi
-
-
-if test "x$CC" != xcc; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
-$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5
-$as_echo_n "checking whether cc understands -c and -o together... " >&6; }
-fi
-set dummy $CC; ac_cc=`$as_echo "$2" |
- sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-# Make sure it works both with $CC and with simple cc.
-# We do the test twice because some compilers refuse to overwrite an
-# existing .o file with -o, though they will create one.
-ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-rm -f conftest2.*
-if { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } &&
- test -f conftest2.$ac_objext && { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; };
-then
- eval ac_cv_prog_cc_${ac_cc}_c_o=yes
- if test "x$CC" != xcc; then
- # Test first that cc exists at all.
- if { ac_try='cc -c conftest.$ac_ext >&5'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
- rm -f conftest2.*
- if { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } &&
- test -f conftest2.$ac_objext && { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; };
- then
- # cc works too.
- :
- else
- # cc exists but doesn't like -o.
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
- fi
- fi
- fi
-else
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
-fi
-rm -f core conftest*
-
-fi
-if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h
-
-fi
-
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
- # Losing compiler, so override with the script.
- # FIXME: It is wrong to rewrite CC.
- # But if we don't then we get into trouble of one sort or another.
- # A longer-term fix would be to have automake use am__CC in this case,
- # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
- CC="$am_aux_dir/compile $CC"
-fi
-
-
-case `pwd` in
- *\ * | *\ *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
-$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
-esac
-
-
-
-macro_version='2.4'
-macro_revision='1.3293'
-
-
-
-
-
-
-
-
-
-
-
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-# Backslashify metacharacters that are still active within
-# double-quoted strings.
-sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
-$as_echo_n "checking how to print strings... " >&6; }
-# Test print first, because it will be a builtin if present.
-if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
- test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
- ECHO='print -r --'
-elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
- ECHO='printf %s\n'
-else
- # Use this function as a fallback that always works.
- func_fallback_echo ()
- {
- eval 'cat <<_LTECHO_EOF
-$1
-_LTECHO_EOF'
- }
- ECHO='func_fallback_echo'
-fi
-
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
- $ECHO ""
-}
-
-case "$ECHO" in
- printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
-$as_echo "printf" >&6; } ;;
- print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
-$as_echo "print -r" >&6; } ;;
- *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
-$as_echo "cat" >&6; } ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
-$as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if ${ac_cv_path_SED+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
- for ac_i in 1 2 3 4 5 6 7; do
- ac_script="$ac_script$as_nl$ac_script"
- done
- echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
- { ac_script=; unset ac_script;}
- if test -z "$SED"; then
- ac_path_SED_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in sed gsed; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
-# Check for GNU ac_path_SED and select it if it is found.
- # Check for GNU $ac_path_SED
-case `"$ac_path_SED" --version 2>&1` in
-*GNU*)
- ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo '' >> "conftest.nl"
- "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_SED_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_SED="$ac_path_SED"
- ac_path_SED_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_SED_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_SED"; then
- as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
- fi
-else
- ac_cv_path_SED=$SED
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
-$as_echo "$ac_cv_path_SED" >&6; }
- SED="$ac_cv_path_SED"
- rm -f conftest.sed
-
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$GREP"; then
- ac_path_GREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in grep ggrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
-# Check for GNU ac_path_GREP and select it if it is found.
- # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'GREP' >> "conftest.nl"
- "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_GREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_GREP="$ac_path_GREP"
- ac_path_GREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_GREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_GREP"; then
- as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
- then ac_cv_path_EGREP="$GREP -E"
- else
- if test -z "$EGREP"; then
- ac_path_EGREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in egrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
- # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'EGREP' >> "conftest.nl"
- "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_EGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_EGREP="$ac_path_EGREP"
- ac_path_EGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_EGREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_EGREP"; then
- as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_EGREP=$EGREP
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
-$as_echo_n "checking for fgrep... " >&6; }
-if ${ac_cv_path_FGREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
- then ac_cv_path_FGREP="$GREP -F"
- else
- if test -z "$FGREP"; then
- ac_path_FGREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in fgrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
-# Check for GNU ac_path_FGREP and select it if it is found.
- # Check for GNU $ac_path_FGREP
-case `"$ac_path_FGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'FGREP' >> "conftest.nl"
- "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_FGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_FGREP="$ac_path_FGREP"
- ac_path_FGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_FGREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_FGREP"; then
- as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_FGREP=$FGREP
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
-$as_echo "$ac_cv_path_FGREP" >&6; }
- FGREP="$ac_cv_path_FGREP"
-
-
-test -z "$GREP" && GREP=grep
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then :
- withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
- with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test "$GCC" = yes; then
- # Check if gcc -print-prog-name=ld gives a path.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
-$as_echo_n "checking for ld used by $CC... " >&6; }
- case $host in
- *-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case $ac_prog in
- # Accept absolute paths.
- [\\/]* | ?:[\\/]*)
- re_direlt='/[^/][^/]*/\.\./'
- # Canonicalize the pathname of ld
- ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
- while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
- done
- test -z "$LD" && LD="$ac_prog"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if ${lt_cv_path_LD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$LD"; then
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- lt_cv_path_LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some variants of GNU ld only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
- *GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break
- ;;
- *)
- test "$with_gnu_ld" != yes && break
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
-else
- lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
-$as_echo "$LD" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if ${lt_cv_prog_gnu_ld+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
- lt_cv_prog_gnu_ld=yes
- ;;
-*)
- lt_cv_prog_gnu_ld=no
- ;;
-esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
-$as_echo "$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
-$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if ${lt_cv_path_NM+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$NM"; then
- # Let the user override the test.
- lt_cv_path_NM="$NM"
-else
- lt_nm_to_check="${ac_tool_prefix}nm"
- if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
- lt_nm_to_check="$lt_nm_to_check nm"
- fi
- for lt_tmp_nm in $lt_nm_to_check; do
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- tmp_nm="$ac_dir/$lt_tmp_nm"
- if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
- # Check to see if the nm accepts a BSD-compat flag.
- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
- # nm: unknown option "B" ignored
- # Tru64's nm complains that /dev/null is an invalid object file
- case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
- */dev/null* | *'Invalid file or object type'*)
- lt_cv_path_NM="$tmp_nm -B"
- break
- ;;
- *)
- case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
- */dev/null*)
- lt_cv_path_NM="$tmp_nm -p"
- break
- ;;
- *)
- lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
- continue # so that we can try to find one that supports BSD flags
- ;;
- esac
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
- done
- : ${lt_cv_path_NM=no}
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
-$as_echo "$lt_cv_path_NM" >&6; }
-if test "$lt_cv_path_NM" != "no"; then
- NM="$lt_cv_path_NM"
-else
- # Didn't find any BSD compatible name lister, look for dumpbin.
- if test -n "$DUMPBIN"; then :
- # Let the user override the test.
- else
- if test -n "$ac_tool_prefix"; then
- for ac_prog in dumpbin "link -dump"
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DUMPBIN+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$DUMPBIN"; then
- ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-DUMPBIN=$ac_cv_prog_DUMPBIN
-if test -n "$DUMPBIN"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
-$as_echo "$DUMPBIN" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$DUMPBIN" && break
- done
-fi
-if test -z "$DUMPBIN"; then
- ac_ct_DUMPBIN=$DUMPBIN
- for ac_prog in dumpbin "link -dump"
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_DUMPBIN"; then
- ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
-if test -n "$ac_ct_DUMPBIN"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
-$as_echo "$ac_ct_DUMPBIN" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_DUMPBIN" && break
-done
-
- if test "x$ac_ct_DUMPBIN" = x; then
- DUMPBIN=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- DUMPBIN=$ac_ct_DUMPBIN
- fi
-fi
-
- case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
- *COFF*)
- DUMPBIN="$DUMPBIN -symbols"
- ;;
- *)
- DUMPBIN=:
- ;;
- esac
- fi
-
- if test "$DUMPBIN" != ":"; then
- NM="$DUMPBIN"
- fi
-fi
-test -z "$NM" && NM=nm
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
-$as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if ${lt_cv_nm_interface+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_nm_interface="BSD nm"
- echo "int some_variable = 0;" > conftest.$ac_ext
- (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
- (eval "$ac_compile" 2>conftest.err)
- cat conftest.err >&5
- (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
- (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
- cat conftest.err >&5
- (eval echo "\"\$as_me:$LINENO: output\"" >&5)
- cat conftest.out >&5
- if $GREP 'External.*some_variable' conftest.out > /dev/null; then
- lt_cv_nm_interface="MS dumpbin"
- fi
- rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
-$as_echo "$lt_cv_nm_interface" >&6; }
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
-$as_echo_n "checking whether ln -s works... " >&6; }
-LN_S=$as_ln_s
-if test "$LN_S" = "ln -s"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
-$as_echo "no, using $LN_S" >&6; }
-fi
-
-# find the maximum length of command line arguments
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
-$as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if ${lt_cv_sys_max_cmd_len+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- i=0
- teststring="ABCD"
-
- case $build_os in
- msdosdjgpp*)
- # On DJGPP, this test can blow up pretty badly due to problems in libc
- # (any single argument exceeding 2000 bytes causes a buffer overrun
- # during glob expansion). Even if it were fixed, the result of this
- # check would be larger than it should be.
- lt_cv_sys_max_cmd_len=12288; # 12K is about right
- ;;
-
- gnu*)
- # Under GNU Hurd, this test is not required because there is
- # no limit to the length of command line arguments.
- # Libtool will interpret -1 as no limit whatsoever
- lt_cv_sys_max_cmd_len=-1;
- ;;
-
- cygwin* | mingw* | cegcc*)
- # On Win9x/ME, this test blows up -- it succeeds, but takes
- # about 5 minutes as the teststring grows exponentially.
- # Worse, since 9x/ME are not pre-emptively multitasking,
- # you end up with a "frozen" computer, even though with patience
- # the test eventually succeeds (with a max line length of 256k).
- # Instead, let's just punt: use the minimum linelength reported by
- # all of the supported platforms: 8192 (on NT/2K/XP).
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- mint*)
- # On MiNT this can take a long time and run out of memory.
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- amigaos*)
- # On AmigaOS with pdksh, this test takes hours, literally.
- # So we just punt and use a minimum line length of 8192.
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
- # This has been around since 386BSD, at least. Likely further.
- if test -x /sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
- elif test -x /usr/sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
- else
- lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
- fi
- # And add a safety zone
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- ;;
-
- interix*)
- # We know the value 262144 and hardcode it with a safety zone (like BSD)
- lt_cv_sys_max_cmd_len=196608
- ;;
-
- osf*)
- # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
- # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
- # nice to cause kernel panics so lets avoid the loop below.
- # First set a reasonable default.
- lt_cv_sys_max_cmd_len=16384
- #
- if test -x /sbin/sysconfig; then
- case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
- *1*) lt_cv_sys_max_cmd_len=-1 ;;
- esac
- fi
- ;;
- sco3.2v5*)
- lt_cv_sys_max_cmd_len=102400
- ;;
- sysv5* | sco5v6* | sysv4.2uw2*)
- kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
- if test -n "$kargmax"; then
- lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
- else
- lt_cv_sys_max_cmd_len=32768
- fi
- ;;
- *)
- lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
- if test -n "$lt_cv_sys_max_cmd_len"; then
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- else
- # Make teststring a little bigger before we do anything with it.
- # a 1K string should be a reasonable start.
- for i in 1 2 3 4 5 6 7 8 ; do
- teststring=$teststring$teststring
- done
- SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
- # If test is not a shell built-in, we'll probably end up computing a
- # maximum length that is only half of the actual maximum length, but
- # we can't tell.
- while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
- = "X$teststring$teststring"; } >/dev/null 2>&1 &&
- test $i != 17 # 1/2 MB should be enough
- do
- i=`expr $i + 1`
- teststring=$teststring$teststring
- done
- # Only check the string length outside the loop.
- lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
- teststring=
- # Add a significant safety factor because C++ compilers can tack on
- # massive amounts of additional arguments before passing them to the
- # linker. It appears as though 1/2 is a usable value.
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
- fi
- ;;
- esac
-
-fi
-
-if test -n $lt_cv_sys_max_cmd_len ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
-$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
-$as_echo "none" >&6; }
-fi
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-
-
-
-
-
-: ${CP="cp -f"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
-$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
- test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
- = c,a/b,b/c, \
- && eval 'test $(( 1 + 1 )) -eq 2 \
- && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
- && xsi_shell=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
-$as_echo "$xsi_shell" >&6; }
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
-$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
- >/dev/null 2>&1 \
- && lt_shell_append=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
-$as_echo "$lt_shell_append" >&6; }
-
-
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- lt_unset=unset
-else
- lt_unset=false
-fi
-
-
-
-
-
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
- # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
- lt_SP2NL='tr \040 \012'
- lt_NL2SP='tr \015\012 \040\040'
- ;;
- *) # EBCDIC based system
- lt_SP2NL='tr \100 \n'
- lt_NL2SP='tr \r\n \100\100'
- ;;
-esac
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
-$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
-if ${lt_cv_to_host_file_cmd+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $host in
- *-*-mingw* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
- ;;
- *-*-cygwin* )
- lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
- ;;
- * ) # otherwise, assume *nix
- lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
- ;;
- esac
- ;;
- *-*-cygwin* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
- ;;
- *-*-cygwin* )
- lt_cv_to_host_file_cmd=func_convert_file_noop
- ;;
- * ) # otherwise, assume *nix
- lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
- ;;
- esac
- ;;
- * ) # unhandled hosts (and "normal" native builds)
- lt_cv_to_host_file_cmd=func_convert_file_noop
- ;;
-esac
-
-fi
-
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
-$as_echo "$lt_cv_to_host_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
-$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
-if ${lt_cv_to_tool_file_cmd+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- #assume ordinary cross tools, or native build.
-lt_cv_to_tool_file_cmd=func_convert_file_noop
-case $host in
- *-*-mingw* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
- ;;
- esac
- ;;
-esac
-
-fi
-
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
-$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
-$as_echo_n "checking for $LD option to reload object files... " >&6; }
-if ${lt_cv_ld_reload_flag+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ld_reload_flag='-r'
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
-$as_echo "$lt_cv_ld_reload_flag" >&6; }
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
- cygwin* | mingw* | pw32* | cegcc*)
- if test "$GCC" != yes; then
- reload_cmds=false
- fi
- ;;
- darwin*)
- if test "$GCC" = yes; then
- reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
- else
- reload_cmds='$LD$reload_flag -o $output$reload_objs'
- fi
- ;;
-esac
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
-set dummy ${ac_tool_prefix}objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OBJDUMP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$OBJDUMP"; then
- ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-OBJDUMP=$ac_cv_prog_OBJDUMP
-if test -n "$OBJDUMP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
-$as_echo "$OBJDUMP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OBJDUMP"; then
- ac_ct_OBJDUMP=$OBJDUMP
- # Extract the first word of "objdump", so it can be a program name with args.
-set dummy objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_OBJDUMP"; then
- ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_OBJDUMP="objdump"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
-if test -n "$ac_ct_OBJDUMP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
-$as_echo "$ac_ct_OBJDUMP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_OBJDUMP" = x; then
- OBJDUMP="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- OBJDUMP=$ac_ct_OBJDUMP
- fi
-else
- OBJDUMP="$ac_cv_prog_OBJDUMP"
-fi
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
-$as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if ${lt_cv_deplibs_check_method+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[4-9]*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-beos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-bsdi[45]*)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
- lt_cv_file_magic_cmd='/usr/bin/file -L'
- lt_cv_file_magic_test_file=/shlib/libc.so
- ;;
-
-cygwin*)
- # func_win32_libid is a shell function defined in ltmain.sh
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- ;;
-
-mingw* | pw32*)
- # Base MSYS/MinGW do not provide the 'file' command needed by
- # func_win32_libid shell function, so use a weaker test based on 'objdump',
- # unless we find 'file', for example because we are cross-compiling.
- # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
- if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- else
- # Keep this pattern in sync with the one in func_win32_libid.
- lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- fi
- ;;
-
-cegcc*)
- # use the weaker test based on 'objdump'. See mingw*.
- lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- ;;
-
-darwin* | rhapsody*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-freebsd* | dragonfly*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
- case $host_cpu in
- i*86 )
- # Not sure whether the presence of OpenBSD here was a mistake.
- # Let's accept both of them until this is cleared up.
- lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
- ;;
- esac
- else
- lt_cv_deplibs_check_method=pass_all
- fi
- ;;
-
-gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-haiku*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-hpux10.20* | hpux11*)
- lt_cv_file_magic_cmd=/usr/bin/file
- case $host_cpu in
- ia64*)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
- lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
- ;;
- hppa*64*)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
- lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
- ;;
- *)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
- lt_cv_file_magic_test_file=/usr/lib/libc.sl
- ;;
- esac
- ;;
-
-interix[3-9]*)
- # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $LD in
- *-32|*"-32 ") libmagic=32-bit;;
- *-n32|*"-n32 ") libmagic=N32;;
- *-64|*"-64 ") libmagic=64-bit;;
- *) libmagic=never-match;;
- esac
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
- fi
- ;;
-
-newos6*)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=/usr/lib/libnls.so
- ;;
-
-*nto* | *qnx*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-openbsd*)
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
- fi
- ;;
-
-osf3* | osf4* | osf5*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-rdos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-solaris*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sysv4 | sysv4.3*)
- case $host_vendor in
- motorola)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
- ;;
- ncr)
- lt_cv_deplibs_check_method=pass_all
- ;;
- sequent)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
- ;;
- sni)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
- lt_cv_file_magic_test_file=/lib/libc.so
- ;;
- siemens)
- lt_cv_deplibs_check_method=pass_all
- ;;
- pc)
- lt_cv_deplibs_check_method=pass_all
- ;;
- esac
- ;;
-
-tpf*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
-$as_echo "$lt_cv_deplibs_check_method" >&6; }
-
-file_magic_glob=
-want_nocaseglob=no
-if test "$build" = "$host"; then
- case $host_os in
- mingw* | pw32*)
- if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
- want_nocaseglob=yes
- else
- file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
- fi
- ;;
- esac
-fi
-
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DLLTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$DLLTOOL"; then
- ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-DLLTOOL=$ac_cv_prog_DLLTOOL
-if test -n "$DLLTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
-$as_echo "$DLLTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DLLTOOL"; then
- ac_ct_DLLTOOL=$DLLTOOL
- # Extract the first word of "dlltool", so it can be a program name with args.
-set dummy dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_DLLTOOL"; then
- ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_DLLTOOL="dlltool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
-if test -n "$ac_ct_DLLTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
-$as_echo "$ac_ct_DLLTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_DLLTOOL" = x; then
- DLLTOOL="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- DLLTOOL=$ac_ct_DLLTOOL
- fi
-else
- DLLTOOL="$ac_cv_prog_DLLTOOL"
-fi
-
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
-$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
-if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_sharedlib_from_linklib_cmd='unknown'
-
-case $host_os in
-cygwin* | mingw* | pw32* | cegcc*)
- # two different shell functions defined in ltmain.sh
- # decide which to use based on capabilities of $DLLTOOL
- case `$DLLTOOL --help 2>&1` in
- *--identify-strict*)
- lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
- ;;
- *)
- lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
- ;;
- esac
- ;;
-*)
- # fallback: assume linklib IS sharedlib
- lt_cv_sharedlib_from_linklib_cmd="$ECHO"
- ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
-$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
-sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
-test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- for ac_prog in ar
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$AR"; then
- ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$AR" && break
- done
-fi
-if test -z "$AR"; then
- ac_ct_AR=$AR
- for ac_prog in ar
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_AR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_AR"; then
- ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_AR="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-$as_echo "$ac_ct_AR" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_AR" && break
-done
-
- if test "x$ac_ct_AR" = x; then
- AR="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- AR=$ac_ct_AR
- fi
-fi
-
-: ${AR=ar}
-: ${AR_FLAGS=cru}
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
-$as_echo_n "checking for archiver @FILE support... " >&6; }
-if ${lt_cv_ar_at_file+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ar_at_file=no
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- echo conftest.$ac_objext > conftest.lst
- lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
- (eval $lt_ar_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if test "$ac_status" -eq 0; then
- # Ensure the archiver fails upon bogus file names.
- rm -f conftest.$ac_objext libconftest.a
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
- (eval $lt_ar_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if test "$ac_status" -ne 0; then
- lt_cv_ar_at_file=@
- fi
- fi
- rm -f conftest.* libconftest.a
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
-$as_echo "$lt_cv_ar_at_file" >&6; }
-
-if test "x$lt_cv_ar_at_file" = xno; then
- archiver_list_spec=
-else
- archiver_list_spec=$lt_cv_ar_at_file
-fi
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_STRIP="strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_STRIP" = x; then
- STRIP=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- STRIP=$ac_ct_STRIP
- fi
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
-
-test -z "$STRIP" && STRIP=:
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
- ac_ct_RANLIB=$RANLIB
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_RANLIB"; then
- ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_RANLIB="ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_RANLIB" = x; then
- RANLIB=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- RANLIB=$ac_ct_RANLIB
- fi
-else
- RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-test -z "$RANLIB" && RANLIB=:
-
-
-
-
-
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
- case $host_os in
- openbsd*)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
- ;;
- *)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
- ;;
- esac
- old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-
-case $host_os in
- darwin*)
- lock_old_archive_extraction=yes ;;
- *)
- lock_old_archive_extraction=no ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
-$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if ${lt_cv_sys_global_symbol_pipe+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix. What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Define system-specific variables.
-case $host_os in
-aix*)
- symcode='[BCDT]'
- ;;
-cygwin* | mingw* | pw32* | cegcc*)
- symcode='[ABCDGISTW]'
- ;;
-hpux*)
- if test "$host_cpu" = ia64; then
- symcode='[ABCDEGRST]'
- fi
- ;;
-irix* | nonstopux*)
- symcode='[BCDEGRST]'
- ;;
-osf*)
- symcode='[BCDEGQRST]'
- ;;
-solaris*)
- symcode='[BDRT]'
- ;;
-sco3.2v5*)
- symcode='[DT]'
- ;;
-sysv4.2uw2*)
- symcode='[DT]'
- ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
- symcode='[ABDT]'
- ;;
-sysv4)
- symcode='[DFNSTU]'
- ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
- symcode='[ABCDGIRSTW]' ;;
-esac
-
-# Transform an extracted symbol line into a proper C declaration.
-# Some systems (esp. on ia64) link data and code symbols differently,
-# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
- opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
- ;;
-esac
-
-# Try without a prefix underscore, then with it.
-for ac_symprfx in "" "_"; do
-
- # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
- symxfrm="\\1 $ac_symprfx\\2 \\2"
-
- # Write the raw and C identifiers.
- if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- # Fake it for dumpbin and say T for any non-static function
- # and D for any global variable.
- # Also find C++ and __fastcall symbols from MSVC++,
- # which start with @ or ?.
- lt_cv_sys_global_symbol_pipe="$AWK '"\
-" {last_section=section; section=\$ 3};"\
-" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-" \$ 0!~/External *\|/{next};"\
-" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-" {if(hide[section]) next};"\
-" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-" s[1]~/^[@?]/{print s[1], s[1]; next};"\
-" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
-" ' prfx=^$ac_symprfx"
- else
- lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
- fi
- lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
-
- # Check to see that the pipe works correctly.
- pipe_works=no
-
- rm -f conftest*
- cat > conftest.$ac_ext <<_LT_EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(void);
-void nm_test_func(void){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-_LT_EOF
-
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- # Now try to grab the symbols.
- nlist=conftest.nm
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
- (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s "$nlist"; then
- # Try sorting and uniquifying the output.
- if sort "$nlist" | uniq > "$nlist"T; then
- mv -f "$nlist"T "$nlist"
- else
- rm -f "$nlist"T
- fi
-
- # Make sure that we snagged all the symbols we need.
- if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
- if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
- cat <<_LT_EOF > conftest.$ac_ext
-/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-/* DATA imports from DLLs on WIN32 con't be const, because runtime
- relocations are performed -- see ld's documentation on pseudo-relocs. */
-# define LT_DLSYM_CONST
-#elif defined(__osf__)
-/* This system does not cope well with relocations in const data. */
-# define LT_DLSYM_CONST
-#else
-# define LT_DLSYM_CONST const
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_LT_EOF
- # Now generate the symbol file.
- eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
-
- cat <<_LT_EOF >> conftest.$ac_ext
-
-/* The mapping between symbol names and symbols. */
-LT_DLSYM_CONST struct {
- const char *name;
- void *address;
-}
-lt__PROGRAM__LTX_preloaded_symbols[] =
-{
- { "@PROGRAM@", (void *) 0 },
-_LT_EOF
- $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
- cat <<\_LT_EOF >> conftest.$ac_ext
- {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
- return lt__PROGRAM__LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-_LT_EOF
- # Now try linking the two files.
- mv conftest.$ac_objext conftstm.$ac_objext
- lt_globsym_save_LIBS=$LIBS
- lt_globsym_save_CFLAGS=$CFLAGS
- LIBS="conftstm.$ac_objext"
- CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext}; then
- pipe_works=yes
- fi
- LIBS=$lt_globsym_save_LIBS
- CFLAGS=$lt_globsym_save_CFLAGS
- else
- echo "cannot find nm_test_func in $nlist" >&5
- fi
- else
- echo "cannot find nm_test_var in $nlist" >&5
- fi
- else
- echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
- fi
- else
- echo "$progname: failed program was:" >&5
- cat conftest.$ac_ext >&5
- fi
- rm -rf conftest* conftst*
-
- # Do not use the global_symbol_pipe unless it works.
- if test "$pipe_works" = yes; then
- break
- else
- lt_cv_sys_global_symbol_pipe=
- fi
-done
-
-fi
-
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
- lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
-$as_echo "ok" >&6; }
-fi
-
-# Response file support.
-if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- nm_file_list_spec='@'
-elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
- nm_file_list_spec='@'
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
-$as_echo_n "checking for sysroot... " >&6; }
-
-# Check whether --with-sysroot was given.
-if test "${with_sysroot+set}" = set; then :
- withval=$with_sysroot;
-else
- with_sysroot=no
-fi
-
-
-lt_sysroot=
-case ${with_sysroot} in #(
- yes)
- if test "$GCC" = yes; then
- lt_sysroot=`$CC --print-sysroot 2>/dev/null`
- fi
- ;; #(
- /*)
- lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
- ;; #(
- no|'')
- ;; #(
- *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
-$as_echo "${with_sysroot}" >&6; }
- as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
- ;;
-esac
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
-$as_echo "${lt_sysroot:-no}" >&6; }
-
-
-
-
-
-# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then :
- enableval=$enable_libtool_lock;
-fi
-
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- case `/usr/bin/file conftest.$ac_objext` in
- *ELF-32*)
- HPUX_IA64_MODE="32"
- ;;
- *ELF-64*)
- HPUX_IA64_MODE="64"
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-*-*-irix6*)
- # Find out which ABI we are using.
- echo '#line '$LINENO' "configure"' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- if test "$lt_cv_prog_gnu_ld" = yes; then
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -melf32bsmip"
- ;;
- *N32*)
- LD="${LD-ld} -melf32bmipn32"
- ;;
- *64-bit*)
- LD="${LD-ld} -melf64bmip"
- ;;
- esac
- else
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -32"
- ;;
- *N32*)
- LD="${LD-ld} -n32"
- ;;
- *64-bit*)
- LD="${LD-ld} -64"
- ;;
- esac
- fi
- fi
- rm -rf conftest*
- ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- case `/usr/bin/file conftest.o` in
- *32-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_i386_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_i386"
- ;;
- ppc64-*linux*|powerpc64-*linux*)
- LD="${LD-ld} -m elf32ppclinux"
- ;;
- s390x-*linux*)
- LD="${LD-ld} -m elf_s390"
- ;;
- sparc64-*linux*)
- LD="${LD-ld} -m elf32_sparc"
- ;;
- esac
- ;;
- *64-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_x86_64_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_x86_64"
- ;;
- ppc*-*linux*|powerpc*-*linux*)
- LD="${LD-ld} -m elf64ppc"
- ;;
- s390*-*linux*|s390*-*tpf*)
- LD="${LD-ld} -m elf64_s390"
- ;;
- sparc*-*linux*)
- LD="${LD-ld} -m elf64_sparc"
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-
-*-*-sco3.2v5*)
- # On SCO OpenServer 5, we need -belf to get full-featured binaries.
- SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -belf"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
-$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if ${lt_cv_cc_needs_belf+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- lt_cv_cc_needs_belf=yes
-else
- lt_cv_cc_needs_belf=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
-$as_echo "$lt_cv_cc_needs_belf" >&6; }
- if test x"$lt_cv_cc_needs_belf" != x"yes"; then
- # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
- CFLAGS="$SAVE_CFLAGS"
- fi
- ;;
-sparc*-*solaris*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- case `/usr/bin/file conftest.o` in
- *64-bit*)
- case $lt_cv_prog_gnu_ld in
- yes*) LD="${LD-ld} -m elf64_sparc" ;;
- *)
- if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
- LD="${LD-ld} -64"
- fi
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-esac
-
-need_locks="$enable_libtool_lock"
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
-set dummy ${ac_tool_prefix}mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$MANIFEST_TOOL"; then
- ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
-if test -n "$MANIFEST_TOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
-$as_echo "$MANIFEST_TOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
- ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
- # Extract the first word of "mt", so it can be a program name with args.
-set dummy mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_MANIFEST_TOOL"; then
- ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
-if test -n "$ac_ct_MANIFEST_TOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
-$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_MANIFEST_TOOL" = x; then
- MANIFEST_TOOL=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
- fi
-else
- MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
-fi
-
-test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
-$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
-if ${lt_cv_path_mainfest_tool+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_path_mainfest_tool=no
- echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
- $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
- cat conftest.err >&5
- if $GREP 'Manifest Tool' conftest.out > /dev/null; then
- lt_cv_path_mainfest_tool=yes
- fi
- rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
-$as_echo "$lt_cv_path_mainfest_tool" >&6; }
-if test "x$lt_cv_path_mainfest_tool" != xyes; then
- MANIFEST_TOOL=:
-fi
-
-
-
-
-
-
- case $host_os in
- rhapsody* | darwin*)
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DSYMUTIL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$DSYMUTIL"; then
- ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-DSYMUTIL=$ac_cv_prog_DSYMUTIL
-if test -n "$DSYMUTIL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
-$as_echo "$DSYMUTIL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DSYMUTIL"; then
- ac_ct_DSYMUTIL=$DSYMUTIL
- # Extract the first word of "dsymutil", so it can be a program name with args.
-set dummy dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_DSYMUTIL"; then
- ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
-if test -n "$ac_ct_DSYMUTIL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
-$as_echo "$ac_ct_DSYMUTIL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_DSYMUTIL" = x; then
- DSYMUTIL=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- DSYMUTIL=$ac_ct_DSYMUTIL
- fi
-else
- DSYMUTIL="$ac_cv_prog_DSYMUTIL"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
-set dummy ${ac_tool_prefix}nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_NMEDIT+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$NMEDIT"; then
- ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-NMEDIT=$ac_cv_prog_NMEDIT
-if test -n "$NMEDIT"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
-$as_echo "$NMEDIT" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_NMEDIT"; then
- ac_ct_NMEDIT=$NMEDIT
- # Extract the first word of "nmedit", so it can be a program name with args.
-set dummy nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_NMEDIT"; then
- ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_NMEDIT="nmedit"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
-if test -n "$ac_ct_NMEDIT"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
-$as_echo "$ac_ct_NMEDIT" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_NMEDIT" = x; then
- NMEDIT=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- NMEDIT=$ac_ct_NMEDIT
- fi
-else
- NMEDIT="$ac_cv_prog_NMEDIT"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
-set dummy ${ac_tool_prefix}lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_LIPO+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$LIPO"; then
- ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-LIPO=$ac_cv_prog_LIPO
-if test -n "$LIPO"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
-$as_echo "$LIPO" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_LIPO"; then
- ac_ct_LIPO=$LIPO
- # Extract the first word of "lipo", so it can be a program name with args.
-set dummy lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_LIPO"; then
- ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_LIPO="lipo"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
-if test -n "$ac_ct_LIPO"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
-$as_echo "$ac_ct_LIPO" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_LIPO" = x; then
- LIPO=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- LIPO=$ac_ct_LIPO
- fi
-else
- LIPO="$ac_cv_prog_LIPO"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$OTOOL"; then
- ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL=$ac_cv_prog_OTOOL
-if test -n "$OTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
-$as_echo "$OTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL"; then
- ac_ct_OTOOL=$OTOOL
- # Extract the first word of "otool", so it can be a program name with args.
-set dummy otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_OTOOL"; then
- ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_OTOOL="otool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
-if test -n "$ac_ct_OTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
-$as_echo "$ac_ct_OTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_OTOOL" = x; then
- OTOOL=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- OTOOL=$ac_ct_OTOOL
- fi
-else
- OTOOL="$ac_cv_prog_OTOOL"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL64+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$OTOOL64"; then
- ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL64=$ac_cv_prog_OTOOL64
-if test -n "$OTOOL64"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
-$as_echo "$OTOOL64" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL64"; then
- ac_ct_OTOOL64=$OTOOL64
- # Extract the first word of "otool64", so it can be a program name with args.
-set dummy otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_OTOOL64"; then
- ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_OTOOL64="otool64"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
-if test -n "$ac_ct_OTOOL64"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
-$as_echo "$ac_ct_OTOOL64" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_OTOOL64" = x; then
- OTOOL64=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- OTOOL64=$ac_ct_OTOOL64
- fi
-else
- OTOOL64="$ac_cv_prog_OTOOL64"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
-$as_echo_n "checking for -single_module linker flag... " >&6; }
-if ${lt_cv_apple_cc_single_mod+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_apple_cc_single_mod=no
- if test -z "${LT_MULTI_MODULE}"; then
- # By default we will add the -single_module flag. You can override
- # by either setting the environment variable LT_MULTI_MODULE
- # non-empty at configure time, or by adding -multi_module to the
- # link flags.
- rm -rf libconftest.dylib*
- echo "int foo(void){return 1;}" > conftest.c
- echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
--dynamiclib -Wl,-single_module conftest.c" >&5
- $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
- -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
- _lt_result=$?
- if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
- lt_cv_apple_cc_single_mod=yes
- else
- cat conftest.err >&5
- fi
- rm -rf libconftest.dylib*
- rm -f conftest.*
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
-$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
-$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if ${lt_cv_ld_exported_symbols_list+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ld_exported_symbols_list=no
- save_LDFLAGS=$LDFLAGS
- echo "_main" > conftest.sym
- LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- lt_cv_ld_exported_symbols_list=yes
-else
- lt_cv_ld_exported_symbols_list=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
-$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
-$as_echo_n "checking for -force_load linker flag... " >&6; }
-if ${lt_cv_ld_force_load+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ld_force_load=no
- cat > conftest.c << _LT_EOF
-int forced_loaded() { return 2;}
-_LT_EOF
- echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
- $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
- echo "$AR cru libconftest.a conftest.o" >&5
- $AR cru libconftest.a conftest.o 2>&5
- echo "$RANLIB libconftest.a" >&5
- $RANLIB libconftest.a 2>&5
- cat > conftest.c << _LT_EOF
-int main() { return 0;}
-_LT_EOF
- echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
- $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
- _lt_result=$?
- if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
- lt_cv_ld_force_load=yes
- else
- cat conftest.err >&5
- fi
- rm -f conftest.err libconftest.a conftest conftest.c
- rm -rf conftest.dSYM
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
-$as_echo "$lt_cv_ld_force_load" >&6; }
- case $host_os in
- rhapsody* | darwin1.[012])
- _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
- darwin1.*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- darwin*) # darwin 5.x on
- # if running on 10.5 or later, the deployment target defaults
- # to the OS version, if on x86, and 10.4, the deployment
- # target defaults to 10.4. Don't you love it?
- case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
- 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- 10.[012]*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- 10.*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- esac
- ;;
- esac
- if test "$lt_cv_apple_cc_single_mod" = "yes"; then
- _lt_dar_single_mod='$single_module'
- fi
- if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
- _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
- else
- _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
- fi
- if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
- _lt_dsymutil='~$DSYMUTIL $lib || :'
- else
- _lt_dsymutil=
- fi
- ;;
- esac
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
- if ${ac_cv_prog_CPP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Double quotes because CPP needs to be expanded
- for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
- do
- ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
- break
-fi
-
- done
- ac_cv_prog_CPP=$CPP
-
-fi
- CPP=$ac_cv_prog_CPP
-else
- ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_header_stdc=yes
-else
- ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then :
- :
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- return 2;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
- inttypes.h stdint.h unistd.h
-do :
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_header in dlfcn.h
-do :
- ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
-"
-if test "x$ac_cv_header_dlfcn_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_DLFCN_H 1
-_ACEOF
-
-fi
-
-done
-
-
-
-
-
-# Set options
-
-
-
- enable_dlopen=no
-
-
- enable_win32_dll=no
-
-
- # Check whether --enable-shared was given.
-if test "${enable_shared+set}" = set; then :
- enableval=$enable_shared; p=${PACKAGE-default}
- case $enableval in
- yes) enable_shared=yes ;;
- no) enable_shared=no ;;
- *)
- enable_shared=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_shared=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_shared=yes
-fi
-
-
-
-
-
-
-
-
-
- # Check whether --enable-static was given.
-if test "${enable_static+set}" = set; then :
- enableval=$enable_static; p=${PACKAGE-default}
- case $enableval in
- yes) enable_static=yes ;;
- no) enable_static=no ;;
- *)
- enable_static=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_static=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_static=yes
-fi
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-pic was given.
-if test "${with_pic+set}" = set; then :
- withval=$with_pic; pic_mode="$withval"
-else
- pic_mode=default
-fi
-
-
-test -z "$pic_mode" && pic_mode=default
-
-
-
-
-
-
-
- # Check whether --enable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then :
- enableval=$enable_fast_install; p=${PACKAGE-default}
- case $enableval in
- yes) enable_fast_install=yes ;;
- no) enable_fast_install=no ;;
- *)
- enable_fast_install=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_fast_install=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_fast_install=yes
-fi
-
-
-
-
-
-
-
-
-
-
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-test -z "$LN_S" && LN_S="ln -s"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
-$as_echo_n "checking for objdir... " >&6; }
-if ${lt_cv_objdir+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
- lt_cv_objdir=.libs
-else
- # MS-DOS does not allow filenames that begin with a dot.
- lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
-$as_echo "$lt_cv_objdir" >&6; }
-objdir=$lt_cv_objdir
-
-
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define LT_OBJDIR "$lt_cv_objdir/"
-_ACEOF
-
-
-
-
-case $host_os in
-aix3*)
- # AIX sometimes has problems with the GCC collect2 program. For some
- # reason, if we set the COLLECT_NAMES environment variable, the problems
- # vanish in a puff of smoke.
- if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
- fi
- ;;
-esac
-
-# Global variables:
-ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$LD" && LD=ld
-test -z "$ac_objext" && ac_objext=o
-
-for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
-
-
-# Only perform the check for file, if the check method requires it
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-case $deplibs_check_method in
-file_magic*)
- if test "$file_magic_cmd" = '$MAGIC_CMD'; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
-$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $MAGIC_CMD in
-[\\/*] | ?:[\\/]*)
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- ;;
-*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
- for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/${ac_tool_prefix}file; then
- lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
- if test -n "$file_magic_test_file"; then
- case $deplibs_check_method in
- "file_magic "*)
- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- $EGREP "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
- fi ;;
- esac
- fi
- break
- fi
- done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
- ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-
-
-if test -z "$lt_cv_path_MAGIC_CMD"; then
- if test -n "$ac_tool_prefix"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
-$as_echo_n "checking for file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $MAGIC_CMD in
-[\\/*] | ?:[\\/]*)
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- ;;
-*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
- for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/file; then
- lt_cv_path_MAGIC_CMD="$ac_dir/file"
- if test -n "$file_magic_test_file"; then
- case $deplibs_check_method in
- "file_magic "*)
- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- $EGREP "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
- fi ;;
- esac
- fi
- break
- fi
- done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
- ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- else
- MAGIC_CMD=:
- fi
-fi
-
- fi
- ;;
-esac
-
-# Use C for the default configuration in the libtool script
-
-lt_save_CC="$CC"
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-objext=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-# Save the default compiler, since it gets overwritten when the other
-# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
-compiler_DEFAULT=$CC
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$RM conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$RM -r conftest*
-
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-if test -n "$compiler"; then
-
-lt_prog_compiler_no_builtin_flag=
-
-if test "$GCC" = yes; then
- case $cc_basename in
- nvcc*)
- lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
- *)
- lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
- esac
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_rtti_exceptions=no
- ac_outfile=conftest.$ac_objext
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="-fno-rtti -fno-exceptions"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_rtti_exceptions=yes
- fi
- fi
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
-
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
- lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
-else
- :
-fi
-
-fi
-
-
-
-
-
-
- lt_prog_compiler_wl=
-lt_prog_compiler_pic=
-lt_prog_compiler_static=
-
-
- if test "$GCC" = yes; then
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_static='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static='-Bstatic'
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- lt_prog_compiler_pic='-fPIC'
- ;;
- m68k)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
- ;;
- esac
- ;;
-
- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
-
- mingw* | cygwin* | pw32* | os2* | cegcc*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- # Although the cygwin gcc ignores -fPIC, still need this for old-style
- # (--disable-auto-import) libraries
- lt_prog_compiler_pic='-DDLL_EXPORT'
- ;;
-
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- lt_prog_compiler_pic='-fno-common'
- ;;
-
- haiku*)
- # PIC is the default for Haiku.
- # The "-static" flag exists, but is broken.
- lt_prog_compiler_static=
- ;;
-
- hpux*)
- # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
- # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
- # sets the default TLS model and affects inlining.
- case $host_cpu in
- hppa*64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic='-fPIC'
- ;;
- esac
- ;;
-
- interix[3-9]*)
- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- # Instead, we relocate shared libraries at runtime.
- ;;
-
- msdosdjgpp*)
- # Just because we use GCC doesn't mean we suddenly get shared libraries
- # on systems that don't support them.
- lt_prog_compiler_can_build_shared=no
- enable_shared=no
- ;;
-
- *nto* | *qnx*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- lt_prog_compiler_pic='-fPIC -shared'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- lt_prog_compiler_pic=-Kconform_pic
- fi
- ;;
-
- *)
- lt_prog_compiler_pic='-fPIC'
- ;;
- esac
-
- case $cc_basename in
- nvcc*) # Cuda Compiler Driver 2.2
- lt_prog_compiler_wl='-Xlinker '
- lt_prog_compiler_pic='-Xcompiler -fPIC'
- ;;
- esac
- else
- # PORTME Check for flag to pass linker flags through the system compiler.
- case $host_os in
- aix*)
- lt_prog_compiler_wl='-Wl,'
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static='-Bstatic'
- else
- lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
-
- mingw* | cygwin* | pw32* | os2* | cegcc*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- lt_prog_compiler_pic='-DDLL_EXPORT'
- ;;
-
- hpux9* | hpux10* | hpux11*)
- lt_prog_compiler_wl='-Wl,'
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic='+Z'
- ;;
- esac
- # Is there a better lt_prog_compiler_static that works with the bundled CC?
- lt_prog_compiler_static='${wl}-a ${wl}archive'
- ;;
-
- irix5* | irix6* | nonstopux*)
- lt_prog_compiler_wl='-Wl,'
- # PIC (with -KPIC) is the default.
- lt_prog_compiler_static='-non_shared'
- ;;
-
- linux* | k*bsd*-gnu | kopensolaris*-gnu)
- case $cc_basename in
- # old Intel for x86_64 which still supported -KPIC.
- ecc*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-static'
- ;;
- # icc used to be incompatible with GCC.
- # ICC 10 doesn't accept -KPIC any more.
- icc* | ifort*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-fPIC'
- lt_prog_compiler_static='-static'
- ;;
- # Lahey Fortran 8.1.
- lf95*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='--shared'
- lt_prog_compiler_static='--static'
- ;;
- nagfor*)
- # NAG Fortran compiler
- lt_prog_compiler_wl='-Wl,-Wl,,'
- lt_prog_compiler_pic='-PIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
- pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
- # Portland Group compilers (*not* the Pentium gcc compiler,
- # which looks to be a dead project)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-fpic'
- lt_prog_compiler_static='-Bstatic'
- ;;
- ccc*)
- lt_prog_compiler_wl='-Wl,'
- # All Alpha code is PIC.
- lt_prog_compiler_static='-non_shared'
- ;;
- xl* | bgxl* | bgf* | mpixl*)
- # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-qpic'
- lt_prog_compiler_static='-qstaticlink'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ F* | *Sun*Fortran*)
- # Sun Fortran 8.3 passes all unrecognized flags to the linker
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- lt_prog_compiler_wl=''
- ;;
- *Sun\ C*)
- # Sun C 5.9
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- lt_prog_compiler_wl='-Wl,'
- ;;
- esac
- ;;
- esac
- ;;
-
- newsos6)
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- *nto* | *qnx*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- lt_prog_compiler_pic='-fPIC -shared'
- ;;
-
- osf3* | osf4* | osf5*)
- lt_prog_compiler_wl='-Wl,'
- # All OSF/1 code is PIC.
- lt_prog_compiler_static='-non_shared'
- ;;
-
- rdos*)
- lt_prog_compiler_static='-non_shared'
- ;;
-
- solaris*)
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- case $cc_basename in
- f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
- lt_prog_compiler_wl='-Qoption ld ';;
- *)
- lt_prog_compiler_wl='-Wl,';;
- esac
- ;;
-
- sunos4*)
- lt_prog_compiler_wl='-Qoption ld '
- lt_prog_compiler_pic='-PIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- sysv4 | sysv4.2uw2* | sysv4.3*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec ;then
- lt_prog_compiler_pic='-Kconform_pic'
- lt_prog_compiler_static='-Bstatic'
- fi
- ;;
-
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- unicos*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_can_build_shared=no
- ;;
-
- uts4*)
- lt_prog_compiler_pic='-pic'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- *)
- lt_prog_compiler_can_build_shared=no
- ;;
- esac
- fi
-
-case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- lt_prog_compiler_pic=
- ;;
- *)
- lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
- ;;
-esac
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
-if ${lt_cv_prog_compiler_pic+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
-$as_echo "$lt_cv_prog_compiler_pic" >&6; }
-lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if ${lt_cv_prog_compiler_pic_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_pic_works=no
- ac_outfile=conftest.$ac_objext
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_pic_works=yes
- fi
- fi
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
-$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
- case $lt_prog_compiler_pic in
- "" | " "*) ;;
- *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
- esac
-else
- lt_prog_compiler_pic=
- lt_prog_compiler_can_build_shared=no
-fi
-
-fi
-
-
-
-
-
-
-
-
-
-
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if ${lt_cv_prog_compiler_static_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_static_works=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
- echo "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_static_works=yes
- fi
- else
- lt_cv_prog_compiler_static_works=yes
- fi
- fi
- $RM -r conftest*
- LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
-$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_static_works" = xyes; then
- :
-else
- lt_prog_compiler_static=
-fi
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_c_o=no
- $RM -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o=yes
- fi
- fi
- chmod u+w . 2>&5
- $RM conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
- $RM out/* && rmdir out
- cd ..
- $RM -r conftest
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_c_o=no
- $RM -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o=yes
- fi
- fi
- chmod u+w . 2>&5
- $RM conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
- $RM out/* && rmdir out
- cd ..
- $RM -r conftest
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
- # do not overwrite the value of need_locks provided by the user
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
-$as_echo_n "checking if we can lock with hard links... " >&6; }
- hard_links=yes
- $RM conftest*
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- touch conftest.a
- ln conftest.a conftest.b 2>&5 || hard_links=no
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
-$as_echo "$hard_links" >&6; }
- if test "$hard_links" = no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
- need_locks=warn
- fi
-else
- need_locks=no
-fi
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
-
- runpath_var=
- allow_undefined_flag=
- always_export_symbols=no
- archive_cmds=
- archive_expsym_cmds=
- compiler_needs_object=no
- enable_shared_with_static_runtimes=no
- export_dynamic_flag_spec=
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- hardcode_automatic=no
- hardcode_direct=no
- hardcode_direct_absolute=no
- hardcode_libdir_flag_spec=
- hardcode_libdir_flag_spec_ld=
- hardcode_libdir_separator=
- hardcode_minus_L=no
- hardcode_shlibpath_var=unsupported
- inherit_rpath=no
- link_all_deplibs=unknown
- module_cmds=
- module_expsym_cmds=
- old_archive_from_new_cmds=
- old_archive_from_expsyms_cmds=
- thread_safe_flag_spec=
- whole_archive_flag_spec=
- # include_expsyms should be a list of space-separated symbols to be *always*
- # included in the symbol list
- include_expsyms=
- # exclude_expsyms can be an extended regexp of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
- exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
- # platforms (ab)use it in PIC code, but their linkers get confused if
- # the symbol is explicitly referenced. Since portable code cannot
- # rely on this symbol name, it's probably fine to never include it in
- # preloaded symbol tables.
- # Exclude shared library initialization/finalization symbols.
- extract_expsyms_cmds=
-
- case $host_os in
- cygwin* | mingw* | pw32* | cegcc*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- if test "$GCC" != yes; then
- with_gnu_ld=no
- fi
- ;;
- interix*)
- # we just hope/assume this is gcc and not c89 (= MSVC++)
- with_gnu_ld=yes
- ;;
- openbsd*)
- with_gnu_ld=no
- ;;
- esac
-
- ld_shlibs=yes
-
- # On some targets, GNU ld is compatible enough with the native linker
- # that we're better off using the native interface for both.
- lt_use_gnu_ld_interface=no
- if test "$with_gnu_ld" = yes; then
- case $host_os in
- aix*)
- # The AIX port of GNU ld has always aspired to compatibility
- # with the native linker. However, as the warning in the GNU ld
- # block says, versions before 2.19.5* couldn't really create working
- # shared libraries, regardless of the interface used.
- case `$LD -v 2>&1` in
- *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
- *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
- *\ \(GNU\ Binutils\)\ [3-9]*) ;;
- *)
- lt_use_gnu_ld_interface=yes
- ;;
- esac
- ;;
- *)
- lt_use_gnu_ld_interface=yes
- ;;
- esac
- fi
-
- if test "$lt_use_gnu_ld_interface" = yes; then
- # If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
-
- # Set some defaults for GNU ld with shared library support. These
- # are reset later if shared libraries are not supported. Putting them
- # here allows them to be overridden if necessary.
- runpath_var=LD_RUN_PATH
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- export_dynamic_flag_spec='${wl}--export-dynamic'
- # ancient GNU ld didn't support --whole-archive et. al.
- if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
- whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- whole_archive_flag_spec=
- fi
- supports_anon_versioning=no
- case `$LD -v 2>&1` in
- *GNU\ gold*) supports_anon_versioning=yes ;;
- *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
- *\ 2.11.*) ;; # other 2.11 versions
- *) supports_anon_versioning=yes ;;
- esac
-
- # See if GNU ld supports shared libraries.
- case $host_os in
- aix[3-9]*)
- # On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
- ld_shlibs=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.19, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support. If you
-*** really care for shared libraries, you may want to install binutils
-*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
-*** You will then need to restart the configuration process.
-
-_LT_EOF
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds=''
- ;;
- m68k)
- archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- ;;
- esac
- ;;
-
- beos*)
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- allow_undefined_flag=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
-
- cygwin* | mingw* | pw32* | cegcc*)
- # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
- # as there is no search path for DLLs.
- hardcode_libdir_flag_spec='-L$libdir'
- export_dynamic_flag_spec='${wl}--export-all-symbols'
- allow_undefined_flag=unsupported
- always_export_symbols=no
- enable_shared_with_static_runtimes=yes
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
- exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
-
- if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- ld_shlibs=no
- fi
- ;;
-
- haiku*)
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- link_all_deplibs=yes
- ;;
-
- interix[3-9]*)
- hardcode_direct=no
- hardcode_shlibpath_var=no
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- export_dynamic_flag_spec='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
-
- gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
- tmp_diet=no
- if test "$host_os" = linux-dietlibc; then
- case $cc_basename in
- diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
- esac
- fi
- if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
- && test "$tmp_diet" = no
- then
- tmp_addflag=' $pic_flag'
- tmp_sharedflag='-shared'
- case $cc_basename,$host_cpu in
- pgcc*) # Portland Group C compiler
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag'
- ;;
- pgf77* | pgf90* | pgf95* | pgfortran*)
- # Portland Group f77 and f90 compilers
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag -Mnomain' ;;
- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
- tmp_addflag=' -i_dynamic' ;;
- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
- tmp_addflag=' -i_dynamic -nofor_main' ;;
- ifc* | ifort*) # Intel Fortran compiler
- tmp_addflag=' -nofor_main' ;;
- lf95*) # Lahey Fortran 8.1
- whole_archive_flag_spec=
- tmp_sharedflag='--shared' ;;
- xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
- tmp_sharedflag='-qmkshrobj'
- tmp_addflag= ;;
- nvcc*) # Cuda Compiler Driver 2.2
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- compiler_needs_object=yes
- ;;
- esac
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*) # Sun C 5.9
- whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- compiler_needs_object=yes
- tmp_sharedflag='-G' ;;
- *Sun\ F*) # Sun Fortran 8.3
- tmp_sharedflag='-G' ;;
- esac
- archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
- if test "x$supports_anon_versioning" = xyes; then
- archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- fi
-
- case $cc_basename in
- xlf* | bgf* | bgxlf* | mpixlf*)
- # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
- whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
- hardcode_libdir_flag_spec=
- hardcode_libdir_flag_spec_ld='-rpath $libdir'
- archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
- if test "x$supports_anon_versioning" = xyes; then
- archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
- fi
- ;;
- esac
- else
- ld_shlibs=no
- fi
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
- wlarc=
- else
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- fi
- ;;
-
- solaris*)
- if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
- ld_shlibs=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
- case `$LD -v 2>&1` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
- ld_shlibs=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- ;;
- *)
- # For security reasons, it is highly recommended that you always
- # use absolute paths for naming shared libraries, and exclude the
- # DT_RUNPATH tag from executables and libraries. But doing so
- # requires that you compile everything twice, which is a pain.
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
- esac
- ;;
-
- sunos4*)
- archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- wlarc=
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- *)
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
- esac
-
- if test "$ld_shlibs" = no; then
- runpath_var=
- hardcode_libdir_flag_spec=
- export_dynamic_flag_spec=
- whole_archive_flag_spec=
- fi
- else
- # PORTME fill in a description of your system's linker (not GNU ld)
- case $host_os in
- aix3*)
- allow_undefined_flag=unsupported
- always_export_symbols=yes
- archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
- # Note: this linker hardcodes the directories in LIBPATH if there
- # are no directories specified by -L.
- hardcode_minus_L=yes
- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
- # Neither direct hardcoding nor static linking is supported with a
- # broken collect2.
- hardcode_direct=unsupported
- fi
- ;;
-
- aix[4-9]*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- # Also, AIX nm treats weak defined symbols like other global
- # defined symbols, whereas GNU nm marks them as "W".
- if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
- export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- else
- export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- fi
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
- for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- aix_use_runtimelinking=yes
- break
- fi
- done
- ;;
- esac
-
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
-
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- archive_cmds=''
- hardcode_direct=yes
- hardcode_direct_absolute=yes
- hardcode_libdir_separator=':'
- link_all_deplibs=yes
- file_list_spec='${wl}-f,'
-
- if test "$GCC" = yes; then
- case $host_os in aix4.[012]|aix4.[012].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" &&
- strings "$collect2name" | $GREP resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- :
- else
- # We have old collect2
- hardcode_direct=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- hardcode_minus_L=yes
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_libdir_separator=
- fi
- ;;
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
-
- export_dynamic_flag_spec='${wl}-bexpall'
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- always_export_symbols=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- allow_undefined_flag='-berok'
- # Determine the default libpath from the value encoded in an
- # empty executable.
- if test "${lt_cv_aix_libpath+set}" = set; then
- aix_libpath=$lt_cv_aix_libpath
-else
- if ${lt_cv_aix_libpath_+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
- lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\([^ ]*\) *$/\1/
- p
- }
- }'
- lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- # Check for a 64-bit object if we didn't find anything.
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_="/usr/lib:/lib"
- fi
-
-fi
-
- aix_libpath=$lt_cv_aix_libpath_
-fi
-
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
- allow_undefined_flag="-z nodefs"
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an
- # empty executable.
- if test "${lt_cv_aix_libpath+set}" = set; then
- aix_libpath=$lt_cv_aix_libpath
-else
- if ${lt_cv_aix_libpath_+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
- lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\([^ ]*\) *$/\1/
- p
- }
- }'
- lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- # Check for a 64-bit object if we didn't find anything.
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_="/usr/lib:/lib"
- fi
-
-fi
-
- aix_libpath=$lt_cv_aix_libpath_
-fi
-
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- no_undefined_flag=' ${wl}-bernotok'
- allow_undefined_flag=' ${wl}-berok'
- if test "$with_gnu_ld" = yes; then
- # We only use this code for GNU lds that support --whole-archive.
- whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
- else
- # Exported symbols can be pulled into shared objects from archives
- whole_archive_flag_spec='$convenience'
- fi
- archive_cmds_need_lc=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds=''
- ;;
- m68k)
- archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- ;;
- esac
- ;;
-
- bsdi[45]*)
- export_dynamic_flag_spec=-rdynamic
- ;;
-
- cygwin* | mingw* | pw32* | cegcc*)
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- case $cc_basename in
- cl*)
- # Native MSVC
- hardcode_libdir_flag_spec=' '
- allow_undefined_flag=unsupported
- always_export_symbols=yes
- file_list_spec='@'
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
- archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
- else
- sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
- fi~
- $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
- linknames='
- # The linker will not automatically build a static lib if we build a DLL.
- # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
- enable_shared_with_static_runtimes=yes
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
- # Don't use ranlib
- old_postinstall_cmds='chmod 644 $oldlib'
- postlink_cmds='lt_outputfile="@OUTPUT@"~
- lt_tool_outputfile="@TOOL_OUTPUT@"~
- case $lt_outputfile in
- *.exe|*.EXE) ;;
- *)
- lt_outputfile="$lt_outputfile.exe"
- lt_tool_outputfile="$lt_tool_outputfile.exe"
- ;;
- esac~
- if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
- $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
- $RM "$lt_outputfile.manifest";
- fi'
- ;;
- *)
- # Assume MSVC wrapper
- hardcode_libdir_flag_spec=' '
- allow_undefined_flag=unsupported
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
- # The linker will automatically build a .lib file if we build a DLL.
- old_archive_from_new_cmds='true'
- # FIXME: Should let the user specify the lib program.
- old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
- enable_shared_with_static_runtimes=yes
- ;;
- esac
- ;;
-
- darwin* | rhapsody*)
-
-
- archive_cmds_need_lc=no
- hardcode_direct=no
- hardcode_automatic=yes
- hardcode_shlibpath_var=unsupported
- if test "$lt_cv_ld_force_load" = "yes"; then
- whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
- else
- whole_archive_flag_spec=''
- fi
- link_all_deplibs=yes
- allow_undefined_flag="$_lt_dar_allow_undefined"
- case $cc_basename in
- ifort*) _lt_dar_can_shared=yes ;;
- *) _lt_dar_can_shared=$GCC ;;
- esac
- if test "$_lt_dar_can_shared" = "yes"; then
- output_verbose_link_cmd=func_echo_all
- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-
- else
- ld_shlibs=no
- fi
-
- ;;
-
- dgux*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_shlibpath_var=no
- ;;
-
- freebsd1*)
- ld_shlibs=no
- ;;
-
- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
- # support. Future versions do this automatically, but an explicit c++rt0.o
- # does not break anything, and helps significantly (at the cost of a little
- # extra space).
- freebsd2.2*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes
- hardcode_minus_L=yes
- hardcode_shlibpath_var=no
- ;;
-
- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | dragonfly*)
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- hpux9*)
- if test "$GCC" = yes; then
- archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- fi
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_direct=yes
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- export_dynamic_flag_spec='${wl}-E'
- ;;
-
- hpux10*)
- if test "$GCC" = yes && test "$with_gnu_ld" = no; then
- archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_flag_spec_ld='+b $libdir'
- hardcode_libdir_separator=:
- hardcode_direct=yes
- hardcode_direct_absolute=yes
- export_dynamic_flag_spec='${wl}-E'
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- fi
- ;;
-
- hpux11*)
- if test "$GCC" = yes && test "$with_gnu_ld" = no; then
- case $host_cpu in
- hppa*64*)
- archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- else
- case $host_cpu in
- hppa*64*)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
-
- # Older versions of the 11.00 compiler do not understand -b yet
- # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
-$as_echo_n "checking if $CC understands -b... " >&6; }
-if ${lt_cv_prog_compiler__b+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler__b=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS -b"
- echo "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler__b=yes
- fi
- else
- lt_cv_prog_compiler__b=yes
- fi
- fi
- $RM -r conftest*
- LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
-$as_echo "$lt_cv_prog_compiler__b" >&6; }
-
-if test x"$lt_cv_prog_compiler__b" = xyes; then
- archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-else
- archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-fi
-
- ;;
- esac
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
-
- case $host_cpu in
- hppa*64*|ia64*)
- hardcode_direct=no
- hardcode_shlibpath_var=no
- ;;
- *)
- hardcode_direct=yes
- hardcode_direct_absolute=yes
- export_dynamic_flag_spec='${wl}-E'
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- ;;
- esac
- fi
- ;;
-
- irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- # Try to use the -exported_symbol ld option, if it does not
- # work, assume that -exports_file does not work either and
- # implicitly export all symbols.
- # This should be the same for all languages, so no per-tag cache variable.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
-$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
-if ${lt_cv_irix_exported_symbol+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-int foo (void) { return 0; }
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- lt_cv_irix_exported_symbol=yes
-else
- lt_cv_irix_exported_symbol=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS="$save_LDFLAGS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
-$as_echo "$lt_cv_irix_exported_symbol" >&6; }
- if test "$lt_cv_irix_exported_symbol" = yes; then
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
- fi
- else
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
- fi
- archive_cmds_need_lc='no'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- inherit_rpath=yes
- link_all_deplibs=yes
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
- else
- archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
- fi
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- newsos6)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_shlibpath_var=no
- ;;
-
- *nto* | *qnx*)
- ;;
-
- openbsd*)
- if test -f /usr/libexec/ld.so; then
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- hardcode_direct_absolute=yes
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- export_dynamic_flag_spec='${wl}-E'
- else
- case $host_os in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-R$libdir'
- ;;
- *)
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- ;;
- esac
- fi
- else
- ld_shlibs=no
- fi
- ;;
-
- os2*)
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- allow_undefined_flag=unsupported
- archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
- ;;
-
- osf3*)
- if test "$GCC" = yes; then
- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- fi
- archive_cmds_need_lc='no'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- ;;
-
- osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- else
- allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
- $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
-
- # Both c and cxx compiler support -rpath directly
- hardcode_libdir_flag_spec='-rpath $libdir'
- fi
- archive_cmds_need_lc='no'
- hardcode_libdir_separator=:
- ;;
-
- solaris*)
- no_undefined_flag=' -z defs'
- if test "$GCC" = yes; then
- wlarc='${wl}'
- archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
- else
- case `$CC -V 2>&1` in
- *"Compilers 5.0"*)
- wlarc=''
- archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
- ;;
- *)
- wlarc='${wl}'
- archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
- ;;
- esac
- fi
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_shlibpath_var=no
- case $host_os in
- solaris2.[0-5] | solaris2.[0-5].*) ;;
- *)
- # The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'. GCC discards it without `$wl',
- # but is careful enough not to reorder.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- if test "$GCC" = yes; then
- whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
- else
- whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
- fi
- ;;
- esac
- link_all_deplibs=yes
- ;;
-
- sunos4*)
- if test "x$host_vendor" = xsequent; then
- # Use $CC to link under sequent, because it throws in some extra .o
- # files that make .init and .fini sections work.
- archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
- fi
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_direct=yes
- hardcode_minus_L=yes
- hardcode_shlibpath_var=no
- ;;
-
- sysv4)
- case $host_vendor in
- sni)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes # is this really true???
- ;;
- siemens)
- ## LD is ld it makes a PLAMLIB
- ## CC just makes a GrossModule.
- archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- reload_cmds='$CC -r -o $output$reload_objs'
- hardcode_direct=no
- ;;
- motorola)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=no #Motorola manual says yes, but my tests say they lie
- ;;
- esac
- runpath_var='LD_RUN_PATH'
- hardcode_shlibpath_var=no
- ;;
-
- sysv4.3*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var=no
- export_dynamic_flag_spec='-Bexport'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var=no
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- ld_shlibs=yes
- fi
- ;;
-
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
- no_undefined_flag='${wl}-z,text'
- archive_cmds_need_lc=no
- hardcode_shlibpath_var=no
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- no_undefined_flag='${wl}-z,text'
- allow_undefined_flag='${wl}-z,nodefs'
- archive_cmds_need_lc=no
- hardcode_shlibpath_var=no
- hardcode_libdir_flag_spec='${wl}-R,$libdir'
- hardcode_libdir_separator=':'
- link_all_deplibs=yes
- export_dynamic_flag_spec='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- uts4*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_shlibpath_var=no
- ;;
-
- *)
- ld_shlibs=no
- ;;
- esac
-
- if test x$host_vendor = xsni; then
- case $host in
- sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- export_dynamic_flag_spec='${wl}-Blargedynsym'
- ;;
- esac
- fi
- fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
-$as_echo "$ld_shlibs" >&6; }
-test "$ld_shlibs" = no && can_build_shared=no
-
-with_gnu_ld=$with_gnu_ld
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc" in
-x|xyes)
- # Assume -lc should be added
- archive_cmds_need_lc=yes
-
- if test "$enable_shared" = yes && test "$GCC" = yes; then
- case $archive_cmds in
- *'~'*)
- # FIXME: we may have to deal with multi-command sequences.
- ;;
- '$CC '*)
- # Test whether the compiler implicitly links with -lc since on some
- # systems, -lgcc has to come before -lc. If gcc already passes -lc
- # to ld, don't add -lc before -lgcc.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
-$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if ${lt_cv_archive_cmds_need_lc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- $RM conftest*
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$lt_prog_compiler_wl
- pic_flag=$lt_prog_compiler_pic
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$allow_undefined_flag
- allow_undefined_flag=
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
- (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- then
- lt_cv_archive_cmds_need_lc=no
- else
- lt_cv_archive_cmds_need_lc=yes
- fi
- allow_undefined_flag=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
-$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
- archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
- ;;
- esac
- fi
- ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
-$as_echo_n "checking dynamic linker characteristics... " >&6; }
-
-if test "$GCC" = yes; then
- case $host_os in
- darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
- *) lt_awk_arg="/^libraries:/" ;;
- esac
- case $host_os in
- mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;;
- *) lt_sed_strip_eq="s,=/,/,g" ;;
- esac
- lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
- case $lt_search_path_spec in
- *\;*)
- # if the path contains ";" then we assume it to be the separator
- # otherwise default to the standard path separator (i.e. ":") - it is
- # assumed that no part of a normal pathname contains ";" but that should
- # okay in the real world where ";" in dirpaths is itself problematic.
- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
- ;;
- *)
- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
- ;;
- esac
- # Ok, now we have the path, separated by spaces, we can step through it
- # and add multilib dir if necessary.
- lt_tmp_lt_search_path_spec=
- lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
- for lt_sys_path in $lt_search_path_spec; do
- if test -d "$lt_sys_path/$lt_multi_os_dir"; then
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
- else
- test -d "$lt_sys_path" && \
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
- fi
- done
- lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
-BEGIN {RS=" "; FS="/|\n";} {
- lt_foo="";
- lt_count=0;
- for (lt_i = NF; lt_i > 0; lt_i--) {
- if ($lt_i != "" && $lt_i != ".") {
- if ($lt_i == "..") {
- lt_count++;
- } else {
- if (lt_count == 0) {
- lt_foo="/" $lt_i lt_foo;
- } else {
- lt_count--;
- }
- }
- }
- }
- if (lt_foo != "") { lt_freq[lt_foo]++; }
- if (lt_freq[lt_foo] == 1) { print lt_foo; }
-}'`
- # AWK program above erroneously prepends '/' to C:/dos/paths
- # for these hosts.
- case $host_os in
- mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
- $SED 's,/\([A-Za-z]:\),\1,g'` ;;
- esac
- sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
-else
- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
- shlibpath_var=LIBPATH
-
- # AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
-
-aix[4-9]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
- # AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- else
- # With GCC up to 2.95.x, collect2 would create an import file
- # for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
- # development snapshots of GCC prior to 3.0.
- case $host_os in
- aix4 | aix4.[01] | aix4.[01].*)
- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
- echo ' yes '
- echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
- :
- else
- can_build_shared=no
- fi
- ;;
- esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
- # soname into executable. Probably we can add versioning support to
- # collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
- # instead of lib<name>.a to let people know that these are not
- # typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
- # We preserve .a as extension for shared libraries through AIX4.2
- # and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
- shlibpath_var=LIBPATH
- fi
- ;;
-
-amigaos*)
- case $host_cpu in
- powerpc)
- # Since July 2007 AmigaOS4 officially supports .so libraries.
- # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- ;;
- m68k)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
- ;;
- esac
- ;;
-
-beos*)
- library_names_spec='${libname}${shared_ext}'
- dynamic_linker="$host_os ld.so"
- shlibpath_var=LIBRARY_PATH
- ;;
-
-bsdi[45]*)
- version_type=linux
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
- # the default ld.so.conf also contains /usr/contrib/lib and
- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
- # libtool to hard-code these into programs
- ;;
-
-cygwin* | mingw* | pw32* | cegcc*)
- version_type=windows
- shrext_cmds=".dll"
- need_version=no
- need_lib_prefix=no
-
- case $GCC,$cc_basename in
- yes,*)
- # gcc
- library_names_spec='$libname.dll.a'
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname~
- chmod a+x \$dldir/$dlname~
- if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
- eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
- fi'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $RM \$dlpath'
- shlibpath_overrides_runpath=yes
-
- case $host_os in
- cygwin*)
- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-
- sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
- ;;
- mingw* | cegcc*)
- # MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- ;;
- pw32*)
- # pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- ;;
- esac
- dynamic_linker='Win32 ld.exe'
- ;;
-
- *,cl*)
- # Native MSVC
- libname_spec='$name'
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- library_names_spec='${libname}.dll.lib'
-
- case $build_os in
- mingw*)
- sys_lib_search_path_spec=
- lt_save_ifs=$IFS
- IFS=';'
- for lt_path in $LIB
- do
- IFS=$lt_save_ifs
- # Let DOS variable expansion print the short 8.3 style file name.
- lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
- sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
- done
- IFS=$lt_save_ifs
- # Convert to MSYS style.
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
- ;;
- cygwin*)
- # Convert to unix form, then to dos form, then back to unix form
- # but this time dos style (no spaces!) so that the unix form looks
- # like /cygdrive/c/PROGRA~1:/cygdr...
- sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
- sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
- sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- ;;
- *)
- sys_lib_search_path_spec="$LIB"
- if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
- # It is most probably a Windows format PATH.
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- # FIXME: find the short name or the path components, as spaces are
- # common. (e.g. "Program Files" -> "PROGRA~1")
- ;;
- esac
-
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $RM \$dlpath'
- shlibpath_overrides_runpath=yes
- dynamic_linker='Win32 link.exe'
- ;;
-
- *)
- # Assume MSVC wrapper
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
- dynamic_linker='Win32 ld.exe'
- ;;
- esac
- # FIXME: first we should search . and the directory the executable is in
- shlibpath_var=PATH
- ;;
-
-darwin* | rhapsody*)
- dynamic_linker="$host_os dyld"
- version_type=darwin
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
- shlibpath_overrides_runpath=yes
- shlibpath_var=DYLD_LIBRARY_PATH
- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-
- sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
- ;;
-
-dgux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-freebsd1*)
- dynamic_linker=no
- ;;
-
-freebsd* | dragonfly*)
- # DragonFly does not have aout. When/if they implement a new
- # versioning mechanism, adjust this.
- if test -x /usr/bin/objformat; then
- objformat=`/usr/bin/objformat`
- else
- case $host_os in
- freebsd[123]*) objformat=aout ;;
- *) objformat=elf ;;
- esac
- fi
- version_type=freebsd-$objformat
- case $version_type in
- freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- need_version=no
- need_lib_prefix=no
- ;;
- freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
- need_version=yes
- ;;
- esac
- shlibpath_var=LD_LIBRARY_PATH
- case $host_os in
- freebsd2*)
- shlibpath_overrides_runpath=yes
- ;;
- freebsd3.[01]* | freebsdelf3.[01]*)
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
- freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
- *) # from 4.6 on, and DragonFly
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- esac
- ;;
-
-gnu*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- ;;
-
-haiku*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- dynamic_linker="$host_os runtime_loader"
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
- hardcode_into_libs=yes
- ;;
-
-hpux9* | hpux10* | hpux11*)
- # Give a soname corresponding to the major version so that dld.sl refuses to
- # link against other versions.
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- case $host_cpu in
- ia64*)
- shrext_cmds='.so'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.so"
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
- else
- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
- fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
- shrext_cmds='.sl'
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=SHLIB_PATH
- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
- esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
- postinstall_cmds='chmod 555 $lib'
- # or fails outright, so override atomically:
- install_override_mode=555
- ;;
-
-interix[3-9]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $host_os in
- nonstopux*) version_type=nonstopux ;;
- *)
- if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
- else
- version_type=irix
- fi ;;
- esac
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
- case $host_os in
- irix5* | nonstopux*)
- libsuff= shlibsuff=
- ;;
- *)
- case $LD in # libtool.m4 will add one of these switches to LD
- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
- libsuff= shlibsuff= libmagic=32-bit;;
- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
- libsuff=32 shlibsuff=N32 libmagic=N32;;
- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
- libsuff=64 shlibsuff=64 libmagic=64-bit;;
- *) libsuff= shlibsuff= libmagic=never-match;;
- esac
- ;;
- esac
- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
- hardcode_into_libs=yes
- ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
- dynamic_linker=no
- ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
-
- # Some binutils ld are patched to set DT_RUNPATH
- if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_shlibpath_overrides_runpath=no
- save_LDFLAGS=$LDFLAGS
- save_libdir=$libdir
- eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
- LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
- lt_cv_shlibpath_overrides_runpath=yes
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS=$save_LDFLAGS
- libdir=$save_libdir
-
-fi
-
- shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
-
- # This implies no fast_install, which is unacceptable.
- # Some rework will be needed to allow for fast_install
- # before this can be enabled.
- hardcode_into_libs=yes
-
- # Append ld.so.conf contents to the search path
- if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
- fi
-
- # We used to test for /lib/ld.so.1 and disable shared libraries on
- # powerpc, because MkLinux only supported shared libraries with the
- # GNU dynamic linker. Since this was broken with cross compilers,
- # most powerpc-linux boxes support dynamic linking these days and
- # people can always --disable-shared, the test was removed, and we
- # assume the GNU/Linux dynamic linker is in use.
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-netbsd*)
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- dynamic_linker='NetBSD (a.out) ld.so'
- else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='NetBSD ld.elf_so'
- fi
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
-
-newsos6)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-*nto* | *qnx*)
- version_type=qnx
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='ldqnx.so'
- ;;
-
-openbsd*)
- version_type=sunos
- sys_lib_dlsearch_path_spec="/usr/lib"
- need_lib_prefix=no
- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
- case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
- esac
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[89] | openbsd2.[89].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
- else
- shlibpath_overrides_runpath=yes
- fi
- ;;
-
-os2*)
- libname_spec='$name'
- shrext_cmds=".dll"
- need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
- dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
- ;;
-
-osf3* | osf4* | osf5*)
- version_type=osf
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
- ;;
-
-rdos*)
- dynamic_linker=no
- ;;
-
-solaris*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- # ldd complains unless libraries are executable
- postinstall_cmds='chmod +x $lib'
- ;;
-
-sunos4*)
- version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- fi
- need_version=yes
- ;;
-
-sysv4 | sysv4.3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- case $host_vendor in
- sni)
- shlibpath_overrides_runpath=no
- need_lib_prefix=no
- runpath_var=LD_RUN_PATH
- ;;
- siemens)
- need_lib_prefix=no
- ;;
- motorola)
- need_lib_prefix=no
- need_version=no
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
- ;;
- esac
- ;;
-
-sysv4*MP*)
- if test -d /usr/nec ;then
- version_type=linux
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
- shlibpath_var=LD_LIBRARY_PATH
- fi
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- version_type=freebsd-elf
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- if test "$with_gnu_ld" = yes; then
- sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
- else
- sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
- case $host_os in
- sco3.2v5*)
- sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
- ;;
- esac
- fi
- sys_lib_dlsearch_path_spec='/usr/lib'
- ;;
-
-tpf*)
- # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-uts4*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-*)
- dynamic_linker=no
- ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
-$as_echo "$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
- sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
- sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
-$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
-hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" ||
- test -n "$runpath_var" ||
- test "X$hardcode_automatic" = "Xyes" ; then
-
- # We can hardcode non-existent directories.
- if test "$hardcode_direct" != no &&
- # If the only mechanism to avoid hardcoding is shlibpath_var, we
- # have to relink, otherwise we might link with an installed library
- # when we should be linking with a yet-to-be-installed one
- ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
- test "$hardcode_minus_L" != no; then
- # Linking always hardcodes the temporary library directory.
- hardcode_action=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- hardcode_action=immediate
- fi
-else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- hardcode_action=unsupported
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
-$as_echo "$hardcode_action" >&6; }
-
-if test "$hardcode_action" = relink ||
- test "$inherit_rpath" = yes; then
- # Fast installation is not supported
- enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
- # Fast installation is not necessary
- enable_fast_install=needless
-fi
-
-
-
-
-
-
- if test "x$enable_dlopen" != xyes; then
- enable_dlopen=unknown
- enable_dlopen_self=unknown
- enable_dlopen_self_static=unknown
-else
- lt_cv_dlopen=no
- lt_cv_dlopen_libs=
-
- case $host_os in
- beos*)
- lt_cv_dlopen="load_add_on"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
- ;;
-
- mingw* | pw32* | cegcc*)
- lt_cv_dlopen="LoadLibrary"
- lt_cv_dlopen_libs=
- ;;
-
- cygwin*)
- lt_cv_dlopen="dlopen"
- lt_cv_dlopen_libs=
- ;;
-
- darwin*)
- # if libdl is installed we need to link against it
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dl_dlopen=yes
-else
- ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-
- lt_cv_dlopen="dyld"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
-
-fi
-
- ;;
-
- *)
- ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = xyes; then :
- lt_cv_dlopen="shl_load"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
-$as_echo_n "checking for shl_load in -ldld... " >&6; }
-if ${ac_cv_lib_dld_shl_load+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load ();
-int
-main ()
-{
-return shl_load ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dld_shl_load=yes
-else
- ac_cv_lib_dld_shl_load=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
-$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
- lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
-else
- ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dl_dlopen=yes
-else
- ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
-$as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if ${ac_cv_lib_svld_dlopen+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsvld $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_svld_dlopen=yes
-else
- ac_cv_lib_svld_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
-$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
-$as_echo_n "checking for dld_link in -ldld... " >&6; }
-if ${ac_cv_lib_dld_dld_link+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dld_link ();
-int
-main ()
-{
-return dld_link ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dld_dld_link=yes
-else
- ac_cv_lib_dld_dld_link=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
-$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
- lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
- ;;
- esac
-
- if test "x$lt_cv_dlopen" != xno; then
- enable_dlopen=yes
- else
- enable_dlopen=no
- fi
-
- case $lt_cv_dlopen in
- dlopen)
- save_CPPFLAGS="$CPPFLAGS"
- test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
- save_LDFLAGS="$LDFLAGS"
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
- save_LIBS="$LIBS"
- LIBS="$lt_cv_dlopen_libs $LIBS"
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
-$as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- lt_cv_dlopen_self=cross
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
- correspondingly for the symbols needed. */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
-
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else
- {
- if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- else puts (dlerror ());
- }
- /* dlclose (self); */
- }
- else
- puts (dlerror ());
-
- return status;
-}
-_LT_EOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) >&5 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
- x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
- x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
- esac
- else :
- # compilation failed
- lt_cv_dlopen_self=no
- fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
-$as_echo "$lt_cv_dlopen_self" >&6; }
-
- if test "x$lt_cv_dlopen_self" = xyes; then
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
-$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self_static+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- lt_cv_dlopen_self_static=cross
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
- correspondingly for the symbols needed. */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
-
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else
- {
- if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- else puts (dlerror ());
- }
- /* dlclose (self); */
- }
- else
- puts (dlerror ());
-
- return status;
-}
-_LT_EOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) >&5 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
- x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
- x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
- esac
- else :
- # compilation failed
- lt_cv_dlopen_self_static=no
- fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
-$as_echo "$lt_cv_dlopen_self_static" >&6; }
- fi
-
- CPPFLAGS="$save_CPPFLAGS"
- LDFLAGS="$save_LDFLAGS"
- LIBS="$save_LIBS"
- ;;
- esac
-
- case $lt_cv_dlopen_self in
- yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
- *) enable_dlopen_self=unknown ;;
- esac
-
- case $lt_cv_dlopen_self_static in
- yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
- *) enable_dlopen_self_static=unknown ;;
- esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-striplib=
-old_striplib=
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
-$as_echo_n "checking whether stripping libraries is possible... " >&6; }
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
- test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-# FIXME - insert some real tests, host_os isn't really good enough
- case $host_os in
- darwin*)
- if test -n "$STRIP" ; then
- striplib="$STRIP -x"
- old_striplib="$STRIP -S"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- fi
- ;;
- *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- ;;
- esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
- # Report which library types will actually be built
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
-$as_echo_n "checking if libtool supports shared libraries... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
-$as_echo "$can_build_shared" >&6; }
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
-$as_echo_n "checking whether to build shared libraries... " >&6; }
- test "$can_build_shared" = "no" && enable_shared=no
-
- # On AIX, shared libraries and static libraries use the same namespace, and
- # are all built from PIC.
- case $host_os in
- aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
-
- aix[4-9]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
- esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
-$as_echo "$enable_shared" >&6; }
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
-$as_echo_n "checking whether to build static libraries... " >&6; }
- # Make sure either enable_shared or enable_static is yes.
- test "$enable_shared" = yes || enable_static=yes
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
-$as_echo "$enable_static" >&6; }
-
-
-
-
-fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC="$lt_save_CC"
-
-
-
-
-
-
-
-
-
-
-
-
-
- ac_config_commands="$ac_config_commands libtool"
-
-
-
-
-# Only expand once:
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
-$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
- # Check whether --enable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then :
- enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
-else
- USE_MAINTAINER_MODE=no
-fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
-$as_echo "$USE_MAINTAINER_MODE" >&6; }
- if test $USE_MAINTAINER_MODE = yes; then
- MAINTAINER_MODE_TRUE=
- MAINTAINER_MODE_FALSE='#'
-else
- MAINTAINER_MODE_TRUE='#'
- MAINTAINER_MODE_FALSE=
-fi
-
- MAINT=$MAINTAINER_MODE_TRUE
-
-
-
-for ac_header in sys/mman.h
-do :
- ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_SYS_MMAN_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_func in mmap
-do :
- ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_MMAP 1
-_ACEOF
-
-fi
-done
-
-
-ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
- libffi_header_sys_mman_h=yes
-else
- libffi_header_sys_mman_h=no
-fi
-
-
-ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
- libffi_func_mmap=yes
-else
- libffi_func_mmap=no
-fi
-
-if test "$libffi_header_sys_mman_h" != yes \
- || test "$libffi_func_mmap" != yes; then
- ac_cv_func_mmap_file=no
- ac_cv_func_mmap_dev_zero=no
- ac_cv_func_mmap_anon=no
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether read-only mmap of a plain file works" >&5
-$as_echo_n "checking whether read-only mmap of a plain file works... " >&6; }
-if ${ac_cv_func_mmap_file+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Add a system to this blacklist if
- # mmap(0, stat_size, PROT_READ, MAP_PRIVATE, fd, 0) doesn't return a
- # memory area containing the same data that you'd get if you applied
- # read() to the same fd. The only system known to have a problem here
- # is VMS, where text files have record structure.
- case "$host_os" in
- vms* | ultrix*)
- ac_cv_func_mmap_file=no ;;
- *)
- ac_cv_func_mmap_file=yes;;
- esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_file" >&5
-$as_echo "$ac_cv_func_mmap_file" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap from /dev/zero works" >&5
-$as_echo_n "checking whether mmap from /dev/zero works... " >&6; }
-if ${ac_cv_func_mmap_dev_zero+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Add a system to this blacklist if it has mmap() but /dev/zero
- # does not exist, or if mmapping /dev/zero does not give anonymous
- # zeroed pages with both the following properties:
- # 1. If you map N consecutive pages in with one call, and then
- # unmap any subset of those pages, the pages that were not
- # explicitly unmapped remain accessible.
- # 2. If you map two adjacent blocks of memory and then unmap them
- # both at once, they must both go away.
- # Systems known to be in this category are Windows (all variants),
- # VMS, and Darwin.
- case "$host_os" in
- vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00)
- ac_cv_func_mmap_dev_zero=no ;;
- *)
- ac_cv_func_mmap_dev_zero=yes;;
- esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_dev_zero" >&5
-$as_echo "$ac_cv_func_mmap_dev_zero" >&6; }
-
- # Unlike /dev/zero, the MAP_ANON(YMOUS) defines can be probed for.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANON(YMOUS)" >&5
-$as_echo_n "checking for MAP_ANON(YMOUS)... " >&6; }
-if ${ac_cv_decl_map_anon+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <unistd.h>
-
-#ifndef MAP_ANONYMOUS
-#define MAP_ANONYMOUS MAP_ANON
-#endif
-
-int
-main ()
-{
-int n = MAP_ANONYMOUS;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_decl_map_anon=yes
-else
- ac_cv_decl_map_anon=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_decl_map_anon" >&5
-$as_echo "$ac_cv_decl_map_anon" >&6; }
-
- if test $ac_cv_decl_map_anon = no; then
- ac_cv_func_mmap_anon=no
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap with MAP_ANON(YMOUS) works" >&5
-$as_echo_n "checking whether mmap with MAP_ANON(YMOUS) works... " >&6; }
-if ${ac_cv_func_mmap_anon+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Add a system to this blacklist if it has mmap() and MAP_ANON or
- # MAP_ANONYMOUS, but using mmap(..., MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
- # doesn't give anonymous zeroed pages with the same properties listed
- # above for use of /dev/zero.
- # Systems known to be in this category are Windows, VMS, and SCO Unix.
- case "$host_os" in
- vms* | cygwin* | pe | mingw* | sco* | udk* )
- ac_cv_func_mmap_anon=no ;;
- *)
- ac_cv_func_mmap_anon=yes;;
- esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_anon" >&5
-$as_echo "$ac_cv_func_mmap_anon" >&6; }
- fi
-fi
-
-if test $ac_cv_func_mmap_file = yes; then
-
-$as_echo "#define HAVE_MMAP_FILE 1" >>confdefs.h
-
-fi
-if test $ac_cv_func_mmap_dev_zero = yes; then
-
-$as_echo "#define HAVE_MMAP_DEV_ZERO 1" >>confdefs.h
-
-fi
-if test $ac_cv_func_mmap_anon = yes; then
-
-$as_echo "#define HAVE_MMAP_ANON 1" >>confdefs.h
-
-fi
-
-
- if test -d $srcdir/testsuite; then
- TESTSUBDIR_TRUE=
- TESTSUBDIR_FALSE='#'
-else
- TESTSUBDIR_TRUE='#'
- TESTSUBDIR_FALSE=
-fi
-
-
-TARGETDIR="unknown"
-case "$host" in
- alpha*-*-*)
- TARGET=ALPHA; TARGETDIR=alpha;
- # Support 128-bit long double, changeable via command-line switch.
- HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
- ;;
-
- arm*-*-*)
- TARGET=ARM; TARGETDIR=arm
- ;;
-
- amd64-*-freebsd* | amd64-*-openbsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- amd64-*-freebsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- avr32*-*-*)
- TARGET=AVR32; TARGETDIR=avr32
- ;;
-
- cris-*-*)
- TARGET=LIBFFI_CRIS; TARGETDIR=cris
- ;;
-
- frv-*-*)
- TARGET=FRV; TARGETDIR=frv
- ;;
-
- hppa*-*-linux* | parisc*-*-linux*)
- TARGET=PA_LINUX; TARGETDIR=pa
- ;;
- hppa*64-*-hpux*)
- TARGET=PA64_HPUX; TARGETDIR=pa
- ;;
- hppa*-*-hpux*)
- TARGET=PA_HPUX; TARGETDIR=pa
- ;;
-
- i?86-*-freebsd* | i?86-*-openbsd*)
- TARGET=X86_FREEBSD; TARGETDIR=x86
- ;;
- i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2*)
- TARGET=X86_WIN32; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
- i?86-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
- i?86-*-solaris2.1[0-9]*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
- i?86-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- ia64*-*-*)
- TARGET=IA64; TARGETDIR=ia64
- ;;
-
- m32r*-*-*)
- TARGET=M32R; TARGETDIR=m32r
- ;;
-
- m68k-*-*)
- TARGET=M68K; TARGETDIR=m68k
- ;;
-
- mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
- TARGET=MIPS; TARGETDIR=mips
- ;;
- mips*-*-linux*)
- # Support 128-bit long double for NewABI.
- HAVE_LONG_DOUBLE='defined(__mips64)'
- TARGET=MIPS; TARGETDIR=mips
- ;;
-
- moxie-*-*)
- TARGET=MOXIE; TARGETDIR=moxie
- ;;
-
- powerpc*-*-linux* | powerpc-*-sysv*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-beos*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-darwin*)
- TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
- ;;
- powerpc-*-aix* | rs6000-*-aix*)
- TARGET=POWERPC_AIX; TARGETDIR=powerpc
- ;;
- powerpc-*-freebsd*)
- TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
- ;;
- powerpc64-*-freebsd*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc*-*-rtems*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
-
- s390-*-* | s390x-*-*)
- TARGET=S390; TARGETDIR=s390
- ;;
-
- sh-*-* | sh[34]*-*-*)
- TARGET=SH; TARGETDIR=sh
- ;;
- sh64-*-* | sh5*-*-*)
- TARGET=SH64; TARGETDIR=sh64
- ;;
-
- sparc*-*-*)
- TARGET=SPARC; TARGETDIR=sparc
- ;;
-
- x86_64-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
-
- x86_64-*-cygwin* | x86_64-*-mingw*)
- TARGET=X86_WIN64; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
-
- x86_64-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-esac
-
-
-
-
-if test $TARGETDIR = unknown; then
- as_fn_error $? "\"libffi has not been ported to $host.\"" "$LINENO" 5
-fi
-
- if test x$TARGET = xMIPS; then
- MIPS_TRUE=
- MIPS_FALSE='#'
-else
- MIPS_TRUE='#'
- MIPS_FALSE=
-fi
-
- if test x$TARGET = xSPARC; then
- SPARC_TRUE=
- SPARC_FALSE='#'
-else
- SPARC_TRUE='#'
- SPARC_FALSE=
-fi
-
- if test x$TARGET = xX86; then
- X86_TRUE=
- X86_FALSE='#'
-else
- X86_TRUE='#'
- X86_FALSE=
-fi
-
- if test x$TARGET = xX86_FREEBSD; then
- X86_FREEBSD_TRUE=
- X86_FREEBSD_FALSE='#'
-else
- X86_FREEBSD_TRUE='#'
- X86_FREEBSD_FALSE=
-fi
-
- if test x$TARGET = xX86_WIN32; then
- X86_WIN32_TRUE=
- X86_WIN32_FALSE='#'
-else
- X86_WIN32_TRUE='#'
- X86_WIN32_FALSE=
-fi
-
- if test x$TARGET = xX86_WIN64; then
- X86_WIN64_TRUE=
- X86_WIN64_FALSE='#'
-else
- X86_WIN64_TRUE='#'
- X86_WIN64_FALSE=
-fi
-
- if test x$TARGET = xX86_DARWIN; then
- X86_DARWIN_TRUE=
- X86_DARWIN_FALSE='#'
-else
- X86_DARWIN_TRUE='#'
- X86_DARWIN_FALSE=
-fi
-
- if test x$TARGET = xALPHA; then
- ALPHA_TRUE=
- ALPHA_FALSE='#'
-else
- ALPHA_TRUE='#'
- ALPHA_FALSE=
-fi
-
- if test x$TARGET = xIA64; then
- IA64_TRUE=
- IA64_FALSE='#'
-else
- IA64_TRUE='#'
- IA64_FALSE=
-fi
-
- if test x$TARGET = xM32R; then
- M32R_TRUE=
- M32R_FALSE='#'
-else
- M32R_TRUE='#'
- M32R_FALSE=
-fi
-
- if test x$TARGET = xM68K; then
- M68K_TRUE=
- M68K_FALSE='#'
-else
- M68K_TRUE='#'
- M68K_FALSE=
-fi
-
- if test x$TARGET = xMOXIE; then
- MOXIE_TRUE=
- MOXIE_FALSE='#'
-else
- MOXIE_TRUE='#'
- MOXIE_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC; then
- POWERPC_TRUE=
- POWERPC_FALSE='#'
-else
- POWERPC_TRUE='#'
- POWERPC_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_AIX; then
- POWERPC_AIX_TRUE=
- POWERPC_AIX_FALSE='#'
-else
- POWERPC_AIX_TRUE='#'
- POWERPC_AIX_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_DARWIN; then
- POWERPC_DARWIN_TRUE=
- POWERPC_DARWIN_FALSE='#'
-else
- POWERPC_DARWIN_TRUE='#'
- POWERPC_DARWIN_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_FREEBSD; then
- POWERPC_FREEBSD_TRUE=
- POWERPC_FREEBSD_FALSE='#'
-else
- POWERPC_FREEBSD_TRUE='#'
- POWERPC_FREEBSD_FALSE=
-fi
-
- if test x$TARGET = xARM; then
- ARM_TRUE=
- ARM_FALSE='#'
-else
- ARM_TRUE='#'
- ARM_FALSE=
-fi
-
- if test x$TARGET = xAVR32; then
- AVR32_TRUE=
- AVR32_FALSE='#'
-else
- AVR32_TRUE='#'
- AVR32_FALSE=
-fi
-
- if test x$TARGET = xLIBFFI_CRIS; then
- LIBFFI_CRIS_TRUE=
- LIBFFI_CRIS_FALSE='#'
-else
- LIBFFI_CRIS_TRUE='#'
- LIBFFI_CRIS_FALSE=
-fi
-
- if test x$TARGET = xFRV; then
- FRV_TRUE=
- FRV_FALSE='#'
-else
- FRV_TRUE='#'
- FRV_FALSE=
-fi
-
- if test x$TARGET = xS390; then
- S390_TRUE=
- S390_FALSE='#'
-else
- S390_TRUE='#'
- S390_FALSE=
-fi
-
- if test x$TARGET = xX86_64; then
- X86_64_TRUE=
- X86_64_FALSE='#'
-else
- X86_64_TRUE='#'
- X86_64_FALSE=
-fi
-
- if test x$TARGET = xSH; then
- SH_TRUE=
- SH_FALSE='#'
-else
- SH_TRUE='#'
- SH_FALSE=
-fi
-
- if test x$TARGET = xSH64; then
- SH64_TRUE=
- SH64_FALSE='#'
-else
- SH64_TRUE='#'
- SH64_FALSE=
-fi
-
- if test x$TARGET = xPA_LINUX; then
- PA_LINUX_TRUE=
- PA_LINUX_FALSE='#'
-else
- PA_LINUX_TRUE='#'
- PA_LINUX_FALSE=
-fi
-
- if test x$TARGET = xPA_HPUX; then
- PA_HPUX_TRUE=
- PA_HPUX_FALSE='#'
-else
- PA_HPUX_TRUE='#'
- PA_HPUX_FALSE=
-fi
-
- if test x$TARGET = xPA64_HPUX; then
- PA64_HPUX_TRUE=
- PA64_HPUX_FALSE='#'
-else
- PA64_HPUX_TRUE='#'
- PA64_HPUX_FALSE=
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_header_stdc=yes
-else
- ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then :
- :
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- return 2;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-for ac_func in memcpy
-do :
- ac_fn_c_check_func "$LINENO" "memcpy" "ac_cv_func_memcpy"
-if test "x$ac_cv_func_memcpy" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_MEMCPY 1
-_ACEOF
-
-fi
-done
-
-ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-if test "x$ac_cv_type_size_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define size_t unsigned int
-_ACEOF
-
-fi
-
-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
-# for constant arguments. Useless!
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
-$as_echo_n "checking for working alloca.h... " >&6; }
-if ${ac_cv_working_alloca_h+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <alloca.h>
-int
-main ()
-{
-char *p = (char *) alloca (2 * sizeof (int));
- if (p) return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_working_alloca_h=yes
-else
- ac_cv_working_alloca_h=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
-$as_echo "$ac_cv_working_alloca_h" >&6; }
-if test $ac_cv_working_alloca_h = yes; then
-
-$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
-$as_echo_n "checking for alloca... " >&6; }
-if ${ac_cv_func_alloca_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# ifdef _MSC_VER
-# include <malloc.h>
-# define alloca _alloca
-# else
-# ifdef HAVE_ALLOCA_H
-# include <alloca.h>
-# else
-# ifdef _AIX
- #pragma alloca
-# else
-# ifndef alloca /* predefined by HP cc +Olibcalls */
-void *alloca (size_t);
-# endif
-# endif
-# endif
-# endif
-#endif
-
-int
-main ()
-{
-char *p = (char *) alloca (1);
- if (p) return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_func_alloca_works=yes
-else
- ac_cv_func_alloca_works=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
-$as_echo "$ac_cv_func_alloca_works" >&6; }
-
-if test $ac_cv_func_alloca_works = yes; then
-
-$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
-
-else
- # The SVR3 libPW and SVR4 libucb both contain incompatible functions
-# that cause trouble. Some versions do not even contain alloca or
-# contain a buggy version. If you still want to use their alloca,
-# use ar to extract alloca.o from them instead of compiling alloca.c.
-
-ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
-
-$as_echo "#define C_ALLOCA 1" >>confdefs.h
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
-$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
-if ${ac_cv_os_cray+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#if defined CRAY && ! defined CRAY2
-webecray
-#else
-wenotbecray
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "webecray" >/dev/null 2>&1; then :
- ac_cv_os_cray=yes
-else
- ac_cv_os_cray=no
-fi
-rm -f conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5
-$as_echo "$ac_cv_os_cray" >&6; }
-if test $ac_cv_os_cray = yes; then
- for ac_func in _getb67 GETB67 getb67; do
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-
-cat >>confdefs.h <<_ACEOF
-#define CRAY_STACKSEG_END $ac_func
-_ACEOF
-
- break
-fi
-
- done
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
-$as_echo_n "checking stack direction for C alloca... " >&6; }
-if ${ac_cv_c_stack_direction+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- ac_cv_c_stack_direction=0
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
-int
-find_stack_direction ()
-{
- static char *addr = 0;
- auto char dummy;
- if (addr == 0)
- {
- addr = &dummy;
- return find_stack_direction ();
- }
- else
- return (&dummy > addr) ? 1 : -1;
-}
-
-int
-main ()
-{
- return find_stack_direction () < 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_c_stack_direction=1
-else
- ac_cv_c_stack_direction=-1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
-$as_echo "$ac_cv_c_stack_direction" >&6; }
-cat >>confdefs.h <<_ACEOF
-#define STACK_DIRECTION $ac_cv_c_stack_direction
-_ACEOF
-
-
-fi
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of double" >&5
-$as_echo_n "checking size of double... " >&6; }
-if ${ac_cv_sizeof_double+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (double))" "ac_cv_sizeof_double" "$ac_includes_default"; then :
-
-else
- if test "$ac_cv_type_double" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (double)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_double=0
- fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_double" >&5
-$as_echo "$ac_cv_sizeof_double" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_DOUBLE $ac_cv_sizeof_double
-_ACEOF
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long double" >&5
-$as_echo_n "checking size of long double... " >&6; }
-if ${ac_cv_sizeof_long_double+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long double))" "ac_cv_sizeof_long_double" "$ac_includes_default"; then :
-
-else
- if test "$ac_cv_type_long_double" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (long double)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_long_double=0
- fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_double" >&5
-$as_echo "$ac_cv_sizeof_long_double" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_LONG_DOUBLE $ac_cv_sizeof_long_double
-_ACEOF
-
-
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
- HAVE_LONG_DOUBLE=0
- if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
- if test $ac_cv_sizeof_long_double != 0; then
- HAVE_LONG_DOUBLE=1
-
-$as_echo "#define HAVE_LONG_DOUBLE 1" >>confdefs.h
-
- fi
- fi
-fi
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
-$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if ${ac_cv_c_bigendian+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_c_bigendian=unknown
- # See if we're dealing with a universal compiler.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifndef __APPLE_CC__
- not a universal capable compiler
- #endif
- typedef int dummy;
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
- # Check for potential -arch flags. It is not universal unless
- # there are at least two -arch flags with different values.
- ac_arch=
- ac_prev=
- for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
- if test -n "$ac_prev"; then
- case $ac_word in
- i?86 | x86_64 | ppc | ppc64)
- if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
- ac_arch=$ac_word
- else
- ac_cv_c_bigendian=universal
- break
- fi
- ;;
- esac
- ac_prev=
- elif test "x$ac_word" = "x-arch"; then
- ac_prev=arch
- fi
- done
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- if test $ac_cv_c_bigendian = unknown; then
- # See if sys/param.h defines the BYTE_ORDER macro.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
- #include <sys/param.h>
-
-int
-main ()
-{
-#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
- && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
- && LITTLE_ENDIAN)
- bogus endian macros
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- # It does; now see whether it defined to BIG_ENDIAN or not.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
- #include <sys/param.h>
-
-int
-main ()
-{
-#if BYTE_ORDER != BIG_ENDIAN
- not big endian
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_c_bigendian=yes
-else
- ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- if test $ac_cv_c_bigendian = unknown; then
- # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <limits.h>
-
-int
-main ()
-{
-#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
- bogus endian macros
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- # It does; now see whether it defined to _BIG_ENDIAN or not.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <limits.h>
-
-int
-main ()
-{
-#ifndef _BIG_ENDIAN
- not big endian
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_c_bigendian=yes
-else
- ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- if test $ac_cv_c_bigendian = unknown; then
- # Compile a test program.
- if test "$cross_compiling" = yes; then :
- # Try to guess by grepping values from an object file.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-short int ascii_mm[] =
- { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
- short int ascii_ii[] =
- { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
- int use_ascii (int i) {
- return ascii_mm[i] + ascii_ii[i];
- }
- short int ebcdic_ii[] =
- { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
- short int ebcdic_mm[] =
- { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
- int use_ebcdic (int i) {
- return ebcdic_mm[i] + ebcdic_ii[i];
- }
- extern int foo;
-
-int
-main ()
-{
-return use_ascii (foo) == use_ebcdic (foo);
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
- ac_cv_c_bigendian=yes
- fi
- if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
- if test "$ac_cv_c_bigendian" = unknown; then
- ac_cv_c_bigendian=no
- else
- # finding both strings is unlikely to happen, but who knows?
- ac_cv_c_bigendian=unknown
- fi
- fi
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-
- /* Are we little or big endian? From Harbison&Steele. */
- union
- {
- long int l;
- char c[sizeof (long int)];
- } u;
- u.l = 1;
- return u.c[sizeof (long int) - 1] == 1;
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_c_bigendian=no
-else
- ac_cv_c_bigendian=yes
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
-$as_echo "$ac_cv_c_bigendian" >&6; }
- case $ac_cv_c_bigendian in #(
- yes)
- $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
-;; #(
- no)
- ;; #(
- universal)
-
-$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
-
- ;; #(
- *)
- as_fn_error $? "unknown endianness
- presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
- esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .cfi pseudo-op support" >&5
-$as_echo_n "checking assembler .cfi pseudo-op support... " >&6; }
-if ${gcc_cv_as_cfi_pseudo_op+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- gcc_cv_as_cfi_pseudo_op=unknown
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".cfi_startproc\n\t.cfi_endproc");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- gcc_cv_as_cfi_pseudo_op=yes
-else
- gcc_cv_as_cfi_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_cfi_pseudo_op" >&5
-$as_echo "$gcc_cv_as_cfi_pseudo_op" >&6; }
- if test "x$gcc_cv_as_cfi_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_CFI_PSEUDO_OP 1" >>confdefs.h
-
- fi
-
-
-if test x$TARGET = xSPARC; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler and linker support unaligned pc related relocs" >&5
-$as_echo_n "checking assembler and linker support unaligned pc related relocs... " >&6; }
-if ${libffi_cv_as_sparc_ua_pcrel+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- save_CFLAGS="$CFLAGS"
- save_LDFLAGS="$LDFLAGS"
- CFLAGS="$CFLAGS -fpic"
- LDFLAGS="$LDFLAGS -shared"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- libffi_cv_as_sparc_ua_pcrel=yes
-else
- libffi_cv_as_sparc_ua_pcrel=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- CFLAGS="$save_CFLAGS"
- LDFLAGS="$save_LDFLAGS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_sparc_ua_pcrel" >&5
-$as_echo "$libffi_cv_as_sparc_ua_pcrel" >&6; }
- if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
-
-$as_echo "#define HAVE_AS_SPARC_UA_PCREL 1" >>confdefs.h
-
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .register pseudo-op support" >&5
-$as_echo_n "checking assembler .register pseudo-op support... " >&6; }
-if ${libffi_cv_as_register_pseudo_op+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_register_pseudo_op=unknown
- # Check if we have .register
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".register %g2, #scratch");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- libffi_cv_as_register_pseudo_op=yes
-else
- libffi_cv_as_register_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_register_pseudo_op" >&5
-$as_echo "$libffi_cv_as_register_pseudo_op" >&6; }
- if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_REGISTER_PSEUDO_OP 1" >>confdefs.h
-
- fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports pc related relocs" >&5
-$as_echo_n "checking assembler supports pc related relocs... " >&6; }
-if ${libffi_cv_as_x86_pcrel+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_x86_pcrel=no
- echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
- if $CC $CFLAGS -c conftest.s > /dev/null; then
- libffi_cv_as_x86_pcrel=yes
- fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_x86_pcrel" >&5
-$as_echo "$libffi_cv_as_x86_pcrel" >&6; }
- if test "x$libffi_cv_as_x86_pcrel" = xyes; then
-
-$as_echo "#define HAVE_AS_X86_PCREL 1" >>confdefs.h
-
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .ascii pseudo-op support" >&5
-$as_echo_n "checking assembler .ascii pseudo-op support... " >&6; }
-if ${libffi_cv_as_ascii_pseudo_op+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_ascii_pseudo_op=unknown
- # Check if we have .ascii
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".ascii \\"string\\"");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- libffi_cv_as_ascii_pseudo_op=yes
-else
- libffi_cv_as_ascii_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_ascii_pseudo_op" >&5
-$as_echo "$libffi_cv_as_ascii_pseudo_op" >&6; }
- if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_ASCII_PSEUDO_OP 1" >>confdefs.h
-
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .string pseudo-op support" >&5
-$as_echo_n "checking assembler .string pseudo-op support... " >&6; }
-if ${libffi_cv_as_string_pseudo_op+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_string_pseudo_op=unknown
- # Check if we have .string
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".string \\"string\\"");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- libffi_cv_as_string_pseudo_op=yes
-else
- libffi_cv_as_string_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_string_pseudo_op" >&5
-$as_echo "$libffi_cv_as_string_pseudo_op" >&6; }
- if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_STRING_PSEUDO_OP 1" >>confdefs.h
-
- fi
-fi
-
-if test x$TARGET = xX86_WIN64; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ prefix in compiled symbols" >&5
-$as_echo_n "checking for _ prefix in compiled symbols... " >&6; }
-if ${lt_cv_sys_symbol_underscore+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_sys_symbol_underscore=no
- cat > conftest.$ac_ext <<_LT_EOF
-void nm_test_func(){}
-int main(){nm_test_func;return 0;}
-_LT_EOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- # Now try to grab the symbols.
- ac_nlist=conftest.nm
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist\""; } >&5
- (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s "$ac_nlist"; then
- # See whether the symbols have a leading underscore.
- if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then
- lt_cv_sys_symbol_underscore=yes
- else
- if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then
- :
- else
- echo "configure: cannot find nm_test_func in $ac_nlist" >&5
- fi
- fi
- else
- echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&5
- fi
- else
- echo "configure: failed program was:" >&5
- cat conftest.c >&5
- fi
- rm -rf conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_symbol_underscore" >&5
-$as_echo "$lt_cv_sys_symbol_underscore" >&6; }
- sys_symbol_underscore=$lt_cv_sys_symbol_underscore
-
-
- if test "x$sys_symbol_underscore" = xyes; then
-
-$as_echo "#define SYMBOL_UNDERSCORE 1" >>confdefs.h
-
- fi
-fi
-
-case "$target" in
- *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
-
-$as_echo "#define FFI_MMAP_EXEC_WRIT 1" >>confdefs.h
-
- ;;
-esac
-
-if test x$TARGET = xX86_64; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports unwind section type" >&5
-$as_echo_n "checking assembler supports unwind section type... " >&6; }
-if ${libffi_cv_as_x86_64_unwind_section_type+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_x86_64_unwind_section_type=yes
- echo '.section .eh_frame,"a",@unwind' > conftest.s
- if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
- libffi_cv_as_x86_64_unwind_section_type=no
- fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_x86_64_unwind_section_type" >&5
-$as_echo "$libffi_cv_as_x86_64_unwind_section_type" >&6; }
- if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
-
-$as_echo "#define HAVE_AS_X86_64_UNWIND_SECTION_TYPE 1" >>confdefs.h
-
- fi
-fi
-
-if test "x$GCC" = "xyes"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether .eh_frame section should be read-only" >&5
-$as_echo_n "checking whether .eh_frame section should be read-only... " >&6; }
-if ${libffi_cv_ro_eh_frame+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_ro_eh_frame=no
- echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
- if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
- if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- elif grep '.section.*eh_frame.*#alloc' conftest.c \
- | grep -v '#write' > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- fi
- fi
- rm -f conftest.*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_ro_eh_frame" >&5
-$as_echo "$libffi_cv_ro_eh_frame" >&6; }
- if test "x$libffi_cv_ro_eh_frame" = xyes; then
-
-$as_echo "#define HAVE_RO_EH_FRAME 1" >>confdefs.h
-
-
-$as_echo "#define EH_FRAME_FLAGS \"a\"" >>confdefs.h
-
- else
-
-$as_echo "#define EH_FRAME_FLAGS \"aw\"" >>confdefs.h
-
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __attribute__((visibility(\"hidden\")))" >&5
-$as_echo_n "checking for __attribute__((visibility(\"hidden\")))... " >&6; }
-if ${libffi_cv_hidden_visibility_attribute+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1 ; }' > conftest.c
- libffi_cv_hidden_visibility_attribute=no
- if { ac_try='${CC-cc} -Werror -S conftest.c -o conftest.s 1>&5'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- if grep '\.hidden.*foo' conftest.s >/dev/null; then
- libffi_cv_hidden_visibility_attribute=yes
- fi
- fi
- rm -f conftest.*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_hidden_visibility_attribute" >&5
-$as_echo "$libffi_cv_hidden_visibility_attribute" >&6; }
- if test $libffi_cv_hidden_visibility_attribute = yes; then
-
-$as_echo "#define HAVE_HIDDEN_VISIBILITY_ATTRIBUTE 1" >>confdefs.h
-
- fi
-fi
-
-
-
-
-
-
-
-
-# Check whether --enable-debug was given.
-if test "${enable_debug+set}" = set; then :
- enableval=$enable_debug; if test "$enable_debug" = "yes"; then
-
-$as_echo "#define FFI_DEBUG 1" >>confdefs.h
-
- fi
-fi
-
- if test "$enable_debug" = "yes"; then
- FFI_DEBUG_TRUE=
- FFI_DEBUG_FALSE='#'
-else
- FFI_DEBUG_TRUE='#'
- FFI_DEBUG_FALSE=
-fi
-
-
-# Check whether --enable-structs was given.
-if test "${enable_structs+set}" = set; then :
- enableval=$enable_structs; if test "$enable_structs" = "no"; then
-
-$as_echo "#define FFI_NO_STRUCTS 1" >>confdefs.h
-
- fi
-fi
-
-
-# Check whether --enable-raw-api was given.
-if test "${enable_raw_api+set}" = set; then :
- enableval=$enable_raw_api; if test "$enable_raw_api" = "no"; then
-
-$as_echo "#define FFI_NO_RAW_API 1" >>confdefs.h
-
- fi
-fi
-
-
-# Check whether --enable-purify-safety was given.
-if test "${enable_purify_safety+set}" = set; then :
- enableval=$enable_purify_safety; if test "$enable_purify_safety" = "yes"; then
-
-$as_echo "#define USING_PURIFY 1" >>confdefs.h
-
- fi
-fi
-
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- toolexecdir='$(exec_prefix)/$(target_alias)'
- toolexeclibdir='$(toolexecdir)/lib'
- else
- toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
- toolexeclibdir='$(libdir)'
- fi
- multi_os_directory=`$CC -print-multi-os-directory`
- case $multi_os_directory in
- .) ;; # Avoid trailing /.
- *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
- esac
-
-
-fi
-
-if test "${multilib}" = "yes"; then
- multilib_arg="--enable-multilib"
-else
- multilib_arg=
-fi
-
-ac_config_commands="$ac_config_commands include"
-
-ac_config_commands="$ac_config_commands src"
-
-
-ac_config_links="$ac_config_links include/ffitarget.h:src/$TARGETDIR/ffitarget.h"
-
-
-ac_config_files="$ac_config_files include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc"
-
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems. If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
- for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
-
- (set) 2>&1 |
- case $as_nl`(ac_space=' '; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- # `set' does not quote correctly, so add quotes: double-quote
- # substitution turns \\\\ into \\, and sed turns \\ into \.
- sed -n \
- "s/'/'\\\\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- ;; #(
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-) |
- sed '
- /^ac_cv_env_/b end
- t clear
- :clear
- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
- t end
- s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
- if test -w "$cache_file"; then
- if test "x$cache_file" != "x/dev/null"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
- if test ! -f "$cache_file" || test -h "$cache_file"; then
- cat confcache >"$cache_file"
- else
- case $cache_file in #(
- */* | ?:*)
- mv -f confcache "$cache_file"$$ &&
- mv -f "$cache_file"$$ "$cache_file" ;; #(
- *)
- mv -f confcache "$cache_file" ;;
- esac
- fi
- fi
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
- fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-U=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
- # 1. Remove the extension, and $U if already installed.
- ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
- ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
- # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
- # will be set to the directory where LIBOBJS objects are built.
- as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
- as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
- if test -n "$EXEEXT"; then
- am__EXEEXT_TRUE=
- am__EXEEXT_FALSE='#'
-else
- am__EXEEXT_TRUE='#'
- am__EXEEXT_FALSE=
-fi
-
-if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
- as_fn_error $? "conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
- as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCCAS_TRUE}" && test -z "${am__fastdepCCAS_FALSE}"; then
- as_fn_error $? "conditional \"am__fastdepCCAS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
- as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${TESTSUBDIR_TRUE}" && test -z "${TESTSUBDIR_FALSE}"; then
- as_fn_error $? "conditional \"TESTSUBDIR\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MIPS_TRUE}" && test -z "${MIPS_FALSE}"; then
- as_fn_error $? "conditional \"MIPS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SPARC_TRUE}" && test -z "${SPARC_FALSE}"; then
- as_fn_error $? "conditional \"SPARC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_TRUE}" && test -z "${X86_FALSE}"; then
- as_fn_error $? "conditional \"X86\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_FREEBSD_TRUE}" && test -z "${X86_FREEBSD_FALSE}"; then
- as_fn_error $? "conditional \"X86_FREEBSD\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_WIN32_TRUE}" && test -z "${X86_WIN32_FALSE}"; then
- as_fn_error $? "conditional \"X86_WIN32\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_WIN64_TRUE}" && test -z "${X86_WIN64_FALSE}"; then
- as_fn_error $? "conditional \"X86_WIN64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_DARWIN_TRUE}" && test -z "${X86_DARWIN_FALSE}"; then
- as_fn_error $? "conditional \"X86_DARWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${ALPHA_TRUE}" && test -z "${ALPHA_FALSE}"; then
- as_fn_error $? "conditional \"ALPHA\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${IA64_TRUE}" && test -z "${IA64_FALSE}"; then
- as_fn_error $? "conditional \"IA64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${M32R_TRUE}" && test -z "${M32R_FALSE}"; then
- as_fn_error $? "conditional \"M32R\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${M68K_TRUE}" && test -z "${M68K_FALSE}"; then
- as_fn_error $? "conditional \"M68K\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MOXIE_TRUE}" && test -z "${MOXIE_FALSE}"; then
- as_fn_error $? "conditional \"MOXIE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_TRUE}" && test -z "${POWERPC_FALSE}"; then
- as_fn_error $? "conditional \"POWERPC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_AIX_TRUE}" && test -z "${POWERPC_AIX_FALSE}"; then
- as_fn_error $? "conditional \"POWERPC_AIX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_DARWIN_TRUE}" && test -z "${POWERPC_DARWIN_FALSE}"; then
- as_fn_error $? "conditional \"POWERPC_DARWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_FREEBSD_TRUE}" && test -z "${POWERPC_FREEBSD_FALSE}"; then
- as_fn_error $? "conditional \"POWERPC_FREEBSD\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${ARM_TRUE}" && test -z "${ARM_FALSE}"; then
- as_fn_error $? "conditional \"ARM\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${AVR32_TRUE}" && test -z "${AVR32_FALSE}"; then
- as_fn_error $? "conditional \"AVR32\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${LIBFFI_CRIS_TRUE}" && test -z "${LIBFFI_CRIS_FALSE}"; then
- as_fn_error $? "conditional \"LIBFFI_CRIS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${FRV_TRUE}" && test -z "${FRV_FALSE}"; then
- as_fn_error $? "conditional \"FRV\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${S390_TRUE}" && test -z "${S390_FALSE}"; then
- as_fn_error $? "conditional \"S390\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_64_TRUE}" && test -z "${X86_64_FALSE}"; then
- as_fn_error $? "conditional \"X86_64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SH_TRUE}" && test -z "${SH_FALSE}"; then
- as_fn_error $? "conditional \"SH\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SH64_TRUE}" && test -z "${SH64_FALSE}"; then
- as_fn_error $? "conditional \"SH64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA_LINUX_TRUE}" && test -z "${PA_LINUX_FALSE}"; then
- as_fn_error $? "conditional \"PA_LINUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA_HPUX_TRUE}" && test -z "${PA_HPUX_FALSE}"; then
- as_fn_error $? "conditional \"PA_HPUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA64_HPUX_TRUE}" && test -z "${PA64_HPUX_FALSE}"; then
- as_fn_error $? "conditional \"PA64_HPUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-if test -z "${FFI_DEBUG_TRUE}" && test -z "${FFI_DEBUG_FALSE}"; then
- as_fn_error $? "conditional \"FFI_DEBUG\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-: "${CONFIG_STATUS=./config.status}"
-ac_write_fail=0
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in #(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- fi
- $as_echo "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} # as_fn_error
-
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} # as_fn_exit
-
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
-
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -p'
- fi
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in #(
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by libffi $as_me 3.0.11-rc2, which was
-generated by GNU Autoconf 2.68. Invocation command line was
-
- CONFIG_FILES = $CONFIG_FILES
- CONFIG_HEADERS = $CONFIG_HEADERS
- CONFIG_LINKS = $CONFIG_LINKS
- CONFIG_COMMANDS = $CONFIG_COMMANDS
- $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-case $ac_config_headers in *"
-"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
-esac
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-config_links="$ac_config_links"
-config_commands="$ac_config_commands"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration. Unless the files
-and actions are specified as TAGs, all are instantiated by default.
-
-Usage: $0 [OPTION]... [TAG]...
-
- -h, --help print this help, then exit
- -V, --version print version number and configuration settings, then exit
- --config print configuration, then exit
- -q, --quiet, --silent
- do not print progress messages
- -d, --debug don't remove temporary files
- --recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
- --header=FILE[:TEMPLATE]
- instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration links:
-$config_links
-
-Configuration commands:
-$config_commands
-
-Report bugs to <http://github.com/atgreen/libffi/issues>."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-ac_cs_version="\\
-libffi config.status 3.0.11-rc2
-configured by $0, generated by GNU Autoconf 2.68,
- with options \\"\$ac_cs_config\\"
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-INSTALL='$INSTALL'
-MKDIR_P='$MKDIR_P'
-AWK='$AWK'
-test -n "\$AWK" || AWK=awk
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
-ac_need_defaults=:
-while test $# != 0
-do
- case $1 in
- --*=?*)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
- ac_shift=:
- ;;
- --*=)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=
- ac_shift=:
- ;;
- *)
- ac_option=$1
- ac_optarg=$2
- ac_shift=shift
- ;;
- esac
-
- case $ac_option in
- # Handling of the options.
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- ac_cs_recheck=: ;;
- --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
- $as_echo "$ac_cs_version"; exit ;;
- --config | --confi | --conf | --con | --co | --c )
- $as_echo "$ac_cs_config"; exit ;;
- --debug | --debu | --deb | --de | --d | -d )
- debug=: ;;
- --file | --fil | --fi | --f )
- $ac_shift
- case $ac_optarg in
- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
- '') as_fn_error $? "missing file argument" ;;
- esac
- as_fn_append CONFIG_FILES " '$ac_optarg'"
- ac_need_defaults=false;;
- --header | --heade | --head | --hea )
- $ac_shift
- case $ac_optarg in
- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- as_fn_append CONFIG_HEADERS " '$ac_optarg'"
- ac_need_defaults=false;;
- --he | --h)
- # Conflict between --help and --header
- as_fn_error $? "ambiguous option: \`$1'
-Try \`$0 --help' for more information.";;
- --help | --hel | -h )
- $as_echo "$ac_cs_usage"; exit ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil | --si | --s)
- ac_cs_silent=: ;;
-
- # This is an error.
- -*) as_fn_error $? "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
-
- *) as_fn_append ac_config_targets " $1"
- ac_need_defaults=false ;;
-
- esac
- shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
- exec 6>/dev/null
- ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-if \$ac_cs_recheck; then
- set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
- shift
- \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
- CONFIG_SHELL='$SHELL'
- export CONFIG_SHELL
- exec "\$@"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
- $as_echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-#
-# INIT-COMMANDS
-#
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-sed_quote_subst='$sed_quote_subst'
-double_quote_subst='$double_quote_subst'
-delay_variable_subst='$delay_variable_subst'
-macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
-macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
-enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
-enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
-pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
-enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
-SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
-ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
-host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
-host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
-host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
-build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
-build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
-build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
-SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
-Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
-GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
-EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
-FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
-LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
-NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
-LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
-max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
-ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
-exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
-lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
-lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
-lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
-reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
-reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
-OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
-deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
-file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
-file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
-want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
-DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
-sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
-AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
-AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
-archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
-STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
-RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
-old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
-lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
-CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
-CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
-compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
-GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
-nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
-lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
-objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
-MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
-lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
-need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
-MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
-DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
-NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
-LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
-OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
-libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
-shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
-extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
-enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
-export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
-whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
-compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
-old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
-archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
-module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
-allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
-no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_ld='`$ECHO "$hardcode_libdir_flag_spec_ld" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
-hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
-hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
-hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
-hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
-hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
-inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
-link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
-always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
-export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
-exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
-include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
-prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
-postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
-file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
-variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
-need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
-version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
-runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
-libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
-library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
-soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
-install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
-postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
-finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
-hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
-sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
-sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
-enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
-old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
-striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
-
-LTCC='$LTCC'
-LTCFLAGS='$LTCFLAGS'
-compiler='$compiler_DEFAULT'
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
- eval 'cat <<_LTECHO_EOF
-\$1
-_LTECHO_EOF'
-}
-
-# Quote evaled strings.
-for var in SHELL \
-ECHO \
-SED \
-GREP \
-EGREP \
-FGREP \
-LD \
-NM \
-LN_S \
-lt_SP2NL \
-lt_NL2SP \
-reload_flag \
-OBJDUMP \
-deplibs_check_method \
-file_magic_cmd \
-file_magic_glob \
-want_nocaseglob \
-DLLTOOL \
-sharedlib_from_linklib_cmd \
-AR \
-AR_FLAGS \
-archiver_list_spec \
-STRIP \
-RANLIB \
-CC \
-CFLAGS \
-compiler \
-lt_cv_sys_global_symbol_pipe \
-lt_cv_sys_global_symbol_to_cdecl \
-lt_cv_sys_global_symbol_to_c_name_address \
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
-nm_file_list_spec \
-lt_prog_compiler_no_builtin_flag \
-lt_prog_compiler_pic \
-lt_prog_compiler_wl \
-lt_prog_compiler_static \
-lt_cv_prog_compiler_c_o \
-need_locks \
-MANIFEST_TOOL \
-DSYMUTIL \
-NMEDIT \
-LIPO \
-OTOOL \
-OTOOL64 \
-shrext_cmds \
-export_dynamic_flag_spec \
-whole_archive_flag_spec \
-compiler_needs_object \
-with_gnu_ld \
-allow_undefined_flag \
-no_undefined_flag \
-hardcode_libdir_flag_spec \
-hardcode_libdir_flag_spec_ld \
-hardcode_libdir_separator \
-exclude_expsyms \
-include_expsyms \
-file_list_spec \
-variables_saved_for_relink \
-libname_spec \
-library_names_spec \
-soname_spec \
-install_override_mode \
-finish_eval \
-old_striplib \
-striplib; do
- case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
- *[\\\\\\\`\\"\\\$]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
- ;;
- *)
- eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
- ;;
- esac
-done
-
-# Double-quote double-evaled strings.
-for var in reload_cmds \
-old_postinstall_cmds \
-old_postuninstall_cmds \
-old_archive_cmds \
-extract_expsyms_cmds \
-old_archive_from_new_cmds \
-old_archive_from_expsyms_cmds \
-archive_cmds \
-archive_expsym_cmds \
-module_cmds \
-module_expsym_cmds \
-export_symbols_cmds \
-prelink_cmds \
-postlink_cmds \
-postinstall_cmds \
-postuninstall_cmds \
-finish_cmds \
-sys_lib_search_path_spec \
-sys_lib_dlsearch_path_spec; do
- case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
- *[\\\\\\\`\\"\\\$]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
- ;;
- *)
- eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
- ;;
- esac
-done
-
-ac_aux_dir='$ac_aux_dir'
-xsi_shell='$xsi_shell'
-lt_shell_append='$lt_shell_append'
-
-# See if we are running on zsh, and set the options which allow our
-# commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
-fi
-
-
- PACKAGE='$PACKAGE'
- VERSION='$VERSION'
- TIMESTAMP='$TIMESTAMP'
- RM='$RM'
- ofile='$ofile'
-
-
-
-TARGETDIR="$TARGETDIR"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
- case $ac_config_target in
- "fficonfig.h") CONFIG_HEADERS="$CONFIG_HEADERS fficonfig.h" ;;
- "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
- "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
- "include") CONFIG_COMMANDS="$CONFIG_COMMANDS include" ;;
- "src") CONFIG_COMMANDS="$CONFIG_COMMANDS src" ;;
- "include/ffitarget.h") CONFIG_LINKS="$CONFIG_LINKS include/ffitarget.h:src/$TARGETDIR/ffitarget.h" ;;
- "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
- "include/ffi.h") CONFIG_FILES="$CONFIG_FILES include/ffi.h" ;;
- "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- "testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;;
- "man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;;
- "libffi.pc") CONFIG_FILES="$CONFIG_FILES libffi.pc" ;;
-
- *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
- esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used. Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
- test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
- test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
- test "${CONFIG_LINKS+set}" = set || CONFIG_LINKS=$config_links
- test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience. Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
- tmp= ac_tmp=
- trap 'exit_status=$?
- : "${ac_tmp:=$tmp}"
- { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
-' 0
- trap 'as_fn_exit 1' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
- tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
- test -d "$tmp"
-} ||
-{
- tmp=./conf$$-$RANDOM
- (umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-ac_tmp=$tmp
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
- eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
- ac_cs_awk_cr='\\r'
-else
- ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
-_ACEOF
-
-
-{
- echo "cat >conf$$subs.awk <<_ACEOF" &&
- echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
- echo "_ACEOF"
-} >conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
- . ./conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-
- ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
- if test $ac_delim_n = $ac_delim_num; then
- break
- elif $ac_last_try; then
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\)..*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\)..*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^""]/{
- N
- s/\n//
-}
-' >>$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
- for (key in S) S_is_set[key] = 1
- FS = ""
-
-}
-{
- line = $ 0
- nfields = split(line, field, "@")
- substed = 0
- len = length(field[1])
- for (i = 2; i < nfields; i++) {
- key = field[i]
- keylen = length(key)
- if (S_is_set[key]) {
- value = S[key]
- line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
- len += length(value) + length(field[++i])
- substed = 1
- } else
- len += 1 + keylen
- }
-
- print line
-}
-
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
- sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
- cat
-fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
- || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
-# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
-h
-s///
-s/^/:/
-s/[ ]*$/:/
-s/:\$(srcdir):/:/g
-s/:\${srcdir}:/:/g
-s/:@srcdir@:/:/g
-s/^:*//
-s/:*$//
-x
-s/\(=[ ]*\).*/\1/
-G
-s/\n//
-s/^[^=]*=[ ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
-
-# Set up the scripts for CONFIG_HEADERS section.
-# No need to generate them if there are no CONFIG_HEADERS.
-# This happens for instance with `./config.status Makefile'.
-if test -n "$CONFIG_HEADERS"; then
-cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
-BEGIN {
-_ACEOF
-
-# Transform confdefs.h into an awk script `defines.awk', embedded as
-# here-document in config.status, that substitutes the proper values into
-# config.h.in to produce config.h.
-
-# Create a delimiter string that does not exist in confdefs.h, to ease
-# handling of long lines.
-ac_delim='%!_!# '
-for ac_last_try in false false :; do
- ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
- if test -z "$ac_tt"; then
- break
- elif $ac_last_try; then
- as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-
-# For the awk script, D is an array of macro values keyed by name,
-# likewise P contains macro parameters if any. Preserve backslash
-# newline sequences.
-
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-sed -n '
-s/.\{148\}/&'"$ac_delim"'/g
-t rset
-:rset
-s/^[ ]*#[ ]*define[ ][ ]*/ /
-t def
-d
-:def
-s/\\$//
-t bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3"/p
-s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
-d
-:bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3\\\\\\n"\\/p
-t cont
-s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
-t cont
-d
-:cont
-n
-s/.\{148\}/&'"$ac_delim"'/g
-t clear
-:clear
-s/\\$//
-t bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/"/p
-d
-:bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
-b cont
-' <confdefs.h | sed '
-s/'"$ac_delim"'/"\\\
-"/g' >>$CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- for (key in D) D_is_set[key] = 1
- FS = ""
-}
-/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
- line = \$ 0
- split(line, arg, " ")
- if (arg[1] == "#") {
- defundef = arg[2]
- mac1 = arg[3]
- } else {
- defundef = substr(arg[1], 2)
- mac1 = arg[2]
- }
- split(mac1, mac2, "(") #)
- macro = mac2[1]
- prefix = substr(line, 1, index(line, defundef) - 1)
- if (D_is_set[macro]) {
- # Preserve the white space surrounding the "#".
- print prefix "define", macro P[macro] D[macro]
- next
- } else {
- # Replace #undef with comments. This is necessary, for example,
- # in the case of _POSIX_SOURCE, which is predefined and required
- # on some systems where configure will not decide to define it.
- if (defundef == "undef") {
- print "/*", prefix defundef, macro, "*/"
- next
- }
- }
-}
-{ print }
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
- as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
-fi # test -n "$CONFIG_HEADERS"
-
-
-eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :L $CONFIG_LINKS :C $CONFIG_COMMANDS"
-shift
-for ac_tag
-do
- case $ac_tag in
- :[FHLC]) ac_mode=$ac_tag; continue;;
- esac
- case $ac_mode$ac_tag in
- :[FHL]*:*);;
- :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
- :[FH]-) ac_tag=-:-;;
- :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
- esac
- ac_save_IFS=$IFS
- IFS=:
- set x $ac_tag
- IFS=$ac_save_IFS
- shift
- ac_file=$1
- shift
-
- case $ac_mode in
- :L) ac_source=$1;;
- :[FH])
- ac_file_inputs=
- for ac_f
- do
- case $ac_f in
- -) ac_f="$ac_tmp/stdin";;
- *) # Look for the file first in the build tree, then in the source tree
- # (if the path is not absolute). The absolute path cannot be DOS-style,
- # because $ac_f cannot contain `:'.
- test -f "$ac_f" ||
- case $ac_f in
- [\\/$]*) false;;
- *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
- esac ||
- as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
- esac
- case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
- as_fn_append ac_file_inputs " '$ac_f'"
- done
-
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- configure_input='Generated from '`
- $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
- `' by configure.'
- if test x"$ac_file" != x-; then
- configure_input="$ac_file. $configure_input"
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
- fi
- # Neutralize special characters interpreted by sed in replacement strings.
- case $configure_input in #(
- *\&* | *\|* | *\\* )
- ac_sed_conf_input=`$as_echo "$configure_input" |
- sed 's/[\\\\&|]/\\\\&/g'`;; #(
- *) ac_sed_conf_input=$configure_input;;
- esac
-
- case $ac_tag in
- *:-:* | *:-) cat >"$ac_tmp/stdin" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
- esac
- ;;
- esac
-
- ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- as_dir="$ac_dir"; as_fn_mkdir_p
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
- case $ac_mode in
- :F)
- #
- # CONFIG_FILE
- #
-
- case $INSTALL in
- [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
- *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
- esac
- ac_MKDIR_P=$MKDIR_P
- case $MKDIR_P in
- [\\/$]* | ?:[\\/]* ) ;;
- */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
- esac
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
- p
- q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- ac_datarootdir_hack='
- s&@datadir@&$datadir&g
- s&@docdir@&$docdir&g
- s&@infodir@&$infodir&g
- s&@localedir@&$localedir&g
- s&@mandir@&$mandir&g
- s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-s&@INSTALL@&$ac_INSTALL&;t t
-s&@MKDIR_P@&$ac_MKDIR_P&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
- >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
- { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
- { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
- "$ac_tmp/out"`; test -z "$ac_out"; } &&
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined" >&2;}
-
- rm -f "$ac_tmp/stdin"
- case $ac_file in
- -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
- *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
- esac \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- ;;
- :H)
- #
- # CONFIG_HEADER
- #
- if test x"$ac_file" != x-; then
- {
- $as_echo "/* $configure_input */" \
- && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
- } >"$ac_tmp/config.h" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
- else
- rm -f "$ac_file"
- mv "$ac_tmp/config.h" "$ac_file" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- fi
- else
- $as_echo "/* $configure_input */" \
- && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
- || as_fn_error $? "could not create -" "$LINENO" 5
- fi
-# Compute "$ac_file"'s index in $config_headers.
-_am_arg="$ac_file"
-_am_stamp_count=1
-for _am_header in $config_headers :; do
- case $_am_header in
- $_am_arg | $_am_arg:* )
- break ;;
- * )
- _am_stamp_count=`expr $_am_stamp_count + 1` ;;
- esac
-done
-echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
-$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$_am_arg" : 'X\(//\)[^/]' \| \
- X"$_am_arg" : 'X\(//\)$' \| \
- X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$_am_arg" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`/stamp-h$_am_stamp_count
- ;;
- :L)
- #
- # CONFIG_LINK
- #
-
- if test "$ac_source" = "$ac_file" && test "$srcdir" = '.'; then
- :
- else
- # Prefer the file from the source tree if names are identical.
- if test "$ac_source" = "$ac_file" || test ! -r "$ac_source"; then
- ac_source=$srcdir/$ac_source
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: linking $ac_source to $ac_file" >&5
-$as_echo "$as_me: linking $ac_source to $ac_file" >&6;}
-
- if test ! -r "$ac_source"; then
- as_fn_error $? "$ac_source: file not found" "$LINENO" 5
- fi
- rm -f "$ac_file"
-
- # Try a relative symlink, then a hard link, then a copy.
- case $ac_source in
- [\\/$]* | ?:[\\/]* ) ac_rel_source=$ac_source ;;
- *) ac_rel_source=$ac_top_build_prefix$ac_source ;;
- esac
- ln -s "$ac_rel_source" "$ac_file" 2>/dev/null ||
- ln "$ac_source" "$ac_file" 2>/dev/null ||
- cp -p "$ac_source" "$ac_file" ||
- as_fn_error $? "cannot link or copy $ac_source to $ac_file" "$LINENO" 5
- fi
- ;;
- :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-$as_echo "$as_me: executing $ac_file commands" >&6;}
- ;;
- esac
-
-
- case $ac_file$ac_mode in
- "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
- # Autoconf 2.62 quotes --file arguments for eval, but not when files
- # are listed without --file. Let's play safe and only enable the eval
- # if we detect the quoting.
- case $CONFIG_FILES in
- *\'*) eval set x "$CONFIG_FILES" ;;
- *) set x $CONFIG_FILES ;;
- esac
- shift
- for mf
- do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # Grep'ing the whole file is not good either: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
- dirpart=`$as_dirname -- "$mf" ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$mf" : 'X\(//\)[^/]' \| \
- X"$mf" : 'X\(//\)$' \| \
- X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$mf" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`$as_dirname -- "$file" ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$file" : 'X\(//\)[^/]' \| \
- X"$file" : 'X\(//\)$' \| \
- X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- as_dir=$dirpart/$fdir; as_fn_mkdir_p
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
- done
-}
- ;;
- "libtool":C)
-
- # See if we are running on zsh, and set the options which allow our
- # commands through without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
-
- cfgfile="${ofile}T"
- trap "$RM \"$cfgfile\"; exit 1" 1 2 15
- $RM "$cfgfile"
-
- cat <<_LT_EOF >> "$cfgfile"
-#! $SHELL
-
-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-# Inc.
-# Written by Gordon Matzigkeit, 1996
-#
-# This file is part of GNU Libtool.
-#
-# GNU Libtool is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
-#
-# GNU Libtool is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING. If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-
-# The names of the tagged configurations supported by this script.
-available_tags=""
-
-# ### BEGIN LIBTOOL CONFIG
-
-# Which release of libtool.m4 was used?
-macro_version=$macro_version
-macro_revision=$macro_revision
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# What type of objects to build.
-pic_mode=$pic_mode
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# An echo program that protects backslashes.
-ECHO=$lt_ECHO
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# A sed program that does not truncate output.
-SED=$lt_SED
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="\$SED -e 1s/^X//"
-
-# A grep program that handles long lines.
-GREP=$lt_GREP
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# A literal string matcher.
-FGREP=$lt_FGREP
-
-# A BSD- or MS-compatible name lister.
-NM=$lt_NM
-
-# Whether we need soft or hard links.
-LN_S=$lt_LN_S
-
-# What is the maximum length of a command?
-max_cmd_len=$max_cmd_len
-
-# Object file suffix (normally "o").
-objext=$ac_objext
-
-# Executable file suffix (normally "").
-exeext=$exeext
-
-# whether the shell understands "unset".
-lt_unset=$lt_unset
-
-# turn spaces into newlines.
-SP2NL=$lt_lt_SP2NL
-
-# turn newlines into spaces.
-NL2SP=$lt_lt_NL2SP
-
-# convert \$build file names to \$host format.
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-
-# convert \$build files to toolchain format.
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-
-# An object symbol dumper.
-OBJDUMP=$lt_OBJDUMP
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method = "file_magic".
-file_magic_cmd=$lt_file_magic_cmd
-
-# How to find potential files when deplibs_check_method = "file_magic".
-file_magic_glob=$lt_file_magic_glob
-
-# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
-want_nocaseglob=$lt_want_nocaseglob
-
-# DLL creation program.
-DLLTOOL=$lt_DLLTOOL
-
-# Command to associate shared and link libraries.
-sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
-
-# The archiver.
-AR=$lt_AR
-
-# Flags to create an archive.
-AR_FLAGS=$lt_AR_FLAGS
-
-# How to feed a file listing to the archiver.
-archiver_list_spec=$lt_archiver_list_spec
-
-# A symbol stripping program.
-STRIP=$lt_STRIP
-
-# Commands used to install an old-style archive.
-RANLIB=$lt_RANLIB
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Whether to use a lock for old archive extraction.
-lock_old_archive_extraction=$lock_old_archive_extraction
-
-# A C compiler.
-LTCC=$lt_CC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_CFLAGS
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration.
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair.
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# Transform the output of nm in a C name address pair when lib prefix is needed.
-global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
-
-# Specify filename containing input files for \$NM.
-nm_file_list_spec=$lt_nm_file_list_spec
-
-# The root where to search for dependent libraries,and in which our libraries should be installed.
-lt_sysroot=$lt_sysroot
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# Used to examine libraries when file_magic_cmd begins with "file".
-MAGIC_CMD=$MAGIC_CMD
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Manifest tool.
-MANIFEST_TOOL=$lt_MANIFEST_TOOL
-
-# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
-DSYMUTIL=$lt_DSYMUTIL
-
-# Tool to change global to local symbols on Mac OS X.
-NMEDIT=$lt_NMEDIT
-
-# Tool to manipulate fat objects and archives on Mac OS X.
-LIPO=$lt_LIPO
-
-# ldd/readelf like tool for Mach-O binaries on Mac OS X.
-OTOOL=$lt_OTOOL
-
-# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
-OTOOL64=$lt_OTOOL64
-
-# Old archive suffix (normally "a").
-libext=$libext
-
-# Shared library suffix (normally ".so").
-shrext_cmds=$lt_shrext_cmds
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at link time.
-variables_saved_for_relink=$lt_variables_saved_for_relink
-
-# Do we need the "lib" prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Library versioning type.
-version_type=$version_type
-
-# Shared library runtime path variable.
-runpath_var=$runpath_var
-
-# Shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Permission mode override for installation of shared libraries.
-install_override_mode=$lt_install_override_mode
-
-# Command to use after installation of a shared archive.
-postinstall_cmds=$lt_postinstall_cmds
-
-# Command to use after uninstallation of a shared archive.
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# As "finish_cmds", except a single script fragment to be evaled but
-# not shown.
-finish_eval=$lt_finish_eval
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Compile-time system search path for libraries.
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries.
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-
-# The linker used to build libraries.
-LD=$lt_LD
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# Commands used to build an old-style archive.
-old_archive_cmds=$lt_old_archive_cmds
-
-# A language specific compiler.
-CC=$lt_compiler
-
-# Is the compiler the GNU compiler?
-with_gcc=$GCC
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc
-
-# Whether or not to disallow shared libs when runtime libs are static.
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec
-
-# Whether the compiler copes with passing no objects directly.
-compiler_needs_object=$lt_compiler_needs_object
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
-
-# Commands used to build a shared archive.
-archive_cmds=$lt_archive_cmds
-archive_expsym_cmds=$lt_archive_expsym_cmds
-
-# Commands used to build a loadable module if different from building
-# a shared archive.
-module_cmds=$lt_module_cmds
-module_expsym_cmds=$lt_module_expsym_cmds
-
-# Whether we are building with GNU ld or not.
-with_gnu_ld=$lt_with_gnu_ld
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag
-
-# Flag that enforces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
-
-# If ld is used when linking, flag to hardcode \$libdir into a binary
-# during linking. This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
-
-# Whether we need a single "-rpath" flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary.
-hardcode_direct=$hardcode_direct
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary and the resulting library dependency is
-# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
-# library is relocated.
-hardcode_direct_absolute=$hardcode_direct_absolute
-
-# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
-# into the resulting binary.
-hardcode_minus_L=$hardcode_minus_L
-
-# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
-# into the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var
-
-# Set to "yes" if building a shared library automatically hardcodes DIR
-# into the library and all subsequent libraries and executables linked
-# against it.
-hardcode_automatic=$hardcode_automatic
-
-# Set to yes if linker adds runtime paths of dependent libraries
-# to runtime path list.
-inherit_rpath=$inherit_rpath
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs
-
-# Set to "yes" if exported symbols are required.
-always_export_symbols=$always_export_symbols
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms
-
-# Commands necessary for linking programs (against libraries) with templates.
-prelink_cmds=$lt_prelink_cmds
-
-# Commands necessary for finishing linking programs.
-postlink_cmds=$lt_postlink_cmds
-
-# Specify filename containing input files.
-file_list_spec=$lt_file_list_spec
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action
-
-# ### END LIBTOOL CONFIG
-
-_LT_EOF
-
- case $host_os in
- aix3*)
- cat <<\_LT_EOF >> "$cfgfile"
-# AIX sometimes has problems with the GCC collect2 program. For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
-fi
-_LT_EOF
- ;;
- esac
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-
- # We use sed instead of cat because bash on DJGPP gets confused if
- # if finds mixed CR/LF and LF-only lines. Since sed operates in
- # text mode, it properly converts lines to CR/LF. This bash problem
- # is reportedly fixed, but why not run on old versions too?
- sed '$q' "$ltmain" >> "$cfgfile" \
- || (rm -f "$cfgfile"; exit 1)
-
- if test x"$xsi_shell" = xyes; then
- sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
-func_dirname ()\
-{\
-\ case ${1} in\
-\ */*) func_dirname_result="${1%/*}${2}" ;;\
-\ * ) func_dirname_result="${3}" ;;\
-\ esac\
-} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_basename ()$/,/^} # func_basename /c\
-func_basename ()\
-{\
-\ func_basename_result="${1##*/}"\
-} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
-func_dirname_and_basename ()\
-{\
-\ case ${1} in\
-\ */*) func_dirname_result="${1%/*}${2}" ;;\
-\ * ) func_dirname_result="${3}" ;;\
-\ esac\
-\ func_basename_result="${1##*/}"\
-} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
-func_stripname ()\
-{\
-\ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
-\ # positional parameters, so assign one to ordinary parameter first.\
-\ func_stripname_result=${3}\
-\ func_stripname_result=${func_stripname_result#"${1}"}\
-\ func_stripname_result=${func_stripname_result%"${2}"}\
-} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
-func_split_long_opt ()\
-{\
-\ func_split_long_opt_name=${1%%=*}\
-\ func_split_long_opt_arg=${1#*=}\
-} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
-func_split_short_opt ()\
-{\
-\ func_split_short_opt_arg=${1#??}\
-\ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
-} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
-func_lo2o ()\
-{\
-\ case ${1} in\
-\ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
-\ *) func_lo2o_result=${1} ;;\
-\ esac\
-} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_xform ()$/,/^} # func_xform /c\
-func_xform ()\
-{\
- func_xform_result=${1%.*}.lo\
-} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_arith ()$/,/^} # func_arith /c\
-func_arith ()\
-{\
- func_arith_result=$(( $* ))\
-} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_len ()$/,/^} # func_len /c\
-func_len ()\
-{\
- func_len_result=${#1}\
-} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-fi
-
-if test x"$lt_shell_append" = xyes; then
- sed -e '/^func_append ()$/,/^} # func_append /c\
-func_append ()\
-{\
- eval "${1}+=\\${2}"\
-} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
-func_append_quoted ()\
-{\
-\ func_quote_for_eval "${2}"\
-\ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
-} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- # Save a `func_append' function call where possible by direct use of '+='
- sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
- test 0 -eq $? || _lt_function_replace_fail=:
-else
- # Save a `func_append' function call even when '+=' is not available
- sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
- test 0 -eq $? || _lt_function_replace_fail=:
-fi
-
-if test x"$_lt_function_replace_fail" = x":"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
-$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
-fi
-
-
- mv -f "$cfgfile" "$ofile" ||
- (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
- chmod +x "$ofile"
-
- ;;
- "include":C) test -d include || mkdir include ;;
- "src":C)
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
- ;;
-
- esac
-done # for ac_tag
-
-
-as_fn_exit 0
-_ACEOF
-ac_clean_files=$ac_clean_files_save
-
-test $ac_write_fail = 0 ||
- as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded. So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status. When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
- ac_cs_success=:
- ac_config_status_args=
- test "$silent" = yes &&
- ac_config_status_args="$ac_config_status_args --quiet"
- exec 5>/dev/null
- $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
- exec 5>>config.log
- # Use ||, not &&, to avoid exiting from the if with $? = 1, which
- # would make configure fail if this is the last instruction.
- $ac_cs_success || as_fn_exit 1
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
-
diff --git a/.pc/interix/configure.ac b/.pc/interix/configure.ac
deleted file mode 100644
index d926ee3..0000000
--- a/.pc/interix/configure.ac
+++ /dev/null
@@ -1,491 +0,0 @@
-dnl Process this with autoconf to create configure
-
-AC_PREREQ(2.63)
-
-AC_INIT([libffi], [3.0.11-rc2], [http://github.com/atgreen/libffi/issues])
-AC_CONFIG_HEADERS([fficonfig.h])
-
-AC_CANONICAL_SYSTEM
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-AM_INIT_AUTOMAKE
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-# Also save and restore CFLAGS, since AC_PROG_CC will come up with
-# defaults of its own if none are provided.
-
-m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS])
-m4_define([_AC_ARG_VAR_PRECIOUS],[])
-save_CFLAGS=$CFLAGS
-AC_PROG_CC
-CFLAGS=$save_CFLAGS
-m4_undefine([_AC_ARG_VAR_PRECIOUS])
-m4_rename([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
-
-AC_SUBST(CFLAGS)
-
-AM_PROG_AS
-AM_PROG_CC_C_O
-AC_PROG_LIBTOOL
-AC_CONFIG_MACRO_DIR([m4])
-
-AM_MAINTAINER_MODE
-
-AC_CHECK_HEADERS(sys/mman.h)
-AC_CHECK_FUNCS(mmap)
-AC_FUNC_MMAP_BLACKLIST
-
-dnl The -no-testsuite modules omit the test subdir.
-AM_CONDITIONAL(TESTSUBDIR, test -d $srcdir/testsuite)
-
-TARGETDIR="unknown"
-case "$host" in
- alpha*-*-*)
- TARGET=ALPHA; TARGETDIR=alpha;
- # Support 128-bit long double, changeable via command-line switch.
- HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
- ;;
-
- arm*-*-*)
- TARGET=ARM; TARGETDIR=arm
- ;;
-
- amd64-*-freebsd* | amd64-*-openbsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- amd64-*-freebsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- avr32*-*-*)
- TARGET=AVR32; TARGETDIR=avr32
- ;;
-
- cris-*-*)
- TARGET=LIBFFI_CRIS; TARGETDIR=cris
- ;;
-
- frv-*-*)
- TARGET=FRV; TARGETDIR=frv
- ;;
-
- hppa*-*-linux* | parisc*-*-linux*)
- TARGET=PA_LINUX; TARGETDIR=pa
- ;;
- hppa*64-*-hpux*)
- TARGET=PA64_HPUX; TARGETDIR=pa
- ;;
- hppa*-*-hpux*)
- TARGET=PA_HPUX; TARGETDIR=pa
- ;;
-
- i?86-*-freebsd* | i?86-*-openbsd*)
- TARGET=X86_FREEBSD; TARGETDIR=x86
- ;;
- i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2*)
- TARGET=X86_WIN32; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
- i?86-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
- i?86-*-solaris2.1[[0-9]]*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
- i?86-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- ia64*-*-*)
- TARGET=IA64; TARGETDIR=ia64
- ;;
-
- m32r*-*-*)
- TARGET=M32R; TARGETDIR=m32r
- ;;
-
- m68k-*-*)
- TARGET=M68K; TARGETDIR=m68k
- ;;
-
- mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
- TARGET=MIPS; TARGETDIR=mips
- ;;
- mips*-*-linux*)
- # Support 128-bit long double for NewABI.
- HAVE_LONG_DOUBLE='defined(__mips64)'
- TARGET=MIPS; TARGETDIR=mips
- ;;
-
- moxie-*-*)
- TARGET=MOXIE; TARGETDIR=moxie
- ;;
-
- powerpc*-*-linux* | powerpc-*-sysv*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-beos*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-darwin*)
- TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
- ;;
- powerpc-*-aix* | rs6000-*-aix*)
- TARGET=POWERPC_AIX; TARGETDIR=powerpc
- ;;
- powerpc-*-freebsd*)
- TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
- ;;
- powerpc64-*-freebsd*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc*-*-rtems*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
-
- s390-*-* | s390x-*-*)
- TARGET=S390; TARGETDIR=s390
- ;;
-
- sh-*-* | sh[[34]]*-*-*)
- TARGET=SH; TARGETDIR=sh
- ;;
- sh64-*-* | sh5*-*-*)
- TARGET=SH64; TARGETDIR=sh64
- ;;
-
- sparc*-*-*)
- TARGET=SPARC; TARGETDIR=sparc
- ;;
-
- x86_64-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
-
- x86_64-*-cygwin* | x86_64-*-mingw*)
- TARGET=X86_WIN64; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
-
- x86_64-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-esac
-
-AC_SUBST(AM_RUNTESTFLAGS)
-AC_SUBST(AM_LTLDFLAGS)
-
-if test $TARGETDIR = unknown; then
- AC_MSG_ERROR(["libffi has not been ported to $host."])
-fi
-
-AM_CONDITIONAL(MIPS, test x$TARGET = xMIPS)
-AM_CONDITIONAL(SPARC, test x$TARGET = xSPARC)
-AM_CONDITIONAL(X86, test x$TARGET = xX86)
-AM_CONDITIONAL(X86_FREEBSD, test x$TARGET = xX86_FREEBSD)
-AM_CONDITIONAL(X86_WIN32, test x$TARGET = xX86_WIN32)
-AM_CONDITIONAL(X86_WIN64, test x$TARGET = xX86_WIN64)
-AM_CONDITIONAL(X86_DARWIN, test x$TARGET = xX86_DARWIN)
-AM_CONDITIONAL(ALPHA, test x$TARGET = xALPHA)
-AM_CONDITIONAL(IA64, test x$TARGET = xIA64)
-AM_CONDITIONAL(M32R, test x$TARGET = xM32R)
-AM_CONDITIONAL(M68K, test x$TARGET = xM68K)
-AM_CONDITIONAL(MOXIE, test x$TARGET = xMOXIE)
-AM_CONDITIONAL(POWERPC, test x$TARGET = xPOWERPC)
-AM_CONDITIONAL(POWERPC_AIX, test x$TARGET = xPOWERPC_AIX)
-AM_CONDITIONAL(POWERPC_DARWIN, test x$TARGET = xPOWERPC_DARWIN)
-AM_CONDITIONAL(POWERPC_FREEBSD, test x$TARGET = xPOWERPC_FREEBSD)
-AM_CONDITIONAL(ARM, test x$TARGET = xARM)
-AM_CONDITIONAL(AVR32, test x$TARGET = xAVR32)
-AM_CONDITIONAL(LIBFFI_CRIS, test x$TARGET = xLIBFFI_CRIS)
-AM_CONDITIONAL(FRV, test x$TARGET = xFRV)
-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)
-AM_CONDITIONAL(PA_LINUX, test x$TARGET = xPA_LINUX)
-AM_CONDITIONAL(PA_HPUX, test x$TARGET = xPA_HPUX)
-AM_CONDITIONAL(PA64_HPUX, test x$TARGET = xPA64_HPUX)
-
-AC_HEADER_STDC
-AC_CHECK_FUNCS(memcpy)
-AC_FUNC_ALLOCA
-
-AC_CHECK_SIZEOF(double)
-AC_CHECK_SIZEOF(long double)
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
- HAVE_LONG_DOUBLE=0
- if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
- if test $ac_cv_sizeof_long_double != 0; then
- HAVE_LONG_DOUBLE=1
- AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the long double type and it is bigger than a double])
- fi
- fi
-fi
-AC_SUBST(HAVE_LONG_DOUBLE)
-
-AC_C_BIGENDIAN
-
-GCC_AS_CFI_PSEUDO_OP
-
-if test x$TARGET = xSPARC; then
- AC_CACHE_CHECK([assembler and linker support unaligned pc related relocs],
- libffi_cv_as_sparc_ua_pcrel, [
- save_CFLAGS="$CFLAGS"
- save_LDFLAGS="$LDFLAGS"
- CFLAGS="$CFLAGS -fpic"
- LDFLAGS="$LDFLAGS -shared"
- AC_TRY_LINK([asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");],,
- [libffi_cv_as_sparc_ua_pcrel=yes],
- [libffi_cv_as_sparc_ua_pcrel=no])
- CFLAGS="$save_CFLAGS"
- LDFLAGS="$save_LDFLAGS"])
- if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
- AC_DEFINE(HAVE_AS_SPARC_UA_PCREL, 1,
- [Define if your assembler and linker support unaligned PC relative relocs.])
- fi
-
- AC_CACHE_CHECK([assembler .register pseudo-op support],
- libffi_cv_as_register_pseudo_op, [
- libffi_cv_as_register_pseudo_op=unknown
- # Check if we have .register
- AC_TRY_COMPILE([asm (".register %g2, #scratch");],,
- [libffi_cv_as_register_pseudo_op=yes],
- [libffi_cv_as_register_pseudo_op=no])
- ])
- if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
- AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP, 1,
- [Define if your assembler supports .register.])
- fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
- AC_CACHE_CHECK([assembler supports pc related relocs],
- libffi_cv_as_x86_pcrel, [
- libffi_cv_as_x86_pcrel=no
- echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
- if $CC $CFLAGS -c conftest.s > /dev/null; then
- libffi_cv_as_x86_pcrel=yes
- fi
- ])
- if test "x$libffi_cv_as_x86_pcrel" = xyes; then
- AC_DEFINE(HAVE_AS_X86_PCREL, 1,
- [Define if your assembler supports PC relative relocs.])
- fi
-
- AC_CACHE_CHECK([assembler .ascii pseudo-op support],
- libffi_cv_as_ascii_pseudo_op, [
- libffi_cv_as_ascii_pseudo_op=unknown
- # Check if we have .ascii
- AC_TRY_COMPILE([asm (".ascii \\"string\\"");],,
- [libffi_cv_as_ascii_pseudo_op=yes],
- [libffi_cv_as_ascii_pseudo_op=no])
- ])
- if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
- AC_DEFINE(HAVE_AS_ASCII_PSEUDO_OP, 1,
- [Define if your assembler supports .ascii.])
- fi
-
- AC_CACHE_CHECK([assembler .string pseudo-op support],
- libffi_cv_as_string_pseudo_op, [
- libffi_cv_as_string_pseudo_op=unknown
- # Check if we have .string
- AC_TRY_COMPILE([asm (".string \\"string\\"");],,
- [libffi_cv_as_string_pseudo_op=yes],
- [libffi_cv_as_string_pseudo_op=no])
- ])
- if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
- AC_DEFINE(HAVE_AS_STRING_PSEUDO_OP, 1,
- [Define if your assembler supports .string.])
- fi
-fi
-
-if test x$TARGET = xX86_WIN64; then
- LT_SYS_SYMBOL_USCORE
- if test "x$sys_symbol_underscore" = xyes; then
- AC_DEFINE(SYMBOL_UNDERSCORE, 1, [Define if symbols are underscored.])
- fi
-fi
-
-
-FFI_EXEC_TRAMPOLINE_TABLE=0
-case "$target" in
- *arm*-apple-darwin*)
- FFI_EXEC_TRAMPOLINE_TABLE=1
- AC_DEFINE(FFI_EXEC_TRAMPOLINE_TABLE, 1,
- [Cannot use PROT_EXEC on this target, so, we revert to
- alternative means])
- ;;
- *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
- AC_DEFINE(FFI_MMAP_EXEC_WRIT, 1,
- [Cannot use malloc on this target, so, we revert to
- alternative means])
- ;;
-esac
-AM_CONDITIONAL(FFI_EXEC_TRAMPOLINE_TABLE, test x$FFI_EXEC_TRAMPOLINE_TABLE = x1)
-AC_SUBST(FFI_EXEC_TRAMPOLINE_TABLE)
-
-if test x$TARGET = xX86_64; then
- AC_CACHE_CHECK([assembler supports unwind section type],
- libffi_cv_as_x86_64_unwind_section_type, [
- libffi_cv_as_x86_64_unwind_section_type=yes
- echo '.section .eh_frame,"a",@unwind' > conftest.s
- if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
- libffi_cv_as_x86_64_unwind_section_type=no
- fi
- ])
- if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
- AC_DEFINE(HAVE_AS_X86_64_UNWIND_SECTION_TYPE, 1,
- [Define if your assembler supports unwind section type.])
- fi
-fi
-
-if test "x$GCC" = "xyes"; then
- AC_CACHE_CHECK([whether .eh_frame section should be read-only],
- libffi_cv_ro_eh_frame, [
- libffi_cv_ro_eh_frame=no
- echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
- if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
- if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- elif grep '.section.*eh_frame.*#alloc' conftest.c \
- | grep -v '#write' > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- fi
- fi
- rm -f conftest.*
- ])
- if test "x$libffi_cv_ro_eh_frame" = xyes; then
- AC_DEFINE(HAVE_RO_EH_FRAME, 1,
- [Define if .eh_frame sections should be read-only.])
- AC_DEFINE(EH_FRAME_FLAGS, "a",
- [Define to the flags needed for the .section .eh_frame directive. ])
- else
- AC_DEFINE(EH_FRAME_FLAGS, "aw",
- [Define to the flags needed for the .section .eh_frame directive. ])
- fi
-
- AC_CACHE_CHECK([for __attribute__((visibility("hidden")))],
- libffi_cv_hidden_visibility_attribute, [
- echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1 ; }' > conftest.c
- libffi_cv_hidden_visibility_attribute=no
- if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
- if grep '\.hidden.*foo' conftest.s >/dev/null; then
- libffi_cv_hidden_visibility_attribute=yes
- fi
- fi
- rm -f conftest.*
- ])
- if test $libffi_cv_hidden_visibility_attribute = yes; then
- AC_DEFINE(HAVE_HIDDEN_VISIBILITY_ATTRIBUTE, 1,
- [Define if __attribute__((visibility("hidden"))) is supported.])
- fi
-fi
-
-AH_BOTTOM([
-#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
-])
-
-AC_SUBST(TARGET)
-AC_SUBST(TARGETDIR)
-
-AC_SUBST(SHELL)
-
-AC_ARG_ENABLE(debug,
-[ --enable-debug debugging mode],
- if test "$enable_debug" = "yes"; then
- AC_DEFINE(FFI_DEBUG, 1, [Define this if you want extra debugging.])
- fi)
-AM_CONDITIONAL(FFI_DEBUG, test "$enable_debug" = "yes")
-
-AC_ARG_ENABLE(structs,
-[ --disable-structs omit code for struct support],
- if test "$enable_structs" = "no"; then
- AC_DEFINE(FFI_NO_STRUCTS, 1, [Define this is you do not want support for aggregate types.])
- fi)
-
-AC_ARG_ENABLE(raw-api,
-[ --disable-raw-api make the raw api unavailable],
- if test "$enable_raw_api" = "no"; then
- AC_DEFINE(FFI_NO_RAW_API, 1, [Define this is you do not want support for the raw API.])
- fi)
-
-AC_ARG_ENABLE(purify-safety,
-[ --enable-purify-safety purify-safe mode],
- if test "$enable_purify_safety" = "yes"; then
- AC_DEFINE(USING_PURIFY, 1, [Define this if you are using Purify and want to suppress spurious messages.])
- fi)
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- toolexecdir='$(exec_prefix)/$(target_alias)'
- toolexeclibdir='$(toolexecdir)/lib'
- else
- toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
- toolexeclibdir='$(libdir)'
- fi
- multi_os_directory=`$CC -print-multi-os-directory`
- case $multi_os_directory in
- .) ;; # Avoid trailing /.
- *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
- esac
- AC_SUBST(toolexecdir)
- AC_SUBST(toolexeclibdir)
-fi
-
-if test "${multilib}" = "yes"; then
- multilib_arg="--enable-multilib"
-else
- multilib_arg=
-fi
-
-AC_CONFIG_COMMANDS(include, [test -d include || mkdir include])
-AC_CONFIG_COMMANDS(src, [
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
-], [TARGETDIR="$TARGETDIR"])
-
-AC_CONFIG_LINKS(include/ffitarget.h:src/$TARGETDIR/ffitarget.h)
-
-AC_CONFIG_FILES(include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc)
-
-AC_OUTPUT
diff --git a/.pc/interix/src/closures.c b/.pc/interix/src/closures.c
deleted file mode 100644
index 39067ac..0000000
--- a/.pc/interix/src/closures.c
+++ /dev/null
@@ -1,615 +0,0 @@
-/* -----------------------------------------------------------------------
- closures.c - Copyright (c) 2007, 2009, 2010 Red Hat, Inc.
- Copyright (C) 2007, 2009, 2010 Free Software Foundation, Inc
- Copyright (c) 2011 Plausible Labs Cooperative, Inc.
-
- Code to allocate and deallocate memory for closures.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
- ----------------------------------------------------------------------- */
-
-#if defined __linux__ && !defined _GNU_SOURCE
-#define _GNU_SOURCE 1
-#endif
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#if !FFI_MMAP_EXEC_WRIT && !FFI_EXEC_TRAMPOLINE_TABLE
-# if __gnu_linux__
-/* This macro indicates it may be forbidden to map anonymous memory
- with both write and execute permission. Code compiled when this
- option is defined will attempt to map such pages once, but if it
- fails, it falls back to creating a temporary file in a writable and
- executable filesystem and mapping pages from it into separate
- locations in the virtual memory space, one location writable and
- another executable. */
-# define FFI_MMAP_EXEC_WRIT 1
-# define HAVE_MNTENT 1
-# endif
-# if defined(X86_WIN32) || defined(X86_WIN64) || defined(__OS2__)
-/* Windows systems may have Data Execution Protection (DEP) enabled,
- which requires the use of VirtualMalloc/VirtualFree to alloc/free
- executable memory. */
-# define FFI_MMAP_EXEC_WRIT 1
-# endif
-#endif
-
-#if FFI_MMAP_EXEC_WRIT && !defined FFI_MMAP_EXEC_SELINUX
-# ifdef __linux__
-/* When defined to 1 check for SELinux and if SELinux is active,
- don't attempt PROT_EXEC|PROT_WRITE mapping at all, as that
- might cause audit messages. */
-# define FFI_MMAP_EXEC_SELINUX 1
-# endif
-#endif
-
-#if FFI_CLOSURES
-
-# if FFI_EXEC_TRAMPOLINE_TABLE
-
-// Per-target implementation; It's unclear what can reasonable be shared between two OS/architecture implementations.
-
-# elif FFI_MMAP_EXEC_WRIT /* !FFI_EXEC_TRAMPOLINE_TABLE */
-
-#define USE_LOCKS 1
-#define USE_DL_PREFIX 1
-#ifdef __GNUC__
-#ifndef USE_BUILTIN_FFS
-#define USE_BUILTIN_FFS 1
-#endif
-#endif
-
-/* We need to use mmap, not sbrk. */
-#define HAVE_MORECORE 0
-
-/* We could, in theory, support mremap, but it wouldn't buy us anything. */
-#define HAVE_MREMAP 0
-
-/* We have no use for this, so save some code and data. */
-#define NO_MALLINFO 1
-
-/* We need all allocations to be in regular segments, otherwise we
- lose track of the corresponding code address. */
-#define DEFAULT_MMAP_THRESHOLD MAX_SIZE_T
-
-/* Don't allocate more than a page unless needed. */
-#define DEFAULT_GRANULARITY ((size_t)malloc_getpagesize)
-
-#if FFI_CLOSURE_TEST
-/* Don't release single pages, to avoid a worst-case scenario of
- continuously allocating and releasing single pages, but release
- pairs of pages, which should do just as well given that allocations
- are likely to be small. */
-#define DEFAULT_TRIM_THRESHOLD ((size_t)malloc_getpagesize)
-#endif
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <errno.h>
-#ifndef _MSC_VER
-#include <unistd.h>
-#endif
-#include <string.h>
-#include <stdio.h>
-#if !defined(X86_WIN32) && !defined(X86_WIN64)
-#ifdef HAVE_MNTENT
-#include <mntent.h>
-#endif /* HAVE_MNTENT */
-#include <sys/param.h>
-#include <pthread.h>
-
-/* We don't want sys/mman.h to be included after we redefine mmap and
- dlmunmap. */
-#include <sys/mman.h>
-#define LACKS_SYS_MMAN_H 1
-
-#if FFI_MMAP_EXEC_SELINUX
-#include <sys/statfs.h>
-#include <stdlib.h>
-
-static int selinux_enabled = -1;
-
-static int
-selinux_enabled_check (void)
-{
- struct statfs sfs;
- FILE *f;
- char *buf = NULL;
- size_t len = 0;
-
- if (statfs ("/selinux", &sfs) >= 0
- && (unsigned int) sfs.f_type == 0xf97cff8cU)
- return 1;
- f = fopen ("/proc/mounts", "r");
- if (f == NULL)
- return 0;
- while (getline (&buf, &len, f) >= 0)
- {
- char *p = strchr (buf, ' ');
- if (p == NULL)
- break;
- p = strchr (p + 1, ' ');
- if (p == NULL)
- break;
- if (strncmp (p + 1, "selinuxfs ", 10) == 0)
- {
- free (buf);
- fclose (f);
- return 1;
- }
- }
- free (buf);
- fclose (f);
- return 0;
-}
-
-#define is_selinux_enabled() (selinux_enabled >= 0 ? selinux_enabled \
- : (selinux_enabled = selinux_enabled_check ()))
-
-#else
-
-#define is_selinux_enabled() 0
-
-#endif /* !FFI_MMAP_EXEC_SELINUX */
-
-#elif defined (__CYGWIN__)
-
-#include <sys/mman.h>
-
-/* Cygwin is Linux-like, but not quite that Linux-like. */
-#define is_selinux_enabled() 0
-
-#endif /* !defined(X86_WIN32) && !defined(X86_WIN64) */
-
-/* Declare all functions defined in dlmalloc.c as static. */
-static void *dlmalloc(size_t);
-static void dlfree(void*);
-static void *dlcalloc(size_t, size_t) MAYBE_UNUSED;
-static void *dlrealloc(void *, size_t) MAYBE_UNUSED;
-static void *dlmemalign(size_t, size_t) MAYBE_UNUSED;
-static void *dlvalloc(size_t) MAYBE_UNUSED;
-static int dlmallopt(int, int) MAYBE_UNUSED;
-static size_t dlmalloc_footprint(void) MAYBE_UNUSED;
-static size_t dlmalloc_max_footprint(void) MAYBE_UNUSED;
-static void** dlindependent_calloc(size_t, size_t, void**) MAYBE_UNUSED;
-static void** dlindependent_comalloc(size_t, size_t*, void**) MAYBE_UNUSED;
-static void *dlpvalloc(size_t) MAYBE_UNUSED;
-static int dlmalloc_trim(size_t) MAYBE_UNUSED;
-static size_t dlmalloc_usable_size(void*) MAYBE_UNUSED;
-static void dlmalloc_stats(void) MAYBE_UNUSED;
-
-#if !(defined(X86_WIN32) || defined(X86_WIN64) || defined(__OS2__)) || defined (__CYGWIN__)
-/* Use these for mmap and munmap within dlmalloc.c. */
-static void *dlmmap(void *, size_t, int, int, int, off_t);
-static int dlmunmap(void *, size_t);
-#endif /* !(defined(X86_WIN32) || defined(X86_WIN64) || defined(__OS2__)) || defined (__CYGWIN__) */
-
-#define mmap dlmmap
-#define munmap dlmunmap
-
-#include "dlmalloc.c"
-
-#undef mmap
-#undef munmap
-
-#if !(defined(X86_WIN32) || defined(X86_WIN64) || defined(__OS2__)) || defined (__CYGWIN__)
-
-/* A mutex used to synchronize access to *exec* variables in this file. */
-static pthread_mutex_t open_temp_exec_file_mutex = PTHREAD_MUTEX_INITIALIZER;
-
-/* A file descriptor of a temporary file from which we'll map
- executable pages. */
-static int execfd = -1;
-
-/* The amount of space already allocated from the temporary file. */
-static size_t execsize = 0;
-
-/* Open a temporary file name, and immediately unlink it. */
-static int
-open_temp_exec_file_name (char *name)
-{
- int fd = mkstemp (name);
-
- if (fd != -1)
- unlink (name);
-
- return fd;
-}
-
-/* Open a temporary file in the named directory. */
-static int
-open_temp_exec_file_dir (const char *dir)
-{
- static const char suffix[] = "/ffiXXXXXX";
- int lendir = strlen (dir);
- char *tempname = __builtin_alloca (lendir + sizeof (suffix));
-
- if (!tempname)
- return -1;
-
- memcpy (tempname, dir, lendir);
- memcpy (tempname + lendir, suffix, sizeof (suffix));
-
- return open_temp_exec_file_name (tempname);
-}
-
-/* Open a temporary file in the directory in the named environment
- variable. */
-static int
-open_temp_exec_file_env (const char *envvar)
-{
- const char *value = getenv (envvar);
-
- if (!value)
- return -1;
-
- return open_temp_exec_file_dir (value);
-}
-
-#ifdef HAVE_MNTENT
-/* Open a temporary file in an executable and writable mount point
- listed in the mounts file. Subsequent calls with the same mounts
- keep searching for mount points in the same file. Providing NULL
- as the mounts file closes the file. */
-static int
-open_temp_exec_file_mnt (const char *mounts)
-{
- static const char *last_mounts;
- static FILE *last_mntent;
-
- if (mounts != last_mounts)
- {
- if (last_mntent)
- endmntent (last_mntent);
-
- last_mounts = mounts;
-
- if (mounts)
- last_mntent = setmntent (mounts, "r");
- else
- last_mntent = NULL;
- }
-
- if (!last_mntent)
- return -1;
-
- for (;;)
- {
- int fd;
- struct mntent mnt;
- char buf[MAXPATHLEN * 3];
-
- if (getmntent_r (last_mntent, &mnt, buf, sizeof (buf)) == NULL)
- return -1;
-
- if (hasmntopt (&mnt, "ro")
- || hasmntopt (&mnt, "noexec")
- || access (mnt.mnt_dir, W_OK))
- continue;
-
- fd = open_temp_exec_file_dir (mnt.mnt_dir);
-
- if (fd != -1)
- return fd;
- }
-}
-#endif /* HAVE_MNTENT */
-
-/* Instructions to look for a location to hold a temporary file that
- can be mapped in for execution. */
-static struct
-{
- int (*func)(const char *);
- const char *arg;
- int repeat;
-} open_temp_exec_file_opts[] = {
- { open_temp_exec_file_env, "TMPDIR", 0 },
- { open_temp_exec_file_dir, "/tmp", 0 },
- { open_temp_exec_file_dir, "/var/tmp", 0 },
- { open_temp_exec_file_dir, "/dev/shm", 0 },
- { open_temp_exec_file_env, "HOME", 0 },
-#ifdef HAVE_MNTENT
- { open_temp_exec_file_mnt, "/etc/mtab", 1 },
- { open_temp_exec_file_mnt, "/proc/mounts", 1 },
-#endif /* HAVE_MNTENT */
-};
-
-/* Current index into open_temp_exec_file_opts. */
-static int open_temp_exec_file_opts_idx = 0;
-
-/* Reset a current multi-call func, then advances to the next entry.
- If we're at the last, go back to the first and return nonzero,
- otherwise return zero. */
-static int
-open_temp_exec_file_opts_next (void)
-{
- if (open_temp_exec_file_opts[open_temp_exec_file_opts_idx].repeat)
- open_temp_exec_file_opts[open_temp_exec_file_opts_idx].func (NULL);
-
- open_temp_exec_file_opts_idx++;
- if (open_temp_exec_file_opts_idx
- == (sizeof (open_temp_exec_file_opts)
- / sizeof (*open_temp_exec_file_opts)))
- {
- open_temp_exec_file_opts_idx = 0;
- return 1;
- }
-
- return 0;
-}
-
-/* Return a file descriptor of a temporary zero-sized file in a
- writable and exexutable filesystem. */
-static int
-open_temp_exec_file (void)
-{
- int fd;
-
- do
- {
- fd = open_temp_exec_file_opts[open_temp_exec_file_opts_idx].func
- (open_temp_exec_file_opts[open_temp_exec_file_opts_idx].arg);
-
- if (!open_temp_exec_file_opts[open_temp_exec_file_opts_idx].repeat
- || fd == -1)
- {
- if (open_temp_exec_file_opts_next ())
- break;
- }
- }
- while (fd == -1);
-
- return fd;
-}
-
-/* Map in a chunk of memory from the temporary exec file into separate
- locations in the virtual memory address space, one writable and one
- executable. Returns the address of the writable portion, after
- storing an offset to the corresponding executable portion at the
- last word of the requested chunk. */
-static void *
-dlmmap_locked (void *start, size_t length, int prot, int flags, off_t offset)
-{
- void *ptr;
-
- if (execfd == -1)
- {
- open_temp_exec_file_opts_idx = 0;
- retry_open:
- execfd = open_temp_exec_file ();
- if (execfd == -1)
- return MFAIL;
- }
-
- offset = execsize;
-
- if (ftruncate (execfd, offset + length))
- return MFAIL;
-
- flags &= ~(MAP_PRIVATE | MAP_ANONYMOUS);
- flags |= MAP_SHARED;
-
- ptr = mmap (NULL, length, (prot & ~PROT_WRITE) | PROT_EXEC,
- flags, execfd, offset);
- if (ptr == MFAIL)
- {
- if (!offset)
- {
- close (execfd);
- goto retry_open;
- }
- ftruncate (execfd, offset);
- return MFAIL;
- }
- else if (!offset
- && open_temp_exec_file_opts[open_temp_exec_file_opts_idx].repeat)
- open_temp_exec_file_opts_next ();
-
- start = mmap (start, length, prot, flags, execfd, offset);
-
- if (start == MFAIL)
- {
- munmap (ptr, length);
- ftruncate (execfd, offset);
- return start;
- }
-
- mmap_exec_offset ((char *)start, length) = (char*)ptr - (char*)start;
-
- execsize += length;
-
- return start;
-}
-
-/* Map in a writable and executable chunk of memory if possible.
- Failing that, fall back to dlmmap_locked. */
-static void *
-dlmmap (void *start, size_t length, int prot,
- int flags, int fd, off_t offset)
-{
- void *ptr;
-
- assert (start == NULL && length % malloc_getpagesize == 0
- && prot == (PROT_READ | PROT_WRITE)
- && flags == (MAP_PRIVATE | MAP_ANONYMOUS)
- && fd == -1 && offset == 0);
-
-#if FFI_CLOSURE_TEST
- printf ("mapping in %zi\n", length);
-#endif
-
- if (execfd == -1 && !is_selinux_enabled ())
- {
- ptr = mmap (start, length, prot | PROT_EXEC, flags, fd, offset);
-
- if (ptr != MFAIL || (errno != EPERM && errno != EACCES))
- /* Cool, no need to mess with separate segments. */
- return ptr;
-
- /* If MREMAP_DUP is ever introduced and implemented, try mmap
- with ((prot & ~PROT_WRITE) | PROT_EXEC) and mremap with
- MREMAP_DUP and prot at this point. */
- }
-
- if (execsize == 0 || execfd == -1)
- {
- pthread_mutex_lock (&open_temp_exec_file_mutex);
- ptr = dlmmap_locked (start, length, prot, flags, offset);
- pthread_mutex_unlock (&open_temp_exec_file_mutex);
-
- return ptr;
- }
-
- return dlmmap_locked (start, length, prot, flags, offset);
-}
-
-/* Release memory at the given address, as well as the corresponding
- executable page if it's separate. */
-static int
-dlmunmap (void *start, size_t length)
-{
- /* We don't bother decreasing execsize or truncating the file, since
- we can't quite tell whether we're unmapping the end of the file.
- We don't expect frequent deallocation anyway. If we did, we
- could locate pages in the file by writing to the pages being
- deallocated and checking that the file contents change.
- Yuck. */
- msegmentptr seg = segment_holding (gm, start);
- void *code;
-
-#if FFI_CLOSURE_TEST
- printf ("unmapping %zi\n", length);
-#endif
-
- if (seg && (code = add_segment_exec_offset (start, seg)) != start)
- {
- int ret = munmap (code, length);
- if (ret)
- return ret;
- }
-
- return munmap (start, length);
-}
-
-#if FFI_CLOSURE_FREE_CODE
-/* Return segment holding given code address. */
-static msegmentptr
-segment_holding_code (mstate m, char* addr)
-{
- msegmentptr sp = &m->seg;
- for (;;) {
- if (addr >= add_segment_exec_offset (sp->base, sp)
- && addr < add_segment_exec_offset (sp->base, sp) + sp->size)
- return sp;
- if ((sp = sp->next) == 0)
- return 0;
- }
-}
-#endif
-
-#endif /* !(defined(X86_WIN32) || defined(X86_WIN64) || defined(__OS2__)) || defined (__CYGWIN__) */
-
-/* Allocate a chunk of memory with the given size. Returns a pointer
- to the writable address, and sets *CODE to the executable
- corresponding virtual address. */
-void *
-ffi_closure_alloc (size_t size, void **code)
-{
- void *ptr;
-
- if (!code)
- return NULL;
-
- ptr = dlmalloc (size);
-
- if (ptr)
- {
- msegmentptr seg = segment_holding (gm, ptr);
-
- *code = add_segment_exec_offset (ptr, seg);
- }
-
- return ptr;
-}
-
-/* Release a chunk of memory allocated with ffi_closure_alloc. If
- FFI_CLOSURE_FREE_CODE is nonzero, the given address can be the
- writable or the executable address given. Otherwise, only the
- writable address can be provided here. */
-void
-ffi_closure_free (void *ptr)
-{
-#if FFI_CLOSURE_FREE_CODE
- msegmentptr seg = segment_holding_code (gm, ptr);
-
- if (seg)
- ptr = sub_segment_exec_offset (ptr, seg);
-#endif
-
- dlfree (ptr);
-}
-
-
-#if FFI_CLOSURE_TEST
-/* Do some internal sanity testing to make sure allocation and
- deallocation of pages are working as intended. */
-int main ()
-{
- void *p[3];
-#define GET(idx, len) do { p[idx] = dlmalloc (len); printf ("allocated %zi for p[%i]\n", (len), (idx)); } while (0)
-#define PUT(idx) do { printf ("freeing p[%i]\n", (idx)); dlfree (p[idx]); } while (0)
- GET (0, malloc_getpagesize / 2);
- GET (1, 2 * malloc_getpagesize - 64 * sizeof (void*));
- PUT (1);
- GET (1, 2 * malloc_getpagesize);
- GET (2, malloc_getpagesize / 2);
- PUT (1);
- PUT (0);
- PUT (2);
- return 0;
-}
-#endif /* FFI_CLOSURE_TEST */
-# else /* ! FFI_MMAP_EXEC_WRIT */
-
-/* On many systems, memory returned by malloc is writable and
- executable, so just use it. */
-
-#include <stdlib.h>
-
-void *
-ffi_closure_alloc (size_t size, void **code)
-{
- if (!code)
- return NULL;
-
- return *code = malloc (size);
-}
-
-void
-ffi_closure_free (void *ptr)
-{
- free (ptr);
-}
-
-# endif /* ! FFI_MMAP_EXEC_WRIT */
-#endif /* FFI_CLOSURES */
diff --git a/.pc/ios-fixes/.timestamp b/.pc/ios-fixes/.timestamp
deleted file mode 100644
index e69de29..0000000
--- a/.pc/ios-fixes/.timestamp
+++ /dev/null
diff --git a/.pc/ios-fixes/ChangeLog b/.pc/ios-fixes/ChangeLog
deleted file mode 100644
index ae63b53..0000000
--- a/.pc/ios-fixes/ChangeLog
+++ /dev/null
@@ -1,4641 +0,0 @@
-2012-02-10 Kai Tietz <ktietz@redhat.com>
-
- * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
- windows target.
- * configure: Regenerated.
-
-2012-02-08 Kai Tietz <ktietz@redhat.com>
-
- * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
- also FFI_THISCALL.
- * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
- (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
- (ffi_prep_closure_loc): Add FFI_THISCALL support.
- * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
- * src/x86/win32.S (ffi_closure_THISCALL): New closure code
- for thiscall-calling convention.
- * testsuite/libffi.call/closure_thiscall.c: New test.
-
-2012-01-28 Kai Tietz <ktietz@redhat.com>
-
- * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
- argument to prototype for specify calling-convention.
- (ffi_call): Add support for stdcall/thiscall convention.
- (ffi_prep_args): Likewise.
- (ffi_raw_call): Likewise.
- * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
- FFI_FASTCALL.
- * src/x86/win32.S (_ffi_call_win32): Add support for
- fastcall/thiscall calling-convention calls.
- * testsuite/libffi.call/fastthis1_win32.c: New test.
- * testsuite/libffi.call/fastthis2_win32.c: New test.
- * testsuite/libffi.call/fastthis3_win32.c: New test.
- * testsuite/libffi.call/strlen2_win32.c: New test.
- * testsuite/libffi.call/many2_win32.c: New test.
- * testsuite/libffi.call/struct1_win32.c: New test.
- * testsuite/libffi.call/struct2_win32.c: New test.
-
-2012-01-23 Andreas Schwab <schwab@linux-m68k.org>
-
- * src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
- mc68000. Test for __HAVE_68881__ in addition to __MC68881__.
-
-2012-01-19 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/48496
- * src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
-
-2012-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (i?86-*-*): Set TARGET to X86_64.
- * configure: Regenerate.
-
-2011-12-07 Andrew Pinski <apinski@cavium.com>
-
- PR libffi/50051
- * src/mips/n32.S: Add ".set mips4".
-
-2011-11-21 Andreas Tobler <andreast@fgznet.ch>
-
- * configure: Regenerate.
-
-2011-11-10 Richard Henderson <rth@redhat.com>
-
- * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
- * configure, aclocal.m4: Rebuild.
-
-2011-09-04 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/49594
- * src/powerpc/darwin_closure.S (stubs): Make the stub binding
- helper reference track the architecture pointer size.
-
-2011-08-25 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
- instructions.
- * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
-
-2011-07-11 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46660
- * testsuite/libffi.call/cls_double_va.c: xfail dg-output on
- mips-sgi-irix6*.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
- PRId8 instead of %hhu, %hhd.
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
- PRIu8): Define.
- [__sgi__] (PRId8, PRIu8): Define.
-
-2011-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
- Define.
- Use them to handle ELF vs. ECOFF differences.
- [__osf__] (_GLOBAL__F_ffi_call_osf): Define.
-
-2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2011-02-11 Anthony Green <green@moxielogic.com>
-
- * src/sparc/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
- just return FFI_BAD_ABI when things are wrong.
-
-2011-02-09 Stuart Shelton <srcshelton@gmail.com>
-
- http://bugs.gentoo.org/show_bug.cgi?id=286911
- * src/mips/ffitarget.h: Clean up error messages.
- * src/java_raw_api.c (ffi_java_translate_args): Cast raw arg to
- ffi_raw*.
- * include/ffi.h.in: Add pragma for SGI compiler.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * configure.ac: Add powerpc64-*-darwin* support.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * README: Mention Interix.
-
-2011-02-09 Jonathan Callen <abcd@gentoo.org>
-
- * configure.ac: Add Interix to win32/cygwin/mingw case.
- * configure: Ditto.
- * src/closures.c: Treat Interix like Cygwin, instead of as a
- generic win32.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * testsuite/libffi.call/err_bad_typedef.c: Remove xfail.
- * testsuite/libffi.call/err_bad_abi.c: Remove xfail.
- * src/x86/ffi64.c (UNLIKELY, LIKELY): Define.
- (ffi_prep_closure_loc): Check for bad ABI.
- * src/prep_cif.c (UNLIKELY, LIKELY): Define.
- (initialize_aggregate): Check for bad types.
-
-2011-02-09 Landon Fuller <landonf@macports.org>
-
- * Makefile.am (EXTRA_DIST): Add build-ios.sh, src/arm/gentramp.sh,
- src/arm/trampoline.S.
- (nodist_libffi_la_SOURCES): Add src/arc/trampoline.S.
- * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Define.
- * src/arm/ffi.c (ffi_trampoline_table)
- (ffi_closure_trampoline_table_page, ffi_trampoline_table_entry)
- (FFI_TRAMPOLINE_CODELOC_CONFIG, FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET)
- (FFI_TRAMPOLINE_COUNT, ffi_trampoline_lock, ffi_trampoline_tables)
- (ffi_trampoline_table_alloc, ffi_closure_alloc, ffi_closure_free):
- Define for FFI_EXEC_TRAMPOLINE_TABLE case (iOS).
- (ffi_prep_closure_loc): Handl FFI_EXEC_TRAMPOLINE_TABLE case
- separately.
- * src/arm/sysv.S: Handle Apple iOS host.
- * src/closures.c: Handle FFI_EXEC_TRAMPOLINE_TABLE case.
- * build-ios.sh: New file.
- * fficonfig.h.in, configure, Makefile.in: Rebuilt.
- * README: Mention ARM iOS.
-
-2011-02-08 Oren Held <orenhe@il.ibm.com>
-
- * src/dlmalloc.c (_STRUCT_MALLINFO): Define in order to avoid
- redefinition of mallinfo on HP-UX.
-
-2011-02-08 Ginn Chen <ginn.chen@oracle.com>
-
- * src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
- aggregate return ABI. Flush cache.
- (ffi_prep_closure_loc): Flush cache.
-
-2011-02-11 Anthony Green <green@moxielogic.com>
-
- From Tom Honermann <tom.honermann@oracle.com>:
- * src/powerpc/aix.S (ffi_call_AIX): Support for xlc toolchain on
- AIX. Declare .ffi_prep_args. Insert nops after branch
- instructions so that the AIX linker can insert TOC reload
- instructions.
- * src/powerpc/aix_closure.S: Declare .ffi_closure_helper_DARWIN.
-
-2011-02-08 Ed <ed@kdtc.net>
-
- * src/powerpc/asm.h: Fix grammar nit in comment.
-
-2011-02-08 Uli Link <ul.mcamafia@linkitup.de>
-
- * include/ffi.h.in (FFI_64_BIT_MAX): Define and use.
-
-2011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46661
- * testsuite/libffi.call/cls_pointer.c (main): Cast void * to
- uintptr_t first.
- * testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
-
-2011-02-08 Rafael Avila de Espindola <respindola@mozilla.com>
-
- * configure.ac: Fix x86 test for pc related relocs.
- * configure: Rebuilt.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
- Handle case when CPU variant does not have long double support.
- * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
- and cores with soft floating point.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * configure.ac: Add mips*-*-rtems* support.
- * configure: Regenerate.
- * src/mips/ffitarget.h: Ensure needed constants are available
- for targets which do not have sgidefs.h.
-
-2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR target/40125
- * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
- * configure: Regenerate.
-
-2010-12-18 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/29152
- PR libffi/42378
- * src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
- (FFI_TRAMPOLINE_SIZE): Update for Darwin64.
- * src/powerpc/darwin.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
- backslashes.
- (libffi_cv_as_string_pseudo_op): Likewise.
- * configure: Regenerate.
-
-2010-12-03 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
- (ffi_closure_VFP): Same.
- (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
- directive.
-
-2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
- (PRIuPTR): Define.
-
-2010-11-29 Richard Henderson <rth@redhat.com>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
- (.eh_frame): Use FDE_ENCODING.
- (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
-
-2010-11-22 Jacek Caban <jacek@codeweavers.com>
-
- * configure.ac: Check for symbol underscores on mingw-w64.
- * configure: Rebuilt.
- * src/x86/win64.S: Correctly access extern symbols in respect to
- underscores.
-
-2010-11-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp: Rename ...
- * testsuite/lib/libffi.exp: ... to this.
- * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
- * libffi/testsuite/libffi.special/special.exp: Likewise.
-
-2010-10-28 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
- code, new parameter, and return value. Update comments.
- (ffi_prep_cif_machdep): Add case for VFP struct return values. Add
- call to layout_vfp_args().
- (ffi_call_SYSV): Update declaration.
- (ffi_call_VFP): New declaration.
- (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
- when ABI is FFI_VFP.
- (ffi_closure_VFP): New declaration.
- (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
- ffi_prep_incoming_args_SYSV().
- (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
- case handling.
- (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
- construction under VFP hard-float.
- (rec_vfp_type_p): New function.
- (vfp_type_p): Same.
- (place_vfp_arg): Same.
- (layout_vfp_args): Same.
- * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
- based on __ARM_PCS_VFP.
- (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
- fields.
- (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
- (FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
- * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
- direct call. Move function pointer load upwards.
- (ffi_call_VFP): New function.
- (ffi_closure_VFP): Same.
-
- * testsuite/lib/libffi-dg.exp (check-flags): New function.
- (dg-skip-if): New function.
- * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
- and compiler options include -mfloat-abi=hard.
- * testsuite/libffi.call/cls_longdouble_va.c: Same.
-
-2010-10-01 Jakub Jelinek <jakub@redhat.com>
-
- PR libffi/45677
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
- a multiple of 8.
- * testsuite/libffi.call/many2.c: New test.
-
-2010-08-20 Mark Wielaard <mjw@redhat.com>
-
- * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
- returns NULL.
-
-2010-08-09 Andreas Tobler <andreast@fgznet.ch>
-
- * configure.ac: Add target powerpc64-*-freebsd*.
- * configure: Regenerate.
- * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
- -mlong-double-128 only to linux targets.
- * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
- * testsuite/libffi.call/cls_longdouble.c: Likewise.
- * testsuite/libffi.call/huge_struct.c: Likewise.
-
-2010-08-05 Dan Witte <dwitte@mozilla.com>
-
- * Makefile.am: Pass FFI_DEBUG define to msvcc.sh for linking to the
- debug CRT when --enable-debug is given.
- * configure.ac: Define it.
- * msvcc.sh: Translate -g and -DFFI_DEBUG appropriately.
-
-2010-08-04 Dan Witte <dwitte@mozilla.com>
-
- * src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64
- platforms.
- * src/x86/ffi.c: Remove redundant ifdef checks.
- * src/prep_cif.c: Push stack space computation into src/x86/ffi.c
- for X86_ANY so return value space doesn't get added twice.
-
-2010-08-03 Neil Rashbrooke <neil@parkwaycc.co.uk>
-
- * msvcc.sh: Don't pass -safeseh to ml64 because behavior is buggy.
-
-2010-07-22 Dan Witte <dwitte@mozilla.com>
-
- * src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
- * src/prep_cif.c: Fix ABI assertion.
- * src/cris/ffi.c: Ditto.
-
-2010-07-10 Evan Phoenix <evan@fallingsnow.net>
-
- * src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
-
-2010-07-07 Dan Horák <dan@danny.cz>
-
- * include/ffi.h.in: Protect #define with #ifndef.
- * src/powerpc/ffitarget.h: Ditto.
- * src/s390/ffitarget.h: Ditto.
- * src/sparc/ffitarget.h: Ditto.
-
-2010-07-07 Neil Roberts <neil@linux.intel.com>
-
- * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
- 16-bytes.
-
-2010-07-02 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
- * Makefile.in: Regenerated.
-
-2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
- output, too.
- (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
- (libffi_cv_as_string_pseudo_op): Check for .string.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
-
-2010-05-11 Dan Witte <dwitte@mozilla.com>
-
- * doc/libffi.tex: Document previous change.
-
-2010-05-11 Makoto Kato <m_kato@ga2.so-net.ne.jp>
-
- * src/x86/ffi.c (ffi_call): Don't copy structs passed by value.
-
-2010-05-05 Michael Kohler <michaelkohler@live.com>
-
- * src/dlmalloc.c (dlfree): Fix spelling.
- * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
- * configure.ac: Ditto.
- * configure: Rebuilt.
-
-2010-04-13 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Build with -W3 instead of -Wall.
- * src/powerpc/ffi_darwin.c: Remove build warnings.
- * src/x86/ffi.c: Ditto.
- * src/x86/ffitarget.h: Ditto.
-
-2010-04-12 Dan Witte <dwitte@mozilla.com>
- Walter Meinl <wuno@lsvw.de>
-
- * configure.ac: Add OS/2 support.
- * configure: Rebuilt.
- * src/closures.c: Ditto.
- * src/dlmalloc.c: Ditto.
- * src/x86/win32.S: Ditto.
-
-2010-04-07 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
-
-2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2010-03-30 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Disable build warnings.
- * README (tested): Clarify windows build procedure.
-
-2010-03-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * libffi/src/x86/unix64.S (.eh_frame)
- [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
-
-2010-03-14 Matthias Klose <doko@ubuntu.com>
-
- * src/x86/ffi64.c: Fix typo in comment.
- * src/x86/ffi.c: Use /* ... */ comment style.
-
-2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/libffi.texi (The Closure API): Fix typo.
- * doc/libffi.info: Remove.
-
-2010-02-15 Matthias Klose <doko@ubuntu.com>
-
- * src/arm/sysv.S (__ARM_ARCH__): Define for processor
- __ARM_ARCH_7EM__.
-
-2010-01-15 Anthony Green <green@redhat.com>
-
- * README: Add notes on building with Microsoft Visual C++.
-
-2010-01-15 Daniel Witte <dwitte@mozilla.com>
-
- * msvcc.sh: New file.
-
- * src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
- * src/x86/ffi.c: Tweak function declaration and remove excess
- parens.
- * include/ffi.h.in: Add __declspec(align(8)) to typedef struct
- ffi_closure.
-
- * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
- function ffi_call_win32 on X86_WIN32.
- * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
- (ffi_call_STDCALL): Remove.
-
- * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
- to ffi_prep_cif_machdep for x86.
- * src/x86/ffi.c (ffi_prep_cif_machdep): To here.
-
-2010-01-15 Oliver Kiddle <okiddle@yahoo.co.uk>
-
- * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
- Sun Studio compiler compatibility.
-
-2010-01-12 Conrad Irwin <conrad.irwin@gmail.com>
-
- * doc/libffi.texi: Add closure example.
-
-2010-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40701
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
- PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
- * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
- alpha*-dec-osf*.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/return_ll1.c: Likewise.
- * testsuite/libffi.call/stret_medium2.c: Likewise.
- * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
- MAP_FAILED to char *.
-
-2010-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
-
-2009-12-31 Anthony Green <green@redhat.com>
-
- * README: Update for libffi 3.0.9.
-
-2009-12-27 Matthias Klose <doko@ubuntu.com>
-
- * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
- appropriate.
- * configure: Rebuilt.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
- avr32*-*-*.
- * testsuite/libffi.call/cls_double_va.c: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
- and inttypes.h.
- * testsuite/libffi.special/unwindtest.cc: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-openbsd*.
- * configure: Rebuilt.
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
- openbsd programs with -lpthread.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
- mips*-*-* and arm*-*-*.
- * testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c,
- testsuite/libffi.call/stret_medium2.c,
- testsuite/libffi.call/stret_medium.c,
- testsuite/libffi.call/stret_large.c,
- testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
-
-2009-12-31 Kay Tietz <ktietz70@googlemail.com>
-
- * testsuite/libffi.call/ffitest.h,
- testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
- definitions.
-
-2009-12-31 Carlo Bramini <carlo.bramix@libero.it>
-
- * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
- * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
-
-2009-12-31 Anthony Green <green@redhat.com>
- Blake Chaffin.
-
- * testsuite/libffi.call/huge_struct.c: New test case from Blake
- Chaffin @ Apple.
-
-2009-12-28 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
- local variables.
- (aix_adjust_aggregate_sizes): New function.
- (ffi_prep_cif_machdep): Call it.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
- * configure: Regenerate.
- * fficonfig.h.in: Likewise.
- * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
- Solaris/x86.
-
-2009-12-26 Andreas Schwab <schwab@linux-m68k.org>
-
- * 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.
-
-2009-12-25 Matthias Klose <doko@ubuntu.com>
-
- * man/ffi_call.3: Fix #include in examples.
- * doc/libffi.texi: Add dircategory.
-
-2009-12-25 Frank Everdij <f.p.x.everdij@tudelft.nl>
-
- * include/ffi.h.in: Placed '__GNUC__' ifdef around
- '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
- IRIX MIPSPro c99.
- * include/ffi_common.h: Added '__sgi' define to non
- '__attribute__((__mode__()))' integer typedefs.
- * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
- ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
- (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
- FFI_LONGDOUBLE support and alignment(N32 only).
- * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
- fixed non '__attribute__((__mode__()))' integer typedefs.
- * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
- since they are Linux/GNU Assembler specific.
-
-2009-12-25 Bradley Smith <brad@brad-smith.co.uk>
-
- * configure.ac, Makefile.am, src/avr32/ffi.c,
- src/avr32/ffitarget.h,
- src/avr32/sysv.S: Add AVR32 port.
- * configure, Makefile.in: Rebuilt.
-
-2009-12-21 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
- * configure: Regenerate.
-
-2009-12-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
- type on HP-UX.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
- double' arguments.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40700
- * src/closures.c [X86_64 && __sun__ && __svr4__]
- (FFI_MMAP_EXEC_WRIT): Define.
-
-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.
-
-2009-12-07 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
- typo.
-
-2009-12-05 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
- code.
- * src/powerpc/aix_closure.S: Same.
-
-2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
- linux64_closure.S.
-
-2009-12-04 Uros Bizjak <ubizjak@gmail.com>
-
- 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.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
- pfr for long double split between fpr13 and stack.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
- fparg_count twice for long double.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- PR libffi/42243
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03 Uros Bizjak <ubizjak@gmail.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
- Remove xfails for x86 linux targets.
-
-2009-12-02 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
- case.
-
-2009-12-01 David Edelsohn <edelsohn@gnu.org>
-
- * 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.
-
-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.
-
-2009-11-02 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/41908
- * testsuite/libffi.call/testclosure.c: New test.
-
-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.
-
-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.
-
-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.
-
-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.
-
-2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.am (install-html, install-pdf): Remove.
- * Makefile.in: Regenerate.
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24 Dave Korn <dave.korn.cygwin@gmail.com>
-
- 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.
-
-2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
-
- 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.
-
-2009-07-01 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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 "".)
-
-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.
-
-2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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.
-
-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.
-
-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.
-
-2009-06-16 Andrew Haley <aph@redhat.com>
-
- * configure.ac (TARGETDIR): Add missing blank lines.
- * configure: Regenerate.
-
-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.
-
-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.
-
-2009-06-12 Andrew Haley <aph@redhat.com>
-
- * Makefile.am: Remove info_TEXINFOS.
-
-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-11 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * 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.
-
-2009-06-09 Andrew Haley <aph@redhat.com>
-
- * src/x86/freebsd.S: Add missing file.
-
-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).
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * README: Import from libffi 3.0.8.
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Add xfails.
- * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
- * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
- * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
- * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
- * testsuite/libffi.call/stret_medium.c: Likewise.
- * testsuite/libffi.call/stret_large2.c: Likewise.
- * testsuite/libffi.call/stret_large.c: Likewise.
-
-2008-12-26 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_align_longdouble.c,
- testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
- failures on x86_64 cygwin/mingw.
-
-2008-12-22 Timothy Wall <twall@users.sf.net>
-
- * 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_loc_fn0.c,
- testsuite/libffi.call/closure_stdcall.c,
- testsuite/libffi.call/cls_align_pointer.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
- pointer to integer (intptr_t).
- * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_dbls_struct.c,
- testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c,
- testsuite/libffi.call/err_bad_abi.c: Clean up failures from
- compiler warnings.
-
-2008-03-04 Anthony Green <green@redhat.com>
- Blake Chaffin
- hos@tamanegi.org
-
- * testsuite/libffi.call/cls_align_longdouble_split2.c
- testsuite/libffi.call/cls_align_longdouble_split.c
- testsuite/libffi.call/cls_dbls_struct.c
- testsuite/libffi.call/cls_double_va.c
- testsuite/libffi.call/cls_longdouble.c
- testsuite/libffi.call/cls_longdouble_va.c
- testsuite/libffi.call/cls_pointer.c
- testsuite/libffi.call/cls_pointer_stack.c
- testsuite/libffi.call/err_bad_abi.c
- testsuite/libffi.call/err_bad_typedef.c
- testsuite/libffi.call/stret_large2.c
- testsuite/libffi.call/stret_large.c
- testsuite/libffi.call/stret_medium2.c
- testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
- libffi.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
- stdcall changes.
-
-2008-02-26 Anthony Green <green@redhat.com>
- Thomas Heller <theller@ctypes.org>
-
- * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
- comment.
-
-2008-02-03 Timothy Wall <twall@users.sf.net>
-
- * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
- offset based on code pointer, not data pointer.
-
-2008-01-31 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
- closures.
- * src/x86/ffitarget.h: Increase size of trampoline for stdcall
- closures.
- * src/x86/win32.S: Add assembly for stdcall closure.
- * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Change void (*)() to void (*)(void).
- * src/x86/ffi.c: Likewise.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ppc_closure.S: Insert licence header.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/m68k/sysv.S: Likewise.
-
- * src/sh64/ffi.c: Change void (*)() to void (*)(void).
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/m32r/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi64.c: Likewise.
- * src/alpha/ffi.c: Likewise.
- * src/alpha/osf.S: Likewise.
- * src/frv/ffi.c: Likewise.
- * src/s390/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/pa/hpux32.S: Likewise.
- * src/ia64/unix.S: Likewise.
- * src/ia64/ffi.c: Likewise.
- * src/sparc/ffi.c: Likewise.
- * src/mips/ffi.c: Likewise.
- * src/sh/ffi.c: Likewise.
-
-2008-02-15 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
- Define (conditionally), and use it to include cachectl.h.
- (ffi_prep_closure_loc): Fix cache flushing.
- * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- include/ffi.h.in,
- src/arm/ffitarget.h,
- src/arm/ffi.c,
- src/arm/sysv.S,
- src/powerpc/ffitarget.h,
- src/closures.c,
- src/sh64/ffitarget.h,
- src/sh64/ffi.c,
- src/sh64/sysv.S,
- src/types.c,
- src/x86/ffi64.c,
- src/x86/ffitarget.h,
- src/x86/win32.S,
- src/x86/darwin.S,
- src/x86/ffi.c,
- src/x86/sysv.S,
- src/x86/unix64.S,
- src/alpha/ffitarget.h,
- src/alpha/ffi.c,
- src/alpha/osf.S,
- src/m68k/ffitarget.h,
- src/frv/ffitarget.h,
- src/frv/ffi.c,
- src/s390/ffitarget.h,
- src/s390/sysv.S,
- src/cris/ffitarget.h,
- src/pa/linux.S,
- src/pa/ffitarget.h,
- src/pa/ffi.c,
- src/raw_api.c,
- src/ia64/ffitarget.h,
- src/ia64/unix.S,
- src/ia64/ffi.c,
- src/ia64/ia64_flags.h,
- src/java_raw_api.c,
- src/debug.c,
- src/sparc/v9.S,
- src/sparc/ffitarget.h,
- src/sparc/ffi.c,
- src/sparc/v8.S,
- src/mips/ffitarget.h,
- src/mips/n32.S,
- src/mips/o32.S,
- src/mips/ffi.c,
- src/prep_cif.c,
- src/sh/ffitarget.h,
- src/sh/ffi.c,
- src/sh/sysv.S: Update license text.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * src/x86/win32.S (_ffi_closure_STDCALL): New function.
- (.eh_frame): Add FDE for it.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * configure.ac: Also check if assembler supports pc-relative
- relocs on X86_WIN32 targets.
- * configure: Regenerate.
- * src/x86/win32.S (ffi_prep_args): Declare extern, not global.
- (_ffi_call_SYSV): Add missing function type symbol .def and
- add EH markup labels.
- (_ffi_call_STDCALL): Likewise.
- (_ffi_closure_SYSV): Likewise.
- (_ffi_closure_raw_SYSV): Likewise.
- (.eh_frame): Add hand-crafted EH data.
-
-2009-04-09 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
- version 3 of the GNU General Public License and to point readers
- at the COPYING3 file and the FSF's license web page.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-12-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libffi/26048
- * configure.ac (HAVE_AS_X86_PCREL): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
- RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
- RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
- * src/x86/unix64.S (.Lstore_table): Move to .text section.
- (.Lload_table): Likewise.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
- signed/unsigned int8/16 return values.
- * src/sparc/v8.S (ffi_call_v8): Likewise.
- (ffi_closure_v8): Likewise.
-
-2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
- Steve Ellcey <sje@cup.hp.com>
-
- * configure: Regenerate for new libtool.
- * Makefile.in: Ditto.
- * include/Makefile.in: Ditto.
- * aclocal.m4: Ditto.
-
-2008-08-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
- FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
- Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
- Adjust copyright notice.
- * src/powerpc/ffi.c: Add two new flags to indicate if we have one
- register or two register to use for FFI_SYSV structs.
- (ffi_prep_cif_machdep): Pass the right register flag introduced above.
- (ffi_closure_helper_SYSV): Fix the return type for
- FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
- Adjust copyright notice.
-
-2008-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
- int.
-
-2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2008-06-07 Joseph Myers <joseph@codesourcery.com>
-
- * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
- powerpc-*-beos*): Remove.
- * configure: Regenerate.
-
-2008-05-09 Julian Brown <julian@codesourcery.com>
-
- * Makefile.am (LTLDFLAGS): New.
- (libffi_la_LDFLAGS): Use above.
- * Makefile.in: Regenerate.
-
-2008-04-18 Paolo Bonzini <bonzini@gnu.org>
-
- PR bootstrap/35457
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2008-03-26 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add .note.GNU-stack on Linux.
- * src/sh64/sysv.S: Likewise.
-
-2008-03-26 Daniel Jacobowitz <dan@debian.org>
-
- * src/arm/sysv.S: Fix ARM comment marker.
-
-2008-03-26 Jakub Jelinek <jakub@redhat.com>
-
- * src/alpha/osf.S: Add .note.GNU-stack on Linux.
- * src/s390/sysv.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
- * src/x86/unix64.S: Likewise.
- * src/x86/sysv.S: Likewise.
- * src/sparc/v8.S: Likewise.
- * src/sparc/v9.S: Likewise.
- * src/m68k/sysv.S: Likewise.
- * src/arm/sysv.S: Likewise.
-
-2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * aclocal.m4: Regenerate.
- * configure: Likewise.
- * Makefile.in: Likewise.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2008-02-12 Bjoern Koenig <bkoenig@alpha-tierchen.de>
- Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-freebsd* target.
- * configure: Regenerate.
-
-2008-01-30 H.J. Lu <hongjiu.lu@intel.com>
-
- PR libffi/34612
- * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
- returning struct.
-
- * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
- tests.
-
-2008-01-24 David Edelsohn <edelsohn@gnu.org>
-
- * configure: Regenerate.
-
-2008-01-06 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
-
-2008-01-05 Andreas Tobler <a.tobler@schweiz.org>
-
- PR testsuite/32843
- * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
- signed/unsigned int8/16 for X86_DARWIN.
- Updated copyright info.
- Handle one and two byte structs with special cif->flags.
- * src/x86/ffitarget.h: Add special types for one and two byte structs.
- Updated copyright info.
- * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
- sysv.S
- Remove code to pop args from the stack after call.
- Special-case signed/unsigned for int8/16, one and two byte structs.
- (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
- FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
- FFI_TYPE_SINT32.
- Updated copyright info.
-
-2007-12-08 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_call_N32): Replace dadd with ADDU, dsub with
- SUBU, add with ADDU and use smaller code sequences.
-
-2007-12-07 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
- type.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
- defined.
- (ffi_java_raw): New typedef.
- (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
- ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
- ffi_java_raw.
- (ffi_java_raw_closure) : Same.
- (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
- parameter types.
- * src/java_raw_api.c (ffi_java_raw_size): Replace FFI_SIZEOF_ARG with
- FFI_SIZEOF_JAVA_RAW.
- (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
- Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
- sizeof(ffi_java_raw) for alignment calculations.
- (ffi_java_ptrarray_to_raw): Same.
- (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
- if FFI_SIZEOF_JAVA_RAW == 4.
- (ffi_java_raw_to_rvalue): Same.
- (ffi_java_raw_call): Change type of raw to ffi_java_raw.
- (ffi_java_translate_args): Same.
- (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
- parameter types.
- * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
- pointer values.
-
-2007-12-01 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/31937
- * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
- Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
- * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
- set the NUM_FPR_ARG_REGISTERS according to.
- Add support for potential soft-float support under hard-float
- architecture.
- (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
- FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
- to the FFI_LINUX_SOFT_FLOAT ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Make sure not to store float/double
- on archs where __NO_FPRS__ is true.
- Add FFI_TYPE_UINT128 support.
- * src/powerpc/sysv.S: Add support for soft-float long-double-128.
- Adjust copyright notice.
-
-2007-11-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
- * include/ffi_common.h: ... here.
- Update copyright.
-
-2007-11-17 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
- * testsuite/libffi.call/return_ldl.c: New test.
-
-2007-09-04 <aph@redhat.com>
-
- * src/arm/sysv.S (UNWIND): New.
- (Whole file): Conditionally compile unwinder directives.
- * src/arm/sysv.S: Add unwinder directives.
-
- * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
- Only treat r0 as a struct address if we're actually returning a
- struct by address.
- Only copy the bytes that are actually within a struct.
- (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
- is returned in r0, not passed by address.
- (ffi_call): Allocate a word-sized temporary for the case where
- a composite is returned in r0.
- (ffi_prep_incoming_args_SYSV): Align as necessary.
-
-2007-08-05 Steven Newbury <s_j_newbury@yahoo.co.uk>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
- directly using the sys_cacheflush syscall.
-
-2007-07-27 Andrew Haley <aph@redhat.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
-
-2007-09-03 Maciej W. Rozycki <macro@linux-mips.org>
-
- * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure: Likewise.
-
-2007-08-24 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/return_sl.c: New test.
-
-2007-08-10 David Daney <ddaney@avtrex.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/nested_struct5.c,
- testsuite/libffi.call/cls_double.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/nested_struct.c,
- testsuite/libffi.call/cls_2byte.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_sint16.c,
- testsuite/libffi.call/cls_align_uint32.c,
- testsuite/libffi.call/cls_20byte.c,
- testsuite/libffi.call/cls_float.c,
- testsuite/libffi.call/nested_struct2.c,
- testsuite/libffi.call/cls_5_1_byte.c,
- testsuite/libffi.call/nested_struct4.c,
- testsuite/libffi.call/cls_24byte.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: Remove xfail for mips64*-*-*.
-
-2007-08-10 David Daney <ddaney@avtrex.com>
-
- 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.
-
-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*.
- * 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.
-
-2006-12-13 Andreas Tobler <a.tobler@schweiz.org>
-
- * aclocal.m4: Regenerate with aclocal -I .. as written in the
- Makefile.am.
-
-2006-10-31 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
- (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
- Darwin.
- * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
- * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10 Paolo Bonzini <bonzini@gnu.org>
- Sandro Tolaini <tolaini@libero.it>
-
- * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
- conditional.
- * configure: Regenerated.
- * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
- (EXTRA_DIST): Add src/x86/darwin.S.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
- X86_WIN32, and additionally align stack to 16 bytes.
- * src/x86/darwin.S: New, based on sysv.S.
- * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12 David Daney <ddaney@avtrex.com>
-
- PR libffi/23935
- * include/Makefile.am: Install both ffi.h and ffitarget.h in
- $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
- * aclocal.m4: Regenerated for automake 1.9.6.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
-2006-08-17 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h: Remove lint directives.
- * include/ffi.h.in: Likewise.
-
-2006-07-25 Torsten Schoenfeld <kaffeetisch@gmx.de>
-
- * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
- for 32-bit architectures.
- * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
- xfail remains for mips64.
-
-2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
-
- * Makefile.am: Add install-html target. Add install-html to .PHONY
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
- stack slot.
-
-2006-04-22 Andreas Tobler <a.tobler@schweiz.ch>
-
- * README: Remove notice about 'Crazy Comments'.
- * src/debug.c: Remove lint directives. Cleanup white spaces.
- * src/java_raw_api.c: Likewise.
- * src/prep_cif.c: Likewise.
- * src/raw_api.c: Likewise.
- * src/ffitest.c: Delete. No longer needed, all test cases migrated
- to the testsuite.
- * src/arm/ffi.c: Remove lint directives.
- * src/m32r/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/sh/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/pa/hpux32.S: Correct unwind offset calculation for
- ffi_closure_pa32.
- * src/pa/linux.S: Likewise.
-
-2006-04-12 James E Wilson <wilson@specifix.com>
-
- PR libgcj/26483
- * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
- (hfa_type_load): Call stf_spill.
- (hfa_type_store): Call ldf_fill.
- (ffi_call): Adjust calls to above routines. Add local temps for
- macro result.
-
-2006-04-10 Matthias Klose <doko@debian.org>
-
- * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
- directory names containing underscores.
-
-2006-04-07 James E Wilson <wilson@specifix.com>
-
- * testsuite/libffi.call/float4.c: New testcase.
-
-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.
-
-2006-03-24 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Default
- for 32-bit using IBM extended double format. Fix FFI_LAST_ABI.
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
- FFI_TYPE_LONGDOUBLE.
- (ffi_prep_args64): Assert using IBM extended double.
- (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
- Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
- (ffi_call): Handle FFI_LINUX.
- (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
- gpr3 return pointer as for struct return. Handle FFI_LINUX
- FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf"
- unnecessarily.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
- for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table.
- Don't use r6 as pointer to results, instead use sp offset. Don't
- make a special call to load lr with case table address, instead
- use offset from previous call.
- * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
- return.
-
-2006-03-15 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
- passed with FP registers correctly.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S: Likewise.
-
-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.
-
-2006-02-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
- -O2, -O3, -Os and the warning flags -W -Wall.
- * testsuite/libffi.special/special.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
- unused parameter unused for gcc or else do nothing.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
- * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
- * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
- * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
- * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
- * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
- * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
- * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
- * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
- void* to avoid compiler warning.
- (main): Likewise.
- (cls_struct_align_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
- * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
- * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
- userdata unused.
- (cls_ret_schar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
- userdata unused.
- (cls_ret_sint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
- userdata unused.
- (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn): Mark cif and
- userdata unused.
- (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
- userdata unused.
- (cls_ret_uint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
- userdata unused.
- (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
- * testsuite/libffi.call/float1.c (main): Remove unused variable i.
- Cleanup white spaces.
- * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
- * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
- cif and userdata unused.
- * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
- Likewise.
- * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
- formatters to silence gcc.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct4.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct6.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
- * testsuite/libffi.call/problem1.c (stub): Likewise.
- * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
- gcc.
- * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
- in the last commit for this test case in the test case itself.
- * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
- unused.
- * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
- * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
- * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
- * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
- * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
- * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Fix register numbers in the FDE for
- ffi_closure_SYSV.
-
-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.
-
-2006-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
- and cast integer to void * if needed. Update the pointer to
- the FP register saved area correctly.
-
-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.
-
-2006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/return_dbl.c: New test case.
- * testsuite/libffi.call/return_dbl1.c: Likewise.
- * testsuite/libffi.call/return_dbl2.c: Likewise.
- * testsuite/libffi.call/return_fl.c: Likewise.
- * testsuite/libffi.call/return_fl1.c: Likewise.
- * testsuite/libffi.call/return_fl2.c: Likewise.
- * testsuite/libffi.call/return_fl3.c: Likewise.
- * testsuite/libffi.call/closure_fn6.c: Likewise.
-
- * 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.
-
-2006-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.ac: Enable libffi for sparc64-*-freebsd*.
- * configure: Rebuilt.
-
-2006-01-18 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
- instead do the shifting inline.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
- shift count unconditionally. Simplify load sequences for 1, 2, 3, 4
- and 8 byte structs, for the remaining struct sizes don't call
- __lshrdi3, instead do the shifting inline.
-
-2005-12-07 Thiemo Seufer <ths@networkno.de>
-
- * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
- missing parentheses.
- * src/mips/o32.S (ffi_call_O32): Code formatting. Define
- and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
- (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
- A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
- V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
- FA_0_0_OFF2.
- * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
- endianness bugs.
- (ffi_prep_closure): Improve trampoline instruction scheduling.
- (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c: Formatting.
- (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
- (ffi_prep_args64): Likewise.
-
-2005-09-30 Geoffrey Keating <geoffk@apple.com>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
- darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26 Tom Tromey <tromey@redhat.com>
-
- * 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.
-
-2005-08-25 Alan Modra <amodra@bigpond.net.au>
-
- PR target/23404
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
- homed fp args.
- (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11 Jakub Jelinek <jakub@redhat.com>
-
- * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
- (AH_BOTTOM): Add FFI_HIDDEN definition.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * src/powerpc/ffi.c (hidden): Remove.
- (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
- ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
- .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
- * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
- add FFI_HIDDEN to its prototype.
- (ffi_closure_SYSV_inner): New.
- * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
- * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10 Alfred M. Szmidt <ams@gnu.org>
-
- PR libffi/21819:
- * configure: Rebuilt.
- * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
- DW_CFA_offset_extended_sf rather than
- DW_CFA_GNU_negative_offset_extended.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
-
- * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
- on sh3.
- (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
- * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
- partially on register.
- (ffi_closure_helper_SYSV): Likewise.
- (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_call): Handle small structures correctly.
- Remove empty line.
- * src/sh64/ffi.c (simple_type): Remove.
- (return_type): Handle small structures correctly.
- (ffi_prep_args): Likewise.
- (ffi_call): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
- Emit position independent code if PIC and remove wrong datalabel
- prefixes from EH data.
-
-2005-07-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure.ac: Add POWERPC_FREEBSD rules.
- * configure: Regenerate.
- * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
- (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
- * src/powerpc/ffi.c: Add flags to handle small structure returns
- in ffi_call_SYSV.
- (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
- Aka FFI_SYSV.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Add return types for small structures.
- * src/powerpc/sysv.S: Add bits to handle small structures for
- final SYSV 4 ABI.
-
-2005-07-10 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_5_1_byte.c: New test file.
- * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05 Randolph Chung <tausq@debian.org>
-
- * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
- as FFI_TYPE_SMALL_STRUCT3. Break out handling for 5-7 byte
- structures. Kill compilation warnings.
- (ffi_closure_inner_LINUX): Print return values as hex in debug
- message. Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
- Properly handle 5-7 byte structure returns.
- * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
- (FFI_TYPE_SMALL_STRUCT2): Remove.
- (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
- (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
- * src/pa/linux.S: Mark source file as using PA1.1 assembly.
- (checksmst1, checksmst2): Remove.
- (checksmst3): Optimize handling of 3-byte struct returns.
- (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libgcj/21943
- * src/mips/n32.S: Enforce PIC code.
- * src/mips/o32.S: Likewise.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
- * configure: Regenerate.
-
-2005-06-01 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
- to call ffi_closure_helper_SYSV. Append @local instead.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
- Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
- * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
- * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
- include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-05-08 Richard Henderson <rth@redhat.com>
-
- PR libffi/21285
- * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04 Andreas Degert <ad@papyrus-gmbh.de>
- Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
- bit 11 of flags.
- (ffi_call): Mask return type field. Pass ssecount to ffi_call_unix64.
- (ffi_prep_closure): Set carry bit if sse-used flag set.
- * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
- Only load sse registers if ssecount non-zero.
- (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
- powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
- * configure: Regenerate.
-
-2005-04-20 Hans-Peter Nilsson <hp@axis.com>
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
- have Tcl8.3-compatible intermediate variable.
-
-2005-04-18 Simon Posnjak <simon.posnjak@siol.net>
- Hans-Peter Nilsson <hp@axis.com>
-
- * Makefile.am: Add CRIS support.
- * configure.ac: Likewise.
- * Makefile.in, configure, testsuite/Makefile.in,
- include/Makefile.in: Regenerate.
- * src/cris: New directory.
- * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
- * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
- \r?\n in output tests.
-
-2005-04-12 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-03-30 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30 Steve Ellcey <sje@cup.hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
- (ffi_sarg) Ditto.
- * src/ia64/unix.S (ffi_closure_unix): Extend gp
- to 64 bits in ILP32 mode.
- Load 64 bits even for short data.
-
-2005-03-23 Mike Stump <mrs@apple.com>
-
- * src/powerpc/darwin.S: Update for -m64 multilib.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21 Zack Weinberg <zack@codesourcery.com>
-
- * 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.
-
-2005-02-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
- odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR libffi/20104
- * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11 Janis Johnson <janis187@us.ibm.com>
-
- * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
- * testsuite/libffi.call/float.c: Ditto.
- * testsuite/libffi.call/float2.c: Ditto.
- * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * testsuite/libffi.special/special.exp (cxx_options): Add
- -shared-libgcc.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
- (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
- offset parameters with a type parameter; deduce size and structure
- alignment. Update all users.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
- (FFI_TYPE_LONGDOUBLE): Fix for ia64.
- * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
- into ffi_prep_closure.
- * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
- from scratch.
-
-2004-12-27 Richard Henderson <rth@redhat.com>
-
- * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25 Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
- (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
- (merge_classes): Check for it.
- (SSE_CLASS_P): New.
- (classify_argument): Pass byte_offset by value; perform all updates
- inside struct case.
- (examine_argument): Add classes argument; handle
- X86_64_COMPLEX_X87_CLASS.
- (ffi_prep_args): Merge into ...
- (ffi_call): ... here. Share stack frame with ffi_call_unix64.
- (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
- (ffi_fill_return_value): Remove.
- (ffi_prep_closure): Remove dead assert.
- (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
- Rewrite to use struct register_args instead of va_list. Create
- flags for handling structure returns.
- * src/x86/unix64.S: Remove dead strings.
- (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share
- stack frame with ffi_call. Handle structure returns properly.
- (float2sse, floatfloat2sse, double2sse): Remove.
- (sse2float, sse2double, sse2floatfloat): Remove.
- (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite
- to handle structure returns properly.
-
-2004-12-08 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
- PICFLAG.
- * Makefile.in: Regenerated.
-
-2004-12-02 Richard Sandiford <rsandifo@redhat.com>
-
- * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
- * configure, aclocal.m4, Makefile.in: Regenerate.
- * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-25 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool reversion.
-
-2004-11-24 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23 Richard Sandiford <rsandifo@redhat.com>
-
- * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
- of jal. Use an absolute encoding for the frame information.
-
-2004-11-23 Kelley Cook <kcook@gcc.gnu.org>
-
- * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS.
- * acinclude.m4: Delete logic for sincludes.
- * aclocal.m4, Makefile.in, configure: Regenerate.
- * include/Makefile: Likewise.
- * testsuite/Makefile: Likewise.
-
-2004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
- on a 8-byte boundary.
- * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
- long long values. Round stack allocation to a multiple of 8 bytes
- for ATPCS compatibility.
- * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
- names. Handle returning long long types. Add Thumb and interworking
- support. Improve soft-float code.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
- (libffi_exit): New function.
- (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR other/18138
- * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
- * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
- the function returning a structure pointed with R2.
- * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
- the structure return value if T bit set. Emit position
- independent code and EH data if PIC.
-
-2004-10-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * Makefile.am: Add m32r support.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * confiugre: Regenerate.
- * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
- (uint64, sint64, double, longdouble)
- * src/m32r: New directory.
- * src/m32r/ffi.c: New file.
- * src/m32r/sysv.S: Likewise.
- * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * testsuite/libffi.call/negint.c: New test case.
-
-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.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/many_win32.c: Remove whitespaces.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
- whitespaces.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Fix comments and identation.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
- (ffi_prep_args): Handle longdouble arguments.
- (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
- longdouble.
- (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
- * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
- values.
- * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
- * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/aix.S: Remove whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
- * src/powerpc/asm.h: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffitarget.h: Likewise.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
-
-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.in: Read configure.host.
- * 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 shouldn't 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.
-
-2004-08-24 David Daney <daney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
- to zero.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23 David Daney <daney@avtrex.com>
-
- PR libgcj/13141
- * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
- * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
- (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
- parameters and return types.
- (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
- (ffi_prep_closure): Ditto.
- (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
- alignment calculations.
- * src/mips/o32.S (ffi_closure_O32): Don't use floating point
- instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14 Casey Marshall <csm@gnu.org>
-
- * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
- contain `FFI_TYPE_UINT64' as return type for any 64-bit
- integer (O32 ABI only).
- (ffi_prep_closure): new function.
- (ffi_closure_mips_inner_O32): new function.
- * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
- `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
- * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
- 64 bit integers correctly.
- (ffi_closure_O32): new function.
- Added DWARF-2 unwind info for both functions.
-
-2004-08-10 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01 Robert Millan <robertmh@gnu.org>
-
- * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
- * configure: Regenerate.
-
-2004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
-
- * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
- and mmap() explicitly instead of relying on preset autoconf cache
- variables.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
- (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
- character on Darwin, use '\n\t' instead.
-
-2004-06-26 Matthias Klose <doko@debian.org>
-
- * libtool-version: Fix typo in revision/age.
-
-2004-06-17 Matthias Klose <doko@debian.org>
-
- * libtool-version: New.
- * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
- * Makefile.in: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * Makefile.am: Remove useless multilib rules.
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate with automake 1.8.5.
- * configure.ac: Remove useless multilib configury.
- * configure: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * .cvsignore: New file.
-
-2004-06-10 Jakub Jelinek <jakub@redhat.com>
-
- * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
- fp_done.
- (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
- changed from 8.
-
-2004-06-06 Sean McNeil <sean@mcneil.com>
-
- * configure.ac: Add x86_64-*-freebsd* support.
- * configure: Regenerate.
-
-2004-04-26 Joe Buck <jbuck@welsh-buck.org>
-
- Bug 15093
- * configure.ac: Test for existence of mmap and sys/mman.h before
- checking blacklist. Fix suggested by Jim Wilson.
- * configure: Regenerate.
-
-2004-04-26 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
- FDE location.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
- error. Reported by Thomas Heller <theller@python.net>.
- * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20 Matthias Klose <doko@debian.org>
-
- * src/pa/linux.S: Fix typo.
-
-2004-03-19 Matthias Klose <doko@debian.org>
-
- * Makefile.am: Update.
- * Makefile.in: Regenerate.
- * src/pa/ffi.h.in: Remove.
- * src/pa/ffitarget.h: New file.
-
-2004-02-10 Randolph Chung <tausq@debian.org>
-
- * Makefile.am: Add PA support.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * configure.ac: Add PA target.
- * configure: Regenerate.
- * src/pa/ffi.c: New file.
- * src/pa/ffi.h.in: Add PA support.
- * src/pa/linux.S: New file.
- * prep_cif.c: Add PA support.
-
-2004-03-16 Hosaka Yuji <hos@tamanegi.org>
-
- * src/types.c: Fix alignment size of X86_WIN32 case int64 and
- double.
- * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
- with ecif->cif->flags.
- (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
- with cif->flags.
- (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
- (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
- * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
- sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.in: Rename file to ...
- * configure.ac: ... this.
- * fficonfig.h.in: Regenerate.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2004-03-12 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Fix EH information so it corresponds to
- changes in EH format resulting from addition of linkonce support.
- * src/powerpc/darwin_closure.S: Likewise.
-
-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.
-
-2004-03-11 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
- arguments from fp registers only for the first 8 parameter slots.
- Don't convert a float parameter when passed in memory.
-
-2004-03-09 Hans-Peter Nilsson <hp@axis.com>
-
- * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
-
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
- ecif->cif->bytes to bytes.
- (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
- * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
- (ffi_closure_helper_LINUX64): Fix typo.
- * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
- for powerpc64-*-*.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
- long double function return and long double arg handling.
- (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
- Use "end_pfr" instead of "nf". Correct long double handling.
- Localise "temp".
- * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
- return value.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
- space for long double return value. Adjust stack frame and offsets.
- Load f2 long double return.
-
-2004-02-07 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
- when the structure return address is passed in %o0.
- (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
- (ffi_v9_layout_struct): Align the field following a nested structure
- on a word boundary. Use memmove instead of memcpy.
- (ffi_call): Update call to ffi_V9_return_struct.
- (ffi_prep_closure): Define 'ctx' only for V8.
- (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
- and ffi_closure_sparc_inner_v9.
- (ffi_closure_sparc_inner_v8): Return long doubles by reference.
- Always skip the structure return address. For structures and long
- doubles, copy the argument directly.
- (ffi_closure_sparc_inner_v9): Skip the structure return address only
- if required. Shift the maximum floating-point slot accordingly. For
- big structures, copy the argument directly; otherwise, left-justify the
- argument and call ffi_v9_layout_struct to lay out the structure on
- the stack.
- * src/sparc/v8.S: Undef STACKFRAME before defining it.
- (ffi_closure_v8): Pass the structure return address. Update call to
- ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
- Skip the 'unimp' insn when returning long doubles and structures.
- * src/sparc/v9.S: Undef STACKFRAME before defining it.
- (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
- FFI_TYPE_INT handling. Load structures both in integers and
- floating-point registers on return.
- * README: Update status of the SPARC port.
-
-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.
-
-2004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
-
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
- value as of type ffi_arg, not unsigned int.
-
-2004-01-21 Michael Ritzert <ritzert@t-online.de>
-
- * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
- of the LHS.
-
-2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
- Solaris.
-
-2004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
- to void *.
-
-2003-12-10 Richard Henderson <rth@redhat.com>
-
- * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
- size_t instead of int.
-
-2003-12-04 Hosaka Yuji <hos@tamanegi.org>
-
- * testsuite/libffi.call/many_win32.c: Include <float.h>.
- * testsuite/libffi.call/many_win32.c (main): Replace variable
- int i with unsigned long ul.
-
- * testsuite/libffi.call/cls_align_uint64.c: New test case.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02 Hosaka Yuji <hos@tamanegi.org>
-
- PR other/13221
- * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
- Align arguments to 32 bits.
-
-2003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR other/13221
- * testsuite/libffi.call/cls_multi_sshort.c: New test case.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-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.
-
-2003-11-21 Andreas Jaeger <aj@suse.de>
- Andreas Tobler <a.tobler@schweiz.ch>
-
- * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
- * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
- * Makefile.in: Rebuilt.
- * aclocal.m4: Likewise.
- * configure: Likewise.
- * fficonfig.h.in: Likewise.
- * testsuite/lib/libffi-dg.exp: Add include dir.
- * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
- for ffi_closure if available.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
- Add -lgcc_s to additional flags.
-
-2003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.in, include/Makefile.am: PR libgcj/11147, install
- the ffitarget.h header file in a gcc versioned and target
- dependent place.
- * configure: Regenerated.
- * Makefile.in, include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Print result and check
- with dg-output to make debugging easier.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
- static.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_9byte2.c: New test case.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_double.c: Do a check on the result.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/prep_cif.c (ffi_prep_cif): Move the validity check after
- the initialization.
-
-2003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
- FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
- __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-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
-
-2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
- _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
- Used when FFI_DEBUG = 1.
-
-2003-10-14 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
- and align.
-
-2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
- FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
- SPARC64. Cleanup whitespaces.
-
-2003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
- strongarm, xscale. Cleanup whitespaces.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Cleanup whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
- * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
- parameter stack.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
- according to the Darwin/AIX ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_DARWIN): Likewise.
- Remove the outgoing parameter stack logic. Simplify the evaluation
- of the different CASE types.
- (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
- statement in the trampoline code.
-
-2003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
- for the register size.
- (ffi_closure_helper_SYSV): Handle the structure return value
- address correctly.
- (ffi_closure_helper_SYSV): Return the appropriate type when
- the registers are used for the structure return value.
- * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
- the 64-bit return value. Update copyright years.
-
-2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
- srcdir for ffi_mips.h.
-
-2003-09-12 Alan Modra <amodra@bigpond.net.au>
-
- * src/prep_cif.c (initialize_aggregate): Include tail padding in
- structure size.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
- placement of float result.
- * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
- cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Merge identical SH and ARM
- typedefs, and add POWERPC64.
- * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
- struct split over gpr and rest.
- (ffi_prep_cif_machdep): Correct intarg_count for structures.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
- passing correctly.
-
-2003-09-09 Alan Modra <amodra@bigpond.net.au>
-
- * configure: Regenerate.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Remove build rules for ffitest.
- * Makefile.in: Rebuilt.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
- about implicit declaration of abort().
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
- * Makefile.in: Rebuilt.
- * configure.in: Add dejagnu test framework.
- * configure: Rebuilt.
-
- * testsuite/Makefile.am: New file.
- * testsuite/Makefile.in: Built
- * testsuite/lib/libffi-dg.exp: New file.
- * testsuite/config/default.exp: Likewise.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Likewise.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float1.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/many.c: Likewise.
- * testsuite/libffi.call/many_win32.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
- * testsuite/libffi.call/strlen.c: Likewise.
- * testsuite/libffi.call/strlen_win32.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
- * testsuite/libffi.call/struct2.c: Likewise.
- * testsuite/libffi.call/struct3.c: Likewise.
- * testsuite/libffi.call/struct4.c: Likewise.
- * testsuite/libffi.call/struct5.c: Likewise.
- * testsuite/libffi.call/struct6.c: Likewise.
- * testsuite/libffi.call/struct7.c: Likewise.
- * testsuite/libffi.call/struct8.c: Likewise.
- * testsuite/libffi.call/struct9.c: Likewise.
- * testsuite/libffi.special/special.exp: New file.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
- copyright years.
-
-2003-08-02 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
- structure passing.
- (ffi_closure_helper_LINUX64): Likewise.
- * src/powerpc/linux64.S: Remove code writing to parm save area.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
- address in lr from ffi_closure_helper_LINUX64 call to calculate
- table address. Optimize function tail.
-
-2003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/sparc/ffi.c: Handle all floating point registers.
- * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
-
- * README: Note that libffi is not part of GCC. Update the project
- URL and status.
-
-2003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
- Use C style comments.
-
-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
- should be read-only.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * include/ffi.h.in (EH_FRAME_FLAGS): Define.
- * src/alpha/osf.S: Use EH_FRAME_FLAGS.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
- * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
- if -fpic/-fPIC/-mrelocatable.
- * src/powerpc/powerpc_closure.S: Likewise.
- * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
- #write in .eh_frame flags.
- * src/sparc/v9.S: Likewise.
- * src/x86/unix64.S: Use EH_FRAME_FLAGS.
- * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
- * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
-
-2003-05-07 Jeff Sturm <jsturm@one-point.com>
-
- Fixes PR bootstrap/10656
- * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
- support for .register pseudo-op.
- * src/sparc/v8.S: Use it.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2003-04-18 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (POWERPC64): Define if 64-bit.
- (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
- Make it the default on POWERPC64.
- (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
- * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
- * configure: Rebuilt.
- * src/powerpc/ffi.c (hidden): Define.
- (ffi_prep_args_SYSV): Renamed from
- ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
- (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
- ASM_NEEDS_REGISTERS64): New.
- (ffi_prep_args64): New function.
- (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
- (ffi_call): Likewise.
- (ffi_prep_closure): Likewise.
- (flush_icache): Surround by #ifndef POWERPC64.
- (ffi_dblfl): New union type.
- (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
- (ffi_closure_helper_LINUX64): New function.
- * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
- __powerpc64__.
- * src/powerpc/sysv.S: Likewise.
- (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
- * src/powerpc/linux64.S: New file.
- * src/powerpc/linux64_closure.S: New file.
- * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
- src/powerpc/linux64_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
- * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
- closure_test_fn3): Fix result printing on big-endian 64-bit
- machines.
- (main): Print tst2_arg instead of uninitialized tst2_result.
-
- * src/ffitest.c (main): Hide what closure pointer really points to
- from the compiler.
-
-2003-04-16 Richard Earnshaw <rearnsha@arm.com>
-
- * configure.in (arm-*-netbsdelf*): Add configuration.
- (configure): Regenerated.
-
-2003-04-04 Loren J. Rittle <ljrittle@acm.org>
-
- * include/Makefile.in: Regenerate.
-
-2003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
-
- * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
- bit mode.
- * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
- Receive closure pointer through parameter, read args using
- __builtin_dwarf_cfa.
- (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12 Andreas Schwab <schwab@suse.de>
-
- * configure.in: Avoid trailing /. in toolexeclibdir.
- * configure: Rebuilt.
-
-2003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/powerpc/darwin_closure.S:
- Fix alignement bug, allocate 8 bytes for the result.
- * libffi/src/powerpc/aix_closure.S:
- Likewise.
- * libffi/src/powerpc/ffi_darwin.c:
- Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06 Jakub Jelinek <jakub@redhat.com>
-
- * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
- attribute.
-
-2003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
- Andreas Schwab <schwab@suse.de>
-
- * configure.in: Adjust command to source config-ml.in to account
- for changes to the libffi_basedir definition.
- (libffi_basedir): Remove ${srcdir} from value and include trailing
- slash if nonempty.
-
- * configure: Regenerate.
-
-2003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
- * src/x86/ffi64.c (ffi_prep_closure): New.
- (ffi_closure_UNIX64_inner): New.
- * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
- Remove USE_LIBDIR conditional.
- * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
- * Makefile.in, configure: Rebuilt.
-
-2003-01027 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
- * Makefile.in: Regenerate.
-
-2003-01-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
- unwind info.
-
-2003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Add unwind info.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
- (ffi_prep_cif_machdep): Likewise.
- * src/x86/unix64.S: Add unwind info.
-
-2003-01-14 Andreas Jaeger <aj@suse.de>
-
- * src/ffitest.c (main): Only use ffi_closures if those are
- supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/ffitest.c
- add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
- * libffi/src/powerpc/ffi.c
- fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c: Remove RCS version string.
- * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
- * src/ffitest.c (main): Use static storage for closure.
- * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
- * src/sparc/v8.S (ffi_closure_v8): New.
- * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10 Ranjit Mathew <rmathew@hotmail.com>
-
- * include/ffi.h.in: Added FFI_STDCALL ffi_type
- enumeration for X86_WIN32.
- * src/x86/win32.S: Added ffi_call_STDCALL function
- definition.
- * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
- switch cases for recognising FFI_STDCALL and
- calling ffi_call_STDCALL if target is X86_WIN32.
- * src/ffitest.c (my_stdcall_strlen/stdcall_many):
- stdcall versions of the "my_strlen" and "many"
- test functions (for X86_WIN32).
- Added test cases to test stdcall invocation using
- these functions.
-
-2002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26 Jim Wilson <wilson@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23 H.J. Lu <hjl@gnu.org>
-
- * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
- Include ../config/accross.m4.
- * aclocal.m4; Rebuild.
- * configure: Likewise.
-
-2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11 DJ Delorie <dj@redhat.com>
-
- * configure.in: Look for common files in the right place.
-
-2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
- raw data as _Jv_word values, not ffi_raw.
- (ffi_java_ptrarray_to_raw): Likewise.
- (ffi_java_rvalue_to_raw): New function.
- (ffi_java_raw_call): Call it.
- (ffi_java_raw_to_rvalue): New function.
- (ffi_java_translate_args): Call it.
- * src/ffitest.c (closure_test_fn): Interpret return value
- as ffi_arg, not int.
- * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
- FFI_TYPE_POINTER case.
- (ffi_closure_helper_SYSV): Likewise. Also, assume return
- values extended to word size.
-
-2002-10-02 Andreas Jaeger <aj@suse.de>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01 Bo Thorsen <bo@smetana.suse.de>
-
- * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
-
- * configure.in: Add s390x-*-linux-* target.
- * configure: Regenerate.
- * include/ffi.h.in: Define S390X for s390x targets.
- (FFI_CLOSURES): Define for s390/s390x.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
- * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
- * src/s390/ffi.c: Major rework of existing code. Add support for
- s390x targets. Add closure support.
- * src/s390/sysv.S: Likewise.
-
-2002-09-29 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: Fix typo.
-
-2002-09-28 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
- has defined __USER_LABEL_PREFIX__, then use it in CNAME.
- (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27 Bo Thorsen <bo@suse.de>
-
- * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * configure.in (sh[34]*-*-linux*): Add brackets.
- * configure: Regenerate.
-
-2002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * Makefile.am: Add SH support.
- * Makefile.in: Regenerate.
- * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
- * configure: Regenerate.
- * include/ffi.h.in: Add SH support.
- * src/sh/ffi.c: New file.
- * src/sh/sysv.S: New file.
- * src/types.c: Add SH support.
-
-2002-07-16 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi64.c: New file that adds x86-64 support.
- * src/x86/unix64.S: New file that handles argument setup for
- x86-64.
- * src/x86/sysv.S: Don't use this on x86-64.
- * src/x86/ffi.c: Don't use this on x86-64.
- Remove unused vars.
- * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
- for x86-64.
- * src/ffitest.c (struct6): New test that tests a special case in
- the x86-64 ABI.
- (struct7): Likewise.
- (struct8): Likewise.
- (struct9): Likewise.
- (closure_test_fn): Silence warning about this when it's not used.
- (main): Add the new tests.
- (main): Fix a couple of wrong casts and silence some compiler warnings.
- * include/ffi.h.in: Add x86-64 ABI definition.
- * fficonfig.h.in: Regenerate.
- * Makefile.am: Add x86-64 support.
- * configure.in: Likewise.
- * Makefile.in: Regenerate.
- * configure: Likewise.
-
-2002-06-24 Bo Thorsen <bo@suse.de>
-
- * src/types.c: Merge settings for similar architectures.
- Add x86-64 sizes and alignments.
-
-2002-06-23 Bo Thorsen <bo@suse.de>
-
- * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
- * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
- * src/mips/ffi.c (ffi_prep_args): Likewise.
- * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18 H.J. Lu (hjl@gnu.org)
-
- * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
- (libffi_la_SOURCES): Support MIPS_LINUX.
- (libffi_convenience_la_SOURCES): Likewise.
- * Makefile.in: Regenerated.
-
- * configure.in (mips64*-*): Skip.
- (mips*-*-linux*): New.
- * configure: Regenerated.
-
- * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
-
-2002-05-27 Roger Sayle <roger@eyesopen.com>
-
- * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
- fix formatting.
-
-2002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
- beginning of function (for older apple cc).
-
-2002-05-08 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
- script entry, and set LD to it when configuring multilibs.
- * configure: Rebuilt.
-
-2002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (sparc64-*-netbsd*): Add target.
- (sparc-*-netbsdelf*): Likewise.
- * configure: Regenerate.
-
-2002-04-28 David S. Miller <davem@redhat.com>
-
- * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
-
- * Makefile.am: Add Linux for S/390 support.
- * Makefile.in: Regenerate.
- * configure.in: Add Linux for S/390 support.
- * configure: Regenerate.
- * include/ffi.h.in: Add Linux for S/390 support.
- * src/s390/ffi.c: New file from libffi CVS tree.
- * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
- %r_disp32().
- * src/sparc/v8.S: Use it.
- * src/sparc/v9.S: Likewise.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2002-04-08 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
- correctly.
- * src/ia64/unix.S: Add unwind information. Fix comments.
- Save sp in a way that's compatible with unwind info.
- (ffi_call_unix): Correctly restore sp in all cases.
- * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08 Jakub Jelinek <jakub@redhat.com>
-
- * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (alpha*-*-netbsd*): Add target.
- * configure: Regenerate.
-
-2002-04-04 Jeff Sturm <jsturm@one-point.com>
-
- * src/sparc/v8.S: Add unwind info.
- * src/sparc/v9.S: Likewise.
-
-2002-03-30 Krister Walfridsson <cato@df.lth.se>
-
- * configure.in: Enable i*86-*-netbsdelf*.
- * configure: Rebuilt.
-
-2002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
-
- PR other/2620
- * src/mips/n32.s: Delete
- * src/mips/o32.s: Delete
-
-2002-03-21 Loren J. Rittle <ljrittle@acm.org>
-
- * configure.in: Enable alpha*-*-freebsd*.
- * configure: Rebuilt.
-
-2002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * Makefile.am: libfficonvenience -> libffi_convenience.
- * Makefile.in: Rebuilt.
-
- * Makefile.am: Define ffitest_OBJECTS.
- * Makefile.in: Rebuilt.
-
-2002-03-07 Andreas Tobler <toa@pop.agri.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
- (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
- (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
- * Makefile.in: Regenerate.
- * include/ffi.h.in: Add AIX and Darwin closure definitions.
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
- (flush_icache, flush_range): New functions.
- (ffi_closure_helper_DARWIN): New function.
- * src/powerpc/aix_closure.S: New file.
- * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add typedef for ffi_arg.
- * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21 Andreas Tobler <toa@pop.agri.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
- number of GPRs for floating-point arguments.
-
-2002-01-31 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Replace CHECK_SIZEOF and endian tests with
- cross-compiler friendly macros.
- * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
- macros.
-
-2002-01-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): New.
- * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
- (TARGET_SRC_POWERPC_AIX): New.
- (POWERPC_AIX): New stanza.
- * Makefile.in: Regenerate.
- * configure.in: Add AIX case.
- * configure: Regenerate.
- * include/ffi.h.in (ffi_abi): Add FFI_AIX.
- * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
- size. Fix "long double" support.
- (ffi_call): Add FFI_AIX case.
- * src/powerpc/aix.S: New.
-
-2001-10-09 John Hornkvist <john@toastedmarshmallow.com>
-
- Implement Darwin PowerPC ABI.
- * configure.in: Handle powerpc-*-darwin*.
- * Makefile.am: Set source files for POWERPC_DARWIN.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
- * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
- POWERPC_DARWIN.
- * src/powerpc/darwin.S: New file.
- * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .balign directive.
- Use C style comments.
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
- Fixes PR bootstrap/3563.
-
-2001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.in: Recognize sparc*-sun-* host.
- * configure: Regenerate.
-
-2001-06-06 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S: Add unwind info.
- * src/powerpc/sysv.S: Add unwind info.
- * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31 Jeff Sturm <jsturm@one-point.com>
-
- * configure.in: Fix AC_ARG_ENABLE usage.
- * configure: Rebuilt.
-
-2001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * configure.in: Remove warning about beta code.
- * configure: Rebuilt.
-
-2001-04-25 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/ia64/unix.S: Restore stack pointer when returning from
- ffi_closure_UNIX.
- * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18 Jim Wilson <wilson@redhat.com>
-
- * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
- to eliminate RAW DV.
-
-2001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
-
- * Makefile.am: Make a libtool convenience library.
- * Makefile.in: Rebuilt.
-
-2001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Use different syntax for subdirectory creation.
- * configure: Rebuilt.
-
-2001-03-27 Jon Beniston <jon@beniston.com>
-
- * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
- * configure: Rebuilt.
- * Makefile.am: Added X86_WIN32 target support.
- * Makefile.in: Rebuilt.
-
- * include/ffi.h.in: Added X86_WIN32 target support.
-
- * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
- * src/types.c: Added X86_WIN32 target support.
-
- * src/x86/win32.S: New file. Based on sysv.S, but with EH
- stuff removed and made to work with CygWin's gas.
-
-2001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Make target subdirectory in build dir.
- * Makefile.am: Override suffix based rules to specify correct output
- subdirectory.
- * Makefile.in: Rebuilt.
- * configure: Rebuilt.
-
-2001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
-
- * src/powerpc/ppc_closure.S: New file.
- * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
- involving long long and register pairs.
- (ffi_prep_closure): New function.
- (flush_icache): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * Makefile.in: Rebuilt.
- * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19 Tom Tromey <tromey@redhat.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02 Nick Clifton <nickc@redhat.com>
-
- * include/ffi.h.in: Remove RCS ident string.
- * include/ffi_mips.h: Remove RCS ident string.
- * src/debug.c: Remove RCS ident string.
- * src/ffitest.c: Remove RCS ident string.
- * src/prep_cif.c: Remove RCS ident string.
- * src/types.c: Remove RCS ident string.
- * src/alpha/ffi.c: Remove RCS ident string.
- * src/alpha/osf.S: Remove RCS ident string.
- * src/arm/ffi.c: Remove RCS ident string.
- * src/arm/sysv.S: Remove RCS ident string.
- * src/mips/ffi.c: Remove RCS ident string.
- * src/mips/n32.S: Remove RCS ident string.
- * src/mips/o32.S: Remove RCS ident string.
- * src/sparc/ffi.c: Remove RCS ident string.
- * src/sparc/v8.S: Remove RCS ident string.
- * src/sparc/v9.S: Remove RCS ident string.
- * src/x86/ffi.c: Remove RCS ident string.
- * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * include/ffi.h.in: Change sourceware.cygnus.com references to
- gcc.gnu.org.
-
-2000-12-09 Richard Henderson <rth@redhat.com>
-
- * src/alpha/ffi.c (ffi_call): Simplify struct return test.
- (ffi_closure_osf_inner): Index rather than increment avalue
- and arg_types. Give ffi_closure_osf the raw return value type.
- * src/alpha/osf.S (ffi_closure_osf): Handle return value type
- promotion.
-
-2000-12-07 Richard Henderson <rth@redhat.com>
-
- * src/raw_api.c (ffi_translate_args): Fix typo.
- (ffi_prep_closure): Likewise.
-
- * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
- FFI_TRAMPOLINE_SIZE.
- * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
- cif->bytes for new ffi_call_osf implementation.
- (ffi_prep_args): Absorb into ...
- (ffi_call): ... here. Do all stack allocation here and
- avoid a callback function.
- (ffi_prep_closure, ffi_closure_osf_inner): New.
- * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
- (ffi_closure_osf): New.
-
-2000-09-10 Alexandre Oliva <aoliva@redhat.com>
-
- * config.guess, config.sub, install-sh: Removed.
- * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
- * Makefile.in: Rebuilt.
-
- * acinclude.m4: Include libtool macros from the top level.
- * aclocal.m4, configure: Rebuilt.
-
-2000-08-22 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
- * configure: Rebuilt.
-
-2000-05-11 Scott Bambrough <scottb@netwinder.org>
-
- * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
- memory correctly. Use conditional instructions, not branches where
- possible.
-
-2000-05-04 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Match `arm*-*-linux-*'.
- From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (SUBDIRS): Define.
- (AM_MAKEFLAGS): Likewise.
- (Multilib support.): Add section.
- * Makefile.in: Rebuilt.
- * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
- New variables. Set for gcc using -print-multi-lib. Export them
- to libtool.
- (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
- * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
- for -shared links.
- (extra_compiler_flags_value, extra_compiler_flags): Check these
- for extra compiler options which need to be passed down in
- compiler_flags.
-
-2000-04-16 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
- Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
- * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
- Replace all void * sizeofs with sizeof(int).
- Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
- different than DOUBLE.
- Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
- (ffi_prep_args_v9): New function.
- (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
- (ffi_V9_return_struct): New function.
- (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
- 32bit code (not yet cross-arch calls).
- * src/sparc/v8.S: Add struct return delay nop.
- Handle long long.
- * src/sparc/v9.S: New file.
- * src/prep_cif.c (ffi_prep_cif): Return structure pointer
- is used on sparc64 only for structures larger than 32 bytes.
- Pass by reference for structures is done for structure arguments
- larger than 16 bytes.
- * src/ffitest.c (main): Use 64bit rint on sparc64.
- Run long long tests on sparc.
- * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
- sparc64.
- (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
- on sparc64.
- * configure.in (sparc-*-linux*): New supported target.
- (sparc64-*-linux*): Likewise.
- * configure: Rebuilt.
- * Makefile.am: Add v9.S to SPARC files.
- * Makefile.in: Likewise.
- (LINK): Surround $(CCLD) into double quotes, so that multilib
- compiles work correctly.
-
-2000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: (i*86-*-solaris*): New libffi target. Patch
- proposed by Bryce McKinlay.
-
-2000-03-20 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
-
- * config.guess, config.sub: Update from the gcc tree.
- Fix for PR libgcj/168.
-
-2000-03-03 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Fixed ia64 by hand.
-
- * configure: Rebuilt.
- * configure.in (--enable-multilib): New option.
- (libffi_basedir): New subst.
- (AC_OUTPUT): Added multilib code.
-
-2000-03-02 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
- directory name.
-
-2000-02-25 Hans Boehm <boehm@acm.org>
-
- * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
- files.
- * src/raw_api.c (ffi_translate_args): Fixed typo in argument
- list.
- (ffi_prep_raw_closure): Use ffi_translate_args, not
- ffi_closure_translate.
- * src/java_raw_api.c: New file.
- * src/ffitest.c (closure_test_fn): New function.
- (main): Define `rint' as long long on IA64. Added new test when
- FFI_CLOSURES is defined.
- * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
- (ffi_abi): Recognize IA64.
- (ffi_raw): Added `flt' field.
- Added "Java raw API" code.
- * configure.in: Recognize ia64.
- * Makefile.am (TARGET_SRC_IA64): New macro.
- (libffi_la_common_SOURCES): Added java_raw_api.c.
- (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01 Tom Tromey <tromey@cygnus.com>
-
- * include/ffi.h.in: Removed PACKAGE and VERSION defines and
- undefs.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
- * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
- Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
- * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09 Anthony Green <green@cygnus.com>
-
- * include/ffi.h.in: Try to work around messy header problem
- with PACKAGE and VERSION.
-
- * configure: Rebuilt.
- * configure.in: Change version to 2.00-beta.
-
- * fficonfig.h.in: Rebuilt.
- * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
- * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
-
- * src/x86/ffi.c (ffi_closure_SYSV): New function.
- (ffi_prep_incoming_args_SYSV): Ditto.
- (ffi_prep_closure): Ditto.
- (ffi_closure_raw_SYSV): Ditto.
- (ffi_prep_raw_closure): More ditto.
- (ffi_call_raw): Final ditto.
-
- * include/ffi.h.in: Add definitions for closure and raw API.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
- FFI_TYPE_UINT64.
-
- * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
- * src/raw_api.c: New file.
-
- * include/ffi.h.in (ffi_raw): New type.
- (UINT_ARG, SINT_ARG): New defines.
- (ffi_closure, ffi_raw_closure): New types.
- (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
- * configure.in: Add check for endianness and sizeof void*.
-
- * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
- instead of directly.
-
- * configure: Rebuilt.
-
-Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
-
- * configure.in: Add x86 and powerpc BeOS configurations.
- From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09 Anthony Green <green@cygnus.com>
-
- * configure.in: Add warning about this being beta code.
- Remove src/Makefile.am from the picture.
- * configure: Rebuilt.
-
- * Makefile.am: Move logic from src/Makefile.am. Add changes
- to support libffi as a target library.
- * Makefile.in: Rebuilt.
-
- * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
- Upgraded to new autoconf, automake, libtool.
-
- * README: Tweaks.
-
- * LICENSE: Update copyright date.
-
- * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29 Anthony Green <green@cygnus.com>
-
- * include/ChangeLog: Removed.
- * src/ChangeLog: Removed.
- * src/mips/ChangeLog: Removed.
- * src/sparc/ChangeLog: Remboved.
- * src/x86/ChangeLog: Removed.
-
- * ChangeLog.v1: Created.
diff --git a/.pc/ios-fixes/build-ios.sh b/.pc/ios-fixes/build-ios.sh
deleted file mode 100755
index d9010af..0000000
--- a/.pc/ios-fixes/build-ios.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-
-PLATFORM_IOS=/Developer/Platforms/iPhoneOS.platform/
-PLATFORM_IOS_SIM=/Developer/Platforms/iPhoneSimulator.platform/
-SDK_IOS_VERSION="4.1"
-
-mkdir -p "build-ios"
-pushd "build-ios"
-export CC="${PLATFORM_IOS}"/Developer/usr/bin/gcc-4.2
-export CFLAGS="-arch armv6 -isysroot ${PLATFORM_IOS}/Developer/SDKs/iPhoneOS${SDK_IOS_VERSION}.sdk/"
-../configure --host=arm-apple-darwin10 && make
-popd
diff --git a/.pc/ios/.timestamp b/.pc/ios/.timestamp
deleted file mode 100644
index e69de29..0000000
--- a/.pc/ios/.timestamp
+++ /dev/null
diff --git a/.pc/ios/ChangeLog b/.pc/ios/ChangeLog
deleted file mode 100644
index 14b2029..0000000
--- a/.pc/ios/ChangeLog
+++ /dev/null
@@ -1,4584 +0,0 @@
-2012-02-10 Kai Tietz <ktietz@redhat.com>
-
- * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
- windows target.
- * configure: Regenerated.
-
-2012-02-08 Kai Tietz <ktietz@redhat.com>
-
- * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
- also FFI_THISCALL.
- * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
- (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
- (ffi_prep_closure_loc): Add FFI_THISCALL support.
- * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
- * src/x86/win32.S (ffi_closure_THISCALL): New closure code
- for thiscall-calling convention.
- * testsuite/libffi.call/closure_thiscall.c: New test.
-
-2012-01-28 Kai Tietz <ktietz@redhat.com>
-
- * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
- argument to prototype for specify calling-convention.
- (ffi_call): Add support for stdcall/thiscall convention.
- (ffi_prep_args): Likewise.
- (ffi_raw_call): Likewise.
- * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
- FFI_FASTCALL.
- * src/x86/win32.S (_ffi_call_win32): Add support for
- fastcall/thiscall calling-convention calls.
- * testsuite/libffi.call/fastthis1_win32.c: New test.
- * testsuite/libffi.call/fastthis2_win32.c: New test.
- * testsuite/libffi.call/fastthis3_win32.c: New test.
- * testsuite/libffi.call/strlen2_win32.c: New test.
- * testsuite/libffi.call/many2_win32.c: New test.
- * testsuite/libffi.call/struct1_win32.c: New test.
- * testsuite/libffi.call/struct2_win32.c: New test.
-
-2012-01-23 Andreas Schwab <schwab@linux-m68k.org>
-
- * src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
- mc68000. Test for __HAVE_68881__ in addition to __MC68881__.
-
-2012-01-19 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/48496
- * src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
-
-2012-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (i?86-*-*): Set TARGET to X86_64.
- * configure: Regenerate.
-
-2011-12-07 Andrew Pinski <apinski@cavium.com>
-
- PR libffi/50051
- * src/mips/n32.S: Add ".set mips4".
-
-2011-11-21 Andreas Tobler <andreast@fgznet.ch>
-
- * configure: Regenerate.
-
-2011-11-10 Richard Henderson <rth@redhat.com>
-
- * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
- * configure, aclocal.m4: Rebuild.
-
-2011-09-04 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/49594
- * src/powerpc/darwin_closure.S (stubs): Make the stub binding
- helper reference track the architecture pointer size.
-
-2011-08-25 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
- instructions.
- * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
-
-2011-07-11 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46660
- * testsuite/libffi.call/cls_double_va.c: xfail dg-output on
- mips-sgi-irix6*.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
- PRId8 instead of %hhu, %hhd.
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
- PRIu8): Define.
- [__sgi__] (PRId8, PRIu8): Define.
-
-2011-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
- Define.
- Use them to handle ELF vs. ECOFF differences.
- [__osf__] (_GLOBAL__F_ffi_call_osf): Define.
-
-2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2011-02-08 Oren Held <orenhe@il.ibm.com>
-
- * src/dlmalloc.c (_STRUCT_MALLINFO): Define in order to avoid
- redefinition of mallinfo on HP-UX.
-
-2011-02-08 Ginn Chen <ginn.chen@oracle.com>
-
- * src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
- aggregate return ABI. Flush cache.
- (ffi_prep_closure_loc): Flush cache.
-
-2011-02-11 Anthony Green <green@moxielogic.com>
-
- From Tom Honermann <tom.honermann@oracle.com>:
- * src/powerpc/aix.S (ffi_call_AIX): Support for xlc toolchain on
- AIX. Declare .ffi_prep_args. Insert nops after branch
- instructions so that the AIX linker can insert TOC reload
- instructions.
- * src/powerpc/aix_closure.S: Declare .ffi_closure_helper_DARWIN.
-
-2011-02-08 Ed <ed@kdtc.net>
-
- * src/powerpc/asm.h: Fix grammar nit in comment.
-
-2011-02-08 Uli Link <ul.mcamafia@linkitup.de>
-
- * include/ffi.h.in (FFI_64_BIT_MAX): Define and use.
-
-2011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46661
- * testsuite/libffi.call/cls_pointer.c (main): Cast void * to
- uintptr_t first.
- * testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
-
-2011-02-08 Rafael Avila de Espindola <respindola@mozilla.com>
-
- * configure.ac: Fix x86 test for pc related relocs.
- * configure: Rebuilt.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
- Handle case when CPU variant does not have long double support.
- * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
- and cores with soft floating point.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * configure.ac: Add mips*-*-rtems* support.
- * configure: Regenerate.
- * src/mips/ffitarget.h: Ensure needed constants are available
- for targets which do not have sgidefs.h.
-
-2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR target/40125
- * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
- * configure: Regenerate.
-
-2010-12-18 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/29152
- PR libffi/42378
- * src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
- (FFI_TRAMPOLINE_SIZE): Update for Darwin64.
- * src/powerpc/darwin.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
- backslashes.
- (libffi_cv_as_string_pseudo_op): Likewise.
- * configure: Regenerate.
-
-2010-12-03 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
- (ffi_closure_VFP): Same.
- (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
- directive.
-
-2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
- (PRIuPTR): Define.
-
-2010-11-29 Richard Henderson <rth@redhat.com>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
- (.eh_frame): Use FDE_ENCODING.
- (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
-
-2010-11-22 Jacek Caban <jacek@codeweavers.com>
-
- * configure.ac: Check for symbol underscores on mingw-w64.
- * configure: Rebuilt.
- * src/x86/win64.S: Correctly access extern symbols in respect to
- underscores.
-
-2010-11-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp: Rename ...
- * testsuite/lib/libffi.exp: ... to this.
- * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
- * libffi/testsuite/libffi.special/special.exp: Likewise.
-
-2010-10-28 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
- code, new parameter, and return value. Update comments.
- (ffi_prep_cif_machdep): Add case for VFP struct return values. Add
- call to layout_vfp_args().
- (ffi_call_SYSV): Update declaration.
- (ffi_call_VFP): New declaration.
- (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
- when ABI is FFI_VFP.
- (ffi_closure_VFP): New declaration.
- (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
- ffi_prep_incoming_args_SYSV().
- (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
- case handling.
- (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
- construction under VFP hard-float.
- (rec_vfp_type_p): New function.
- (vfp_type_p): Same.
- (place_vfp_arg): Same.
- (layout_vfp_args): Same.
- * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
- based on __ARM_PCS_VFP.
- (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
- fields.
- (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
- (FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
- * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
- direct call. Move function pointer load upwards.
- (ffi_call_VFP): New function.
- (ffi_closure_VFP): Same.
-
- * testsuite/lib/libffi-dg.exp (check-flags): New function.
- (dg-skip-if): New function.
- * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
- and compiler options include -mfloat-abi=hard.
- * testsuite/libffi.call/cls_longdouble_va.c: Same.
-
-2010-10-01 Jakub Jelinek <jakub@redhat.com>
-
- PR libffi/45677
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
- a multiple of 8.
- * testsuite/libffi.call/many2.c: New test.
-
-2010-08-20 Mark Wielaard <mjw@redhat.com>
-
- * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
- returns NULL.
-
-2010-08-09 Andreas Tobler <andreast@fgznet.ch>
-
- * configure.ac: Add target powerpc64-*-freebsd*.
- * configure: Regenerate.
- * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
- -mlong-double-128 only to linux targets.
- * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
- * testsuite/libffi.call/cls_longdouble.c: Likewise.
- * testsuite/libffi.call/huge_struct.c: Likewise.
-
-2010-08-05 Dan Witte <dwitte@mozilla.com>
-
- * Makefile.am: Pass FFI_DEBUG define to msvcc.sh for linking to the
- debug CRT when --enable-debug is given.
- * configure.ac: Define it.
- * msvcc.sh: Translate -g and -DFFI_DEBUG appropriately.
-
-2010-08-04 Dan Witte <dwitte@mozilla.com>
-
- * src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64
- platforms.
- * src/x86/ffi.c: Remove redundant ifdef checks.
- * src/prep_cif.c: Push stack space computation into src/x86/ffi.c
- for X86_ANY so return value space doesn't get added twice.
-
-2010-08-03 Neil Rashbrooke <neil@parkwaycc.co.uk>
-
- * msvcc.sh: Don't pass -safeseh to ml64 because behavior is buggy.
-
-2010-07-22 Dan Witte <dwitte@mozilla.com>
-
- * src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
- * src/prep_cif.c: Fix ABI assertion.
- * src/cris/ffi.c: Ditto.
-
-2010-07-10 Evan Phoenix <evan@fallingsnow.net>
-
- * src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
-
-2010-07-07 Dan Horák <dan@danny.cz>
-
- * include/ffi.h.in: Protect #define with #ifndef.
- * src/powerpc/ffitarget.h: Ditto.
- * src/s390/ffitarget.h: Ditto.
- * src/sparc/ffitarget.h: Ditto.
-
-2010-07-07 Neil Roberts <neil@linux.intel.com>
-
- * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
- 16-bytes.
-
-2010-07-02 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
- * Makefile.in: Regenerated.
-
-2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
- output, too.
- (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
- (libffi_cv_as_string_pseudo_op): Check for .string.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
-
-2010-05-11 Dan Witte <dwitte@mozilla.com>
-
- * doc/libffi.tex: Document previous change.
-
-2010-05-11 Makoto Kato <m_kato@ga2.so-net.ne.jp>
-
- * src/x86/ffi.c (ffi_call): Don't copy structs passed by value.
-
-2010-05-05 Michael Kohler <michaelkohler@live.com>
-
- * src/dlmalloc.c (dlfree): Fix spelling.
- * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
- * configure.ac: Ditto.
- * configure: Rebuilt.
-
-2010-04-13 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Build with -W3 instead of -Wall.
- * src/powerpc/ffi_darwin.c: Remove build warnings.
- * src/x86/ffi.c: Ditto.
- * src/x86/ffitarget.h: Ditto.
-
-2010-04-12 Dan Witte <dwitte@mozilla.com>
- Walter Meinl <wuno@lsvw.de>
-
- * configure.ac: Add OS/2 support.
- * configure: Rebuilt.
- * src/closures.c: Ditto.
- * src/dlmalloc.c: Ditto.
- * src/x86/win32.S: Ditto.
-
-2010-04-07 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
-
-2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2010-03-30 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Disable build warnings.
- * README (tested): Clarify windows build procedure.
-
-2010-03-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * libffi/src/x86/unix64.S (.eh_frame)
- [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
-
-2010-03-14 Matthias Klose <doko@ubuntu.com>
-
- * src/x86/ffi64.c: Fix typo in comment.
- * src/x86/ffi.c: Use /* ... */ comment style.
-
-2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/libffi.texi (The Closure API): Fix typo.
- * doc/libffi.info: Remove.
-
-2010-02-15 Matthias Klose <doko@ubuntu.com>
-
- * src/arm/sysv.S (__ARM_ARCH__): Define for processor
- __ARM_ARCH_7EM__.
-
-2010-01-15 Anthony Green <green@redhat.com>
-
- * README: Add notes on building with Microsoft Visual C++.
-
-2010-01-15 Daniel Witte <dwitte@mozilla.com>
-
- * msvcc.sh: New file.
-
- * src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
- * src/x86/ffi.c: Tweak function declaration and remove excess
- parens.
- * include/ffi.h.in: Add __declspec(align(8)) to typedef struct
- ffi_closure.
-
- * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
- function ffi_call_win32 on X86_WIN32.
- * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
- (ffi_call_STDCALL): Remove.
-
- * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
- to ffi_prep_cif_machdep for x86.
- * src/x86/ffi.c (ffi_prep_cif_machdep): To here.
-
-2010-01-15 Oliver Kiddle <okiddle@yahoo.co.uk>
-
- * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
- Sun Studio compiler compatibility.
-
-2010-01-12 Conrad Irwin <conrad.irwin@gmail.com>
-
- * doc/libffi.texi: Add closure example.
-
-2010-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40701
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
- PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
- * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
- alpha*-dec-osf*.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/return_ll1.c: Likewise.
- * testsuite/libffi.call/stret_medium2.c: Likewise.
- * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
- MAP_FAILED to char *.
-
-2010-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
-
-2009-12-31 Anthony Green <green@redhat.com>
-
- * README: Update for libffi 3.0.9.
-
-2009-12-27 Matthias Klose <doko@ubuntu.com>
-
- * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
- appropriate.
- * configure: Rebuilt.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
- avr32*-*-*.
- * testsuite/libffi.call/cls_double_va.c: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
- and inttypes.h.
- * testsuite/libffi.special/unwindtest.cc: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-openbsd*.
- * configure: Rebuilt.
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
- openbsd programs with -lpthread.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
- mips*-*-* and arm*-*-*.
- * testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c,
- testsuite/libffi.call/stret_medium2.c,
- testsuite/libffi.call/stret_medium.c,
- testsuite/libffi.call/stret_large.c,
- testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
-
-2009-12-31 Kay Tietz <ktietz70@googlemail.com>
-
- * testsuite/libffi.call/ffitest.h,
- testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
- definitions.
-
-2009-12-31 Carlo Bramini <carlo.bramix@libero.it>
-
- * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
- * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
-
-2009-12-31 Anthony Green <green@redhat.com>
- Blake Chaffin.
-
- * testsuite/libffi.call/huge_struct.c: New test case from Blake
- Chaffin @ Apple.
-
-2009-12-28 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
- local variables.
- (aix_adjust_aggregate_sizes): New function.
- (ffi_prep_cif_machdep): Call it.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
- * configure: Regenerate.
- * fficonfig.h.in: Likewise.
- * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
- Solaris/x86.
-
-2009-12-26 Andreas Schwab <schwab@linux-m68k.org>
-
- * 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.
-
-2009-12-25 Matthias Klose <doko@ubuntu.com>
-
- * man/ffi_call.3: Fix #include in examples.
- * doc/libffi.texi: Add dircategory.
-
-2009-12-25 Frank Everdij <f.p.x.everdij@tudelft.nl>
-
- * include/ffi.h.in: Placed '__GNUC__' ifdef around
- '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
- IRIX MIPSPro c99.
- * include/ffi_common.h: Added '__sgi' define to non
- '__attribute__((__mode__()))' integer typedefs.
- * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
- ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
- (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
- FFI_LONGDOUBLE support and alignment(N32 only).
- * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
- fixed non '__attribute__((__mode__()))' integer typedefs.
- * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
- since they are Linux/GNU Assembler specific.
-
-2009-12-25 Bradley Smith <brad@brad-smith.co.uk>
-
- * configure.ac, Makefile.am, src/avr32/ffi.c,
- src/avr32/ffitarget.h,
- src/avr32/sysv.S: Add AVR32 port.
- * configure, Makefile.in: Rebuilt.
-
-2009-12-21 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
- * configure: Regenerate.
-
-2009-12-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
- type on HP-UX.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
- double' arguments.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40700
- * src/closures.c [X86_64 && __sun__ && __svr4__]
- (FFI_MMAP_EXEC_WRIT): Define.
-
-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.
-
-2009-12-07 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
- typo.
-
-2009-12-05 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
- code.
- * src/powerpc/aix_closure.S: Same.
-
-2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
- linux64_closure.S.
-
-2009-12-04 Uros Bizjak <ubizjak@gmail.com>
-
- 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.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
- pfr for long double split between fpr13 and stack.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
- fparg_count twice for long double.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- PR libffi/42243
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03 Uros Bizjak <ubizjak@gmail.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
- Remove xfails for x86 linux targets.
-
-2009-12-02 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
- case.
-
-2009-12-01 David Edelsohn <edelsohn@gnu.org>
-
- * 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.
-
-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.
-
-2009-11-02 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/41908
- * testsuite/libffi.call/testclosure.c: New test.
-
-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.
-
-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.
-
-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.
-
-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.
-
-2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.am (install-html, install-pdf): Remove.
- * Makefile.in: Regenerate.
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24 Dave Korn <dave.korn.cygwin@gmail.com>
-
- 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.
-
-2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
-
- 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.
-
-2009-07-01 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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 "".)
-
-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.
-
-2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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.
-
-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.
-
-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.
-
-2009-06-16 Andrew Haley <aph@redhat.com>
-
- * configure.ac (TARGETDIR): Add missing blank lines.
- * configure: Regenerate.
-
-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.
-
-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.
-
-2009-06-12 Andrew Haley <aph@redhat.com>
-
- * Makefile.am: Remove info_TEXINFOS.
-
-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-11 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * 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.
-
-2009-06-09 Andrew Haley <aph@redhat.com>
-
- * src/x86/freebsd.S: Add missing file.
-
-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).
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * README: Import from libffi 3.0.8.
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Add xfails.
- * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
- * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
- * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
- * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
- * testsuite/libffi.call/stret_medium.c: Likewise.
- * testsuite/libffi.call/stret_large2.c: Likewise.
- * testsuite/libffi.call/stret_large.c: Likewise.
-
-2008-12-26 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_align_longdouble.c,
- testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
- failures on x86_64 cygwin/mingw.
-
-2008-12-22 Timothy Wall <twall@users.sf.net>
-
- * 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_loc_fn0.c,
- testsuite/libffi.call/closure_stdcall.c,
- testsuite/libffi.call/cls_align_pointer.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
- pointer to integer (intptr_t).
- * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_dbls_struct.c,
- testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c,
- testsuite/libffi.call/err_bad_abi.c: Clean up failures from
- compiler warnings.
-
-2008-03-04 Anthony Green <green@redhat.com>
- Blake Chaffin
- hos@tamanegi.org
-
- * testsuite/libffi.call/cls_align_longdouble_split2.c
- testsuite/libffi.call/cls_align_longdouble_split.c
- testsuite/libffi.call/cls_dbls_struct.c
- testsuite/libffi.call/cls_double_va.c
- testsuite/libffi.call/cls_longdouble.c
- testsuite/libffi.call/cls_longdouble_va.c
- testsuite/libffi.call/cls_pointer.c
- testsuite/libffi.call/cls_pointer_stack.c
- testsuite/libffi.call/err_bad_abi.c
- testsuite/libffi.call/err_bad_typedef.c
- testsuite/libffi.call/stret_large2.c
- testsuite/libffi.call/stret_large.c
- testsuite/libffi.call/stret_medium2.c
- testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
- libffi.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
- stdcall changes.
-
-2008-02-26 Anthony Green <green@redhat.com>
- Thomas Heller <theller@ctypes.org>
-
- * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
- comment.
-
-2008-02-03 Timothy Wall <twall@users.sf.net>
-
- * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
- offset based on code pointer, not data pointer.
-
-2008-01-31 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
- closures.
- * src/x86/ffitarget.h: Increase size of trampoline for stdcall
- closures.
- * src/x86/win32.S: Add assembly for stdcall closure.
- * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Change void (*)() to void (*)(void).
- * src/x86/ffi.c: Likewise.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ppc_closure.S: Insert licence header.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/m68k/sysv.S: Likewise.
-
- * src/sh64/ffi.c: Change void (*)() to void (*)(void).
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/m32r/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi64.c: Likewise.
- * src/alpha/ffi.c: Likewise.
- * src/alpha/osf.S: Likewise.
- * src/frv/ffi.c: Likewise.
- * src/s390/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/pa/hpux32.S: Likewise.
- * src/ia64/unix.S: Likewise.
- * src/ia64/ffi.c: Likewise.
- * src/sparc/ffi.c: Likewise.
- * src/mips/ffi.c: Likewise.
- * src/sh/ffi.c: Likewise.
-
-2008-02-15 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
- Define (conditionally), and use it to include cachectl.h.
- (ffi_prep_closure_loc): Fix cache flushing.
- * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- include/ffi.h.in,
- src/arm/ffitarget.h,
- src/arm/ffi.c,
- src/arm/sysv.S,
- src/powerpc/ffitarget.h,
- src/closures.c,
- src/sh64/ffitarget.h,
- src/sh64/ffi.c,
- src/sh64/sysv.S,
- src/types.c,
- src/x86/ffi64.c,
- src/x86/ffitarget.h,
- src/x86/win32.S,
- src/x86/darwin.S,
- src/x86/ffi.c,
- src/x86/sysv.S,
- src/x86/unix64.S,
- src/alpha/ffitarget.h,
- src/alpha/ffi.c,
- src/alpha/osf.S,
- src/m68k/ffitarget.h,
- src/frv/ffitarget.h,
- src/frv/ffi.c,
- src/s390/ffitarget.h,
- src/s390/sysv.S,
- src/cris/ffitarget.h,
- src/pa/linux.S,
- src/pa/ffitarget.h,
- src/pa/ffi.c,
- src/raw_api.c,
- src/ia64/ffitarget.h,
- src/ia64/unix.S,
- src/ia64/ffi.c,
- src/ia64/ia64_flags.h,
- src/java_raw_api.c,
- src/debug.c,
- src/sparc/v9.S,
- src/sparc/ffitarget.h,
- src/sparc/ffi.c,
- src/sparc/v8.S,
- src/mips/ffitarget.h,
- src/mips/n32.S,
- src/mips/o32.S,
- src/mips/ffi.c,
- src/prep_cif.c,
- src/sh/ffitarget.h,
- src/sh/ffi.c,
- src/sh/sysv.S: Update license text.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * src/x86/win32.S (_ffi_closure_STDCALL): New function.
- (.eh_frame): Add FDE for it.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * configure.ac: Also check if assembler supports pc-relative
- relocs on X86_WIN32 targets.
- * configure: Regenerate.
- * src/x86/win32.S (ffi_prep_args): Declare extern, not global.
- (_ffi_call_SYSV): Add missing function type symbol .def and
- add EH markup labels.
- (_ffi_call_STDCALL): Likewise.
- (_ffi_closure_SYSV): Likewise.
- (_ffi_closure_raw_SYSV): Likewise.
- (.eh_frame): Add hand-crafted EH data.
-
-2009-04-09 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
- version 3 of the GNU General Public License and to point readers
- at the COPYING3 file and the FSF's license web page.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-12-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libffi/26048
- * configure.ac (HAVE_AS_X86_PCREL): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
- RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
- RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
- * src/x86/unix64.S (.Lstore_table): Move to .text section.
- (.Lload_table): Likewise.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
- signed/unsigned int8/16 return values.
- * src/sparc/v8.S (ffi_call_v8): Likewise.
- (ffi_closure_v8): Likewise.
-
-2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
- Steve Ellcey <sje@cup.hp.com>
-
- * configure: Regenerate for new libtool.
- * Makefile.in: Ditto.
- * include/Makefile.in: Ditto.
- * aclocal.m4: Ditto.
-
-2008-08-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
- FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
- Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
- Adjust copyright notice.
- * src/powerpc/ffi.c: Add two new flags to indicate if we have one
- register or two register to use for FFI_SYSV structs.
- (ffi_prep_cif_machdep): Pass the right register flag introduced above.
- (ffi_closure_helper_SYSV): Fix the return type for
- FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
- Adjust copyright notice.
-
-2008-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
- int.
-
-2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2008-06-07 Joseph Myers <joseph@codesourcery.com>
-
- * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
- powerpc-*-beos*): Remove.
- * configure: Regenerate.
-
-2008-05-09 Julian Brown <julian@codesourcery.com>
-
- * Makefile.am (LTLDFLAGS): New.
- (libffi_la_LDFLAGS): Use above.
- * Makefile.in: Regenerate.
-
-2008-04-18 Paolo Bonzini <bonzini@gnu.org>
-
- PR bootstrap/35457
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2008-03-26 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add .note.GNU-stack on Linux.
- * src/sh64/sysv.S: Likewise.
-
-2008-03-26 Daniel Jacobowitz <dan@debian.org>
-
- * src/arm/sysv.S: Fix ARM comment marker.
-
-2008-03-26 Jakub Jelinek <jakub@redhat.com>
-
- * src/alpha/osf.S: Add .note.GNU-stack on Linux.
- * src/s390/sysv.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
- * src/x86/unix64.S: Likewise.
- * src/x86/sysv.S: Likewise.
- * src/sparc/v8.S: Likewise.
- * src/sparc/v9.S: Likewise.
- * src/m68k/sysv.S: Likewise.
- * src/arm/sysv.S: Likewise.
-
-2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * aclocal.m4: Regenerate.
- * configure: Likewise.
- * Makefile.in: Likewise.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2008-02-12 Bjoern Koenig <bkoenig@alpha-tierchen.de>
- Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-freebsd* target.
- * configure: Regenerate.
-
-2008-01-30 H.J. Lu <hongjiu.lu@intel.com>
-
- PR libffi/34612
- * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
- returning struct.
-
- * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
- tests.
-
-2008-01-24 David Edelsohn <edelsohn@gnu.org>
-
- * configure: Regenerate.
-
-2008-01-06 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
-
-2008-01-05 Andreas Tobler <a.tobler@schweiz.org>
-
- PR testsuite/32843
- * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
- signed/unsigned int8/16 for X86_DARWIN.
- Updated copyright info.
- Handle one and two byte structs with special cif->flags.
- * src/x86/ffitarget.h: Add special types for one and two byte structs.
- Updated copyright info.
- * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
- sysv.S
- Remove code to pop args from the stack after call.
- Special-case signed/unsigned for int8/16, one and two byte structs.
- (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
- FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
- FFI_TYPE_SINT32.
- Updated copyright info.
-
-2007-12-08 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_call_N32): Replace dadd with ADDU, dsub with
- SUBU, add with ADDU and use smaller code sequences.
-
-2007-12-07 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
- type.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
- defined.
- (ffi_java_raw): New typedef.
- (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
- ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
- ffi_java_raw.
- (ffi_java_raw_closure) : Same.
- (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
- parameter types.
- * src/java_raw_api.c (ffi_java_raw_size): Replace FFI_SIZEOF_ARG with
- FFI_SIZEOF_JAVA_RAW.
- (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
- Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
- sizeof(ffi_java_raw) for alignment calculations.
- (ffi_java_ptrarray_to_raw): Same.
- (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
- if FFI_SIZEOF_JAVA_RAW == 4.
- (ffi_java_raw_to_rvalue): Same.
- (ffi_java_raw_call): Change type of raw to ffi_java_raw.
- (ffi_java_translate_args): Same.
- (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
- parameter types.
- * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
- pointer values.
-
-2007-12-01 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/31937
- * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
- Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
- * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
- set the NUM_FPR_ARG_REGISTERS according to.
- Add support for potential soft-float support under hard-float
- architecture.
- (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
- FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
- to the FFI_LINUX_SOFT_FLOAT ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Make sure not to store float/double
- on archs where __NO_FPRS__ is true.
- Add FFI_TYPE_UINT128 support.
- * src/powerpc/sysv.S: Add support for soft-float long-double-128.
- Adjust copyright notice.
-
-2007-11-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
- * include/ffi_common.h: ... here.
- Update copyright.
-
-2007-11-17 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
- * testsuite/libffi.call/return_ldl.c: New test.
-
-2007-09-04 <aph@redhat.com>
-
- * src/arm/sysv.S (UNWIND): New.
- (Whole file): Conditionally compile unwinder directives.
- * src/arm/sysv.S: Add unwinder directives.
-
- * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
- Only treat r0 as a struct address if we're actually returning a
- struct by address.
- Only copy the bytes that are actually within a struct.
- (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
- is returned in r0, not passed by address.
- (ffi_call): Allocate a word-sized temporary for the case where
- a composite is returned in r0.
- (ffi_prep_incoming_args_SYSV): Align as necessary.
-
-2007-08-05 Steven Newbury <s_j_newbury@yahoo.co.uk>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
- directly using the sys_cacheflush syscall.
-
-2007-07-27 Andrew Haley <aph@redhat.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
-
-2007-09-03 Maciej W. Rozycki <macro@linux-mips.org>
-
- * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure: Likewise.
-
-2007-08-24 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/return_sl.c: New test.
-
-2007-08-10 David Daney <ddaney@avtrex.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/nested_struct5.c,
- testsuite/libffi.call/cls_double.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/nested_struct.c,
- testsuite/libffi.call/cls_2byte.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_sint16.c,
- testsuite/libffi.call/cls_align_uint32.c,
- testsuite/libffi.call/cls_20byte.c,
- testsuite/libffi.call/cls_float.c,
- testsuite/libffi.call/nested_struct2.c,
- testsuite/libffi.call/cls_5_1_byte.c,
- testsuite/libffi.call/nested_struct4.c,
- testsuite/libffi.call/cls_24byte.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: Remove xfail for mips64*-*-*.
-
-2007-08-10 David Daney <ddaney@avtrex.com>
-
- 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.
-
-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*.
- * 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.
-
-2006-12-13 Andreas Tobler <a.tobler@schweiz.org>
-
- * aclocal.m4: Regenerate with aclocal -I .. as written in the
- Makefile.am.
-
-2006-10-31 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
- (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
- Darwin.
- * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
- * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10 Paolo Bonzini <bonzini@gnu.org>
- Sandro Tolaini <tolaini@libero.it>
-
- * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
- conditional.
- * configure: Regenerated.
- * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
- (EXTRA_DIST): Add src/x86/darwin.S.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
- X86_WIN32, and additionally align stack to 16 bytes.
- * src/x86/darwin.S: New, based on sysv.S.
- * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12 David Daney <ddaney@avtrex.com>
-
- PR libffi/23935
- * include/Makefile.am: Install both ffi.h and ffitarget.h in
- $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
- * aclocal.m4: Regenerated for automake 1.9.6.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
-2006-08-17 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h: Remove lint directives.
- * include/ffi.h.in: Likewise.
-
-2006-07-25 Torsten Schoenfeld <kaffeetisch@gmx.de>
-
- * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
- for 32-bit architectures.
- * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
- xfail remains for mips64.
-
-2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
-
- * Makefile.am: Add install-html target. Add install-html to .PHONY
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
- stack slot.
-
-2006-04-22 Andreas Tobler <a.tobler@schweiz.ch>
-
- * README: Remove notice about 'Crazy Comments'.
- * src/debug.c: Remove lint directives. Cleanup white spaces.
- * src/java_raw_api.c: Likewise.
- * src/prep_cif.c: Likewise.
- * src/raw_api.c: Likewise.
- * src/ffitest.c: Delete. No longer needed, all test cases migrated
- to the testsuite.
- * src/arm/ffi.c: Remove lint directives.
- * src/m32r/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/sh/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/pa/hpux32.S: Correct unwind offset calculation for
- ffi_closure_pa32.
- * src/pa/linux.S: Likewise.
-
-2006-04-12 James E Wilson <wilson@specifix.com>
-
- PR libgcj/26483
- * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
- (hfa_type_load): Call stf_spill.
- (hfa_type_store): Call ldf_fill.
- (ffi_call): Adjust calls to above routines. Add local temps for
- macro result.
-
-2006-04-10 Matthias Klose <doko@debian.org>
-
- * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
- directory names containing underscores.
-
-2006-04-07 James E Wilson <wilson@specifix.com>
-
- * testsuite/libffi.call/float4.c: New testcase.
-
-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.
-
-2006-03-24 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Default
- for 32-bit using IBM extended double format. Fix FFI_LAST_ABI.
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
- FFI_TYPE_LONGDOUBLE.
- (ffi_prep_args64): Assert using IBM extended double.
- (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
- Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
- (ffi_call): Handle FFI_LINUX.
- (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
- gpr3 return pointer as for struct return. Handle FFI_LINUX
- FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf"
- unnecessarily.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
- for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table.
- Don't use r6 as pointer to results, instead use sp offset. Don't
- make a special call to load lr with case table address, instead
- use offset from previous call.
- * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
- return.
-
-2006-03-15 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
- passed with FP registers correctly.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S: Likewise.
-
-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.
-
-2006-02-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
- -O2, -O3, -Os and the warning flags -W -Wall.
- * testsuite/libffi.special/special.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
- unused parameter unused for gcc or else do nothing.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
- * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
- * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
- * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
- * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
- * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
- * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
- * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
- * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
- void* to avoid compiler warning.
- (main): Likewise.
- (cls_struct_align_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
- * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
- * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
- userdata unused.
- (cls_ret_schar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
- userdata unused.
- (cls_ret_sint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
- userdata unused.
- (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn): Mark cif and
- userdata unused.
- (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
- userdata unused.
- (cls_ret_uint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
- userdata unused.
- (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
- * testsuite/libffi.call/float1.c (main): Remove unused variable i.
- Cleanup white spaces.
- * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
- * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
- cif and userdata unused.
- * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
- Likewise.
- * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
- formatters to silence gcc.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct4.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct6.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
- * testsuite/libffi.call/problem1.c (stub): Likewise.
- * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
- gcc.
- * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
- in the last commit for this test case in the test case itself.
- * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
- unused.
- * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
- * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
- * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
- * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
- * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
- * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Fix register numbers in the FDE for
- ffi_closure_SYSV.
-
-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.
-
-2006-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
- and cast integer to void * if needed. Update the pointer to
- the FP register saved area correctly.
-
-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.
-
-2006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/return_dbl.c: New test case.
- * testsuite/libffi.call/return_dbl1.c: Likewise.
- * testsuite/libffi.call/return_dbl2.c: Likewise.
- * testsuite/libffi.call/return_fl.c: Likewise.
- * testsuite/libffi.call/return_fl1.c: Likewise.
- * testsuite/libffi.call/return_fl2.c: Likewise.
- * testsuite/libffi.call/return_fl3.c: Likewise.
- * testsuite/libffi.call/closure_fn6.c: Likewise.
-
- * 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.
-
-2006-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.ac: Enable libffi for sparc64-*-freebsd*.
- * configure: Rebuilt.
-
-2006-01-18 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
- instead do the shifting inline.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
- shift count unconditionally. Simplify load sequences for 1, 2, 3, 4
- and 8 byte structs, for the remaining struct sizes don't call
- __lshrdi3, instead do the shifting inline.
-
-2005-12-07 Thiemo Seufer <ths@networkno.de>
-
- * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
- missing parentheses.
- * src/mips/o32.S (ffi_call_O32): Code formatting. Define
- and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
- (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
- A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
- V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
- FA_0_0_OFF2.
- * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
- endianness bugs.
- (ffi_prep_closure): Improve trampoline instruction scheduling.
- (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c: Formatting.
- (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
- (ffi_prep_args64): Likewise.
-
-2005-09-30 Geoffrey Keating <geoffk@apple.com>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
- darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26 Tom Tromey <tromey@redhat.com>
-
- * 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.
-
-2005-08-25 Alan Modra <amodra@bigpond.net.au>
-
- PR target/23404
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
- homed fp args.
- (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11 Jakub Jelinek <jakub@redhat.com>
-
- * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
- (AH_BOTTOM): Add FFI_HIDDEN definition.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * src/powerpc/ffi.c (hidden): Remove.
- (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
- ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
- .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
- * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
- add FFI_HIDDEN to its prototype.
- (ffi_closure_SYSV_inner): New.
- * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
- * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10 Alfred M. Szmidt <ams@gnu.org>
-
- PR libffi/21819:
- * configure: Rebuilt.
- * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
- DW_CFA_offset_extended_sf rather than
- DW_CFA_GNU_negative_offset_extended.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
-
- * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
- on sh3.
- (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
- * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
- partially on register.
- (ffi_closure_helper_SYSV): Likewise.
- (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_call): Handle small structures correctly.
- Remove empty line.
- * src/sh64/ffi.c (simple_type): Remove.
- (return_type): Handle small structures correctly.
- (ffi_prep_args): Likewise.
- (ffi_call): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
- Emit position independent code if PIC and remove wrong datalabel
- prefixes from EH data.
-
-2005-07-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure.ac: Add POWERPC_FREEBSD rules.
- * configure: Regenerate.
- * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
- (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
- * src/powerpc/ffi.c: Add flags to handle small structure returns
- in ffi_call_SYSV.
- (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
- Aka FFI_SYSV.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Add return types for small structures.
- * src/powerpc/sysv.S: Add bits to handle small structures for
- final SYSV 4 ABI.
-
-2005-07-10 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_5_1_byte.c: New test file.
- * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05 Randolph Chung <tausq@debian.org>
-
- * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
- as FFI_TYPE_SMALL_STRUCT3. Break out handling for 5-7 byte
- structures. Kill compilation warnings.
- (ffi_closure_inner_LINUX): Print return values as hex in debug
- message. Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
- Properly handle 5-7 byte structure returns.
- * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
- (FFI_TYPE_SMALL_STRUCT2): Remove.
- (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
- (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
- * src/pa/linux.S: Mark source file as using PA1.1 assembly.
- (checksmst1, checksmst2): Remove.
- (checksmst3): Optimize handling of 3-byte struct returns.
- (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libgcj/21943
- * src/mips/n32.S: Enforce PIC code.
- * src/mips/o32.S: Likewise.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
- * configure: Regenerate.
-
-2005-06-01 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
- to call ffi_closure_helper_SYSV. Append @local instead.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
- Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
- * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
- * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
- include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-05-08 Richard Henderson <rth@redhat.com>
-
- PR libffi/21285
- * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04 Andreas Degert <ad@papyrus-gmbh.de>
- Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
- bit 11 of flags.
- (ffi_call): Mask return type field. Pass ssecount to ffi_call_unix64.
- (ffi_prep_closure): Set carry bit if sse-used flag set.
- * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
- Only load sse registers if ssecount non-zero.
- (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
- powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
- * configure: Regenerate.
-
-2005-04-20 Hans-Peter Nilsson <hp@axis.com>
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
- have Tcl8.3-compatible intermediate variable.
-
-2005-04-18 Simon Posnjak <simon.posnjak@siol.net>
- Hans-Peter Nilsson <hp@axis.com>
-
- * Makefile.am: Add CRIS support.
- * configure.ac: Likewise.
- * Makefile.in, configure, testsuite/Makefile.in,
- include/Makefile.in: Regenerate.
- * src/cris: New directory.
- * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
- * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
- \r?\n in output tests.
-
-2005-04-12 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-03-30 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30 Steve Ellcey <sje@cup.hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
- (ffi_sarg) Ditto.
- * src/ia64/unix.S (ffi_closure_unix): Extend gp
- to 64 bits in ILP32 mode.
- Load 64 bits even for short data.
-
-2005-03-23 Mike Stump <mrs@apple.com>
-
- * src/powerpc/darwin.S: Update for -m64 multilib.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21 Zack Weinberg <zack@codesourcery.com>
-
- * 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.
-
-2005-02-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
- odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR libffi/20104
- * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11 Janis Johnson <janis187@us.ibm.com>
-
- * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
- * testsuite/libffi.call/float.c: Ditto.
- * testsuite/libffi.call/float2.c: Ditto.
- * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * testsuite/libffi.special/special.exp (cxx_options): Add
- -shared-libgcc.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
- (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
- offset parameters with a type parameter; deduce size and structure
- alignment. Update all users.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
- (FFI_TYPE_LONGDOUBLE): Fix for ia64.
- * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
- into ffi_prep_closure.
- * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
- from scratch.
-
-2004-12-27 Richard Henderson <rth@redhat.com>
-
- * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25 Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
- (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
- (merge_classes): Check for it.
- (SSE_CLASS_P): New.
- (classify_argument): Pass byte_offset by value; perform all updates
- inside struct case.
- (examine_argument): Add classes argument; handle
- X86_64_COMPLEX_X87_CLASS.
- (ffi_prep_args): Merge into ...
- (ffi_call): ... here. Share stack frame with ffi_call_unix64.
- (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
- (ffi_fill_return_value): Remove.
- (ffi_prep_closure): Remove dead assert.
- (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
- Rewrite to use struct register_args instead of va_list. Create
- flags for handling structure returns.
- * src/x86/unix64.S: Remove dead strings.
- (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share
- stack frame with ffi_call. Handle structure returns properly.
- (float2sse, floatfloat2sse, double2sse): Remove.
- (sse2float, sse2double, sse2floatfloat): Remove.
- (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite
- to handle structure returns properly.
-
-2004-12-08 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
- PICFLAG.
- * Makefile.in: Regenerated.
-
-2004-12-02 Richard Sandiford <rsandifo@redhat.com>
-
- * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
- * configure, aclocal.m4, Makefile.in: Regenerate.
- * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-25 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool reversion.
-
-2004-11-24 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23 Richard Sandiford <rsandifo@redhat.com>
-
- * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
- of jal. Use an absolute encoding for the frame information.
-
-2004-11-23 Kelley Cook <kcook@gcc.gnu.org>
-
- * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS.
- * acinclude.m4: Delete logic for sincludes.
- * aclocal.m4, Makefile.in, configure: Regenerate.
- * include/Makefile: Likewise.
- * testsuite/Makefile: Likewise.
-
-2004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
- on a 8-byte boundary.
- * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
- long long values. Round stack allocation to a multiple of 8 bytes
- for ATPCS compatibility.
- * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
- names. Handle returning long long types. Add Thumb and interworking
- support. Improve soft-float code.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
- (libffi_exit): New function.
- (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR other/18138
- * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
- * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
- the function returning a structure pointed with R2.
- * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
- the structure return value if T bit set. Emit position
- independent code and EH data if PIC.
-
-2004-10-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * Makefile.am: Add m32r support.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * confiugre: Regenerate.
- * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
- (uint64, sint64, double, longdouble)
- * src/m32r: New directory.
- * src/m32r/ffi.c: New file.
- * src/m32r/sysv.S: Likewise.
- * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * testsuite/libffi.call/negint.c: New test case.
-
-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.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/many_win32.c: Remove whitespaces.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
- whitespaces.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Fix comments and identation.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
- (ffi_prep_args): Handle longdouble arguments.
- (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
- longdouble.
- (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
- * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
- values.
- * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
- * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/aix.S: Remove whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
- * src/powerpc/asm.h: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffitarget.h: Likewise.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
-
-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.in: Read configure.host.
- * 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 shouldn't 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.
-
-2004-08-24 David Daney <daney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
- to zero.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23 David Daney <daney@avtrex.com>
-
- PR libgcj/13141
- * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
- * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
- (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
- parameters and return types.
- (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
- (ffi_prep_closure): Ditto.
- (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
- alignment calculations.
- * src/mips/o32.S (ffi_closure_O32): Don't use floating point
- instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14 Casey Marshall <csm@gnu.org>
-
- * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
- contain `FFI_TYPE_UINT64' as return type for any 64-bit
- integer (O32 ABI only).
- (ffi_prep_closure): new function.
- (ffi_closure_mips_inner_O32): new function.
- * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
- `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
- * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
- 64 bit integers correctly.
- (ffi_closure_O32): new function.
- Added DWARF-2 unwind info for both functions.
-
-2004-08-10 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01 Robert Millan <robertmh@gnu.org>
-
- * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
- * configure: Regenerate.
-
-2004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
-
- * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
- and mmap() explicitly instead of relying on preset autoconf cache
- variables.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
- (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
- character on Darwin, use '\n\t' instead.
-
-2004-06-26 Matthias Klose <doko@debian.org>
-
- * libtool-version: Fix typo in revision/age.
-
-2004-06-17 Matthias Klose <doko@debian.org>
-
- * libtool-version: New.
- * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
- * Makefile.in: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * Makefile.am: Remove useless multilib rules.
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate with automake 1.8.5.
- * configure.ac: Remove useless multilib configury.
- * configure: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * .cvsignore: New file.
-
-2004-06-10 Jakub Jelinek <jakub@redhat.com>
-
- * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
- fp_done.
- (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
- changed from 8.
-
-2004-06-06 Sean McNeil <sean@mcneil.com>
-
- * configure.ac: Add x86_64-*-freebsd* support.
- * configure: Regenerate.
-
-2004-04-26 Joe Buck <jbuck@welsh-buck.org>
-
- Bug 15093
- * configure.ac: Test for existence of mmap and sys/mman.h before
- checking blacklist. Fix suggested by Jim Wilson.
- * configure: Regenerate.
-
-2004-04-26 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
- FDE location.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
- error. Reported by Thomas Heller <theller@python.net>.
- * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20 Matthias Klose <doko@debian.org>
-
- * src/pa/linux.S: Fix typo.
-
-2004-03-19 Matthias Klose <doko@debian.org>
-
- * Makefile.am: Update.
- * Makefile.in: Regenerate.
- * src/pa/ffi.h.in: Remove.
- * src/pa/ffitarget.h: New file.
-
-2004-02-10 Randolph Chung <tausq@debian.org>
-
- * Makefile.am: Add PA support.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * configure.ac: Add PA target.
- * configure: Regenerate.
- * src/pa/ffi.c: New file.
- * src/pa/ffi.h.in: Add PA support.
- * src/pa/linux.S: New file.
- * prep_cif.c: Add PA support.
-
-2004-03-16 Hosaka Yuji <hos@tamanegi.org>
-
- * src/types.c: Fix alignment size of X86_WIN32 case int64 and
- double.
- * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
- with ecif->cif->flags.
- (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
- with cif->flags.
- (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
- (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
- * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
- sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.in: Rename file to ...
- * configure.ac: ... this.
- * fficonfig.h.in: Regenerate.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2004-03-12 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Fix EH information so it corresponds to
- changes in EH format resulting from addition of linkonce support.
- * src/powerpc/darwin_closure.S: Likewise.
-
-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.
-
-2004-03-11 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
- arguments from fp registers only for the first 8 parameter slots.
- Don't convert a float parameter when passed in memory.
-
-2004-03-09 Hans-Peter Nilsson <hp@axis.com>
-
- * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
-
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
- ecif->cif->bytes to bytes.
- (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
- * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
- (ffi_closure_helper_LINUX64): Fix typo.
- * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
- for powerpc64-*-*.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
- long double function return and long double arg handling.
- (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
- Use "end_pfr" instead of "nf". Correct long double handling.
- Localise "temp".
- * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
- return value.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
- space for long double return value. Adjust stack frame and offsets.
- Load f2 long double return.
-
-2004-02-07 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
- when the structure return address is passed in %o0.
- (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
- (ffi_v9_layout_struct): Align the field following a nested structure
- on a word boundary. Use memmove instead of memcpy.
- (ffi_call): Update call to ffi_V9_return_struct.
- (ffi_prep_closure): Define 'ctx' only for V8.
- (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
- and ffi_closure_sparc_inner_v9.
- (ffi_closure_sparc_inner_v8): Return long doubles by reference.
- Always skip the structure return address. For structures and long
- doubles, copy the argument directly.
- (ffi_closure_sparc_inner_v9): Skip the structure return address only
- if required. Shift the maximum floating-point slot accordingly. For
- big structures, copy the argument directly; otherwise, left-justify the
- argument and call ffi_v9_layout_struct to lay out the structure on
- the stack.
- * src/sparc/v8.S: Undef STACKFRAME before defining it.
- (ffi_closure_v8): Pass the structure return address. Update call to
- ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
- Skip the 'unimp' insn when returning long doubles and structures.
- * src/sparc/v9.S: Undef STACKFRAME before defining it.
- (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
- FFI_TYPE_INT handling. Load structures both in integers and
- floating-point registers on return.
- * README: Update status of the SPARC port.
-
-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.
-
-2004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
-
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
- value as of type ffi_arg, not unsigned int.
-
-2004-01-21 Michael Ritzert <ritzert@t-online.de>
-
- * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
- of the LHS.
-
-2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
- Solaris.
-
-2004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
- to void *.
-
-2003-12-10 Richard Henderson <rth@redhat.com>
-
- * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
- size_t instead of int.
-
-2003-12-04 Hosaka Yuji <hos@tamanegi.org>
-
- * testsuite/libffi.call/many_win32.c: Include <float.h>.
- * testsuite/libffi.call/many_win32.c (main): Replace variable
- int i with unsigned long ul.
-
- * testsuite/libffi.call/cls_align_uint64.c: New test case.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02 Hosaka Yuji <hos@tamanegi.org>
-
- PR other/13221
- * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
- Align arguments to 32 bits.
-
-2003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR other/13221
- * testsuite/libffi.call/cls_multi_sshort.c: New test case.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-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.
-
-2003-11-21 Andreas Jaeger <aj@suse.de>
- Andreas Tobler <a.tobler@schweiz.ch>
-
- * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
- * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
- * Makefile.in: Rebuilt.
- * aclocal.m4: Likewise.
- * configure: Likewise.
- * fficonfig.h.in: Likewise.
- * testsuite/lib/libffi-dg.exp: Add include dir.
- * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
- for ffi_closure if available.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
- Add -lgcc_s to additional flags.
-
-2003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.in, include/Makefile.am: PR libgcj/11147, install
- the ffitarget.h header file in a gcc versioned and target
- dependent place.
- * configure: Regenerated.
- * Makefile.in, include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Print result and check
- with dg-output to make debugging easier.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
- static.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_9byte2.c: New test case.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_double.c: Do a check on the result.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/prep_cif.c (ffi_prep_cif): Move the validity check after
- the initialization.
-
-2003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
- FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
- __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-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
-
-2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
- _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
- Used when FFI_DEBUG = 1.
-
-2003-10-14 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
- and align.
-
-2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
- FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
- SPARC64. Cleanup whitespaces.
-
-2003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
- strongarm, xscale. Cleanup whitespaces.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Cleanup whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
- * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
- parameter stack.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
- according to the Darwin/AIX ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_DARWIN): Likewise.
- Remove the outgoing parameter stack logic. Simplify the evaluation
- of the different CASE types.
- (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
- statement in the trampoline code.
-
-2003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
- for the register size.
- (ffi_closure_helper_SYSV): Handle the structure return value
- address correctly.
- (ffi_closure_helper_SYSV): Return the appropriate type when
- the registers are used for the structure return value.
- * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
- the 64-bit return value. Update copyright years.
-
-2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
- srcdir for ffi_mips.h.
-
-2003-09-12 Alan Modra <amodra@bigpond.net.au>
-
- * src/prep_cif.c (initialize_aggregate): Include tail padding in
- structure size.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
- placement of float result.
- * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
- cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Merge identical SH and ARM
- typedefs, and add POWERPC64.
- * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
- struct split over gpr and rest.
- (ffi_prep_cif_machdep): Correct intarg_count for structures.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
- passing correctly.
-
-2003-09-09 Alan Modra <amodra@bigpond.net.au>
-
- * configure: Regenerate.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Remove build rules for ffitest.
- * Makefile.in: Rebuilt.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
- about implicit declaration of abort().
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
- * Makefile.in: Rebuilt.
- * configure.in: Add dejagnu test framework.
- * configure: Rebuilt.
-
- * testsuite/Makefile.am: New file.
- * testsuite/Makefile.in: Built
- * testsuite/lib/libffi-dg.exp: New file.
- * testsuite/config/default.exp: Likewise.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Likewise.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float1.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/many.c: Likewise.
- * testsuite/libffi.call/many_win32.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
- * testsuite/libffi.call/strlen.c: Likewise.
- * testsuite/libffi.call/strlen_win32.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
- * testsuite/libffi.call/struct2.c: Likewise.
- * testsuite/libffi.call/struct3.c: Likewise.
- * testsuite/libffi.call/struct4.c: Likewise.
- * testsuite/libffi.call/struct5.c: Likewise.
- * testsuite/libffi.call/struct6.c: Likewise.
- * testsuite/libffi.call/struct7.c: Likewise.
- * testsuite/libffi.call/struct8.c: Likewise.
- * testsuite/libffi.call/struct9.c: Likewise.
- * testsuite/libffi.special/special.exp: New file.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
- copyright years.
-
-2003-08-02 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
- structure passing.
- (ffi_closure_helper_LINUX64): Likewise.
- * src/powerpc/linux64.S: Remove code writing to parm save area.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
- address in lr from ffi_closure_helper_LINUX64 call to calculate
- table address. Optimize function tail.
-
-2003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/sparc/ffi.c: Handle all floating point registers.
- * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
-
- * README: Note that libffi is not part of GCC. Update the project
- URL and status.
-
-2003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
- Use C style comments.
-
-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
- should be read-only.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * include/ffi.h.in (EH_FRAME_FLAGS): Define.
- * src/alpha/osf.S: Use EH_FRAME_FLAGS.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
- * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
- if -fpic/-fPIC/-mrelocatable.
- * src/powerpc/powerpc_closure.S: Likewise.
- * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
- #write in .eh_frame flags.
- * src/sparc/v9.S: Likewise.
- * src/x86/unix64.S: Use EH_FRAME_FLAGS.
- * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
- * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
-
-2003-05-07 Jeff Sturm <jsturm@one-point.com>
-
- Fixes PR bootstrap/10656
- * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
- support for .register pseudo-op.
- * src/sparc/v8.S: Use it.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2003-04-18 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (POWERPC64): Define if 64-bit.
- (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
- Make it the default on POWERPC64.
- (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
- * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
- * configure: Rebuilt.
- * src/powerpc/ffi.c (hidden): Define.
- (ffi_prep_args_SYSV): Renamed from
- ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
- (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
- ASM_NEEDS_REGISTERS64): New.
- (ffi_prep_args64): New function.
- (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
- (ffi_call): Likewise.
- (ffi_prep_closure): Likewise.
- (flush_icache): Surround by #ifndef POWERPC64.
- (ffi_dblfl): New union type.
- (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
- (ffi_closure_helper_LINUX64): New function.
- * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
- __powerpc64__.
- * src/powerpc/sysv.S: Likewise.
- (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
- * src/powerpc/linux64.S: New file.
- * src/powerpc/linux64_closure.S: New file.
- * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
- src/powerpc/linux64_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
- * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
- closure_test_fn3): Fix result printing on big-endian 64-bit
- machines.
- (main): Print tst2_arg instead of uninitialized tst2_result.
-
- * src/ffitest.c (main): Hide what closure pointer really points to
- from the compiler.
-
-2003-04-16 Richard Earnshaw <rearnsha@arm.com>
-
- * configure.in (arm-*-netbsdelf*): Add configuration.
- (configure): Regenerated.
-
-2003-04-04 Loren J. Rittle <ljrittle@acm.org>
-
- * include/Makefile.in: Regenerate.
-
-2003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
-
- * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
- bit mode.
- * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
- Receive closure pointer through parameter, read args using
- __builtin_dwarf_cfa.
- (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12 Andreas Schwab <schwab@suse.de>
-
- * configure.in: Avoid trailing /. in toolexeclibdir.
- * configure: Rebuilt.
-
-2003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/powerpc/darwin_closure.S:
- Fix alignement bug, allocate 8 bytes for the result.
- * libffi/src/powerpc/aix_closure.S:
- Likewise.
- * libffi/src/powerpc/ffi_darwin.c:
- Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06 Jakub Jelinek <jakub@redhat.com>
-
- * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
- attribute.
-
-2003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
- Andreas Schwab <schwab@suse.de>
-
- * configure.in: Adjust command to source config-ml.in to account
- for changes to the libffi_basedir definition.
- (libffi_basedir): Remove ${srcdir} from value and include trailing
- slash if nonempty.
-
- * configure: Regenerate.
-
-2003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
- * src/x86/ffi64.c (ffi_prep_closure): New.
- (ffi_closure_UNIX64_inner): New.
- * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
- Remove USE_LIBDIR conditional.
- * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
- * Makefile.in, configure: Rebuilt.
-
-2003-01027 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
- * Makefile.in: Regenerate.
-
-2003-01-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
- unwind info.
-
-2003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Add unwind info.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
- (ffi_prep_cif_machdep): Likewise.
- * src/x86/unix64.S: Add unwind info.
-
-2003-01-14 Andreas Jaeger <aj@suse.de>
-
- * src/ffitest.c (main): Only use ffi_closures if those are
- supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/ffitest.c
- add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
- * libffi/src/powerpc/ffi.c
- fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c: Remove RCS version string.
- * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
- * src/ffitest.c (main): Use static storage for closure.
- * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
- * src/sparc/v8.S (ffi_closure_v8): New.
- * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10 Ranjit Mathew <rmathew@hotmail.com>
-
- * include/ffi.h.in: Added FFI_STDCALL ffi_type
- enumeration for X86_WIN32.
- * src/x86/win32.S: Added ffi_call_STDCALL function
- definition.
- * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
- switch cases for recognising FFI_STDCALL and
- calling ffi_call_STDCALL if target is X86_WIN32.
- * src/ffitest.c (my_stdcall_strlen/stdcall_many):
- stdcall versions of the "my_strlen" and "many"
- test functions (for X86_WIN32).
- Added test cases to test stdcall invocation using
- these functions.
-
-2002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26 Jim Wilson <wilson@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23 H.J. Lu <hjl@gnu.org>
-
- * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
- Include ../config/accross.m4.
- * aclocal.m4; Rebuild.
- * configure: Likewise.
-
-2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11 DJ Delorie <dj@redhat.com>
-
- * configure.in: Look for common files in the right place.
-
-2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
- raw data as _Jv_word values, not ffi_raw.
- (ffi_java_ptrarray_to_raw): Likewise.
- (ffi_java_rvalue_to_raw): New function.
- (ffi_java_raw_call): Call it.
- (ffi_java_raw_to_rvalue): New function.
- (ffi_java_translate_args): Call it.
- * src/ffitest.c (closure_test_fn): Interpret return value
- as ffi_arg, not int.
- * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
- FFI_TYPE_POINTER case.
- (ffi_closure_helper_SYSV): Likewise. Also, assume return
- values extended to word size.
-
-2002-10-02 Andreas Jaeger <aj@suse.de>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01 Bo Thorsen <bo@smetana.suse.de>
-
- * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
-
- * configure.in: Add s390x-*-linux-* target.
- * configure: Regenerate.
- * include/ffi.h.in: Define S390X for s390x targets.
- (FFI_CLOSURES): Define for s390/s390x.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
- * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
- * src/s390/ffi.c: Major rework of existing code. Add support for
- s390x targets. Add closure support.
- * src/s390/sysv.S: Likewise.
-
-2002-09-29 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: Fix typo.
-
-2002-09-28 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
- has defined __USER_LABEL_PREFIX__, then use it in CNAME.
- (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27 Bo Thorsen <bo@suse.de>
-
- * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * configure.in (sh[34]*-*-linux*): Add brackets.
- * configure: Regenerate.
-
-2002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * Makefile.am: Add SH support.
- * Makefile.in: Regenerate.
- * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
- * configure: Regenerate.
- * include/ffi.h.in: Add SH support.
- * src/sh/ffi.c: New file.
- * src/sh/sysv.S: New file.
- * src/types.c: Add SH support.
-
-2002-07-16 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi64.c: New file that adds x86-64 support.
- * src/x86/unix64.S: New file that handles argument setup for
- x86-64.
- * src/x86/sysv.S: Don't use this on x86-64.
- * src/x86/ffi.c: Don't use this on x86-64.
- Remove unused vars.
- * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
- for x86-64.
- * src/ffitest.c (struct6): New test that tests a special case in
- the x86-64 ABI.
- (struct7): Likewise.
- (struct8): Likewise.
- (struct9): Likewise.
- (closure_test_fn): Silence warning about this when it's not used.
- (main): Add the new tests.
- (main): Fix a couple of wrong casts and silence some compiler warnings.
- * include/ffi.h.in: Add x86-64 ABI definition.
- * fficonfig.h.in: Regenerate.
- * Makefile.am: Add x86-64 support.
- * configure.in: Likewise.
- * Makefile.in: Regenerate.
- * configure: Likewise.
-
-2002-06-24 Bo Thorsen <bo@suse.de>
-
- * src/types.c: Merge settings for similar architectures.
- Add x86-64 sizes and alignments.
-
-2002-06-23 Bo Thorsen <bo@suse.de>
-
- * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
- * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
- * src/mips/ffi.c (ffi_prep_args): Likewise.
- * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18 H.J. Lu (hjl@gnu.org)
-
- * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
- (libffi_la_SOURCES): Support MIPS_LINUX.
- (libffi_convenience_la_SOURCES): Likewise.
- * Makefile.in: Regenerated.
-
- * configure.in (mips64*-*): Skip.
- (mips*-*-linux*): New.
- * configure: Regenerated.
-
- * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
-
-2002-05-27 Roger Sayle <roger@eyesopen.com>
-
- * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
- fix formatting.
-
-2002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
- beginning of function (for older apple cc).
-
-2002-05-08 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
- script entry, and set LD to it when configuring multilibs.
- * configure: Rebuilt.
-
-2002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (sparc64-*-netbsd*): Add target.
- (sparc-*-netbsdelf*): Likewise.
- * configure: Regenerate.
-
-2002-04-28 David S. Miller <davem@redhat.com>
-
- * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
-
- * Makefile.am: Add Linux for S/390 support.
- * Makefile.in: Regenerate.
- * configure.in: Add Linux for S/390 support.
- * configure: Regenerate.
- * include/ffi.h.in: Add Linux for S/390 support.
- * src/s390/ffi.c: New file from libffi CVS tree.
- * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
- %r_disp32().
- * src/sparc/v8.S: Use it.
- * src/sparc/v9.S: Likewise.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2002-04-08 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
- correctly.
- * src/ia64/unix.S: Add unwind information. Fix comments.
- Save sp in a way that's compatible with unwind info.
- (ffi_call_unix): Correctly restore sp in all cases.
- * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08 Jakub Jelinek <jakub@redhat.com>
-
- * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (alpha*-*-netbsd*): Add target.
- * configure: Regenerate.
-
-2002-04-04 Jeff Sturm <jsturm@one-point.com>
-
- * src/sparc/v8.S: Add unwind info.
- * src/sparc/v9.S: Likewise.
-
-2002-03-30 Krister Walfridsson <cato@df.lth.se>
-
- * configure.in: Enable i*86-*-netbsdelf*.
- * configure: Rebuilt.
-
-2002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
-
- PR other/2620
- * src/mips/n32.s: Delete
- * src/mips/o32.s: Delete
-
-2002-03-21 Loren J. Rittle <ljrittle@acm.org>
-
- * configure.in: Enable alpha*-*-freebsd*.
- * configure: Rebuilt.
-
-2002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * Makefile.am: libfficonvenience -> libffi_convenience.
- * Makefile.in: Rebuilt.
-
- * Makefile.am: Define ffitest_OBJECTS.
- * Makefile.in: Rebuilt.
-
-2002-03-07 Andreas Tobler <toa@pop.agri.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
- (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
- (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
- * Makefile.in: Regenerate.
- * include/ffi.h.in: Add AIX and Darwin closure definitions.
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
- (flush_icache, flush_range): New functions.
- (ffi_closure_helper_DARWIN): New function.
- * src/powerpc/aix_closure.S: New file.
- * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add typedef for ffi_arg.
- * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21 Andreas Tobler <toa@pop.agri.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
- number of GPRs for floating-point arguments.
-
-2002-01-31 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Replace CHECK_SIZEOF and endian tests with
- cross-compiler friendly macros.
- * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
- macros.
-
-2002-01-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): New.
- * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
- (TARGET_SRC_POWERPC_AIX): New.
- (POWERPC_AIX): New stanza.
- * Makefile.in: Regenerate.
- * configure.in: Add AIX case.
- * configure: Regenerate.
- * include/ffi.h.in (ffi_abi): Add FFI_AIX.
- * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
- size. Fix "long double" support.
- (ffi_call): Add FFI_AIX case.
- * src/powerpc/aix.S: New.
-
-2001-10-09 John Hornkvist <john@toastedmarshmallow.com>
-
- Implement Darwin PowerPC ABI.
- * configure.in: Handle powerpc-*-darwin*.
- * Makefile.am: Set source files for POWERPC_DARWIN.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
- * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
- POWERPC_DARWIN.
- * src/powerpc/darwin.S: New file.
- * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .balign directive.
- Use C style comments.
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
- Fixes PR bootstrap/3563.
-
-2001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.in: Recognize sparc*-sun-* host.
- * configure: Regenerate.
-
-2001-06-06 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S: Add unwind info.
- * src/powerpc/sysv.S: Add unwind info.
- * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31 Jeff Sturm <jsturm@one-point.com>
-
- * configure.in: Fix AC_ARG_ENABLE usage.
- * configure: Rebuilt.
-
-2001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * configure.in: Remove warning about beta code.
- * configure: Rebuilt.
-
-2001-04-25 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/ia64/unix.S: Restore stack pointer when returning from
- ffi_closure_UNIX.
- * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18 Jim Wilson <wilson@redhat.com>
-
- * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
- to eliminate RAW DV.
-
-2001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
-
- * Makefile.am: Make a libtool convenience library.
- * Makefile.in: Rebuilt.
-
-2001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Use different syntax for subdirectory creation.
- * configure: Rebuilt.
-
-2001-03-27 Jon Beniston <jon@beniston.com>
-
- * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
- * configure: Rebuilt.
- * Makefile.am: Added X86_WIN32 target support.
- * Makefile.in: Rebuilt.
-
- * include/ffi.h.in: Added X86_WIN32 target support.
-
- * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
- * src/types.c: Added X86_WIN32 target support.
-
- * src/x86/win32.S: New file. Based on sysv.S, but with EH
- stuff removed and made to work with CygWin's gas.
-
-2001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Make target subdirectory in build dir.
- * Makefile.am: Override suffix based rules to specify correct output
- subdirectory.
- * Makefile.in: Rebuilt.
- * configure: Rebuilt.
-
-2001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
-
- * src/powerpc/ppc_closure.S: New file.
- * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
- involving long long and register pairs.
- (ffi_prep_closure): New function.
- (flush_icache): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * Makefile.in: Rebuilt.
- * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19 Tom Tromey <tromey@redhat.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02 Nick Clifton <nickc@redhat.com>
-
- * include/ffi.h.in: Remove RCS ident string.
- * include/ffi_mips.h: Remove RCS ident string.
- * src/debug.c: Remove RCS ident string.
- * src/ffitest.c: Remove RCS ident string.
- * src/prep_cif.c: Remove RCS ident string.
- * src/types.c: Remove RCS ident string.
- * src/alpha/ffi.c: Remove RCS ident string.
- * src/alpha/osf.S: Remove RCS ident string.
- * src/arm/ffi.c: Remove RCS ident string.
- * src/arm/sysv.S: Remove RCS ident string.
- * src/mips/ffi.c: Remove RCS ident string.
- * src/mips/n32.S: Remove RCS ident string.
- * src/mips/o32.S: Remove RCS ident string.
- * src/sparc/ffi.c: Remove RCS ident string.
- * src/sparc/v8.S: Remove RCS ident string.
- * src/sparc/v9.S: Remove RCS ident string.
- * src/x86/ffi.c: Remove RCS ident string.
- * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * include/ffi.h.in: Change sourceware.cygnus.com references to
- gcc.gnu.org.
-
-2000-12-09 Richard Henderson <rth@redhat.com>
-
- * src/alpha/ffi.c (ffi_call): Simplify struct return test.
- (ffi_closure_osf_inner): Index rather than increment avalue
- and arg_types. Give ffi_closure_osf the raw return value type.
- * src/alpha/osf.S (ffi_closure_osf): Handle return value type
- promotion.
-
-2000-12-07 Richard Henderson <rth@redhat.com>
-
- * src/raw_api.c (ffi_translate_args): Fix typo.
- (ffi_prep_closure): Likewise.
-
- * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
- FFI_TRAMPOLINE_SIZE.
- * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
- cif->bytes for new ffi_call_osf implementation.
- (ffi_prep_args): Absorb into ...
- (ffi_call): ... here. Do all stack allocation here and
- avoid a callback function.
- (ffi_prep_closure, ffi_closure_osf_inner): New.
- * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
- (ffi_closure_osf): New.
-
-2000-09-10 Alexandre Oliva <aoliva@redhat.com>
-
- * config.guess, config.sub, install-sh: Removed.
- * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
- * Makefile.in: Rebuilt.
-
- * acinclude.m4: Include libtool macros from the top level.
- * aclocal.m4, configure: Rebuilt.
-
-2000-08-22 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
- * configure: Rebuilt.
-
-2000-05-11 Scott Bambrough <scottb@netwinder.org>
-
- * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
- memory correctly. Use conditional instructions, not branches where
- possible.
-
-2000-05-04 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Match `arm*-*-linux-*'.
- From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (SUBDIRS): Define.
- (AM_MAKEFLAGS): Likewise.
- (Multilib support.): Add section.
- * Makefile.in: Rebuilt.
- * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
- New variables. Set for gcc using -print-multi-lib. Export them
- to libtool.
- (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
- * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
- for -shared links.
- (extra_compiler_flags_value, extra_compiler_flags): Check these
- for extra compiler options which need to be passed down in
- compiler_flags.
-
-2000-04-16 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
- Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
- * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
- Replace all void * sizeofs with sizeof(int).
- Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
- different than DOUBLE.
- Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
- (ffi_prep_args_v9): New function.
- (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
- (ffi_V9_return_struct): New function.
- (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
- 32bit code (not yet cross-arch calls).
- * src/sparc/v8.S: Add struct return delay nop.
- Handle long long.
- * src/sparc/v9.S: New file.
- * src/prep_cif.c (ffi_prep_cif): Return structure pointer
- is used on sparc64 only for structures larger than 32 bytes.
- Pass by reference for structures is done for structure arguments
- larger than 16 bytes.
- * src/ffitest.c (main): Use 64bit rint on sparc64.
- Run long long tests on sparc.
- * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
- sparc64.
- (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
- on sparc64.
- * configure.in (sparc-*-linux*): New supported target.
- (sparc64-*-linux*): Likewise.
- * configure: Rebuilt.
- * Makefile.am: Add v9.S to SPARC files.
- * Makefile.in: Likewise.
- (LINK): Surround $(CCLD) into double quotes, so that multilib
- compiles work correctly.
-
-2000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: (i*86-*-solaris*): New libffi target. Patch
- proposed by Bryce McKinlay.
-
-2000-03-20 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
-
- * config.guess, config.sub: Update from the gcc tree.
- Fix for PR libgcj/168.
-
-2000-03-03 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Fixed ia64 by hand.
-
- * configure: Rebuilt.
- * configure.in (--enable-multilib): New option.
- (libffi_basedir): New subst.
- (AC_OUTPUT): Added multilib code.
-
-2000-03-02 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
- directory name.
-
-2000-02-25 Hans Boehm <boehm@acm.org>
-
- * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
- files.
- * src/raw_api.c (ffi_translate_args): Fixed typo in argument
- list.
- (ffi_prep_raw_closure): Use ffi_translate_args, not
- ffi_closure_translate.
- * src/java_raw_api.c: New file.
- * src/ffitest.c (closure_test_fn): New function.
- (main): Define `rint' as long long on IA64. Added new test when
- FFI_CLOSURES is defined.
- * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
- (ffi_abi): Recognize IA64.
- (ffi_raw): Added `flt' field.
- Added "Java raw API" code.
- * configure.in: Recognize ia64.
- * Makefile.am (TARGET_SRC_IA64): New macro.
- (libffi_la_common_SOURCES): Added java_raw_api.c.
- (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01 Tom Tromey <tromey@cygnus.com>
-
- * include/ffi.h.in: Removed PACKAGE and VERSION defines and
- undefs.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
- * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
- Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
- * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09 Anthony Green <green@cygnus.com>
-
- * include/ffi.h.in: Try to work around messy header problem
- with PACKAGE and VERSION.
-
- * configure: Rebuilt.
- * configure.in: Change version to 2.00-beta.
-
- * fficonfig.h.in: Rebuilt.
- * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
- * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
-
- * src/x86/ffi.c (ffi_closure_SYSV): New function.
- (ffi_prep_incoming_args_SYSV): Ditto.
- (ffi_prep_closure): Ditto.
- (ffi_closure_raw_SYSV): Ditto.
- (ffi_prep_raw_closure): More ditto.
- (ffi_call_raw): Final ditto.
-
- * include/ffi.h.in: Add definitions for closure and raw API.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
- FFI_TYPE_UINT64.
-
- * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
- * src/raw_api.c: New file.
-
- * include/ffi.h.in (ffi_raw): New type.
- (UINT_ARG, SINT_ARG): New defines.
- (ffi_closure, ffi_raw_closure): New types.
- (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
- * configure.in: Add check for endianness and sizeof void*.
-
- * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
- instead of directly.
-
- * configure: Rebuilt.
-
-Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
-
- * configure.in: Add x86 and powerpc BeOS configurations.
- From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09 Anthony Green <green@cygnus.com>
-
- * configure.in: Add warning about this being beta code.
- Remove src/Makefile.am from the picture.
- * configure: Rebuilt.
-
- * Makefile.am: Move logic from src/Makefile.am. Add changes
- to support libffi as a target library.
- * Makefile.in: Rebuilt.
-
- * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
- Upgraded to new autoconf, automake, libtool.
-
- * README: Tweaks.
-
- * LICENSE: Update copyright date.
-
- * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29 Anthony Green <green@cygnus.com>
-
- * include/ChangeLog: Removed.
- * src/ChangeLog: Removed.
- * src/mips/ChangeLog: Removed.
- * src/sparc/ChangeLog: Remboved.
- * src/x86/ChangeLog: Removed.
-
- * ChangeLog.v1: Created.
diff --git a/.pc/ios/Makefile.am b/.pc/ios/Makefile.am
deleted file mode 100644
index 9a3ccf6..0000000
--- a/.pc/ios/Makefile.am
+++ /dev/null
@@ -1,200 +0,0 @@
-## Process this with automake to create Makefile.in
-
-AUTOMAKE_OPTIONS = foreign subdir-objects
-
-SUBDIRS = include testsuite man
-
-EXTRA_DIST = LICENSE ChangeLog.v1 ChangeLog.libgcj configure.host \
- src/alpha/ffi.c src/alpha/osf.S src/alpha/ffitarget.h \
- src/arm/ffi.c src/arm/sysv.S src/arm/ffitarget.h \
- src/avr32/ffi.c src/avr32/sysv.S src/avr32/ffitarget.h \
- src/cris/ffi.c src/cris/sysv.S src/cris/ffitarget.h \
- src/ia64/ffi.c src/ia64/ffitarget.h src/ia64/ia64_flags.h \
- src/ia64/unix.S \
- src/mips/ffi.c src/mips/n32.S src/mips/o32.S \
- src/mips/ffitarget.h \
- src/m32r/ffi.c src/m32r/sysv.S src/m32r/ffitarget.h \
- src/m68k/ffi.c src/m68k/sysv.S src/m68k/ffitarget.h \
- src/powerpc/ffi.c src/powerpc/sysv.S \
- src/powerpc/linux64.S src/powerpc/linux64_closure.S \
- src/powerpc/ppc_closure.S src/powerpc/asm.h \
- src/powerpc/aix.S src/powerpc/darwin.S \
- src/powerpc/aix_closure.S src/powerpc/darwin_closure.S \
- src/powerpc/ffi_darwin.c src/powerpc/ffitarget.h \
- src/s390/ffi.c src/s390/sysv.S src/s390/ffitarget.h \
- src/sh/ffi.c src/sh/sysv.S src/sh/ffitarget.h \
- src/sh64/ffi.c src/sh64/sysv.S src/sh64/ffitarget.h \
- src/sparc/v8.S src/sparc/v9.S src/sparc/ffitarget.h \
- src/sparc/ffi.c src/x86/darwin64.S \
- src/x86/ffi.c src/x86/sysv.S src/x86/win32.S src/x86/darwin.S \
- src/x86/win64.S src/x86/freebsd.S \
- src/x86/ffi64.c src/x86/unix64.S src/x86/ffitarget.h \
- src/pa/ffitarget.h src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S \
- src/frv/ffi.c src/frv/eabi.S src/frv/ffitarget.h \
- src/dlmalloc.c \
- src/moxie/ffi.c src/moxie/eabi.S \
- libtool-version ChangeLog.libffi m4/libtool.m4 \
- m4/lt~obsolete.m4 m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4
-
-info_TEXINFOS = doc/libffi.texi
-
-## ################################################################
-
-##
-## This section is for make and multilib madness.
-##
-
-# Work around what appears to be a GNU make bug handling MAKEFLAGS
-# values defined in terms of make variables, as is the case for CC and
-# friends when we are called from the top level Makefile.
-AM_MAKEFLAGS = \
- "AR_FLAGS=$(AR_FLAGS)" \
- "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
- "CFLAGS=$(CFLAGS)" \
- "CXXFLAGS=$(CXXFLAGS)" \
- "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
- "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
- "INSTALL=$(INSTALL)" \
- "INSTALL_DATA=$(INSTALL_DATA)" \
- "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
- "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
- "JC1FLAGS=$(JC1FLAGS)" \
- "LDFLAGS=$(LDFLAGS)" \
- "LIBCFLAGS=$(LIBCFLAGS)" \
- "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
- "MAKE=$(MAKE)" \
- "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
- "PICFLAG=$(PICFLAG)" \
- "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
- "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
- "SHELL=$(SHELL)" \
- "exec_prefix=$(exec_prefix)" \
- "infodir=$(infodir)" \
- "libdir=$(libdir)" \
- "mandir=$(mandir)" \
- "prefix=$(prefix)" \
- "AR=$(AR)" \
- "AS=$(AS)" \
- "CC=$(CC)" \
- "CXX=$(CXX)" \
- "LD=$(LD)" \
- "NM=$(NM)" \
- "RANLIB=$(RANLIB)" \
- "DESTDIR=$(DESTDIR)"
-
-MAKEOVERRIDES=
-
-ACLOCAL_AMFLAGS=$(ACLOCAL_AMFLAGS) -I m4
-
-lib_LTLIBRARIES = libffi.la
-noinst_LTLIBRARIES = libffi_convenience.la
-
-libffi_la_SOURCES = src/debug.c src/prep_cif.c src/types.c \
- src/raw_api.c src/java_raw_api.c src/closures.c
-
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = libffi.pc
-
-nodist_libffi_la_SOURCES =
-
-if MIPS
-nodist_libffi_la_SOURCES += src/mips/ffi.c src/mips/o32.S src/mips/n32.S
-endif
-if X86
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/sysv.S
-endif
-if X86_FREEBSD
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/freebsd.S
-endif
-if X86_WIN32
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/win32.S
-endif
-if X86_WIN64
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/win64.S
-endif
-if X86_DARWIN
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/darwin.S src/x86/ffi64.c src/x86/darwin64.S
-endif
-if SPARC
-nodist_libffi_la_SOURCES += src/sparc/ffi.c src/sparc/v8.S src/sparc/v9.S
-endif
-if ALPHA
-nodist_libffi_la_SOURCES += src/alpha/ffi.c src/alpha/osf.S
-endif
-if IA64
-nodist_libffi_la_SOURCES += src/ia64/ffi.c src/ia64/unix.S
-endif
-if M32R
-nodist_libffi_la_SOURCES += src/m32r/sysv.S src/m32r/ffi.c
-endif
-if M68K
-nodist_libffi_la_SOURCES += src/m68k/ffi.c src/m68k/sysv.S
-endif
-if POWERPC
-nodist_libffi_la_SOURCES += src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S src/powerpc/linux64.S src/powerpc/linux64_closure.S
-endif
-if POWERPC_AIX
-nodist_libffi_la_SOURCES += src/powerpc/ffi_darwin.c src/powerpc/aix.S src/powerpc/aix_closure.S
-endif
-if POWERPC_DARWIN
-nodist_libffi_la_SOURCES += src/powerpc/ffi_darwin.c src/powerpc/darwin.S src/powerpc/darwin_closure.S
-endif
-if POWERPC_FREEBSD
-nodist_libffi_la_SOURCES += src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S
-endif
-if ARM
-nodist_libffi_la_SOURCES += src/arm/sysv.S src/arm/ffi.c
-endif
-if AVR32
-nodist_libffi_la_SOURCES += src/avr32/sysv.S src/avr32/ffi.c
-endif
-if LIBFFI_CRIS
-nodist_libffi_la_SOURCES += src/cris/sysv.S src/cris/ffi.c
-endif
-if FRV
-nodist_libffi_la_SOURCES += src/frv/eabi.S src/frv/ffi.c
-endif
-if MOXIE
-nodist_libffi_la_SOURCES += src/moxie/eabi.S src/moxie/ffi.c
-endif
-if S390
-nodist_libffi_la_SOURCES += src/s390/sysv.S src/s390/ffi.c
-endif
-if X86_64
-nodist_libffi_la_SOURCES += src/x86/ffi64.c src/x86/unix64.S src/x86/ffi.c src/x86/sysv.S
-endif
-if SH
-nodist_libffi_la_SOURCES += src/sh/sysv.S src/sh/ffi.c
-endif
-if SH64
-nodist_libffi_la_SOURCES += src/sh64/sysv.S src/sh64/ffi.c
-endif
-if PA_LINUX
-nodist_libffi_la_SOURCES += src/pa/linux.S src/pa/ffi.c
-endif
-if PA_HPUX
-nodist_libffi_la_SOURCES += src/pa/hpux32.S src/pa/ffi.c
-endif
-
-libffi_convenience_la_SOURCES = $(libffi_la_SOURCES)
-nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
-
-AM_CFLAGS = -Wall -g -fexceptions
-if FFI_DEBUG
-# Build debug. Define FFI_DEBUG on the commandline so that, when building with
-# MSVC, it can link against the debug CRT.
-AM_CFLAGS += -DFFI_DEBUG
-else
-# Build opt.
-AM_CFLAGS += -O2
-endif
-
-libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LTLDFLAGS) $(AM_LTLDFLAGS)
-
-AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
-AM_CCASFLAGS = $(AM_CPPFLAGS)
-
-# No install-html or install-pdf support in automake yet
-.PHONY: install-html install-pdf
-install-html:
-install-pdf:
diff --git a/.pc/ios/Makefile.in b/.pc/ios/Makefile.in
deleted file mode 100644
index 7b81a99..0000000
--- a/.pc/ios/Makefile.in
+++ /dev/null
@@ -1,1827 +0,0 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-@MIPS_TRUE@am__append_1 = src/mips/ffi.c src/mips/o32.S src/mips/n32.S
-@X86_TRUE@am__append_2 = src/x86/ffi.c src/x86/sysv.S
-@X86_FREEBSD_TRUE@am__append_3 = src/x86/ffi.c src/x86/freebsd.S
-@X86_WIN32_TRUE@am__append_4 = src/x86/ffi.c src/x86/win32.S
-@X86_WIN64_TRUE@am__append_5 = src/x86/ffi.c src/x86/win64.S
-@X86_DARWIN_TRUE@am__append_6 = src/x86/ffi.c src/x86/darwin.S src/x86/ffi64.c src/x86/darwin64.S
-@SPARC_TRUE@am__append_7 = src/sparc/ffi.c src/sparc/v8.S src/sparc/v9.S
-@ALPHA_TRUE@am__append_8 = src/alpha/ffi.c src/alpha/osf.S
-@IA64_TRUE@am__append_9 = src/ia64/ffi.c src/ia64/unix.S
-@M32R_TRUE@am__append_10 = src/m32r/sysv.S src/m32r/ffi.c
-@M68K_TRUE@am__append_11 = src/m68k/ffi.c src/m68k/sysv.S
-@POWERPC_TRUE@am__append_12 = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S src/powerpc/linux64.S src/powerpc/linux64_closure.S
-@POWERPC_AIX_TRUE@am__append_13 = src/powerpc/ffi_darwin.c src/powerpc/aix.S src/powerpc/aix_closure.S
-@POWERPC_DARWIN_TRUE@am__append_14 = src/powerpc/ffi_darwin.c src/powerpc/darwin.S src/powerpc/darwin_closure.S
-@POWERPC_FREEBSD_TRUE@am__append_15 = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S
-@ARM_TRUE@am__append_16 = src/arm/sysv.S src/arm/ffi.c
-@AVR32_TRUE@am__append_17 = src/avr32/sysv.S src/avr32/ffi.c
-@LIBFFI_CRIS_TRUE@am__append_18 = src/cris/sysv.S src/cris/ffi.c
-@FRV_TRUE@am__append_19 = src/frv/eabi.S src/frv/ffi.c
-@MOXIE_TRUE@am__append_20 = src/moxie/eabi.S src/moxie/ffi.c
-@S390_TRUE@am__append_21 = src/s390/sysv.S src/s390/ffi.c
-@X86_64_TRUE@am__append_22 = src/x86/ffi64.c src/x86/unix64.S src/x86/ffi.c src/x86/sysv.S
-@SH_TRUE@am__append_23 = src/sh/sysv.S src/sh/ffi.c
-@SH64_TRUE@am__append_24 = src/sh64/sysv.S src/sh64/ffi.c
-@PA_LINUX_TRUE@am__append_25 = src/pa/linux.S src/pa/ffi.c
-@PA_HPUX_TRUE@am__append_26 = src/pa/hpux32.S src/pa/ffi.c
-# Build debug. Define FFI_DEBUG on the commandline so that, when building with
-# MSVC, it can link against the debug CRT.
-@FFI_DEBUG_TRUE@am__append_27 = -DFFI_DEBUG
-# Build opt.
-@FFI_DEBUG_FALSE@am__append_28 = -O2
-subdir = .
-DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in $(srcdir)/doc/stamp-vti \
- $(srcdir)/doc/version.texi $(srcdir)/fficonfig.h.in \
- $(srcdir)/libffi.pc.in $(top_srcdir)/configure ChangeLog \
- compile config.guess config.sub depcomp install-sh ltmain.sh \
- mdate-sh missing texinfo.tex
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
- $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
- configure.lineno config.status.lineno
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = fficonfig.h
-CONFIG_CLEAN_FILES = libffi.pc
-CONFIG_CLEAN_VPATH_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
- for p in $$list; do echo "$$p $$p"; done | \
- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
- if (++n[$$2] == $(am__install_max)) \
- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
- END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(infodir)" \
- "$(DESTDIR)$(pkgconfigdir)"
-LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES)
-libffi_la_LIBADD =
-am__dirstamp = $(am__leading_dot)dirstamp
-am_libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo src/types.lo \
- src/raw_api.lo src/java_raw_api.lo src/closures.lo
-@MIPS_TRUE@am__objects_1 = src/mips/ffi.lo src/mips/o32.lo \
-@MIPS_TRUE@ src/mips/n32.lo
-@X86_TRUE@am__objects_2 = src/x86/ffi.lo src/x86/sysv.lo
-@X86_FREEBSD_TRUE@am__objects_3 = src/x86/ffi.lo src/x86/freebsd.lo
-@X86_WIN32_TRUE@am__objects_4 = src/x86/ffi.lo src/x86/win32.lo
-@X86_WIN64_TRUE@am__objects_5 = src/x86/ffi.lo src/x86/win64.lo
-@X86_DARWIN_TRUE@am__objects_6 = src/x86/ffi.lo src/x86/darwin.lo \
-@X86_DARWIN_TRUE@ src/x86/ffi64.lo src/x86/darwin64.lo
-@SPARC_TRUE@am__objects_7 = src/sparc/ffi.lo src/sparc/v8.lo \
-@SPARC_TRUE@ src/sparc/v9.lo
-@ALPHA_TRUE@am__objects_8 = src/alpha/ffi.lo src/alpha/osf.lo
-@IA64_TRUE@am__objects_9 = src/ia64/ffi.lo src/ia64/unix.lo
-@M32R_TRUE@am__objects_10 = src/m32r/sysv.lo src/m32r/ffi.lo
-@M68K_TRUE@am__objects_11 = src/m68k/ffi.lo src/m68k/sysv.lo
-@POWERPC_TRUE@am__objects_12 = src/powerpc/ffi.lo src/powerpc/sysv.lo \
-@POWERPC_TRUE@ src/powerpc/ppc_closure.lo \
-@POWERPC_TRUE@ src/powerpc/linux64.lo \
-@POWERPC_TRUE@ src/powerpc/linux64_closure.lo
-@POWERPC_AIX_TRUE@am__objects_13 = src/powerpc/ffi_darwin.lo \
-@POWERPC_AIX_TRUE@ src/powerpc/aix.lo \
-@POWERPC_AIX_TRUE@ src/powerpc/aix_closure.lo
-@POWERPC_DARWIN_TRUE@am__objects_14 = src/powerpc/ffi_darwin.lo \
-@POWERPC_DARWIN_TRUE@ src/powerpc/darwin.lo \
-@POWERPC_DARWIN_TRUE@ src/powerpc/darwin_closure.lo
-@POWERPC_FREEBSD_TRUE@am__objects_15 = src/powerpc/ffi.lo \
-@POWERPC_FREEBSD_TRUE@ src/powerpc/sysv.lo \
-@POWERPC_FREEBSD_TRUE@ src/powerpc/ppc_closure.lo
-@ARM_TRUE@am__objects_16 = src/arm/sysv.lo src/arm/ffi.lo
-@AVR32_TRUE@am__objects_17 = src/avr32/sysv.lo src/avr32/ffi.lo
-@LIBFFI_CRIS_TRUE@am__objects_18 = src/cris/sysv.lo src/cris/ffi.lo
-@FRV_TRUE@am__objects_19 = src/frv/eabi.lo src/frv/ffi.lo
-@MOXIE_TRUE@am__objects_20 = src/moxie/eabi.lo src/moxie/ffi.lo
-@S390_TRUE@am__objects_21 = src/s390/sysv.lo src/s390/ffi.lo
-@X86_64_TRUE@am__objects_22 = src/x86/ffi64.lo src/x86/unix64.lo \
-@X86_64_TRUE@ src/x86/ffi.lo src/x86/sysv.lo
-@SH_TRUE@am__objects_23 = src/sh/sysv.lo src/sh/ffi.lo
-@SH64_TRUE@am__objects_24 = src/sh64/sysv.lo src/sh64/ffi.lo
-@PA_LINUX_TRUE@am__objects_25 = src/pa/linux.lo src/pa/ffi.lo
-@PA_HPUX_TRUE@am__objects_26 = src/pa/hpux32.lo src/pa/ffi.lo
-nodist_libffi_la_OBJECTS = $(am__objects_1) $(am__objects_2) \
- $(am__objects_3) $(am__objects_4) $(am__objects_5) \
- $(am__objects_6) $(am__objects_7) $(am__objects_8) \
- $(am__objects_9) $(am__objects_10) $(am__objects_11) \
- $(am__objects_12) $(am__objects_13) $(am__objects_14) \
- $(am__objects_15) $(am__objects_16) $(am__objects_17) \
- $(am__objects_18) $(am__objects_19) $(am__objects_20) \
- $(am__objects_21) $(am__objects_22) $(am__objects_23) \
- $(am__objects_24) $(am__objects_25) $(am__objects_26)
-libffi_la_OBJECTS = $(am_libffi_la_OBJECTS) \
- $(nodist_libffi_la_OBJECTS)
-libffi_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libffi_la_LDFLAGS) $(LDFLAGS) -o $@
-libffi_convenience_la_LIBADD =
-am__objects_27 = src/debug.lo src/prep_cif.lo src/types.lo \
- src/raw_api.lo src/java_raw_api.lo src/closures.lo
-am_libffi_convenience_la_OBJECTS = $(am__objects_27)
-am__objects_28 = $(am__objects_1) $(am__objects_2) $(am__objects_3) \
- $(am__objects_4) $(am__objects_5) $(am__objects_6) \
- $(am__objects_7) $(am__objects_8) $(am__objects_9) \
- $(am__objects_10) $(am__objects_11) $(am__objects_12) \
- $(am__objects_13) $(am__objects_14) $(am__objects_15) \
- $(am__objects_16) $(am__objects_17) $(am__objects_18) \
- $(am__objects_19) $(am__objects_20) $(am__objects_21) \
- $(am__objects_22) $(am__objects_23) $(am__objects_24) \
- $(am__objects_25) $(am__objects_26)
-nodist_libffi_convenience_la_OBJECTS = $(am__objects_28)
-libffi_convenience_la_OBJECTS = $(am_libffi_convenience_la_OBJECTS) \
- $(nodist_libffi_convenience_la_OBJECTS)
-DEFAULT_INCLUDES = -I.@am__isrc@
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
-LTCPPASCOMPILE = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
-SOURCES = $(libffi_la_SOURCES) $(nodist_libffi_la_SOURCES) \
- $(libffi_convenience_la_SOURCES) \
- $(nodist_libffi_convenience_la_SOURCES)
-DIST_SOURCES = $(libffi_la_SOURCES) $(libffi_convenience_la_SOURCES)
-INFO_DEPS = $(srcdir)/doc/libffi.info
-am__TEXINFO_TEX_DIR = $(srcdir)
-DVIS = doc/libffi.dvi
-PDFS = doc/libffi.pdf
-PSS = doc/libffi.ps
-HTMLS = doc/libffi.html
-TEXINFOS = doc/libffi.texi
-TEXI2DVI = texi2dvi
-TEXI2PDF = $(TEXI2DVI) --pdf --batch
-MAKEINFOHTML = $(MAKEINFO) --html
-AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS)
-DVIPS = dvips
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-dvi-recursive install-exec-recursive \
- install-html-recursive install-info-recursive \
- install-pdf-recursive install-ps-recursive install-recursive \
- installcheck-recursive installdirs-recursive pdf-recursive \
- ps-recursive uninstall-recursive
-DATA = $(pkgconfig_DATA)
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
- distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
- distdir dist dist-all distcheck
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-distdir = $(PACKAGE)-$(VERSION)
-top_distdir = $(distdir)
-am__remove_distdir = \
- { test ! -d "$(distdir)" \
- || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
- && rm -fr "$(distdir)"; }; }
-am__relativize = \
- dir0=`pwd`; \
- sed_first='s,^\([^/]*\)/.*$$,\1,'; \
- sed_rest='s,^[^/]*/*,,'; \
- sed_last='s,^.*/\([^/]*\)$$,\1,'; \
- sed_butlast='s,/*[^/]*$$,,'; \
- while test -n "$$dir1"; do \
- first=`echo "$$dir1" | sed -e "$$sed_first"`; \
- if test "$$first" != "."; then \
- if test "$$first" = ".."; then \
- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
- else \
- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
- if test "$$first2" = "$$first"; then \
- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
- else \
- dir2="../$$dir2"; \
- fi; \
- dir0="$$dir0"/"$$first"; \
- fi; \
- fi; \
- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
- done; \
- reldir="$$dir2"
-DIST_ARCHIVES = $(distdir).tar.gz
-GZIP_ENV = --best
-distuninstallcheck_listfiles = find . -type f -print
-distcleancheck_listfiles = find . -type f -print
-ACLOCAL = @ACLOCAL@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AM_LTLDFLAGS = @AM_LTLDFLAGS@
-AM_RUNTESTFLAGS = @AM_RUNTESTFLAGS@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCAS = @CCAS@
-CCASDEPMODE = @CCASDEPMODE@
-CCASFLAGS = @CCASFLAGS@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-TARGET = @TARGET@
-TARGETDIR = @TARGETDIR@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-toolexecdir = @toolexecdir@
-toolexeclibdir = @toolexeclibdir@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-AUTOMAKE_OPTIONS = foreign subdir-objects
-SUBDIRS = include testsuite man
-EXTRA_DIST = LICENSE ChangeLog.v1 ChangeLog.libgcj configure.host \
- src/alpha/ffi.c src/alpha/osf.S src/alpha/ffitarget.h \
- src/arm/ffi.c src/arm/sysv.S src/arm/ffitarget.h \
- src/avr32/ffi.c src/avr32/sysv.S src/avr32/ffitarget.h \
- src/cris/ffi.c src/cris/sysv.S src/cris/ffitarget.h \
- src/ia64/ffi.c src/ia64/ffitarget.h src/ia64/ia64_flags.h \
- src/ia64/unix.S \
- src/mips/ffi.c src/mips/n32.S src/mips/o32.S \
- src/mips/ffitarget.h \
- src/m32r/ffi.c src/m32r/sysv.S src/m32r/ffitarget.h \
- src/m68k/ffi.c src/m68k/sysv.S src/m68k/ffitarget.h \
- src/powerpc/ffi.c src/powerpc/sysv.S \
- src/powerpc/linux64.S src/powerpc/linux64_closure.S \
- src/powerpc/ppc_closure.S src/powerpc/asm.h \
- src/powerpc/aix.S src/powerpc/darwin.S \
- src/powerpc/aix_closure.S src/powerpc/darwin_closure.S \
- src/powerpc/ffi_darwin.c src/powerpc/ffitarget.h \
- src/s390/ffi.c src/s390/sysv.S src/s390/ffitarget.h \
- src/sh/ffi.c src/sh/sysv.S src/sh/ffitarget.h \
- src/sh64/ffi.c src/sh64/sysv.S src/sh64/ffitarget.h \
- src/sparc/v8.S src/sparc/v9.S src/sparc/ffitarget.h \
- src/sparc/ffi.c src/x86/darwin64.S \
- src/x86/ffi.c src/x86/sysv.S src/x86/win32.S src/x86/darwin.S \
- src/x86/win64.S src/x86/freebsd.S \
- src/x86/ffi64.c src/x86/unix64.S src/x86/ffitarget.h \
- src/pa/ffitarget.h src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S \
- src/frv/ffi.c src/frv/eabi.S src/frv/ffitarget.h \
- src/dlmalloc.c \
- src/moxie/ffi.c src/moxie/eabi.S \
- libtool-version ChangeLog.libffi m4/libtool.m4 \
- m4/lt~obsolete.m4 m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4
-
-info_TEXINFOS = doc/libffi.texi
-
-# Work around what appears to be a GNU make bug handling MAKEFLAGS
-# values defined in terms of make variables, as is the case for CC and
-# friends when we are called from the top level Makefile.
-AM_MAKEFLAGS = \
- "AR_FLAGS=$(AR_FLAGS)" \
- "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
- "CFLAGS=$(CFLAGS)" \
- "CXXFLAGS=$(CXXFLAGS)" \
- "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
- "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
- "INSTALL=$(INSTALL)" \
- "INSTALL_DATA=$(INSTALL_DATA)" \
- "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
- "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
- "JC1FLAGS=$(JC1FLAGS)" \
- "LDFLAGS=$(LDFLAGS)" \
- "LIBCFLAGS=$(LIBCFLAGS)" \
- "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
- "MAKE=$(MAKE)" \
- "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
- "PICFLAG=$(PICFLAG)" \
- "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
- "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
- "SHELL=$(SHELL)" \
- "exec_prefix=$(exec_prefix)" \
- "infodir=$(infodir)" \
- "libdir=$(libdir)" \
- "mandir=$(mandir)" \
- "prefix=$(prefix)" \
- "AR=$(AR)" \
- "AS=$(AS)" \
- "CC=$(CC)" \
- "CXX=$(CXX)" \
- "LD=$(LD)" \
- "NM=$(NM)" \
- "RANLIB=$(RANLIB)" \
- "DESTDIR=$(DESTDIR)"
-
-MAKEOVERRIDES =
-ACLOCAL_AMFLAGS = $(ACLOCAL_AMFLAGS) -I m4
-lib_LTLIBRARIES = libffi.la
-noinst_LTLIBRARIES = libffi_convenience.la
-libffi_la_SOURCES = src/debug.c src/prep_cif.c src/types.c \
- src/raw_api.c src/java_raw_api.c src/closures.c
-
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = libffi.pc
-nodist_libffi_la_SOURCES = $(am__append_1) $(am__append_2) \
- $(am__append_3) $(am__append_4) $(am__append_5) \
- $(am__append_6) $(am__append_7) $(am__append_8) \
- $(am__append_9) $(am__append_10) $(am__append_11) \
- $(am__append_12) $(am__append_13) $(am__append_14) \
- $(am__append_15) $(am__append_16) $(am__append_17) \
- $(am__append_18) $(am__append_19) $(am__append_20) \
- $(am__append_21) $(am__append_22) $(am__append_23) \
- $(am__append_24) $(am__append_25) $(am__append_26)
-libffi_convenience_la_SOURCES = $(libffi_la_SOURCES)
-nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
-AM_CFLAGS = -Wall -g -fexceptions $(am__append_27) $(am__append_28)
-libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LTLDFLAGS) $(AM_LTLDFLAGS)
-AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
-AM_CCASFLAGS = $(AM_CPPFLAGS)
-all: fficonfig.h
- $(MAKE) $(AM_MAKEFLAGS) all-recursive
-
-.SUFFIXES:
-.SUFFIXES: .S .c .dvi .lo .o .obj .ps
-am--refresh:
- @:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
- $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --foreign Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- echo ' $(SHELL) ./config.status'; \
- $(SHELL) ./config.status;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- $(SHELL) ./config.status --recheck
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- $(am__cd) $(srcdir) && $(AUTOCONF)
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
-$(am__aclocal_m4_deps):
-
-fficonfig.h: stamp-h1
- @if test ! -f $@; then \
- rm -f stamp-h1; \
- $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
- else :; fi
-
-stamp-h1: $(srcdir)/fficonfig.h.in $(top_builddir)/config.status
- @rm -f stamp-h1
- cd $(top_builddir) && $(SHELL) ./config.status fficonfig.h
-$(srcdir)/fficonfig.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
- rm -f stamp-h1
- touch $@
-
-distclean-hdr:
- -rm -f fficonfig.h stamp-h1
-libffi.pc: $(top_builddir)/config.status $(srcdir)/libffi.pc.in
- cd $(top_builddir) && $(SHELL) ./config.status $@
-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
- @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
- list2=; for p in $$list; do \
- if test -f $$p; then \
- list2="$$list2 $$p"; \
- else :; fi; \
- done; \
- test -z "$$list2" || { \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
- }
-
-uninstall-libLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
- done
-
-clean-libLTLIBRARIES:
- -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-
-clean-noinstLTLIBRARIES:
- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
- @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-src/$(am__dirstamp):
- @$(MKDIR_P) src
- @: > src/$(am__dirstamp)
-src/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/$(DEPDIR)
- @: > src/$(DEPDIR)/$(am__dirstamp)
-src/debug.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/prep_cif.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/types.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/raw_api.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/java_raw_api.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/closures.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/mips/$(am__dirstamp):
- @$(MKDIR_P) src/mips
- @: > src/mips/$(am__dirstamp)
-src/mips/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/mips/$(DEPDIR)
- @: > src/mips/$(DEPDIR)/$(am__dirstamp)
-src/mips/ffi.lo: src/mips/$(am__dirstamp) \
- src/mips/$(DEPDIR)/$(am__dirstamp)
-src/mips/o32.lo: src/mips/$(am__dirstamp) \
- src/mips/$(DEPDIR)/$(am__dirstamp)
-src/mips/n32.lo: src/mips/$(am__dirstamp) \
- src/mips/$(DEPDIR)/$(am__dirstamp)
-src/x86/$(am__dirstamp):
- @$(MKDIR_P) src/x86
- @: > src/x86/$(am__dirstamp)
-src/x86/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/x86/$(DEPDIR)
- @: > src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/ffi.lo: src/x86/$(am__dirstamp) \
- src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/sysv.lo: src/x86/$(am__dirstamp) \
- src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/freebsd.lo: src/x86/$(am__dirstamp) \
- src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/win32.lo: src/x86/$(am__dirstamp) \
- src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/win64.lo: src/x86/$(am__dirstamp) \
- src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/darwin.lo: src/x86/$(am__dirstamp) \
- src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/ffi64.lo: src/x86/$(am__dirstamp) \
- src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/darwin64.lo: src/x86/$(am__dirstamp) \
- src/x86/$(DEPDIR)/$(am__dirstamp)
-src/sparc/$(am__dirstamp):
- @$(MKDIR_P) src/sparc
- @: > src/sparc/$(am__dirstamp)
-src/sparc/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/sparc/$(DEPDIR)
- @: > src/sparc/$(DEPDIR)/$(am__dirstamp)
-src/sparc/ffi.lo: src/sparc/$(am__dirstamp) \
- src/sparc/$(DEPDIR)/$(am__dirstamp)
-src/sparc/v8.lo: src/sparc/$(am__dirstamp) \
- src/sparc/$(DEPDIR)/$(am__dirstamp)
-src/sparc/v9.lo: src/sparc/$(am__dirstamp) \
- src/sparc/$(DEPDIR)/$(am__dirstamp)
-src/alpha/$(am__dirstamp):
- @$(MKDIR_P) src/alpha
- @: > src/alpha/$(am__dirstamp)
-src/alpha/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/alpha/$(DEPDIR)
- @: > src/alpha/$(DEPDIR)/$(am__dirstamp)
-src/alpha/ffi.lo: src/alpha/$(am__dirstamp) \
- src/alpha/$(DEPDIR)/$(am__dirstamp)
-src/alpha/osf.lo: src/alpha/$(am__dirstamp) \
- src/alpha/$(DEPDIR)/$(am__dirstamp)
-src/ia64/$(am__dirstamp):
- @$(MKDIR_P) src/ia64
- @: > src/ia64/$(am__dirstamp)
-src/ia64/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/ia64/$(DEPDIR)
- @: > src/ia64/$(DEPDIR)/$(am__dirstamp)
-src/ia64/ffi.lo: src/ia64/$(am__dirstamp) \
- src/ia64/$(DEPDIR)/$(am__dirstamp)
-src/ia64/unix.lo: src/ia64/$(am__dirstamp) \
- src/ia64/$(DEPDIR)/$(am__dirstamp)
-src/m32r/$(am__dirstamp):
- @$(MKDIR_P) src/m32r
- @: > src/m32r/$(am__dirstamp)
-src/m32r/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/m32r/$(DEPDIR)
- @: > src/m32r/$(DEPDIR)/$(am__dirstamp)
-src/m32r/sysv.lo: src/m32r/$(am__dirstamp) \
- src/m32r/$(DEPDIR)/$(am__dirstamp)
-src/m32r/ffi.lo: src/m32r/$(am__dirstamp) \
- src/m32r/$(DEPDIR)/$(am__dirstamp)
-src/m68k/$(am__dirstamp):
- @$(MKDIR_P) src/m68k
- @: > src/m68k/$(am__dirstamp)
-src/m68k/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/m68k/$(DEPDIR)
- @: > src/m68k/$(DEPDIR)/$(am__dirstamp)
-src/m68k/ffi.lo: src/m68k/$(am__dirstamp) \
- src/m68k/$(DEPDIR)/$(am__dirstamp)
-src/m68k/sysv.lo: src/m68k/$(am__dirstamp) \
- src/m68k/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/$(am__dirstamp):
- @$(MKDIR_P) src/powerpc
- @: > src/powerpc/$(am__dirstamp)
-src/powerpc/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/powerpc/$(DEPDIR)
- @: > src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/ffi.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/sysv.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/ppc_closure.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/linux64.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/linux64_closure.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/ffi_darwin.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/aix.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/aix_closure.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/darwin.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/darwin_closure.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/arm/$(am__dirstamp):
- @$(MKDIR_P) src/arm
- @: > src/arm/$(am__dirstamp)
-src/arm/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/arm/$(DEPDIR)
- @: > src/arm/$(DEPDIR)/$(am__dirstamp)
-src/arm/sysv.lo: src/arm/$(am__dirstamp) \
- src/arm/$(DEPDIR)/$(am__dirstamp)
-src/arm/ffi.lo: src/arm/$(am__dirstamp) \
- src/arm/$(DEPDIR)/$(am__dirstamp)
-src/avr32/$(am__dirstamp):
- @$(MKDIR_P) src/avr32
- @: > src/avr32/$(am__dirstamp)
-src/avr32/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/avr32/$(DEPDIR)
- @: > src/avr32/$(DEPDIR)/$(am__dirstamp)
-src/avr32/sysv.lo: src/avr32/$(am__dirstamp) \
- src/avr32/$(DEPDIR)/$(am__dirstamp)
-src/avr32/ffi.lo: src/avr32/$(am__dirstamp) \
- src/avr32/$(DEPDIR)/$(am__dirstamp)
-src/cris/$(am__dirstamp):
- @$(MKDIR_P) src/cris
- @: > src/cris/$(am__dirstamp)
-src/cris/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/cris/$(DEPDIR)
- @: > src/cris/$(DEPDIR)/$(am__dirstamp)
-src/cris/sysv.lo: src/cris/$(am__dirstamp) \
- src/cris/$(DEPDIR)/$(am__dirstamp)
-src/cris/ffi.lo: src/cris/$(am__dirstamp) \
- src/cris/$(DEPDIR)/$(am__dirstamp)
-src/frv/$(am__dirstamp):
- @$(MKDIR_P) src/frv
- @: > src/frv/$(am__dirstamp)
-src/frv/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/frv/$(DEPDIR)
- @: > src/frv/$(DEPDIR)/$(am__dirstamp)
-src/frv/eabi.lo: src/frv/$(am__dirstamp) \
- src/frv/$(DEPDIR)/$(am__dirstamp)
-src/frv/ffi.lo: src/frv/$(am__dirstamp) \
- src/frv/$(DEPDIR)/$(am__dirstamp)
-src/moxie/$(am__dirstamp):
- @$(MKDIR_P) src/moxie
- @: > src/moxie/$(am__dirstamp)
-src/moxie/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/moxie/$(DEPDIR)
- @: > src/moxie/$(DEPDIR)/$(am__dirstamp)
-src/moxie/eabi.lo: src/moxie/$(am__dirstamp) \
- src/moxie/$(DEPDIR)/$(am__dirstamp)
-src/moxie/ffi.lo: src/moxie/$(am__dirstamp) \
- src/moxie/$(DEPDIR)/$(am__dirstamp)
-src/s390/$(am__dirstamp):
- @$(MKDIR_P) src/s390
- @: > src/s390/$(am__dirstamp)
-src/s390/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/s390/$(DEPDIR)
- @: > src/s390/$(DEPDIR)/$(am__dirstamp)
-src/s390/sysv.lo: src/s390/$(am__dirstamp) \
- src/s390/$(DEPDIR)/$(am__dirstamp)
-src/s390/ffi.lo: src/s390/$(am__dirstamp) \
- src/s390/$(DEPDIR)/$(am__dirstamp)
-src/x86/unix64.lo: src/x86/$(am__dirstamp) \
- src/x86/$(DEPDIR)/$(am__dirstamp)
-src/sh/$(am__dirstamp):
- @$(MKDIR_P) src/sh
- @: > src/sh/$(am__dirstamp)
-src/sh/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/sh/$(DEPDIR)
- @: > src/sh/$(DEPDIR)/$(am__dirstamp)
-src/sh/sysv.lo: src/sh/$(am__dirstamp) \
- src/sh/$(DEPDIR)/$(am__dirstamp)
-src/sh/ffi.lo: src/sh/$(am__dirstamp) src/sh/$(DEPDIR)/$(am__dirstamp)
-src/sh64/$(am__dirstamp):
- @$(MKDIR_P) src/sh64
- @: > src/sh64/$(am__dirstamp)
-src/sh64/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/sh64/$(DEPDIR)
- @: > src/sh64/$(DEPDIR)/$(am__dirstamp)
-src/sh64/sysv.lo: src/sh64/$(am__dirstamp) \
- src/sh64/$(DEPDIR)/$(am__dirstamp)
-src/sh64/ffi.lo: src/sh64/$(am__dirstamp) \
- src/sh64/$(DEPDIR)/$(am__dirstamp)
-src/pa/$(am__dirstamp):
- @$(MKDIR_P) src/pa
- @: > src/pa/$(am__dirstamp)
-src/pa/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/pa/$(DEPDIR)
- @: > src/pa/$(DEPDIR)/$(am__dirstamp)
-src/pa/linux.lo: src/pa/$(am__dirstamp) \
- src/pa/$(DEPDIR)/$(am__dirstamp)
-src/pa/ffi.lo: src/pa/$(am__dirstamp) src/pa/$(DEPDIR)/$(am__dirstamp)
-src/pa/hpux32.lo: src/pa/$(am__dirstamp) \
- src/pa/$(DEPDIR)/$(am__dirstamp)
-libffi.la: $(libffi_la_OBJECTS) $(libffi_la_DEPENDENCIES)
- $(libffi_la_LINK) -rpath $(libdir) $(libffi_la_OBJECTS) $(libffi_la_LIBADD) $(LIBS)
-libffi_convenience.la: $(libffi_convenience_la_OBJECTS) $(libffi_convenience_la_DEPENDENCIES)
- $(LINK) $(libffi_convenience_la_OBJECTS) $(libffi_convenience_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
- -rm -f src/alpha/ffi.$(OBJEXT)
- -rm -f src/alpha/ffi.lo
- -rm -f src/alpha/osf.$(OBJEXT)
- -rm -f src/alpha/osf.lo
- -rm -f src/arm/ffi.$(OBJEXT)
- -rm -f src/arm/ffi.lo
- -rm -f src/arm/sysv.$(OBJEXT)
- -rm -f src/arm/sysv.lo
- -rm -f src/avr32/ffi.$(OBJEXT)
- -rm -f src/avr32/ffi.lo
- -rm -f src/avr32/sysv.$(OBJEXT)
- -rm -f src/avr32/sysv.lo
- -rm -f src/closures.$(OBJEXT)
- -rm -f src/closures.lo
- -rm -f src/cris/ffi.$(OBJEXT)
- -rm -f src/cris/ffi.lo
- -rm -f src/cris/sysv.$(OBJEXT)
- -rm -f src/cris/sysv.lo
- -rm -f src/debug.$(OBJEXT)
- -rm -f src/debug.lo
- -rm -f src/frv/eabi.$(OBJEXT)
- -rm -f src/frv/eabi.lo
- -rm -f src/frv/ffi.$(OBJEXT)
- -rm -f src/frv/ffi.lo
- -rm -f src/ia64/ffi.$(OBJEXT)
- -rm -f src/ia64/ffi.lo
- -rm -f src/ia64/unix.$(OBJEXT)
- -rm -f src/ia64/unix.lo
- -rm -f src/java_raw_api.$(OBJEXT)
- -rm -f src/java_raw_api.lo
- -rm -f src/m32r/ffi.$(OBJEXT)
- -rm -f src/m32r/ffi.lo
- -rm -f src/m32r/sysv.$(OBJEXT)
- -rm -f src/m32r/sysv.lo
- -rm -f src/m68k/ffi.$(OBJEXT)
- -rm -f src/m68k/ffi.lo
- -rm -f src/m68k/sysv.$(OBJEXT)
- -rm -f src/m68k/sysv.lo
- -rm -f src/mips/ffi.$(OBJEXT)
- -rm -f src/mips/ffi.lo
- -rm -f src/mips/n32.$(OBJEXT)
- -rm -f src/mips/n32.lo
- -rm -f src/mips/o32.$(OBJEXT)
- -rm -f src/mips/o32.lo
- -rm -f src/moxie/eabi.$(OBJEXT)
- -rm -f src/moxie/eabi.lo
- -rm -f src/moxie/ffi.$(OBJEXT)
- -rm -f src/moxie/ffi.lo
- -rm -f src/pa/ffi.$(OBJEXT)
- -rm -f src/pa/ffi.lo
- -rm -f src/pa/hpux32.$(OBJEXT)
- -rm -f src/pa/hpux32.lo
- -rm -f src/pa/linux.$(OBJEXT)
- -rm -f src/pa/linux.lo
- -rm -f src/powerpc/aix.$(OBJEXT)
- -rm -f src/powerpc/aix.lo
- -rm -f src/powerpc/aix_closure.$(OBJEXT)
- -rm -f src/powerpc/aix_closure.lo
- -rm -f src/powerpc/darwin.$(OBJEXT)
- -rm -f src/powerpc/darwin.lo
- -rm -f src/powerpc/darwin_closure.$(OBJEXT)
- -rm -f src/powerpc/darwin_closure.lo
- -rm -f src/powerpc/ffi.$(OBJEXT)
- -rm -f src/powerpc/ffi.lo
- -rm -f src/powerpc/ffi_darwin.$(OBJEXT)
- -rm -f src/powerpc/ffi_darwin.lo
- -rm -f src/powerpc/linux64.$(OBJEXT)
- -rm -f src/powerpc/linux64.lo
- -rm -f src/powerpc/linux64_closure.$(OBJEXT)
- -rm -f src/powerpc/linux64_closure.lo
- -rm -f src/powerpc/ppc_closure.$(OBJEXT)
- -rm -f src/powerpc/ppc_closure.lo
- -rm -f src/powerpc/sysv.$(OBJEXT)
- -rm -f src/powerpc/sysv.lo
- -rm -f src/prep_cif.$(OBJEXT)
- -rm -f src/prep_cif.lo
- -rm -f src/raw_api.$(OBJEXT)
- -rm -f src/raw_api.lo
- -rm -f src/s390/ffi.$(OBJEXT)
- -rm -f src/s390/ffi.lo
- -rm -f src/s390/sysv.$(OBJEXT)
- -rm -f src/s390/sysv.lo
- -rm -f src/sh/ffi.$(OBJEXT)
- -rm -f src/sh/ffi.lo
- -rm -f src/sh/sysv.$(OBJEXT)
- -rm -f src/sh/sysv.lo
- -rm -f src/sh64/ffi.$(OBJEXT)
- -rm -f src/sh64/ffi.lo
- -rm -f src/sh64/sysv.$(OBJEXT)
- -rm -f src/sh64/sysv.lo
- -rm -f src/sparc/ffi.$(OBJEXT)
- -rm -f src/sparc/ffi.lo
- -rm -f src/sparc/v8.$(OBJEXT)
- -rm -f src/sparc/v8.lo
- -rm -f src/sparc/v9.$(OBJEXT)
- -rm -f src/sparc/v9.lo
- -rm -f src/types.$(OBJEXT)
- -rm -f src/types.lo
- -rm -f src/x86/darwin.$(OBJEXT)
- -rm -f src/x86/darwin.lo
- -rm -f src/x86/darwin64.$(OBJEXT)
- -rm -f src/x86/darwin64.lo
- -rm -f src/x86/ffi.$(OBJEXT)
- -rm -f src/x86/ffi.lo
- -rm -f src/x86/ffi64.$(OBJEXT)
- -rm -f src/x86/ffi64.lo
- -rm -f src/x86/freebsd.$(OBJEXT)
- -rm -f src/x86/freebsd.lo
- -rm -f src/x86/sysv.$(OBJEXT)
- -rm -f src/x86/sysv.lo
- -rm -f src/x86/unix64.$(OBJEXT)
- -rm -f src/x86/unix64.lo
- -rm -f src/x86/win32.$(OBJEXT)
- -rm -f src/x86/win32.lo
- -rm -f src/x86/win64.$(OBJEXT)
- -rm -f src/x86/win64.lo
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/closures.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/debug.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/java_raw_api.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/prep_cif.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/raw_api.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/types.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/alpha/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/alpha/$(DEPDIR)/osf.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/avr32/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/avr32/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/cris/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/cris/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/frv/$(DEPDIR)/eabi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/frv/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/ia64/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/ia64/$(DEPDIR)/unix.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/m32r/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/m32r/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/m68k/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/m68k/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/n32.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/o32.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/moxie/$(DEPDIR)/eabi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/moxie/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/hpux32.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/linux.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/aix.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/aix_closure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/darwin.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/darwin_closure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/ffi_darwin.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/linux64.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/linux64_closure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/ppc_closure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/s390/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/s390/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sh/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sh/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sh64/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sh64/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sparc/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sparc/$(DEPDIR)/v8.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sparc/$(DEPDIR)/v9.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/darwin.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/darwin64.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/ffi64.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/freebsd.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/unix64.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/win32.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/win64.Plo@am__quote@
-
-.S.o:
-@am__fastdepCCAS_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
-@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCCAS_FALSE@ $(CPPASCOMPILE) -c -o $@ $<
-
-.S.obj:
-@am__fastdepCCAS_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
-@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
-@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCCAS_FALSE@ $(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.S.lo:
-@am__fastdepCCAS_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
-@am__fastdepCCAS_TRUE@ $(LTCPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCCAS_FALSE@ $(LTCPPASCOMPILE) -c -o $@ $<
-
-.c.o:
-@am__fastdepCC_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
-@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
-@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
- -rm -rf src/.libs src/_libs
- -rm -rf src/alpha/.libs src/alpha/_libs
- -rm -rf src/arm/.libs src/arm/_libs
- -rm -rf src/avr32/.libs src/avr32/_libs
- -rm -rf src/cris/.libs src/cris/_libs
- -rm -rf src/frv/.libs src/frv/_libs
- -rm -rf src/ia64/.libs src/ia64/_libs
- -rm -rf src/m32r/.libs src/m32r/_libs
- -rm -rf src/m68k/.libs src/m68k/_libs
- -rm -rf src/mips/.libs src/mips/_libs
- -rm -rf src/moxie/.libs src/moxie/_libs
- -rm -rf src/pa/.libs src/pa/_libs
- -rm -rf src/powerpc/.libs src/powerpc/_libs
- -rm -rf src/s390/.libs src/s390/_libs
- -rm -rf src/sh/.libs src/sh/_libs
- -rm -rf src/sh64/.libs src/sh64/_libs
- -rm -rf src/sparc/.libs src/sparc/_libs
- -rm -rf src/x86/.libs src/x86/_libs
-
-distclean-libtool:
- -rm -f libtool config.lt
-doc/$(am__dirstamp):
- @$(MKDIR_P) doc
- @: > doc/$(am__dirstamp)
-
-$(srcdir)/doc/libffi.info: doc/libffi.texi $(srcdir)/doc/version.texi
- restore=: && backupdir="$(am__leading_dot)am$$$$" && \
- am__cwd=`pwd` && $(am__cd) $(srcdir) && \
- rm -rf $$backupdir && mkdir $$backupdir && \
- if ($(MAKEINFO) --version) >/dev/null 2>&1; then \
- for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \
- if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \
- done; \
- else :; fi && \
- cd "$$am__cwd"; \
- if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc \
- -o $@ $(srcdir)/doc/libffi.texi; \
- then \
- rc=0; \
- $(am__cd) $(srcdir); \
- else \
- rc=$$?; \
- $(am__cd) $(srcdir) && \
- $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
- fi; \
- rm -rf $$backupdir; exit $$rc
-
-doc/libffi.dvi: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
- TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
- MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \
- $(TEXI2DVI) -o $@ `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi
-
-doc/libffi.pdf: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
- TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
- MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \
- $(TEXI2PDF) -o $@ `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi
-
-doc/libffi.html: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
- rm -rf $(@:.html=.htp)
- if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc \
- -o $(@:.html=.htp) `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi; \
- then \
- rm -rf $@; \
- if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
- mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \
- else \
- if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
- rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \
- exit 1; \
- fi
-$(srcdir)/doc/version.texi: @MAINTAINER_MODE_TRUE@ $(srcdir)/doc/stamp-vti
-$(srcdir)/doc/stamp-vti: doc/libffi.texi $(top_srcdir)/configure
- test -f doc/$(am__dirstamp) || $(MAKE) $(AM_MAKEFLAGS) doc/$(am__dirstamp)
- @(dir=.; test -f ./doc/libffi.texi || dir=$(srcdir); \
- set `$(SHELL) $(srcdir)/mdate-sh $$dir/doc/libffi.texi`; \
- echo "@set UPDATED $$1 $$2 $$3"; \
- echo "@set UPDATED-MONTH $$2 $$3"; \
- echo "@set EDITION $(VERSION)"; \
- echo "@set VERSION $(VERSION)") > vti.tmp
- @cmp -s vti.tmp $(srcdir)/doc/version.texi \
- || (echo "Updating $(srcdir)/doc/version.texi"; \
- cp vti.tmp $(srcdir)/doc/version.texi)
- -@rm -f vti.tmp
- @cp $(srcdir)/doc/version.texi $@
-
-mostlyclean-vti:
- -rm -f vti.tmp
-
-maintainer-clean-vti:
-@MAINTAINER_MODE_TRUE@ -rm -f $(srcdir)/doc/stamp-vti $(srcdir)/doc/version.texi
-.dvi.ps:
- TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
- $(DVIPS) -o $@ $<
-
-uninstall-dvi-am:
- @$(NORMAL_UNINSTALL)
- @list='$(DVIS)'; test -n "$(dvidir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(dvidir)/$$f'"; \
- rm -f "$(DESTDIR)$(dvidir)/$$f"; \
- done
-
-uninstall-html-am:
- @$(NORMAL_UNINSTALL)
- @list='$(HTMLS)'; test -n "$(htmldir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " rm -rf '$(DESTDIR)$(htmldir)/$$f'"; \
- rm -rf "$(DESTDIR)$(htmldir)/$$f"; \
- done
-
-uninstall-info-am:
- @$(PRE_UNINSTALL)
- @if test -d '$(DESTDIR)$(infodir)' && \
- (install-info --version && \
- install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
- list='$(INFO_DEPS)'; \
- for file in $$list; do \
- relfile=`echo "$$file" | sed 's|^.*/||'`; \
- echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \
- if install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \
- then :; else test ! -f "$(DESTDIR)$(infodir)/$$relfile" || exit 1; fi; \
- done; \
- else :; fi
- @$(NORMAL_UNINSTALL)
- @list='$(INFO_DEPS)'; \
- for file in $$list; do \
- relfile=`echo "$$file" | sed 's|^.*/||'`; \
- relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \
- (if test -d "$(DESTDIR)$(infodir)" && cd "$(DESTDIR)$(infodir)"; then \
- echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \
- rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \
- else :; fi); \
- done
-
-uninstall-pdf-am:
- @$(NORMAL_UNINSTALL)
- @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(pdfdir)/$$f'"; \
- rm -f "$(DESTDIR)$(pdfdir)/$$f"; \
- done
-
-uninstall-ps-am:
- @$(NORMAL_UNINSTALL)
- @list='$(PSS)'; test -n "$(psdir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(psdir)/$$f'"; \
- rm -f "$(DESTDIR)$(psdir)/$$f"; \
- done
-
-dist-info: $(INFO_DEPS)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- list='$(INFO_DEPS)'; \
- for base in $$list; do \
- case $$base in \
- $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \
- esac; \
- if test -f $$base; then d=.; else d=$(srcdir); fi; \
- base_i=`echo "$$base" | sed 's|\.info$$||;s|$$|.i|'`; \
- for file in $$d/$$base $$d/$$base-[0-9] $$d/$$base-[0-9][0-9] $$d/$$base_i[0-9] $$d/$$base_i[0-9][0-9]; do \
- if test -f $$file; then \
- relfile=`expr "$$file" : "$$d/\(.*\)"`; \
- test -f "$(distdir)/$$relfile" || \
- cp -p $$file "$(distdir)/$$relfile"; \
- else :; fi; \
- done; \
- done
-
-mostlyclean-aminfo:
- -rm -rf libffi.aux libffi.cp libffi.cps libffi.fn libffi.ky libffi.log \
- libffi.pg libffi.tmp libffi.toc libffi.tp libffi.vr
-
-clean-aminfo:
- -test -z "doc/libffi.dvi doc/libffi.pdf doc/libffi.ps doc/libffi.html" \
- || rm -rf doc/libffi.dvi doc/libffi.pdf doc/libffi.ps doc/libffi.html
-
-maintainer-clean-aminfo:
- @list='$(INFO_DEPS)'; for i in $$list; do \
- i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \
- echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \
- rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \
- done
-install-pkgconfigDATA: $(pkgconfig_DATA)
- @$(NORMAL_INSTALL)
- test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)"
- @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- echo "$$d$$p"; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
- done
-
-uninstall-pkgconfigDATA:
- @$(NORMAL_UNINSTALL)
- @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
- test -n "$$files" || exit 0; \
- echo " ( cd '$(DESTDIR)$(pkgconfigdir)' && rm -f" $$files ")"; \
- cd "$(DESTDIR)$(pkgconfigdir)" && rm -f $$files
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) fficonfig.h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) fficonfig.h.in $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) fficonfig.h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) fficonfig.h.in $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- $(am__remove_distdir)
- test -d "$(distdir)" || mkdir "$(distdir)"
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d "$(distdir)/$$subdir" \
- || $(MKDIR_P) "$(distdir)/$$subdir" \
- || exit 1; \
- fi; \
- done
- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
- $(am__relativize); \
- new_distdir=$$reldir; \
- dir1=$$subdir; dir2="$(top_distdir)"; \
- $(am__relativize); \
- new_top_distdir=$$reldir; \
- echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
- echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
- ($(am__cd) $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$new_top_distdir" \
- distdir="$$new_distdir" \
- am__remove_distdir=: \
- am__skip_length_check=: \
- am__skip_mode_fix=: \
- distdir) \
- || exit 1; \
- fi; \
- done
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$(top_distdir)" distdir="$(distdir)" \
- dist-info
- -test -n "$(am__skip_mode_fix)" \
- || find "$(distdir)" -type d ! -perm -755 \
- -exec chmod u+rwx,go+rx {} \; -o \
- ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
- ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
- ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
- || chmod -R a+r "$(distdir)"
-dist-gzip: distdir
- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
- $(am__remove_distdir)
-
-dist-bzip2: distdir
- tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
- $(am__remove_distdir)
-
-dist-lzma: distdir
- tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
- $(am__remove_distdir)
-
-dist-xz: distdir
- tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
- $(am__remove_distdir)
-
-dist-tarZ: distdir
- tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
- $(am__remove_distdir)
-
-dist-shar: distdir
- shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
- $(am__remove_distdir)
-
-dist-zip: distdir
- -rm -f $(distdir).zip
- zip -rq $(distdir).zip $(distdir)
- $(am__remove_distdir)
-
-dist dist-all: distdir
- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
- $(am__remove_distdir)
-
-# This target untars the dist file and tries a VPATH configuration. Then
-# it guarantees that the distribution is self-contained by making another
-# tarfile.
-distcheck: dist
- case '$(DIST_ARCHIVES)' in \
- *.tar.gz*) \
- GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
- *.tar.bz2*) \
- bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
- *.tar.lzma*) \
- lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
- *.tar.xz*) \
- xz -dc $(distdir).tar.xz | $(am__untar) ;;\
- *.tar.Z*) \
- uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
- *.shar.gz*) \
- GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
- *.zip*) \
- unzip $(distdir).zip ;;\
- esac
- chmod -R a-w $(distdir); chmod a+w $(distdir)
- mkdir $(distdir)/_build
- mkdir $(distdir)/_inst
- chmod a-w $(distdir)
- test -d $(distdir)/_build || exit 0; \
- dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
- && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
- && am__cwd=`pwd` \
- && $(am__cd) $(distdir)/_build \
- && ../configure --srcdir=.. --prefix="$$dc_install_base" \
- $(DISTCHECK_CONFIGURE_FLAGS) \
- && $(MAKE) $(AM_MAKEFLAGS) \
- && $(MAKE) $(AM_MAKEFLAGS) dvi \
- && $(MAKE) $(AM_MAKEFLAGS) check \
- && $(MAKE) $(AM_MAKEFLAGS) install \
- && $(MAKE) $(AM_MAKEFLAGS) installcheck \
- && $(MAKE) $(AM_MAKEFLAGS) uninstall \
- && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
- distuninstallcheck \
- && chmod -R a-w "$$dc_install_base" \
- && ({ \
- (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
- distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
- } || { rm -rf "$$dc_destdir"; exit 1; }) \
- && rm -rf "$$dc_destdir" \
- && $(MAKE) $(AM_MAKEFLAGS) dist \
- && rm -rf $(DIST_ARCHIVES) \
- && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
- && cd "$$am__cwd" \
- || exit 1
- $(am__remove_distdir)
- @(echo "$(distdir) archives ready for distribution: "; \
- list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
- sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
-distuninstallcheck:
- @$(am__cd) '$(distuninstallcheck_dir)' \
- && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
- || { echo "ERROR: files left after uninstall:" ; \
- if test -n "$(DESTDIR)"; then \
- echo " (check DESTDIR support)"; \
- fi ; \
- $(distuninstallcheck_listfiles) ; \
- exit 1; } >&2
-distcleancheck: distclean
- @if test '$(srcdir)' = . ; then \
- echo "ERROR: distcleancheck can only run from a VPATH build" ; \
- exit 1 ; \
- fi
- @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
- || { echo "ERROR: files left in build directory after distclean:" ; \
- $(distcleancheck_listfiles) ; \
- exit 1; } >&2
-check-am: all-am
-check: check-recursive
-all-am: Makefile $(INFO_DEPS) $(LTLIBRARIES) $(DATA) fficonfig.h
-installdirs: installdirs-recursive
-installdirs-am:
- for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(infodir)" "$(DESTDIR)$(pkgconfigdir)"; do \
- test -z "$$dir" || $(MKDIR_P) "$$dir"; \
- done
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
- -rm -f doc/$(am__dirstamp)
- -rm -f src/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/$(am__dirstamp)
- -rm -f src/alpha/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/alpha/$(am__dirstamp)
- -rm -f src/arm/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/arm/$(am__dirstamp)
- -rm -f src/avr32/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/avr32/$(am__dirstamp)
- -rm -f src/cris/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/cris/$(am__dirstamp)
- -rm -f src/frv/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/frv/$(am__dirstamp)
- -rm -f src/ia64/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/ia64/$(am__dirstamp)
- -rm -f src/m32r/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/m32r/$(am__dirstamp)
- -rm -f src/m68k/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/m68k/$(am__dirstamp)
- -rm -f src/mips/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/mips/$(am__dirstamp)
- -rm -f src/moxie/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/moxie/$(am__dirstamp)
- -rm -f src/pa/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/pa/$(am__dirstamp)
- -rm -f src/powerpc/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/powerpc/$(am__dirstamp)
- -rm -f src/s390/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/s390/$(am__dirstamp)
- -rm -f src/sh/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/sh/$(am__dirstamp)
- -rm -f src/sh64/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/sh64/$(am__dirstamp)
- -rm -f src/sparc/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/sparc/$(am__dirstamp)
- -rm -f src/x86/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/x86/$(am__dirstamp)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-aminfo clean-generic clean-libLTLIBRARIES \
- clean-libtool clean-noinstLTLIBRARIES mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f $(am__CONFIG_DISTCLEAN_FILES)
- -rm -rf src/$(DEPDIR) src/alpha/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/x86/$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-hdr distclean-libtool distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am: $(DVIS)
-
-html: html-recursive
-
-html-am: $(HTMLS)
-
-info: info-recursive
-
-info-am: $(INFO_DEPS)
-
-install-data-am: install-info-am install-pkgconfigDATA
-
-install-dvi: install-dvi-recursive
-
-install-dvi-am: $(DVIS)
- @$(NORMAL_INSTALL)
- test -z "$(dvidir)" || $(MKDIR_P) "$(DESTDIR)$(dvidir)"
- @list='$(DVIS)'; test -n "$(dvidir)" || list=; \
- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- echo "$$d$$p"; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(dvidir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(dvidir)" || exit $$?; \
- done
-install-exec-am: install-libLTLIBRARIES
-
-install-html-am: $(HTMLS)
- @$(NORMAL_INSTALL)
- test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)"
- @list='$(HTMLS)'; list2=; test -n "$(htmldir)" || list=; \
- for p in $$list; do \
- if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \
- $(am__strip_dir) \
- if test -d "$$d$$p"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \
- $(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \
- echo " $(INSTALL_DATA) '$$d$$p'/* '$(DESTDIR)$(htmldir)/$$f'"; \
- $(INSTALL_DATA) "$$d$$p"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \
- else \
- list2="$$list2 $$d$$p"; \
- fi; \
- done; \
- test -z "$$list2" || { echo "$$list2" | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(htmldir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(htmldir)" || exit $$?; \
- done; }
-install-info: install-info-recursive
-
-install-info-am: $(INFO_DEPS)
- @$(NORMAL_INSTALL)
- test -z "$(infodir)" || $(MKDIR_P) "$(DESTDIR)$(infodir)"
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
- for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- esac; \
- if test -f $$file; then d=.; else d=$(srcdir); fi; \
- file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \
- for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \
- $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \
- if test -f $$ifile; then \
- echo "$$ifile"; \
- else : ; fi; \
- done; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(infodir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(infodir)" || exit $$?; done
- @$(POST_INSTALL)
- @if (install-info --version && \
- install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
- list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
- for file in $$list; do \
- relfile=`echo "$$file" | sed 's|^.*/||'`; \
- echo " install-info --info-dir='$(DESTDIR)$(infodir)' '$(DESTDIR)$(infodir)/$$relfile'";\
- install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$relfile" || :;\
- done; \
- else : ; fi
-install-man:
-
-install-pdf-am: $(PDFS)
- @$(NORMAL_INSTALL)
- test -z "$(pdfdir)" || $(MKDIR_P) "$(DESTDIR)$(pdfdir)"
- @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \
- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- echo "$$d$$p"; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pdfdir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(pdfdir)" || exit $$?; done
-install-ps: install-ps-recursive
-
-install-ps-am: $(PSS)
- @$(NORMAL_INSTALL)
- test -z "$(psdir)" || $(MKDIR_P) "$(DESTDIR)$(psdir)"
- @list='$(PSS)'; test -n "$(psdir)" || list=; \
- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- echo "$$d$$p"; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(psdir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(psdir)" || exit $$?; done
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f $(am__CONFIG_DISTCLEAN_FILES)
- -rm -rf $(top_srcdir)/autom4te.cache
- -rm -rf src/$(DEPDIR) src/alpha/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/x86/$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-aminfo \
- maintainer-clean-generic maintainer-clean-vti
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-aminfo mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool mostlyclean-vti
-
-pdf: pdf-recursive
-
-pdf-am: $(PDFS)
-
-ps: ps-recursive
-
-ps-am: $(PSS)
-
-uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \
- uninstall-libLTLIBRARIES uninstall-pdf-am \
- uninstall-pkgconfigDATA uninstall-ps-am
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
- ctags-recursive install-am install-strip tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
- all all-am am--refresh check check-am clean clean-aminfo \
- clean-generic clean-libLTLIBRARIES clean-libtool \
- clean-noinstLTLIBRARIES ctags ctags-recursive dist dist-all \
- dist-bzip2 dist-gzip dist-info dist-lzma dist-shar dist-tarZ \
- dist-xz dist-zip distcheck distclean distclean-compile \
- distclean-generic distclean-hdr distclean-libtool \
- distclean-tags distcleancheck distdir distuninstallcheck dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-dvi install-dvi-am \
- install-exec install-exec-am install-html install-html-am \
- install-info install-info-am install-libLTLIBRARIES \
- install-man install-pdf install-pdf-am install-pkgconfigDATA \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs installdirs-am maintainer-clean \
- maintainer-clean-aminfo maintainer-clean-generic \
- maintainer-clean-vti mostlyclean mostlyclean-aminfo \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- mostlyclean-vti pdf pdf-am ps ps-am tags tags-recursive \
- uninstall uninstall-am uninstall-dvi-am uninstall-html-am \
- uninstall-info-am uninstall-libLTLIBRARIES uninstall-pdf-am \
- uninstall-pkgconfigDATA uninstall-ps-am
-
-
-# No install-html or install-pdf support in automake yet
-.PHONY: install-html install-pdf
-install-html:
-install-pdf:
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/.pc/ios/configure.ac b/.pc/ios/configure.ac
deleted file mode 100644
index 0b0bf59..0000000
--- a/.pc/ios/configure.ac
+++ /dev/null
@@ -1,481 +0,0 @@
-dnl Process this with autoconf to create configure
-
-AC_PREREQ(2.63)
-
-AC_INIT([libffi], [3.0.11-rc2], [http://github.com/atgreen/libffi/issues])
-AC_CONFIG_HEADERS([fficonfig.h])
-
-AC_CANONICAL_SYSTEM
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-AM_INIT_AUTOMAKE
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-# Also save and restore CFLAGS, since AC_PROG_CC will come up with
-# defaults of its own if none are provided.
-
-m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS])
-m4_define([_AC_ARG_VAR_PRECIOUS],[])
-save_CFLAGS=$CFLAGS
-AC_PROG_CC
-CFLAGS=$save_CFLAGS
-m4_undefine([_AC_ARG_VAR_PRECIOUS])
-m4_rename([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
-
-AC_SUBST(CFLAGS)
-
-AM_PROG_AS
-AM_PROG_CC_C_O
-AC_PROG_LIBTOOL
-AC_CONFIG_MACRO_DIR([m4])
-
-AM_MAINTAINER_MODE
-
-AC_CHECK_HEADERS(sys/mman.h)
-AC_CHECK_FUNCS(mmap)
-AC_FUNC_MMAP_BLACKLIST
-
-dnl The -no-testsuite modules omit the test subdir.
-AM_CONDITIONAL(TESTSUBDIR, test -d $srcdir/testsuite)
-
-TARGETDIR="unknown"
-case "$host" in
- alpha*-*-*)
- TARGET=ALPHA; TARGETDIR=alpha;
- # Support 128-bit long double, changeable via command-line switch.
- HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
- ;;
-
- arm*-*-*)
- TARGET=ARM; TARGETDIR=arm
- ;;
-
- amd64-*-freebsd* | amd64-*-openbsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- amd64-*-freebsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- avr32*-*-*)
- TARGET=AVR32; TARGETDIR=avr32
- ;;
-
- cris-*-*)
- TARGET=LIBFFI_CRIS; TARGETDIR=cris
- ;;
-
- frv-*-*)
- TARGET=FRV; TARGETDIR=frv
- ;;
-
- hppa*-*-linux* | parisc*-*-linux*)
- TARGET=PA_LINUX; TARGETDIR=pa
- ;;
- hppa*64-*-hpux*)
- TARGET=PA64_HPUX; TARGETDIR=pa
- ;;
- hppa*-*-hpux*)
- TARGET=PA_HPUX; TARGETDIR=pa
- ;;
-
- i?86-*-freebsd* | i?86-*-openbsd*)
- TARGET=X86_FREEBSD; TARGETDIR=x86
- ;;
- i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2*)
- TARGET=X86_WIN32; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
- i?86-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
- i?86-*-solaris2.1[[0-9]]*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
- i?86-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- ia64*-*-*)
- TARGET=IA64; TARGETDIR=ia64
- ;;
-
- m32r*-*-*)
- TARGET=M32R; TARGETDIR=m32r
- ;;
-
- m68k-*-*)
- TARGET=M68K; TARGETDIR=m68k
- ;;
-
- mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
- TARGET=MIPS; TARGETDIR=mips
- ;;
- mips*-*-linux*)
- # Support 128-bit long double for NewABI.
- HAVE_LONG_DOUBLE='defined(__mips64)'
- TARGET=MIPS; TARGETDIR=mips
- ;;
-
- moxie-*-*)
- TARGET=MOXIE; TARGETDIR=moxie
- ;;
-
- powerpc*-*-linux* | powerpc-*-sysv*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-beos*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-darwin*)
- TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
- ;;
- powerpc-*-aix* | rs6000-*-aix*)
- TARGET=POWERPC_AIX; TARGETDIR=powerpc
- ;;
- powerpc-*-freebsd*)
- TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
- ;;
- powerpc64-*-freebsd*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc*-*-rtems*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
-
- s390-*-* | s390x-*-*)
- TARGET=S390; TARGETDIR=s390
- ;;
-
- sh-*-* | sh[[34]]*-*-*)
- TARGET=SH; TARGETDIR=sh
- ;;
- sh64-*-* | sh5*-*-*)
- TARGET=SH64; TARGETDIR=sh64
- ;;
-
- sparc*-*-*)
- TARGET=SPARC; TARGETDIR=sparc
- ;;
-
- x86_64-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
-
- x86_64-*-cygwin* | x86_64-*-mingw*)
- TARGET=X86_WIN64; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
-
- x86_64-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-esac
-
-AC_SUBST(AM_RUNTESTFLAGS)
-AC_SUBST(AM_LTLDFLAGS)
-
-if test $TARGETDIR = unknown; then
- AC_MSG_ERROR(["libffi has not been ported to $host."])
-fi
-
-AM_CONDITIONAL(MIPS, test x$TARGET = xMIPS)
-AM_CONDITIONAL(SPARC, test x$TARGET = xSPARC)
-AM_CONDITIONAL(X86, test x$TARGET = xX86)
-AM_CONDITIONAL(X86_FREEBSD, test x$TARGET = xX86_FREEBSD)
-AM_CONDITIONAL(X86_WIN32, test x$TARGET = xX86_WIN32)
-AM_CONDITIONAL(X86_WIN64, test x$TARGET = xX86_WIN64)
-AM_CONDITIONAL(X86_DARWIN, test x$TARGET = xX86_DARWIN)
-AM_CONDITIONAL(ALPHA, test x$TARGET = xALPHA)
-AM_CONDITIONAL(IA64, test x$TARGET = xIA64)
-AM_CONDITIONAL(M32R, test x$TARGET = xM32R)
-AM_CONDITIONAL(M68K, test x$TARGET = xM68K)
-AM_CONDITIONAL(MOXIE, test x$TARGET = xMOXIE)
-AM_CONDITIONAL(POWERPC, test x$TARGET = xPOWERPC)
-AM_CONDITIONAL(POWERPC_AIX, test x$TARGET = xPOWERPC_AIX)
-AM_CONDITIONAL(POWERPC_DARWIN, test x$TARGET = xPOWERPC_DARWIN)
-AM_CONDITIONAL(POWERPC_FREEBSD, test x$TARGET = xPOWERPC_FREEBSD)
-AM_CONDITIONAL(ARM, test x$TARGET = xARM)
-AM_CONDITIONAL(AVR32, test x$TARGET = xAVR32)
-AM_CONDITIONAL(LIBFFI_CRIS, test x$TARGET = xLIBFFI_CRIS)
-AM_CONDITIONAL(FRV, test x$TARGET = xFRV)
-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)
-AM_CONDITIONAL(PA_LINUX, test x$TARGET = xPA_LINUX)
-AM_CONDITIONAL(PA_HPUX, test x$TARGET = xPA_HPUX)
-AM_CONDITIONAL(PA64_HPUX, test x$TARGET = xPA64_HPUX)
-
-AC_HEADER_STDC
-AC_CHECK_FUNCS(memcpy)
-AC_FUNC_ALLOCA
-
-AC_CHECK_SIZEOF(double)
-AC_CHECK_SIZEOF(long double)
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
- HAVE_LONG_DOUBLE=0
- if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
- if test $ac_cv_sizeof_long_double != 0; then
- HAVE_LONG_DOUBLE=1
- AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the long double type and it is bigger than a double])
- fi
- fi
-fi
-AC_SUBST(HAVE_LONG_DOUBLE)
-
-AC_C_BIGENDIAN
-
-GCC_AS_CFI_PSEUDO_OP
-
-if test x$TARGET = xSPARC; then
- AC_CACHE_CHECK([assembler and linker support unaligned pc related relocs],
- libffi_cv_as_sparc_ua_pcrel, [
- save_CFLAGS="$CFLAGS"
- save_LDFLAGS="$LDFLAGS"
- CFLAGS="$CFLAGS -fpic"
- LDFLAGS="$LDFLAGS -shared"
- AC_TRY_LINK([asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");],,
- [libffi_cv_as_sparc_ua_pcrel=yes],
- [libffi_cv_as_sparc_ua_pcrel=no])
- CFLAGS="$save_CFLAGS"
- LDFLAGS="$save_LDFLAGS"])
- if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
- AC_DEFINE(HAVE_AS_SPARC_UA_PCREL, 1,
- [Define if your assembler and linker support unaligned PC relative relocs.])
- fi
-
- AC_CACHE_CHECK([assembler .register pseudo-op support],
- libffi_cv_as_register_pseudo_op, [
- libffi_cv_as_register_pseudo_op=unknown
- # Check if we have .register
- AC_TRY_COMPILE([asm (".register %g2, #scratch");],,
- [libffi_cv_as_register_pseudo_op=yes],
- [libffi_cv_as_register_pseudo_op=no])
- ])
- if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
- AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP, 1,
- [Define if your assembler supports .register.])
- fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
- AC_CACHE_CHECK([assembler supports pc related relocs],
- libffi_cv_as_x86_pcrel, [
- libffi_cv_as_x86_pcrel=no
- echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
- if $CC $CFLAGS -c conftest.s > /dev/null; then
- libffi_cv_as_x86_pcrel=yes
- fi
- ])
- if test "x$libffi_cv_as_x86_pcrel" = xyes; then
- AC_DEFINE(HAVE_AS_X86_PCREL, 1,
- [Define if your assembler supports PC relative relocs.])
- fi
-
- AC_CACHE_CHECK([assembler .ascii pseudo-op support],
- libffi_cv_as_ascii_pseudo_op, [
- libffi_cv_as_ascii_pseudo_op=unknown
- # Check if we have .ascii
- AC_TRY_COMPILE([asm (".ascii \\"string\\"");],,
- [libffi_cv_as_ascii_pseudo_op=yes],
- [libffi_cv_as_ascii_pseudo_op=no])
- ])
- if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
- AC_DEFINE(HAVE_AS_ASCII_PSEUDO_OP, 1,
- [Define if your assembler supports .ascii.])
- fi
-
- AC_CACHE_CHECK([assembler .string pseudo-op support],
- libffi_cv_as_string_pseudo_op, [
- libffi_cv_as_string_pseudo_op=unknown
- # Check if we have .string
- AC_TRY_COMPILE([asm (".string \\"string\\"");],,
- [libffi_cv_as_string_pseudo_op=yes],
- [libffi_cv_as_string_pseudo_op=no])
- ])
- if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
- AC_DEFINE(HAVE_AS_STRING_PSEUDO_OP, 1,
- [Define if your assembler supports .string.])
- fi
-fi
-
-if test x$TARGET = xX86_WIN64; then
- LT_SYS_SYMBOL_USCORE
- if test "x$sys_symbol_underscore" = xyes; then
- AC_DEFINE(SYMBOL_UNDERSCORE, 1, [Define if symbols are underscored.])
- fi
-fi
-
-case "$target" in
- *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
- AC_DEFINE(FFI_MMAP_EXEC_WRIT, 1,
- [Cannot use malloc on this target, so, we revert to
- alternative means])
- ;;
-esac
-
-if test x$TARGET = xX86_64; then
- AC_CACHE_CHECK([assembler supports unwind section type],
- libffi_cv_as_x86_64_unwind_section_type, [
- libffi_cv_as_x86_64_unwind_section_type=yes
- echo '.section .eh_frame,"a",@unwind' > conftest.s
- if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
- libffi_cv_as_x86_64_unwind_section_type=no
- fi
- ])
- if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
- AC_DEFINE(HAVE_AS_X86_64_UNWIND_SECTION_TYPE, 1,
- [Define if your assembler supports unwind section type.])
- fi
-fi
-
-if test "x$GCC" = "xyes"; then
- AC_CACHE_CHECK([whether .eh_frame section should be read-only],
- libffi_cv_ro_eh_frame, [
- libffi_cv_ro_eh_frame=no
- echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
- if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
- if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- elif grep '.section.*eh_frame.*#alloc' conftest.c \
- | grep -v '#write' > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- fi
- fi
- rm -f conftest.*
- ])
- if test "x$libffi_cv_ro_eh_frame" = xyes; then
- AC_DEFINE(HAVE_RO_EH_FRAME, 1,
- [Define if .eh_frame sections should be read-only.])
- AC_DEFINE(EH_FRAME_FLAGS, "a",
- [Define to the flags needed for the .section .eh_frame directive. ])
- else
- AC_DEFINE(EH_FRAME_FLAGS, "aw",
- [Define to the flags needed for the .section .eh_frame directive. ])
- fi
-
- AC_CACHE_CHECK([for __attribute__((visibility("hidden")))],
- libffi_cv_hidden_visibility_attribute, [
- echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1 ; }' > conftest.c
- libffi_cv_hidden_visibility_attribute=no
- if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
- if grep '\.hidden.*foo' conftest.s >/dev/null; then
- libffi_cv_hidden_visibility_attribute=yes
- fi
- fi
- rm -f conftest.*
- ])
- if test $libffi_cv_hidden_visibility_attribute = yes; then
- AC_DEFINE(HAVE_HIDDEN_VISIBILITY_ATTRIBUTE, 1,
- [Define if __attribute__((visibility("hidden"))) is supported.])
- fi
-fi
-
-AH_BOTTOM([
-#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
-])
-
-AC_SUBST(TARGET)
-AC_SUBST(TARGETDIR)
-
-AC_SUBST(SHELL)
-
-AC_ARG_ENABLE(debug,
-[ --enable-debug debugging mode],
- if test "$enable_debug" = "yes"; then
- AC_DEFINE(FFI_DEBUG, 1, [Define this if you want extra debugging.])
- fi)
-AM_CONDITIONAL(FFI_DEBUG, test "$enable_debug" = "yes")
-
-AC_ARG_ENABLE(structs,
-[ --disable-structs omit code for struct support],
- if test "$enable_structs" = "no"; then
- AC_DEFINE(FFI_NO_STRUCTS, 1, [Define this is you do not want support for aggregate types.])
- fi)
-
-AC_ARG_ENABLE(raw-api,
-[ --disable-raw-api make the raw api unavailable],
- if test "$enable_raw_api" = "no"; then
- AC_DEFINE(FFI_NO_RAW_API, 1, [Define this is you do not want support for the raw API.])
- fi)
-
-AC_ARG_ENABLE(purify-safety,
-[ --enable-purify-safety purify-safe mode],
- if test "$enable_purify_safety" = "yes"; then
- AC_DEFINE(USING_PURIFY, 1, [Define this if you are using Purify and want to suppress spurious messages.])
- fi)
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- toolexecdir='$(exec_prefix)/$(target_alias)'
- toolexeclibdir='$(toolexecdir)/lib'
- else
- toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
- toolexeclibdir='$(libdir)'
- fi
- multi_os_directory=`$CC -print-multi-os-directory`
- case $multi_os_directory in
- .) ;; # Avoid trailing /.
- *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
- esac
- AC_SUBST(toolexecdir)
- AC_SUBST(toolexeclibdir)
-fi
-
-if test "${multilib}" = "yes"; then
- multilib_arg="--enable-multilib"
-else
- multilib_arg=
-fi
-
-AC_CONFIG_COMMANDS(include, [test -d include || mkdir include])
-AC_CONFIG_COMMANDS(src, [
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
-], [TARGETDIR="$TARGETDIR"])
-
-AC_CONFIG_LINKS(include/ffitarget.h:src/$TARGETDIR/ffitarget.h)
-
-AC_CONFIG_FILES(include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc)
-
-AC_OUTPUT
diff --git a/.pc/ios/fficonfig.h.in b/.pc/ios/fficonfig.h.in
deleted file mode 100644
index e012ebb..0000000
--- a/.pc/ios/fficonfig.h.in
+++ /dev/null
@@ -1,193 +0,0 @@
-/* fficonfig.h.in. Generated from configure.ac by autoheader. */
-
-/* Define if building universal (internal helper macro) */
-#undef AC_APPLE_UNIVERSAL_BUILD
-
-/* 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
-
-/* Cannot use malloc on this target, so, we revert to alternative means */
-#undef FFI_MMAP_EXEC_WRIT
-
-/* 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 .ascii. */
-#undef HAVE_AS_ASCII_PSEUDO_OP
-
-/* 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 if your assembler supports .string. */
-#undef HAVE_AS_STRING_PSEUDO_OP
-
-/* Define if your assembler supports unwind section type. */
-#undef HAVE_AS_X86_64_UNWIND_SECTION_TYPE
-
-/* Define if your assembler supports PC relative relocs. */
-#undef HAVE_AS_X86_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 home page for this package. */
-#undef PACKAGE_URL
-
-/* Define to the version of this package. */
-#undef PACKAGE_VERSION
-
-/* The size of `double', as computed by sizeof. */
-#undef SIZEOF_DOUBLE
-
-/* The size of `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 runtime.
- 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 WORDS_BIGENDIAN to 1 if your processor stores words with the most
- significant byte first (like Motorola and SPARC, unlike Intel). */
-#if defined AC_APPLE_UNIVERSAL_BUILD
-# if defined __BIG_ENDIAN__
-# define WORDS_BIGENDIAN 1
-# endif
-#else
-# ifndef WORDS_BIGENDIAN
-# undef WORDS_BIGENDIAN
-# endif
-#endif
-
-
-#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
-
diff --git a/.pc/ios/src/arm/ffi.c b/.pc/ios/src/arm/ffi.c
deleted file mode 100644
index d526033..0000000
--- a/.pc/ios/src/arm/ffi.c
+++ /dev/null
@@ -1,504 +0,0 @@
-/* -----------------------------------------------------------------------
- ffi.c - Copyright (c) 1998, 2008 Red Hat, Inc.
-
- ARM Foreign Function Interface
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
- ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#include <stdlib.h>
-
-/* Forward declares. */
-static int vfp_type_p (ffi_type *);
-static void layout_vfp_args (ffi_cif *);
-
-/* ffi_prep_args is called by the assembly routine once stack space
- has been allocated for the function's arguments
-
- The vfp_space parameter is the load area for VFP regs, the return
- value is cif->vfp_used (word bitset of VFP regs used for passing
- arguments). These are only used for the VFP hard-float ABI.
-*/
-int ffi_prep_args(char *stack, extended_cif *ecif, float *vfp_space)
-{
- register unsigned int i, vi = 0;
- register void **p_argv;
- register char *argp;
- register ffi_type **p_arg;
-
- argp = stack;
-
- if ( ecif->cif->flags == FFI_TYPE_STRUCT ) {
- *(void **) argp = ecif->rvalue;
- argp += 4;
- }
-
- p_argv = ecif->avalue;
-
- for (i = ecif->cif->nargs, p_arg = ecif->cif->arg_types;
- (i != 0);
- i--, p_arg++)
- {
- size_t z;
-
- /* Allocated in VFP registers. */
- if (ecif->cif->abi == FFI_VFP
- && vi < ecif->cif->vfp_nargs && vfp_type_p (*p_arg))
- {
- float* vfp_slot = vfp_space + ecif->cif->vfp_args[vi++];
- if ((*p_arg)->type == FFI_TYPE_FLOAT)
- *((float*)vfp_slot) = *((float*)*p_argv);
- else if ((*p_arg)->type == FFI_TYPE_DOUBLE)
- *((double*)vfp_slot) = *((double*)*p_argv);
- else
- memcpy(vfp_slot, *p_argv, (*p_arg)->size);
- p_argv++;
- continue;
- }
-
- /* Align if necessary */
- if (((*p_arg)->alignment - 1) & (unsigned) argp) {
- argp = (char *) ALIGN(argp, (*p_arg)->alignment);
- }
-
- if ((*p_arg)->type == FFI_TYPE_STRUCT)
- argp = (char *) ALIGN(argp, 4);
-
- z = (*p_arg)->size;
- if (z < sizeof(int))
- {
- z = sizeof(int);
- switch ((*p_arg)->type)
- {
- case FFI_TYPE_SINT8:
- *(signed int *) argp = (signed int)*(SINT8 *)(* p_argv);
- break;
-
- case FFI_TYPE_UINT8:
- *(unsigned int *) argp = (unsigned int)*(UINT8 *)(* p_argv);
- break;
-
- case FFI_TYPE_SINT16:
- *(signed int *) argp = (signed int)*(SINT16 *)(* p_argv);
- break;
-
- case FFI_TYPE_UINT16:
- *(unsigned int *) argp = (unsigned int)*(UINT16 *)(* p_argv);
- break;
-
- case FFI_TYPE_STRUCT:
- memcpy(argp, *p_argv, (*p_arg)->size);
- break;
-
- default:
- FFI_ASSERT(0);
- }
- }
- else if (z == sizeof(int))
- {
- *(unsigned int *) argp = (unsigned int)*(UINT32 *)(* p_argv);
- }
- else
- {
- memcpy(argp, *p_argv, z);
- }
- p_argv++;
- argp += z;
- }
-
- /* Indicate the VFP registers used. */
- return ecif->cif->vfp_used;
-}
-
-/* Perform machine dependent cif processing */
-ffi_status ffi_prep_cif_machdep(ffi_cif *cif)
-{
- int type_code;
- /* Round the stack up to a multiple of 8 bytes. This isn't needed
- everywhere, but it is on some platforms, and it doesn't harm anything
- when it isn't needed. */
- cif->bytes = (cif->bytes + 7) & ~7;
-
- /* Set the return type flag */
- switch (cif->rtype->type)
- {
- case FFI_TYPE_VOID:
- case FFI_TYPE_FLOAT:
- case FFI_TYPE_DOUBLE:
- cif->flags = (unsigned) cif->rtype->type;
- break;
-
- case FFI_TYPE_SINT64:
- case FFI_TYPE_UINT64:
- cif->flags = (unsigned) FFI_TYPE_SINT64;
- break;
-
- case FFI_TYPE_STRUCT:
- if (cif->abi == FFI_VFP
- && (type_code = vfp_type_p (cif->rtype)) != 0)
- {
- /* A Composite Type passed in VFP registers, either
- FFI_TYPE_STRUCT_VFP_FLOAT or FFI_TYPE_STRUCT_VFP_DOUBLE. */
- cif->flags = (unsigned) type_code;
- }
- else if (cif->rtype->size <= 4)
- /* A Composite Type not larger than 4 bytes is returned in r0. */
- cif->flags = (unsigned)FFI_TYPE_INT;
- else
- /* A Composite Type larger than 4 bytes, or whose size cannot
- be determined statically ... is stored in memory at an
- address passed [in r0]. */
- cif->flags = (unsigned)FFI_TYPE_STRUCT;
- break;
-
- default:
- cif->flags = FFI_TYPE_INT;
- break;
- }
-
- /* Map out the register placements of VFP register args.
- The VFP hard-float calling conventions are slightly more sophisticated than
- the base calling conventions, so we do it here instead of in ffi_prep_args(). */
- if (cif->abi == FFI_VFP)
- layout_vfp_args (cif);
-
- return FFI_OK;
-}
-
-/* Prototypes for assembly functions, in sysv.S */
-extern void ffi_call_SYSV (void (*fn)(void), extended_cif *, unsigned, unsigned, unsigned *);
-extern void ffi_call_VFP (void (*fn)(void), extended_cif *, unsigned, unsigned, unsigned *);
-
-void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
-{
- extended_cif ecif;
-
- int small_struct = (cif->flags == FFI_TYPE_INT
- && cif->rtype->type == FFI_TYPE_STRUCT);
- int vfp_struct = (cif->flags == FFI_TYPE_STRUCT_VFP_FLOAT
- || cif->flags == FFI_TYPE_STRUCT_VFP_DOUBLE);
-
- ecif.cif = cif;
- ecif.avalue = avalue;
-
- unsigned int temp;
-
- /* If the return value is a struct and we don't have a return */
- /* value address then we need to make one */
-
- if ((rvalue == NULL) &&
- (cif->flags == FFI_TYPE_STRUCT))
- {
- ecif.rvalue = alloca(cif->rtype->size);
- }
- else if (small_struct)
- ecif.rvalue = &temp;
- else if (vfp_struct)
- {
- /* Largest case is double x 4. */
- ecif.rvalue = alloca(32);
- }
- else
- ecif.rvalue = rvalue;
-
- switch (cif->abi)
- {
- case FFI_SYSV:
- ffi_call_SYSV (fn, &ecif, cif->bytes, cif->flags, ecif.rvalue);
- break;
-
- case FFI_VFP:
- ffi_call_VFP (fn, &ecif, cif->bytes, cif->flags, ecif.rvalue);
- break;
-
- default:
- FFI_ASSERT(0);
- break;
- }
- if (small_struct)
- memcpy (rvalue, &temp, cif->rtype->size);
- else if (vfp_struct)
- memcpy (rvalue, ecif.rvalue, cif->rtype->size);
-}
-
-/** private members **/
-
-static void ffi_prep_incoming_args_SYSV (char *stack, void **ret,
- void** args, ffi_cif* cif, float *vfp_stack);
-
-void ffi_closure_SYSV (ffi_closure *);
-
-void ffi_closure_VFP (ffi_closure *);
-
-/* This function is jumped to by the trampoline */
-
-unsigned int
-ffi_closure_SYSV_inner (closure, respp, args, vfp_args)
- ffi_closure *closure;
- void **respp;
- void *args;
- void *vfp_args;
-{
- // our various things...
- ffi_cif *cif;
- void **arg_area;
-
- cif = closure->cif;
- arg_area = (void**) alloca (cif->nargs * sizeof (void*));
-
- /* this call will initialize ARG_AREA, such that each
- * element in that array points to the corresponding
- * value on the stack; and if the function returns
- * a structure, it will re-set RESP to point to the
- * structure return address. */
-
- ffi_prep_incoming_args_SYSV(args, respp, arg_area, cif, vfp_args);
-
- (closure->fun) (cif, *respp, arg_area, closure->user_data);
-
- return cif->flags;
-}
-
-/*@-exportheader@*/
-static void
-ffi_prep_incoming_args_SYSV(char *stack, void **rvalue,
- void **avalue, ffi_cif *cif,
- /* Used only under VFP hard-float ABI. */
- float *vfp_stack)
-/*@=exportheader@*/
-{
- register unsigned int i, vi = 0;
- register void **p_argv;
- register char *argp;
- register ffi_type **p_arg;
-
- argp = stack;
-
- if ( cif->flags == FFI_TYPE_STRUCT ) {
- *rvalue = *(void **) argp;
- argp += 4;
- }
-
- p_argv = avalue;
-
- for (i = cif->nargs, p_arg = cif->arg_types; (i != 0); i--, p_arg++)
- {
- size_t z;
- size_t alignment;
-
- if (cif->abi == FFI_VFP
- && vi < cif->vfp_nargs && vfp_type_p (*p_arg))
- {
- *p_argv++ = (void*)(vfp_stack + cif->vfp_args[vi++]);
- continue;
- }
-
- alignment = (*p_arg)->alignment;
- if (alignment < 4)
- alignment = 4;
- /* Align if necessary */
- if ((alignment - 1) & (unsigned) argp) {
- argp = (char *) ALIGN(argp, alignment);
- }
-
- z = (*p_arg)->size;
-
- /* because we're little endian, this is what it turns into. */
-
- *p_argv = (void*) argp;
-
- p_argv++;
- argp += z;
- }
-
- return;
-}
-
-/* How to make a trampoline. */
-
-extern unsigned int ffi_arm_trampoline[3];
-
-#define FFI_INIT_TRAMPOLINE(TRAMP,FUN,CTX) \
-({ unsigned char *__tramp = (unsigned char*)(TRAMP); \
- unsigned int __fun = (unsigned int)(FUN); \
- unsigned int __ctx = (unsigned int)(CTX); \
- unsigned char *insns = (unsigned char *)(CTX); \
- memcpy (__tramp, ffi_arm_trampoline, sizeof ffi_arm_trampoline); \
- *(unsigned int*) &__tramp[12] = __ctx; \
- *(unsigned int*) &__tramp[16] = __fun; \
- __clear_cache((&__tramp[0]), (&__tramp[19])); /* Clear data mapping. */ \
- __clear_cache(insns, insns + 3 * sizeof (unsigned int)); \
- /* Clear instruction \
- mapping. */ \
- })
-
-
-/* the cif must already be prep'ed */
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure* closure,
- ffi_cif* cif,
- void (*fun)(ffi_cif*,void*,void**,void*),
- void *user_data,
- void *codeloc)
-{
- void (*closure_func)(ffi_closure*) = NULL;
-
- if (cif->abi == FFI_SYSV)
- closure_func = &ffi_closure_SYSV;
- else if (cif->abi == FFI_VFP)
- closure_func = &ffi_closure_VFP;
- else
- FFI_ASSERT (0);
-
- FFI_INIT_TRAMPOLINE (&closure->tramp[0], \
- closure_func, \
- codeloc);
-
- closure->cif = cif;
- closure->user_data = user_data;
- closure->fun = fun;
-
- return FFI_OK;
-}
-
-/* Below are routines for VFP hard-float support. */
-
-static int rec_vfp_type_p (ffi_type *t, int *elt, int *elnum)
-{
- switch (t->type)
- {
- case FFI_TYPE_FLOAT:
- case FFI_TYPE_DOUBLE:
- *elt = (int) t->type;
- *elnum = 1;
- return 1;
-
- case FFI_TYPE_STRUCT_VFP_FLOAT:
- *elt = FFI_TYPE_FLOAT;
- *elnum = t->size / sizeof (float);
- return 1;
-
- case FFI_TYPE_STRUCT_VFP_DOUBLE:
- *elt = FFI_TYPE_DOUBLE;
- *elnum = t->size / sizeof (double);
- return 1;
-
- case FFI_TYPE_STRUCT:;
- {
- int base_elt = 0, total_elnum = 0;
- ffi_type **el = t->elements;
- while (*el)
- {
- int el_elt = 0, el_elnum = 0;
- if (! rec_vfp_type_p (*el, &el_elt, &el_elnum)
- || (base_elt && base_elt != el_elt)
- || total_elnum + el_elnum > 4)
- return 0;
- base_elt = el_elt;
- total_elnum += el_elnum;
- el++;
- }
- *elnum = total_elnum;
- *elt = base_elt;
- return 1;
- }
- default: ;
- }
- return 0;
-}
-
-static int vfp_type_p (ffi_type *t)
-{
- int elt, elnum;
- if (rec_vfp_type_p (t, &elt, &elnum))
- {
- if (t->type == FFI_TYPE_STRUCT)
- {
- if (elnum == 1)
- t->type = elt;
- else
- t->type = (elt == FFI_TYPE_FLOAT
- ? FFI_TYPE_STRUCT_VFP_FLOAT
- : FFI_TYPE_STRUCT_VFP_DOUBLE);
- }
- return (int) t->type;
- }
- return 0;
-}
-
-static void place_vfp_arg (ffi_cif *cif, ffi_type *t)
-{
- int reg = cif->vfp_reg_free;
- int nregs = t->size / sizeof (float);
- int align = ((t->type == FFI_TYPE_STRUCT_VFP_FLOAT
- || t->type == FFI_TYPE_FLOAT) ? 1 : 2);
- /* Align register number. */
- if ((reg & 1) && align == 2)
- reg++;
- while (reg + nregs <= 16)
- {
- int s, new_used = 0;
- for (s = reg; s < reg + nregs; s++)
- {
- new_used |= (1 << s);
- if (cif->vfp_used & (1 << s))
- {
- reg += align;
- goto next_reg;
- }
- }
- /* Found regs to allocate. */
- cif->vfp_used |= new_used;
- cif->vfp_args[cif->vfp_nargs++] = reg;
-
- /* Update vfp_reg_free. */
- if (cif->vfp_used & (1 << cif->vfp_reg_free))
- {
- reg += nregs;
- while (cif->vfp_used & (1 << reg))
- reg += 1;
- cif->vfp_reg_free = reg;
- }
- return;
- next_reg: ;
- }
-}
-
-static void layout_vfp_args (ffi_cif *cif)
-{
- int i;
- /* Init VFP fields */
- cif->vfp_used = 0;
- cif->vfp_nargs = 0;
- cif->vfp_reg_free = 0;
- memset (cif->vfp_args, -1, 16); /* Init to -1. */
-
- for (i = 0; i < cif->nargs; i++)
- {
- ffi_type *t = cif->arg_types[i];
- if (vfp_type_p (t))
- place_vfp_arg (cif, t);
- }
-}
diff --git a/.pc/ios/src/arm/sysv.S b/.pc/ios/src/arm/sysv.S
deleted file mode 100644
index be6493a..0000000
--- a/.pc/ios/src/arm/sysv.S
+++ /dev/null
@@ -1,471 +0,0 @@
-/* -----------------------------------------------------------------------
- sysv.S - Copyright (c) 1998, 2008 Red Hat, Inc.
-
- ARM Foreign Function Interface
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
- ----------------------------------------------------------------------- */
-
-#define LIBFFI_ASM
-#include <fficonfig.h>
-#include <ffi.h>
-#ifdef HAVE_MACHINE_ASM_H
-#include <machine/asm.h>
-#else
-#ifdef __USER_LABEL_PREFIX__
-#define CONCAT1(a, b) CONCAT2(a, b)
-#define CONCAT2(a, b) a ## b
-
-/* Use the right prefix for global labels. */
-#define CNAME(x) CONCAT1 (__USER_LABEL_PREFIX__, x)
-#else
-#define CNAME(x) x
-#endif
-#define ENTRY(x) .globl CNAME(x); .type CNAME(x),%function; CNAME(x):
-#endif
-
-#ifdef __ELF__
-#define LSYM(x) .x
-#else
-#define LSYM(x) x
-#endif
-
-/* We need a better way of testing for this, but for now, this is all
- we can do. */
-@ This selects the minimum architecture level required.
-#define __ARM_ARCH__ 3
-
-#if defined(__ARM_ARCH_4__) || defined(__ARM_ARCH_4T__)
-# undef __ARM_ARCH__
-# define __ARM_ARCH__ 4
-#endif
-
-#if defined(__ARM_ARCH_5__) || defined(__ARM_ARCH_5T__) \
- || defined(__ARM_ARCH_5E__) || defined(__ARM_ARCH_5TE__) \
- || defined(__ARM_ARCH_5TEJ__)
-# undef __ARM_ARCH__
-# define __ARM_ARCH__ 5
-#endif
-
-#if defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) \
- || defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6Z__) \
- || defined(__ARM_ARCH_6ZK__) || defined(__ARM_ARCH_6T2__) \
- || defined(__ARM_ARCH_6M__)
-# undef __ARM_ARCH__
-# define __ARM_ARCH__ 6
-#endif
-
-#if defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) \
- || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) \
- || defined(__ARM_ARCH_7EM__)
-# undef __ARM_ARCH__
-# define __ARM_ARCH__ 7
-#endif
-
-#if __ARM_ARCH__ >= 5
-# define call_reg(x) blx x
-#elif defined (__ARM_ARCH_4T__)
-# define call_reg(x) mov lr, pc ; bx x
-# if defined(__thumb__) || defined(__THUMB_INTERWORK__)
-# define __INTERWORKING__
-# endif
-#else
-# define call_reg(x) mov lr, pc ; mov pc, x
-#endif
-
-/* Conditionally compile unwinder directives. */
-#ifdef __ARM_EABI__
-#define UNWIND
-#else
-#define UNWIND @
-#endif
-
-
-#if defined(__thumb__) && !defined(__THUMB_INTERWORK__)
-.macro ARM_FUNC_START name
- .text
- .align 0
- .thumb
- .thumb_func
- ENTRY(\name)
- bx pc
- nop
- .arm
- UNWIND .fnstart
-/* A hook to tell gdb that we've switched to ARM mode. Also used to call
- directly from other local arm routines. */
-_L__\name:
-.endm
-#else
-.macro ARM_FUNC_START name
- .text
- .align 0
- .arm
- ENTRY(\name)
- UNWIND .fnstart
-.endm
-#endif
-
-.macro RETLDM regs=, cond=, dirn=ia
-#if defined (__INTERWORKING__)
- .ifc "\regs",""
- ldr\cond lr, [sp], #4
- .else
- ldm\cond\dirn sp!, {\regs, lr}
- .endif
- bx\cond lr
-#else
- .ifc "\regs",""
- ldr\cond pc, [sp], #4
- .else
- ldm\cond\dirn sp!, {\regs, pc}
- .endif
-#endif
-.endm
-
-
- @ r0: fn
- @ r1: &ecif
- @ r2: cif->bytes
- @ r3: fig->flags
- @ sp+0: ecif.rvalue
-
- @ This assumes we are using gas.
-ARM_FUNC_START ffi_call_SYSV
- @ Save registers
- stmfd sp!, {r0-r3, fp, lr}
- UNWIND .save {r0-r3, fp, lr}
- mov fp, sp
-
- UNWIND .setfp fp, sp
-
- @ Make room for all of the new args.
- sub sp, fp, r2
-
- @ Place all of the ffi_prep_args in position
- mov r0, sp
- @ r1 already set
-
- @ Call ffi_prep_args(stack, &ecif)
- bl ffi_prep_args
-
- @ move first 4 parameters in registers
- ldmia sp, {r0-r3}
-
- @ and adjust stack
- sub lr, fp, sp @ cif->bytes == fp - sp
- ldr ip, [fp] @ load fn() in advance
- cmp lr, #16
- movhs lr, #16
- add sp, sp, lr
-
- @ call (fn) (...)
- call_reg(ip)
-
- @ Remove the space we pushed for the args
- mov sp, fp
-
- @ Load r2 with the pointer to storage for the return value
- ldr r2, [sp, #24]
-
- @ Load r3 with the return type code
- ldr r3, [sp, #12]
-
- @ If the return value pointer is NULL, assume no return value.
- cmp r2, #0
- beq LSYM(Lepilogue)
-
-@ return INT
- cmp r3, #FFI_TYPE_INT
-#if defined(__SOFTFP__) || defined(__ARM_EABI__)
- cmpne r3, #FFI_TYPE_FLOAT
-#endif
- streq r0, [r2]
- beq LSYM(Lepilogue)
-
- @ return INT64
- cmp r3, #FFI_TYPE_SINT64
-#if defined(__SOFTFP__) || defined(__ARM_EABI__)
- cmpne r3, #FFI_TYPE_DOUBLE
-#endif
- stmeqia r2, {r0, r1}
-
-#if !defined(__SOFTFP__) && !defined(__ARM_EABI__)
- beq LSYM(Lepilogue)
-
-@ return FLOAT
- cmp r3, #FFI_TYPE_FLOAT
- stfeqs f0, [r2]
- beq LSYM(Lepilogue)
-
-@ return DOUBLE or LONGDOUBLE
- cmp r3, #FFI_TYPE_DOUBLE
- stfeqd f0, [r2]
-#endif
-
-LSYM(Lepilogue):
- RETLDM "r0-r3,fp"
-
-.ffi_call_SYSV_end:
- UNWIND .fnend
- .size CNAME(ffi_call_SYSV),.ffi_call_SYSV_end-CNAME(ffi_call_SYSV)
-
-
-/*
- unsigned int FFI_HIDDEN
- ffi_closure_SYSV_inner (closure, respp, args)
- ffi_closure *closure;
- void **respp;
- void *args;
-*/
-
-ARM_FUNC_START ffi_closure_SYSV
- UNWIND .pad #16
- add ip, sp, #16
- stmfd sp!, {ip, lr}
- UNWIND .save {r0, lr}
- add r2, sp, #8
- UNWIND .pad #16
- sub sp, sp, #16
- str sp, [sp, #8]
- add r1, sp, #8
- bl ffi_closure_SYSV_inner
- cmp r0, #FFI_TYPE_INT
- beq .Lretint
-
- cmp r0, #FFI_TYPE_FLOAT
-#if defined(__SOFTFP__) || defined(__ARM_EABI__)
- beq .Lretint
-#else
- beq .Lretfloat
-#endif
-
- cmp r0, #FFI_TYPE_DOUBLE
-#if defined(__SOFTFP__) || defined(__ARM_EABI__)
- beq .Lretlonglong
-#else
- beq .Lretdouble
-#endif
-
- cmp r0, #FFI_TYPE_LONGDOUBLE
-#if defined(__SOFTFP__) || defined(__ARM_EABI__)
- beq .Lretlonglong
-#else
- beq .Lretlongdouble
-#endif
-
- cmp r0, #FFI_TYPE_SINT64
- beq .Lretlonglong
-.Lclosure_epilogue:
- add sp, sp, #16
- ldmfd sp, {sp, pc}
-.Lretint:
- ldr r0, [sp]
- b .Lclosure_epilogue
-.Lretlonglong:
- ldr r0, [sp]
- ldr r1, [sp, #4]
- b .Lclosure_epilogue
-
-#if !defined(__SOFTFP__) && !defined(__ARM_EABI__)
-.Lretfloat:
- ldfs f0, [sp]
- b .Lclosure_epilogue
-.Lretdouble:
- ldfd f0, [sp]
- b .Lclosure_epilogue
-.Lretlongdouble:
- ldfd f0, [sp]
- b .Lclosure_epilogue
-#endif
-
-.ffi_closure_SYSV_end:
- UNWIND .fnend
- .size CNAME(ffi_closure_SYSV),.ffi_closure_SYSV_end-CNAME(ffi_closure_SYSV)
-
-
-/* Below are VFP hard-float ABI call and closure implementations.
- Add VFP FPU directive here. */
- .fpu vfp
-
- @ r0: fn
- @ r1: &ecif
- @ r2: cif->bytes
- @ r3: fig->flags
- @ sp+0: ecif.rvalue
-
-ARM_FUNC_START ffi_call_VFP
- @ Save registers
- stmfd sp!, {r0-r3, fp, lr}
- UNWIND .save {r0-r3, fp, lr}
- mov fp, sp
- UNWIND .setfp fp, sp
-
- @ Make room for all of the new args.
- sub sp, sp, r2
-
- @ Make room for loading VFP args
- sub sp, sp, #64
-
- @ Place all of the ffi_prep_args in position
- mov r0, sp
- @ r1 already set
- sub r2, fp, #64 @ VFP scratch space
-
- @ Call ffi_prep_args(stack, &ecif, vfp_space)
- bl ffi_prep_args
-
- @ Load VFP register args if needed
- cmp r0, #0
- beq LSYM(Lbase_args)
-
- @ Load only d0 if possible
- cmp r0, #3
- sub ip, fp, #64
- flddle d0, [ip]
- fldmiadgt ip, {d0-d7}
-
-LSYM(Lbase_args):
- @ move first 4 parameters in registers
- ldmia sp, {r0-r3}
-
- @ and adjust stack
- sub lr, ip, sp @ cif->bytes == (fp - 64) - sp
- ldr ip, [fp] @ load fn() in advance
- cmp lr, #16
- movhs lr, #16
- add sp, sp, lr
-
- @ call (fn) (...)
- call_reg(ip)
-
- @ Remove the space we pushed for the args
- mov sp, fp
-
- @ Load r2 with the pointer to storage for
- @ the return value
- ldr r2, [sp, #24]
-
- @ Load r3 with the return type code
- ldr r3, [sp, #12]
-
- @ If the return value pointer is NULL,
- @ assume no return value.
- cmp r2, #0
- beq LSYM(Lepilogue_vfp)
-
- cmp r3, #FFI_TYPE_INT
- streq r0, [r2]
- beq LSYM(Lepilogue_vfp)
-
- cmp r3, #FFI_TYPE_SINT64
- stmeqia r2, {r0, r1}
- beq LSYM(Lepilogue_vfp)
-
- cmp r3, #FFI_TYPE_FLOAT
- fstseq s0, [r2]
- beq LSYM(Lepilogue_vfp)
-
- cmp r3, #FFI_TYPE_DOUBLE
- fstdeq d0, [r2]
- beq LSYM(Lepilogue_vfp)
-
- cmp r3, #FFI_TYPE_STRUCT_VFP_FLOAT
- cmpne r3, #FFI_TYPE_STRUCT_VFP_DOUBLE
- fstmiadeq r2, {d0-d3}
-
-LSYM(Lepilogue_vfp):
- RETLDM "r0-r3,fp"
-
-.ffi_call_VFP_end:
- UNWIND .fnend
- .size CNAME(ffi_call_VFP),.ffi_call_VFP_end-CNAME(ffi_call_VFP)
-
-
-ARM_FUNC_START ffi_closure_VFP
- fstmfdd sp!, {d0-d7}
- @ r0-r3, then d0-d7
- UNWIND .pad #80
- add ip, sp, #80
- stmfd sp!, {ip, lr}
- UNWIND .save {r0, lr}
- add r2, sp, #72
- add r3, sp, #8
- UNWIND .pad #72
- sub sp, sp, #72
- str sp, [sp, #64]
- add r1, sp, #64
- bl ffi_closure_SYSV_inner
-
- cmp r0, #FFI_TYPE_INT
- beq .Lretint_vfp
-
- cmp r0, #FFI_TYPE_FLOAT
- beq .Lretfloat_vfp
-
- cmp r0, #FFI_TYPE_DOUBLE
- cmpne r0, #FFI_TYPE_LONGDOUBLE
- beq .Lretdouble_vfp
-
- cmp r0, #FFI_TYPE_SINT64
- beq .Lretlonglong_vfp
-
- cmp r0, #FFI_TYPE_STRUCT_VFP_FLOAT
- beq .Lretfloat_struct_vfp
-
- cmp r0, #FFI_TYPE_STRUCT_VFP_DOUBLE
- beq .Lretdouble_struct_vfp
-
-.Lclosure_epilogue_vfp:
- add sp, sp, #72
- ldmfd sp, {sp, pc}
-
-.Lretfloat_vfp:
- flds s0, [sp]
- b .Lclosure_epilogue_vfp
-.Lretdouble_vfp:
- fldd d0, [sp]
- b .Lclosure_epilogue_vfp
-.Lretint_vfp:
- ldr r0, [sp]
- b .Lclosure_epilogue_vfp
-.Lretlonglong_vfp:
- ldmia sp, {r0, r1}
- b .Lclosure_epilogue_vfp
-.Lretfloat_struct_vfp:
- fldmiad sp, {d0-d1}
- b .Lclosure_epilogue_vfp
-.Lretdouble_struct_vfp:
- fldmiad sp, {d0-d3}
- b .Lclosure_epilogue_vfp
-
-.ffi_closure_VFP_end:
- UNWIND .fnend
- .size CNAME(ffi_closure_VFP),.ffi_closure_VFP_end-CNAME(ffi_closure_VFP)
-
-ENTRY(ffi_arm_trampoline)
- stmfd sp!, {r0-r3}
- ldr r0, [pc]
- ldr pc, [pc]
-
-#if defined __ELF__ && defined __linux__
- .section .note.GNU-stack,"",%progbits
-#endif
diff --git a/.pc/ios/src/closures.c b/.pc/ios/src/closures.c
deleted file mode 100644
index ff2b1bd..0000000
--- a/.pc/ios/src/closures.c
+++ /dev/null
@@ -1,610 +0,0 @@
-/* -----------------------------------------------------------------------
- closures.c - Copyright (c) 2007 Red Hat, Inc.
- Copyright (C) 2007, 2009, 2010 Free Software Foundation, Inc
-
- Code to allocate and deallocate memory for closures.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
- ----------------------------------------------------------------------- */
-
-#if defined __linux__ && !defined _GNU_SOURCE
-#define _GNU_SOURCE 1
-#endif
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#ifndef FFI_MMAP_EXEC_WRIT
-# if __gnu_linux__
-/* This macro indicates it may be forbidden to map anonymous memory
- with both write and execute permission. Code compiled when this
- option is defined will attempt to map such pages once, but if it
- fails, it falls back to creating a temporary file in a writable and
- executable filesystem and mapping pages from it into separate
- locations in the virtual memory space, one location writable and
- another executable. */
-# define FFI_MMAP_EXEC_WRIT 1
-# define HAVE_MNTENT 1
-# endif
-# if defined(X86_WIN32) || defined(X86_WIN64) || defined(__OS2__)
-/* Windows systems may have Data Execution Protection (DEP) enabled,
- which requires the use of VirtualMalloc/VirtualFree to alloc/free
- executable memory. */
-# define FFI_MMAP_EXEC_WRIT 1
-# endif
-#endif
-
-#if FFI_MMAP_EXEC_WRIT && !defined FFI_MMAP_EXEC_SELINUX
-# ifdef __linux__
-/* When defined to 1 check for SELinux and if SELinux is active,
- don't attempt PROT_EXEC|PROT_WRITE mapping at all, as that
- might cause audit messages. */
-# define FFI_MMAP_EXEC_SELINUX 1
-# endif
-#endif
-
-#if FFI_CLOSURES
-
-# if FFI_MMAP_EXEC_WRIT
-
-#define USE_LOCKS 1
-#define USE_DL_PREFIX 1
-#ifdef __GNUC__
-#ifndef USE_BUILTIN_FFS
-#define USE_BUILTIN_FFS 1
-#endif
-#endif
-
-/* We need to use mmap, not sbrk. */
-#define HAVE_MORECORE 0
-
-/* We could, in theory, support mremap, but it wouldn't buy us anything. */
-#define HAVE_MREMAP 0
-
-/* We have no use for this, so save some code and data. */
-#define NO_MALLINFO 1
-
-/* We need all allocations to be in regular segments, otherwise we
- lose track of the corresponding code address. */
-#define DEFAULT_MMAP_THRESHOLD MAX_SIZE_T
-
-/* Don't allocate more than a page unless needed. */
-#define DEFAULT_GRANULARITY ((size_t)malloc_getpagesize)
-
-#if FFI_CLOSURE_TEST
-/* Don't release single pages, to avoid a worst-case scenario of
- continuously allocating and releasing single pages, but release
- pairs of pages, which should do just as well given that allocations
- are likely to be small. */
-#define DEFAULT_TRIM_THRESHOLD ((size_t)malloc_getpagesize)
-#endif
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <errno.h>
-#ifndef _MSC_VER
-#include <unistd.h>
-#endif
-#include <string.h>
-#include <stdio.h>
-#if !defined(X86_WIN32) && !defined(X86_WIN64)
-#ifdef HAVE_MNTENT
-#include <mntent.h>
-#endif /* HAVE_MNTENT */
-#include <sys/param.h>
-#include <pthread.h>
-
-/* We don't want sys/mman.h to be included after we redefine mmap and
- dlmunmap. */
-#include <sys/mman.h>
-#define LACKS_SYS_MMAN_H 1
-
-#if FFI_MMAP_EXEC_SELINUX
-#include <sys/statfs.h>
-#include <stdlib.h>
-
-static int selinux_enabled = -1;
-
-static int
-selinux_enabled_check (void)
-{
- struct statfs sfs;
- FILE *f;
- char *buf = NULL;
- size_t len = 0;
-
- if (statfs ("/selinux", &sfs) >= 0
- && (unsigned int) sfs.f_type == 0xf97cff8cU)
- return 1;
- f = fopen ("/proc/mounts", "r");
- if (f == NULL)
- return 0;
- while (getline (&buf, &len, f) >= 0)
- {
- char *p = strchr (buf, ' ');
- if (p == NULL)
- break;
- p = strchr (p + 1, ' ');
- if (p == NULL)
- break;
- if (strncmp (p + 1, "selinuxfs ", 10) == 0)
- {
- free (buf);
- fclose (f);
- return 1;
- }
- }
- free (buf);
- fclose (f);
- return 0;
-}
-
-#define is_selinux_enabled() (selinux_enabled >= 0 ? selinux_enabled \
- : (selinux_enabled = selinux_enabled_check ()))
-
-#else
-
-#define is_selinux_enabled() 0
-
-#endif /* !FFI_MMAP_EXEC_SELINUX */
-
-#elif defined (__CYGWIN__)
-
-#include <sys/mman.h>
-
-/* Cygwin is Linux-like, but not quite that Linux-like. */
-#define is_selinux_enabled() 0
-
-#endif /* !defined(X86_WIN32) && !defined(X86_WIN64) */
-
-/* Declare all functions defined in dlmalloc.c as static. */
-static void *dlmalloc(size_t);
-static void dlfree(void*);
-static void *dlcalloc(size_t, size_t) MAYBE_UNUSED;
-static void *dlrealloc(void *, size_t) MAYBE_UNUSED;
-static void *dlmemalign(size_t, size_t) MAYBE_UNUSED;
-static void *dlvalloc(size_t) MAYBE_UNUSED;
-static int dlmallopt(int, int) MAYBE_UNUSED;
-static size_t dlmalloc_footprint(void) MAYBE_UNUSED;
-static size_t dlmalloc_max_footprint(void) MAYBE_UNUSED;
-static void** dlindependent_calloc(size_t, size_t, void**) MAYBE_UNUSED;
-static void** dlindependent_comalloc(size_t, size_t*, void**) MAYBE_UNUSED;
-static void *dlpvalloc(size_t) MAYBE_UNUSED;
-static int dlmalloc_trim(size_t) MAYBE_UNUSED;
-static size_t dlmalloc_usable_size(void*) MAYBE_UNUSED;
-static void dlmalloc_stats(void) MAYBE_UNUSED;
-
-#if !(defined(X86_WIN32) || defined(X86_WIN64) || defined(__OS2__)) || defined (__CYGWIN__)
-/* Use these for mmap and munmap within dlmalloc.c. */
-static void *dlmmap(void *, size_t, int, int, int, off_t);
-static int dlmunmap(void *, size_t);
-#endif /* !(defined(X86_WIN32) || defined(X86_WIN64) || defined(__OS2__)) || defined (__CYGWIN__) */
-
-#define mmap dlmmap
-#define munmap dlmunmap
-
-#include "dlmalloc.c"
-
-#undef mmap
-#undef munmap
-
-#if !(defined(X86_WIN32) || defined(X86_WIN64) || defined(__OS2__)) || defined (__CYGWIN__)
-
-/* A mutex used to synchronize access to *exec* variables in this file. */
-static pthread_mutex_t open_temp_exec_file_mutex = PTHREAD_MUTEX_INITIALIZER;
-
-/* A file descriptor of a temporary file from which we'll map
- executable pages. */
-static int execfd = -1;
-
-/* The amount of space already allocated from the temporary file. */
-static size_t execsize = 0;
-
-/* Open a temporary file name, and immediately unlink it. */
-static int
-open_temp_exec_file_name (char *name)
-{
- int fd = mkstemp (name);
-
- if (fd != -1)
- unlink (name);
-
- return fd;
-}
-
-/* Open a temporary file in the named directory. */
-static int
-open_temp_exec_file_dir (const char *dir)
-{
- static const char suffix[] = "/ffiXXXXXX";
- int lendir = strlen (dir);
- char *tempname = __builtin_alloca (lendir + sizeof (suffix));
-
- if (!tempname)
- return -1;
-
- memcpy (tempname, dir, lendir);
- memcpy (tempname + lendir, suffix, sizeof (suffix));
-
- return open_temp_exec_file_name (tempname);
-}
-
-/* Open a temporary file in the directory in the named environment
- variable. */
-static int
-open_temp_exec_file_env (const char *envvar)
-{
- const char *value = getenv (envvar);
-
- if (!value)
- return -1;
-
- return open_temp_exec_file_dir (value);
-}
-
-#ifdef HAVE_MNTENT
-/* Open a temporary file in an executable and writable mount point
- listed in the mounts file. Subsequent calls with the same mounts
- keep searching for mount points in the same file. Providing NULL
- as the mounts file closes the file. */
-static int
-open_temp_exec_file_mnt (const char *mounts)
-{
- static const char *last_mounts;
- static FILE *last_mntent;
-
- if (mounts != last_mounts)
- {
- if (last_mntent)
- endmntent (last_mntent);
-
- last_mounts = mounts;
-
- if (mounts)
- last_mntent = setmntent (mounts, "r");
- else
- last_mntent = NULL;
- }
-
- if (!last_mntent)
- return -1;
-
- for (;;)
- {
- int fd;
- struct mntent mnt;
- char buf[MAXPATHLEN * 3];
-
- if (getmntent_r (last_mntent, &mnt, buf, sizeof (buf)) == NULL)
- return -1;
-
- if (hasmntopt (&mnt, "ro")
- || hasmntopt (&mnt, "noexec")
- || access (mnt.mnt_dir, W_OK))
- continue;
-
- fd = open_temp_exec_file_dir (mnt.mnt_dir);
-
- if (fd != -1)
- return fd;
- }
-}
-#endif /* HAVE_MNTENT */
-
-/* Instructions to look for a location to hold a temporary file that
- can be mapped in for execution. */
-static struct
-{
- int (*func)(const char *);
- const char *arg;
- int repeat;
-} open_temp_exec_file_opts[] = {
- { open_temp_exec_file_env, "TMPDIR", 0 },
- { open_temp_exec_file_dir, "/tmp", 0 },
- { open_temp_exec_file_dir, "/var/tmp", 0 },
- { open_temp_exec_file_dir, "/dev/shm", 0 },
- { open_temp_exec_file_env, "HOME", 0 },
-#ifdef HAVE_MNTENT
- { open_temp_exec_file_mnt, "/etc/mtab", 1 },
- { open_temp_exec_file_mnt, "/proc/mounts", 1 },
-#endif /* HAVE_MNTENT */
-};
-
-/* Current index into open_temp_exec_file_opts. */
-static int open_temp_exec_file_opts_idx = 0;
-
-/* Reset a current multi-call func, then advances to the next entry.
- If we're at the last, go back to the first and return nonzero,
- otherwise return zero. */
-static int
-open_temp_exec_file_opts_next (void)
-{
- if (open_temp_exec_file_opts[open_temp_exec_file_opts_idx].repeat)
- open_temp_exec_file_opts[open_temp_exec_file_opts_idx].func (NULL);
-
- open_temp_exec_file_opts_idx++;
- if (open_temp_exec_file_opts_idx
- == (sizeof (open_temp_exec_file_opts)
- / sizeof (*open_temp_exec_file_opts)))
- {
- open_temp_exec_file_opts_idx = 0;
- return 1;
- }
-
- return 0;
-}
-
-/* Return a file descriptor of a temporary zero-sized file in a
- writable and exexutable filesystem. */
-static int
-open_temp_exec_file (void)
-{
- int fd;
-
- do
- {
- fd = open_temp_exec_file_opts[open_temp_exec_file_opts_idx].func
- (open_temp_exec_file_opts[open_temp_exec_file_opts_idx].arg);
-
- if (!open_temp_exec_file_opts[open_temp_exec_file_opts_idx].repeat
- || fd == -1)
- {
- if (open_temp_exec_file_opts_next ())
- break;
- }
- }
- while (fd == -1);
-
- return fd;
-}
-
-/* Map in a chunk of memory from the temporary exec file into separate
- locations in the virtual memory address space, one writable and one
- executable. Returns the address of the writable portion, after
- storing an offset to the corresponding executable portion at the
- last word of the requested chunk. */
-static void *
-dlmmap_locked (void *start, size_t length, int prot, int flags, off_t offset)
-{
- void *ptr;
-
- if (execfd == -1)
- {
- open_temp_exec_file_opts_idx = 0;
- retry_open:
- execfd = open_temp_exec_file ();
- if (execfd == -1)
- return MFAIL;
- }
-
- offset = execsize;
-
- if (ftruncate (execfd, offset + length))
- return MFAIL;
-
- flags &= ~(MAP_PRIVATE | MAP_ANONYMOUS);
- flags |= MAP_SHARED;
-
- ptr = mmap (NULL, length, (prot & ~PROT_WRITE) | PROT_EXEC,
- flags, execfd, offset);
- if (ptr == MFAIL)
- {
- if (!offset)
- {
- close (execfd);
- goto retry_open;
- }
- ftruncate (execfd, offset);
- return MFAIL;
- }
- else if (!offset
- && open_temp_exec_file_opts[open_temp_exec_file_opts_idx].repeat)
- open_temp_exec_file_opts_next ();
-
- start = mmap (start, length, prot, flags, execfd, offset);
-
- if (start == MFAIL)
- {
- munmap (ptr, length);
- ftruncate (execfd, offset);
- return start;
- }
-
- mmap_exec_offset ((char *)start, length) = (char*)ptr - (char*)start;
-
- execsize += length;
-
- return start;
-}
-
-/* Map in a writable and executable chunk of memory if possible.
- Failing that, fall back to dlmmap_locked. */
-static void *
-dlmmap (void *start, size_t length, int prot,
- int flags, int fd, off_t offset)
-{
- void *ptr;
-
- assert (start == NULL && length % malloc_getpagesize == 0
- && prot == (PROT_READ | PROT_WRITE)
- && flags == (MAP_PRIVATE | MAP_ANONYMOUS)
- && fd == -1 && offset == 0);
-
-#if FFI_CLOSURE_TEST
- printf ("mapping in %zi\n", length);
-#endif
-
- if (execfd == -1 && !is_selinux_enabled ())
- {
- ptr = mmap (start, length, prot | PROT_EXEC, flags, fd, offset);
-
- if (ptr != MFAIL || (errno != EPERM && errno != EACCES))
- /* Cool, no need to mess with separate segments. */
- return ptr;
-
- /* If MREMAP_DUP is ever introduced and implemented, try mmap
- with ((prot & ~PROT_WRITE) | PROT_EXEC) and mremap with
- MREMAP_DUP and prot at this point. */
- }
-
- if (execsize == 0 || execfd == -1)
- {
- pthread_mutex_lock (&open_temp_exec_file_mutex);
- ptr = dlmmap_locked (start, length, prot, flags, offset);
- pthread_mutex_unlock (&open_temp_exec_file_mutex);
-
- return ptr;
- }
-
- return dlmmap_locked (start, length, prot, flags, offset);
-}
-
-/* Release memory at the given address, as well as the corresponding
- executable page if it's separate. */
-static int
-dlmunmap (void *start, size_t length)
-{
- /* We don't bother decreasing execsize or truncating the file, since
- we can't quite tell whether we're unmapping the end of the file.
- We don't expect frequent deallocation anyway. If we did, we
- could locate pages in the file by writing to the pages being
- deallocated and checking that the file contents change.
- Yuck. */
- msegmentptr seg = segment_holding (gm, start);
- void *code;
-
-#if FFI_CLOSURE_TEST
- printf ("unmapping %zi\n", length);
-#endif
-
- if (seg && (code = add_segment_exec_offset (start, seg)) != start)
- {
- int ret = munmap (code, length);
- if (ret)
- return ret;
- }
-
- return munmap (start, length);
-}
-
-#if FFI_CLOSURE_FREE_CODE
-/* Return segment holding given code address. */
-static msegmentptr
-segment_holding_code (mstate m, char* addr)
-{
- msegmentptr sp = &m->seg;
- for (;;) {
- if (addr >= add_segment_exec_offset (sp->base, sp)
- && addr < add_segment_exec_offset (sp->base, sp) + sp->size)
- return sp;
- if ((sp = sp->next) == 0)
- return 0;
- }
-}
-#endif
-
-#endif /* !(defined(X86_WIN32) || defined(X86_WIN64) || defined(__OS2__)) || defined (__CYGWIN__) */
-
-/* Allocate a chunk of memory with the given size. Returns a pointer
- to the writable address, and sets *CODE to the executable
- corresponding virtual address. */
-void *
-ffi_closure_alloc (size_t size, void **code)
-{
- void *ptr;
-
- if (!code)
- return NULL;
-
- ptr = dlmalloc (size);
-
- if (ptr)
- {
- msegmentptr seg = segment_holding (gm, ptr);
-
- *code = add_segment_exec_offset (ptr, seg);
- }
-
- return ptr;
-}
-
-/* Release a chunk of memory allocated with ffi_closure_alloc. If
- FFI_CLOSURE_FREE_CODE is nonzero, the given address can be the
- writable or the executable address given. Otherwise, only the
- writable address can be provided here. */
-void
-ffi_closure_free (void *ptr)
-{
-#if FFI_CLOSURE_FREE_CODE
- msegmentptr seg = segment_holding_code (gm, ptr);
-
- if (seg)
- ptr = sub_segment_exec_offset (ptr, seg);
-#endif
-
- dlfree (ptr);
-}
-
-
-#if FFI_CLOSURE_TEST
-/* Do some internal sanity testing to make sure allocation and
- deallocation of pages are working as intended. */
-int main ()
-{
- void *p[3];
-#define GET(idx, len) do { p[idx] = dlmalloc (len); printf ("allocated %zi for p[%i]\n", (len), (idx)); } while (0)
-#define PUT(idx) do { printf ("freeing p[%i]\n", (idx)); dlfree (p[idx]); } while (0)
- GET (0, malloc_getpagesize / 2);
- GET (1, 2 * malloc_getpagesize - 64 * sizeof (void*));
- PUT (1);
- GET (1, 2 * malloc_getpagesize);
- GET (2, malloc_getpagesize / 2);
- PUT (1);
- PUT (0);
- PUT (2);
- return 0;
-}
-#endif /* FFI_CLOSURE_TEST */
-# else /* ! FFI_MMAP_EXEC_WRIT */
-
-/* On many systems, memory returned by malloc is writable and
- executable, so just use it. */
-
-#include <stdlib.h>
-
-void *
-ffi_closure_alloc (size_t size, void **code)
-{
- if (!code)
- return NULL;
-
- return *code = malloc (size);
-}
-
-void
-ffi_closure_free (void *ptr)
-{
- free (ptr);
-}
-
-# endif /* ! FFI_MMAP_EXEC_WRIT */
-#endif /* FFI_CLOSURES */
diff --git a/.pc/irix/.timestamp b/.pc/irix/.timestamp
deleted file mode 100644
index e69de29..0000000
--- a/.pc/irix/.timestamp
+++ /dev/null
diff --git a/.pc/irix/ChangeLog b/.pc/irix/ChangeLog
deleted file mode 100644
index 5d13a51..0000000
--- a/.pc/irix/ChangeLog
+++ /dev/null
@@ -1,4628 +0,0 @@
-2012-02-10 Kai Tietz <ktietz@redhat.com>
-
- * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
- windows target.
- * configure: Regenerated.
-
-2012-02-08 Kai Tietz <ktietz@redhat.com>
-
- * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
- also FFI_THISCALL.
- * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
- (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
- (ffi_prep_closure_loc): Add FFI_THISCALL support.
- * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
- * src/x86/win32.S (ffi_closure_THISCALL): New closure code
- for thiscall-calling convention.
- * testsuite/libffi.call/closure_thiscall.c: New test.
-
-2012-01-28 Kai Tietz <ktietz@redhat.com>
-
- * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
- argument to prototype for specify calling-convention.
- (ffi_call): Add support for stdcall/thiscall convention.
- (ffi_prep_args): Likewise.
- (ffi_raw_call): Likewise.
- * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
- FFI_FASTCALL.
- * src/x86/win32.S (_ffi_call_win32): Add support for
- fastcall/thiscall calling-convention calls.
- * testsuite/libffi.call/fastthis1_win32.c: New test.
- * testsuite/libffi.call/fastthis2_win32.c: New test.
- * testsuite/libffi.call/fastthis3_win32.c: New test.
- * testsuite/libffi.call/strlen2_win32.c: New test.
- * testsuite/libffi.call/many2_win32.c: New test.
- * testsuite/libffi.call/struct1_win32.c: New test.
- * testsuite/libffi.call/struct2_win32.c: New test.
-
-2012-01-23 Andreas Schwab <schwab@linux-m68k.org>
-
- * src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
- mc68000. Test for __HAVE_68881__ in addition to __MC68881__.
-
-2012-01-19 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/48496
- * src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
-
-2012-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (i?86-*-*): Set TARGET to X86_64.
- * configure: Regenerate.
-
-2011-12-07 Andrew Pinski <apinski@cavium.com>
-
- PR libffi/50051
- * src/mips/n32.S: Add ".set mips4".
-
-2011-11-21 Andreas Tobler <andreast@fgznet.ch>
-
- * configure: Regenerate.
-
-2011-11-10 Richard Henderson <rth@redhat.com>
-
- * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
- * configure, aclocal.m4: Rebuild.
-
-2011-09-04 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/49594
- * src/powerpc/darwin_closure.S (stubs): Make the stub binding
- helper reference track the architecture pointer size.
-
-2011-08-25 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
- instructions.
- * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
-
-2011-07-11 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46660
- * testsuite/libffi.call/cls_double_va.c: xfail dg-output on
- mips-sgi-irix6*.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
- PRId8 instead of %hhu, %hhd.
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
- PRIu8): Define.
- [__sgi__] (PRId8, PRIu8): Define.
-
-2011-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
- Define.
- Use them to handle ELF vs. ECOFF differences.
- [__osf__] (_GLOBAL__F_ffi_call_osf): Define.
-
-2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * configure.ac: Add powerpc64-*-darwin* support.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * README: Mention Interix.
-
-2011-02-09 Jonathan Callen <abcd@gentoo.org>
-
- * configure.ac: Add Interix to win32/cygwin/mingw case.
- * configure: Ditto.
- * src/closures.c: Treat Interix like Cygwin, instead of as a
- generic win32.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * testsuite/libffi.call/err_bad_typedef.c: Remove xfail.
- * testsuite/libffi.call/err_bad_abi.c: Remove xfail.
- * src/x86/ffi64.c (UNLIKELY, LIKELY): Define.
- (ffi_prep_closure_loc): Check for bad ABI.
- * src/prep_cif.c (UNLIKELY, LIKELY): Define.
- (initialize_aggregate): Check for bad types.
-
-2011-02-09 Landon Fuller <landonf@macports.org>
-
- * Makefile.am (EXTRA_DIST): Add build-ios.sh, src/arm/gentramp.sh,
- src/arm/trampoline.S.
- (nodist_libffi_la_SOURCES): Add src/arc/trampoline.S.
- * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Define.
- * src/arm/ffi.c (ffi_trampoline_table)
- (ffi_closure_trampoline_table_page, ffi_trampoline_table_entry)
- (FFI_TRAMPOLINE_CODELOC_CONFIG, FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET)
- (FFI_TRAMPOLINE_COUNT, ffi_trampoline_lock, ffi_trampoline_tables)
- (ffi_trampoline_table_alloc, ffi_closure_alloc, ffi_closure_free):
- Define for FFI_EXEC_TRAMPOLINE_TABLE case (iOS).
- (ffi_prep_closure_loc): Handl FFI_EXEC_TRAMPOLINE_TABLE case
- separately.
- * src/arm/sysv.S: Handle Apple iOS host.
- * src/closures.c: Handle FFI_EXEC_TRAMPOLINE_TABLE case.
- * build-ios.sh: New file.
- * fficonfig.h.in, configure, Makefile.in: Rebuilt.
- * README: Mention ARM iOS.
-
-2011-02-08 Oren Held <orenhe@il.ibm.com>
-
- * src/dlmalloc.c (_STRUCT_MALLINFO): Define in order to avoid
- redefinition of mallinfo on HP-UX.
-
-2011-02-08 Ginn Chen <ginn.chen@oracle.com>
-
- * src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
- aggregate return ABI. Flush cache.
- (ffi_prep_closure_loc): Flush cache.
-
-2011-02-11 Anthony Green <green@moxielogic.com>
-
- From Tom Honermann <tom.honermann@oracle.com>:
- * src/powerpc/aix.S (ffi_call_AIX): Support for xlc toolchain on
- AIX. Declare .ffi_prep_args. Insert nops after branch
- instructions so that the AIX linker can insert TOC reload
- instructions.
- * src/powerpc/aix_closure.S: Declare .ffi_closure_helper_DARWIN.
-
-2011-02-08 Ed <ed@kdtc.net>
-
- * src/powerpc/asm.h: Fix grammar nit in comment.
-
-2011-02-08 Uli Link <ul.mcamafia@linkitup.de>
-
- * include/ffi.h.in (FFI_64_BIT_MAX): Define and use.
-
-2011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46661
- * testsuite/libffi.call/cls_pointer.c (main): Cast void * to
- uintptr_t first.
- * testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
-
-2011-02-08 Rafael Avila de Espindola <respindola@mozilla.com>
-
- * configure.ac: Fix x86 test for pc related relocs.
- * configure: Rebuilt.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
- Handle case when CPU variant does not have long double support.
- * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
- and cores with soft floating point.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * configure.ac: Add mips*-*-rtems* support.
- * configure: Regenerate.
- * src/mips/ffitarget.h: Ensure needed constants are available
- for targets which do not have sgidefs.h.
-
-2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR target/40125
- * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
- * configure: Regenerate.
-
-2010-12-18 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/29152
- PR libffi/42378
- * src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
- (FFI_TRAMPOLINE_SIZE): Update for Darwin64.
- * src/powerpc/darwin.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
- backslashes.
- (libffi_cv_as_string_pseudo_op): Likewise.
- * configure: Regenerate.
-
-2010-12-03 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
- (ffi_closure_VFP): Same.
- (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
- directive.
-
-2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
- (PRIuPTR): Define.
-
-2010-11-29 Richard Henderson <rth@redhat.com>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
- (.eh_frame): Use FDE_ENCODING.
- (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
-
-2010-11-22 Jacek Caban <jacek@codeweavers.com>
-
- * configure.ac: Check for symbol underscores on mingw-w64.
- * configure: Rebuilt.
- * src/x86/win64.S: Correctly access extern symbols in respect to
- underscores.
-
-2010-11-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp: Rename ...
- * testsuite/lib/libffi.exp: ... to this.
- * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
- * libffi/testsuite/libffi.special/special.exp: Likewise.
-
-2010-10-28 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
- code, new parameter, and return value. Update comments.
- (ffi_prep_cif_machdep): Add case for VFP struct return values. Add
- call to layout_vfp_args().
- (ffi_call_SYSV): Update declaration.
- (ffi_call_VFP): New declaration.
- (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
- when ABI is FFI_VFP.
- (ffi_closure_VFP): New declaration.
- (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
- ffi_prep_incoming_args_SYSV().
- (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
- case handling.
- (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
- construction under VFP hard-float.
- (rec_vfp_type_p): New function.
- (vfp_type_p): Same.
- (place_vfp_arg): Same.
- (layout_vfp_args): Same.
- * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
- based on __ARM_PCS_VFP.
- (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
- fields.
- (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
- (FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
- * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
- direct call. Move function pointer load upwards.
- (ffi_call_VFP): New function.
- (ffi_closure_VFP): Same.
-
- * testsuite/lib/libffi-dg.exp (check-flags): New function.
- (dg-skip-if): New function.
- * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
- and compiler options include -mfloat-abi=hard.
- * testsuite/libffi.call/cls_longdouble_va.c: Same.
-
-2010-10-01 Jakub Jelinek <jakub@redhat.com>
-
- PR libffi/45677
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
- a multiple of 8.
- * testsuite/libffi.call/many2.c: New test.
-
-2010-08-20 Mark Wielaard <mjw@redhat.com>
-
- * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
- returns NULL.
-
-2010-08-09 Andreas Tobler <andreast@fgznet.ch>
-
- * configure.ac: Add target powerpc64-*-freebsd*.
- * configure: Regenerate.
- * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
- -mlong-double-128 only to linux targets.
- * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
- * testsuite/libffi.call/cls_longdouble.c: Likewise.
- * testsuite/libffi.call/huge_struct.c: Likewise.
-
-2010-08-05 Dan Witte <dwitte@mozilla.com>
-
- * Makefile.am: Pass FFI_DEBUG define to msvcc.sh for linking to the
- debug CRT when --enable-debug is given.
- * configure.ac: Define it.
- * msvcc.sh: Translate -g and -DFFI_DEBUG appropriately.
-
-2010-08-04 Dan Witte <dwitte@mozilla.com>
-
- * src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64
- platforms.
- * src/x86/ffi.c: Remove redundant ifdef checks.
- * src/prep_cif.c: Push stack space computation into src/x86/ffi.c
- for X86_ANY so return value space doesn't get added twice.
-
-2010-08-03 Neil Rashbrooke <neil@parkwaycc.co.uk>
-
- * msvcc.sh: Don't pass -safeseh to ml64 because behavior is buggy.
-
-2010-07-22 Dan Witte <dwitte@mozilla.com>
-
- * src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
- * src/prep_cif.c: Fix ABI assertion.
- * src/cris/ffi.c: Ditto.
-
-2010-07-10 Evan Phoenix <evan@fallingsnow.net>
-
- * src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
-
-2010-07-07 Dan Horák <dan@danny.cz>
-
- * include/ffi.h.in: Protect #define with #ifndef.
- * src/powerpc/ffitarget.h: Ditto.
- * src/s390/ffitarget.h: Ditto.
- * src/sparc/ffitarget.h: Ditto.
-
-2010-07-07 Neil Roberts <neil@linux.intel.com>
-
- * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
- 16-bytes.
-
-2010-07-02 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
- * Makefile.in: Regenerated.
-
-2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
- output, too.
- (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
- (libffi_cv_as_string_pseudo_op): Check for .string.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
-
-2010-05-11 Dan Witte <dwitte@mozilla.com>
-
- * doc/libffi.tex: Document previous change.
-
-2010-05-11 Makoto Kato <m_kato@ga2.so-net.ne.jp>
-
- * src/x86/ffi.c (ffi_call): Don't copy structs passed by value.
-
-2010-05-05 Michael Kohler <michaelkohler@live.com>
-
- * src/dlmalloc.c (dlfree): Fix spelling.
- * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
- * configure.ac: Ditto.
- * configure: Rebuilt.
-
-2010-04-13 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Build with -W3 instead of -Wall.
- * src/powerpc/ffi_darwin.c: Remove build warnings.
- * src/x86/ffi.c: Ditto.
- * src/x86/ffitarget.h: Ditto.
-
-2010-04-12 Dan Witte <dwitte@mozilla.com>
- Walter Meinl <wuno@lsvw.de>
-
- * configure.ac: Add OS/2 support.
- * configure: Rebuilt.
- * src/closures.c: Ditto.
- * src/dlmalloc.c: Ditto.
- * src/x86/win32.S: Ditto.
-
-2010-04-07 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
-
-2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2010-03-30 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Disable build warnings.
- * README (tested): Clarify windows build procedure.
-
-2010-03-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * libffi/src/x86/unix64.S (.eh_frame)
- [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
-
-2010-03-14 Matthias Klose <doko@ubuntu.com>
-
- * src/x86/ffi64.c: Fix typo in comment.
- * src/x86/ffi.c: Use /* ... */ comment style.
-
-2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/libffi.texi (The Closure API): Fix typo.
- * doc/libffi.info: Remove.
-
-2010-02-15 Matthias Klose <doko@ubuntu.com>
-
- * src/arm/sysv.S (__ARM_ARCH__): Define for processor
- __ARM_ARCH_7EM__.
-
-2010-01-15 Anthony Green <green@redhat.com>
-
- * README: Add notes on building with Microsoft Visual C++.
-
-2010-01-15 Daniel Witte <dwitte@mozilla.com>
-
- * msvcc.sh: New file.
-
- * src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
- * src/x86/ffi.c: Tweak function declaration and remove excess
- parens.
- * include/ffi.h.in: Add __declspec(align(8)) to typedef struct
- ffi_closure.
-
- * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
- function ffi_call_win32 on X86_WIN32.
- * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
- (ffi_call_STDCALL): Remove.
-
- * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
- to ffi_prep_cif_machdep for x86.
- * src/x86/ffi.c (ffi_prep_cif_machdep): To here.
-
-2010-01-15 Oliver Kiddle <okiddle@yahoo.co.uk>
-
- * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
- Sun Studio compiler compatibility.
-
-2010-01-12 Conrad Irwin <conrad.irwin@gmail.com>
-
- * doc/libffi.texi: Add closure example.
-
-2010-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40701
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
- PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
- * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
- alpha*-dec-osf*.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/return_ll1.c: Likewise.
- * testsuite/libffi.call/stret_medium2.c: Likewise.
- * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
- MAP_FAILED to char *.
-
-2010-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
-
-2009-12-31 Anthony Green <green@redhat.com>
-
- * README: Update for libffi 3.0.9.
-
-2009-12-27 Matthias Klose <doko@ubuntu.com>
-
- * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
- appropriate.
- * configure: Rebuilt.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
- avr32*-*-*.
- * testsuite/libffi.call/cls_double_va.c: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
- and inttypes.h.
- * testsuite/libffi.special/unwindtest.cc: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-openbsd*.
- * configure: Rebuilt.
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
- openbsd programs with -lpthread.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
- mips*-*-* and arm*-*-*.
- * testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c,
- testsuite/libffi.call/stret_medium2.c,
- testsuite/libffi.call/stret_medium.c,
- testsuite/libffi.call/stret_large.c,
- testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
-
-2009-12-31 Kay Tietz <ktietz70@googlemail.com>
-
- * testsuite/libffi.call/ffitest.h,
- testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
- definitions.
-
-2009-12-31 Carlo Bramini <carlo.bramix@libero.it>
-
- * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
- * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
-
-2009-12-31 Anthony Green <green@redhat.com>
- Blake Chaffin.
-
- * testsuite/libffi.call/huge_struct.c: New test case from Blake
- Chaffin @ Apple.
-
-2009-12-28 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
- local variables.
- (aix_adjust_aggregate_sizes): New function.
- (ffi_prep_cif_machdep): Call it.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
- * configure: Regenerate.
- * fficonfig.h.in: Likewise.
- * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
- Solaris/x86.
-
-2009-12-26 Andreas Schwab <schwab@linux-m68k.org>
-
- * 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.
-
-2009-12-25 Matthias Klose <doko@ubuntu.com>
-
- * man/ffi_call.3: Fix #include in examples.
- * doc/libffi.texi: Add dircategory.
-
-2009-12-25 Frank Everdij <f.p.x.everdij@tudelft.nl>
-
- * include/ffi.h.in: Placed '__GNUC__' ifdef around
- '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
- IRIX MIPSPro c99.
- * include/ffi_common.h: Added '__sgi' define to non
- '__attribute__((__mode__()))' integer typedefs.
- * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
- ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
- (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
- FFI_LONGDOUBLE support and alignment(N32 only).
- * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
- fixed non '__attribute__((__mode__()))' integer typedefs.
- * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
- since they are Linux/GNU Assembler specific.
-
-2009-12-25 Bradley Smith <brad@brad-smith.co.uk>
-
- * configure.ac, Makefile.am, src/avr32/ffi.c,
- src/avr32/ffitarget.h,
- src/avr32/sysv.S: Add AVR32 port.
- * configure, Makefile.in: Rebuilt.
-
-2009-12-21 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
- * configure: Regenerate.
-
-2009-12-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
- type on HP-UX.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
- double' arguments.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40700
- * src/closures.c [X86_64 && __sun__ && __svr4__]
- (FFI_MMAP_EXEC_WRIT): Define.
-
-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.
-
-2009-12-07 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
- typo.
-
-2009-12-05 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
- code.
- * src/powerpc/aix_closure.S: Same.
-
-2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
- linux64_closure.S.
-
-2009-12-04 Uros Bizjak <ubizjak@gmail.com>
-
- 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.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
- pfr for long double split between fpr13 and stack.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
- fparg_count twice for long double.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- PR libffi/42243
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03 Uros Bizjak <ubizjak@gmail.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
- Remove xfails for x86 linux targets.
-
-2009-12-02 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
- case.
-
-2009-12-01 David Edelsohn <edelsohn@gnu.org>
-
- * 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.
-
-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.
-
-2009-11-02 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/41908
- * testsuite/libffi.call/testclosure.c: New test.
-
-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.
-
-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.
-
-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.
-
-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.
-
-2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.am (install-html, install-pdf): Remove.
- * Makefile.in: Regenerate.
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24 Dave Korn <dave.korn.cygwin@gmail.com>
-
- 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.
-
-2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
-
- 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.
-
-2009-07-01 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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 "".)
-
-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.
-
-2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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.
-
-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.
-
-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.
-
-2009-06-16 Andrew Haley <aph@redhat.com>
-
- * configure.ac (TARGETDIR): Add missing blank lines.
- * configure: Regenerate.
-
-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.
-
-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.
-
-2009-06-12 Andrew Haley <aph@redhat.com>
-
- * Makefile.am: Remove info_TEXINFOS.
-
-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-11 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * 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.
-
-2009-06-09 Andrew Haley <aph@redhat.com>
-
- * src/x86/freebsd.S: Add missing file.
-
-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).
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * README: Import from libffi 3.0.8.
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Add xfails.
- * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
- * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
- * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
- * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
- * testsuite/libffi.call/stret_medium.c: Likewise.
- * testsuite/libffi.call/stret_large2.c: Likewise.
- * testsuite/libffi.call/stret_large.c: Likewise.
-
-2008-12-26 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_align_longdouble.c,
- testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
- failures on x86_64 cygwin/mingw.
-
-2008-12-22 Timothy Wall <twall@users.sf.net>
-
- * 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_loc_fn0.c,
- testsuite/libffi.call/closure_stdcall.c,
- testsuite/libffi.call/cls_align_pointer.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
- pointer to integer (intptr_t).
- * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_dbls_struct.c,
- testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c,
- testsuite/libffi.call/err_bad_abi.c: Clean up failures from
- compiler warnings.
-
-2008-03-04 Anthony Green <green@redhat.com>
- Blake Chaffin
- hos@tamanegi.org
-
- * testsuite/libffi.call/cls_align_longdouble_split2.c
- testsuite/libffi.call/cls_align_longdouble_split.c
- testsuite/libffi.call/cls_dbls_struct.c
- testsuite/libffi.call/cls_double_va.c
- testsuite/libffi.call/cls_longdouble.c
- testsuite/libffi.call/cls_longdouble_va.c
- testsuite/libffi.call/cls_pointer.c
- testsuite/libffi.call/cls_pointer_stack.c
- testsuite/libffi.call/err_bad_abi.c
- testsuite/libffi.call/err_bad_typedef.c
- testsuite/libffi.call/stret_large2.c
- testsuite/libffi.call/stret_large.c
- testsuite/libffi.call/stret_medium2.c
- testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
- libffi.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
- stdcall changes.
-
-2008-02-26 Anthony Green <green@redhat.com>
- Thomas Heller <theller@ctypes.org>
-
- * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
- comment.
-
-2008-02-03 Timothy Wall <twall@users.sf.net>
-
- * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
- offset based on code pointer, not data pointer.
-
-2008-01-31 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
- closures.
- * src/x86/ffitarget.h: Increase size of trampoline for stdcall
- closures.
- * src/x86/win32.S: Add assembly for stdcall closure.
- * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Change void (*)() to void (*)(void).
- * src/x86/ffi.c: Likewise.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ppc_closure.S: Insert licence header.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/m68k/sysv.S: Likewise.
-
- * src/sh64/ffi.c: Change void (*)() to void (*)(void).
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/m32r/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi64.c: Likewise.
- * src/alpha/ffi.c: Likewise.
- * src/alpha/osf.S: Likewise.
- * src/frv/ffi.c: Likewise.
- * src/s390/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/pa/hpux32.S: Likewise.
- * src/ia64/unix.S: Likewise.
- * src/ia64/ffi.c: Likewise.
- * src/sparc/ffi.c: Likewise.
- * src/mips/ffi.c: Likewise.
- * src/sh/ffi.c: Likewise.
-
-2008-02-15 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
- Define (conditionally), and use it to include cachectl.h.
- (ffi_prep_closure_loc): Fix cache flushing.
- * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- include/ffi.h.in,
- src/arm/ffitarget.h,
- src/arm/ffi.c,
- src/arm/sysv.S,
- src/powerpc/ffitarget.h,
- src/closures.c,
- src/sh64/ffitarget.h,
- src/sh64/ffi.c,
- src/sh64/sysv.S,
- src/types.c,
- src/x86/ffi64.c,
- src/x86/ffitarget.h,
- src/x86/win32.S,
- src/x86/darwin.S,
- src/x86/ffi.c,
- src/x86/sysv.S,
- src/x86/unix64.S,
- src/alpha/ffitarget.h,
- src/alpha/ffi.c,
- src/alpha/osf.S,
- src/m68k/ffitarget.h,
- src/frv/ffitarget.h,
- src/frv/ffi.c,
- src/s390/ffitarget.h,
- src/s390/sysv.S,
- src/cris/ffitarget.h,
- src/pa/linux.S,
- src/pa/ffitarget.h,
- src/pa/ffi.c,
- src/raw_api.c,
- src/ia64/ffitarget.h,
- src/ia64/unix.S,
- src/ia64/ffi.c,
- src/ia64/ia64_flags.h,
- src/java_raw_api.c,
- src/debug.c,
- src/sparc/v9.S,
- src/sparc/ffitarget.h,
- src/sparc/ffi.c,
- src/sparc/v8.S,
- src/mips/ffitarget.h,
- src/mips/n32.S,
- src/mips/o32.S,
- src/mips/ffi.c,
- src/prep_cif.c,
- src/sh/ffitarget.h,
- src/sh/ffi.c,
- src/sh/sysv.S: Update license text.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * src/x86/win32.S (_ffi_closure_STDCALL): New function.
- (.eh_frame): Add FDE for it.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * configure.ac: Also check if assembler supports pc-relative
- relocs on X86_WIN32 targets.
- * configure: Regenerate.
- * src/x86/win32.S (ffi_prep_args): Declare extern, not global.
- (_ffi_call_SYSV): Add missing function type symbol .def and
- add EH markup labels.
- (_ffi_call_STDCALL): Likewise.
- (_ffi_closure_SYSV): Likewise.
- (_ffi_closure_raw_SYSV): Likewise.
- (.eh_frame): Add hand-crafted EH data.
-
-2009-04-09 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
- version 3 of the GNU General Public License and to point readers
- at the COPYING3 file and the FSF's license web page.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-12-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libffi/26048
- * configure.ac (HAVE_AS_X86_PCREL): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
- RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
- RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
- * src/x86/unix64.S (.Lstore_table): Move to .text section.
- (.Lload_table): Likewise.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
- signed/unsigned int8/16 return values.
- * src/sparc/v8.S (ffi_call_v8): Likewise.
- (ffi_closure_v8): Likewise.
-
-2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
- Steve Ellcey <sje@cup.hp.com>
-
- * configure: Regenerate for new libtool.
- * Makefile.in: Ditto.
- * include/Makefile.in: Ditto.
- * aclocal.m4: Ditto.
-
-2008-08-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
- FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
- Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
- Adjust copyright notice.
- * src/powerpc/ffi.c: Add two new flags to indicate if we have one
- register or two register to use for FFI_SYSV structs.
- (ffi_prep_cif_machdep): Pass the right register flag introduced above.
- (ffi_closure_helper_SYSV): Fix the return type for
- FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
- Adjust copyright notice.
-
-2008-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
- int.
-
-2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2008-06-07 Joseph Myers <joseph@codesourcery.com>
-
- * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
- powerpc-*-beos*): Remove.
- * configure: Regenerate.
-
-2008-05-09 Julian Brown <julian@codesourcery.com>
-
- * Makefile.am (LTLDFLAGS): New.
- (libffi_la_LDFLAGS): Use above.
- * Makefile.in: Regenerate.
-
-2008-04-18 Paolo Bonzini <bonzini@gnu.org>
-
- PR bootstrap/35457
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2008-03-26 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add .note.GNU-stack on Linux.
- * src/sh64/sysv.S: Likewise.
-
-2008-03-26 Daniel Jacobowitz <dan@debian.org>
-
- * src/arm/sysv.S: Fix ARM comment marker.
-
-2008-03-26 Jakub Jelinek <jakub@redhat.com>
-
- * src/alpha/osf.S: Add .note.GNU-stack on Linux.
- * src/s390/sysv.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
- * src/x86/unix64.S: Likewise.
- * src/x86/sysv.S: Likewise.
- * src/sparc/v8.S: Likewise.
- * src/sparc/v9.S: Likewise.
- * src/m68k/sysv.S: Likewise.
- * src/arm/sysv.S: Likewise.
-
-2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * aclocal.m4: Regenerate.
- * configure: Likewise.
- * Makefile.in: Likewise.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2008-02-12 Bjoern Koenig <bkoenig@alpha-tierchen.de>
- Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-freebsd* target.
- * configure: Regenerate.
-
-2008-01-30 H.J. Lu <hongjiu.lu@intel.com>
-
- PR libffi/34612
- * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
- returning struct.
-
- * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
- tests.
-
-2008-01-24 David Edelsohn <edelsohn@gnu.org>
-
- * configure: Regenerate.
-
-2008-01-06 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
-
-2008-01-05 Andreas Tobler <a.tobler@schweiz.org>
-
- PR testsuite/32843
- * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
- signed/unsigned int8/16 for X86_DARWIN.
- Updated copyright info.
- Handle one and two byte structs with special cif->flags.
- * src/x86/ffitarget.h: Add special types for one and two byte structs.
- Updated copyright info.
- * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
- sysv.S
- Remove code to pop args from the stack after call.
- Special-case signed/unsigned for int8/16, one and two byte structs.
- (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
- FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
- FFI_TYPE_SINT32.
- Updated copyright info.
-
-2007-12-08 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_call_N32): Replace dadd with ADDU, dsub with
- SUBU, add with ADDU and use smaller code sequences.
-
-2007-12-07 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
- type.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
- defined.
- (ffi_java_raw): New typedef.
- (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
- ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
- ffi_java_raw.
- (ffi_java_raw_closure) : Same.
- (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
- parameter types.
- * src/java_raw_api.c (ffi_java_raw_size): Replace FFI_SIZEOF_ARG with
- FFI_SIZEOF_JAVA_RAW.
- (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
- Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
- sizeof(ffi_java_raw) for alignment calculations.
- (ffi_java_ptrarray_to_raw): Same.
- (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
- if FFI_SIZEOF_JAVA_RAW == 4.
- (ffi_java_raw_to_rvalue): Same.
- (ffi_java_raw_call): Change type of raw to ffi_java_raw.
- (ffi_java_translate_args): Same.
- (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
- parameter types.
- * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
- pointer values.
-
-2007-12-01 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/31937
- * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
- Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
- * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
- set the NUM_FPR_ARG_REGISTERS according to.
- Add support for potential soft-float support under hard-float
- architecture.
- (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
- FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
- to the FFI_LINUX_SOFT_FLOAT ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Make sure not to store float/double
- on archs where __NO_FPRS__ is true.
- Add FFI_TYPE_UINT128 support.
- * src/powerpc/sysv.S: Add support for soft-float long-double-128.
- Adjust copyright notice.
-
-2007-11-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
- * include/ffi_common.h: ... here.
- Update copyright.
-
-2007-11-17 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
- * testsuite/libffi.call/return_ldl.c: New test.
-
-2007-09-04 <aph@redhat.com>
-
- * src/arm/sysv.S (UNWIND): New.
- (Whole file): Conditionally compile unwinder directives.
- * src/arm/sysv.S: Add unwinder directives.
-
- * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
- Only treat r0 as a struct address if we're actually returning a
- struct by address.
- Only copy the bytes that are actually within a struct.
- (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
- is returned in r0, not passed by address.
- (ffi_call): Allocate a word-sized temporary for the case where
- a composite is returned in r0.
- (ffi_prep_incoming_args_SYSV): Align as necessary.
-
-2007-08-05 Steven Newbury <s_j_newbury@yahoo.co.uk>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
- directly using the sys_cacheflush syscall.
-
-2007-07-27 Andrew Haley <aph@redhat.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
-
-2007-09-03 Maciej W. Rozycki <macro@linux-mips.org>
-
- * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure: Likewise.
-
-2007-08-24 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/return_sl.c: New test.
-
-2007-08-10 David Daney <ddaney@avtrex.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/nested_struct5.c,
- testsuite/libffi.call/cls_double.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/nested_struct.c,
- testsuite/libffi.call/cls_2byte.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_sint16.c,
- testsuite/libffi.call/cls_align_uint32.c,
- testsuite/libffi.call/cls_20byte.c,
- testsuite/libffi.call/cls_float.c,
- testsuite/libffi.call/nested_struct2.c,
- testsuite/libffi.call/cls_5_1_byte.c,
- testsuite/libffi.call/nested_struct4.c,
- testsuite/libffi.call/cls_24byte.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: Remove xfail for mips64*-*-*.
-
-2007-08-10 David Daney <ddaney@avtrex.com>
-
- 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.
-
-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*.
- * 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.
-
-2006-12-13 Andreas Tobler <a.tobler@schweiz.org>
-
- * aclocal.m4: Regenerate with aclocal -I .. as written in the
- Makefile.am.
-
-2006-10-31 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
- (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
- Darwin.
- * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
- * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10 Paolo Bonzini <bonzini@gnu.org>
- Sandro Tolaini <tolaini@libero.it>
-
- * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
- conditional.
- * configure: Regenerated.
- * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
- (EXTRA_DIST): Add src/x86/darwin.S.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
- X86_WIN32, and additionally align stack to 16 bytes.
- * src/x86/darwin.S: New, based on sysv.S.
- * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12 David Daney <ddaney@avtrex.com>
-
- PR libffi/23935
- * include/Makefile.am: Install both ffi.h and ffitarget.h in
- $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
- * aclocal.m4: Regenerated for automake 1.9.6.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
-2006-08-17 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h: Remove lint directives.
- * include/ffi.h.in: Likewise.
-
-2006-07-25 Torsten Schoenfeld <kaffeetisch@gmx.de>
-
- * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
- for 32-bit architectures.
- * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
- xfail remains for mips64.
-
-2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
-
- * Makefile.am: Add install-html target. Add install-html to .PHONY
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
- stack slot.
-
-2006-04-22 Andreas Tobler <a.tobler@schweiz.ch>
-
- * README: Remove notice about 'Crazy Comments'.
- * src/debug.c: Remove lint directives. Cleanup white spaces.
- * src/java_raw_api.c: Likewise.
- * src/prep_cif.c: Likewise.
- * src/raw_api.c: Likewise.
- * src/ffitest.c: Delete. No longer needed, all test cases migrated
- to the testsuite.
- * src/arm/ffi.c: Remove lint directives.
- * src/m32r/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/sh/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/pa/hpux32.S: Correct unwind offset calculation for
- ffi_closure_pa32.
- * src/pa/linux.S: Likewise.
-
-2006-04-12 James E Wilson <wilson@specifix.com>
-
- PR libgcj/26483
- * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
- (hfa_type_load): Call stf_spill.
- (hfa_type_store): Call ldf_fill.
- (ffi_call): Adjust calls to above routines. Add local temps for
- macro result.
-
-2006-04-10 Matthias Klose <doko@debian.org>
-
- * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
- directory names containing underscores.
-
-2006-04-07 James E Wilson <wilson@specifix.com>
-
- * testsuite/libffi.call/float4.c: New testcase.
-
-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.
-
-2006-03-24 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Default
- for 32-bit using IBM extended double format. Fix FFI_LAST_ABI.
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
- FFI_TYPE_LONGDOUBLE.
- (ffi_prep_args64): Assert using IBM extended double.
- (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
- Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
- (ffi_call): Handle FFI_LINUX.
- (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
- gpr3 return pointer as for struct return. Handle FFI_LINUX
- FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf"
- unnecessarily.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
- for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table.
- Don't use r6 as pointer to results, instead use sp offset. Don't
- make a special call to load lr with case table address, instead
- use offset from previous call.
- * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
- return.
-
-2006-03-15 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
- passed with FP registers correctly.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S: Likewise.
-
-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.
-
-2006-02-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
- -O2, -O3, -Os and the warning flags -W -Wall.
- * testsuite/libffi.special/special.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
- unused parameter unused for gcc or else do nothing.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
- * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
- * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
- * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
- * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
- * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
- * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
- * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
- * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
- void* to avoid compiler warning.
- (main): Likewise.
- (cls_struct_align_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
- * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
- * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
- userdata unused.
- (cls_ret_schar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
- userdata unused.
- (cls_ret_sint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
- userdata unused.
- (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn): Mark cif and
- userdata unused.
- (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
- userdata unused.
- (cls_ret_uint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
- userdata unused.
- (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
- * testsuite/libffi.call/float1.c (main): Remove unused variable i.
- Cleanup white spaces.
- * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
- * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
- cif and userdata unused.
- * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
- Likewise.
- * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
- formatters to silence gcc.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct4.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct6.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
- * testsuite/libffi.call/problem1.c (stub): Likewise.
- * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
- gcc.
- * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
- in the last commit for this test case in the test case itself.
- * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
- unused.
- * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
- * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
- * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
- * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
- * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
- * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Fix register numbers in the FDE for
- ffi_closure_SYSV.
-
-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.
-
-2006-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
- and cast integer to void * if needed. Update the pointer to
- the FP register saved area correctly.
-
-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.
-
-2006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/return_dbl.c: New test case.
- * testsuite/libffi.call/return_dbl1.c: Likewise.
- * testsuite/libffi.call/return_dbl2.c: Likewise.
- * testsuite/libffi.call/return_fl.c: Likewise.
- * testsuite/libffi.call/return_fl1.c: Likewise.
- * testsuite/libffi.call/return_fl2.c: Likewise.
- * testsuite/libffi.call/return_fl3.c: Likewise.
- * testsuite/libffi.call/closure_fn6.c: Likewise.
-
- * 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.
-
-2006-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.ac: Enable libffi for sparc64-*-freebsd*.
- * configure: Rebuilt.
-
-2006-01-18 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
- instead do the shifting inline.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
- shift count unconditionally. Simplify load sequences for 1, 2, 3, 4
- and 8 byte structs, for the remaining struct sizes don't call
- __lshrdi3, instead do the shifting inline.
-
-2005-12-07 Thiemo Seufer <ths@networkno.de>
-
- * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
- missing parentheses.
- * src/mips/o32.S (ffi_call_O32): Code formatting. Define
- and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
- (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
- A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
- V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
- FA_0_0_OFF2.
- * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
- endianness bugs.
- (ffi_prep_closure): Improve trampoline instruction scheduling.
- (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c: Formatting.
- (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
- (ffi_prep_args64): Likewise.
-
-2005-09-30 Geoffrey Keating <geoffk@apple.com>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
- darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26 Tom Tromey <tromey@redhat.com>
-
- * 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.
-
-2005-08-25 Alan Modra <amodra@bigpond.net.au>
-
- PR target/23404
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
- homed fp args.
- (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11 Jakub Jelinek <jakub@redhat.com>
-
- * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
- (AH_BOTTOM): Add FFI_HIDDEN definition.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * src/powerpc/ffi.c (hidden): Remove.
- (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
- ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
- .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
- * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
- add FFI_HIDDEN to its prototype.
- (ffi_closure_SYSV_inner): New.
- * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
- * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10 Alfred M. Szmidt <ams@gnu.org>
-
- PR libffi/21819:
- * configure: Rebuilt.
- * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
- DW_CFA_offset_extended_sf rather than
- DW_CFA_GNU_negative_offset_extended.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
-
- * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
- on sh3.
- (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
- * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
- partially on register.
- (ffi_closure_helper_SYSV): Likewise.
- (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_call): Handle small structures correctly.
- Remove empty line.
- * src/sh64/ffi.c (simple_type): Remove.
- (return_type): Handle small structures correctly.
- (ffi_prep_args): Likewise.
- (ffi_call): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
- Emit position independent code if PIC and remove wrong datalabel
- prefixes from EH data.
-
-2005-07-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure.ac: Add POWERPC_FREEBSD rules.
- * configure: Regenerate.
- * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
- (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
- * src/powerpc/ffi.c: Add flags to handle small structure returns
- in ffi_call_SYSV.
- (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
- Aka FFI_SYSV.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Add return types for small structures.
- * src/powerpc/sysv.S: Add bits to handle small structures for
- final SYSV 4 ABI.
-
-2005-07-10 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_5_1_byte.c: New test file.
- * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05 Randolph Chung <tausq@debian.org>
-
- * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
- as FFI_TYPE_SMALL_STRUCT3. Break out handling for 5-7 byte
- structures. Kill compilation warnings.
- (ffi_closure_inner_LINUX): Print return values as hex in debug
- message. Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
- Properly handle 5-7 byte structure returns.
- * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
- (FFI_TYPE_SMALL_STRUCT2): Remove.
- (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
- (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
- * src/pa/linux.S: Mark source file as using PA1.1 assembly.
- (checksmst1, checksmst2): Remove.
- (checksmst3): Optimize handling of 3-byte struct returns.
- (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libgcj/21943
- * src/mips/n32.S: Enforce PIC code.
- * src/mips/o32.S: Likewise.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
- * configure: Regenerate.
-
-2005-06-01 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
- to call ffi_closure_helper_SYSV. Append @local instead.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
- Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
- * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
- * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
- include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-05-08 Richard Henderson <rth@redhat.com>
-
- PR libffi/21285
- * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04 Andreas Degert <ad@papyrus-gmbh.de>
- Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
- bit 11 of flags.
- (ffi_call): Mask return type field. Pass ssecount to ffi_call_unix64.
- (ffi_prep_closure): Set carry bit if sse-used flag set.
- * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
- Only load sse registers if ssecount non-zero.
- (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
- powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
- * configure: Regenerate.
-
-2005-04-20 Hans-Peter Nilsson <hp@axis.com>
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
- have Tcl8.3-compatible intermediate variable.
-
-2005-04-18 Simon Posnjak <simon.posnjak@siol.net>
- Hans-Peter Nilsson <hp@axis.com>
-
- * Makefile.am: Add CRIS support.
- * configure.ac: Likewise.
- * Makefile.in, configure, testsuite/Makefile.in,
- include/Makefile.in: Regenerate.
- * src/cris: New directory.
- * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
- * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
- \r?\n in output tests.
-
-2005-04-12 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-03-30 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30 Steve Ellcey <sje@cup.hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
- (ffi_sarg) Ditto.
- * src/ia64/unix.S (ffi_closure_unix): Extend gp
- to 64 bits in ILP32 mode.
- Load 64 bits even for short data.
-
-2005-03-23 Mike Stump <mrs@apple.com>
-
- * src/powerpc/darwin.S: Update for -m64 multilib.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21 Zack Weinberg <zack@codesourcery.com>
-
- * 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.
-
-2005-02-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
- odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR libffi/20104
- * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11 Janis Johnson <janis187@us.ibm.com>
-
- * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
- * testsuite/libffi.call/float.c: Ditto.
- * testsuite/libffi.call/float2.c: Ditto.
- * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * testsuite/libffi.special/special.exp (cxx_options): Add
- -shared-libgcc.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
- (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
- offset parameters with a type parameter; deduce size and structure
- alignment. Update all users.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
- (FFI_TYPE_LONGDOUBLE): Fix for ia64.
- * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
- into ffi_prep_closure.
- * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
- from scratch.
-
-2004-12-27 Richard Henderson <rth@redhat.com>
-
- * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25 Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
- (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
- (merge_classes): Check for it.
- (SSE_CLASS_P): New.
- (classify_argument): Pass byte_offset by value; perform all updates
- inside struct case.
- (examine_argument): Add classes argument; handle
- X86_64_COMPLEX_X87_CLASS.
- (ffi_prep_args): Merge into ...
- (ffi_call): ... here. Share stack frame with ffi_call_unix64.
- (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
- (ffi_fill_return_value): Remove.
- (ffi_prep_closure): Remove dead assert.
- (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
- Rewrite to use struct register_args instead of va_list. Create
- flags for handling structure returns.
- * src/x86/unix64.S: Remove dead strings.
- (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share
- stack frame with ffi_call. Handle structure returns properly.
- (float2sse, floatfloat2sse, double2sse): Remove.
- (sse2float, sse2double, sse2floatfloat): Remove.
- (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite
- to handle structure returns properly.
-
-2004-12-08 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
- PICFLAG.
- * Makefile.in: Regenerated.
-
-2004-12-02 Richard Sandiford <rsandifo@redhat.com>
-
- * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
- * configure, aclocal.m4, Makefile.in: Regenerate.
- * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-25 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool reversion.
-
-2004-11-24 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23 Richard Sandiford <rsandifo@redhat.com>
-
- * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
- of jal. Use an absolute encoding for the frame information.
-
-2004-11-23 Kelley Cook <kcook@gcc.gnu.org>
-
- * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS.
- * acinclude.m4: Delete logic for sincludes.
- * aclocal.m4, Makefile.in, configure: Regenerate.
- * include/Makefile: Likewise.
- * testsuite/Makefile: Likewise.
-
-2004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
- on a 8-byte boundary.
- * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
- long long values. Round stack allocation to a multiple of 8 bytes
- for ATPCS compatibility.
- * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
- names. Handle returning long long types. Add Thumb and interworking
- support. Improve soft-float code.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
- (libffi_exit): New function.
- (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR other/18138
- * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
- * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
- the function returning a structure pointed with R2.
- * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
- the structure return value if T bit set. Emit position
- independent code and EH data if PIC.
-
-2004-10-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * Makefile.am: Add m32r support.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * confiugre: Regenerate.
- * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
- (uint64, sint64, double, longdouble)
- * src/m32r: New directory.
- * src/m32r/ffi.c: New file.
- * src/m32r/sysv.S: Likewise.
- * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * testsuite/libffi.call/negint.c: New test case.
-
-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.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/many_win32.c: Remove whitespaces.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
- whitespaces.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Fix comments and identation.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
- (ffi_prep_args): Handle longdouble arguments.
- (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
- longdouble.
- (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
- * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
- values.
- * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
- * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/aix.S: Remove whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
- * src/powerpc/asm.h: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffitarget.h: Likewise.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
-
-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.in: Read configure.host.
- * 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 shouldn't 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.
-
-2004-08-24 David Daney <daney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
- to zero.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23 David Daney <daney@avtrex.com>
-
- PR libgcj/13141
- * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
- * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
- (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
- parameters and return types.
- (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
- (ffi_prep_closure): Ditto.
- (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
- alignment calculations.
- * src/mips/o32.S (ffi_closure_O32): Don't use floating point
- instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14 Casey Marshall <csm@gnu.org>
-
- * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
- contain `FFI_TYPE_UINT64' as return type for any 64-bit
- integer (O32 ABI only).
- (ffi_prep_closure): new function.
- (ffi_closure_mips_inner_O32): new function.
- * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
- `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
- * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
- 64 bit integers correctly.
- (ffi_closure_O32): new function.
- Added DWARF-2 unwind info for both functions.
-
-2004-08-10 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01 Robert Millan <robertmh@gnu.org>
-
- * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
- * configure: Regenerate.
-
-2004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
-
- * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
- and mmap() explicitly instead of relying on preset autoconf cache
- variables.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
- (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
- character on Darwin, use '\n\t' instead.
-
-2004-06-26 Matthias Klose <doko@debian.org>
-
- * libtool-version: Fix typo in revision/age.
-
-2004-06-17 Matthias Klose <doko@debian.org>
-
- * libtool-version: New.
- * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
- * Makefile.in: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * Makefile.am: Remove useless multilib rules.
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate with automake 1.8.5.
- * configure.ac: Remove useless multilib configury.
- * configure: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * .cvsignore: New file.
-
-2004-06-10 Jakub Jelinek <jakub@redhat.com>
-
- * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
- fp_done.
- (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
- changed from 8.
-
-2004-06-06 Sean McNeil <sean@mcneil.com>
-
- * configure.ac: Add x86_64-*-freebsd* support.
- * configure: Regenerate.
-
-2004-04-26 Joe Buck <jbuck@welsh-buck.org>
-
- Bug 15093
- * configure.ac: Test for existence of mmap and sys/mman.h before
- checking blacklist. Fix suggested by Jim Wilson.
- * configure: Regenerate.
-
-2004-04-26 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
- FDE location.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
- error. Reported by Thomas Heller <theller@python.net>.
- * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20 Matthias Klose <doko@debian.org>
-
- * src/pa/linux.S: Fix typo.
-
-2004-03-19 Matthias Klose <doko@debian.org>
-
- * Makefile.am: Update.
- * Makefile.in: Regenerate.
- * src/pa/ffi.h.in: Remove.
- * src/pa/ffitarget.h: New file.
-
-2004-02-10 Randolph Chung <tausq@debian.org>
-
- * Makefile.am: Add PA support.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * configure.ac: Add PA target.
- * configure: Regenerate.
- * src/pa/ffi.c: New file.
- * src/pa/ffi.h.in: Add PA support.
- * src/pa/linux.S: New file.
- * prep_cif.c: Add PA support.
-
-2004-03-16 Hosaka Yuji <hos@tamanegi.org>
-
- * src/types.c: Fix alignment size of X86_WIN32 case int64 and
- double.
- * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
- with ecif->cif->flags.
- (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
- with cif->flags.
- (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
- (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
- * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
- sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.in: Rename file to ...
- * configure.ac: ... this.
- * fficonfig.h.in: Regenerate.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2004-03-12 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Fix EH information so it corresponds to
- changes in EH format resulting from addition of linkonce support.
- * src/powerpc/darwin_closure.S: Likewise.
-
-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.
-
-2004-03-11 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
- arguments from fp registers only for the first 8 parameter slots.
- Don't convert a float parameter when passed in memory.
-
-2004-03-09 Hans-Peter Nilsson <hp@axis.com>
-
- * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
-
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
- ecif->cif->bytes to bytes.
- (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
- * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
- (ffi_closure_helper_LINUX64): Fix typo.
- * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
- for powerpc64-*-*.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
- long double function return and long double arg handling.
- (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
- Use "end_pfr" instead of "nf". Correct long double handling.
- Localise "temp".
- * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
- return value.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
- space for long double return value. Adjust stack frame and offsets.
- Load f2 long double return.
-
-2004-02-07 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
- when the structure return address is passed in %o0.
- (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
- (ffi_v9_layout_struct): Align the field following a nested structure
- on a word boundary. Use memmove instead of memcpy.
- (ffi_call): Update call to ffi_V9_return_struct.
- (ffi_prep_closure): Define 'ctx' only for V8.
- (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
- and ffi_closure_sparc_inner_v9.
- (ffi_closure_sparc_inner_v8): Return long doubles by reference.
- Always skip the structure return address. For structures and long
- doubles, copy the argument directly.
- (ffi_closure_sparc_inner_v9): Skip the structure return address only
- if required. Shift the maximum floating-point slot accordingly. For
- big structures, copy the argument directly; otherwise, left-justify the
- argument and call ffi_v9_layout_struct to lay out the structure on
- the stack.
- * src/sparc/v8.S: Undef STACKFRAME before defining it.
- (ffi_closure_v8): Pass the structure return address. Update call to
- ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
- Skip the 'unimp' insn when returning long doubles and structures.
- * src/sparc/v9.S: Undef STACKFRAME before defining it.
- (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
- FFI_TYPE_INT handling. Load structures both in integers and
- floating-point registers on return.
- * README: Update status of the SPARC port.
-
-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.
-
-2004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
-
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
- value as of type ffi_arg, not unsigned int.
-
-2004-01-21 Michael Ritzert <ritzert@t-online.de>
-
- * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
- of the LHS.
-
-2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
- Solaris.
-
-2004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
- to void *.
-
-2003-12-10 Richard Henderson <rth@redhat.com>
-
- * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
- size_t instead of int.
-
-2003-12-04 Hosaka Yuji <hos@tamanegi.org>
-
- * testsuite/libffi.call/many_win32.c: Include <float.h>.
- * testsuite/libffi.call/many_win32.c (main): Replace variable
- int i with unsigned long ul.
-
- * testsuite/libffi.call/cls_align_uint64.c: New test case.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02 Hosaka Yuji <hos@tamanegi.org>
-
- PR other/13221
- * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
- Align arguments to 32 bits.
-
-2003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR other/13221
- * testsuite/libffi.call/cls_multi_sshort.c: New test case.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-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.
-
-2003-11-21 Andreas Jaeger <aj@suse.de>
- Andreas Tobler <a.tobler@schweiz.ch>
-
- * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
- * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
- * Makefile.in: Rebuilt.
- * aclocal.m4: Likewise.
- * configure: Likewise.
- * fficonfig.h.in: Likewise.
- * testsuite/lib/libffi-dg.exp: Add include dir.
- * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
- for ffi_closure if available.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
- Add -lgcc_s to additional flags.
-
-2003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.in, include/Makefile.am: PR libgcj/11147, install
- the ffitarget.h header file in a gcc versioned and target
- dependent place.
- * configure: Regenerated.
- * Makefile.in, include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Print result and check
- with dg-output to make debugging easier.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
- static.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_9byte2.c: New test case.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_double.c: Do a check on the result.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/prep_cif.c (ffi_prep_cif): Move the validity check after
- the initialization.
-
-2003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
- FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
- __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-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
-
-2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
- _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
- Used when FFI_DEBUG = 1.
-
-2003-10-14 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
- and align.
-
-2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
- FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
- SPARC64. Cleanup whitespaces.
-
-2003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
- strongarm, xscale. Cleanup whitespaces.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Cleanup whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
- * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
- parameter stack.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
- according to the Darwin/AIX ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_DARWIN): Likewise.
- Remove the outgoing parameter stack logic. Simplify the evaluation
- of the different CASE types.
- (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
- statement in the trampoline code.
-
-2003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
- for the register size.
- (ffi_closure_helper_SYSV): Handle the structure return value
- address correctly.
- (ffi_closure_helper_SYSV): Return the appropriate type when
- the registers are used for the structure return value.
- * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
- the 64-bit return value. Update copyright years.
-
-2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
- srcdir for ffi_mips.h.
-
-2003-09-12 Alan Modra <amodra@bigpond.net.au>
-
- * src/prep_cif.c (initialize_aggregate): Include tail padding in
- structure size.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
- placement of float result.
- * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
- cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Merge identical SH and ARM
- typedefs, and add POWERPC64.
- * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
- struct split over gpr and rest.
- (ffi_prep_cif_machdep): Correct intarg_count for structures.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
- passing correctly.
-
-2003-09-09 Alan Modra <amodra@bigpond.net.au>
-
- * configure: Regenerate.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Remove build rules for ffitest.
- * Makefile.in: Rebuilt.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
- about implicit declaration of abort().
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
- * Makefile.in: Rebuilt.
- * configure.in: Add dejagnu test framework.
- * configure: Rebuilt.
-
- * testsuite/Makefile.am: New file.
- * testsuite/Makefile.in: Built
- * testsuite/lib/libffi-dg.exp: New file.
- * testsuite/config/default.exp: Likewise.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Likewise.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float1.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/many.c: Likewise.
- * testsuite/libffi.call/many_win32.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
- * testsuite/libffi.call/strlen.c: Likewise.
- * testsuite/libffi.call/strlen_win32.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
- * testsuite/libffi.call/struct2.c: Likewise.
- * testsuite/libffi.call/struct3.c: Likewise.
- * testsuite/libffi.call/struct4.c: Likewise.
- * testsuite/libffi.call/struct5.c: Likewise.
- * testsuite/libffi.call/struct6.c: Likewise.
- * testsuite/libffi.call/struct7.c: Likewise.
- * testsuite/libffi.call/struct8.c: Likewise.
- * testsuite/libffi.call/struct9.c: Likewise.
- * testsuite/libffi.special/special.exp: New file.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
- copyright years.
-
-2003-08-02 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
- structure passing.
- (ffi_closure_helper_LINUX64): Likewise.
- * src/powerpc/linux64.S: Remove code writing to parm save area.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
- address in lr from ffi_closure_helper_LINUX64 call to calculate
- table address. Optimize function tail.
-
-2003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/sparc/ffi.c: Handle all floating point registers.
- * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
-
- * README: Note that libffi is not part of GCC. Update the project
- URL and status.
-
-2003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
- Use C style comments.
-
-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
- should be read-only.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * include/ffi.h.in (EH_FRAME_FLAGS): Define.
- * src/alpha/osf.S: Use EH_FRAME_FLAGS.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
- * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
- if -fpic/-fPIC/-mrelocatable.
- * src/powerpc/powerpc_closure.S: Likewise.
- * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
- #write in .eh_frame flags.
- * src/sparc/v9.S: Likewise.
- * src/x86/unix64.S: Use EH_FRAME_FLAGS.
- * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
- * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
-
-2003-05-07 Jeff Sturm <jsturm@one-point.com>
-
- Fixes PR bootstrap/10656
- * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
- support for .register pseudo-op.
- * src/sparc/v8.S: Use it.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2003-04-18 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (POWERPC64): Define if 64-bit.
- (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
- Make it the default on POWERPC64.
- (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
- * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
- * configure: Rebuilt.
- * src/powerpc/ffi.c (hidden): Define.
- (ffi_prep_args_SYSV): Renamed from
- ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
- (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
- ASM_NEEDS_REGISTERS64): New.
- (ffi_prep_args64): New function.
- (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
- (ffi_call): Likewise.
- (ffi_prep_closure): Likewise.
- (flush_icache): Surround by #ifndef POWERPC64.
- (ffi_dblfl): New union type.
- (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
- (ffi_closure_helper_LINUX64): New function.
- * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
- __powerpc64__.
- * src/powerpc/sysv.S: Likewise.
- (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
- * src/powerpc/linux64.S: New file.
- * src/powerpc/linux64_closure.S: New file.
- * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
- src/powerpc/linux64_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
- * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
- closure_test_fn3): Fix result printing on big-endian 64-bit
- machines.
- (main): Print tst2_arg instead of uninitialized tst2_result.
-
- * src/ffitest.c (main): Hide what closure pointer really points to
- from the compiler.
-
-2003-04-16 Richard Earnshaw <rearnsha@arm.com>
-
- * configure.in (arm-*-netbsdelf*): Add configuration.
- (configure): Regenerated.
-
-2003-04-04 Loren J. Rittle <ljrittle@acm.org>
-
- * include/Makefile.in: Regenerate.
-
-2003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
-
- * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
- bit mode.
- * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
- Receive closure pointer through parameter, read args using
- __builtin_dwarf_cfa.
- (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12 Andreas Schwab <schwab@suse.de>
-
- * configure.in: Avoid trailing /. in toolexeclibdir.
- * configure: Rebuilt.
-
-2003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/powerpc/darwin_closure.S:
- Fix alignement bug, allocate 8 bytes for the result.
- * libffi/src/powerpc/aix_closure.S:
- Likewise.
- * libffi/src/powerpc/ffi_darwin.c:
- Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06 Jakub Jelinek <jakub@redhat.com>
-
- * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
- attribute.
-
-2003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
- Andreas Schwab <schwab@suse.de>
-
- * configure.in: Adjust command to source config-ml.in to account
- for changes to the libffi_basedir definition.
- (libffi_basedir): Remove ${srcdir} from value and include trailing
- slash if nonempty.
-
- * configure: Regenerate.
-
-2003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
- * src/x86/ffi64.c (ffi_prep_closure): New.
- (ffi_closure_UNIX64_inner): New.
- * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
- Remove USE_LIBDIR conditional.
- * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
- * Makefile.in, configure: Rebuilt.
-
-2003-01027 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
- * Makefile.in: Regenerate.
-
-2003-01-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
- unwind info.
-
-2003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Add unwind info.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
- (ffi_prep_cif_machdep): Likewise.
- * src/x86/unix64.S: Add unwind info.
-
-2003-01-14 Andreas Jaeger <aj@suse.de>
-
- * src/ffitest.c (main): Only use ffi_closures if those are
- supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/ffitest.c
- add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
- * libffi/src/powerpc/ffi.c
- fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c: Remove RCS version string.
- * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
- * src/ffitest.c (main): Use static storage for closure.
- * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
- * src/sparc/v8.S (ffi_closure_v8): New.
- * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10 Ranjit Mathew <rmathew@hotmail.com>
-
- * include/ffi.h.in: Added FFI_STDCALL ffi_type
- enumeration for X86_WIN32.
- * src/x86/win32.S: Added ffi_call_STDCALL function
- definition.
- * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
- switch cases for recognising FFI_STDCALL and
- calling ffi_call_STDCALL if target is X86_WIN32.
- * src/ffitest.c (my_stdcall_strlen/stdcall_many):
- stdcall versions of the "my_strlen" and "many"
- test functions (for X86_WIN32).
- Added test cases to test stdcall invocation using
- these functions.
-
-2002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26 Jim Wilson <wilson@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23 H.J. Lu <hjl@gnu.org>
-
- * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
- Include ../config/accross.m4.
- * aclocal.m4; Rebuild.
- * configure: Likewise.
-
-2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11 DJ Delorie <dj@redhat.com>
-
- * configure.in: Look for common files in the right place.
-
-2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
- raw data as _Jv_word values, not ffi_raw.
- (ffi_java_ptrarray_to_raw): Likewise.
- (ffi_java_rvalue_to_raw): New function.
- (ffi_java_raw_call): Call it.
- (ffi_java_raw_to_rvalue): New function.
- (ffi_java_translate_args): Call it.
- * src/ffitest.c (closure_test_fn): Interpret return value
- as ffi_arg, not int.
- * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
- FFI_TYPE_POINTER case.
- (ffi_closure_helper_SYSV): Likewise. Also, assume return
- values extended to word size.
-
-2002-10-02 Andreas Jaeger <aj@suse.de>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01 Bo Thorsen <bo@smetana.suse.de>
-
- * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
-
- * configure.in: Add s390x-*-linux-* target.
- * configure: Regenerate.
- * include/ffi.h.in: Define S390X for s390x targets.
- (FFI_CLOSURES): Define for s390/s390x.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
- * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
- * src/s390/ffi.c: Major rework of existing code. Add support for
- s390x targets. Add closure support.
- * src/s390/sysv.S: Likewise.
-
-2002-09-29 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: Fix typo.
-
-2002-09-28 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
- has defined __USER_LABEL_PREFIX__, then use it in CNAME.
- (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27 Bo Thorsen <bo@suse.de>
-
- * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * configure.in (sh[34]*-*-linux*): Add brackets.
- * configure: Regenerate.
-
-2002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * Makefile.am: Add SH support.
- * Makefile.in: Regenerate.
- * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
- * configure: Regenerate.
- * include/ffi.h.in: Add SH support.
- * src/sh/ffi.c: New file.
- * src/sh/sysv.S: New file.
- * src/types.c: Add SH support.
-
-2002-07-16 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi64.c: New file that adds x86-64 support.
- * src/x86/unix64.S: New file that handles argument setup for
- x86-64.
- * src/x86/sysv.S: Don't use this on x86-64.
- * src/x86/ffi.c: Don't use this on x86-64.
- Remove unused vars.
- * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
- for x86-64.
- * src/ffitest.c (struct6): New test that tests a special case in
- the x86-64 ABI.
- (struct7): Likewise.
- (struct8): Likewise.
- (struct9): Likewise.
- (closure_test_fn): Silence warning about this when it's not used.
- (main): Add the new tests.
- (main): Fix a couple of wrong casts and silence some compiler warnings.
- * include/ffi.h.in: Add x86-64 ABI definition.
- * fficonfig.h.in: Regenerate.
- * Makefile.am: Add x86-64 support.
- * configure.in: Likewise.
- * Makefile.in: Regenerate.
- * configure: Likewise.
-
-2002-06-24 Bo Thorsen <bo@suse.de>
-
- * src/types.c: Merge settings for similar architectures.
- Add x86-64 sizes and alignments.
-
-2002-06-23 Bo Thorsen <bo@suse.de>
-
- * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
- * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
- * src/mips/ffi.c (ffi_prep_args): Likewise.
- * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18 H.J. Lu (hjl@gnu.org)
-
- * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
- (libffi_la_SOURCES): Support MIPS_LINUX.
- (libffi_convenience_la_SOURCES): Likewise.
- * Makefile.in: Regenerated.
-
- * configure.in (mips64*-*): Skip.
- (mips*-*-linux*): New.
- * configure: Regenerated.
-
- * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
-
-2002-05-27 Roger Sayle <roger@eyesopen.com>
-
- * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
- fix formatting.
-
-2002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
- beginning of function (for older apple cc).
-
-2002-05-08 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
- script entry, and set LD to it when configuring multilibs.
- * configure: Rebuilt.
-
-2002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (sparc64-*-netbsd*): Add target.
- (sparc-*-netbsdelf*): Likewise.
- * configure: Regenerate.
-
-2002-04-28 David S. Miller <davem@redhat.com>
-
- * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
-
- * Makefile.am: Add Linux for S/390 support.
- * Makefile.in: Regenerate.
- * configure.in: Add Linux for S/390 support.
- * configure: Regenerate.
- * include/ffi.h.in: Add Linux for S/390 support.
- * src/s390/ffi.c: New file from libffi CVS tree.
- * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
- %r_disp32().
- * src/sparc/v8.S: Use it.
- * src/sparc/v9.S: Likewise.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2002-04-08 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
- correctly.
- * src/ia64/unix.S: Add unwind information. Fix comments.
- Save sp in a way that's compatible with unwind info.
- (ffi_call_unix): Correctly restore sp in all cases.
- * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08 Jakub Jelinek <jakub@redhat.com>
-
- * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (alpha*-*-netbsd*): Add target.
- * configure: Regenerate.
-
-2002-04-04 Jeff Sturm <jsturm@one-point.com>
-
- * src/sparc/v8.S: Add unwind info.
- * src/sparc/v9.S: Likewise.
-
-2002-03-30 Krister Walfridsson <cato@df.lth.se>
-
- * configure.in: Enable i*86-*-netbsdelf*.
- * configure: Rebuilt.
-
-2002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
-
- PR other/2620
- * src/mips/n32.s: Delete
- * src/mips/o32.s: Delete
-
-2002-03-21 Loren J. Rittle <ljrittle@acm.org>
-
- * configure.in: Enable alpha*-*-freebsd*.
- * configure: Rebuilt.
-
-2002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * Makefile.am: libfficonvenience -> libffi_convenience.
- * Makefile.in: Rebuilt.
-
- * Makefile.am: Define ffitest_OBJECTS.
- * Makefile.in: Rebuilt.
-
-2002-03-07 Andreas Tobler <toa@pop.agri.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
- (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
- (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
- * Makefile.in: Regenerate.
- * include/ffi.h.in: Add AIX and Darwin closure definitions.
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
- (flush_icache, flush_range): New functions.
- (ffi_closure_helper_DARWIN): New function.
- * src/powerpc/aix_closure.S: New file.
- * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add typedef for ffi_arg.
- * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21 Andreas Tobler <toa@pop.agri.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
- number of GPRs for floating-point arguments.
-
-2002-01-31 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Replace CHECK_SIZEOF and endian tests with
- cross-compiler friendly macros.
- * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
- macros.
-
-2002-01-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): New.
- * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
- (TARGET_SRC_POWERPC_AIX): New.
- (POWERPC_AIX): New stanza.
- * Makefile.in: Regenerate.
- * configure.in: Add AIX case.
- * configure: Regenerate.
- * include/ffi.h.in (ffi_abi): Add FFI_AIX.
- * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
- size. Fix "long double" support.
- (ffi_call): Add FFI_AIX case.
- * src/powerpc/aix.S: New.
-
-2001-10-09 John Hornkvist <john@toastedmarshmallow.com>
-
- Implement Darwin PowerPC ABI.
- * configure.in: Handle powerpc-*-darwin*.
- * Makefile.am: Set source files for POWERPC_DARWIN.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
- * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
- POWERPC_DARWIN.
- * src/powerpc/darwin.S: New file.
- * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .balign directive.
- Use C style comments.
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
- Fixes PR bootstrap/3563.
-
-2001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.in: Recognize sparc*-sun-* host.
- * configure: Regenerate.
-
-2001-06-06 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S: Add unwind info.
- * src/powerpc/sysv.S: Add unwind info.
- * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31 Jeff Sturm <jsturm@one-point.com>
-
- * configure.in: Fix AC_ARG_ENABLE usage.
- * configure: Rebuilt.
-
-2001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * configure.in: Remove warning about beta code.
- * configure: Rebuilt.
-
-2001-04-25 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/ia64/unix.S: Restore stack pointer when returning from
- ffi_closure_UNIX.
- * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18 Jim Wilson <wilson@redhat.com>
-
- * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
- to eliminate RAW DV.
-
-2001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
-
- * Makefile.am: Make a libtool convenience library.
- * Makefile.in: Rebuilt.
-
-2001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Use different syntax for subdirectory creation.
- * configure: Rebuilt.
-
-2001-03-27 Jon Beniston <jon@beniston.com>
-
- * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
- * configure: Rebuilt.
- * Makefile.am: Added X86_WIN32 target support.
- * Makefile.in: Rebuilt.
-
- * include/ffi.h.in: Added X86_WIN32 target support.
-
- * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
- * src/types.c: Added X86_WIN32 target support.
-
- * src/x86/win32.S: New file. Based on sysv.S, but with EH
- stuff removed and made to work with CygWin's gas.
-
-2001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Make target subdirectory in build dir.
- * Makefile.am: Override suffix based rules to specify correct output
- subdirectory.
- * Makefile.in: Rebuilt.
- * configure: Rebuilt.
-
-2001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
-
- * src/powerpc/ppc_closure.S: New file.
- * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
- involving long long and register pairs.
- (ffi_prep_closure): New function.
- (flush_icache): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * Makefile.in: Rebuilt.
- * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19 Tom Tromey <tromey@redhat.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02 Nick Clifton <nickc@redhat.com>
-
- * include/ffi.h.in: Remove RCS ident string.
- * include/ffi_mips.h: Remove RCS ident string.
- * src/debug.c: Remove RCS ident string.
- * src/ffitest.c: Remove RCS ident string.
- * src/prep_cif.c: Remove RCS ident string.
- * src/types.c: Remove RCS ident string.
- * src/alpha/ffi.c: Remove RCS ident string.
- * src/alpha/osf.S: Remove RCS ident string.
- * src/arm/ffi.c: Remove RCS ident string.
- * src/arm/sysv.S: Remove RCS ident string.
- * src/mips/ffi.c: Remove RCS ident string.
- * src/mips/n32.S: Remove RCS ident string.
- * src/mips/o32.S: Remove RCS ident string.
- * src/sparc/ffi.c: Remove RCS ident string.
- * src/sparc/v8.S: Remove RCS ident string.
- * src/sparc/v9.S: Remove RCS ident string.
- * src/x86/ffi.c: Remove RCS ident string.
- * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * include/ffi.h.in: Change sourceware.cygnus.com references to
- gcc.gnu.org.
-
-2000-12-09 Richard Henderson <rth@redhat.com>
-
- * src/alpha/ffi.c (ffi_call): Simplify struct return test.
- (ffi_closure_osf_inner): Index rather than increment avalue
- and arg_types. Give ffi_closure_osf the raw return value type.
- * src/alpha/osf.S (ffi_closure_osf): Handle return value type
- promotion.
-
-2000-12-07 Richard Henderson <rth@redhat.com>
-
- * src/raw_api.c (ffi_translate_args): Fix typo.
- (ffi_prep_closure): Likewise.
-
- * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
- FFI_TRAMPOLINE_SIZE.
- * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
- cif->bytes for new ffi_call_osf implementation.
- (ffi_prep_args): Absorb into ...
- (ffi_call): ... here. Do all stack allocation here and
- avoid a callback function.
- (ffi_prep_closure, ffi_closure_osf_inner): New.
- * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
- (ffi_closure_osf): New.
-
-2000-09-10 Alexandre Oliva <aoliva@redhat.com>
-
- * config.guess, config.sub, install-sh: Removed.
- * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
- * Makefile.in: Rebuilt.
-
- * acinclude.m4: Include libtool macros from the top level.
- * aclocal.m4, configure: Rebuilt.
-
-2000-08-22 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
- * configure: Rebuilt.
-
-2000-05-11 Scott Bambrough <scottb@netwinder.org>
-
- * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
- memory correctly. Use conditional instructions, not branches where
- possible.
-
-2000-05-04 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Match `arm*-*-linux-*'.
- From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (SUBDIRS): Define.
- (AM_MAKEFLAGS): Likewise.
- (Multilib support.): Add section.
- * Makefile.in: Rebuilt.
- * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
- New variables. Set for gcc using -print-multi-lib. Export them
- to libtool.
- (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
- * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
- for -shared links.
- (extra_compiler_flags_value, extra_compiler_flags): Check these
- for extra compiler options which need to be passed down in
- compiler_flags.
-
-2000-04-16 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
- Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
- * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
- Replace all void * sizeofs with sizeof(int).
- Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
- different than DOUBLE.
- Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
- (ffi_prep_args_v9): New function.
- (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
- (ffi_V9_return_struct): New function.
- (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
- 32bit code (not yet cross-arch calls).
- * src/sparc/v8.S: Add struct return delay nop.
- Handle long long.
- * src/sparc/v9.S: New file.
- * src/prep_cif.c (ffi_prep_cif): Return structure pointer
- is used on sparc64 only for structures larger than 32 bytes.
- Pass by reference for structures is done for structure arguments
- larger than 16 bytes.
- * src/ffitest.c (main): Use 64bit rint on sparc64.
- Run long long tests on sparc.
- * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
- sparc64.
- (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
- on sparc64.
- * configure.in (sparc-*-linux*): New supported target.
- (sparc64-*-linux*): Likewise.
- * configure: Rebuilt.
- * Makefile.am: Add v9.S to SPARC files.
- * Makefile.in: Likewise.
- (LINK): Surround $(CCLD) into double quotes, so that multilib
- compiles work correctly.
-
-2000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: (i*86-*-solaris*): New libffi target. Patch
- proposed by Bryce McKinlay.
-
-2000-03-20 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
-
- * config.guess, config.sub: Update from the gcc tree.
- Fix for PR libgcj/168.
-
-2000-03-03 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Fixed ia64 by hand.
-
- * configure: Rebuilt.
- * configure.in (--enable-multilib): New option.
- (libffi_basedir): New subst.
- (AC_OUTPUT): Added multilib code.
-
-2000-03-02 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
- directory name.
-
-2000-02-25 Hans Boehm <boehm@acm.org>
-
- * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
- files.
- * src/raw_api.c (ffi_translate_args): Fixed typo in argument
- list.
- (ffi_prep_raw_closure): Use ffi_translate_args, not
- ffi_closure_translate.
- * src/java_raw_api.c: New file.
- * src/ffitest.c (closure_test_fn): New function.
- (main): Define `rint' as long long on IA64. Added new test when
- FFI_CLOSURES is defined.
- * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
- (ffi_abi): Recognize IA64.
- (ffi_raw): Added `flt' field.
- Added "Java raw API" code.
- * configure.in: Recognize ia64.
- * Makefile.am (TARGET_SRC_IA64): New macro.
- (libffi_la_common_SOURCES): Added java_raw_api.c.
- (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01 Tom Tromey <tromey@cygnus.com>
-
- * include/ffi.h.in: Removed PACKAGE and VERSION defines and
- undefs.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
- * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
- Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
- * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09 Anthony Green <green@cygnus.com>
-
- * include/ffi.h.in: Try to work around messy header problem
- with PACKAGE and VERSION.
-
- * configure: Rebuilt.
- * configure.in: Change version to 2.00-beta.
-
- * fficonfig.h.in: Rebuilt.
- * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
- * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
-
- * src/x86/ffi.c (ffi_closure_SYSV): New function.
- (ffi_prep_incoming_args_SYSV): Ditto.
- (ffi_prep_closure): Ditto.
- (ffi_closure_raw_SYSV): Ditto.
- (ffi_prep_raw_closure): More ditto.
- (ffi_call_raw): Final ditto.
-
- * include/ffi.h.in: Add definitions for closure and raw API.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
- FFI_TYPE_UINT64.
-
- * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
- * src/raw_api.c: New file.
-
- * include/ffi.h.in (ffi_raw): New type.
- (UINT_ARG, SINT_ARG): New defines.
- (ffi_closure, ffi_raw_closure): New types.
- (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
- * configure.in: Add check for endianness and sizeof void*.
-
- * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
- instead of directly.
-
- * configure: Rebuilt.
-
-Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
-
- * configure.in: Add x86 and powerpc BeOS configurations.
- From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09 Anthony Green <green@cygnus.com>
-
- * configure.in: Add warning about this being beta code.
- Remove src/Makefile.am from the picture.
- * configure: Rebuilt.
-
- * Makefile.am: Move logic from src/Makefile.am. Add changes
- to support libffi as a target library.
- * Makefile.in: Rebuilt.
-
- * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
- Upgraded to new autoconf, automake, libtool.
-
- * README: Tweaks.
-
- * LICENSE: Update copyright date.
-
- * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29 Anthony Green <green@cygnus.com>
-
- * include/ChangeLog: Removed.
- * src/ChangeLog: Removed.
- * src/mips/ChangeLog: Removed.
- * src/sparc/ChangeLog: Remboved.
- * src/x86/ChangeLog: Removed.
-
- * ChangeLog.v1: Created.
diff --git a/.pc/irix/include/ffi.h.in b/.pc/irix/include/ffi.h.in
deleted file mode 100644
index 92b033f..0000000
--- a/.pc/irix/include/ffi.h.in
+++ /dev/null
@@ -1,421 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
- libffi @VERSION@ - Copyright (c) 2011 Anthony Green
- - Copyright (c) 1996-2003, 2007, 2008 Red Hat, Inc.
-
- Permission is hereby granted, free of charge, to any person
- obtaining a copy of this software and associated documentation
- files (the ``Software''), to deal in the Software without
- restriction, including without limitation the rights to use, copy,
- modify, merge, publish, distribute, sublicense, and/or sell copies
- of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
-
- ----------------------------------------------------------------------- */
-
-/* -------------------------------------------------------------------
- The basic API is described in the README file.
-
- The raw API is designed to bypass some of the argument packing
- and unpacking on architectures for which it can be avoided.
-
- The closure API allows interpreted functions to be packaged up
- inside a C function pointer, so that they can be called as C functions,
- with no understanding on the client side that they are interpreted.
- It can also be used in other cases in which it is necessary to package
- up a user specified parameter and a function pointer as a single
- function pointer.
-
- The closure API must be implemented in order to get its functionality,
- e.g. for use by gij. Routines are provided to emulate the raw API
- if the underlying platform doesn't allow faster implementation.
-
- More details on the raw and cloure API can be found in:
-
- http://gcc.gnu.org/ml/java/1999-q3/msg00138.html
-
- and
-
- http://gcc.gnu.org/ml/java/1999-q3/msg00174.html
- -------------------------------------------------------------------- */
-
-#ifndef LIBFFI_H
-#define LIBFFI_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Specify which architecture libffi is configured for. */
-#ifndef @TARGET@
-#define @TARGET@
-#endif
-
-/* ---- System configuration information --------------------------------- */
-
-#include <ffitarget.h>
-
-#ifndef LIBFFI_ASM
-
-#ifdef _MSC_VER
-#define __attribute__(X)
-#endif
-
-#include <stddef.h>
-#include <limits.h>
-
-/* LONG_LONG_MAX is not always defined (not if STRICT_ANSI, for example).
- But we can find it either under the correct ANSI name, or under GNU
- C's internal name. */
-
-#define FFI_64_BIT_MAX 9223372036854775807
-
-#ifdef LONG_LONG_MAX
-# define FFI_LONG_LONG_MAX LONG_LONG_MAX
-#else
-# ifdef LLONG_MAX
-# define FFI_LONG_LONG_MAX LLONG_MAX
-# ifdef _AIX52 /* or newer has C99 LLONG_MAX */
-# undef FFI_64_BIT_MAX
-# define FFI_64_BIT_MAX 9223372036854775807LL
-# endif /* _AIX52 or newer */
-# else
-# ifdef __GNUC__
-# define FFI_LONG_LONG_MAX __LONG_LONG_MAX__
-# endif
-# ifdef _AIX /* AIX 5.1 and earlier have LONGLONG_MAX */
-# ifndef __PPC64__
-# if defined (__IBMC__) || defined (__IBMCPP__)
-# define FFI_LONG_LONG_MAX LONGLONG_MAX
-# endif
-# endif /* __PPC64__ */
-# undef FFI_64_BIT_MAX
-# define FFI_64_BIT_MAX 9223372036854775807LL
-# endif
-# endif
-#endif
-
-/* The closure code assumes that this works on pointers, i.e. a size_t */
-/* can hold a pointer. */
-
-typedef struct _ffi_type
-{
- size_t size;
- unsigned short alignment;
- unsigned short type;
- struct _ffi_type **elements;
-} ffi_type;
-
-#ifndef LIBFFI_HIDE_BASIC_TYPES
-#if SCHAR_MAX == 127
-# define ffi_type_uchar ffi_type_uint8
-# define ffi_type_schar ffi_type_sint8
-#else
- #error "char size not supported"
-#endif
-
-#if SHRT_MAX == 32767
-# define ffi_type_ushort ffi_type_uint16
-# define ffi_type_sshort ffi_type_sint16
-#elif SHRT_MAX == 2147483647
-# define ffi_type_ushort ffi_type_uint32
-# define ffi_type_sshort ffi_type_sint32
-#else
- #error "short size not supported"
-#endif
-
-#if INT_MAX == 32767
-# define ffi_type_uint ffi_type_uint16
-# define ffi_type_sint ffi_type_sint16
-#elif INT_MAX == 2147483647
-# define ffi_type_uint ffi_type_uint32
-# define ffi_type_sint ffi_type_sint32
-#elif INT_MAX == 9223372036854775807
-# define ffi_type_uint ffi_type_uint64
-# define ffi_type_sint ffi_type_sint64
-#else
- #error "int size not supported"
-#endif
-
-#if LONG_MAX == 2147483647
-# if FFI_LONG_LONG_MAX != FFI_64_BIT_MAX
- #error "no 64-bit data type supported"
-# endif
-#elif LONG_MAX != FFI_64_BIT_MAX
- #error "long size not supported"
-#endif
-
-#if LONG_MAX == 2147483647
-# define ffi_type_ulong ffi_type_uint32
-# define ffi_type_slong ffi_type_sint32
-#elif LONG_MAX == FFI_64_BIT_MAX
-# define ffi_type_ulong ffi_type_uint64
-# define ffi_type_slong ffi_type_sint64
-#else
- #error "long size not supported"
-#endif
-
-/* These are defined in types.c */
-extern ffi_type ffi_type_void;
-extern ffi_type ffi_type_uint8;
-extern ffi_type ffi_type_sint8;
-extern ffi_type ffi_type_uint16;
-extern ffi_type ffi_type_sint16;
-extern ffi_type ffi_type_uint32;
-extern ffi_type ffi_type_sint32;
-extern ffi_type ffi_type_uint64;
-extern ffi_type ffi_type_sint64;
-extern ffi_type ffi_type_float;
-extern ffi_type ffi_type_double;
-extern ffi_type ffi_type_pointer;
-
-#if @HAVE_LONG_DOUBLE@
-extern ffi_type ffi_type_longdouble;
-#else
-#define ffi_type_longdouble ffi_type_double
-#endif
-#endif /* LIBFFI_HIDE_BASIC_TYPES */
-
-typedef enum {
- FFI_OK = 0,
- FFI_BAD_TYPEDEF,
- FFI_BAD_ABI
-} ffi_status;
-
-typedef unsigned FFI_TYPE;
-
-typedef struct {
- ffi_abi abi;
- unsigned nargs;
- ffi_type **arg_types;
- ffi_type *rtype;
- unsigned bytes;
- unsigned flags;
-#ifdef FFI_EXTRA_CIF_FIELDS
- FFI_EXTRA_CIF_FIELDS;
-#endif
-} ffi_cif;
-
-/* ---- Definitions for the raw API -------------------------------------- */
-
-#ifndef FFI_SIZEOF_ARG
-# if LONG_MAX == 2147483647
-# define FFI_SIZEOF_ARG 4
-# elif LONG_MAX == FFI_64_BIT_MAX
-# define FFI_SIZEOF_ARG 8
-# endif
-#endif
-
-#ifndef FFI_SIZEOF_JAVA_RAW
-# define FFI_SIZEOF_JAVA_RAW FFI_SIZEOF_ARG
-#endif
-
-typedef union {
- ffi_sarg sint;
- ffi_arg uint;
- float flt;
- char data[FFI_SIZEOF_ARG];
- void* ptr;
-} ffi_raw;
-
-#if FFI_SIZEOF_JAVA_RAW == 4 && FFI_SIZEOF_ARG == 8
-/* This is a special case for mips64/n32 ABI (and perhaps others) where
- sizeof(void *) is 4 and FFI_SIZEOF_ARG is 8. */
-typedef union {
- signed int sint;
- unsigned int uint;
- float flt;
- char data[FFI_SIZEOF_JAVA_RAW];
- void* ptr;
-} ffi_java_raw;
-#else
-typedef ffi_raw ffi_java_raw;
-#endif
-
-
-void ffi_raw_call (ffi_cif *cif,
- void (*fn)(void),
- void *rvalue,
- ffi_raw *avalue);
-
-void ffi_ptrarray_to_raw (ffi_cif *cif, void **args, ffi_raw *raw);
-void ffi_raw_to_ptrarray (ffi_cif *cif, ffi_raw *raw, void **args);
-size_t ffi_raw_size (ffi_cif *cif);
-
-/* This is analogous to the raw API, except it uses Java parameter */
-/* packing, even on 64-bit machines. I.e. on 64-bit machines */
-/* longs and doubles are followed by an empty 64-bit word. */
-
-void ffi_java_raw_call (ffi_cif *cif,
- void (*fn)(void),
- void *rvalue,
- ffi_java_raw *avalue);
-
-void ffi_java_ptrarray_to_raw (ffi_cif *cif, void **args, ffi_java_raw *raw);
-void ffi_java_raw_to_ptrarray (ffi_cif *cif, ffi_java_raw *raw, void **args);
-size_t ffi_java_raw_size (ffi_cif *cif);
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#if FFI_CLOSURES
-
-#ifdef _MSC_VER
-__declspec(align(8))
-#endif
-typedef struct {
- char tramp[FFI_TRAMPOLINE_SIZE];
- ffi_cif *cif;
- void (*fun)(ffi_cif*,void*,void**,void*);
- void *user_data;
-#ifdef __GNUC__
-} ffi_closure __attribute__((aligned (8)));
-#else
-} ffi_closure;
-#endif
-
-void *ffi_closure_alloc (size_t size, void **code);
-void ffi_closure_free (void *);
-
-ffi_status
-ffi_prep_closure (ffi_closure*,
- ffi_cif *,
- void (*fun)(ffi_cif*,void*,void**,void*),
- void *user_data);
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure*,
- ffi_cif *,
- void (*fun)(ffi_cif*,void*,void**,void*),
- void *user_data,
- void*codeloc);
-
-typedef struct {
- char tramp[FFI_TRAMPOLINE_SIZE];
-
- ffi_cif *cif;
-
-#if !FFI_NATIVE_RAW_API
-
- /* if this is enabled, then a raw closure has the same layout
- as a regular closure. We use this to install an intermediate
- handler to do the transaltion, void** -> ffi_raw*. */
-
- void (*translate_args)(ffi_cif*,void*,void**,void*);
- void *this_closure;
-
-#endif
-
- void (*fun)(ffi_cif*,void*,ffi_raw*,void*);
- void *user_data;
-
-} ffi_raw_closure;
-
-typedef struct {
- char tramp[FFI_TRAMPOLINE_SIZE];
-
- ffi_cif *cif;
-
-#if !FFI_NATIVE_RAW_API
-
- /* if this is enabled, then a raw closure has the same layout
- as a regular closure. We use this to install an intermediate
- handler to do the transaltion, void** -> ffi_raw*. */
-
- void (*translate_args)(ffi_cif*,void*,void**,void*);
- void *this_closure;
-
-#endif
-
- void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*);
- void *user_data;
-
-} ffi_java_raw_closure;
-
-ffi_status
-ffi_prep_raw_closure (ffi_raw_closure*,
- ffi_cif *cif,
- void (*fun)(ffi_cif*,void*,ffi_raw*,void*),
- void *user_data);
-
-ffi_status
-ffi_prep_raw_closure_loc (ffi_raw_closure*,
- ffi_cif *cif,
- void (*fun)(ffi_cif*,void*,ffi_raw*,void*),
- void *user_data,
- void *codeloc);
-
-ffi_status
-ffi_prep_java_raw_closure (ffi_java_raw_closure*,
- ffi_cif *cif,
- void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*),
- void *user_data);
-
-ffi_status
-ffi_prep_java_raw_closure_loc (ffi_java_raw_closure*,
- ffi_cif *cif,
- void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*),
- void *user_data,
- void *codeloc);
-
-#endif /* FFI_CLOSURES */
-
-/* ---- Public interface definition -------------------------------------- */
-
-ffi_status ffi_prep_cif(ffi_cif *cif,
- ffi_abi abi,
- unsigned int nargs,
- ffi_type *rtype,
- ffi_type **atypes);
-
-void ffi_call(ffi_cif *cif,
- void (*fn)(void),
- void *rvalue,
- void **avalue);
-
-/* Useful for eliminating compiler warnings */
-#define FFI_FN(f) ((void (*)(void))f)
-
-/* ---- Definitions shared with assembly code ---------------------------- */
-
-#endif
-
-/* If these change, update src/mips/ffitarget.h. */
-#define FFI_TYPE_VOID 0
-#define FFI_TYPE_INT 1
-#define FFI_TYPE_FLOAT 2
-#define FFI_TYPE_DOUBLE 3
-#if @HAVE_LONG_DOUBLE@
-#define FFI_TYPE_LONGDOUBLE 4
-#else
-#define FFI_TYPE_LONGDOUBLE FFI_TYPE_DOUBLE
-#endif
-#define FFI_TYPE_UINT8 5
-#define FFI_TYPE_SINT8 6
-#define FFI_TYPE_UINT16 7
-#define FFI_TYPE_SINT16 8
-#define FFI_TYPE_UINT32 9
-#define FFI_TYPE_SINT32 10
-#define FFI_TYPE_UINT64 11
-#define FFI_TYPE_SINT64 12
-#define FFI_TYPE_STRUCT 13
-#define FFI_TYPE_POINTER 14
-
-/* This should always refer to the last type code (for sanity checks) */
-#define FFI_TYPE_LAST FFI_TYPE_POINTER
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/.pc/irix/src/java_raw_api.c b/.pc/irix/src/java_raw_api.c
deleted file mode 100644
index 9c5383e..0000000
--- a/.pc/irix/src/java_raw_api.c
+++ /dev/null
@@ -1,356 +0,0 @@
-/* -----------------------------------------------------------------------
- java_raw_api.c - Copyright (c) 1999, 2007, 2008 Red Hat, Inc.
-
- Cloned from raw_api.c
-
- Raw_api.c author: Kresten Krab Thorup <krab@gnu.org>
- Java_raw_api.c author: Hans-J. Boehm <hboehm@hpl.hp.com>
-
- $Id $
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
- ----------------------------------------------------------------------- */
-
-/* This defines a Java- and 64-bit specific variant of the raw API. */
-/* It assumes that "raw" argument blocks look like Java stacks on a */
-/* 64-bit machine. Arguments that can be stored in a single stack */
-/* stack slots (longs, doubles) occupy 128 bits, but only the first */
-/* 64 bits are actually used. */
-
-#include <ffi.h>
-#include <ffi_common.h>
-#include <stdlib.h>
-
-#if !defined(NO_JAVA_RAW_API) && !defined(FFI_NO_RAW_API)
-
-size_t
-ffi_java_raw_size (ffi_cif *cif)
-{
- size_t result = 0;
- int i;
-
- ffi_type **at = cif->arg_types;
-
- for (i = cif->nargs-1; i >= 0; i--, at++)
- {
- switch((*at) -> type) {
- case FFI_TYPE_UINT64:
- case FFI_TYPE_SINT64:
- case FFI_TYPE_DOUBLE:
- result += 2 * FFI_SIZEOF_JAVA_RAW;
- break;
- case FFI_TYPE_STRUCT:
- /* No structure parameters in Java. */
- abort();
- default:
- result += FFI_SIZEOF_JAVA_RAW;
- }
- }
-
- return result;
-}
-
-
-void
-ffi_java_raw_to_ptrarray (ffi_cif *cif, ffi_java_raw *raw, void **args)
-{
- unsigned i;
- ffi_type **tp = cif->arg_types;
-
-#if WORDS_BIGENDIAN
-
- for (i = 0; i < cif->nargs; i++, tp++, args++)
- {
- switch ((*tp)->type)
- {
- case FFI_TYPE_UINT8:
- case FFI_TYPE_SINT8:
- *args = (void*) ((char*)(raw++) + 3);
- break;
-
- case FFI_TYPE_UINT16:
- case FFI_TYPE_SINT16:
- *args = (void*) ((char*)(raw++) + 2);
- break;
-
-#if FFI_SIZEOF_JAVA_RAW == 8
- case FFI_TYPE_UINT64:
- case FFI_TYPE_SINT64:
- case FFI_TYPE_DOUBLE:
- *args = (void *)raw;
- raw += 2;
- break;
-#endif
-
- case FFI_TYPE_POINTER:
- *args = (void*) &(raw++)->ptr;
- break;
-
- default:
- *args = raw;
- raw +=
- ALIGN ((*tp)->size, sizeof(ffi_java_raw)) / sizeof(ffi_java_raw);
- }
- }
-
-#else /* WORDS_BIGENDIAN */
-
-#if !PDP
-
- /* then assume little endian */
- for (i = 0; i < cif->nargs; i++, tp++, args++)
- {
-#if FFI_SIZEOF_JAVA_RAW == 8
- switch((*tp)->type) {
- case FFI_TYPE_UINT64:
- case FFI_TYPE_SINT64:
- case FFI_TYPE_DOUBLE:
- *args = (void*) raw;
- raw += 2;
- break;
- default:
- *args = (void*) raw++;
- }
-#else /* FFI_SIZEOF_JAVA_RAW != 8 */
- *args = (void*) raw;
- raw +=
- ALIGN ((*tp)->size, sizeof(ffi_java_raw)) / sizeof(ffi_java_raw);
-#endif /* FFI_SIZEOF_JAVA_RAW == 8 */
- }
-
-#else
-#error "pdp endian not supported"
-#endif /* ! PDP */
-
-#endif /* WORDS_BIGENDIAN */
-}
-
-void
-ffi_java_ptrarray_to_raw (ffi_cif *cif, void **args, ffi_java_raw *raw)
-{
- unsigned i;
- ffi_type **tp = cif->arg_types;
-
- for (i = 0; i < cif->nargs; i++, tp++, args++)
- {
- switch ((*tp)->type)
- {
- case FFI_TYPE_UINT8:
-#if WORDS_BIGENDIAN
- *(UINT32*)(raw++) = *(UINT8*) (*args);
-#else
- (raw++)->uint = *(UINT8*) (*args);
-#endif
- break;
-
- case FFI_TYPE_SINT8:
-#if WORDS_BIGENDIAN
- *(SINT32*)(raw++) = *(SINT8*) (*args);
-#else
- (raw++)->sint = *(SINT8*) (*args);
-#endif
- break;
-
- case FFI_TYPE_UINT16:
-#if WORDS_BIGENDIAN
- *(UINT32*)(raw++) = *(UINT16*) (*args);
-#else
- (raw++)->uint = *(UINT16*) (*args);
-#endif
- break;
-
- case FFI_TYPE_SINT16:
-#if WORDS_BIGENDIAN
- *(SINT32*)(raw++) = *(SINT16*) (*args);
-#else
- (raw++)->sint = *(SINT16*) (*args);
-#endif
- break;
-
- case FFI_TYPE_UINT32:
-#if WORDS_BIGENDIAN
- *(UINT32*)(raw++) = *(UINT32*) (*args);
-#else
- (raw++)->uint = *(UINT32*) (*args);
-#endif
- break;
-
- case FFI_TYPE_SINT32:
-#if WORDS_BIGENDIAN
- *(SINT32*)(raw++) = *(SINT32*) (*args);
-#else
- (raw++)->sint = *(SINT32*) (*args);
-#endif
- break;
-
- case FFI_TYPE_FLOAT:
- (raw++)->flt = *(FLOAT32*) (*args);
- break;
-
-#if FFI_SIZEOF_JAVA_RAW == 8
- case FFI_TYPE_UINT64:
- case FFI_TYPE_SINT64:
- case FFI_TYPE_DOUBLE:
- raw->uint = *(UINT64*) (*args);
- raw += 2;
- break;
-#endif
-
- case FFI_TYPE_POINTER:
- (raw++)->ptr = **(void***) args;
- break;
-
- default:
-#if FFI_SIZEOF_JAVA_RAW == 8
- FFI_ASSERT(0); /* Should have covered all cases */
-#else
- memcpy ((void*) raw->data, (void*)*args, (*tp)->size);
- raw +=
- ALIGN ((*tp)->size, sizeof(ffi_java_raw)) / sizeof(ffi_java_raw);
-#endif
- }
- }
-}
-
-#if !FFI_NATIVE_RAW_API
-
-static void
-ffi_java_rvalue_to_raw (ffi_cif *cif, void *rvalue)
-{
-#if WORDS_BIGENDIAN && FFI_SIZEOF_ARG == 8
- switch (cif->rtype->type)
- {
- case FFI_TYPE_UINT8:
- case FFI_TYPE_UINT16:
- case FFI_TYPE_UINT32:
- *(UINT64 *)rvalue <<= 32;
- break;
-
- case FFI_TYPE_SINT8:
- case FFI_TYPE_SINT16:
- case FFI_TYPE_SINT32:
- case FFI_TYPE_INT:
-#if FFI_SIZEOF_JAVA_RAW == 4
- case FFI_TYPE_POINTER:
-#endif
- *(SINT64 *)rvalue <<= 32;
- break;
-
- default:
- break;
- }
-#endif
-}
-
-static void
-ffi_java_raw_to_rvalue (ffi_cif *cif, void *rvalue)
-{
-#if WORDS_BIGENDIAN && FFI_SIZEOF_ARG == 8
- switch (cif->rtype->type)
- {
- case FFI_TYPE_UINT8:
- case FFI_TYPE_UINT16:
- case FFI_TYPE_UINT32:
- *(UINT64 *)rvalue >>= 32;
- break;
-
- case FFI_TYPE_SINT8:
- case FFI_TYPE_SINT16:
- case FFI_TYPE_SINT32:
- case FFI_TYPE_INT:
- *(SINT64 *)rvalue >>= 32;
- break;
-
- default:
- break;
- }
-#endif
-}
-
-/* This is a generic definition of ffi_raw_call, to be used if the
- * native system does not provide a machine-specific implementation.
- * Having this, allows code to be written for the raw API, without
- * the need for system-specific code to handle input in that format;
- * these following couple of functions will handle the translation forth
- * and back automatically. */
-
-void ffi_java_raw_call (ffi_cif *cif, void (*fn)(void), void *rvalue,
- ffi_java_raw *raw)
-{
- void **avalue = (void**) alloca (cif->nargs * sizeof (void*));
- ffi_java_raw_to_ptrarray (cif, raw, avalue);
- ffi_call (cif, fn, rvalue, avalue);
- ffi_java_rvalue_to_raw (cif, rvalue);
-}
-
-#if FFI_CLOSURES /* base system provides closures */
-
-static void
-ffi_java_translate_args (ffi_cif *cif, void *rvalue,
- void **avalue, void *user_data)
-{
- ffi_java_raw *raw = (ffi_java_raw*)alloca (ffi_java_raw_size (cif));
- ffi_raw_closure *cl = (ffi_raw_closure*)user_data;
-
- ffi_java_ptrarray_to_raw (cif, avalue, raw);
- (*cl->fun) (cif, rvalue, raw, cl->user_data);
- ffi_java_raw_to_rvalue (cif, rvalue);
-}
-
-ffi_status
-ffi_prep_java_raw_closure_loc (ffi_java_raw_closure* cl,
- ffi_cif *cif,
- void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*),
- void *user_data,
- void *codeloc)
-{
- ffi_status status;
-
- status = ffi_prep_closure_loc ((ffi_closure*) cl,
- cif,
- &ffi_java_translate_args,
- codeloc,
- codeloc);
- if (status == FFI_OK)
- {
- cl->fun = fun;
- cl->user_data = user_data;
- }
-
- return status;
-}
-
-/* Again, here is the generic version of ffi_prep_raw_closure, which
- * will install an intermediate "hub" for translation of arguments from
- * the pointer-array format, to the raw format */
-
-ffi_status
-ffi_prep_java_raw_closure (ffi_java_raw_closure* cl,
- ffi_cif *cif,
- void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*),
- void *user_data)
-{
- return ffi_prep_java_raw_closure_loc (cl, cif, fun, user_data, cl);
-}
-
-#endif /* FFI_CLOSURES */
-#endif /* !FFI_NATIVE_RAW_API */
-#endif /* !FFI_NO_RAW_API */
diff --git a/.pc/irix/src/mips/ffitarget.h b/.pc/irix/src/mips/ffitarget.h
deleted file mode 100644
index 4c247b8..0000000
--- a/.pc/irix/src/mips/ffitarget.h
+++ /dev/null
@@ -1,242 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
- ffitarget.h - Copyright (c) 1996-2003 Red Hat, Inc.
- Target configuration macros for MIPS.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
-
- ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-#ifdef linux
-# include <asm/sgidefs.h>
-#elif defined(__rtems__)
-/*
- * Subprogram calling convention - copied from sgidefs.h
- */
-#define _MIPS_SIM_ABI32 1
-#define _MIPS_SIM_NABI32 2
-#define _MIPS_SIM_ABI64 3
-#else
-# include <sgidefs.h>
-#endif
-
-# ifndef _ABIN32
-# define _ABIN32 _MIPS_SIM_NABI32
-# endif
-# ifndef _ABI64
-# define _ABI64 _MIPS_SIM_ABI64
-# endif
-# ifndef _ABIO32
-# define _ABIO32 _MIPS_SIM_ABI32
-# endif
-
-#if !defined(_MIPS_SIM)
--- something is very wrong --
-#else
-# if (_MIPS_SIM==_ABIN32 && defined(_ABIN32)) || (_MIPS_SIM==_ABI64 && defined(_ABI64))
-# define FFI_MIPS_N32
-# else
-# if (_MIPS_SIM==_ABIO32 && defined(_ABIO32))
-# define FFI_MIPS_O32
-# else
--- this is an unsupported platform --
-# endif
-# endif
-#endif
-
-#ifdef FFI_MIPS_O32
-/* O32 stack frames have 32bit integer args */
-# define FFI_SIZEOF_ARG 4
-#else
-/* N32 and N64 frames have 64bit integer args */
-# define FFI_SIZEOF_ARG 8
-# if _MIPS_SIM == _ABIN32
-# define FFI_SIZEOF_JAVA_RAW 4
-# endif
-#endif
-
-#define FFI_FLAG_BITS 2
-
-/* SGI's strange assembler requires that we multiply by 4 rather
- than shift left by FFI_FLAG_BITS */
-
-#define FFI_ARGS_D FFI_TYPE_DOUBLE
-#define FFI_ARGS_F FFI_TYPE_FLOAT
-#define FFI_ARGS_DD FFI_TYPE_DOUBLE * 4 + FFI_TYPE_DOUBLE
-#define FFI_ARGS_FF FFI_TYPE_FLOAT * 4 + FFI_TYPE_FLOAT
-#define FFI_ARGS_FD FFI_TYPE_DOUBLE * 4 + FFI_TYPE_FLOAT
-#define FFI_ARGS_DF FFI_TYPE_FLOAT * 4 + FFI_TYPE_DOUBLE
-
-/* Needed for N32 structure returns */
-#define FFI_TYPE_SMALLSTRUCT FFI_TYPE_UINT8
-#define FFI_TYPE_SMALLSTRUCT2 FFI_TYPE_SINT8
-
-#if 0
-/* The SGI assembler can't handle this.. */
-#define FFI_TYPE_STRUCT_DD (( FFI_ARGS_DD ) << 4) + FFI_TYPE_STRUCT
-/* (and so on) */
-#else
-/* ...so we calculate these by hand! */
-#define FFI_TYPE_STRUCT_D 61
-#define FFI_TYPE_STRUCT_F 45
-#define FFI_TYPE_STRUCT_DD 253
-#define FFI_TYPE_STRUCT_FF 173
-#define FFI_TYPE_STRUCT_FD 237
-#define FFI_TYPE_STRUCT_DF 189
-#define FFI_TYPE_STRUCT_SMALL 93
-#define FFI_TYPE_STRUCT_SMALL2 109
-
-/* and for n32 soft float, add 16 * 2^4 */
-#define FFI_TYPE_STRUCT_D_SOFT 317
-#define FFI_TYPE_STRUCT_F_SOFT 301
-#define FFI_TYPE_STRUCT_DD_SOFT 509
-#define FFI_TYPE_STRUCT_FF_SOFT 429
-#define FFI_TYPE_STRUCT_FD_SOFT 493
-#define FFI_TYPE_STRUCT_DF_SOFT 445
-#define FFI_TYPE_STRUCT_SOFT 16
-#endif
-
-#ifdef LIBFFI_ASM
-#define v0 $2
-#define v1 $3
-#define a0 $4
-#define a1 $5
-#define a2 $6
-#define a3 $7
-#define a4 $8
-#define a5 $9
-#define a6 $10
-#define a7 $11
-#define t0 $8
-#define t1 $9
-#define t2 $10
-#define t3 $11
-#define t4 $12
-#define t5 $13
-#define t6 $14
-#define t7 $15
-#define t8 $24
-#define t9 $25
-#define ra $31
-
-#ifdef FFI_MIPS_O32
-# define REG_L lw
-# define REG_S sw
-# define SUBU subu
-# define ADDU addu
-# define SRL srl
-# define LI li
-#else /* !FFI_MIPS_O32 */
-# define REG_L ld
-# define REG_S sd
-# define SUBU dsubu
-# define ADDU daddu
-# define SRL dsrl
-# define LI dli
-# if (_MIPS_SIM==_ABI64)
-# define LA dla
-# define EH_FRAME_ALIGN 3
-# define FDE_ADDR_BYTES .8byte
-# else
-# define LA la
-# define EH_FRAME_ALIGN 2
-# define FDE_ADDR_BYTES .4byte
-# endif /* _MIPS_SIM==_ABI64 */
-#endif /* !FFI_MIPS_O32 */
-#else /* !LIBFFI_ASM */
-# ifdef __GNUC__
-# ifdef FFI_MIPS_O32
-/* O32 stack frames have 32bit integer args */
-typedef unsigned int ffi_arg __attribute__((__mode__(__SI__)));
-typedef signed int ffi_sarg __attribute__((__mode__(__SI__)));
-#else
-/* N32 and N64 frames have 64bit integer args */
-typedef unsigned int ffi_arg __attribute__((__mode__(__DI__)));
-typedef signed int ffi_sarg __attribute__((__mode__(__DI__)));
-# endif
-# else
-# ifdef FFI_MIPS_O32
-/* O32 stack frames have 32bit integer args */
-typedef __uint32_t ffi_arg;
-typedef __int32_t ffi_sarg;
-# else
-/* N32 and N64 frames have 64bit integer args */
-typedef __uint64_t ffi_arg;
-typedef __int64_t ffi_sarg;
-# endif
-# endif /* __GNUC__ */
-
-typedef enum ffi_abi {
- FFI_FIRST_ABI = 0,
- FFI_O32,
- FFI_N32,
- FFI_N64,
- FFI_O32_SOFT_FLOAT,
- FFI_N32_SOFT_FLOAT,
- FFI_N64_SOFT_FLOAT,
- FFI_LAST_ABI,
-
-#ifdef FFI_MIPS_O32
-#ifdef __mips_soft_float
- FFI_DEFAULT_ABI = FFI_O32_SOFT_FLOAT
-#else
- FFI_DEFAULT_ABI = FFI_O32
-#endif
-#else
-# if _MIPS_SIM==_ABI64
-# ifdef __mips_soft_float
- FFI_DEFAULT_ABI = FFI_N64_SOFT_FLOAT
-# else
- FFI_DEFAULT_ABI = FFI_N64
-# endif
-# else
-# ifdef __mips_soft_float
- FFI_DEFAULT_ABI = FFI_N32_SOFT_FLOAT
-# else
- FFI_DEFAULT_ABI = FFI_N32
-# endif
-# endif
-#endif
-} ffi_abi;
-
-#define FFI_EXTRA_CIF_FIELDS unsigned rstruct_flag
-#endif /* !LIBFFI_ASM */
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#if defined(FFI_MIPS_O32)
-#define FFI_CLOSURES 1
-#define FFI_TRAMPOLINE_SIZE 20
-#else
-/* N32/N64. */
-# define FFI_CLOSURES 1
-#if _MIPS_SIM==_ABI64
-#define FFI_TRAMPOLINE_SIZE 52
-#else
-#define FFI_TRAMPOLINE_SIZE 20
-#endif
-#endif /* FFI_MIPS_O32 */
-#define FFI_NATIVE_RAW_API 0
-
-#endif
-
diff --git a/.pc/kfreebsd-mmap/.timestamp b/.pc/kfreebsd-mmap/.timestamp
deleted file mode 100644
index e69de29..0000000
--- a/.pc/kfreebsd-mmap/.timestamp
+++ /dev/null
diff --git a/.pc/kfreebsd-mmap/ChangeLog b/.pc/kfreebsd-mmap/ChangeLog
deleted file mode 100644
index 6512f37..0000000
--- a/.pc/kfreebsd-mmap/ChangeLog
+++ /dev/null
@@ -1,4697 +0,0 @@
-2012-02-10 Kai Tietz <ktietz@redhat.com>
-
- * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
- windows target.
- * configure: Regenerated.
-
-2012-02-08 Kai Tietz <ktietz@redhat.com>
-
- * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
- also FFI_THISCALL.
- * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
- (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
- (ffi_prep_closure_loc): Add FFI_THISCALL support.
- * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
- * src/x86/win32.S (ffi_closure_THISCALL): New closure code
- for thiscall-calling convention.
- * testsuite/libffi.call/closure_thiscall.c: New test.
-
-2012-01-28 Kai Tietz <ktietz@redhat.com>
-
- * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
- argument to prototype for specify calling-convention.
- (ffi_call): Add support for stdcall/thiscall convention.
- (ffi_prep_args): Likewise.
- (ffi_raw_call): Likewise.
- * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
- FFI_FASTCALL.
- * src/x86/win32.S (_ffi_call_win32): Add support for
- fastcall/thiscall calling-convention calls.
- * testsuite/libffi.call/fastthis1_win32.c: New test.
- * testsuite/libffi.call/fastthis2_win32.c: New test.
- * testsuite/libffi.call/fastthis3_win32.c: New test.
- * testsuite/libffi.call/strlen2_win32.c: New test.
- * testsuite/libffi.call/many2_win32.c: New test.
- * testsuite/libffi.call/struct1_win32.c: New test.
- * testsuite/libffi.call/struct2_win32.c: New test.
-
-2012-01-23 Andreas Schwab <schwab@linux-m68k.org>
-
- * src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
- mc68000. Test for __HAVE_68881__ in addition to __MC68881__.
-
-2012-01-19 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/48496
- * src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
-
-2012-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (i?86-*-*): Set TARGET to X86_64.
- * configure: Regenerate.
-
-2011-12-07 Andrew Pinski <apinski@cavium.com>
-
- PR libffi/50051
- * src/mips/n32.S: Add ".set mips4".
-
-2011-11-21 Andreas Tobler <andreast@fgznet.ch>
-
- * configure: Regenerate.
-
-2011-11-12 Timothy Wall <twall@users.sf.net>
-
- * src/arm/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV): Max
- alignment of 4 for wince on ARM.
-
-2011-11-12 Kyle Moffett <Kyle.D.Moffett@boeing.com>
- Anthony Green <green@moxielogic.com>
-
- * src/ppc/sysv.S, src/ppc/ffi.c: Remove use of ppc string
- instructions (not available on some cores, like the PPC440).
-
-2011-11-12 Kimura Wataru <kimuraw@i.nifty.jp>
-
- * m4/ax_enable_builddir: Change from string comparison to numeric
- comparison for wc output.
- * configure.ac: Enable FFI_MMAP_EXEC_WRIT for darwin11 aka Mac OS
- X 10.7.
- * configure: Rebuilt.
-
-2011-11-10 Richard Henderson <rth@redhat.com>
-
- * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
- * configure, aclocal.m4: Rebuild.
-
-2011-09-04 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/49594
- * src/powerpc/darwin_closure.S (stubs): Make the stub binding
- helper reference track the architecture pointer size.
-
-2011-08-25 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
- instructions.
- * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
-
-2011-07-11 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46660
- * testsuite/libffi.call/cls_double_va.c: xfail dg-output on
- mips-sgi-irix6*.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
- PRId8 instead of %hhu, %hhd.
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
- PRIu8): Define.
- [__sgi__] (PRId8, PRIu8): Define.
-
-2011-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
- Define.
- Use them to handle ELF vs. ECOFF differences.
- [__osf__] (_GLOBAL__F_ffi_call_osf): Define.
-
-2011-03-30 Timothy Wall <twall@users.sf.net>
-
- * src/powerpc/darwin.S: Fix unknown FDE encoding.
- * src/powerpc/darwin_closure.S: ditto.
-
-2011-02-25 Anthony Green <green@moxielogic.com>
-
- * src/powerpc/ffi.c (ffi_prep_closure_loc): Allow for more
- 32-bit ABIs.
-
-2011-02-15 Anthony Green <green@moxielogic.com>
-
- * m4/ax_cc_maxopt.m4: Don't -malign-double or use -ffast-math.
- * configure: Rebuilt.
-
-2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2011-02-13 Anthony Green <green@moxielogic.com>
-
- * include/ffi_common.h (UNLIKELY, LIKELY): Define.
- * src/x86/ffi64.c (UNLIKELY, LIKELY): Remove definition.
- * src/prep_cif.c (UNLIKELY, LIKELY): Remove definition.
-
- * src/prep_cif.c (initialize_aggregate): Convert assertion into
- FFI_BAD_TYPEDEF return. Initialize arg size and alignment to 0.
-
- * src/pa/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
- just return FFI_BAD_ABI when things are wrong.
- * src/arm/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/powerpc/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/mips/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/ia64/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/avr32/ffi.c (ffi_prep_closure_loc): Ditto.
-
-2011-02-11 Anthony Green <green@moxielogic.com>
-
- * src/sparc/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
- just return FFI_BAD_ABI when things are wrong.
-
-2011-02-09 Stuart Shelton <srcshelton@gmail.com>
-
- http://bugs.gentoo.org/show_bug.cgi?id=286911
- * src/mips/ffitarget.h: Clean up error messages.
- * src/java_raw_api.c (ffi_java_translate_args): Cast raw arg to
- ffi_raw*.
- * include/ffi.h.in: Add pragma for SGI compiler.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * configure.ac: Add powerpc64-*-darwin* support.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * README: Mention Interix.
-
-2011-02-09 Jonathan Callen <abcd@gentoo.org>
-
- * configure.ac: Add Interix to win32/cygwin/mingw case.
- * configure: Ditto.
- * src/closures.c: Treat Interix like Cygwin, instead of as a
- generic win32.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * testsuite/libffi.call/err_bad_typedef.c: Remove xfail.
- * testsuite/libffi.call/err_bad_abi.c: Remove xfail.
- * src/x86/ffi64.c (UNLIKELY, LIKELY): Define.
- (ffi_prep_closure_loc): Check for bad ABI.
- * src/prep_cif.c (UNLIKELY, LIKELY): Define.
- (initialize_aggregate): Check for bad types.
-
-2011-02-09 Landon Fuller <landonf@plausible.coop>
-
- * Makefile.am (EXTRA_DIST): Add build-ios.sh, src/arm/gentramp.sh,
- src/arm/trampoline.S.
- (nodist_libffi_la_SOURCES): Add src/arc/trampoline.S.
- * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Define.
- * src/arm/ffi.c (ffi_trampoline_table)
- (ffi_closure_trampoline_table_page, ffi_trampoline_table_entry)
- (FFI_TRAMPOLINE_CODELOC_CONFIG, FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET)
- (FFI_TRAMPOLINE_COUNT, ffi_trampoline_lock, ffi_trampoline_tables)
- (ffi_trampoline_table_alloc, ffi_closure_alloc, ffi_closure_free):
- Define for FFI_EXEC_TRAMPOLINE_TABLE case (iOS).
- (ffi_prep_closure_loc): Handl FFI_EXEC_TRAMPOLINE_TABLE case
- separately.
- * src/arm/sysv.S: Handle Apple iOS host.
- * src/closures.c: Handle FFI_EXEC_TRAMPOLINE_TABLE case.
- * build-ios.sh: New file.
- * fficonfig.h.in, configure, Makefile.in: Rebuilt.
- * README: Mention ARM iOS.
-
-2011-02-08 Oren Held <orenhe@il.ibm.com>
-
- * src/dlmalloc.c (_STRUCT_MALLINFO): Define in order to avoid
- redefinition of mallinfo on HP-UX.
-
-2011-02-08 Ginn Chen <ginn.chen@oracle.com>
-
- * src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
- aggregate return ABI. Flush cache.
- (ffi_prep_closure_loc): Flush cache.
-
-2011-02-11 Anthony Green <green@moxielogic.com>
-
- From Tom Honermann <tom.honermann@oracle.com>:
- * src/powerpc/aix.S (ffi_call_AIX): Support for xlc toolchain on
- AIX. Declare .ffi_prep_args. Insert nops after branch
- instructions so that the AIX linker can insert TOC reload
- instructions.
- * src/powerpc/aix_closure.S: Declare .ffi_closure_helper_DARWIN.
-
-2011-02-08 Ed <ed@kdtc.net>
-
- * src/powerpc/asm.h: Fix grammar nit in comment.
-
-2011-02-08 Uli Link <ul.mcamafia@linkitup.de>
-
- * include/ffi.h.in (FFI_64_BIT_MAX): Define and use.
-
-2011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46661
- * testsuite/libffi.call/cls_pointer.c (main): Cast void * to
- uintptr_t first.
- * testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
-
-2011-02-08 Rafael Avila de Espindola <respindola@mozilla.com>
-
- * configure.ac: Fix x86 test for pc related relocs.
- * configure: Rebuilt.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
- Handle case when CPU variant does not have long double support.
- * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
- and cores with soft floating point.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * configure.ac: Add mips*-*-rtems* support.
- * configure: Regenerate.
- * src/mips/ffitarget.h: Ensure needed constants are available
- for targets which do not have sgidefs.h.
-
-2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR target/40125
- * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
- * configure: Regenerate.
-
-2010-12-18 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/29152
- PR libffi/42378
- * src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
- (FFI_TRAMPOLINE_SIZE): Update for Darwin64.
- * src/powerpc/darwin.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
- backslashes.
- (libffi_cv_as_string_pseudo_op): Likewise.
- * configure: Regenerate.
-
-2010-12-03 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
- (ffi_closure_VFP): Same.
- (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
- directive.
-
-2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
- (PRIuPTR): Define.
-
-2010-11-29 Richard Henderson <rth@redhat.com>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
- (.eh_frame): Use FDE_ENCODING.
- (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
-
-2010-11-22 Jacek Caban <jacek@codeweavers.com>
-
- * configure.ac: Check for symbol underscores on mingw-w64.
- * configure: Rebuilt.
- * src/x86/win64.S: Correctly access extern symbols in respect to
- underscores.
-
-2010-11-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp: Rename ...
- * testsuite/lib/libffi.exp: ... to this.
- * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
- * libffi/testsuite/libffi.special/special.exp: Likewise.
-
-2010-10-28 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
- code, new parameter, and return value. Update comments.
- (ffi_prep_cif_machdep): Add case for VFP struct return values. Add
- call to layout_vfp_args().
- (ffi_call_SYSV): Update declaration.
- (ffi_call_VFP): New declaration.
- (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
- when ABI is FFI_VFP.
- (ffi_closure_VFP): New declaration.
- (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
- ffi_prep_incoming_args_SYSV().
- (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
- case handling.
- (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
- construction under VFP hard-float.
- (rec_vfp_type_p): New function.
- (vfp_type_p): Same.
- (place_vfp_arg): Same.
- (layout_vfp_args): Same.
- * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
- based on __ARM_PCS_VFP.
- (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
- fields.
- (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
- (FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
- * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
- direct call. Move function pointer load upwards.
- (ffi_call_VFP): New function.
- (ffi_closure_VFP): Same.
-
- * testsuite/lib/libffi-dg.exp (check-flags): New function.
- (dg-skip-if): New function.
- * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
- and compiler options include -mfloat-abi=hard.
- * testsuite/libffi.call/cls_longdouble_va.c: Same.
-
-2010-10-01 Jakub Jelinek <jakub@redhat.com>
-
- PR libffi/45677
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
- a multiple of 8.
- * testsuite/libffi.call/many2.c: New test.
-
-2010-08-20 Mark Wielaard <mjw@redhat.com>
-
- * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
- returns NULL.
-
-2010-08-09 Andreas Tobler <andreast@fgznet.ch>
-
- * configure.ac: Add target powerpc64-*-freebsd*.
- * configure: Regenerate.
- * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
- -mlong-double-128 only to linux targets.
- * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
- * testsuite/libffi.call/cls_longdouble.c: Likewise.
- * testsuite/libffi.call/huge_struct.c: Likewise.
-
-2010-08-05 Dan Witte <dwitte@mozilla.com>
-
- * Makefile.am: Pass FFI_DEBUG define to msvcc.sh for linking to the
- debug CRT when --enable-debug is given.
- * configure.ac: Define it.
- * msvcc.sh: Translate -g and -DFFI_DEBUG appropriately.
-
-2010-08-04 Dan Witte <dwitte@mozilla.com>
-
- * src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64
- platforms.
- * src/x86/ffi.c: Remove redundant ifdef checks.
- * src/prep_cif.c: Push stack space computation into src/x86/ffi.c
- for X86_ANY so return value space doesn't get added twice.
-
-2010-08-03 Neil Rashbrooke <neil@parkwaycc.co.uk>
-
- * msvcc.sh: Don't pass -safeseh to ml64 because behavior is buggy.
-
-2010-07-22 Dan Witte <dwitte@mozilla.com>
-
- * src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
- * src/prep_cif.c: Fix ABI assertion.
- * src/cris/ffi.c: Ditto.
-
-2010-07-10 Evan Phoenix <evan@fallingsnow.net>
-
- * src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
-
-2010-07-07 Dan Horák <dan@danny.cz>
-
- * include/ffi.h.in: Protect #define with #ifndef.
- * src/powerpc/ffitarget.h: Ditto.
- * src/s390/ffitarget.h: Ditto.
- * src/sparc/ffitarget.h: Ditto.
-
-2010-07-07 Neil Roberts <neil@linux.intel.com>
-
- * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
- 16-bytes.
-
-2010-07-02 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
- * Makefile.in: Regenerated.
-
-2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
- output, too.
- (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
- (libffi_cv_as_string_pseudo_op): Check for .string.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
-
-2010-05-11 Dan Witte <dwitte@mozilla.com>
-
- * doc/libffi.tex: Document previous change.
-
-2010-05-11 Makoto Kato <m_kato@ga2.so-net.ne.jp>
-
- * src/x86/ffi.c (ffi_call): Don't copy structs passed by value.
-
-2010-05-05 Michael Kohler <michaelkohler@live.com>
-
- * src/dlmalloc.c (dlfree): Fix spelling.
- * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
- * configure.ac: Ditto.
- * configure: Rebuilt.
-
-2010-04-13 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Build with -W3 instead of -Wall.
- * src/powerpc/ffi_darwin.c: Remove build warnings.
- * src/x86/ffi.c: Ditto.
- * src/x86/ffitarget.h: Ditto.
-
-2010-04-12 Dan Witte <dwitte@mozilla.com>
- Walter Meinl <wuno@lsvw.de>
-
- * configure.ac: Add OS/2 support.
- * configure: Rebuilt.
- * src/closures.c: Ditto.
- * src/dlmalloc.c: Ditto.
- * src/x86/win32.S: Ditto.
-
-2010-04-07 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
-
-2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2010-03-30 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Disable build warnings.
- * README (tested): Clarify windows build procedure.
-
-2010-03-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * libffi/src/x86/unix64.S (.eh_frame)
- [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
-
-2010-03-14 Matthias Klose <doko@ubuntu.com>
-
- * src/x86/ffi64.c: Fix typo in comment.
- * src/x86/ffi.c: Use /* ... */ comment style.
-
-2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/libffi.texi (The Closure API): Fix typo.
- * doc/libffi.info: Remove.
-
-2010-02-15 Matthias Klose <doko@ubuntu.com>
-
- * src/arm/sysv.S (__ARM_ARCH__): Define for processor
- __ARM_ARCH_7EM__.
-
-2010-01-15 Anthony Green <green@redhat.com>
-
- * README: Add notes on building with Microsoft Visual C++.
-
-2010-01-15 Daniel Witte <dwitte@mozilla.com>
-
- * msvcc.sh: New file.
-
- * src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
- * src/x86/ffi.c: Tweak function declaration and remove excess
- parens.
- * include/ffi.h.in: Add __declspec(align(8)) to typedef struct
- ffi_closure.
-
- * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
- function ffi_call_win32 on X86_WIN32.
- * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
- (ffi_call_STDCALL): Remove.
-
- * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
- to ffi_prep_cif_machdep for x86.
- * src/x86/ffi.c (ffi_prep_cif_machdep): To here.
-
-2010-01-15 Oliver Kiddle <okiddle@yahoo.co.uk>
-
- * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
- Sun Studio compiler compatibility.
-
-2010-01-12 Conrad Irwin <conrad.irwin@gmail.com>
-
- * doc/libffi.texi: Add closure example.
-
-2010-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40701
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
- PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
- * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
- alpha*-dec-osf*.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/return_ll1.c: Likewise.
- * testsuite/libffi.call/stret_medium2.c: Likewise.
- * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
- MAP_FAILED to char *.
-
-2010-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
-
-2009-12-31 Anthony Green <green@redhat.com>
-
- * README: Update for libffi 3.0.9.
-
-2009-12-27 Matthias Klose <doko@ubuntu.com>
-
- * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
- appropriate.
- * configure: Rebuilt.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
- avr32*-*-*.
- * testsuite/libffi.call/cls_double_va.c: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
- and inttypes.h.
- * testsuite/libffi.special/unwindtest.cc: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-openbsd*.
- * configure: Rebuilt.
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
- openbsd programs with -lpthread.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
- mips*-*-* and arm*-*-*.
- * testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c,
- testsuite/libffi.call/stret_medium2.c,
- testsuite/libffi.call/stret_medium.c,
- testsuite/libffi.call/stret_large.c,
- testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
-
-2009-12-31 Kay Tietz <ktietz70@googlemail.com>
-
- * testsuite/libffi.call/ffitest.h,
- testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
- definitions.
-
-2009-12-31 Carlo Bramini <carlo.bramix@libero.it>
-
- * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
- * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
-
-2009-12-31 Anthony Green <green@redhat.com>
- Blake Chaffin.
-
- * testsuite/libffi.call/huge_struct.c: New test case from Blake
- Chaffin @ Apple.
-
-2009-12-28 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
- local variables.
- (aix_adjust_aggregate_sizes): New function.
- (ffi_prep_cif_machdep): Call it.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
- * configure: Regenerate.
- * fficonfig.h.in: Likewise.
- * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
- Solaris/x86.
-
-2009-12-26 Andreas Schwab <schwab@linux-m68k.org>
-
- * 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.
-
-2009-12-25 Matthias Klose <doko@ubuntu.com>
-
- * man/ffi_call.3: Fix #include in examples.
- * doc/libffi.texi: Add dircategory.
-
-2009-12-25 Frank Everdij <f.p.x.everdij@tudelft.nl>
-
- * include/ffi.h.in: Placed '__GNUC__' ifdef around
- '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
- IRIX MIPSPro c99.
- * include/ffi_common.h: Added '__sgi' define to non
- '__attribute__((__mode__()))' integer typedefs.
- * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
- ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
- (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
- FFI_LONGDOUBLE support and alignment(N32 only).
- * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
- fixed non '__attribute__((__mode__()))' integer typedefs.
- * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
- since they are Linux/GNU Assembler specific.
-
-2009-12-25 Bradley Smith <brad@brad-smith.co.uk>
-
- * configure.ac, Makefile.am, src/avr32/ffi.c,
- src/avr32/ffitarget.h,
- src/avr32/sysv.S: Add AVR32 port.
- * configure, Makefile.in: Rebuilt.
-
-2009-12-21 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
- * configure: Regenerate.
-
-2009-12-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
- type on HP-UX.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
- double' arguments.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40700
- * src/closures.c [X86_64 && __sun__ && __svr4__]
- (FFI_MMAP_EXEC_WRIT): Define.
-
-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.
-
-2009-12-07 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
- typo.
-
-2009-12-05 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
- code.
- * src/powerpc/aix_closure.S: Same.
-
-2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
- linux64_closure.S.
-
-2009-12-04 Uros Bizjak <ubizjak@gmail.com>
-
- 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.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
- pfr for long double split between fpr13 and stack.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
- fparg_count twice for long double.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- PR libffi/42243
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03 Uros Bizjak <ubizjak@gmail.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
- Remove xfails for x86 linux targets.
-
-2009-12-02 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
- case.
-
-2009-12-01 David Edelsohn <edelsohn@gnu.org>
-
- * 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.
-
-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.
-
-2009-11-02 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/41908
- * testsuite/libffi.call/testclosure.c: New test.
-
-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.
-
-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.
-
-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.
-
-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.
-
-2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.am (install-html, install-pdf): Remove.
- * Makefile.in: Regenerate.
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2011-08-22 Jasper Lievisse Adriaanse <jasper@openbsd.org>
-
- * configure.ac: Add OpenBSD/hppa and OpenBSD/powerpc support.
- * configure: Rebuilt.
-
-2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24 Dave Korn <dave.korn.cygwin@gmail.com>
-
- 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.
-
-2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
-
- 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.
-
-2009-07-01 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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 "".)
-
-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.
-
-2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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.
-
-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.
-
-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.
-
-2009-06-16 Andrew Haley <aph@redhat.com>
-
- * configure.ac (TARGETDIR): Add missing blank lines.
- * configure: Regenerate.
-
-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.
-
-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.
-
-2009-06-12 Andrew Haley <aph@redhat.com>
-
- * Makefile.am: Remove info_TEXINFOS.
-
-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-11 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * 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.
-
-2009-06-09 Andrew Haley <aph@redhat.com>
-
- * src/x86/freebsd.S: Add missing file.
-
-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).
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * README: Import from libffi 3.0.8.
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Add xfails.
- * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
- * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
- * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
- * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
- * testsuite/libffi.call/stret_medium.c: Likewise.
- * testsuite/libffi.call/stret_large2.c: Likewise.
- * testsuite/libffi.call/stret_large.c: Likewise.
-
-2008-12-26 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_align_longdouble.c,
- testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
- failures on x86_64 cygwin/mingw.
-
-2008-12-22 Timothy Wall <twall@users.sf.net>
-
- * 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_loc_fn0.c,
- testsuite/libffi.call/closure_stdcall.c,
- testsuite/libffi.call/cls_align_pointer.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
- pointer to integer (intptr_t).
- * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_dbls_struct.c,
- testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c,
- testsuite/libffi.call/err_bad_abi.c: Clean up failures from
- compiler warnings.
-
-2008-03-04 Anthony Green <green@redhat.com>
- Blake Chaffin
- hos@tamanegi.org
-
- * testsuite/libffi.call/cls_align_longdouble_split2.c
- testsuite/libffi.call/cls_align_longdouble_split.c
- testsuite/libffi.call/cls_dbls_struct.c
- testsuite/libffi.call/cls_double_va.c
- testsuite/libffi.call/cls_longdouble.c
- testsuite/libffi.call/cls_longdouble_va.c
- testsuite/libffi.call/cls_pointer.c
- testsuite/libffi.call/cls_pointer_stack.c
- testsuite/libffi.call/err_bad_abi.c
- testsuite/libffi.call/err_bad_typedef.c
- testsuite/libffi.call/stret_large2.c
- testsuite/libffi.call/stret_large.c
- testsuite/libffi.call/stret_medium2.c
- testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
- libffi.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
- stdcall changes.
-
-2008-02-26 Anthony Green <green@redhat.com>
- Thomas Heller <theller@ctypes.org>
-
- * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
- comment.
-
-2008-02-03 Timothy Wall <twall@users.sf.net>
-
- * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
- offset based on code pointer, not data pointer.
-
-2008-01-31 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
- closures.
- * src/x86/ffitarget.h: Increase size of trampoline for stdcall
- closures.
- * src/x86/win32.S: Add assembly for stdcall closure.
- * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Change void (*)() to void (*)(void).
- * src/x86/ffi.c: Likewise.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ppc_closure.S: Insert licence header.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/m68k/sysv.S: Likewise.
-
- * src/sh64/ffi.c: Change void (*)() to void (*)(void).
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/m32r/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi64.c: Likewise.
- * src/alpha/ffi.c: Likewise.
- * src/alpha/osf.S: Likewise.
- * src/frv/ffi.c: Likewise.
- * src/s390/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/pa/hpux32.S: Likewise.
- * src/ia64/unix.S: Likewise.
- * src/ia64/ffi.c: Likewise.
- * src/sparc/ffi.c: Likewise.
- * src/mips/ffi.c: Likewise.
- * src/sh/ffi.c: Likewise.
-
-2008-02-15 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
- Define (conditionally), and use it to include cachectl.h.
- (ffi_prep_closure_loc): Fix cache flushing.
- * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- include/ffi.h.in,
- src/arm/ffitarget.h,
- src/arm/ffi.c,
- src/arm/sysv.S,
- src/powerpc/ffitarget.h,
- src/closures.c,
- src/sh64/ffitarget.h,
- src/sh64/ffi.c,
- src/sh64/sysv.S,
- src/types.c,
- src/x86/ffi64.c,
- src/x86/ffitarget.h,
- src/x86/win32.S,
- src/x86/darwin.S,
- src/x86/ffi.c,
- src/x86/sysv.S,
- src/x86/unix64.S,
- src/alpha/ffitarget.h,
- src/alpha/ffi.c,
- src/alpha/osf.S,
- src/m68k/ffitarget.h,
- src/frv/ffitarget.h,
- src/frv/ffi.c,
- src/s390/ffitarget.h,
- src/s390/sysv.S,
- src/cris/ffitarget.h,
- src/pa/linux.S,
- src/pa/ffitarget.h,
- src/pa/ffi.c,
- src/raw_api.c,
- src/ia64/ffitarget.h,
- src/ia64/unix.S,
- src/ia64/ffi.c,
- src/ia64/ia64_flags.h,
- src/java_raw_api.c,
- src/debug.c,
- src/sparc/v9.S,
- src/sparc/ffitarget.h,
- src/sparc/ffi.c,
- src/sparc/v8.S,
- src/mips/ffitarget.h,
- src/mips/n32.S,
- src/mips/o32.S,
- src/mips/ffi.c,
- src/prep_cif.c,
- src/sh/ffitarget.h,
- src/sh/ffi.c,
- src/sh/sysv.S: Update license text.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * src/x86/win32.S (_ffi_closure_STDCALL): New function.
- (.eh_frame): Add FDE for it.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * configure.ac: Also check if assembler supports pc-relative
- relocs on X86_WIN32 targets.
- * configure: Regenerate.
- * src/x86/win32.S (ffi_prep_args): Declare extern, not global.
- (_ffi_call_SYSV): Add missing function type symbol .def and
- add EH markup labels.
- (_ffi_call_STDCALL): Likewise.
- (_ffi_closure_SYSV): Likewise.
- (_ffi_closure_raw_SYSV): Likewise.
- (.eh_frame): Add hand-crafted EH data.
-
-2009-04-09 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
- version 3 of the GNU General Public License and to point readers
- at the COPYING3 file and the FSF's license web page.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-12-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libffi/26048
- * configure.ac (HAVE_AS_X86_PCREL): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
- RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
- RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
- * src/x86/unix64.S (.Lstore_table): Move to .text section.
- (.Lload_table): Likewise.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
- signed/unsigned int8/16 return values.
- * src/sparc/v8.S (ffi_call_v8): Likewise.
- (ffi_closure_v8): Likewise.
-
-2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
- Steve Ellcey <sje@cup.hp.com>
-
- * configure: Regenerate for new libtool.
- * Makefile.in: Ditto.
- * include/Makefile.in: Ditto.
- * aclocal.m4: Ditto.
-
-2008-08-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
- FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
- Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
- Adjust copyright notice.
- * src/powerpc/ffi.c: Add two new flags to indicate if we have one
- register or two register to use for FFI_SYSV structs.
- (ffi_prep_cif_machdep): Pass the right register flag introduced above.
- (ffi_closure_helper_SYSV): Fix the return type for
- FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
- Adjust copyright notice.
-
-2008-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
- int.
-
-2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2008-06-07 Joseph Myers <joseph@codesourcery.com>
-
- * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
- powerpc-*-beos*): Remove.
- * configure: Regenerate.
-
-2008-05-09 Julian Brown <julian@codesourcery.com>
-
- * Makefile.am (LTLDFLAGS): New.
- (libffi_la_LDFLAGS): Use above.
- * Makefile.in: Regenerate.
-
-2008-04-18 Paolo Bonzini <bonzini@gnu.org>
-
- PR bootstrap/35457
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2008-03-26 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add .note.GNU-stack on Linux.
- * src/sh64/sysv.S: Likewise.
-
-2008-03-26 Daniel Jacobowitz <dan@debian.org>
-
- * src/arm/sysv.S: Fix ARM comment marker.
-
-2008-03-26 Jakub Jelinek <jakub@redhat.com>
-
- * src/alpha/osf.S: Add .note.GNU-stack on Linux.
- * src/s390/sysv.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
- * src/x86/unix64.S: Likewise.
- * src/x86/sysv.S: Likewise.
- * src/sparc/v8.S: Likewise.
- * src/sparc/v9.S: Likewise.
- * src/m68k/sysv.S: Likewise.
- * src/arm/sysv.S: Likewise.
-
-2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * aclocal.m4: Regenerate.
- * configure: Likewise.
- * Makefile.in: Likewise.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2008-02-12 Bjoern Koenig <bkoenig@alpha-tierchen.de>
- Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-freebsd* target.
- * configure: Regenerate.
-
-2008-01-30 H.J. Lu <hongjiu.lu@intel.com>
-
- PR libffi/34612
- * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
- returning struct.
-
- * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
- tests.
-
-2008-01-24 David Edelsohn <edelsohn@gnu.org>
-
- * configure: Regenerate.
-
-2008-01-06 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
-
-2008-01-05 Andreas Tobler <a.tobler@schweiz.org>
-
- PR testsuite/32843
- * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
- signed/unsigned int8/16 for X86_DARWIN.
- Updated copyright info.
- Handle one and two byte structs with special cif->flags.
- * src/x86/ffitarget.h: Add special types for one and two byte structs.
- Updated copyright info.
- * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
- sysv.S
- Remove code to pop args from the stack after call.
- Special-case signed/unsigned for int8/16, one and two byte structs.
- (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
- FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
- FFI_TYPE_SINT32.
- Updated copyright info.
-
-2007-12-08 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_call_N32): Replace dadd with ADDU, dsub with
- SUBU, add with ADDU and use smaller code sequences.
-
-2007-12-07 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
- type.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
- defined.
- (ffi_java_raw): New typedef.
- (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
- ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
- ffi_java_raw.
- (ffi_java_raw_closure) : Same.
- (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
- parameter types.
- * src/java_raw_api.c (ffi_java_raw_size): Replace FFI_SIZEOF_ARG with
- FFI_SIZEOF_JAVA_RAW.
- (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
- Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
- sizeof(ffi_java_raw) for alignment calculations.
- (ffi_java_ptrarray_to_raw): Same.
- (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
- if FFI_SIZEOF_JAVA_RAW == 4.
- (ffi_java_raw_to_rvalue): Same.
- (ffi_java_raw_call): Change type of raw to ffi_java_raw.
- (ffi_java_translate_args): Same.
- (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
- parameter types.
- * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
- pointer values.
-
-2007-12-01 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/31937
- * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
- Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
- * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
- set the NUM_FPR_ARG_REGISTERS according to.
- Add support for potential soft-float support under hard-float
- architecture.
- (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
- FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
- to the FFI_LINUX_SOFT_FLOAT ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Make sure not to store float/double
- on archs where __NO_FPRS__ is true.
- Add FFI_TYPE_UINT128 support.
- * src/powerpc/sysv.S: Add support for soft-float long-double-128.
- Adjust copyright notice.
-
-2007-11-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
- * include/ffi_common.h: ... here.
- Update copyright.
-
-2007-11-17 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
- * testsuite/libffi.call/return_ldl.c: New test.
-
-2007-09-04 <aph@redhat.com>
-
- * src/arm/sysv.S (UNWIND): New.
- (Whole file): Conditionally compile unwinder directives.
- * src/arm/sysv.S: Add unwinder directives.
-
- * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
- Only treat r0 as a struct address if we're actually returning a
- struct by address.
- Only copy the bytes that are actually within a struct.
- (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
- is returned in r0, not passed by address.
- (ffi_call): Allocate a word-sized temporary for the case where
- a composite is returned in r0.
- (ffi_prep_incoming_args_SYSV): Align as necessary.
-
-2007-08-05 Steven Newbury <s_j_newbury@yahoo.co.uk>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
- directly using the sys_cacheflush syscall.
-
-2007-07-27 Andrew Haley <aph@redhat.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
-
-2007-09-03 Maciej W. Rozycki <macro@linux-mips.org>
-
- * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure: Likewise.
-
-2007-08-24 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/return_sl.c: New test.
-
-2007-08-10 David Daney <ddaney@avtrex.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/nested_struct5.c,
- testsuite/libffi.call/cls_double.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/nested_struct.c,
- testsuite/libffi.call/cls_2byte.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_sint16.c,
- testsuite/libffi.call/cls_align_uint32.c,
- testsuite/libffi.call/cls_20byte.c,
- testsuite/libffi.call/cls_float.c,
- testsuite/libffi.call/nested_struct2.c,
- testsuite/libffi.call/cls_5_1_byte.c,
- testsuite/libffi.call/nested_struct4.c,
- testsuite/libffi.call/cls_24byte.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: Remove xfail for mips64*-*-*.
-
-2007-08-10 David Daney <ddaney@avtrex.com>
-
- 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.
-
-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*.
- * 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.
-
-2006-12-13 Andreas Tobler <a.tobler@schweiz.org>
-
- * aclocal.m4: Regenerate with aclocal -I .. as written in the
- Makefile.am.
-
-2006-10-31 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
- (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
- Darwin.
- * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
- * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10 Paolo Bonzini <bonzini@gnu.org>
- Sandro Tolaini <tolaini@libero.it>
-
- * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
- conditional.
- * configure: Regenerated.
- * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
- (EXTRA_DIST): Add src/x86/darwin.S.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
- X86_WIN32, and additionally align stack to 16 bytes.
- * src/x86/darwin.S: New, based on sysv.S.
- * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12 David Daney <ddaney@avtrex.com>
-
- PR libffi/23935
- * include/Makefile.am: Install both ffi.h and ffitarget.h in
- $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
- * aclocal.m4: Regenerated for automake 1.9.6.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
-2006-08-17 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h: Remove lint directives.
- * include/ffi.h.in: Likewise.
-
-2006-07-25 Torsten Schoenfeld <kaffeetisch@gmx.de>
-
- * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
- for 32-bit architectures.
- * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
- xfail remains for mips64.
-
-2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
-
- * Makefile.am: Add install-html target. Add install-html to .PHONY
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
- stack slot.
-
-2006-04-22 Andreas Tobler <a.tobler@schweiz.ch>
-
- * README: Remove notice about 'Crazy Comments'.
- * src/debug.c: Remove lint directives. Cleanup white spaces.
- * src/java_raw_api.c: Likewise.
- * src/prep_cif.c: Likewise.
- * src/raw_api.c: Likewise.
- * src/ffitest.c: Delete. No longer needed, all test cases migrated
- to the testsuite.
- * src/arm/ffi.c: Remove lint directives.
- * src/m32r/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/sh/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/pa/hpux32.S: Correct unwind offset calculation for
- ffi_closure_pa32.
- * src/pa/linux.S: Likewise.
-
-2006-04-12 James E Wilson <wilson@specifix.com>
-
- PR libgcj/26483
- * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
- (hfa_type_load): Call stf_spill.
- (hfa_type_store): Call ldf_fill.
- (ffi_call): Adjust calls to above routines. Add local temps for
- macro result.
-
-2006-04-10 Matthias Klose <doko@debian.org>
-
- * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
- directory names containing underscores.
-
-2006-04-07 James E Wilson <wilson@specifix.com>
-
- * testsuite/libffi.call/float4.c: New testcase.
-
-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.
-
-2006-03-24 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Default
- for 32-bit using IBM extended double format. Fix FFI_LAST_ABI.
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
- FFI_TYPE_LONGDOUBLE.
- (ffi_prep_args64): Assert using IBM extended double.
- (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
- Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
- (ffi_call): Handle FFI_LINUX.
- (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
- gpr3 return pointer as for struct return. Handle FFI_LINUX
- FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf"
- unnecessarily.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
- for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table.
- Don't use r6 as pointer to results, instead use sp offset. Don't
- make a special call to load lr with case table address, instead
- use offset from previous call.
- * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
- return.
-
-2006-03-15 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
- passed with FP registers correctly.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S: Likewise.
-
-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.
-
-2006-02-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
- -O2, -O3, -Os and the warning flags -W -Wall.
- * testsuite/libffi.special/special.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
- unused parameter unused for gcc or else do nothing.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
- * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
- * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
- * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
- * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
- * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
- * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
- * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
- * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
- void* to avoid compiler warning.
- (main): Likewise.
- (cls_struct_align_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
- * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
- * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
- userdata unused.
- (cls_ret_schar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
- userdata unused.
- (cls_ret_sint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
- userdata unused.
- (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn): Mark cif and
- userdata unused.
- (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
- userdata unused.
- (cls_ret_uint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
- userdata unused.
- (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
- * testsuite/libffi.call/float1.c (main): Remove unused variable i.
- Cleanup white spaces.
- * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
- * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
- cif and userdata unused.
- * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
- Likewise.
- * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
- formatters to silence gcc.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct4.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct6.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
- * testsuite/libffi.call/problem1.c (stub): Likewise.
- * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
- gcc.
- * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
- in the last commit for this test case in the test case itself.
- * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
- unused.
- * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
- * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
- * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
- * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
- * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
- * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Fix register numbers in the FDE for
- ffi_closure_SYSV.
-
-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.
-
-2006-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
- and cast integer to void * if needed. Update the pointer to
- the FP register saved area correctly.
-
-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.
-
-2006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/return_dbl.c: New test case.
- * testsuite/libffi.call/return_dbl1.c: Likewise.
- * testsuite/libffi.call/return_dbl2.c: Likewise.
- * testsuite/libffi.call/return_fl.c: Likewise.
- * testsuite/libffi.call/return_fl1.c: Likewise.
- * testsuite/libffi.call/return_fl2.c: Likewise.
- * testsuite/libffi.call/return_fl3.c: Likewise.
- * testsuite/libffi.call/closure_fn6.c: Likewise.
-
- * 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.
-
-2006-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.ac: Enable libffi for sparc64-*-freebsd*.
- * configure: Rebuilt.
-
-2006-01-18 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
- instead do the shifting inline.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
- shift count unconditionally. Simplify load sequences for 1, 2, 3, 4
- and 8 byte structs, for the remaining struct sizes don't call
- __lshrdi3, instead do the shifting inline.
-
-2005-12-07 Thiemo Seufer <ths@networkno.de>
-
- * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
- missing parentheses.
- * src/mips/o32.S (ffi_call_O32): Code formatting. Define
- and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
- (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
- A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
- V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
- FA_0_0_OFF2.
- * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
- endianness bugs.
- (ffi_prep_closure): Improve trampoline instruction scheduling.
- (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c: Formatting.
- (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
- (ffi_prep_args64): Likewise.
-
-2005-09-30 Geoffrey Keating <geoffk@apple.com>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
- darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26 Tom Tromey <tromey@redhat.com>
-
- * 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.
-
-2005-08-25 Alan Modra <amodra@bigpond.net.au>
-
- PR target/23404
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
- homed fp args.
- (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11 Jakub Jelinek <jakub@redhat.com>
-
- * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
- (AH_BOTTOM): Add FFI_HIDDEN definition.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * src/powerpc/ffi.c (hidden): Remove.
- (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
- ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
- .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
- * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
- add FFI_HIDDEN to its prototype.
- (ffi_closure_SYSV_inner): New.
- * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
- * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10 Alfred M. Szmidt <ams@gnu.org>
-
- PR libffi/21819:
- * configure: Rebuilt.
- * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
- DW_CFA_offset_extended_sf rather than
- DW_CFA_GNU_negative_offset_extended.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
-
- * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
- on sh3.
- (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
- * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
- partially on register.
- (ffi_closure_helper_SYSV): Likewise.
- (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_call): Handle small structures correctly.
- Remove empty line.
- * src/sh64/ffi.c (simple_type): Remove.
- (return_type): Handle small structures correctly.
- (ffi_prep_args): Likewise.
- (ffi_call): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
- Emit position independent code if PIC and remove wrong datalabel
- prefixes from EH data.
-
-2005-07-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure.ac: Add POWERPC_FREEBSD rules.
- * configure: Regenerate.
- * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
- (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
- * src/powerpc/ffi.c: Add flags to handle small structure returns
- in ffi_call_SYSV.
- (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
- Aka FFI_SYSV.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Add return types for small structures.
- * src/powerpc/sysv.S: Add bits to handle small structures for
- final SYSV 4 ABI.
-
-2005-07-10 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_5_1_byte.c: New test file.
- * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05 Randolph Chung <tausq@debian.org>
-
- * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
- as FFI_TYPE_SMALL_STRUCT3. Break out handling for 5-7 byte
- structures. Kill compilation warnings.
- (ffi_closure_inner_LINUX): Print return values as hex in debug
- message. Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
- Properly handle 5-7 byte structure returns.
- * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
- (FFI_TYPE_SMALL_STRUCT2): Remove.
- (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
- (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
- * src/pa/linux.S: Mark source file as using PA1.1 assembly.
- (checksmst1, checksmst2): Remove.
- (checksmst3): Optimize handling of 3-byte struct returns.
- (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libgcj/21943
- * src/mips/n32.S: Enforce PIC code.
- * src/mips/o32.S: Likewise.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
- * configure: Regenerate.
-
-2005-06-01 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
- to call ffi_closure_helper_SYSV. Append @local instead.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
- Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
- * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
- * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
- include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-05-08 Richard Henderson <rth@redhat.com>
-
- PR libffi/21285
- * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04 Andreas Degert <ad@papyrus-gmbh.de>
- Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
- bit 11 of flags.
- (ffi_call): Mask return type field. Pass ssecount to ffi_call_unix64.
- (ffi_prep_closure): Set carry bit if sse-used flag set.
- * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
- Only load sse registers if ssecount non-zero.
- (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
- powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
- * configure: Regenerate.
-
-2005-04-20 Hans-Peter Nilsson <hp@axis.com>
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
- have Tcl8.3-compatible intermediate variable.
-
-2005-04-18 Simon Posnjak <simon.posnjak@siol.net>
- Hans-Peter Nilsson <hp@axis.com>
-
- * Makefile.am: Add CRIS support.
- * configure.ac: Likewise.
- * Makefile.in, configure, testsuite/Makefile.in,
- include/Makefile.in: Regenerate.
- * src/cris: New directory.
- * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
- * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
- \r?\n in output tests.
-
-2005-04-12 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-03-30 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30 Steve Ellcey <sje@cup.hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
- (ffi_sarg) Ditto.
- * src/ia64/unix.S (ffi_closure_unix): Extend gp
- to 64 bits in ILP32 mode.
- Load 64 bits even for short data.
-
-2005-03-23 Mike Stump <mrs@apple.com>
-
- * src/powerpc/darwin.S: Update for -m64 multilib.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21 Zack Weinberg <zack@codesourcery.com>
-
- * 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.
-
-2005-02-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
- odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR libffi/20104
- * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11 Janis Johnson <janis187@us.ibm.com>
-
- * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
- * testsuite/libffi.call/float.c: Ditto.
- * testsuite/libffi.call/float2.c: Ditto.
- * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * testsuite/libffi.special/special.exp (cxx_options): Add
- -shared-libgcc.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
- (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
- offset parameters with a type parameter; deduce size and structure
- alignment. Update all users.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
- (FFI_TYPE_LONGDOUBLE): Fix for ia64.
- * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
- into ffi_prep_closure.
- * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
- from scratch.
-
-2004-12-27 Richard Henderson <rth@redhat.com>
-
- * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25 Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
- (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
- (merge_classes): Check for it.
- (SSE_CLASS_P): New.
- (classify_argument): Pass byte_offset by value; perform all updates
- inside struct case.
- (examine_argument): Add classes argument; handle
- X86_64_COMPLEX_X87_CLASS.
- (ffi_prep_args): Merge into ...
- (ffi_call): ... here. Share stack frame with ffi_call_unix64.
- (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
- (ffi_fill_return_value): Remove.
- (ffi_prep_closure): Remove dead assert.
- (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
- Rewrite to use struct register_args instead of va_list. Create
- flags for handling structure returns.
- * src/x86/unix64.S: Remove dead strings.
- (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share
- stack frame with ffi_call. Handle structure returns properly.
- (float2sse, floatfloat2sse, double2sse): Remove.
- (sse2float, sse2double, sse2floatfloat): Remove.
- (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite
- to handle structure returns properly.
-
-2004-12-08 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
- PICFLAG.
- * Makefile.in: Regenerated.
-
-2004-12-02 Richard Sandiford <rsandifo@redhat.com>
-
- * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
- * configure, aclocal.m4, Makefile.in: Regenerate.
- * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-25 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool reversion.
-
-2004-11-24 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23 Richard Sandiford <rsandifo@redhat.com>
-
- * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
- of jal. Use an absolute encoding for the frame information.
-
-2004-11-23 Kelley Cook <kcook@gcc.gnu.org>
-
- * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS.
- * acinclude.m4: Delete logic for sincludes.
- * aclocal.m4, Makefile.in, configure: Regenerate.
- * include/Makefile: Likewise.
- * testsuite/Makefile: Likewise.
-
-2004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
- on a 8-byte boundary.
- * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
- long long values. Round stack allocation to a multiple of 8 bytes
- for ATPCS compatibility.
- * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
- names. Handle returning long long types. Add Thumb and interworking
- support. Improve soft-float code.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
- (libffi_exit): New function.
- (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR other/18138
- * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
- * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
- the function returning a structure pointed with R2.
- * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
- the structure return value if T bit set. Emit position
- independent code and EH data if PIC.
-
-2004-10-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * Makefile.am: Add m32r support.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * confiugre: Regenerate.
- * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
- (uint64, sint64, double, longdouble)
- * src/m32r: New directory.
- * src/m32r/ffi.c: New file.
- * src/m32r/sysv.S: Likewise.
- * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * testsuite/libffi.call/negint.c: New test case.
-
-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.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/many_win32.c: Remove whitespaces.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
- whitespaces.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Fix comments and identation.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
- (ffi_prep_args): Handle longdouble arguments.
- (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
- longdouble.
- (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
- * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
- values.
- * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
- * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/aix.S: Remove whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
- * src/powerpc/asm.h: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffitarget.h: Likewise.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
-
-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.in: Read configure.host.
- * 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 shouldn't 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.
-
-2004-08-24 David Daney <daney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
- to zero.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23 David Daney <daney@avtrex.com>
-
- PR libgcj/13141
- * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
- * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
- (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
- parameters and return types.
- (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
- (ffi_prep_closure): Ditto.
- (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
- alignment calculations.
- * src/mips/o32.S (ffi_closure_O32): Don't use floating point
- instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14 Casey Marshall <csm@gnu.org>
-
- * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
- contain `FFI_TYPE_UINT64' as return type for any 64-bit
- integer (O32 ABI only).
- (ffi_prep_closure): new function.
- (ffi_closure_mips_inner_O32): new function.
- * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
- `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
- * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
- 64 bit integers correctly.
- (ffi_closure_O32): new function.
- Added DWARF-2 unwind info for both functions.
-
-2004-08-10 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01 Robert Millan <robertmh@gnu.org>
-
- * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
- * configure: Regenerate.
-
-2004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
-
- * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
- and mmap() explicitly instead of relying on preset autoconf cache
- variables.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
- (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
- character on Darwin, use '\n\t' instead.
-
-2004-06-26 Matthias Klose <doko@debian.org>
-
- * libtool-version: Fix typo in revision/age.
-
-2004-06-17 Matthias Klose <doko@debian.org>
-
- * libtool-version: New.
- * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
- * Makefile.in: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * Makefile.am: Remove useless multilib rules.
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate with automake 1.8.5.
- * configure.ac: Remove useless multilib configury.
- * configure: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * .cvsignore: New file.
-
-2004-06-10 Jakub Jelinek <jakub@redhat.com>
-
- * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
- fp_done.
- (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
- changed from 8.
-
-2004-06-06 Sean McNeil <sean@mcneil.com>
-
- * configure.ac: Add x86_64-*-freebsd* support.
- * configure: Regenerate.
-
-2004-04-26 Joe Buck <jbuck@welsh-buck.org>
-
- Bug 15093
- * configure.ac: Test for existence of mmap and sys/mman.h before
- checking blacklist. Fix suggested by Jim Wilson.
- * configure: Regenerate.
-
-2004-04-26 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
- FDE location.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
- error. Reported by Thomas Heller <theller@python.net>.
- * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20 Matthias Klose <doko@debian.org>
-
- * src/pa/linux.S: Fix typo.
-
-2004-03-19 Matthias Klose <doko@debian.org>
-
- * Makefile.am: Update.
- * Makefile.in: Regenerate.
- * src/pa/ffi.h.in: Remove.
- * src/pa/ffitarget.h: New file.
-
-2004-02-10 Randolph Chung <tausq@debian.org>
-
- * Makefile.am: Add PA support.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * configure.ac: Add PA target.
- * configure: Regenerate.
- * src/pa/ffi.c: New file.
- * src/pa/ffi.h.in: Add PA support.
- * src/pa/linux.S: New file.
- * prep_cif.c: Add PA support.
-
-2004-03-16 Hosaka Yuji <hos@tamanegi.org>
-
- * src/types.c: Fix alignment size of X86_WIN32 case int64 and
- double.
- * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
- with ecif->cif->flags.
- (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
- with cif->flags.
- (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
- (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
- * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
- sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.in: Rename file to ...
- * configure.ac: ... this.
- * fficonfig.h.in: Regenerate.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2004-03-12 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Fix EH information so it corresponds to
- changes in EH format resulting from addition of linkonce support.
- * src/powerpc/darwin_closure.S: Likewise.
-
-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.
-
-2004-03-11 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
- arguments from fp registers only for the first 8 parameter slots.
- Don't convert a float parameter when passed in memory.
-
-2004-03-09 Hans-Peter Nilsson <hp@axis.com>
-
- * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
-
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
- ecif->cif->bytes to bytes.
- (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
- * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
- (ffi_closure_helper_LINUX64): Fix typo.
- * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
- for powerpc64-*-*.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
- long double function return and long double arg handling.
- (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
- Use "end_pfr" instead of "nf". Correct long double handling.
- Localise "temp".
- * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
- return value.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
- space for long double return value. Adjust stack frame and offsets.
- Load f2 long double return.
-
-2004-02-07 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
- when the structure return address is passed in %o0.
- (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
- (ffi_v9_layout_struct): Align the field following a nested structure
- on a word boundary. Use memmove instead of memcpy.
- (ffi_call): Update call to ffi_V9_return_struct.
- (ffi_prep_closure): Define 'ctx' only for V8.
- (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
- and ffi_closure_sparc_inner_v9.
- (ffi_closure_sparc_inner_v8): Return long doubles by reference.
- Always skip the structure return address. For structures and long
- doubles, copy the argument directly.
- (ffi_closure_sparc_inner_v9): Skip the structure return address only
- if required. Shift the maximum floating-point slot accordingly. For
- big structures, copy the argument directly; otherwise, left-justify the
- argument and call ffi_v9_layout_struct to lay out the structure on
- the stack.
- * src/sparc/v8.S: Undef STACKFRAME before defining it.
- (ffi_closure_v8): Pass the structure return address. Update call to
- ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
- Skip the 'unimp' insn when returning long doubles and structures.
- * src/sparc/v9.S: Undef STACKFRAME before defining it.
- (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
- FFI_TYPE_INT handling. Load structures both in integers and
- floating-point registers on return.
- * README: Update status of the SPARC port.
-
-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.
-
-2004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
-
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
- value as of type ffi_arg, not unsigned int.
-
-2004-01-21 Michael Ritzert <ritzert@t-online.de>
-
- * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
- of the LHS.
-
-2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
- Solaris.
-
-2004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
- to void *.
-
-2003-12-10 Richard Henderson <rth@redhat.com>
-
- * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
- size_t instead of int.
-
-2003-12-04 Hosaka Yuji <hos@tamanegi.org>
-
- * testsuite/libffi.call/many_win32.c: Include <float.h>.
- * testsuite/libffi.call/many_win32.c (main): Replace variable
- int i with unsigned long ul.
-
- * testsuite/libffi.call/cls_align_uint64.c: New test case.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02 Hosaka Yuji <hos@tamanegi.org>
-
- PR other/13221
- * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
- Align arguments to 32 bits.
-
-2003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR other/13221
- * testsuite/libffi.call/cls_multi_sshort.c: New test case.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-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.
-
-2003-11-21 Andreas Jaeger <aj@suse.de>
- Andreas Tobler <a.tobler@schweiz.ch>
-
- * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
- * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
- * Makefile.in: Rebuilt.
- * aclocal.m4: Likewise.
- * configure: Likewise.
- * fficonfig.h.in: Likewise.
- * testsuite/lib/libffi-dg.exp: Add include dir.
- * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
- for ffi_closure if available.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
- Add -lgcc_s to additional flags.
-
-2003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.in, include/Makefile.am: PR libgcj/11147, install
- the ffitarget.h header file in a gcc versioned and target
- dependent place.
- * configure: Regenerated.
- * Makefile.in, include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Print result and check
- with dg-output to make debugging easier.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
- static.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_9byte2.c: New test case.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_double.c: Do a check on the result.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/prep_cif.c (ffi_prep_cif): Move the validity check after
- the initialization.
-
-2003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
- FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
- __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-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
-
-2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
- _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
- Used when FFI_DEBUG = 1.
-
-2003-10-14 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
- and align.
-
-2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
- FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
- SPARC64. Cleanup whitespaces.
-
-2003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
- strongarm, xscale. Cleanup whitespaces.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Cleanup whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
- * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
- parameter stack.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
- according to the Darwin/AIX ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_DARWIN): Likewise.
- Remove the outgoing parameter stack logic. Simplify the evaluation
- of the different CASE types.
- (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
- statement in the trampoline code.
-
-2003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
- for the register size.
- (ffi_closure_helper_SYSV): Handle the structure return value
- address correctly.
- (ffi_closure_helper_SYSV): Return the appropriate type when
- the registers are used for the structure return value.
- * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
- the 64-bit return value. Update copyright years.
-
-2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
- srcdir for ffi_mips.h.
-
-2003-09-12 Alan Modra <amodra@bigpond.net.au>
-
- * src/prep_cif.c (initialize_aggregate): Include tail padding in
- structure size.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
- placement of float result.
- * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
- cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Merge identical SH and ARM
- typedefs, and add POWERPC64.
- * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
- struct split over gpr and rest.
- (ffi_prep_cif_machdep): Correct intarg_count for structures.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
- passing correctly.
-
-2003-09-09 Alan Modra <amodra@bigpond.net.au>
-
- * configure: Regenerate.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Remove build rules for ffitest.
- * Makefile.in: Rebuilt.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
- about implicit declaration of abort().
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
- * Makefile.in: Rebuilt.
- * configure.in: Add dejagnu test framework.
- * configure: Rebuilt.
-
- * testsuite/Makefile.am: New file.
- * testsuite/Makefile.in: Built
- * testsuite/lib/libffi-dg.exp: New file.
- * testsuite/config/default.exp: Likewise.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Likewise.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float1.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/many.c: Likewise.
- * testsuite/libffi.call/many_win32.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
- * testsuite/libffi.call/strlen.c: Likewise.
- * testsuite/libffi.call/strlen_win32.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
- * testsuite/libffi.call/struct2.c: Likewise.
- * testsuite/libffi.call/struct3.c: Likewise.
- * testsuite/libffi.call/struct4.c: Likewise.
- * testsuite/libffi.call/struct5.c: Likewise.
- * testsuite/libffi.call/struct6.c: Likewise.
- * testsuite/libffi.call/struct7.c: Likewise.
- * testsuite/libffi.call/struct8.c: Likewise.
- * testsuite/libffi.call/struct9.c: Likewise.
- * testsuite/libffi.special/special.exp: New file.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
- copyright years.
-
-2003-08-02 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
- structure passing.
- (ffi_closure_helper_LINUX64): Likewise.
- * src/powerpc/linux64.S: Remove code writing to parm save area.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
- address in lr from ffi_closure_helper_LINUX64 call to calculate
- table address. Optimize function tail.
-
-2003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/sparc/ffi.c: Handle all floating point registers.
- * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
-
- * README: Note that libffi is not part of GCC. Update the project
- URL and status.
-
-2003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
- Use C style comments.
-
-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
- should be read-only.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * include/ffi.h.in (EH_FRAME_FLAGS): Define.
- * src/alpha/osf.S: Use EH_FRAME_FLAGS.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
- * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
- if -fpic/-fPIC/-mrelocatable.
- * src/powerpc/powerpc_closure.S: Likewise.
- * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
- #write in .eh_frame flags.
- * src/sparc/v9.S: Likewise.
- * src/x86/unix64.S: Use EH_FRAME_FLAGS.
- * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
- * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
-
-2003-05-07 Jeff Sturm <jsturm@one-point.com>
-
- Fixes PR bootstrap/10656
- * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
- support for .register pseudo-op.
- * src/sparc/v8.S: Use it.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2003-04-18 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (POWERPC64): Define if 64-bit.
- (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
- Make it the default on POWERPC64.
- (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
- * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
- * configure: Rebuilt.
- * src/powerpc/ffi.c (hidden): Define.
- (ffi_prep_args_SYSV): Renamed from
- ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
- (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
- ASM_NEEDS_REGISTERS64): New.
- (ffi_prep_args64): New function.
- (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
- (ffi_call): Likewise.
- (ffi_prep_closure): Likewise.
- (flush_icache): Surround by #ifndef POWERPC64.
- (ffi_dblfl): New union type.
- (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
- (ffi_closure_helper_LINUX64): New function.
- * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
- __powerpc64__.
- * src/powerpc/sysv.S: Likewise.
- (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
- * src/powerpc/linux64.S: New file.
- * src/powerpc/linux64_closure.S: New file.
- * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
- src/powerpc/linux64_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
- * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
- closure_test_fn3): Fix result printing on big-endian 64-bit
- machines.
- (main): Print tst2_arg instead of uninitialized tst2_result.
-
- * src/ffitest.c (main): Hide what closure pointer really points to
- from the compiler.
-
-2003-04-16 Richard Earnshaw <rearnsha@arm.com>
-
- * configure.in (arm-*-netbsdelf*): Add configuration.
- (configure): Regenerated.
-
-2003-04-04 Loren J. Rittle <ljrittle@acm.org>
-
- * include/Makefile.in: Regenerate.
-
-2003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
-
- * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
- bit mode.
- * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
- Receive closure pointer through parameter, read args using
- __builtin_dwarf_cfa.
- (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12 Andreas Schwab <schwab@suse.de>
-
- * configure.in: Avoid trailing /. in toolexeclibdir.
- * configure: Rebuilt.
-
-2003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/powerpc/darwin_closure.S:
- Fix alignement bug, allocate 8 bytes for the result.
- * libffi/src/powerpc/aix_closure.S:
- Likewise.
- * libffi/src/powerpc/ffi_darwin.c:
- Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06 Jakub Jelinek <jakub@redhat.com>
-
- * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
- attribute.
-
-2003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
- Andreas Schwab <schwab@suse.de>
-
- * configure.in: Adjust command to source config-ml.in to account
- for changes to the libffi_basedir definition.
- (libffi_basedir): Remove ${srcdir} from value and include trailing
- slash if nonempty.
-
- * configure: Regenerate.
-
-2003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
- * src/x86/ffi64.c (ffi_prep_closure): New.
- (ffi_closure_UNIX64_inner): New.
- * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
- Remove USE_LIBDIR conditional.
- * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
- * Makefile.in, configure: Rebuilt.
-
-2003-01027 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
- * Makefile.in: Regenerate.
-
-2003-01-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
- unwind info.
-
-2003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Add unwind info.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
- (ffi_prep_cif_machdep): Likewise.
- * src/x86/unix64.S: Add unwind info.
-
-2003-01-14 Andreas Jaeger <aj@suse.de>
-
- * src/ffitest.c (main): Only use ffi_closures if those are
- supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/ffitest.c
- add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
- * libffi/src/powerpc/ffi.c
- fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c: Remove RCS version string.
- * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
- * src/ffitest.c (main): Use static storage for closure.
- * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
- * src/sparc/v8.S (ffi_closure_v8): New.
- * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10 Ranjit Mathew <rmathew@hotmail.com>
-
- * include/ffi.h.in: Added FFI_STDCALL ffi_type
- enumeration for X86_WIN32.
- * src/x86/win32.S: Added ffi_call_STDCALL function
- definition.
- * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
- switch cases for recognising FFI_STDCALL and
- calling ffi_call_STDCALL if target is X86_WIN32.
- * src/ffitest.c (my_stdcall_strlen/stdcall_many):
- stdcall versions of the "my_strlen" and "many"
- test functions (for X86_WIN32).
- Added test cases to test stdcall invocation using
- these functions.
-
-2002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26 Jim Wilson <wilson@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23 H.J. Lu <hjl@gnu.org>
-
- * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
- Include ../config/accross.m4.
- * aclocal.m4; Rebuild.
- * configure: Likewise.
-
-2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11 DJ Delorie <dj@redhat.com>
-
- * configure.in: Look for common files in the right place.
-
-2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
- raw data as _Jv_word values, not ffi_raw.
- (ffi_java_ptrarray_to_raw): Likewise.
- (ffi_java_rvalue_to_raw): New function.
- (ffi_java_raw_call): Call it.
- (ffi_java_raw_to_rvalue): New function.
- (ffi_java_translate_args): Call it.
- * src/ffitest.c (closure_test_fn): Interpret return value
- as ffi_arg, not int.
- * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
- FFI_TYPE_POINTER case.
- (ffi_closure_helper_SYSV): Likewise. Also, assume return
- values extended to word size.
-
-2002-10-02 Andreas Jaeger <aj@suse.de>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01 Bo Thorsen <bo@smetana.suse.de>
-
- * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
-
- * configure.in: Add s390x-*-linux-* target.
- * configure: Regenerate.
- * include/ffi.h.in: Define S390X for s390x targets.
- (FFI_CLOSURES): Define for s390/s390x.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
- * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
- * src/s390/ffi.c: Major rework of existing code. Add support for
- s390x targets. Add closure support.
- * src/s390/sysv.S: Likewise.
-
-2002-09-29 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: Fix typo.
-
-2002-09-28 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
- has defined __USER_LABEL_PREFIX__, then use it in CNAME.
- (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27 Bo Thorsen <bo@suse.de>
-
- * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * configure.in (sh[34]*-*-linux*): Add brackets.
- * configure: Regenerate.
-
-2002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * Makefile.am: Add SH support.
- * Makefile.in: Regenerate.
- * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
- * configure: Regenerate.
- * include/ffi.h.in: Add SH support.
- * src/sh/ffi.c: New file.
- * src/sh/sysv.S: New file.
- * src/types.c: Add SH support.
-
-2002-07-16 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi64.c: New file that adds x86-64 support.
- * src/x86/unix64.S: New file that handles argument setup for
- x86-64.
- * src/x86/sysv.S: Don't use this on x86-64.
- * src/x86/ffi.c: Don't use this on x86-64.
- Remove unused vars.
- * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
- for x86-64.
- * src/ffitest.c (struct6): New test that tests a special case in
- the x86-64 ABI.
- (struct7): Likewise.
- (struct8): Likewise.
- (struct9): Likewise.
- (closure_test_fn): Silence warning about this when it's not used.
- (main): Add the new tests.
- (main): Fix a couple of wrong casts and silence some compiler warnings.
- * include/ffi.h.in: Add x86-64 ABI definition.
- * fficonfig.h.in: Regenerate.
- * Makefile.am: Add x86-64 support.
- * configure.in: Likewise.
- * Makefile.in: Regenerate.
- * configure: Likewise.
-
-2002-06-24 Bo Thorsen <bo@suse.de>
-
- * src/types.c: Merge settings for similar architectures.
- Add x86-64 sizes and alignments.
-
-2002-06-23 Bo Thorsen <bo@suse.de>
-
- * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
- * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
- * src/mips/ffi.c (ffi_prep_args): Likewise.
- * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18 H.J. Lu (hjl@gnu.org)
-
- * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
- (libffi_la_SOURCES): Support MIPS_LINUX.
- (libffi_convenience_la_SOURCES): Likewise.
- * Makefile.in: Regenerated.
-
- * configure.in (mips64*-*): Skip.
- (mips*-*-linux*): New.
- * configure: Regenerated.
-
- * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
-
-2002-05-27 Roger Sayle <roger@eyesopen.com>
-
- * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
- fix formatting.
-
-2002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
- beginning of function (for older apple cc).
-
-2002-05-08 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
- script entry, and set LD to it when configuring multilibs.
- * configure: Rebuilt.
-
-2002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (sparc64-*-netbsd*): Add target.
- (sparc-*-netbsdelf*): Likewise.
- * configure: Regenerate.
-
-2002-04-28 David S. Miller <davem@redhat.com>
-
- * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
-
- * Makefile.am: Add Linux for S/390 support.
- * Makefile.in: Regenerate.
- * configure.in: Add Linux for S/390 support.
- * configure: Regenerate.
- * include/ffi.h.in: Add Linux for S/390 support.
- * src/s390/ffi.c: New file from libffi CVS tree.
- * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
- %r_disp32().
- * src/sparc/v8.S: Use it.
- * src/sparc/v9.S: Likewise.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2002-04-08 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
- correctly.
- * src/ia64/unix.S: Add unwind information. Fix comments.
- Save sp in a way that's compatible with unwind info.
- (ffi_call_unix): Correctly restore sp in all cases.
- * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08 Jakub Jelinek <jakub@redhat.com>
-
- * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (alpha*-*-netbsd*): Add target.
- * configure: Regenerate.
-
-2002-04-04 Jeff Sturm <jsturm@one-point.com>
-
- * src/sparc/v8.S: Add unwind info.
- * src/sparc/v9.S: Likewise.
-
-2002-03-30 Krister Walfridsson <cato@df.lth.se>
-
- * configure.in: Enable i*86-*-netbsdelf*.
- * configure: Rebuilt.
-
-2002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
-
- PR other/2620
- * src/mips/n32.s: Delete
- * src/mips/o32.s: Delete
-
-2002-03-21 Loren J. Rittle <ljrittle@acm.org>
-
- * configure.in: Enable alpha*-*-freebsd*.
- * configure: Rebuilt.
-
-2002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * Makefile.am: libfficonvenience -> libffi_convenience.
- * Makefile.in: Rebuilt.
-
- * Makefile.am: Define ffitest_OBJECTS.
- * Makefile.in: Rebuilt.
-
-2002-03-07 Andreas Tobler <toa@pop.agri.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
- (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
- (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
- * Makefile.in: Regenerate.
- * include/ffi.h.in: Add AIX and Darwin closure definitions.
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
- (flush_icache, flush_range): New functions.
- (ffi_closure_helper_DARWIN): New function.
- * src/powerpc/aix_closure.S: New file.
- * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add typedef for ffi_arg.
- * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21 Andreas Tobler <toa@pop.agri.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
- number of GPRs for floating-point arguments.
-
-2002-01-31 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Replace CHECK_SIZEOF and endian tests with
- cross-compiler friendly macros.
- * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
- macros.
-
-2002-01-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): New.
- * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
- (TARGET_SRC_POWERPC_AIX): New.
- (POWERPC_AIX): New stanza.
- * Makefile.in: Regenerate.
- * configure.in: Add AIX case.
- * configure: Regenerate.
- * include/ffi.h.in (ffi_abi): Add FFI_AIX.
- * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
- size. Fix "long double" support.
- (ffi_call): Add FFI_AIX case.
- * src/powerpc/aix.S: New.
-
-2001-10-09 John Hornkvist <john@toastedmarshmallow.com>
-
- Implement Darwin PowerPC ABI.
- * configure.in: Handle powerpc-*-darwin*.
- * Makefile.am: Set source files for POWERPC_DARWIN.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
- * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
- POWERPC_DARWIN.
- * src/powerpc/darwin.S: New file.
- * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .balign directive.
- Use C style comments.
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
- Fixes PR bootstrap/3563.
-
-2001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.in: Recognize sparc*-sun-* host.
- * configure: Regenerate.
-
-2001-06-06 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S: Add unwind info.
- * src/powerpc/sysv.S: Add unwind info.
- * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31 Jeff Sturm <jsturm@one-point.com>
-
- * configure.in: Fix AC_ARG_ENABLE usage.
- * configure: Rebuilt.
-
-2001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * configure.in: Remove warning about beta code.
- * configure: Rebuilt.
-
-2001-04-25 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/ia64/unix.S: Restore stack pointer when returning from
- ffi_closure_UNIX.
- * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18 Jim Wilson <wilson@redhat.com>
-
- * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
- to eliminate RAW DV.
-
-2001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
-
- * Makefile.am: Make a libtool convenience library.
- * Makefile.in: Rebuilt.
-
-2001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Use different syntax for subdirectory creation.
- * configure: Rebuilt.
-
-2001-03-27 Jon Beniston <jon@beniston.com>
-
- * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
- * configure: Rebuilt.
- * Makefile.am: Added X86_WIN32 target support.
- * Makefile.in: Rebuilt.
-
- * include/ffi.h.in: Added X86_WIN32 target support.
-
- * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
- * src/types.c: Added X86_WIN32 target support.
-
- * src/x86/win32.S: New file. Based on sysv.S, but with EH
- stuff removed and made to work with CygWin's gas.
-
-2001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Make target subdirectory in build dir.
- * Makefile.am: Override suffix based rules to specify correct output
- subdirectory.
- * Makefile.in: Rebuilt.
- * configure: Rebuilt.
-
-2001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
-
- * src/powerpc/ppc_closure.S: New file.
- * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
- involving long long and register pairs.
- (ffi_prep_closure): New function.
- (flush_icache): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * Makefile.in: Rebuilt.
- * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19 Tom Tromey <tromey@redhat.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02 Nick Clifton <nickc@redhat.com>
-
- * include/ffi.h.in: Remove RCS ident string.
- * include/ffi_mips.h: Remove RCS ident string.
- * src/debug.c: Remove RCS ident string.
- * src/ffitest.c: Remove RCS ident string.
- * src/prep_cif.c: Remove RCS ident string.
- * src/types.c: Remove RCS ident string.
- * src/alpha/ffi.c: Remove RCS ident string.
- * src/alpha/osf.S: Remove RCS ident string.
- * src/arm/ffi.c: Remove RCS ident string.
- * src/arm/sysv.S: Remove RCS ident string.
- * src/mips/ffi.c: Remove RCS ident string.
- * src/mips/n32.S: Remove RCS ident string.
- * src/mips/o32.S: Remove RCS ident string.
- * src/sparc/ffi.c: Remove RCS ident string.
- * src/sparc/v8.S: Remove RCS ident string.
- * src/sparc/v9.S: Remove RCS ident string.
- * src/x86/ffi.c: Remove RCS ident string.
- * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * include/ffi.h.in: Change sourceware.cygnus.com references to
- gcc.gnu.org.
-
-2000-12-09 Richard Henderson <rth@redhat.com>
-
- * src/alpha/ffi.c (ffi_call): Simplify struct return test.
- (ffi_closure_osf_inner): Index rather than increment avalue
- and arg_types. Give ffi_closure_osf the raw return value type.
- * src/alpha/osf.S (ffi_closure_osf): Handle return value type
- promotion.
-
-2000-12-07 Richard Henderson <rth@redhat.com>
-
- * src/raw_api.c (ffi_translate_args): Fix typo.
- (ffi_prep_closure): Likewise.
-
- * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
- FFI_TRAMPOLINE_SIZE.
- * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
- cif->bytes for new ffi_call_osf implementation.
- (ffi_prep_args): Absorb into ...
- (ffi_call): ... here. Do all stack allocation here and
- avoid a callback function.
- (ffi_prep_closure, ffi_closure_osf_inner): New.
- * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
- (ffi_closure_osf): New.
-
-2000-09-10 Alexandre Oliva <aoliva@redhat.com>
-
- * config.guess, config.sub, install-sh: Removed.
- * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
- * Makefile.in: Rebuilt.
-
- * acinclude.m4: Include libtool macros from the top level.
- * aclocal.m4, configure: Rebuilt.
-
-2000-08-22 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
- * configure: Rebuilt.
-
-2000-05-11 Scott Bambrough <scottb@netwinder.org>
-
- * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
- memory correctly. Use conditional instructions, not branches where
- possible.
-
-2000-05-04 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Match `arm*-*-linux-*'.
- From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (SUBDIRS): Define.
- (AM_MAKEFLAGS): Likewise.
- (Multilib support.): Add section.
- * Makefile.in: Rebuilt.
- * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
- New variables. Set for gcc using -print-multi-lib. Export them
- to libtool.
- (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
- * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
- for -shared links.
- (extra_compiler_flags_value, extra_compiler_flags): Check these
- for extra compiler options which need to be passed down in
- compiler_flags.
-
-2000-04-16 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
- Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
- * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
- Replace all void * sizeofs with sizeof(int).
- Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
- different than DOUBLE.
- Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
- (ffi_prep_args_v9): New function.
- (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
- (ffi_V9_return_struct): New function.
- (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
- 32bit code (not yet cross-arch calls).
- * src/sparc/v8.S: Add struct return delay nop.
- Handle long long.
- * src/sparc/v9.S: New file.
- * src/prep_cif.c (ffi_prep_cif): Return structure pointer
- is used on sparc64 only for structures larger than 32 bytes.
- Pass by reference for structures is done for structure arguments
- larger than 16 bytes.
- * src/ffitest.c (main): Use 64bit rint on sparc64.
- Run long long tests on sparc.
- * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
- sparc64.
- (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
- on sparc64.
- * configure.in (sparc-*-linux*): New supported target.
- (sparc64-*-linux*): Likewise.
- * configure: Rebuilt.
- * Makefile.am: Add v9.S to SPARC files.
- * Makefile.in: Likewise.
- (LINK): Surround $(CCLD) into double quotes, so that multilib
- compiles work correctly.
-
-2000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: (i*86-*-solaris*): New libffi target. Patch
- proposed by Bryce McKinlay.
-
-2000-03-20 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
-
- * config.guess, config.sub: Update from the gcc tree.
- Fix for PR libgcj/168.
-
-2000-03-03 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Fixed ia64 by hand.
-
- * configure: Rebuilt.
- * configure.in (--enable-multilib): New option.
- (libffi_basedir): New subst.
- (AC_OUTPUT): Added multilib code.
-
-2000-03-02 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
- directory name.
-
-2000-02-25 Hans Boehm <boehm@acm.org>
-
- * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
- files.
- * src/raw_api.c (ffi_translate_args): Fixed typo in argument
- list.
- (ffi_prep_raw_closure): Use ffi_translate_args, not
- ffi_closure_translate.
- * src/java_raw_api.c: New file.
- * src/ffitest.c (closure_test_fn): New function.
- (main): Define `rint' as long long on IA64. Added new test when
- FFI_CLOSURES is defined.
- * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
- (ffi_abi): Recognize IA64.
- (ffi_raw): Added `flt' field.
- Added "Java raw API" code.
- * configure.in: Recognize ia64.
- * Makefile.am (TARGET_SRC_IA64): New macro.
- (libffi_la_common_SOURCES): Added java_raw_api.c.
- (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01 Tom Tromey <tromey@cygnus.com>
-
- * include/ffi.h.in: Removed PACKAGE and VERSION defines and
- undefs.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
- * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
- Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
- * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09 Anthony Green <green@cygnus.com>
-
- * include/ffi.h.in: Try to work around messy header problem
- with PACKAGE and VERSION.
-
- * configure: Rebuilt.
- * configure.in: Change version to 2.00-beta.
-
- * fficonfig.h.in: Rebuilt.
- * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
- * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
-
- * src/x86/ffi.c (ffi_closure_SYSV): New function.
- (ffi_prep_incoming_args_SYSV): Ditto.
- (ffi_prep_closure): Ditto.
- (ffi_closure_raw_SYSV): Ditto.
- (ffi_prep_raw_closure): More ditto.
- (ffi_call_raw): Final ditto.
-
- * include/ffi.h.in: Add definitions for closure and raw API.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
- FFI_TYPE_UINT64.
-
- * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
- * src/raw_api.c: New file.
-
- * include/ffi.h.in (ffi_raw): New type.
- (UINT_ARG, SINT_ARG): New defines.
- (ffi_closure, ffi_raw_closure): New types.
- (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
- * configure.in: Add check for endianness and sizeof void*.
-
- * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
- instead of directly.
-
- * configure: Rebuilt.
-
-Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
-
- * configure.in: Add x86 and powerpc BeOS configurations.
- From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09 Anthony Green <green@cygnus.com>
-
- * configure.in: Add warning about this being beta code.
- Remove src/Makefile.am from the picture.
- * configure: Rebuilt.
-
- * Makefile.am: Move logic from src/Makefile.am. Add changes
- to support libffi as a target library.
- * Makefile.in: Rebuilt.
-
- * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
- Upgraded to new autoconf, automake, libtool.
-
- * README: Tweaks.
-
- * LICENSE: Update copyright date.
-
- * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29 Anthony Green <green@cygnus.com>
-
- * include/ChangeLog: Removed.
- * src/ChangeLog: Removed.
- * src/mips/ChangeLog: Removed.
- * src/sparc/ChangeLog: Remboved.
- * src/x86/ChangeLog: Removed.
-
- * ChangeLog.v1: Created.
diff --git a/.pc/kfreebsd-mmap/configure.ac b/.pc/kfreebsd-mmap/configure.ac
deleted file mode 100644
index 0cdf33c..0000000
--- a/.pc/kfreebsd-mmap/configure.ac
+++ /dev/null
@@ -1,499 +0,0 @@
-dnl Process this with autoconf to create configure
-
-AC_PREREQ(2.63)
-
-AC_INIT([libffi], [3.0.11-rc2], [http://github.com/atgreen/libffi/issues])
-AC_CONFIG_HEADERS([fficonfig.h])
-
-AC_CANONICAL_SYSTEM
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-AX_ENABLE_BUILDDIR
-
-AM_INIT_AUTOMAKE
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-# Also save and restore CFLAGS, since AC_PROG_CC will come up with
-# defaults of its own if none are provided.
-
-m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS])
-m4_define([_AC_ARG_VAR_PRECIOUS],[])
-save_CFLAGS=$CFLAGS
-AC_PROG_CC
-CFLAGS=$save_CFLAGS
-m4_undefine([_AC_ARG_VAR_PRECIOUS])
-m4_rename([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
-
-AC_SUBST(CFLAGS)
-
-AM_PROG_AS
-AM_PROG_CC_C_O
-AC_PROG_LIBTOOL
-AC_CONFIG_MACRO_DIR([m4])
-
-AX_CC_MAXOPT
-AX_CFLAGS_WARN_ALL
-if test "x$GCC" = "xyes"; then
- CFLAGS="$CFLAGS -fexceptions"
-fi
-
-AM_MAINTAINER_MODE
-
-AC_CHECK_HEADERS(sys/mman.h)
-AC_CHECK_FUNCS(mmap)
-AC_FUNC_MMAP_BLACKLIST
-
-dnl The -no-testsuite modules omit the test subdir.
-AM_CONDITIONAL(TESTSUBDIR, test -d $srcdir/testsuite)
-
-TARGETDIR="unknown"
-case "$host" in
- alpha*-*-*)
- TARGET=ALPHA; TARGETDIR=alpha;
- # Support 128-bit long double, changeable via command-line switch.
- HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
- ;;
-
- arm*-*-*)
- TARGET=ARM; TARGETDIR=arm
- ;;
-
- amd64-*-freebsd* | amd64-*-openbsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- amd64-*-freebsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- avr32*-*-*)
- TARGET=AVR32; TARGETDIR=avr32
- ;;
-
- cris-*-*)
- TARGET=LIBFFI_CRIS; TARGETDIR=cris
- ;;
-
- frv-*-*)
- TARGET=FRV; TARGETDIR=frv
- ;;
-
- hppa*-*-linux* | parisc*-*-linux* | hppa*-*-openbsd*)
- TARGET=PA_LINUX; TARGETDIR=pa
- ;;
- hppa*64-*-hpux*)
- TARGET=PA64_HPUX; TARGETDIR=pa
- ;;
- hppa*-*-hpux*)
- TARGET=PA_HPUX; TARGETDIR=pa
- ;;
-
- i?86-*-freebsd* | i?86-*-openbsd*)
- TARGET=X86_FREEBSD; TARGETDIR=x86
- ;;
- i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2* | i?86-*-interix*)
- TARGET=X86_WIN32; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
- i?86-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
- i?86-*-solaris2.1[[0-9]]*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
- i?86-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- ia64*-*-*)
- TARGET=IA64; TARGETDIR=ia64
- ;;
-
- m32r*-*-*)
- TARGET=M32R; TARGETDIR=m32r
- ;;
-
- m68k-*-*)
- TARGET=M68K; TARGETDIR=m68k
- ;;
-
- mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
- TARGET=MIPS; TARGETDIR=mips
- ;;
- mips*-*-linux* | mips*-*-openbsd*)
- # Support 128-bit long double for NewABI.
- HAVE_LONG_DOUBLE='defined(__mips64)'
- TARGET=MIPS; TARGETDIR=mips
- ;;
-
- moxie-*-*)
- TARGET=MOXIE; TARGETDIR=moxie
- ;;
-
- powerpc*-*-linux* | powerpc-*-sysv*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-beos*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-darwin* | powerpc64-*-darwin*)
- TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
- ;;
- powerpc-*-aix* | rs6000-*-aix*)
- TARGET=POWERPC_AIX; TARGETDIR=powerpc
- ;;
- powerpc-*-freebsd* | powerpc-*-openbsd*)
- TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
- ;;
- powerpc64-*-freebsd*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc*-*-rtems*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
-
- s390-*-* | s390x-*-*)
- TARGET=S390; TARGETDIR=s390
- ;;
-
- sh-*-* | sh[[34]]*-*-*)
- TARGET=SH; TARGETDIR=sh
- ;;
- sh64-*-* | sh5*-*-*)
- TARGET=SH64; TARGETDIR=sh64
- ;;
-
- sparc*-*-*)
- TARGET=SPARC; TARGETDIR=sparc
- ;;
-
- x86_64-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
-
- x86_64-*-cygwin* | x86_64-*-mingw*)
- TARGET=X86_WIN64; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
-
- x86_64-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-esac
-
-AC_SUBST(AM_RUNTESTFLAGS)
-AC_SUBST(AM_LTLDFLAGS)
-
-if test $TARGETDIR = unknown; then
- AC_MSG_ERROR(["libffi has not been ported to $host."])
-fi
-
-AM_CONDITIONAL(MIPS, test x$TARGET = xMIPS)
-AM_CONDITIONAL(SPARC, test x$TARGET = xSPARC)
-AM_CONDITIONAL(X86, test x$TARGET = xX86)
-AM_CONDITIONAL(X86_FREEBSD, test x$TARGET = xX86_FREEBSD)
-AM_CONDITIONAL(X86_WIN32, test x$TARGET = xX86_WIN32)
-AM_CONDITIONAL(X86_WIN64, test x$TARGET = xX86_WIN64)
-AM_CONDITIONAL(X86_DARWIN, test x$TARGET = xX86_DARWIN)
-AM_CONDITIONAL(ALPHA, test x$TARGET = xALPHA)
-AM_CONDITIONAL(IA64, test x$TARGET = xIA64)
-AM_CONDITIONAL(M32R, test x$TARGET = xM32R)
-AM_CONDITIONAL(M68K, test x$TARGET = xM68K)
-AM_CONDITIONAL(MOXIE, test x$TARGET = xMOXIE)
-AM_CONDITIONAL(POWERPC, test x$TARGET = xPOWERPC)
-AM_CONDITIONAL(POWERPC_AIX, test x$TARGET = xPOWERPC_AIX)
-AM_CONDITIONAL(POWERPC_DARWIN, test x$TARGET = xPOWERPC_DARWIN)
-AM_CONDITIONAL(POWERPC_FREEBSD, test x$TARGET = xPOWERPC_FREEBSD)
-AM_CONDITIONAL(ARM, test x$TARGET = xARM)
-AM_CONDITIONAL(AVR32, test x$TARGET = xAVR32)
-AM_CONDITIONAL(LIBFFI_CRIS, test x$TARGET = xLIBFFI_CRIS)
-AM_CONDITIONAL(FRV, test x$TARGET = xFRV)
-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)
-AM_CONDITIONAL(PA_LINUX, test x$TARGET = xPA_LINUX)
-AM_CONDITIONAL(PA_HPUX, test x$TARGET = xPA_HPUX)
-AM_CONDITIONAL(PA64_HPUX, test x$TARGET = xPA64_HPUX)
-
-AC_HEADER_STDC
-AC_CHECK_FUNCS(memcpy)
-AC_FUNC_ALLOCA
-
-AC_CHECK_SIZEOF(double)
-AC_CHECK_SIZEOF(long double)
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
- HAVE_LONG_DOUBLE=0
- if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
- if test $ac_cv_sizeof_long_double != 0; then
- HAVE_LONG_DOUBLE=1
- AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the long double type and it is bigger than a double])
- fi
- fi
-fi
-AC_SUBST(HAVE_LONG_DOUBLE)
-
-AC_C_BIGENDIAN
-
-GCC_AS_CFI_PSEUDO_OP
-
-if test x$TARGET = xSPARC; then
- AC_CACHE_CHECK([assembler and linker support unaligned pc related relocs],
- libffi_cv_as_sparc_ua_pcrel, [
- save_CFLAGS="$CFLAGS"
- save_LDFLAGS="$LDFLAGS"
- CFLAGS="$CFLAGS -fpic"
- LDFLAGS="$LDFLAGS -shared"
- AC_TRY_LINK([asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");],,
- [libffi_cv_as_sparc_ua_pcrel=yes],
- [libffi_cv_as_sparc_ua_pcrel=no])
- CFLAGS="$save_CFLAGS"
- LDFLAGS="$save_LDFLAGS"])
- if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
- AC_DEFINE(HAVE_AS_SPARC_UA_PCREL, 1,
- [Define if your assembler and linker support unaligned PC relative relocs.])
- fi
-
- AC_CACHE_CHECK([assembler .register pseudo-op support],
- libffi_cv_as_register_pseudo_op, [
- libffi_cv_as_register_pseudo_op=unknown
- # Check if we have .register
- AC_TRY_COMPILE([asm (".register %g2, #scratch");],,
- [libffi_cv_as_register_pseudo_op=yes],
- [libffi_cv_as_register_pseudo_op=no])
- ])
- if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
- AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP, 1,
- [Define if your assembler supports .register.])
- fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
- AC_CACHE_CHECK([assembler supports pc related relocs],
- libffi_cv_as_x86_pcrel, [
- libffi_cv_as_x86_pcrel=no
- echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
- if $CC $CFLAGS -c conftest.s > /dev/null; then
- libffi_cv_as_x86_pcrel=yes
- fi
- ])
- if test "x$libffi_cv_as_x86_pcrel" = xyes; then
- AC_DEFINE(HAVE_AS_X86_PCREL, 1,
- [Define if your assembler supports PC relative relocs.])
- fi
-
- AC_CACHE_CHECK([assembler .ascii pseudo-op support],
- libffi_cv_as_ascii_pseudo_op, [
- libffi_cv_as_ascii_pseudo_op=unknown
- # Check if we have .ascii
- AC_TRY_COMPILE([asm (".ascii \\"string\\"");],,
- [libffi_cv_as_ascii_pseudo_op=yes],
- [libffi_cv_as_ascii_pseudo_op=no])
- ])
- if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
- AC_DEFINE(HAVE_AS_ASCII_PSEUDO_OP, 1,
- [Define if your assembler supports .ascii.])
- fi
-
- AC_CACHE_CHECK([assembler .string pseudo-op support],
- libffi_cv_as_string_pseudo_op, [
- libffi_cv_as_string_pseudo_op=unknown
- # Check if we have .string
- AC_TRY_COMPILE([asm (".string \\"string\\"");],,
- [libffi_cv_as_string_pseudo_op=yes],
- [libffi_cv_as_string_pseudo_op=no])
- ])
- if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
- AC_DEFINE(HAVE_AS_STRING_PSEUDO_OP, 1,
- [Define if your assembler supports .string.])
- fi
-fi
-
-if test x$TARGET = xX86_WIN64; then
- LT_SYS_SYMBOL_USCORE
- if test "x$sys_symbol_underscore" = xyes; then
- AC_DEFINE(SYMBOL_UNDERSCORE, 1, [Define if symbols are underscored.])
- fi
-fi
-
-
-FFI_EXEC_TRAMPOLINE_TABLE=0
-case "$target" in
- *arm*-apple-darwin*)
- FFI_EXEC_TRAMPOLINE_TABLE=1
- AC_DEFINE(FFI_EXEC_TRAMPOLINE_TABLE, 1,
- [Cannot use PROT_EXEC on this target, so, we revert to
- alternative means])
- ;;
- *-apple-darwin1[[10]]* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
- AC_DEFINE(FFI_MMAP_EXEC_WRIT, 1,
- [Cannot use malloc on this target, so, we revert to
- alternative means])
- ;;
-esac
-AM_CONDITIONAL(FFI_EXEC_TRAMPOLINE_TABLE, test x$FFI_EXEC_TRAMPOLINE_TABLE = x1)
-AC_SUBST(FFI_EXEC_TRAMPOLINE_TABLE)
-
-if test x$TARGET = xX86_64; then
- AC_CACHE_CHECK([assembler supports unwind section type],
- libffi_cv_as_x86_64_unwind_section_type, [
- libffi_cv_as_x86_64_unwind_section_type=yes
- echo '.section .eh_frame,"a",@unwind' > conftest.s
- if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
- libffi_cv_as_x86_64_unwind_section_type=no
- fi
- ])
- if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
- AC_DEFINE(HAVE_AS_X86_64_UNWIND_SECTION_TYPE, 1,
- [Define if your assembler supports unwind section type.])
- fi
-fi
-
-if test "x$GCC" = "xyes"; then
- AC_CACHE_CHECK([whether .eh_frame section should be read-only],
- libffi_cv_ro_eh_frame, [
- libffi_cv_ro_eh_frame=no
- echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
- if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
- if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- elif grep '.section.*eh_frame.*#alloc' conftest.c \
- | grep -v '#write' > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- fi
- fi
- rm -f conftest.*
- ])
- if test "x$libffi_cv_ro_eh_frame" = xyes; then
- AC_DEFINE(HAVE_RO_EH_FRAME, 1,
- [Define if .eh_frame sections should be read-only.])
- AC_DEFINE(EH_FRAME_FLAGS, "a",
- [Define to the flags needed for the .section .eh_frame directive. ])
- else
- AC_DEFINE(EH_FRAME_FLAGS, "aw",
- [Define to the flags needed for the .section .eh_frame directive. ])
- fi
-
- AC_CACHE_CHECK([for __attribute__((visibility("hidden")))],
- libffi_cv_hidden_visibility_attribute, [
- echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1 ; }' > conftest.c
- libffi_cv_hidden_visibility_attribute=no
- if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
- if grep '\.hidden.*foo' conftest.s >/dev/null; then
- libffi_cv_hidden_visibility_attribute=yes
- fi
- fi
- rm -f conftest.*
- ])
- if test $libffi_cv_hidden_visibility_attribute = yes; then
- AC_DEFINE(HAVE_HIDDEN_VISIBILITY_ATTRIBUTE, 1,
- [Define if __attribute__((visibility("hidden"))) is supported.])
- fi
-fi
-
-AH_BOTTOM([
-#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
-])
-
-AC_SUBST(TARGET)
-AC_SUBST(TARGETDIR)
-
-AC_SUBST(SHELL)
-
-AC_ARG_ENABLE(debug,
-[ --enable-debug debugging mode],
- if test "$enable_debug" = "yes"; then
- AC_DEFINE(FFI_DEBUG, 1, [Define this if you want extra debugging.])
- fi)
-AM_CONDITIONAL(FFI_DEBUG, test "$enable_debug" = "yes")
-
-AC_ARG_ENABLE(structs,
-[ --disable-structs omit code for struct support],
- if test "$enable_structs" = "no"; then
- AC_DEFINE(FFI_NO_STRUCTS, 1, [Define this is you do not want support for aggregate types.])
- fi)
-
-AC_ARG_ENABLE(raw-api,
-[ --disable-raw-api make the raw api unavailable],
- if test "$enable_raw_api" = "no"; then
- AC_DEFINE(FFI_NO_RAW_API, 1, [Define this is you do not want support for the raw API.])
- fi)
-
-AC_ARG_ENABLE(purify-safety,
-[ --enable-purify-safety purify-safe mode],
- if test "$enable_purify_safety" = "yes"; then
- AC_DEFINE(USING_PURIFY, 1, [Define this if you are using Purify and want to suppress spurious messages.])
- fi)
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- toolexecdir='$(exec_prefix)/$(target_alias)'
- toolexeclibdir='$(toolexecdir)/lib'
- else
- toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
- toolexeclibdir='$(libdir)'
- fi
- multi_os_directory=`$CC -print-multi-os-directory`
- case $multi_os_directory in
- .) ;; # Avoid trailing /.
- *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
- esac
- AC_SUBST(toolexecdir)
- AC_SUBST(toolexeclibdir)
-fi
-
-if test "${multilib}" = "yes"; then
- multilib_arg="--enable-multilib"
-else
- multilib_arg=
-fi
-
-AC_CONFIG_COMMANDS(include, [test -d include || mkdir include])
-AC_CONFIG_COMMANDS(src, [
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
-], [TARGETDIR="$TARGETDIR"])
-
-AC_CONFIG_LINKS(include/ffitarget.h:src/$TARGETDIR/ffitarget.h)
-
-AC_CONFIG_FILES(include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc)
-
-AC_OUTPUT
diff --git a/.pc/m68k-patches/.timestamp b/.pc/m68k-patches/.timestamp
deleted file mode 100644
index e69de29..0000000
--- a/.pc/m68k-patches/.timestamp
+++ /dev/null
diff --git a/.pc/m68k-patches/src/m68k/ffi.c b/.pc/m68k-patches/src/m68k/ffi.c
deleted file mode 100644
index 0d4df1e..0000000
--- a/.pc/m68k-patches/src/m68k/ffi.c
+++ /dev/null
@@ -1,288 +0,0 @@
-/* -----------------------------------------------------------------------
- ffi.c
-
- m68k Foreign Function Interface
- ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#include <stdlib.h>
-#include <unistd.h>
-#ifdef __rtems__
-void rtems_cache_flush_multiple_data_lines( const void *, size_t );
-#else
-#include <sys/syscall.h>
-#include <asm/cachectl.h>
-#endif
-
-void ffi_call_SYSV (extended_cif *,
- unsigned, unsigned,
- void *, void (*fn) ());
-void *ffi_prep_args (void *stack, extended_cif *ecif);
-void ffi_closure_SYSV (ffi_closure *);
-void ffi_closure_struct_SYSV (ffi_closure *);
-unsigned int ffi_closure_SYSV_inner (ffi_closure *closure,
- void *resp, void *args);
-
-/* ffi_prep_args is called by the assembly routine once stack space has
- been allocated for the function's arguments. */
-
-void *
-ffi_prep_args (void *stack, extended_cif *ecif)
-{
- unsigned int i;
- void **p_argv;
- char *argp;
- ffi_type **p_arg;
- void *struct_value_ptr;
-
- argp = stack;
-
- if (ecif->cif->rtype->type == FFI_TYPE_STRUCT
- && !ecif->cif->flags)
- struct_value_ptr = ecif->rvalue;
- else
- struct_value_ptr = NULL;
-
- p_argv = ecif->avalue;
-
- for (i = ecif->cif->nargs, p_arg = ecif->cif->arg_types;
- i != 0;
- i--, p_arg++)
- {
- size_t z;
-
- z = (*p_arg)->size;
- if (z < sizeof (int))
- {
- switch ((*p_arg)->type)
- {
- case FFI_TYPE_SINT8:
- *(signed int *) argp = (signed int) *(SINT8 *) *p_argv;
- break;
-
- case FFI_TYPE_UINT8:
- *(unsigned int *) argp = (unsigned int) *(UINT8 *) *p_argv;
- break;
-
- case FFI_TYPE_SINT16:
- *(signed int *) argp = (signed int) *(SINT16 *) *p_argv;
- break;
-
- case FFI_TYPE_UINT16:
- *(unsigned int *) argp = (unsigned int) *(UINT16 *) *p_argv;
- break;
-
- case FFI_TYPE_STRUCT:
- memcpy (argp + sizeof (int) - z, *p_argv, z);
- break;
-
- default:
- FFI_ASSERT (0);
- }
- z = sizeof (int);
- }
- else
- {
- memcpy (argp, *p_argv, z);
-
- /* Align if necessary. */
- if ((sizeof(int) - 1) & z)
- z = ALIGN(z, sizeof(int));
- }
-
- p_argv++;
- argp += z;
- }
-
- return struct_value_ptr;
-}
-
-#define CIF_FLAGS_INT 1
-#define CIF_FLAGS_DINT 2
-#define CIF_FLAGS_FLOAT 4
-#define CIF_FLAGS_DOUBLE 8
-#define CIF_FLAGS_LDOUBLE 16
-#define CIF_FLAGS_POINTER 32
-#define CIF_FLAGS_STRUCT1 64
-#define CIF_FLAGS_STRUCT2 128
-
-/* Perform machine dependent cif processing */
-ffi_status
-ffi_prep_cif_machdep (ffi_cif *cif)
-{
- /* Set the return type flag */
- switch (cif->rtype->type)
- {
- case FFI_TYPE_VOID:
- cif->flags = 0;
- break;
-
- case FFI_TYPE_STRUCT:
- switch (cif->rtype->size)
- {
- case 1:
- cif->flags = CIF_FLAGS_STRUCT1;
- break;
- case 2:
- cif->flags = CIF_FLAGS_STRUCT2;
- break;
- case 4:
- cif->flags = CIF_FLAGS_INT;
- break;
- case 8:
- cif->flags = CIF_FLAGS_DINT;
- break;
- default:
- cif->flags = 0;
- break;
- }
- break;
-
- case FFI_TYPE_FLOAT:
- cif->flags = CIF_FLAGS_FLOAT;
- break;
-
- case FFI_TYPE_DOUBLE:
- cif->flags = CIF_FLAGS_DOUBLE;
- break;
-
-#if (FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE)
- case FFI_TYPE_LONGDOUBLE:
- cif->flags = CIF_FLAGS_LDOUBLE;
- break;
-#endif
-
- case FFI_TYPE_POINTER:
- cif->flags = CIF_FLAGS_POINTER;
- break;
-
- case FFI_TYPE_SINT64:
- case FFI_TYPE_UINT64:
- cif->flags = CIF_FLAGS_DINT;
- break;
-
- default:
- cif->flags = CIF_FLAGS_INT;
- break;
- }
-
- return FFI_OK;
-}
-
-void
-ffi_call (ffi_cif *cif, void (*fn) (), void *rvalue, void **avalue)
-{
- extended_cif ecif;
-
- ecif.cif = cif;
- ecif.avalue = avalue;
-
- /* If the return value is a struct and we don't have a return value
- address then we need to make one. */
-
- if (rvalue == NULL
- && cif->rtype->type == FFI_TYPE_STRUCT
- && cif->rtype->size > 8)
- ecif.rvalue = alloca (cif->rtype->size);
- else
- ecif.rvalue = rvalue;
-
- switch (cif->abi)
- {
- case FFI_SYSV:
- ffi_call_SYSV (&ecif, cif->bytes, cif->flags,
- ecif.rvalue, fn);
- break;
-
- default:
- FFI_ASSERT (0);
- break;
- }
-}
-
-static void
-ffi_prep_incoming_args_SYSV (char *stack, void **avalue, ffi_cif *cif)
-{
- unsigned int i;
- void **p_argv;
- char *argp;
- ffi_type **p_arg;
-
- argp = stack;
- p_argv = avalue;
-
- for (i = cif->nargs, p_arg = cif->arg_types; (i != 0); i--, p_arg++)
- {
- size_t z;
-
- z = (*p_arg)->size;
- if (z <= 4)
- {
- *p_argv = (void *) (argp + 4 - z);
-
- z = 4;
- }
- else
- {
- *p_argv = (void *) argp;
-
- /* Align if necessary */
- if ((sizeof(int) - 1) & z)
- z = ALIGN(z, sizeof(int));
- }
-
- p_argv++;
- argp += z;
- }
-}
-
-unsigned int
-ffi_closure_SYSV_inner (ffi_closure *closure, void *resp, void *args)
-{
- ffi_cif *cif;
- void **arg_area;
-
- cif = closure->cif;
- arg_area = (void**) alloca (cif->nargs * sizeof (void *));
-
- ffi_prep_incoming_args_SYSV(args, arg_area, cif);
-
- (closure->fun) (cif, resp, arg_area, closure->user_data);
-
- return cif->flags;
-}
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure* closure,
- ffi_cif* cif,
- void (*fun)(ffi_cif*,void*,void**,void*),
- void *user_data,
- void *codeloc)
-{
- FFI_ASSERT (cif->abi == FFI_SYSV);
-
- *(unsigned short *)closure->tramp = 0x207c;
- *(void **)(closure->tramp + 2) = codeloc;
- *(unsigned short *)(closure->tramp + 6) = 0x4ef9;
- if (cif->rtype->type == FFI_TYPE_STRUCT
- && !cif->flags)
- *(void **)(closure->tramp + 8) = ffi_closure_struct_SYSV;
- else
- *(void **)(closure->tramp + 8) = ffi_closure_SYSV;
-
-#ifdef __rtems__
- rtems_cache_flush_multiple_data_lines( codeloc, FFI_TRAMPOLINE_SIZE );
-#else
- syscall(SYS_cacheflush, codeloc, FLUSH_SCOPE_LINE,
- FLUSH_CACHE_BOTH, FFI_TRAMPOLINE_SIZE);
-#endif
-
- closure->cif = cif;
- closure->user_data = user_data;
- closure->fun = fun;
-
- return FFI_OK;
-}
-
diff --git a/.pc/m68k-patches/testsuite/libffi.call/return_sc.c b/.pc/m68k-patches/testsuite/libffi.call/return_sc.c
deleted file mode 100644
index 19608ee..0000000
--- a/.pc/m68k-patches/testsuite/libffi.call/return_sc.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Area: ffi_call
- Purpose: Check return value signed char.
- Limitations: none.
- PR: none.
- Originator: From the original ffitest.c */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-static signed char return_sc(signed char sc)
-{
- return sc;
-}
-int main (void)
-{
- ffi_cif cif;
- ffi_type *args[MAX_ARGS];
- void *values[MAX_ARGS];
- ffi_arg rint;
- signed char sc;
-
- args[0] = &ffi_type_schar;
- values[0] = &sc;
-
- /* Initialize the cif */
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1,
- &ffi_type_schar, args) == FFI_OK);
-
- for (sc = (signed char) -127;
- sc < (signed char) 127; sc++)
- {
- ffi_call(&cif, FFI_FN(return_sc), &rint, values);
- CHECK(rint == (ffi_arg) sc);
- }
- exit(0);
-}
diff --git a/.pc/ml64-safeseh/.timestamp b/.pc/ml64-safeseh/.timestamp
deleted file mode 100644
index e69de29..0000000
--- a/.pc/ml64-safeseh/.timestamp
+++ /dev/null
diff --git a/.pc/ml64-safeseh/ChangeLog b/.pc/ml64-safeseh/ChangeLog
deleted file mode 100644
index 1c00d73..0000000
--- a/.pc/ml64-safeseh/ChangeLog
+++ /dev/null
@@ -1,4533 +0,0 @@
-2012-02-10 Kai Tietz <ktietz@redhat.com>
-
- * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
- windows target.
- * configure: Regenerated.
-
-2012-02-08 Kai Tietz <ktietz@redhat.com>
-
- * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
- also FFI_THISCALL.
- * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
- (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
- (ffi_prep_closure_loc): Add FFI_THISCALL support.
- * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
- * src/x86/win32.S (ffi_closure_THISCALL): New closure code
- for thiscall-calling convention.
- * testsuite/libffi.call/closure_thiscall.c: New test.
-
-2012-01-28 Kai Tietz <ktietz@redhat.com>
-
- * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
- argument to prototype for specify calling-convention.
- (ffi_call): Add support for stdcall/thiscall convention.
- (ffi_prep_args): Likewise.
- (ffi_raw_call): Likewise.
- * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
- FFI_FASTCALL.
- * src/x86/win32.S (_ffi_call_win32): Add support for
- fastcall/thiscall calling-convention calls.
- * testsuite/libffi.call/fastthis1_win32.c: New test.
- * testsuite/libffi.call/fastthis2_win32.c: New test.
- * testsuite/libffi.call/fastthis3_win32.c: New test.
- * testsuite/libffi.call/strlen2_win32.c: New test.
- * testsuite/libffi.call/many2_win32.c: New test.
- * testsuite/libffi.call/struct1_win32.c: New test.
- * testsuite/libffi.call/struct2_win32.c: New test.
-
-2012-01-23 Andreas Schwab <schwab@linux-m68k.org>
-
- * src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
- mc68000. Test for __HAVE_68881__ in addition to __MC68881__.
-
-2012-01-19 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/48496
- * src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
-
-2012-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (i?86-*-*): Set TARGET to X86_64.
- * configure: Regenerate.
-
-2011-12-07 Andrew Pinski <apinski@cavium.com>
-
- PR libffi/50051
- * src/mips/n32.S: Add ".set mips4".
-
-2011-11-21 Andreas Tobler <andreast@fgznet.ch>
-
- * configure: Regenerate.
-
-2011-11-10 Richard Henderson <rth@redhat.com>
-
- * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
- * configure, aclocal.m4: Rebuild.
-
-2011-09-04 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/49594
- * src/powerpc/darwin_closure.S (stubs): Make the stub binding
- helper reference track the architecture pointer size.
-
-2011-08-25 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
- instructions.
- * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
-
-2011-07-11 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46660
- * testsuite/libffi.call/cls_double_va.c: xfail dg-output on
- mips-sgi-irix6*.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
- PRId8 instead of %hhu, %hhd.
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
- PRIu8): Define.
- [__sgi__] (PRId8, PRIu8): Define.
-
-2011-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
- Define.
- Use them to handle ELF vs. ECOFF differences.
- [__osf__] (_GLOBAL__F_ffi_call_osf): Define.
-
-2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46661
- * testsuite/libffi.call/cls_pointer.c (main): Cast void * to
- uintptr_t first.
- * testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
- Handle case when CPU variant does not have long double support.
- * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
- and cores with soft floating point.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * configure.ac: Add mips*-*-rtems* support.
- * configure: Regenerate.
- * src/mips/ffitarget.h: Ensure needed constants are available
- for targets which do not have sgidefs.h.
-
-2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR target/40125
- * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
- * configure: Regenerate.
-
-2010-12-18 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/29152
- PR libffi/42378
- * src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
- (FFI_TRAMPOLINE_SIZE): Update for Darwin64.
- * src/powerpc/darwin.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
- backslashes.
- (libffi_cv_as_string_pseudo_op): Likewise.
- * configure: Regenerate.
-
-2010-12-03 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
- (ffi_closure_VFP): Same.
- (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
- directive.
-
-2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
- (PRIuPTR): Define.
-
-2010-11-29 Richard Henderson <rth@redhat.com>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
- (.eh_frame): Use FDE_ENCODING.
- (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
-
-2010-11-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp: Rename ...
- * testsuite/lib/libffi.exp: ... to this.
- * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
- * libffi/testsuite/libffi.special/special.exp: Likewise.
-
-2010-10-28 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
- code, new parameter, and return value. Update comments.
- (ffi_prep_cif_machdep): Add case for VFP struct return values. Add
- call to layout_vfp_args().
- (ffi_call_SYSV): Update declaration.
- (ffi_call_VFP): New declaration.
- (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
- when ABI is FFI_VFP.
- (ffi_closure_VFP): New declaration.
- (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
- ffi_prep_incoming_args_SYSV().
- (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
- case handling.
- (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
- construction under VFP hard-float.
- (rec_vfp_type_p): New function.
- (vfp_type_p): Same.
- (place_vfp_arg): Same.
- (layout_vfp_args): Same.
- * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
- based on __ARM_PCS_VFP.
- (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
- fields.
- (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
- (FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
- * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
- direct call. Move function pointer load upwards.
- (ffi_call_VFP): New function.
- (ffi_closure_VFP): Same.
-
- * testsuite/lib/libffi-dg.exp (check-flags): New function.
- (dg-skip-if): New function.
- * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
- and compiler options include -mfloat-abi=hard.
- * testsuite/libffi.call/cls_longdouble_va.c: Same.
-
-2010-10-01 Jakub Jelinek <jakub@redhat.com>
-
- PR libffi/45677
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
- a multiple of 8.
- * testsuite/libffi.call/many2.c: New test.
-
-2010-08-20 Mark Wielaard <mjw@redhat.com>
-
- * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
- returns NULL.
-
-2010-08-09 Andreas Tobler <andreast@fgznet.ch>
-
- * configure.ac: Add target powerpc64-*-freebsd*.
- * configure: Regenerate.
- * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
- -mlong-double-128 only to linux targets.
- * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
- * testsuite/libffi.call/cls_longdouble.c: Likewise.
- * testsuite/libffi.call/huge_struct.c: Likewise.
-
-2010-08-04 Dan Witte <dwitte@mozilla.com>
-
- * src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64
- platforms.
- * src/x86/ffi.c: Remove redundant ifdef checks.
- * src/prep_cif.c: Push stack space computation into src/x86/ffi.c
- for X86_ANY so return value space doesn't get added twice.
-
-2010-07-22 Dan Witte <dwitte@mozilla.com>
-
- * src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
- * src/prep_cif.c: Fix ABI assertion.
- * src/cris/ffi.c: Ditto.
-
-2010-07-10 Evan Phoenix <evan@fallingsnow.net>
-
- * src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
-
-2010-07-07 Dan Horák <dan@danny.cz>
-
- * include/ffi.h.in: Protect #define with #ifndef.
- * src/powerpc/ffitarget.h: Ditto.
- * src/s390/ffitarget.h: Ditto.
- * src/sparc/ffitarget.h: Ditto.
-
-2010-07-07 Neil Roberts <neil@linux.intel.com>
-
- * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
- 16-bytes.
-
-2010-07-02 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
- * Makefile.in: Regenerated.
-
-2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
- output, too.
- (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
- (libffi_cv_as_string_pseudo_op): Check for .string.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
-
-2010-05-11 Dan Witte <dwitte@mozilla.com>
-
- * doc/libffi.tex: Document previous change.
-
-2010-05-11 Makoto Kato <m_kato@ga2.so-net.ne.jp>
-
- * src/x86/ffi.c (ffi_call): Don't copy structs passed by value.
-
-2010-05-05 Michael Kohler <michaelkohler@live.com>
-
- * src/dlmalloc.c (dlfree): Fix spelling.
- * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
- * configure.ac: Ditto.
- * configure: Rebuilt.
-
-2010-04-13 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Build with -W3 instead of -Wall.
- * src/powerpc/ffi_darwin.c: Remove build warnings.
- * src/x86/ffi.c: Ditto.
- * src/x86/ffitarget.h: Ditto.
-
-2010-04-12 Dan Witte <dwitte@mozilla.com>
- Walter Meinl <wuno@lsvw.de>
-
- * configure.ac: Add OS/2 support.
- * configure: Rebuilt.
- * src/closures.c: Ditto.
- * src/dlmalloc.c: Ditto.
- * src/x86/win32.S: Ditto.
-
-2010-04-07 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
-
-2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2010-03-30 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Disable build warnings.
- * README (tested): Clarify windows build procedure.
-
-2010-03-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * libffi/src/x86/unix64.S (.eh_frame)
- [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
-
-2010-03-14 Matthias Klose <doko@ubuntu.com>
-
- * src/x86/ffi64.c: Fix typo in comment.
- * src/x86/ffi.c: Use /* ... */ comment style.
-
-2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/libffi.texi (The Closure API): Fix typo.
- * doc/libffi.info: Remove.
-
-2010-02-15 Matthias Klose <doko@ubuntu.com>
-
- * src/arm/sysv.S (__ARM_ARCH__): Define for processor
- __ARM_ARCH_7EM__.
-
-2010-01-15 Anthony Green <green@redhat.com>
-
- * README: Add notes on building with Microsoft Visual C++.
-
-2010-01-15 Daniel Witte <dwitte@mozilla.com>
-
- * msvcc.sh: New file.
-
- * src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
- * src/x86/ffi.c: Tweak function declaration and remove excess
- parens.
- * include/ffi.h.in: Add __declspec(align(8)) to typedef struct
- ffi_closure.
-
- * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
- function ffi_call_win32 on X86_WIN32.
- * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
- (ffi_call_STDCALL): Remove.
-
- * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
- to ffi_prep_cif_machdep for x86.
- * src/x86/ffi.c (ffi_prep_cif_machdep): To here.
-
-2010-01-15 Oliver Kiddle <okiddle@yahoo.co.uk>
-
- * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
- Sun Studio compiler compatibility.
-
-2010-01-12 Conrad Irwin <conrad.irwin@gmail.com>
-
- * doc/libffi.texi: Add closure example.
-
-2010-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40701
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
- PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
- * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
- alpha*-dec-osf*.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/return_ll1.c: Likewise.
- * testsuite/libffi.call/stret_medium2.c: Likewise.
- * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
- MAP_FAILED to char *.
-
-2010-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
-
-2009-12-31 Anthony Green <green@redhat.com>
-
- * README: Update for libffi 3.0.9.
-
-2009-12-27 Matthias Klose <doko@ubuntu.com>
-
- * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
- appropriate.
- * configure: Rebuilt.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
- avr32*-*-*.
- * testsuite/libffi.call/cls_double_va.c: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
- and inttypes.h.
- * testsuite/libffi.special/unwindtest.cc: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-openbsd*.
- * configure: Rebuilt.
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
- openbsd programs with -lpthread.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
- mips*-*-* and arm*-*-*.
- * testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c,
- testsuite/libffi.call/stret_medium2.c,
- testsuite/libffi.call/stret_medium.c,
- testsuite/libffi.call/stret_large.c,
- testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
-
-2009-12-31 Kay Tietz <ktietz70@googlemail.com>
-
- * testsuite/libffi.call/ffitest.h,
- testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
- definitions.
-
-2009-12-31 Carlo Bramini <carlo.bramix@libero.it>
-
- * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
- * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
-
-2009-12-31 Anthony Green <green@redhat.com>
- Blake Chaffin.
-
- * testsuite/libffi.call/huge_struct.c: New test case from Blake
- Chaffin @ Apple.
-
-2009-12-28 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
- local variables.
- (aix_adjust_aggregate_sizes): New function.
- (ffi_prep_cif_machdep): Call it.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
- * configure: Regenerate.
- * fficonfig.h.in: Likewise.
- * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
- Solaris/x86.
-
-2009-12-26 Andreas Schwab <schwab@linux-m68k.org>
-
- * 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.
-
-2009-12-25 Matthias Klose <doko@ubuntu.com>
-
- * man/ffi_call.3: Fix #include in examples.
- * doc/libffi.texi: Add dircategory.
-
-2009-12-25 Frank Everdij <f.p.x.everdij@tudelft.nl>
-
- * include/ffi.h.in: Placed '__GNUC__' ifdef around
- '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
- IRIX MIPSPro c99.
- * include/ffi_common.h: Added '__sgi' define to non
- '__attribute__((__mode__()))' integer typedefs.
- * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
- ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
- (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
- FFI_LONGDOUBLE support and alignment(N32 only).
- * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
- fixed non '__attribute__((__mode__()))' integer typedefs.
- * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
- since they are Linux/GNU Assembler specific.
-
-2009-12-25 Bradley Smith <brad@brad-smith.co.uk>
-
- * configure.ac, Makefile.am, src/avr32/ffi.c,
- src/avr32/ffitarget.h,
- src/avr32/sysv.S: Add AVR32 port.
- * configure, Makefile.in: Rebuilt.
-
-2009-12-21 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
- * configure: Regenerate.
-
-2009-12-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
- type on HP-UX.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
- double' arguments.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40700
- * src/closures.c [X86_64 && __sun__ && __svr4__]
- (FFI_MMAP_EXEC_WRIT): Define.
-
-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.
-
-2009-12-07 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
- typo.
-
-2009-12-05 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
- code.
- * src/powerpc/aix_closure.S: Same.
-
-2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
- linux64_closure.S.
-
-2009-12-04 Uros Bizjak <ubizjak@gmail.com>
-
- 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.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
- pfr for long double split between fpr13 and stack.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
- fparg_count twice for long double.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- PR libffi/42243
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03 Uros Bizjak <ubizjak@gmail.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
- Remove xfails for x86 linux targets.
-
-2009-12-02 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
- case.
-
-2009-12-01 David Edelsohn <edelsohn@gnu.org>
-
- * 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.
-
-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.
-
-2009-11-02 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/41908
- * testsuite/libffi.call/testclosure.c: New test.
-
-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.
-
-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.
-
-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.
-
-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.
-
-2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.am (install-html, install-pdf): Remove.
- * Makefile.in: Regenerate.
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24 Dave Korn <dave.korn.cygwin@gmail.com>
-
- 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.
-
-2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
-
- 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.
-
-2009-07-01 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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 "".)
-
-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.
-
-2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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.
-
-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.
-
-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.
-
-2009-06-16 Andrew Haley <aph@redhat.com>
-
- * configure.ac (TARGETDIR): Add missing blank lines.
- * configure: Regenerate.
-
-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.
-
-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.
-
-2009-06-12 Andrew Haley <aph@redhat.com>
-
- * Makefile.am: Remove info_TEXINFOS.
-
-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-11 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * 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.
-
-2009-06-09 Andrew Haley <aph@redhat.com>
-
- * src/x86/freebsd.S: Add missing file.
-
-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).
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * README: Import from libffi 3.0.8.
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Add xfails.
- * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
- * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
- * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
- * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
- * testsuite/libffi.call/stret_medium.c: Likewise.
- * testsuite/libffi.call/stret_large2.c: Likewise.
- * testsuite/libffi.call/stret_large.c: Likewise.
-
-2008-12-26 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_align_longdouble.c,
- testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
- failures on x86_64 cygwin/mingw.
-
-2008-12-22 Timothy Wall <twall@users.sf.net>
-
- * 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_loc_fn0.c,
- testsuite/libffi.call/closure_stdcall.c,
- testsuite/libffi.call/cls_align_pointer.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
- pointer to integer (intptr_t).
- * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_dbls_struct.c,
- testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c,
- testsuite/libffi.call/err_bad_abi.c: Clean up failures from
- compiler warnings.
-
-2008-03-04 Anthony Green <green@redhat.com>
- Blake Chaffin
- hos@tamanegi.org
-
- * testsuite/libffi.call/cls_align_longdouble_split2.c
- testsuite/libffi.call/cls_align_longdouble_split.c
- testsuite/libffi.call/cls_dbls_struct.c
- testsuite/libffi.call/cls_double_va.c
- testsuite/libffi.call/cls_longdouble.c
- testsuite/libffi.call/cls_longdouble_va.c
- testsuite/libffi.call/cls_pointer.c
- testsuite/libffi.call/cls_pointer_stack.c
- testsuite/libffi.call/err_bad_abi.c
- testsuite/libffi.call/err_bad_typedef.c
- testsuite/libffi.call/stret_large2.c
- testsuite/libffi.call/stret_large.c
- testsuite/libffi.call/stret_medium2.c
- testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
- libffi.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
- stdcall changes.
-
-2008-02-26 Anthony Green <green@redhat.com>
- Thomas Heller <theller@ctypes.org>
-
- * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
- comment.
-
-2008-02-03 Timothy Wall <twall@users.sf.net>
-
- * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
- offset based on code pointer, not data pointer.
-
-2008-01-31 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
- closures.
- * src/x86/ffitarget.h: Increase size of trampoline for stdcall
- closures.
- * src/x86/win32.S: Add assembly for stdcall closure.
- * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Change void (*)() to void (*)(void).
- * src/x86/ffi.c: Likewise.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ppc_closure.S: Insert licence header.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/m68k/sysv.S: Likewise.
-
- * src/sh64/ffi.c: Change void (*)() to void (*)(void).
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/m32r/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi64.c: Likewise.
- * src/alpha/ffi.c: Likewise.
- * src/alpha/osf.S: Likewise.
- * src/frv/ffi.c: Likewise.
- * src/s390/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/pa/hpux32.S: Likewise.
- * src/ia64/unix.S: Likewise.
- * src/ia64/ffi.c: Likewise.
- * src/sparc/ffi.c: Likewise.
- * src/mips/ffi.c: Likewise.
- * src/sh/ffi.c: Likewise.
-
-2008-02-15 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
- Define (conditionally), and use it to include cachectl.h.
- (ffi_prep_closure_loc): Fix cache flushing.
- * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- include/ffi.h.in,
- src/arm/ffitarget.h,
- src/arm/ffi.c,
- src/arm/sysv.S,
- src/powerpc/ffitarget.h,
- src/closures.c,
- src/sh64/ffitarget.h,
- src/sh64/ffi.c,
- src/sh64/sysv.S,
- src/types.c,
- src/x86/ffi64.c,
- src/x86/ffitarget.h,
- src/x86/win32.S,
- src/x86/darwin.S,
- src/x86/ffi.c,
- src/x86/sysv.S,
- src/x86/unix64.S,
- src/alpha/ffitarget.h,
- src/alpha/ffi.c,
- src/alpha/osf.S,
- src/m68k/ffitarget.h,
- src/frv/ffitarget.h,
- src/frv/ffi.c,
- src/s390/ffitarget.h,
- src/s390/sysv.S,
- src/cris/ffitarget.h,
- src/pa/linux.S,
- src/pa/ffitarget.h,
- src/pa/ffi.c,
- src/raw_api.c,
- src/ia64/ffitarget.h,
- src/ia64/unix.S,
- src/ia64/ffi.c,
- src/ia64/ia64_flags.h,
- src/java_raw_api.c,
- src/debug.c,
- src/sparc/v9.S,
- src/sparc/ffitarget.h,
- src/sparc/ffi.c,
- src/sparc/v8.S,
- src/mips/ffitarget.h,
- src/mips/n32.S,
- src/mips/o32.S,
- src/mips/ffi.c,
- src/prep_cif.c,
- src/sh/ffitarget.h,
- src/sh/ffi.c,
- src/sh/sysv.S: Update license text.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * src/x86/win32.S (_ffi_closure_STDCALL): New function.
- (.eh_frame): Add FDE for it.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * configure.ac: Also check if assembler supports pc-relative
- relocs on X86_WIN32 targets.
- * configure: Regenerate.
- * src/x86/win32.S (ffi_prep_args): Declare extern, not global.
- (_ffi_call_SYSV): Add missing function type symbol .def and
- add EH markup labels.
- (_ffi_call_STDCALL): Likewise.
- (_ffi_closure_SYSV): Likewise.
- (_ffi_closure_raw_SYSV): Likewise.
- (.eh_frame): Add hand-crafted EH data.
-
-2009-04-09 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
- version 3 of the GNU General Public License and to point readers
- at the COPYING3 file and the FSF's license web page.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-12-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libffi/26048
- * configure.ac (HAVE_AS_X86_PCREL): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
- RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
- RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
- * src/x86/unix64.S (.Lstore_table): Move to .text section.
- (.Lload_table): Likewise.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
- signed/unsigned int8/16 return values.
- * src/sparc/v8.S (ffi_call_v8): Likewise.
- (ffi_closure_v8): Likewise.
-
-2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
- Steve Ellcey <sje@cup.hp.com>
-
- * configure: Regenerate for new libtool.
- * Makefile.in: Ditto.
- * include/Makefile.in: Ditto.
- * aclocal.m4: Ditto.
-
-2008-08-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
- FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
- Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
- Adjust copyright notice.
- * src/powerpc/ffi.c: Add two new flags to indicate if we have one
- register or two register to use for FFI_SYSV structs.
- (ffi_prep_cif_machdep): Pass the right register flag introduced above.
- (ffi_closure_helper_SYSV): Fix the return type for
- FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
- Adjust copyright notice.
-
-2008-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
- int.
-
-2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2008-06-07 Joseph Myers <joseph@codesourcery.com>
-
- * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
- powerpc-*-beos*): Remove.
- * configure: Regenerate.
-
-2008-05-09 Julian Brown <julian@codesourcery.com>
-
- * Makefile.am (LTLDFLAGS): New.
- (libffi_la_LDFLAGS): Use above.
- * Makefile.in: Regenerate.
-
-2008-04-18 Paolo Bonzini <bonzini@gnu.org>
-
- PR bootstrap/35457
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2008-03-26 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add .note.GNU-stack on Linux.
- * src/sh64/sysv.S: Likewise.
-
-2008-03-26 Daniel Jacobowitz <dan@debian.org>
-
- * src/arm/sysv.S: Fix ARM comment marker.
-
-2008-03-26 Jakub Jelinek <jakub@redhat.com>
-
- * src/alpha/osf.S: Add .note.GNU-stack on Linux.
- * src/s390/sysv.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
- * src/x86/unix64.S: Likewise.
- * src/x86/sysv.S: Likewise.
- * src/sparc/v8.S: Likewise.
- * src/sparc/v9.S: Likewise.
- * src/m68k/sysv.S: Likewise.
- * src/arm/sysv.S: Likewise.
-
-2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * aclocal.m4: Regenerate.
- * configure: Likewise.
- * Makefile.in: Likewise.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2008-02-12 Bjoern Koenig <bkoenig@alpha-tierchen.de>
- Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-freebsd* target.
- * configure: Regenerate.
-
-2008-01-30 H.J. Lu <hongjiu.lu@intel.com>
-
- PR libffi/34612
- * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
- returning struct.
-
- * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
- tests.
-
-2008-01-24 David Edelsohn <edelsohn@gnu.org>
-
- * configure: Regenerate.
-
-2008-01-06 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
-
-2008-01-05 Andreas Tobler <a.tobler@schweiz.org>
-
- PR testsuite/32843
- * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
- signed/unsigned int8/16 for X86_DARWIN.
- Updated copyright info.
- Handle one and two byte structs with special cif->flags.
- * src/x86/ffitarget.h: Add special types for one and two byte structs.
- Updated copyright info.
- * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
- sysv.S
- Remove code to pop args from the stack after call.
- Special-case signed/unsigned for int8/16, one and two byte structs.
- (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
- FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
- FFI_TYPE_SINT32.
- Updated copyright info.
-
-2007-12-08 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_call_N32): Replace dadd with ADDU, dsub with
- SUBU, add with ADDU and use smaller code sequences.
-
-2007-12-07 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
- type.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
- defined.
- (ffi_java_raw): New typedef.
- (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
- ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
- ffi_java_raw.
- (ffi_java_raw_closure) : Same.
- (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
- parameter types.
- * src/java_raw_api.c (ffi_java_raw_size): Replace FFI_SIZEOF_ARG with
- FFI_SIZEOF_JAVA_RAW.
- (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
- Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
- sizeof(ffi_java_raw) for alignment calculations.
- (ffi_java_ptrarray_to_raw): Same.
- (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
- if FFI_SIZEOF_JAVA_RAW == 4.
- (ffi_java_raw_to_rvalue): Same.
- (ffi_java_raw_call): Change type of raw to ffi_java_raw.
- (ffi_java_translate_args): Same.
- (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
- parameter types.
- * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
- pointer values.
-
-2007-12-01 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/31937
- * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
- Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
- * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
- set the NUM_FPR_ARG_REGISTERS according to.
- Add support for potential soft-float support under hard-float
- architecture.
- (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
- FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
- to the FFI_LINUX_SOFT_FLOAT ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Make sure not to store float/double
- on archs where __NO_FPRS__ is true.
- Add FFI_TYPE_UINT128 support.
- * src/powerpc/sysv.S: Add support for soft-float long-double-128.
- Adjust copyright notice.
-
-2007-11-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
- * include/ffi_common.h: ... here.
- Update copyright.
-
-2007-11-17 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
- * testsuite/libffi.call/return_ldl.c: New test.
-
-2007-09-04 <aph@redhat.com>
-
- * src/arm/sysv.S (UNWIND): New.
- (Whole file): Conditionally compile unwinder directives.
- * src/arm/sysv.S: Add unwinder directives.
-
- * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
- Only treat r0 as a struct address if we're actually returning a
- struct by address.
- Only copy the bytes that are actually within a struct.
- (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
- is returned in r0, not passed by address.
- (ffi_call): Allocate a word-sized temporary for the case where
- a composite is returned in r0.
- (ffi_prep_incoming_args_SYSV): Align as necessary.
-
-2007-08-05 Steven Newbury <s_j_newbury@yahoo.co.uk>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
- directly using the sys_cacheflush syscall.
-
-2007-07-27 Andrew Haley <aph@redhat.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
-
-2007-09-03 Maciej W. Rozycki <macro@linux-mips.org>
-
- * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure: Likewise.
-
-2007-08-24 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/return_sl.c: New test.
-
-2007-08-10 David Daney <ddaney@avtrex.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/nested_struct5.c,
- testsuite/libffi.call/cls_double.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/nested_struct.c,
- testsuite/libffi.call/cls_2byte.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_sint16.c,
- testsuite/libffi.call/cls_align_uint32.c,
- testsuite/libffi.call/cls_20byte.c,
- testsuite/libffi.call/cls_float.c,
- testsuite/libffi.call/nested_struct2.c,
- testsuite/libffi.call/cls_5_1_byte.c,
- testsuite/libffi.call/nested_struct4.c,
- testsuite/libffi.call/cls_24byte.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: Remove xfail for mips64*-*-*.
-
-2007-08-10 David Daney <ddaney@avtrex.com>
-
- 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.
-
-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*.
- * 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.
-
-2006-12-13 Andreas Tobler <a.tobler@schweiz.org>
-
- * aclocal.m4: Regenerate with aclocal -I .. as written in the
- Makefile.am.
-
-2006-10-31 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
- (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
- Darwin.
- * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
- * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10 Paolo Bonzini <bonzini@gnu.org>
- Sandro Tolaini <tolaini@libero.it>
-
- * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
- conditional.
- * configure: Regenerated.
- * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
- (EXTRA_DIST): Add src/x86/darwin.S.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
- X86_WIN32, and additionally align stack to 16 bytes.
- * src/x86/darwin.S: New, based on sysv.S.
- * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12 David Daney <ddaney@avtrex.com>
-
- PR libffi/23935
- * include/Makefile.am: Install both ffi.h and ffitarget.h in
- $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
- * aclocal.m4: Regenerated for automake 1.9.6.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
-2006-08-17 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h: Remove lint directives.
- * include/ffi.h.in: Likewise.
-
-2006-07-25 Torsten Schoenfeld <kaffeetisch@gmx.de>
-
- * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
- for 32-bit architectures.
- * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
- xfail remains for mips64.
-
-2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
-
- * Makefile.am: Add install-html target. Add install-html to .PHONY
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
- stack slot.
-
-2006-04-22 Andreas Tobler <a.tobler@schweiz.ch>
-
- * README: Remove notice about 'Crazy Comments'.
- * src/debug.c: Remove lint directives. Cleanup white spaces.
- * src/java_raw_api.c: Likewise.
- * src/prep_cif.c: Likewise.
- * src/raw_api.c: Likewise.
- * src/ffitest.c: Delete. No longer needed, all test cases migrated
- to the testsuite.
- * src/arm/ffi.c: Remove lint directives.
- * src/m32r/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/sh/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/pa/hpux32.S: Correct unwind offset calculation for
- ffi_closure_pa32.
- * src/pa/linux.S: Likewise.
-
-2006-04-12 James E Wilson <wilson@specifix.com>
-
- PR libgcj/26483
- * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
- (hfa_type_load): Call stf_spill.
- (hfa_type_store): Call ldf_fill.
- (ffi_call): Adjust calls to above routines. Add local temps for
- macro result.
-
-2006-04-10 Matthias Klose <doko@debian.org>
-
- * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
- directory names containing underscores.
-
-2006-04-07 James E Wilson <wilson@specifix.com>
-
- * testsuite/libffi.call/float4.c: New testcase.
-
-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.
-
-2006-03-24 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Default
- for 32-bit using IBM extended double format. Fix FFI_LAST_ABI.
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
- FFI_TYPE_LONGDOUBLE.
- (ffi_prep_args64): Assert using IBM extended double.
- (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
- Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
- (ffi_call): Handle FFI_LINUX.
- (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
- gpr3 return pointer as for struct return. Handle FFI_LINUX
- FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf"
- unnecessarily.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
- for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table.
- Don't use r6 as pointer to results, instead use sp offset. Don't
- make a special call to load lr with case table address, instead
- use offset from previous call.
- * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
- return.
-
-2006-03-15 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
- passed with FP registers correctly.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S: Likewise.
-
-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.
-
-2006-02-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
- -O2, -O3, -Os and the warning flags -W -Wall.
- * testsuite/libffi.special/special.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
- unused parameter unused for gcc or else do nothing.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
- * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
- * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
- * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
- * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
- * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
- * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
- * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
- * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
- void* to avoid compiler warning.
- (main): Likewise.
- (cls_struct_align_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
- * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
- * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
- userdata unused.
- (cls_ret_schar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
- userdata unused.
- (cls_ret_sint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
- userdata unused.
- (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn): Mark cif and
- userdata unused.
- (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
- userdata unused.
- (cls_ret_uint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
- userdata unused.
- (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
- * testsuite/libffi.call/float1.c (main): Remove unused variable i.
- Cleanup white spaces.
- * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
- * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
- cif and userdata unused.
- * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
- Likewise.
- * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
- formatters to silence gcc.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct4.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct6.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
- * testsuite/libffi.call/problem1.c (stub): Likewise.
- * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
- gcc.
- * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
- in the last commit for this test case in the test case itself.
- * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
- unused.
- * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
- * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
- * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
- * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
- * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
- * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Fix register numbers in the FDE for
- ffi_closure_SYSV.
-
-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.
-
-2006-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
- and cast integer to void * if needed. Update the pointer to
- the FP register saved area correctly.
-
-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.
-
-2006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/return_dbl.c: New test case.
- * testsuite/libffi.call/return_dbl1.c: Likewise.
- * testsuite/libffi.call/return_dbl2.c: Likewise.
- * testsuite/libffi.call/return_fl.c: Likewise.
- * testsuite/libffi.call/return_fl1.c: Likewise.
- * testsuite/libffi.call/return_fl2.c: Likewise.
- * testsuite/libffi.call/return_fl3.c: Likewise.
- * testsuite/libffi.call/closure_fn6.c: Likewise.
-
- * 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.
-
-2006-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.ac: Enable libffi for sparc64-*-freebsd*.
- * configure: Rebuilt.
-
-2006-01-18 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
- instead do the shifting inline.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
- shift count unconditionally. Simplify load sequences for 1, 2, 3, 4
- and 8 byte structs, for the remaining struct sizes don't call
- __lshrdi3, instead do the shifting inline.
-
-2005-12-07 Thiemo Seufer <ths@networkno.de>
-
- * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
- missing parentheses.
- * src/mips/o32.S (ffi_call_O32): Code formatting. Define
- and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
- (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
- A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
- V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
- FA_0_0_OFF2.
- * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
- endianness bugs.
- (ffi_prep_closure): Improve trampoline instruction scheduling.
- (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c: Formatting.
- (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
- (ffi_prep_args64): Likewise.
-
-2005-09-30 Geoffrey Keating <geoffk@apple.com>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
- darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26 Tom Tromey <tromey@redhat.com>
-
- * 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.
-
-2005-08-25 Alan Modra <amodra@bigpond.net.au>
-
- PR target/23404
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
- homed fp args.
- (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11 Jakub Jelinek <jakub@redhat.com>
-
- * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
- (AH_BOTTOM): Add FFI_HIDDEN definition.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * src/powerpc/ffi.c (hidden): Remove.
- (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
- ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
- .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
- * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
- add FFI_HIDDEN to its prototype.
- (ffi_closure_SYSV_inner): New.
- * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
- * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10 Alfred M. Szmidt <ams@gnu.org>
-
- PR libffi/21819:
- * configure: Rebuilt.
- * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
- DW_CFA_offset_extended_sf rather than
- DW_CFA_GNU_negative_offset_extended.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
-
- * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
- on sh3.
- (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
- * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
- partially on register.
- (ffi_closure_helper_SYSV): Likewise.
- (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_call): Handle small structures correctly.
- Remove empty line.
- * src/sh64/ffi.c (simple_type): Remove.
- (return_type): Handle small structures correctly.
- (ffi_prep_args): Likewise.
- (ffi_call): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
- Emit position independent code if PIC and remove wrong datalabel
- prefixes from EH data.
-
-2005-07-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure.ac: Add POWERPC_FREEBSD rules.
- * configure: Regenerate.
- * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
- (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
- * src/powerpc/ffi.c: Add flags to handle small structure returns
- in ffi_call_SYSV.
- (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
- Aka FFI_SYSV.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Add return types for small structures.
- * src/powerpc/sysv.S: Add bits to handle small structures for
- final SYSV 4 ABI.
-
-2005-07-10 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_5_1_byte.c: New test file.
- * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05 Randolph Chung <tausq@debian.org>
-
- * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
- as FFI_TYPE_SMALL_STRUCT3. Break out handling for 5-7 byte
- structures. Kill compilation warnings.
- (ffi_closure_inner_LINUX): Print return values as hex in debug
- message. Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
- Properly handle 5-7 byte structure returns.
- * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
- (FFI_TYPE_SMALL_STRUCT2): Remove.
- (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
- (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
- * src/pa/linux.S: Mark source file as using PA1.1 assembly.
- (checksmst1, checksmst2): Remove.
- (checksmst3): Optimize handling of 3-byte struct returns.
- (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libgcj/21943
- * src/mips/n32.S: Enforce PIC code.
- * src/mips/o32.S: Likewise.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
- * configure: Regenerate.
-
-2005-06-01 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
- to call ffi_closure_helper_SYSV. Append @local instead.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
- Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
- * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
- * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
- include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-05-08 Richard Henderson <rth@redhat.com>
-
- PR libffi/21285
- * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04 Andreas Degert <ad@papyrus-gmbh.de>
- Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
- bit 11 of flags.
- (ffi_call): Mask return type field. Pass ssecount to ffi_call_unix64.
- (ffi_prep_closure): Set carry bit if sse-used flag set.
- * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
- Only load sse registers if ssecount non-zero.
- (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
- powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
- * configure: Regenerate.
-
-2005-04-20 Hans-Peter Nilsson <hp@axis.com>
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
- have Tcl8.3-compatible intermediate variable.
-
-2005-04-18 Simon Posnjak <simon.posnjak@siol.net>
- Hans-Peter Nilsson <hp@axis.com>
-
- * Makefile.am: Add CRIS support.
- * configure.ac: Likewise.
- * Makefile.in, configure, testsuite/Makefile.in,
- include/Makefile.in: Regenerate.
- * src/cris: New directory.
- * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
- * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
- \r?\n in output tests.
-
-2005-04-12 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-03-30 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30 Steve Ellcey <sje@cup.hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
- (ffi_sarg) Ditto.
- * src/ia64/unix.S (ffi_closure_unix): Extend gp
- to 64 bits in ILP32 mode.
- Load 64 bits even for short data.
-
-2005-03-23 Mike Stump <mrs@apple.com>
-
- * src/powerpc/darwin.S: Update for -m64 multilib.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21 Zack Weinberg <zack@codesourcery.com>
-
- * 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.
-
-2005-02-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
- odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR libffi/20104
- * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11 Janis Johnson <janis187@us.ibm.com>
-
- * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
- * testsuite/libffi.call/float.c: Ditto.
- * testsuite/libffi.call/float2.c: Ditto.
- * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * testsuite/libffi.special/special.exp (cxx_options): Add
- -shared-libgcc.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
- (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
- offset parameters with a type parameter; deduce size and structure
- alignment. Update all users.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
- (FFI_TYPE_LONGDOUBLE): Fix for ia64.
- * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
- into ffi_prep_closure.
- * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
- from scratch.
-
-2004-12-27 Richard Henderson <rth@redhat.com>
-
- * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25 Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
- (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
- (merge_classes): Check for it.
- (SSE_CLASS_P): New.
- (classify_argument): Pass byte_offset by value; perform all updates
- inside struct case.
- (examine_argument): Add classes argument; handle
- X86_64_COMPLEX_X87_CLASS.
- (ffi_prep_args): Merge into ...
- (ffi_call): ... here. Share stack frame with ffi_call_unix64.
- (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
- (ffi_fill_return_value): Remove.
- (ffi_prep_closure): Remove dead assert.
- (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
- Rewrite to use struct register_args instead of va_list. Create
- flags for handling structure returns.
- * src/x86/unix64.S: Remove dead strings.
- (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share
- stack frame with ffi_call. Handle structure returns properly.
- (float2sse, floatfloat2sse, double2sse): Remove.
- (sse2float, sse2double, sse2floatfloat): Remove.
- (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite
- to handle structure returns properly.
-
-2004-12-08 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
- PICFLAG.
- * Makefile.in: Regenerated.
-
-2004-12-02 Richard Sandiford <rsandifo@redhat.com>
-
- * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
- * configure, aclocal.m4, Makefile.in: Regenerate.
- * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-25 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool reversion.
-
-2004-11-24 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23 Richard Sandiford <rsandifo@redhat.com>
-
- * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
- of jal. Use an absolute encoding for the frame information.
-
-2004-11-23 Kelley Cook <kcook@gcc.gnu.org>
-
- * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS.
- * acinclude.m4: Delete logic for sincludes.
- * aclocal.m4, Makefile.in, configure: Regenerate.
- * include/Makefile: Likewise.
- * testsuite/Makefile: Likewise.
-
-2004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
- on a 8-byte boundary.
- * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
- long long values. Round stack allocation to a multiple of 8 bytes
- for ATPCS compatibility.
- * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
- names. Handle returning long long types. Add Thumb and interworking
- support. Improve soft-float code.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
- (libffi_exit): New function.
- (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR other/18138
- * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
- * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
- the function returning a structure pointed with R2.
- * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
- the structure return value if T bit set. Emit position
- independent code and EH data if PIC.
-
-2004-10-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * Makefile.am: Add m32r support.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * confiugre: Regenerate.
- * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
- (uint64, sint64, double, longdouble)
- * src/m32r: New directory.
- * src/m32r/ffi.c: New file.
- * src/m32r/sysv.S: Likewise.
- * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * testsuite/libffi.call/negint.c: New test case.
-
-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.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/many_win32.c: Remove whitespaces.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
- whitespaces.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Fix comments and identation.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
- (ffi_prep_args): Handle longdouble arguments.
- (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
- longdouble.
- (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
- * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
- values.
- * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
- * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/aix.S: Remove whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
- * src/powerpc/asm.h: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffitarget.h: Likewise.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
-
-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.in: Read configure.host.
- * 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 shouldn't 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.
-
-2004-08-24 David Daney <daney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
- to zero.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23 David Daney <daney@avtrex.com>
-
- PR libgcj/13141
- * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
- * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
- (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
- parameters and return types.
- (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
- (ffi_prep_closure): Ditto.
- (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
- alignment calculations.
- * src/mips/o32.S (ffi_closure_O32): Don't use floating point
- instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14 Casey Marshall <csm@gnu.org>
-
- * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
- contain `FFI_TYPE_UINT64' as return type for any 64-bit
- integer (O32 ABI only).
- (ffi_prep_closure): new function.
- (ffi_closure_mips_inner_O32): new function.
- * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
- `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
- * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
- 64 bit integers correctly.
- (ffi_closure_O32): new function.
- Added DWARF-2 unwind info for both functions.
-
-2004-08-10 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01 Robert Millan <robertmh@gnu.org>
-
- * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
- * configure: Regenerate.
-
-2004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
-
- * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
- and mmap() explicitly instead of relying on preset autoconf cache
- variables.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
- (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
- character on Darwin, use '\n\t' instead.
-
-2004-06-26 Matthias Klose <doko@debian.org>
-
- * libtool-version: Fix typo in revision/age.
-
-2004-06-17 Matthias Klose <doko@debian.org>
-
- * libtool-version: New.
- * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
- * Makefile.in: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * Makefile.am: Remove useless multilib rules.
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate with automake 1.8.5.
- * configure.ac: Remove useless multilib configury.
- * configure: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * .cvsignore: New file.
-
-2004-06-10 Jakub Jelinek <jakub@redhat.com>
-
- * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
- fp_done.
- (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
- changed from 8.
-
-2004-06-06 Sean McNeil <sean@mcneil.com>
-
- * configure.ac: Add x86_64-*-freebsd* support.
- * configure: Regenerate.
-
-2004-04-26 Joe Buck <jbuck@welsh-buck.org>
-
- Bug 15093
- * configure.ac: Test for existence of mmap and sys/mman.h before
- checking blacklist. Fix suggested by Jim Wilson.
- * configure: Regenerate.
-
-2004-04-26 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
- FDE location.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
- error. Reported by Thomas Heller <theller@python.net>.
- * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20 Matthias Klose <doko@debian.org>
-
- * src/pa/linux.S: Fix typo.
-
-2004-03-19 Matthias Klose <doko@debian.org>
-
- * Makefile.am: Update.
- * Makefile.in: Regenerate.
- * src/pa/ffi.h.in: Remove.
- * src/pa/ffitarget.h: New file.
-
-2004-02-10 Randolph Chung <tausq@debian.org>
-
- * Makefile.am: Add PA support.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * configure.ac: Add PA target.
- * configure: Regenerate.
- * src/pa/ffi.c: New file.
- * src/pa/ffi.h.in: Add PA support.
- * src/pa/linux.S: New file.
- * prep_cif.c: Add PA support.
-
-2004-03-16 Hosaka Yuji <hos@tamanegi.org>
-
- * src/types.c: Fix alignment size of X86_WIN32 case int64 and
- double.
- * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
- with ecif->cif->flags.
- (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
- with cif->flags.
- (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
- (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
- * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
- sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.in: Rename file to ...
- * configure.ac: ... this.
- * fficonfig.h.in: Regenerate.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2004-03-12 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Fix EH information so it corresponds to
- changes in EH format resulting from addition of linkonce support.
- * src/powerpc/darwin_closure.S: Likewise.
-
-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.
-
-2004-03-11 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
- arguments from fp registers only for the first 8 parameter slots.
- Don't convert a float parameter when passed in memory.
-
-2004-03-09 Hans-Peter Nilsson <hp@axis.com>
-
- * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
-
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
- ecif->cif->bytes to bytes.
- (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
- * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
- (ffi_closure_helper_LINUX64): Fix typo.
- * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
- for powerpc64-*-*.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
- long double function return and long double arg handling.
- (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
- Use "end_pfr" instead of "nf". Correct long double handling.
- Localise "temp".
- * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
- return value.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
- space for long double return value. Adjust stack frame and offsets.
- Load f2 long double return.
-
-2004-02-07 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
- when the structure return address is passed in %o0.
- (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
- (ffi_v9_layout_struct): Align the field following a nested structure
- on a word boundary. Use memmove instead of memcpy.
- (ffi_call): Update call to ffi_V9_return_struct.
- (ffi_prep_closure): Define 'ctx' only for V8.
- (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
- and ffi_closure_sparc_inner_v9.
- (ffi_closure_sparc_inner_v8): Return long doubles by reference.
- Always skip the structure return address. For structures and long
- doubles, copy the argument directly.
- (ffi_closure_sparc_inner_v9): Skip the structure return address only
- if required. Shift the maximum floating-point slot accordingly. For
- big structures, copy the argument directly; otherwise, left-justify the
- argument and call ffi_v9_layout_struct to lay out the structure on
- the stack.
- * src/sparc/v8.S: Undef STACKFRAME before defining it.
- (ffi_closure_v8): Pass the structure return address. Update call to
- ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
- Skip the 'unimp' insn when returning long doubles and structures.
- * src/sparc/v9.S: Undef STACKFRAME before defining it.
- (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
- FFI_TYPE_INT handling. Load structures both in integers and
- floating-point registers on return.
- * README: Update status of the SPARC port.
-
-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.
-
-2004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
-
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
- value as of type ffi_arg, not unsigned int.
-
-2004-01-21 Michael Ritzert <ritzert@t-online.de>
-
- * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
- of the LHS.
-
-2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
- Solaris.
-
-2004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
- to void *.
-
-2003-12-10 Richard Henderson <rth@redhat.com>
-
- * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
- size_t instead of int.
-
-2003-12-04 Hosaka Yuji <hos@tamanegi.org>
-
- * testsuite/libffi.call/many_win32.c: Include <float.h>.
- * testsuite/libffi.call/many_win32.c (main): Replace variable
- int i with unsigned long ul.
-
- * testsuite/libffi.call/cls_align_uint64.c: New test case.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02 Hosaka Yuji <hos@tamanegi.org>
-
- PR other/13221
- * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
- Align arguments to 32 bits.
-
-2003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR other/13221
- * testsuite/libffi.call/cls_multi_sshort.c: New test case.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-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.
-
-2003-11-21 Andreas Jaeger <aj@suse.de>
- Andreas Tobler <a.tobler@schweiz.ch>
-
- * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
- * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
- * Makefile.in: Rebuilt.
- * aclocal.m4: Likewise.
- * configure: Likewise.
- * fficonfig.h.in: Likewise.
- * testsuite/lib/libffi-dg.exp: Add include dir.
- * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
- for ffi_closure if available.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
- Add -lgcc_s to additional flags.
-
-2003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.in, include/Makefile.am: PR libgcj/11147, install
- the ffitarget.h header file in a gcc versioned and target
- dependent place.
- * configure: Regenerated.
- * Makefile.in, include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Print result and check
- with dg-output to make debugging easier.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
- static.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_9byte2.c: New test case.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_double.c: Do a check on the result.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/prep_cif.c (ffi_prep_cif): Move the validity check after
- the initialization.
-
-2003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
- FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
- __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-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
-
-2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
- _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
- Used when FFI_DEBUG = 1.
-
-2003-10-14 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
- and align.
-
-2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
- FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
- SPARC64. Cleanup whitespaces.
-
-2003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
- strongarm, xscale. Cleanup whitespaces.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Cleanup whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
- * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
- parameter stack.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
- according to the Darwin/AIX ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_DARWIN): Likewise.
- Remove the outgoing parameter stack logic. Simplify the evaluation
- of the different CASE types.
- (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
- statement in the trampoline code.
-
-2003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
- for the register size.
- (ffi_closure_helper_SYSV): Handle the structure return value
- address correctly.
- (ffi_closure_helper_SYSV): Return the appropriate type when
- the registers are used for the structure return value.
- * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
- the 64-bit return value. Update copyright years.
-
-2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
- srcdir for ffi_mips.h.
-
-2003-09-12 Alan Modra <amodra@bigpond.net.au>
-
- * src/prep_cif.c (initialize_aggregate): Include tail padding in
- structure size.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
- placement of float result.
- * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
- cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Merge identical SH and ARM
- typedefs, and add POWERPC64.
- * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
- struct split over gpr and rest.
- (ffi_prep_cif_machdep): Correct intarg_count for structures.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
- passing correctly.
-
-2003-09-09 Alan Modra <amodra@bigpond.net.au>
-
- * configure: Regenerate.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Remove build rules for ffitest.
- * Makefile.in: Rebuilt.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
- about implicit declaration of abort().
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
- * Makefile.in: Rebuilt.
- * configure.in: Add dejagnu test framework.
- * configure: Rebuilt.
-
- * testsuite/Makefile.am: New file.
- * testsuite/Makefile.in: Built
- * testsuite/lib/libffi-dg.exp: New file.
- * testsuite/config/default.exp: Likewise.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Likewise.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float1.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/many.c: Likewise.
- * testsuite/libffi.call/many_win32.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
- * testsuite/libffi.call/strlen.c: Likewise.
- * testsuite/libffi.call/strlen_win32.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
- * testsuite/libffi.call/struct2.c: Likewise.
- * testsuite/libffi.call/struct3.c: Likewise.
- * testsuite/libffi.call/struct4.c: Likewise.
- * testsuite/libffi.call/struct5.c: Likewise.
- * testsuite/libffi.call/struct6.c: Likewise.
- * testsuite/libffi.call/struct7.c: Likewise.
- * testsuite/libffi.call/struct8.c: Likewise.
- * testsuite/libffi.call/struct9.c: Likewise.
- * testsuite/libffi.special/special.exp: New file.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
- copyright years.
-
-2003-08-02 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
- structure passing.
- (ffi_closure_helper_LINUX64): Likewise.
- * src/powerpc/linux64.S: Remove code writing to parm save area.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
- address in lr from ffi_closure_helper_LINUX64 call to calculate
- table address. Optimize function tail.
-
-2003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/sparc/ffi.c: Handle all floating point registers.
- * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
-
- * README: Note that libffi is not part of GCC. Update the project
- URL and status.
-
-2003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
- Use C style comments.
-
-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
- should be read-only.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * include/ffi.h.in (EH_FRAME_FLAGS): Define.
- * src/alpha/osf.S: Use EH_FRAME_FLAGS.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
- * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
- if -fpic/-fPIC/-mrelocatable.
- * src/powerpc/powerpc_closure.S: Likewise.
- * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
- #write in .eh_frame flags.
- * src/sparc/v9.S: Likewise.
- * src/x86/unix64.S: Use EH_FRAME_FLAGS.
- * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
- * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
-
-2003-05-07 Jeff Sturm <jsturm@one-point.com>
-
- Fixes PR bootstrap/10656
- * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
- support for .register pseudo-op.
- * src/sparc/v8.S: Use it.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2003-04-18 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (POWERPC64): Define if 64-bit.
- (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
- Make it the default on POWERPC64.
- (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
- * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
- * configure: Rebuilt.
- * src/powerpc/ffi.c (hidden): Define.
- (ffi_prep_args_SYSV): Renamed from
- ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
- (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
- ASM_NEEDS_REGISTERS64): New.
- (ffi_prep_args64): New function.
- (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
- (ffi_call): Likewise.
- (ffi_prep_closure): Likewise.
- (flush_icache): Surround by #ifndef POWERPC64.
- (ffi_dblfl): New union type.
- (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
- (ffi_closure_helper_LINUX64): New function.
- * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
- __powerpc64__.
- * src/powerpc/sysv.S: Likewise.
- (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
- * src/powerpc/linux64.S: New file.
- * src/powerpc/linux64_closure.S: New file.
- * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
- src/powerpc/linux64_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
- * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
- closure_test_fn3): Fix result printing on big-endian 64-bit
- machines.
- (main): Print tst2_arg instead of uninitialized tst2_result.
-
- * src/ffitest.c (main): Hide what closure pointer really points to
- from the compiler.
-
-2003-04-16 Richard Earnshaw <rearnsha@arm.com>
-
- * configure.in (arm-*-netbsdelf*): Add configuration.
- (configure): Regenerated.
-
-2003-04-04 Loren J. Rittle <ljrittle@acm.org>
-
- * include/Makefile.in: Regenerate.
-
-2003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
-
- * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
- bit mode.
- * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
- Receive closure pointer through parameter, read args using
- __builtin_dwarf_cfa.
- (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12 Andreas Schwab <schwab@suse.de>
-
- * configure.in: Avoid trailing /. in toolexeclibdir.
- * configure: Rebuilt.
-
-2003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/powerpc/darwin_closure.S:
- Fix alignement bug, allocate 8 bytes for the result.
- * libffi/src/powerpc/aix_closure.S:
- Likewise.
- * libffi/src/powerpc/ffi_darwin.c:
- Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06 Jakub Jelinek <jakub@redhat.com>
-
- * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
- attribute.
-
-2003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
- Andreas Schwab <schwab@suse.de>
-
- * configure.in: Adjust command to source config-ml.in to account
- for changes to the libffi_basedir definition.
- (libffi_basedir): Remove ${srcdir} from value and include trailing
- slash if nonempty.
-
- * configure: Regenerate.
-
-2003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
- * src/x86/ffi64.c (ffi_prep_closure): New.
- (ffi_closure_UNIX64_inner): New.
- * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
- Remove USE_LIBDIR conditional.
- * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
- * Makefile.in, configure: Rebuilt.
-
-2003-01027 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
- * Makefile.in: Regenerate.
-
-2003-01-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
- unwind info.
-
-2003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Add unwind info.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
- (ffi_prep_cif_machdep): Likewise.
- * src/x86/unix64.S: Add unwind info.
-
-2003-01-14 Andreas Jaeger <aj@suse.de>
-
- * src/ffitest.c (main): Only use ffi_closures if those are
- supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/ffitest.c
- add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
- * libffi/src/powerpc/ffi.c
- fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c: Remove RCS version string.
- * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
- * src/ffitest.c (main): Use static storage for closure.
- * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
- * src/sparc/v8.S (ffi_closure_v8): New.
- * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10 Ranjit Mathew <rmathew@hotmail.com>
-
- * include/ffi.h.in: Added FFI_STDCALL ffi_type
- enumeration for X86_WIN32.
- * src/x86/win32.S: Added ffi_call_STDCALL function
- definition.
- * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
- switch cases for recognising FFI_STDCALL and
- calling ffi_call_STDCALL if target is X86_WIN32.
- * src/ffitest.c (my_stdcall_strlen/stdcall_many):
- stdcall versions of the "my_strlen" and "many"
- test functions (for X86_WIN32).
- Added test cases to test stdcall invocation using
- these functions.
-
-2002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26 Jim Wilson <wilson@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23 H.J. Lu <hjl@gnu.org>
-
- * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
- Include ../config/accross.m4.
- * aclocal.m4; Rebuild.
- * configure: Likewise.
-
-2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11 DJ Delorie <dj@redhat.com>
-
- * configure.in: Look for common files in the right place.
-
-2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
- raw data as _Jv_word values, not ffi_raw.
- (ffi_java_ptrarray_to_raw): Likewise.
- (ffi_java_rvalue_to_raw): New function.
- (ffi_java_raw_call): Call it.
- (ffi_java_raw_to_rvalue): New function.
- (ffi_java_translate_args): Call it.
- * src/ffitest.c (closure_test_fn): Interpret return value
- as ffi_arg, not int.
- * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
- FFI_TYPE_POINTER case.
- (ffi_closure_helper_SYSV): Likewise. Also, assume return
- values extended to word size.
-
-2002-10-02 Andreas Jaeger <aj@suse.de>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01 Bo Thorsen <bo@smetana.suse.de>
-
- * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
-
- * configure.in: Add s390x-*-linux-* target.
- * configure: Regenerate.
- * include/ffi.h.in: Define S390X for s390x targets.
- (FFI_CLOSURES): Define for s390/s390x.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
- * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
- * src/s390/ffi.c: Major rework of existing code. Add support for
- s390x targets. Add closure support.
- * src/s390/sysv.S: Likewise.
-
-2002-09-29 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: Fix typo.
-
-2002-09-28 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
- has defined __USER_LABEL_PREFIX__, then use it in CNAME.
- (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27 Bo Thorsen <bo@suse.de>
-
- * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * configure.in (sh[34]*-*-linux*): Add brackets.
- * configure: Regenerate.
-
-2002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * Makefile.am: Add SH support.
- * Makefile.in: Regenerate.
- * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
- * configure: Regenerate.
- * include/ffi.h.in: Add SH support.
- * src/sh/ffi.c: New file.
- * src/sh/sysv.S: New file.
- * src/types.c: Add SH support.
-
-2002-07-16 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi64.c: New file that adds x86-64 support.
- * src/x86/unix64.S: New file that handles argument setup for
- x86-64.
- * src/x86/sysv.S: Don't use this on x86-64.
- * src/x86/ffi.c: Don't use this on x86-64.
- Remove unused vars.
- * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
- for x86-64.
- * src/ffitest.c (struct6): New test that tests a special case in
- the x86-64 ABI.
- (struct7): Likewise.
- (struct8): Likewise.
- (struct9): Likewise.
- (closure_test_fn): Silence warning about this when it's not used.
- (main): Add the new tests.
- (main): Fix a couple of wrong casts and silence some compiler warnings.
- * include/ffi.h.in: Add x86-64 ABI definition.
- * fficonfig.h.in: Regenerate.
- * Makefile.am: Add x86-64 support.
- * configure.in: Likewise.
- * Makefile.in: Regenerate.
- * configure: Likewise.
-
-2002-06-24 Bo Thorsen <bo@suse.de>
-
- * src/types.c: Merge settings for similar architectures.
- Add x86-64 sizes and alignments.
-
-2002-06-23 Bo Thorsen <bo@suse.de>
-
- * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
- * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
- * src/mips/ffi.c (ffi_prep_args): Likewise.
- * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18 H.J. Lu (hjl@gnu.org)
-
- * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
- (libffi_la_SOURCES): Support MIPS_LINUX.
- (libffi_convenience_la_SOURCES): Likewise.
- * Makefile.in: Regenerated.
-
- * configure.in (mips64*-*): Skip.
- (mips*-*-linux*): New.
- * configure: Regenerated.
-
- * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
-
-2002-05-27 Roger Sayle <roger@eyesopen.com>
-
- * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
- fix formatting.
-
-2002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
- beginning of function (for older apple cc).
-
-2002-05-08 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
- script entry, and set LD to it when configuring multilibs.
- * configure: Rebuilt.
-
-2002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (sparc64-*-netbsd*): Add target.
- (sparc-*-netbsdelf*): Likewise.
- * configure: Regenerate.
-
-2002-04-28 David S. Miller <davem@redhat.com>
-
- * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
-
- * Makefile.am: Add Linux for S/390 support.
- * Makefile.in: Regenerate.
- * configure.in: Add Linux for S/390 support.
- * configure: Regenerate.
- * include/ffi.h.in: Add Linux for S/390 support.
- * src/s390/ffi.c: New file from libffi CVS tree.
- * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
- %r_disp32().
- * src/sparc/v8.S: Use it.
- * src/sparc/v9.S: Likewise.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2002-04-08 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
- correctly.
- * src/ia64/unix.S: Add unwind information. Fix comments.
- Save sp in a way that's compatible with unwind info.
- (ffi_call_unix): Correctly restore sp in all cases.
- * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08 Jakub Jelinek <jakub@redhat.com>
-
- * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (alpha*-*-netbsd*): Add target.
- * configure: Regenerate.
-
-2002-04-04 Jeff Sturm <jsturm@one-point.com>
-
- * src/sparc/v8.S: Add unwind info.
- * src/sparc/v9.S: Likewise.
-
-2002-03-30 Krister Walfridsson <cato@df.lth.se>
-
- * configure.in: Enable i*86-*-netbsdelf*.
- * configure: Rebuilt.
-
-2002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
-
- PR other/2620
- * src/mips/n32.s: Delete
- * src/mips/o32.s: Delete
-
-2002-03-21 Loren J. Rittle <ljrittle@acm.org>
-
- * configure.in: Enable alpha*-*-freebsd*.
- * configure: Rebuilt.
-
-2002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * Makefile.am: libfficonvenience -> libffi_convenience.
- * Makefile.in: Rebuilt.
-
- * Makefile.am: Define ffitest_OBJECTS.
- * Makefile.in: Rebuilt.
-
-2002-03-07 Andreas Tobler <toa@pop.agri.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
- (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
- (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
- * Makefile.in: Regenerate.
- * include/ffi.h.in: Add AIX and Darwin closure definitions.
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
- (flush_icache, flush_range): New functions.
- (ffi_closure_helper_DARWIN): New function.
- * src/powerpc/aix_closure.S: New file.
- * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add typedef for ffi_arg.
- * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21 Andreas Tobler <toa@pop.agri.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
- number of GPRs for floating-point arguments.
-
-2002-01-31 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Replace CHECK_SIZEOF and endian tests with
- cross-compiler friendly macros.
- * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
- macros.
-
-2002-01-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): New.
- * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
- (TARGET_SRC_POWERPC_AIX): New.
- (POWERPC_AIX): New stanza.
- * Makefile.in: Regenerate.
- * configure.in: Add AIX case.
- * configure: Regenerate.
- * include/ffi.h.in (ffi_abi): Add FFI_AIX.
- * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
- size. Fix "long double" support.
- (ffi_call): Add FFI_AIX case.
- * src/powerpc/aix.S: New.
-
-2001-10-09 John Hornkvist <john@toastedmarshmallow.com>
-
- Implement Darwin PowerPC ABI.
- * configure.in: Handle powerpc-*-darwin*.
- * Makefile.am: Set source files for POWERPC_DARWIN.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
- * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
- POWERPC_DARWIN.
- * src/powerpc/darwin.S: New file.
- * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .balign directive.
- Use C style comments.
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
- Fixes PR bootstrap/3563.
-
-2001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.in: Recognize sparc*-sun-* host.
- * configure: Regenerate.
-
-2001-06-06 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S: Add unwind info.
- * src/powerpc/sysv.S: Add unwind info.
- * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31 Jeff Sturm <jsturm@one-point.com>
-
- * configure.in: Fix AC_ARG_ENABLE usage.
- * configure: Rebuilt.
-
-2001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * configure.in: Remove warning about beta code.
- * configure: Rebuilt.
-
-2001-04-25 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/ia64/unix.S: Restore stack pointer when returning from
- ffi_closure_UNIX.
- * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18 Jim Wilson <wilson@redhat.com>
-
- * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
- to eliminate RAW DV.
-
-2001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
-
- * Makefile.am: Make a libtool convenience library.
- * Makefile.in: Rebuilt.
-
-2001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Use different syntax for subdirectory creation.
- * configure: Rebuilt.
-
-2001-03-27 Jon Beniston <jon@beniston.com>
-
- * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
- * configure: Rebuilt.
- * Makefile.am: Added X86_WIN32 target support.
- * Makefile.in: Rebuilt.
-
- * include/ffi.h.in: Added X86_WIN32 target support.
-
- * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
- * src/types.c: Added X86_WIN32 target support.
-
- * src/x86/win32.S: New file. Based on sysv.S, but with EH
- stuff removed and made to work with CygWin's gas.
-
-2001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Make target subdirectory in build dir.
- * Makefile.am: Override suffix based rules to specify correct output
- subdirectory.
- * Makefile.in: Rebuilt.
- * configure: Rebuilt.
-
-2001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
-
- * src/powerpc/ppc_closure.S: New file.
- * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
- involving long long and register pairs.
- (ffi_prep_closure): New function.
- (flush_icache): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * Makefile.in: Rebuilt.
- * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19 Tom Tromey <tromey@redhat.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02 Nick Clifton <nickc@redhat.com>
-
- * include/ffi.h.in: Remove RCS ident string.
- * include/ffi_mips.h: Remove RCS ident string.
- * src/debug.c: Remove RCS ident string.
- * src/ffitest.c: Remove RCS ident string.
- * src/prep_cif.c: Remove RCS ident string.
- * src/types.c: Remove RCS ident string.
- * src/alpha/ffi.c: Remove RCS ident string.
- * src/alpha/osf.S: Remove RCS ident string.
- * src/arm/ffi.c: Remove RCS ident string.
- * src/arm/sysv.S: Remove RCS ident string.
- * src/mips/ffi.c: Remove RCS ident string.
- * src/mips/n32.S: Remove RCS ident string.
- * src/mips/o32.S: Remove RCS ident string.
- * src/sparc/ffi.c: Remove RCS ident string.
- * src/sparc/v8.S: Remove RCS ident string.
- * src/sparc/v9.S: Remove RCS ident string.
- * src/x86/ffi.c: Remove RCS ident string.
- * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * include/ffi.h.in: Change sourceware.cygnus.com references to
- gcc.gnu.org.
-
-2000-12-09 Richard Henderson <rth@redhat.com>
-
- * src/alpha/ffi.c (ffi_call): Simplify struct return test.
- (ffi_closure_osf_inner): Index rather than increment avalue
- and arg_types. Give ffi_closure_osf the raw return value type.
- * src/alpha/osf.S (ffi_closure_osf): Handle return value type
- promotion.
-
-2000-12-07 Richard Henderson <rth@redhat.com>
-
- * src/raw_api.c (ffi_translate_args): Fix typo.
- (ffi_prep_closure): Likewise.
-
- * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
- FFI_TRAMPOLINE_SIZE.
- * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
- cif->bytes for new ffi_call_osf implementation.
- (ffi_prep_args): Absorb into ...
- (ffi_call): ... here. Do all stack allocation here and
- avoid a callback function.
- (ffi_prep_closure, ffi_closure_osf_inner): New.
- * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
- (ffi_closure_osf): New.
-
-2000-09-10 Alexandre Oliva <aoliva@redhat.com>
-
- * config.guess, config.sub, install-sh: Removed.
- * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
- * Makefile.in: Rebuilt.
-
- * acinclude.m4: Include libtool macros from the top level.
- * aclocal.m4, configure: Rebuilt.
-
-2000-08-22 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
- * configure: Rebuilt.
-
-2000-05-11 Scott Bambrough <scottb@netwinder.org>
-
- * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
- memory correctly. Use conditional instructions, not branches where
- possible.
-
-2000-05-04 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Match `arm*-*-linux-*'.
- From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (SUBDIRS): Define.
- (AM_MAKEFLAGS): Likewise.
- (Multilib support.): Add section.
- * Makefile.in: Rebuilt.
- * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
- New variables. Set for gcc using -print-multi-lib. Export them
- to libtool.
- (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
- * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
- for -shared links.
- (extra_compiler_flags_value, extra_compiler_flags): Check these
- for extra compiler options which need to be passed down in
- compiler_flags.
-
-2000-04-16 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
- Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
- * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
- Replace all void * sizeofs with sizeof(int).
- Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
- different than DOUBLE.
- Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
- (ffi_prep_args_v9): New function.
- (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
- (ffi_V9_return_struct): New function.
- (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
- 32bit code (not yet cross-arch calls).
- * src/sparc/v8.S: Add struct return delay nop.
- Handle long long.
- * src/sparc/v9.S: New file.
- * src/prep_cif.c (ffi_prep_cif): Return structure pointer
- is used on sparc64 only for structures larger than 32 bytes.
- Pass by reference for structures is done for structure arguments
- larger than 16 bytes.
- * src/ffitest.c (main): Use 64bit rint on sparc64.
- Run long long tests on sparc.
- * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
- sparc64.
- (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
- on sparc64.
- * configure.in (sparc-*-linux*): New supported target.
- (sparc64-*-linux*): Likewise.
- * configure: Rebuilt.
- * Makefile.am: Add v9.S to SPARC files.
- * Makefile.in: Likewise.
- (LINK): Surround $(CCLD) into double quotes, so that multilib
- compiles work correctly.
-
-2000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: (i*86-*-solaris*): New libffi target. Patch
- proposed by Bryce McKinlay.
-
-2000-03-20 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
-
- * config.guess, config.sub: Update from the gcc tree.
- Fix for PR libgcj/168.
-
-2000-03-03 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Fixed ia64 by hand.
-
- * configure: Rebuilt.
- * configure.in (--enable-multilib): New option.
- (libffi_basedir): New subst.
- (AC_OUTPUT): Added multilib code.
-
-2000-03-02 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
- directory name.
-
-2000-02-25 Hans Boehm <boehm@acm.org>
-
- * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
- files.
- * src/raw_api.c (ffi_translate_args): Fixed typo in argument
- list.
- (ffi_prep_raw_closure): Use ffi_translate_args, not
- ffi_closure_translate.
- * src/java_raw_api.c: New file.
- * src/ffitest.c (closure_test_fn): New function.
- (main): Define `rint' as long long on IA64. Added new test when
- FFI_CLOSURES is defined.
- * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
- (ffi_abi): Recognize IA64.
- (ffi_raw): Added `flt' field.
- Added "Java raw API" code.
- * configure.in: Recognize ia64.
- * Makefile.am (TARGET_SRC_IA64): New macro.
- (libffi_la_common_SOURCES): Added java_raw_api.c.
- (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01 Tom Tromey <tromey@cygnus.com>
-
- * include/ffi.h.in: Removed PACKAGE and VERSION defines and
- undefs.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
- * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
- Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
- * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09 Anthony Green <green@cygnus.com>
-
- * include/ffi.h.in: Try to work around messy header problem
- with PACKAGE and VERSION.
-
- * configure: Rebuilt.
- * configure.in: Change version to 2.00-beta.
-
- * fficonfig.h.in: Rebuilt.
- * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
- * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
-
- * src/x86/ffi.c (ffi_closure_SYSV): New function.
- (ffi_prep_incoming_args_SYSV): Ditto.
- (ffi_prep_closure): Ditto.
- (ffi_closure_raw_SYSV): Ditto.
- (ffi_prep_raw_closure): More ditto.
- (ffi_call_raw): Final ditto.
-
- * include/ffi.h.in: Add definitions for closure and raw API.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
- FFI_TYPE_UINT64.
-
- * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
- * src/raw_api.c: New file.
-
- * include/ffi.h.in (ffi_raw): New type.
- (UINT_ARG, SINT_ARG): New defines.
- (ffi_closure, ffi_raw_closure): New types.
- (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
- * configure.in: Add check for endianness and sizeof void*.
-
- * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
- instead of directly.
-
- * configure: Rebuilt.
-
-Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
-
- * configure.in: Add x86 and powerpc BeOS configurations.
- From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09 Anthony Green <green@cygnus.com>
-
- * configure.in: Add warning about this being beta code.
- Remove src/Makefile.am from the picture.
- * configure: Rebuilt.
-
- * Makefile.am: Move logic from src/Makefile.am. Add changes
- to support libffi as a target library.
- * Makefile.in: Rebuilt.
-
- * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
- Upgraded to new autoconf, automake, libtool.
-
- * README: Tweaks.
-
- * LICENSE: Update copyright date.
-
- * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29 Anthony Green <green@cygnus.com>
-
- * include/ChangeLog: Removed.
- * src/ChangeLog: Removed.
- * src/mips/ChangeLog: Removed.
- * src/sparc/ChangeLog: Remboved.
- * src/x86/ChangeLog: Removed.
-
- * ChangeLog.v1: Created.
diff --git a/.pc/ml64-safeseh/msvcc.sh b/.pc/ml64-safeseh/msvcc.sh
deleted file mode 100755
index 69e2bc3..0000000
--- a/.pc/ml64-safeseh/msvcc.sh
+++ /dev/null
@@ -1,195 +0,0 @@
-#!/bin/sh
-
-# ***** BEGIN LICENSE BLOCK *****
-# Version: MPL 1.1/GPL 2.0/LGPL 2.1
-#
-# The contents of this file are subject to the Mozilla Public License Version
-# 1.1 (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-# http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-# for the specific language governing rights and limitations under the
-# License.
-#
-# The Original Code is the MSVC wrappificator.
-#
-# The Initial Developer of the Original Code is
-# Timothy Wall <twalljava@dev.java.net>.
-# Portions created by the Initial Developer are Copyright (C) 2009
-# the Initial Developer. All Rights Reserved.
-#
-# Contributor(s):
-# Daniel Witte <dwitte@mozilla.com>
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either the GNU General Public License Version 2 or later (the "GPL"), or
-# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-# in which case the provisions of the GPL or the LGPL are applicable instead
-# of those above. If you wish to allow use of your version of this file only
-# under the terms of either the GPL or the LGPL, and not to allow others to
-# use your version of this file under the terms of the MPL, indicate your
-# decision by deleting the provisions above and replace them with the notice
-# and other provisions required by the GPL or the LGPL. If you do not delete
-# the provisions above, a recipient may use your version of this file under
-# the terms of any one of the MPL, the GPL or the LGPL.
-#
-# ***** END LICENSE BLOCK *****
-
-#
-# GCC-compatible wrapper for cl.exe and ml.exe. Arguments are given in GCC
-# format and translated into something sensible for cl or ml.
-#
-
-args="-nologo -W3"
-md=-MD
-cl="cl"
-ml="ml"
-output=
-
-while [ $# -gt 0 ]
-do
- case $1
- in
- -fexceptions)
- # Don't enable exceptions for now.
- #args="$args -EHac"
- shift 1
- ;;
- -m32)
- shift 1
- ;;
- -m64)
- cl="cl" # "$MSVC/x86_amd64/cl"
- ml="ml64" # "$MSVC/x86_amd64/ml64"
- shift 1
- ;;
- -O0)
- args="$args -Od"
- shift 1
- ;;
- -O*)
- # If we're optimizing, make sure we explicitly turn on some optimizations
- # that are implicitly disabled by debug symbols (-Zi).
- args="$args $1 -OPT:REF -OPT:ICF -INCREMENTAL:NO"
- shift 1
- ;;
- -g)
- # Enable debug symbol generation.
- args="$args -Zi -DEBUG"
- shift 1
- ;;
- -DFFI_DEBUG)
- # Link against debug CRT and enable runtime error checks.
- args="$args -RTC1"
- defines="$defines $1"
- md=-MDd
- shift 1
- ;;
- -c)
- args="$args -c"
- args="$(echo $args | sed 's%/Fe%/Fo%g')"
- single="-c"
- shift 1
- ;;
- -D*=*)
- name="$(echo $1|sed 's/-D\([^=][^=]*\)=.*/\1/g')"
- value="$(echo $1|sed 's/-D[^=][^=]*=//g')"
- args="$args -D${name}='$value'"
- defines="$defines -D${name}='$value'"
- shift 1
- ;;
- -D*)
- args="$args $1"
- defines="$defines $1"
- shift 1
- ;;
- -I)
- args="$args -I$2"
- includes="$includes -I$2"
- shift 2
- ;;
- -I*)
- args="$args $1"
- includes="$includes $1"
- shift 1
- ;;
- -W|-Wextra)
- # TODO map extra warnings
- shift 1
- ;;
- -Wall)
- # -Wall on MSVC is overzealous, and we already build with -W3. Nothing
- # to do here.
- shift 1
- ;;
- -Werror)
- args="$args -WX"
- shift 1
- ;;
- -W*)
- # TODO map specific warnings
- shift 1
- ;;
- -S)
- args="$args -FAs"
- shift 1
- ;;
- -o)
- outdir="$(dirname $2)"
- base="$(basename $2|sed 's/\.[^.]*//g')"
- if [ -n "$single" ]; then
- output="-Fo$2"
- else
- output="-Fe$2"
- fi
- if [ -n "$assembly" ]; then
- args="$args $output"
- else
- args="$args $output -Fd$outdir/$base -Fp$outdir/$base -Fa$outdir/$base"
- fi
- shift 2
- ;;
- *.S)
- src=$1
- assembly="true"
- shift 1
- ;;
- *.c)
- args="$args $1"
- shift 1
- ;;
- *)
- # Assume it's an MSVC argument, and pass it through.
- args="$args $1"
- shift 1
- ;;
- esac
-done
-
-if [ -n "$assembly" ]; then
- if [ -z "$outdir" ]; then
- outdir="."
- fi
- ppsrc="$outdir/$(basename $src|sed 's/.S$/.asm/g')"
- echo "$cl -nologo -EP $includes $defines $src > $ppsrc"
- "$cl" -nologo -EP $includes $defines $src > $ppsrc || exit $?
- output="$(echo $output | sed 's%/F[dpa][^ ]*%%g')"
- args="-nologo -safeseh $single $output $ppsrc"
-
- echo "$ml $args"
- eval "\"$ml\" $args"
- result=$?
-
- # required to fix ml64 broken output?
- #mv *.obj $outdir
-else
- args="$md $args"
- echo "$cl $args"
- eval "\"$cl\" $args"
- result=$?
-fi
-
-exit $result
-
diff --git a/.pc/more-openbsd-mips/.timestamp b/.pc/more-openbsd-mips/.timestamp
deleted file mode 100644
index e69de29..0000000
--- a/.pc/more-openbsd-mips/.timestamp
+++ /dev/null
diff --git a/.pc/more-openbsd-mips/configure.ac b/.pc/more-openbsd-mips/configure.ac
deleted file mode 100644
index a7a8f8e..0000000
--- a/.pc/more-openbsd-mips/configure.ac
+++ /dev/null
@@ -1,499 +0,0 @@
-dnl Process this with autoconf to create configure
-
-AC_PREREQ(2.63)
-
-AC_INIT([libffi], [3.0.11-rc2], [http://github.com/atgreen/libffi/issues])
-AC_CONFIG_HEADERS([fficonfig.h])
-
-AC_CANONICAL_SYSTEM
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-AX_ENABLE_BUILDDIR
-
-AM_INIT_AUTOMAKE
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-# Also save and restore CFLAGS, since AC_PROG_CC will come up with
-# defaults of its own if none are provided.
-
-m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS])
-m4_define([_AC_ARG_VAR_PRECIOUS],[])
-save_CFLAGS=$CFLAGS
-AC_PROG_CC
-CFLAGS=$save_CFLAGS
-m4_undefine([_AC_ARG_VAR_PRECIOUS])
-m4_rename([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
-
-AC_SUBST(CFLAGS)
-
-AM_PROG_AS
-AM_PROG_CC_C_O
-AC_PROG_LIBTOOL
-AC_CONFIG_MACRO_DIR([m4])
-
-AX_CC_MAXOPT
-AX_CFLAGS_WARN_ALL
-if test "x$GCC" = "xyes"; then
- CFLAGS="$CFLAGS -fexceptions"
-fi
-
-AM_MAINTAINER_MODE
-
-AC_CHECK_HEADERS(sys/mman.h)
-AC_CHECK_FUNCS(mmap)
-AC_FUNC_MMAP_BLACKLIST
-
-dnl The -no-testsuite modules omit the test subdir.
-AM_CONDITIONAL(TESTSUBDIR, test -d $srcdir/testsuite)
-
-TARGETDIR="unknown"
-case "$host" in
- alpha*-*-*)
- TARGET=ALPHA; TARGETDIR=alpha;
- # Support 128-bit long double, changeable via command-line switch.
- HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
- ;;
-
- arm*-*-*)
- TARGET=ARM; TARGETDIR=arm
- ;;
-
- amd64-*-freebsd* | amd64-*-openbsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- amd64-*-freebsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- avr32*-*-*)
- TARGET=AVR32; TARGETDIR=avr32
- ;;
-
- cris-*-*)
- TARGET=LIBFFI_CRIS; TARGETDIR=cris
- ;;
-
- frv-*-*)
- TARGET=FRV; TARGETDIR=frv
- ;;
-
- hppa*-*-linux* | parisc*-*-linux* | hppa*-*-openbsd*)
- TARGET=PA_LINUX; TARGETDIR=pa
- ;;
- hppa*64-*-hpux*)
- TARGET=PA64_HPUX; TARGETDIR=pa
- ;;
- hppa*-*-hpux*)
- TARGET=PA_HPUX; TARGETDIR=pa
- ;;
-
- i?86-*-freebsd* | i?86-*-openbsd*)
- TARGET=X86_FREEBSD; TARGETDIR=x86
- ;;
- i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2* | i?86-*-interix*)
- TARGET=X86_WIN32; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
- i?86-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
- i?86-*-solaris2.1[[0-9]]*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
- i?86-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- ia64*-*-*)
- TARGET=IA64; TARGETDIR=ia64
- ;;
-
- m32r*-*-*)
- TARGET=M32R; TARGETDIR=m32r
- ;;
-
- m68k-*-*)
- TARGET=M68K; TARGETDIR=m68k
- ;;
-
- mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
- TARGET=MIPS; TARGETDIR=mips
- ;;
- mips*-*-linux*)
- # Support 128-bit long double for NewABI.
- HAVE_LONG_DOUBLE='defined(__mips64)'
- TARGET=MIPS; TARGETDIR=mips
- ;;
-
- moxie-*-*)
- TARGET=MOXIE; TARGETDIR=moxie
- ;;
-
- powerpc*-*-linux* | powerpc-*-sysv*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-beos*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-darwin* | powerpc64-*-darwin*)
- TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
- ;;
- powerpc-*-aix* | rs6000-*-aix*)
- TARGET=POWERPC_AIX; TARGETDIR=powerpc
- ;;
- powerpc-*-freebsd* | powerpc-*-openbsd*)
- TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
- ;;
- powerpc64-*-freebsd*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc*-*-rtems*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
-
- s390-*-* | s390x-*-*)
- TARGET=S390; TARGETDIR=s390
- ;;
-
- sh-*-* | sh[[34]]*-*-*)
- TARGET=SH; TARGETDIR=sh
- ;;
- sh64-*-* | sh5*-*-*)
- TARGET=SH64; TARGETDIR=sh64
- ;;
-
- sparc*-*-*)
- TARGET=SPARC; TARGETDIR=sparc
- ;;
-
- x86_64-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
-
- x86_64-*-cygwin* | x86_64-*-mingw*)
- TARGET=X86_WIN64; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
-
- x86_64-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-esac
-
-AC_SUBST(AM_RUNTESTFLAGS)
-AC_SUBST(AM_LTLDFLAGS)
-
-if test $TARGETDIR = unknown; then
- AC_MSG_ERROR(["libffi has not been ported to $host."])
-fi
-
-AM_CONDITIONAL(MIPS, test x$TARGET = xMIPS)
-AM_CONDITIONAL(SPARC, test x$TARGET = xSPARC)
-AM_CONDITIONAL(X86, test x$TARGET = xX86)
-AM_CONDITIONAL(X86_FREEBSD, test x$TARGET = xX86_FREEBSD)
-AM_CONDITIONAL(X86_WIN32, test x$TARGET = xX86_WIN32)
-AM_CONDITIONAL(X86_WIN64, test x$TARGET = xX86_WIN64)
-AM_CONDITIONAL(X86_DARWIN, test x$TARGET = xX86_DARWIN)
-AM_CONDITIONAL(ALPHA, test x$TARGET = xALPHA)
-AM_CONDITIONAL(IA64, test x$TARGET = xIA64)
-AM_CONDITIONAL(M32R, test x$TARGET = xM32R)
-AM_CONDITIONAL(M68K, test x$TARGET = xM68K)
-AM_CONDITIONAL(MOXIE, test x$TARGET = xMOXIE)
-AM_CONDITIONAL(POWERPC, test x$TARGET = xPOWERPC)
-AM_CONDITIONAL(POWERPC_AIX, test x$TARGET = xPOWERPC_AIX)
-AM_CONDITIONAL(POWERPC_DARWIN, test x$TARGET = xPOWERPC_DARWIN)
-AM_CONDITIONAL(POWERPC_FREEBSD, test x$TARGET = xPOWERPC_FREEBSD)
-AM_CONDITIONAL(ARM, test x$TARGET = xARM)
-AM_CONDITIONAL(AVR32, test x$TARGET = xAVR32)
-AM_CONDITIONAL(LIBFFI_CRIS, test x$TARGET = xLIBFFI_CRIS)
-AM_CONDITIONAL(FRV, test x$TARGET = xFRV)
-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)
-AM_CONDITIONAL(PA_LINUX, test x$TARGET = xPA_LINUX)
-AM_CONDITIONAL(PA_HPUX, test x$TARGET = xPA_HPUX)
-AM_CONDITIONAL(PA64_HPUX, test x$TARGET = xPA64_HPUX)
-
-AC_HEADER_STDC
-AC_CHECK_FUNCS(memcpy)
-AC_FUNC_ALLOCA
-
-AC_CHECK_SIZEOF(double)
-AC_CHECK_SIZEOF(long double)
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
- HAVE_LONG_DOUBLE=0
- if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
- if test $ac_cv_sizeof_long_double != 0; then
- HAVE_LONG_DOUBLE=1
- AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the long double type and it is bigger than a double])
- fi
- fi
-fi
-AC_SUBST(HAVE_LONG_DOUBLE)
-
-AC_C_BIGENDIAN
-
-GCC_AS_CFI_PSEUDO_OP
-
-if test x$TARGET = xSPARC; then
- AC_CACHE_CHECK([assembler and linker support unaligned pc related relocs],
- libffi_cv_as_sparc_ua_pcrel, [
- save_CFLAGS="$CFLAGS"
- save_LDFLAGS="$LDFLAGS"
- CFLAGS="$CFLAGS -fpic"
- LDFLAGS="$LDFLAGS -shared"
- AC_TRY_LINK([asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");],,
- [libffi_cv_as_sparc_ua_pcrel=yes],
- [libffi_cv_as_sparc_ua_pcrel=no])
- CFLAGS="$save_CFLAGS"
- LDFLAGS="$save_LDFLAGS"])
- if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
- AC_DEFINE(HAVE_AS_SPARC_UA_PCREL, 1,
- [Define if your assembler and linker support unaligned PC relative relocs.])
- fi
-
- AC_CACHE_CHECK([assembler .register pseudo-op support],
- libffi_cv_as_register_pseudo_op, [
- libffi_cv_as_register_pseudo_op=unknown
- # Check if we have .register
- AC_TRY_COMPILE([asm (".register %g2, #scratch");],,
- [libffi_cv_as_register_pseudo_op=yes],
- [libffi_cv_as_register_pseudo_op=no])
- ])
- if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
- AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP, 1,
- [Define if your assembler supports .register.])
- fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
- AC_CACHE_CHECK([assembler supports pc related relocs],
- libffi_cv_as_x86_pcrel, [
- libffi_cv_as_x86_pcrel=no
- echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
- if $CC $CFLAGS -c conftest.s > /dev/null; then
- libffi_cv_as_x86_pcrel=yes
- fi
- ])
- if test "x$libffi_cv_as_x86_pcrel" = xyes; then
- AC_DEFINE(HAVE_AS_X86_PCREL, 1,
- [Define if your assembler supports PC relative relocs.])
- fi
-
- AC_CACHE_CHECK([assembler .ascii pseudo-op support],
- libffi_cv_as_ascii_pseudo_op, [
- libffi_cv_as_ascii_pseudo_op=unknown
- # Check if we have .ascii
- AC_TRY_COMPILE([asm (".ascii \\"string\\"");],,
- [libffi_cv_as_ascii_pseudo_op=yes],
- [libffi_cv_as_ascii_pseudo_op=no])
- ])
- if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
- AC_DEFINE(HAVE_AS_ASCII_PSEUDO_OP, 1,
- [Define if your assembler supports .ascii.])
- fi
-
- AC_CACHE_CHECK([assembler .string pseudo-op support],
- libffi_cv_as_string_pseudo_op, [
- libffi_cv_as_string_pseudo_op=unknown
- # Check if we have .string
- AC_TRY_COMPILE([asm (".string \\"string\\"");],,
- [libffi_cv_as_string_pseudo_op=yes],
- [libffi_cv_as_string_pseudo_op=no])
- ])
- if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
- AC_DEFINE(HAVE_AS_STRING_PSEUDO_OP, 1,
- [Define if your assembler supports .string.])
- fi
-fi
-
-if test x$TARGET = xX86_WIN64; then
- LT_SYS_SYMBOL_USCORE
- if test "x$sys_symbol_underscore" = xyes; then
- AC_DEFINE(SYMBOL_UNDERSCORE, 1, [Define if symbols are underscored.])
- fi
-fi
-
-
-FFI_EXEC_TRAMPOLINE_TABLE=0
-case "$target" in
- *arm*-apple-darwin*)
- FFI_EXEC_TRAMPOLINE_TABLE=1
- AC_DEFINE(FFI_EXEC_TRAMPOLINE_TABLE, 1,
- [Cannot use PROT_EXEC on this target, so, we revert to
- alternative means])
- ;;
- *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
- AC_DEFINE(FFI_MMAP_EXEC_WRIT, 1,
- [Cannot use malloc on this target, so, we revert to
- alternative means])
- ;;
-esac
-AM_CONDITIONAL(FFI_EXEC_TRAMPOLINE_TABLE, test x$FFI_EXEC_TRAMPOLINE_TABLE = x1)
-AC_SUBST(FFI_EXEC_TRAMPOLINE_TABLE)
-
-if test x$TARGET = xX86_64; then
- AC_CACHE_CHECK([assembler supports unwind section type],
- libffi_cv_as_x86_64_unwind_section_type, [
- libffi_cv_as_x86_64_unwind_section_type=yes
- echo '.section .eh_frame,"a",@unwind' > conftest.s
- if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
- libffi_cv_as_x86_64_unwind_section_type=no
- fi
- ])
- if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
- AC_DEFINE(HAVE_AS_X86_64_UNWIND_SECTION_TYPE, 1,
- [Define if your assembler supports unwind section type.])
- fi
-fi
-
-if test "x$GCC" = "xyes"; then
- AC_CACHE_CHECK([whether .eh_frame section should be read-only],
- libffi_cv_ro_eh_frame, [
- libffi_cv_ro_eh_frame=no
- echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
- if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
- if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- elif grep '.section.*eh_frame.*#alloc' conftest.c \
- | grep -v '#write' > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- fi
- fi
- rm -f conftest.*
- ])
- if test "x$libffi_cv_ro_eh_frame" = xyes; then
- AC_DEFINE(HAVE_RO_EH_FRAME, 1,
- [Define if .eh_frame sections should be read-only.])
- AC_DEFINE(EH_FRAME_FLAGS, "a",
- [Define to the flags needed for the .section .eh_frame directive. ])
- else
- AC_DEFINE(EH_FRAME_FLAGS, "aw",
- [Define to the flags needed for the .section .eh_frame directive. ])
- fi
-
- AC_CACHE_CHECK([for __attribute__((visibility("hidden")))],
- libffi_cv_hidden_visibility_attribute, [
- echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1 ; }' > conftest.c
- libffi_cv_hidden_visibility_attribute=no
- if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
- if grep '\.hidden.*foo' conftest.s >/dev/null; then
- libffi_cv_hidden_visibility_attribute=yes
- fi
- fi
- rm -f conftest.*
- ])
- if test $libffi_cv_hidden_visibility_attribute = yes; then
- AC_DEFINE(HAVE_HIDDEN_VISIBILITY_ATTRIBUTE, 1,
- [Define if __attribute__((visibility("hidden"))) is supported.])
- fi
-fi
-
-AH_BOTTOM([
-#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
-])
-
-AC_SUBST(TARGET)
-AC_SUBST(TARGETDIR)
-
-AC_SUBST(SHELL)
-
-AC_ARG_ENABLE(debug,
-[ --enable-debug debugging mode],
- if test "$enable_debug" = "yes"; then
- AC_DEFINE(FFI_DEBUG, 1, [Define this if you want extra debugging.])
- fi)
-AM_CONDITIONAL(FFI_DEBUG, test "$enable_debug" = "yes")
-
-AC_ARG_ENABLE(structs,
-[ --disable-structs omit code for struct support],
- if test "$enable_structs" = "no"; then
- AC_DEFINE(FFI_NO_STRUCTS, 1, [Define this is you do not want support for aggregate types.])
- fi)
-
-AC_ARG_ENABLE(raw-api,
-[ --disable-raw-api make the raw api unavailable],
- if test "$enable_raw_api" = "no"; then
- AC_DEFINE(FFI_NO_RAW_API, 1, [Define this is you do not want support for the raw API.])
- fi)
-
-AC_ARG_ENABLE(purify-safety,
-[ --enable-purify-safety purify-safe mode],
- if test "$enable_purify_safety" = "yes"; then
- AC_DEFINE(USING_PURIFY, 1, [Define this if you are using Purify and want to suppress spurious messages.])
- fi)
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- toolexecdir='$(exec_prefix)/$(target_alias)'
- toolexeclibdir='$(toolexecdir)/lib'
- else
- toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
- toolexeclibdir='$(libdir)'
- fi
- multi_os_directory=`$CC -print-multi-os-directory`
- case $multi_os_directory in
- .) ;; # Avoid trailing /.
- *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
- esac
- AC_SUBST(toolexecdir)
- AC_SUBST(toolexeclibdir)
-fi
-
-if test "${multilib}" = "yes"; then
- multilib_arg="--enable-multilib"
-else
- multilib_arg=
-fi
-
-AC_CONFIG_COMMANDS(include, [test -d include || mkdir include])
-AC_CONFIG_COMMANDS(src, [
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
-], [TARGETDIR="$TARGETDIR"])
-
-AC_CONFIG_LINKS(include/ffitarget.h:src/$TARGETDIR/ffitarget.h)
-
-AC_CONFIG_FILES(include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc)
-
-AC_OUTPUT
diff --git a/.pc/more-openbsd-mips/src/mips/ffi.c b/.pc/more-openbsd-mips/src/mips/ffi.c
deleted file mode 100644
index d5b80d1..0000000
--- a/.pc/more-openbsd-mips/src/mips/ffi.c
+++ /dev/null
@@ -1,1032 +0,0 @@
-/* -----------------------------------------------------------------------
- ffi.c - Copyright (c) 2011 Anthony Green
- Copyright (c) 2008 David Daney
- Copyright (c) 1996, 2007, 2008, 2011 Red Hat, Inc.
-
- MIPS Foreign Function Interface
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
- ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#include <stdlib.h>
-
-#ifdef __GNUC__
-# if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3))
-# define USE__BUILTIN___CLEAR_CACHE 1
-# endif
-#endif
-
-#ifndef USE__BUILTIN___CLEAR_CACHE
-#include <sys/cachectl.h>
-#endif
-
-#ifdef FFI_DEBUG
-# define FFI_MIPS_STOP_HERE() ffi_stop_here()
-#else
-# define FFI_MIPS_STOP_HERE() do {} while(0)
-#endif
-
-#ifdef FFI_MIPS_N32
-#define FIX_ARGP \
-FFI_ASSERT(argp <= &stack[bytes]); \
-if (argp == &stack[bytes]) \
-{ \
- argp = stack; \
- FFI_MIPS_STOP_HERE(); \
-}
-#else
-#define FIX_ARGP
-#endif
-
-
-/* ffi_prep_args is called by the assembly routine once stack space
- has been allocated for the function's arguments */
-
-static void ffi_prep_args(char *stack,
- extended_cif *ecif,
- int bytes,
- int flags)
-{
- int i;
- void **p_argv;
- char *argp;
- ffi_type **p_arg;
-
-#ifdef FFI_MIPS_N32
- /* If more than 8 double words are used, the remainder go
- on the stack. We reorder stuff on the stack here to
- support this easily. */
- if (bytes > 8 * sizeof(ffi_arg))
- argp = &stack[bytes - (8 * sizeof(ffi_arg))];
- else
- argp = stack;
-#else
- argp = stack;
-#endif
-
- memset(stack, 0, bytes);
-
-#ifdef FFI_MIPS_N32
- if ( ecif->cif->rstruct_flag != 0 )
-#else
- if ( ecif->cif->rtype->type == FFI_TYPE_STRUCT )
-#endif
- {
- *(ffi_arg *) argp = (ffi_arg) ecif->rvalue;
- argp += sizeof(ffi_arg);
- FIX_ARGP;
- }
-
- p_argv = ecif->avalue;
-
- for (i = 0, p_arg = ecif->cif->arg_types; i < ecif->cif->nargs; i++, p_arg++)
- {
- size_t z;
- unsigned int a;
-
- /* Align if necessary. */
- a = (*p_arg)->alignment;
- if (a < sizeof(ffi_arg))
- a = sizeof(ffi_arg);
-
- if ((a - 1) & (unsigned long) argp)
- {
- argp = (char *) ALIGN(argp, a);
- FIX_ARGP;
- }
-
- z = (*p_arg)->size;
- if (z <= sizeof(ffi_arg))
- {
- int type = (*p_arg)->type;
- z = sizeof(ffi_arg);
-
- /* The size of a pointer depends on the ABI */
- if (type == FFI_TYPE_POINTER)
- type = (ecif->cif->abi == FFI_N64
- || ecif->cif->abi == FFI_N64_SOFT_FLOAT)
- ? FFI_TYPE_SINT64 : FFI_TYPE_SINT32;
-
- if (i < 8 && (ecif->cif->abi == FFI_N32_SOFT_FLOAT
- || ecif->cif->abi == FFI_N64_SOFT_FLOAT))
- {
- switch (type)
- {
- case FFI_TYPE_FLOAT:
- type = FFI_TYPE_UINT32;
- break;
- case FFI_TYPE_DOUBLE:
- type = FFI_TYPE_UINT64;
- break;
- default:
- break;
- }
- }
- switch (type)
- {
- case FFI_TYPE_SINT8:
- *(ffi_arg *)argp = *(SINT8 *)(* p_argv);
- break;
-
- case FFI_TYPE_UINT8:
- *(ffi_arg *)argp = *(UINT8 *)(* p_argv);
- break;
-
- case FFI_TYPE_SINT16:
- *(ffi_arg *)argp = *(SINT16 *)(* p_argv);
- break;
-
- case FFI_TYPE_UINT16:
- *(ffi_arg *)argp = *(UINT16 *)(* p_argv);
- break;
-
- case FFI_TYPE_SINT32:
- *(ffi_arg *)argp = *(SINT32 *)(* p_argv);
- break;
-
- case FFI_TYPE_UINT32:
- *(ffi_arg *)argp = *(UINT32 *)(* p_argv);
- break;
-
- /* This can only happen with 64bit slots. */
- case FFI_TYPE_FLOAT:
- *(float *) argp = *(float *)(* p_argv);
- break;
-
- /* Handle structures. */
- default:
- memcpy(argp, *p_argv, (*p_arg)->size);
- break;
- }
- }
- else
- {
-#ifdef FFI_MIPS_O32
- memcpy(argp, *p_argv, z);
-#else
- {
- unsigned long end = (unsigned long) argp + z;
- unsigned long cap = (unsigned long) stack + bytes;
-
- /* Check if the data will fit within the register space.
- Handle it if it doesn't. */
-
- if (end <= cap)
- memcpy(argp, *p_argv, z);
- else
- {
- unsigned long portion = cap - (unsigned long)argp;
-
- memcpy(argp, *p_argv, portion);
- argp = stack;
- z -= portion;
- memcpy(argp, (void*)((unsigned long)(*p_argv) + portion),
- z);
- }
- }
-#endif
- }
- p_argv++;
- argp += z;
- FIX_ARGP;
- }
-}
-
-#ifdef FFI_MIPS_N32
-
-/* The n32 spec says that if "a chunk consists solely of a double
- float field (but not a double, which is part of a union), it
- is passed in a floating point register. Any other chunk is
- passed in an integer register". This code traverses structure
- definitions and generates the appropriate flags. */
-
-static unsigned
-calc_n32_struct_flags(int soft_float, ffi_type *arg,
- unsigned *loc, unsigned *arg_reg)
-{
- unsigned flags = 0;
- unsigned index = 0;
-
- ffi_type *e;
-
- if (soft_float)
- return 0;
-
- while ((e = arg->elements[index]))
- {
- /* Align this object. */
- *loc = ALIGN(*loc, e->alignment);
- if (e->type == FFI_TYPE_DOUBLE)
- {
- /* Already aligned to FFI_SIZEOF_ARG. */
- *arg_reg = *loc / FFI_SIZEOF_ARG;
- if (*arg_reg > 7)
- break;
- flags += (FFI_TYPE_DOUBLE << (*arg_reg * FFI_FLAG_BITS));
- *loc += e->size;
- }
- else
- *loc += e->size;
- index++;
- }
- /* Next Argument register at alignment of FFI_SIZEOF_ARG. */
- *arg_reg = ALIGN(*loc, FFI_SIZEOF_ARG) / FFI_SIZEOF_ARG;
-
- return flags;
-}
-
-static unsigned
-calc_n32_return_struct_flags(int soft_float, ffi_type *arg)
-{
- unsigned flags = 0;
- unsigned small = FFI_TYPE_SMALLSTRUCT;
- ffi_type *e;
-
- /* Returning structures under n32 is a tricky thing.
- A struct with only one or two floating point fields
- is returned in $f0 (and $f2 if necessary). Any other
- struct results at most 128 bits are returned in $2
- (the first 64 bits) and $3 (remainder, if necessary).
- Larger structs are handled normally. */
-
- if (arg->size > 16)
- return 0;
-
- if (arg->size > 8)
- small = FFI_TYPE_SMALLSTRUCT2;
-
- e = arg->elements[0];
-
- if (e->type == FFI_TYPE_DOUBLE)
- flags = FFI_TYPE_DOUBLE;
- else if (e->type == FFI_TYPE_FLOAT)
- flags = FFI_TYPE_FLOAT;
-
- if (flags && (e = arg->elements[1]))
- {
- if (e->type == FFI_TYPE_DOUBLE)
- flags += FFI_TYPE_DOUBLE << FFI_FLAG_BITS;
- else if (e->type == FFI_TYPE_FLOAT)
- flags += FFI_TYPE_FLOAT << FFI_FLAG_BITS;
- else
- return small;
-
- if (flags && (arg->elements[2]))
- {
- /* There are three arguments and the first two are
- floats! This must be passed the old way. */
- return small;
- }
- if (soft_float)
- flags += FFI_TYPE_STRUCT_SOFT;
- }
- else
- if (!flags)
- return small;
-
- return flags;
-}
-
-#endif
-
-/* Perform machine dependent cif processing */
-ffi_status ffi_prep_cif_machdep(ffi_cif *cif)
-{
- cif->flags = 0;
-
-#ifdef FFI_MIPS_O32
- /* Set the flags necessary for O32 processing. FFI_O32_SOFT_FLOAT
- * does not have special handling for floating point args.
- */
-
- if (cif->rtype->type != FFI_TYPE_STRUCT && cif->abi == FFI_O32)
- {
- if (cif->nargs > 0)
- {
- switch ((cif->arg_types)[0]->type)
- {
- case FFI_TYPE_FLOAT:
- case FFI_TYPE_DOUBLE:
- cif->flags += (cif->arg_types)[0]->type;
- break;
-
- default:
- break;
- }
-
- if (cif->nargs > 1)
- {
- /* Only handle the second argument if the first
- is a float or double. */
- if (cif->flags)
- {
- switch ((cif->arg_types)[1]->type)
- {
- case FFI_TYPE_FLOAT:
- case FFI_TYPE_DOUBLE:
- cif->flags += (cif->arg_types)[1]->type << FFI_FLAG_BITS;
- break;
-
- default:
- break;
- }
- }
- }
- }
- }
-
- /* Set the return type flag */
-
- if (cif->abi == FFI_O32_SOFT_FLOAT)
- {
- switch (cif->rtype->type)
- {
- case FFI_TYPE_VOID:
- case FFI_TYPE_STRUCT:
- cif->flags += cif->rtype->type << (FFI_FLAG_BITS * 2);
- break;
-
- case FFI_TYPE_SINT64:
- case FFI_TYPE_UINT64:
- case FFI_TYPE_DOUBLE:
- cif->flags += FFI_TYPE_UINT64 << (FFI_FLAG_BITS * 2);
- break;
-
- case FFI_TYPE_FLOAT:
- default:
- cif->flags += FFI_TYPE_INT << (FFI_FLAG_BITS * 2);
- break;
- }
- }
- else
- {
- /* FFI_O32 */
- switch (cif->rtype->type)
- {
- case FFI_TYPE_VOID:
- case FFI_TYPE_STRUCT:
- case FFI_TYPE_FLOAT:
- case FFI_TYPE_DOUBLE:
- cif->flags += cif->rtype->type << (FFI_FLAG_BITS * 2);
- break;
-
- case FFI_TYPE_SINT64:
- case FFI_TYPE_UINT64:
- cif->flags += FFI_TYPE_UINT64 << (FFI_FLAG_BITS * 2);
- break;
-
- default:
- cif->flags += FFI_TYPE_INT << (FFI_FLAG_BITS * 2);
- break;
- }
- }
-#endif
-
-#ifdef FFI_MIPS_N32
- /* Set the flags necessary for N32 processing */
- {
- int type;
- unsigned arg_reg = 0;
- unsigned loc = 0;
- unsigned count = (cif->nargs < 8) ? cif->nargs : 8;
- unsigned index = 0;
-
- unsigned struct_flags = 0;
- int soft_float = (cif->abi == FFI_N32_SOFT_FLOAT
- || cif->abi == FFI_N64_SOFT_FLOAT);
-
- if (cif->rtype->type == FFI_TYPE_STRUCT)
- {
- struct_flags = calc_n32_return_struct_flags(soft_float, cif->rtype);
-
- if (struct_flags == 0)
- {
- /* This means that the structure is being passed as
- a hidden argument */
-
- arg_reg = 1;
- count = (cif->nargs < 7) ? cif->nargs : 7;
-
- cif->rstruct_flag = !0;
- }
- else
- cif->rstruct_flag = 0;
- }
- else
- cif->rstruct_flag = 0;
-
- while (count-- > 0 && arg_reg < 8)
- {
- type = (cif->arg_types)[index]->type;
- if (soft_float)
- {
- switch (type)
- {
- case FFI_TYPE_FLOAT:
- type = FFI_TYPE_UINT32;
- break;
- case FFI_TYPE_DOUBLE:
- type = FFI_TYPE_UINT64;
- break;
- default:
- break;
- }
- }
- switch (type)
- {
- case FFI_TYPE_FLOAT:
- case FFI_TYPE_DOUBLE:
- cif->flags +=
- ((cif->arg_types)[index]->type << (arg_reg * FFI_FLAG_BITS));
- arg_reg++;
- break;
- case FFI_TYPE_LONGDOUBLE:
- /* Align it. */
- arg_reg = ALIGN(arg_reg, 2);
- /* Treat it as two adjacent doubles. */
- if (soft_float)
- {
- arg_reg += 2;
- }
- else
- {
- cif->flags +=
- (FFI_TYPE_DOUBLE << (arg_reg * FFI_FLAG_BITS));
- arg_reg++;
- cif->flags +=
- (FFI_TYPE_DOUBLE << (arg_reg * FFI_FLAG_BITS));
- arg_reg++;
- }
- break;
-
- case FFI_TYPE_STRUCT:
- loc = arg_reg * FFI_SIZEOF_ARG;
- cif->flags += calc_n32_struct_flags(soft_float,
- (cif->arg_types)[index],
- &loc, &arg_reg);
- break;
-
- default:
- arg_reg++;
- break;
- }
-
- index++;
- }
-
- /* Set the return type flag */
- switch (cif->rtype->type)
- {
- case FFI_TYPE_STRUCT:
- {
- if (struct_flags == 0)
- {
- /* The structure is returned through a hidden
- first argument. Do nothing, 'cause FFI_TYPE_VOID
- is 0 */
- }
- else
- {
- /* The structure is returned via some tricky
- mechanism */
- cif->flags += FFI_TYPE_STRUCT << (FFI_FLAG_BITS * 8);
- cif->flags += struct_flags << (4 + (FFI_FLAG_BITS * 8));
- }
- break;
- }
-
- case FFI_TYPE_VOID:
- /* Do nothing, 'cause FFI_TYPE_VOID is 0 */
- break;
-
- case FFI_TYPE_POINTER:
- if (cif->abi == FFI_N32_SOFT_FLOAT || cif->abi == FFI_N32)
- cif->flags += FFI_TYPE_SINT32 << (FFI_FLAG_BITS * 8);
- else
- cif->flags += FFI_TYPE_INT << (FFI_FLAG_BITS * 8);
- break;
-
- case FFI_TYPE_FLOAT:
- if (soft_float)
- {
- cif->flags += FFI_TYPE_SINT32 << (FFI_FLAG_BITS * 8);
- break;
- }
- /* else fall through */
- case FFI_TYPE_DOUBLE:
- if (soft_float)
- cif->flags += FFI_TYPE_INT << (FFI_FLAG_BITS * 8);
- else
- cif->flags += cif->rtype->type << (FFI_FLAG_BITS * 8);
- break;
-
- case FFI_TYPE_LONGDOUBLE:
- /* Long double is returned as if it were a struct containing
- two doubles. */
- if (soft_float)
- {
- cif->flags += FFI_TYPE_STRUCT << (FFI_FLAG_BITS * 8);
- cif->flags += FFI_TYPE_SMALLSTRUCT2 << (4 + (FFI_FLAG_BITS * 8));
- }
- else
- {
- cif->flags += FFI_TYPE_STRUCT << (FFI_FLAG_BITS * 8);
- cif->flags += (FFI_TYPE_DOUBLE
- + (FFI_TYPE_DOUBLE << FFI_FLAG_BITS))
- << (4 + (FFI_FLAG_BITS * 8));
- }
- break;
- default:
- cif->flags += FFI_TYPE_INT << (FFI_FLAG_BITS * 8);
- break;
- }
- }
-#endif
-
- return FFI_OK;
-}
-
-/* Low level routine for calling O32 functions */
-extern int ffi_call_O32(void (*)(char *, extended_cif *, int, int),
- extended_cif *, unsigned,
- unsigned, unsigned *, void (*)(void));
-
-/* Low level routine for calling N32 functions */
-extern int ffi_call_N32(void (*)(char *, extended_cif *, int, int),
- extended_cif *, unsigned,
- unsigned, void *, void (*)(void));
-
-void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
-{
- extended_cif ecif;
-
- ecif.cif = cif;
- ecif.avalue = avalue;
-
- /* If the return value is a struct and we don't have a return */
- /* value address then we need to make one */
-
- if ((rvalue == NULL) &&
- (cif->rtype->type == FFI_TYPE_STRUCT))
- ecif.rvalue = alloca(cif->rtype->size);
- else
- ecif.rvalue = rvalue;
-
- switch (cif->abi)
- {
-#ifdef FFI_MIPS_O32
- case FFI_O32:
- case FFI_O32_SOFT_FLOAT:
- ffi_call_O32(ffi_prep_args, &ecif, cif->bytes,
- cif->flags, ecif.rvalue, fn);
- break;
-#endif
-
-#ifdef FFI_MIPS_N32
- case FFI_N32:
- case FFI_N32_SOFT_FLOAT:
- case FFI_N64:
- case FFI_N64_SOFT_FLOAT:
- {
- int copy_rvalue = 0;
- int copy_offset = 0;
- char *rvalue_copy = ecif.rvalue;
- if (cif->rtype->type == FFI_TYPE_STRUCT && cif->rtype->size < 16)
- {
- /* For structures smaller than 16 bytes we clobber memory
- in 8 byte increments. Make a copy so we don't clobber
- the callers memory outside of the struct bounds. */
- rvalue_copy = alloca(16);
- copy_rvalue = 1;
- }
- else if (cif->rtype->type == FFI_TYPE_FLOAT
- && (cif->abi == FFI_N64_SOFT_FLOAT
- || cif->abi == FFI_N32_SOFT_FLOAT))
- {
- rvalue_copy = alloca (8);
- copy_rvalue = 1;
-#if defined(__MIPSEB__) || defined(_MIPSEB)
- copy_offset = 4;
-#endif
- }
- ffi_call_N32(ffi_prep_args, &ecif, cif->bytes,
- cif->flags, rvalue_copy, fn);
- if (copy_rvalue)
- memcpy(ecif.rvalue, rvalue_copy + copy_offset, cif->rtype->size);
- }
- break;
-#endif
-
- default:
- FFI_ASSERT(0);
- break;
- }
-}
-
-#if FFI_CLOSURES
-#if defined(FFI_MIPS_O32)
-extern void ffi_closure_O32(void);
-#else
-extern void ffi_closure_N32(void);
-#endif /* FFI_MIPS_O32 */
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure *closure,
- ffi_cif *cif,
- void (*fun)(ffi_cif*,void*,void**,void*),
- void *user_data,
- void *codeloc)
-{
- unsigned int *tramp = (unsigned int *) &closure->tramp[0];
- void * fn;
- char *clear_location = (char *) codeloc;
-
-#if defined(FFI_MIPS_O32)
- if (cif->abi != FFI_O32 && cif->abi != FFI_O32_SOFT_FLOAT)
- return FFI_BAD_ABI;
- fn = ffi_closure_O32;
-#else /* FFI_MIPS_N32 */
- if (cif->abi != FFI_N32 && cif->abi != FFI_N64)
- return FFI_BAD_ABI;
- fn = ffi_closure_N32;
-#endif /* FFI_MIPS_O32 */
-
-#if defined(FFI_MIPS_O32) || (_MIPS_SIM ==_ABIN32)
- /* lui $25,high(fn) */
- tramp[0] = 0x3c190000 | ((unsigned)fn >> 16);
- /* ori $25,low(fn) */
- tramp[1] = 0x37390000 | ((unsigned)fn & 0xffff);
- /* lui $12,high(codeloc) */
- tramp[2] = 0x3c0c0000 | ((unsigned)codeloc >> 16);
- /* jr $25 */
- tramp[3] = 0x03200008;
- /* ori $12,low(codeloc) */
- tramp[4] = 0x358c0000 | ((unsigned)codeloc & 0xffff);
-#else
- /* N64 has a somewhat larger trampoline. */
- /* lui $25,high(fn) */
- tramp[0] = 0x3c190000 | ((unsigned long)fn >> 48);
- /* lui $12,high(codeloc) */
- tramp[1] = 0x3c0c0000 | ((unsigned long)codeloc >> 48);
- /* ori $25,mid-high(fn) */
- tramp[2] = 0x37390000 | (((unsigned long)fn >> 32 ) & 0xffff);
- /* ori $12,mid-high(codeloc) */
- tramp[3] = 0x358c0000 | (((unsigned long)codeloc >> 32) & 0xffff);
- /* dsll $25,$25,16 */
- tramp[4] = 0x0019cc38;
- /* dsll $12,$12,16 */
- tramp[5] = 0x000c6438;
- /* ori $25,mid-low(fn) */
- tramp[6] = 0x37390000 | (((unsigned long)fn >> 16 ) & 0xffff);
- /* ori $12,mid-low(codeloc) */
- tramp[7] = 0x358c0000 | (((unsigned long)codeloc >> 16) & 0xffff);
- /* dsll $25,$25,16 */
- tramp[8] = 0x0019cc38;
- /* dsll $12,$12,16 */
- tramp[9] = 0x000c6438;
- /* ori $25,low(fn) */
- tramp[10] = 0x37390000 | ((unsigned long)fn & 0xffff);
- /* jr $25 */
- tramp[11] = 0x03200008;
- /* ori $12,low(codeloc) */
- tramp[12] = 0x358c0000 | ((unsigned long)codeloc & 0xffff);
-
-#endif
-
- closure->cif = cif;
- closure->fun = fun;
- closure->user_data = user_data;
-
-#ifdef USE__BUILTIN___CLEAR_CACHE
- __builtin___clear_cache(clear_location, clear_location + FFI_TRAMPOLINE_SIZE);
-#else
- cacheflush (clear_location, FFI_TRAMPOLINE_SIZE, ICACHE);
-#endif
- return FFI_OK;
-}
-
-/*
- * Decodes the arguments to a function, which will be stored on the
- * stack. AR is the pointer to the beginning of the integer arguments
- * (and, depending upon the arguments, some floating-point arguments
- * as well). FPR is a pointer to the area where floating point
- * registers have been saved, if any.
- *
- * RVALUE is the location where the function return value will be
- * stored. CLOSURE is the prepared closure to invoke.
- *
- * This function should only be called from assembly, which is in
- * turn called from a trampoline.
- *
- * Returns the function return type.
- *
- * Based on the similar routine for sparc.
- */
-int
-ffi_closure_mips_inner_O32 (ffi_closure *closure,
- void *rvalue, ffi_arg *ar,
- double *fpr)
-{
- ffi_cif *cif;
- void **avaluep;
- ffi_arg *avalue;
- ffi_type **arg_types;
- int i, avn, argn, seen_int;
-
- cif = closure->cif;
- avalue = alloca (cif->nargs * sizeof (ffi_arg));
- avaluep = alloca (cif->nargs * sizeof (ffi_arg));
-
- seen_int = (cif->abi == FFI_O32_SOFT_FLOAT);
- argn = 0;
-
- if ((cif->flags >> (FFI_FLAG_BITS * 2)) == FFI_TYPE_STRUCT)
- {
- rvalue = (void *)(UINT32)ar[0];
- argn = 1;
- }
-
- i = 0;
- avn = cif->nargs;
- arg_types = cif->arg_types;
-
- while (i < avn)
- {
- if (i < 2 && !seen_int &&
- (arg_types[i]->type == FFI_TYPE_FLOAT ||
- arg_types[i]->type == FFI_TYPE_DOUBLE ||
- arg_types[i]->type == FFI_TYPE_LONGDOUBLE))
- {
-#if defined(__MIPSEB__) || defined(_MIPSEB)
- if (arg_types[i]->type == FFI_TYPE_FLOAT)
- avaluep[i] = ((char *) &fpr[i]) + sizeof (float);
- else
-#endif
- avaluep[i] = (char *) &fpr[i];
- }
- else
- {
- if (arg_types[i]->alignment == 8 && (argn & 0x1))
- argn++;
- switch (arg_types[i]->type)
- {
- case FFI_TYPE_SINT8:
- avaluep[i] = &avalue[i];
- *(SINT8 *) &avalue[i] = (SINT8) ar[argn];
- break;
-
- case FFI_TYPE_UINT8:
- avaluep[i] = &avalue[i];
- *(UINT8 *) &avalue[i] = (UINT8) ar[argn];
- break;
-
- case FFI_TYPE_SINT16:
- avaluep[i] = &avalue[i];
- *(SINT16 *) &avalue[i] = (SINT16) ar[argn];
- break;
-
- case FFI_TYPE_UINT16:
- avaluep[i] = &avalue[i];
- *(UINT16 *) &avalue[i] = (UINT16) ar[argn];
- break;
-
- default:
- avaluep[i] = (char *) &ar[argn];
- break;
- }
- seen_int = 1;
- }
- argn += ALIGN(arg_types[i]->size, FFI_SIZEOF_ARG) / FFI_SIZEOF_ARG;
- i++;
- }
-
- /* Invoke the closure. */
- (closure->fun) (cif, rvalue, avaluep, closure->user_data);
-
- if (cif->abi == FFI_O32_SOFT_FLOAT)
- {
- switch (cif->rtype->type)
- {
- case FFI_TYPE_FLOAT:
- return FFI_TYPE_INT;
- case FFI_TYPE_DOUBLE:
- return FFI_TYPE_UINT64;
- default:
- return cif->rtype->type;
- }
- }
- else
- {
- return cif->rtype->type;
- }
-}
-
-#if defined(FFI_MIPS_N32)
-
-static void
-copy_struct_N32(char *target, unsigned offset, ffi_abi abi, ffi_type *type,
- int argn, unsigned arg_offset, ffi_arg *ar,
- ffi_arg *fpr, int soft_float)
-{
- ffi_type **elt_typep = type->elements;
- while(*elt_typep)
- {
- ffi_type *elt_type = *elt_typep;
- unsigned o;
- char *tp;
- char *argp;
- char *fpp;
-
- o = ALIGN(offset, elt_type->alignment);
- arg_offset += o - offset;
- offset = o;
- argn += arg_offset / sizeof(ffi_arg);
- arg_offset = arg_offset % sizeof(ffi_arg);
-
- argp = (char *)(ar + argn);
- fpp = (char *)(argn >= 8 ? ar + argn : fpr + argn);
-
- tp = target + offset;
-
- if (elt_type->type == FFI_TYPE_DOUBLE && !soft_float)
- *(double *)tp = *(double *)fpp;
- else
- memcpy(tp, argp + arg_offset, elt_type->size);
-
- offset += elt_type->size;
- arg_offset += elt_type->size;
- elt_typep++;
- argn += arg_offset / sizeof(ffi_arg);
- arg_offset = arg_offset % sizeof(ffi_arg);
- }
-}
-
-/*
- * Decodes the arguments to a function, which will be stored on the
- * stack. AR is the pointer to the beginning of the integer
- * arguments. FPR is a pointer to the area where floating point
- * registers have been saved.
- *
- * RVALUE is the location where the function return value will be
- * stored. CLOSURE is the prepared closure to invoke.
- *
- * This function should only be called from assembly, which is in
- * turn called from a trampoline.
- *
- * Returns the function return flags.
- *
- */
-int
-ffi_closure_mips_inner_N32 (ffi_closure *closure,
- void *rvalue, ffi_arg *ar,
- ffi_arg *fpr)
-{
- ffi_cif *cif;
- void **avaluep;
- ffi_arg *avalue;
- ffi_type **arg_types;
- int i, avn, argn;
- int soft_float;
- ffi_arg *argp;
-
- cif = closure->cif;
- soft_float = cif->abi == FFI_N64_SOFT_FLOAT
- || cif->abi == FFI_N32_SOFT_FLOAT;
- avalue = alloca (cif->nargs * sizeof (ffi_arg));
- avaluep = alloca (cif->nargs * sizeof (ffi_arg));
-
- argn = 0;
-
- if (cif->rstruct_flag)
- {
-#if _MIPS_SIM==_ABIN32
- rvalue = (void *)(UINT32)ar[0];
-#else /* N64 */
- rvalue = (void *)ar[0];
-#endif
- argn = 1;
- }
-
- i = 0;
- avn = cif->nargs;
- arg_types = cif->arg_types;
-
- while (i < avn)
- {
- if (arg_types[i]->type == FFI_TYPE_FLOAT
- || arg_types[i]->type == FFI_TYPE_DOUBLE
- || arg_types[i]->type == FFI_TYPE_LONGDOUBLE)
- {
- argp = (argn >= 8 || soft_float) ? ar + argn : fpr + argn;
- if ((arg_types[i]->type == FFI_TYPE_LONGDOUBLE) && ((unsigned)argp & (arg_types[i]->alignment-1)))
- {
- argp=(ffi_arg*)ALIGN(argp,arg_types[i]->alignment);
- argn++;
- }
-#if defined(__MIPSEB__) || defined(_MIPSEB)
- if (arg_types[i]->type == FFI_TYPE_FLOAT && argn < 8)
- avaluep[i] = ((char *) argp) + sizeof (float);
- else
-#endif
- avaluep[i] = (char *) argp;
- }
- else
- {
- unsigned type = arg_types[i]->type;
-
- if (arg_types[i]->alignment > sizeof(ffi_arg))
- argn = ALIGN(argn, arg_types[i]->alignment / sizeof(ffi_arg));
-
- argp = ar + argn;
-
- /* The size of a pointer depends on the ABI */
- if (type == FFI_TYPE_POINTER)
- type = (cif->abi == FFI_N64 || cif->abi == FFI_N64_SOFT_FLOAT)
- ? FFI_TYPE_SINT64 : FFI_TYPE_SINT32;
-
- if (soft_float && type == FFI_TYPE_FLOAT)
- type = FFI_TYPE_UINT32;
-
- switch (type)
- {
- case FFI_TYPE_SINT8:
- avaluep[i] = &avalue[i];
- *(SINT8 *) &avalue[i] = (SINT8) *argp;
- break;
-
- case FFI_TYPE_UINT8:
- avaluep[i] = &avalue[i];
- *(UINT8 *) &avalue[i] = (UINT8) *argp;
- break;
-
- case FFI_TYPE_SINT16:
- avaluep[i] = &avalue[i];
- *(SINT16 *) &avalue[i] = (SINT16) *argp;
- break;
-
- case FFI_TYPE_UINT16:
- avaluep[i] = &avalue[i];
- *(UINT16 *) &avalue[i] = (UINT16) *argp;
- break;
-
- case FFI_TYPE_SINT32:
- avaluep[i] = &avalue[i];
- *(SINT32 *) &avalue[i] = (SINT32) *argp;
- break;
-
- case FFI_TYPE_UINT32:
- avaluep[i] = &avalue[i];
- *(UINT32 *) &avalue[i] = (UINT32) *argp;
- break;
-
- case FFI_TYPE_STRUCT:
- if (argn < 8)
- {
- /* Allocate space for the struct as at least part of
- it was passed in registers. */
- avaluep[i] = alloca(arg_types[i]->size);
- copy_struct_N32(avaluep[i], 0, cif->abi, arg_types[i],
- argn, 0, ar, fpr, soft_float);
-
- break;
- }
- /* Else fall through. */
- default:
- avaluep[i] = (char *) argp;
- break;
- }
- }
- argn += ALIGN(arg_types[i]->size, sizeof(ffi_arg)) / sizeof(ffi_arg);
- i++;
- }
-
- /* Invoke the closure. */
- (closure->fun) (cif, rvalue, avaluep, closure->user_data);
-
- return cif->flags >> (FFI_FLAG_BITS * 8);
-}
-
-#endif /* FFI_MIPS_N32 */
-
-#endif /* FFI_CLOSURES */
diff --git a/.pc/more-openbsd-mips/src/mips/ffitarget.h b/.pc/more-openbsd-mips/src/mips/ffitarget.h
deleted file mode 100644
index 4b08bb5..0000000
--- a/.pc/more-openbsd-mips/src/mips/ffitarget.h
+++ /dev/null
@@ -1,242 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
- ffitarget.h - Copyright (c) 1996-2003 Red Hat, Inc.
- Target configuration macros for MIPS.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
-
- ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-#ifdef linux
-# include <asm/sgidefs.h>
-#elif defined(__rtems__)
-/*
- * Subprogram calling convention - copied from sgidefs.h
- */
-#define _MIPS_SIM_ABI32 1
-#define _MIPS_SIM_NABI32 2
-#define _MIPS_SIM_ABI64 3
-#else
-# include <sgidefs.h>
-#endif
-
-# ifndef _ABIN32
-# define _ABIN32 _MIPS_SIM_NABI32
-# endif
-# ifndef _ABI64
-# define _ABI64 _MIPS_SIM_ABI64
-# endif
-# ifndef _ABIO32
-# define _ABIO32 _MIPS_SIM_ABI32
-# endif
-
-#if !defined(_MIPS_SIM)
-# error -- something is very wrong --
-#else
-# if (_MIPS_SIM==_ABIN32 && defined(_ABIN32)) || (_MIPS_SIM==_ABI64 && defined(_ABI64))
-# define FFI_MIPS_N32
-# else
-# if (_MIPS_SIM==_ABIO32 && defined(_ABIO32))
-# define FFI_MIPS_O32
-# else
-# error -- this is an unsupported platform --
-# endif
-# endif
-#endif
-
-#ifdef FFI_MIPS_O32
-/* O32 stack frames have 32bit integer args */
-# define FFI_SIZEOF_ARG 4
-#else
-/* N32 and N64 frames have 64bit integer args */
-# define FFI_SIZEOF_ARG 8
-# if _MIPS_SIM == _ABIN32
-# define FFI_SIZEOF_JAVA_RAW 4
-# endif
-#endif
-
-#define FFI_FLAG_BITS 2
-
-/* SGI's strange assembler requires that we multiply by 4 rather
- than shift left by FFI_FLAG_BITS */
-
-#define FFI_ARGS_D FFI_TYPE_DOUBLE
-#define FFI_ARGS_F FFI_TYPE_FLOAT
-#define FFI_ARGS_DD FFI_TYPE_DOUBLE * 4 + FFI_TYPE_DOUBLE
-#define FFI_ARGS_FF FFI_TYPE_FLOAT * 4 + FFI_TYPE_FLOAT
-#define FFI_ARGS_FD FFI_TYPE_DOUBLE * 4 + FFI_TYPE_FLOAT
-#define FFI_ARGS_DF FFI_TYPE_FLOAT * 4 + FFI_TYPE_DOUBLE
-
-/* Needed for N32 structure returns */
-#define FFI_TYPE_SMALLSTRUCT FFI_TYPE_UINT8
-#define FFI_TYPE_SMALLSTRUCT2 FFI_TYPE_SINT8
-
-#if 0
-/* The SGI assembler can't handle this.. */
-#define FFI_TYPE_STRUCT_DD (( FFI_ARGS_DD ) << 4) + FFI_TYPE_STRUCT
-/* (and so on) */
-#else
-/* ...so we calculate these by hand! */
-#define FFI_TYPE_STRUCT_D 61
-#define FFI_TYPE_STRUCT_F 45
-#define FFI_TYPE_STRUCT_DD 253
-#define FFI_TYPE_STRUCT_FF 173
-#define FFI_TYPE_STRUCT_FD 237
-#define FFI_TYPE_STRUCT_DF 189
-#define FFI_TYPE_STRUCT_SMALL 93
-#define FFI_TYPE_STRUCT_SMALL2 109
-
-/* and for n32 soft float, add 16 * 2^4 */
-#define FFI_TYPE_STRUCT_D_SOFT 317
-#define FFI_TYPE_STRUCT_F_SOFT 301
-#define FFI_TYPE_STRUCT_DD_SOFT 509
-#define FFI_TYPE_STRUCT_FF_SOFT 429
-#define FFI_TYPE_STRUCT_FD_SOFT 493
-#define FFI_TYPE_STRUCT_DF_SOFT 445
-#define FFI_TYPE_STRUCT_SOFT 16
-#endif
-
-#ifdef LIBFFI_ASM
-#define v0 $2
-#define v1 $3
-#define a0 $4
-#define a1 $5
-#define a2 $6
-#define a3 $7
-#define a4 $8
-#define a5 $9
-#define a6 $10
-#define a7 $11
-#define t0 $8
-#define t1 $9
-#define t2 $10
-#define t3 $11
-#define t4 $12
-#define t5 $13
-#define t6 $14
-#define t7 $15
-#define t8 $24
-#define t9 $25
-#define ra $31
-
-#ifdef FFI_MIPS_O32
-# define REG_L lw
-# define REG_S sw
-# define SUBU subu
-# define ADDU addu
-# define SRL srl
-# define LI li
-#else /* !FFI_MIPS_O32 */
-# define REG_L ld
-# define REG_S sd
-# define SUBU dsubu
-# define ADDU daddu
-# define SRL dsrl
-# define LI dli
-# if (_MIPS_SIM==_ABI64)
-# define LA dla
-# define EH_FRAME_ALIGN 3
-# define FDE_ADDR_BYTES .8byte
-# else
-# define LA la
-# define EH_FRAME_ALIGN 2
-# define FDE_ADDR_BYTES .4byte
-# endif /* _MIPS_SIM==_ABI64 */
-#endif /* !FFI_MIPS_O32 */
-#else /* !LIBFFI_ASM */
-# ifdef __GNUC__
-# ifdef FFI_MIPS_O32
-/* O32 stack frames have 32bit integer args */
-typedef unsigned int ffi_arg __attribute__((__mode__(__SI__)));
-typedef signed int ffi_sarg __attribute__((__mode__(__SI__)));
-#else
-/* N32 and N64 frames have 64bit integer args */
-typedef unsigned int ffi_arg __attribute__((__mode__(__DI__)));
-typedef signed int ffi_sarg __attribute__((__mode__(__DI__)));
-# endif
-# else
-# ifdef FFI_MIPS_O32
-/* O32 stack frames have 32bit integer args */
-typedef __uint32_t ffi_arg;
-typedef __int32_t ffi_sarg;
-# else
-/* N32 and N64 frames have 64bit integer args */
-typedef __uint64_t ffi_arg;
-typedef __int64_t ffi_sarg;
-# endif
-# endif /* __GNUC__ */
-
-typedef enum ffi_abi {
- FFI_FIRST_ABI = 0,
- FFI_O32,
- FFI_N32,
- FFI_N64,
- FFI_O32_SOFT_FLOAT,
- FFI_N32_SOFT_FLOAT,
- FFI_N64_SOFT_FLOAT,
- FFI_LAST_ABI,
-
-#ifdef FFI_MIPS_O32
-#ifdef __mips_soft_float
- FFI_DEFAULT_ABI = FFI_O32_SOFT_FLOAT
-#else
- FFI_DEFAULT_ABI = FFI_O32
-#endif
-#else
-# if _MIPS_SIM==_ABI64
-# ifdef __mips_soft_float
- FFI_DEFAULT_ABI = FFI_N64_SOFT_FLOAT
-# else
- FFI_DEFAULT_ABI = FFI_N64
-# endif
-# else
-# ifdef __mips_soft_float
- FFI_DEFAULT_ABI = FFI_N32_SOFT_FLOAT
-# else
- FFI_DEFAULT_ABI = FFI_N32
-# endif
-# endif
-#endif
-} ffi_abi;
-
-#define FFI_EXTRA_CIF_FIELDS unsigned rstruct_flag
-#endif /* !LIBFFI_ASM */
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#if defined(FFI_MIPS_O32)
-#define FFI_CLOSURES 1
-#define FFI_TRAMPOLINE_SIZE 20
-#else
-/* N32/N64. */
-# define FFI_CLOSURES 1
-#if _MIPS_SIM==_ABI64
-#define FFI_TRAMPOLINE_SIZE 52
-#else
-#define FFI_TRAMPOLINE_SIZE 20
-#endif
-#endif /* FFI_MIPS_O32 */
-#define FFI_NATIVE_RAW_API 0
-
-#endif
-
diff --git a/.pc/more-openbsd/.timestamp b/.pc/more-openbsd/.timestamp
deleted file mode 100644
index e69de29..0000000
--- a/.pc/more-openbsd/.timestamp
+++ /dev/null
diff --git a/.pc/more-openbsd/ChangeLog b/.pc/more-openbsd/ChangeLog
deleted file mode 100644
index 295b115..0000000
--- a/.pc/more-openbsd/ChangeLog
+++ /dev/null
@@ -1,4673 +0,0 @@
-2012-02-10 Kai Tietz <ktietz@redhat.com>
-
- * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
- windows target.
- * configure: Regenerated.
-
-2012-02-08 Kai Tietz <ktietz@redhat.com>
-
- * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
- also FFI_THISCALL.
- * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
- (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
- (ffi_prep_closure_loc): Add FFI_THISCALL support.
- * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
- * src/x86/win32.S (ffi_closure_THISCALL): New closure code
- for thiscall-calling convention.
- * testsuite/libffi.call/closure_thiscall.c: New test.
-
-2012-01-28 Kai Tietz <ktietz@redhat.com>
-
- * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
- argument to prototype for specify calling-convention.
- (ffi_call): Add support for stdcall/thiscall convention.
- (ffi_prep_args): Likewise.
- (ffi_raw_call): Likewise.
- * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
- FFI_FASTCALL.
- * src/x86/win32.S (_ffi_call_win32): Add support for
- fastcall/thiscall calling-convention calls.
- * testsuite/libffi.call/fastthis1_win32.c: New test.
- * testsuite/libffi.call/fastthis2_win32.c: New test.
- * testsuite/libffi.call/fastthis3_win32.c: New test.
- * testsuite/libffi.call/strlen2_win32.c: New test.
- * testsuite/libffi.call/many2_win32.c: New test.
- * testsuite/libffi.call/struct1_win32.c: New test.
- * testsuite/libffi.call/struct2_win32.c: New test.
-
-2012-01-23 Andreas Schwab <schwab@linux-m68k.org>
-
- * src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
- mc68000. Test for __HAVE_68881__ in addition to __MC68881__.
-
-2012-01-19 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/48496
- * src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
-
-2012-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (i?86-*-*): Set TARGET to X86_64.
- * configure: Regenerate.
-
-2011-12-07 Andrew Pinski <apinski@cavium.com>
-
- PR libffi/50051
- * src/mips/n32.S: Add ".set mips4".
-
-2011-11-21 Andreas Tobler <andreast@fgznet.ch>
-
- * configure: Regenerate.
-
-2011-11-10 Richard Henderson <rth@redhat.com>
-
- * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
- * configure, aclocal.m4: Rebuild.
-
-2011-09-04 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/49594
- * src/powerpc/darwin_closure.S (stubs): Make the stub binding
- helper reference track the architecture pointer size.
-
-2011-08-25 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
- instructions.
- * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
-
-2011-07-11 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46660
- * testsuite/libffi.call/cls_double_va.c: xfail dg-output on
- mips-sgi-irix6*.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
- PRId8 instead of %hhu, %hhd.
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
- PRIu8): Define.
- [__sgi__] (PRId8, PRIu8): Define.
-
-2011-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
- Define.
- Use them to handle ELF vs. ECOFF differences.
- [__osf__] (_GLOBAL__F_ffi_call_osf): Define.
-
-2011-03-30 Timothy Wall <twall@users.sf.net>
-
- * src/powerpc/darwin.S: Fix unknown FDE encoding.
- * src/powerpc/darwin_closure.S: ditto.
-
-2011-02-25 Anthony Green <green@moxielogic.com>
-
- * src/powerpc/ffi.c (ffi_prep_closure_loc): Allow for more
- 32-bit ABIs.
-
-2011-02-15 Anthony Green <green@moxielogic.com>
-
- * m4/ax_cc_maxopt.m4: Don't -malign-double or use -ffast-math.
- * configure: Rebuilt.
-
-2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2011-02-13 Anthony Green <green@moxielogic.com>
-
- * include/ffi_common.h (UNLIKELY, LIKELY): Define.
- * src/x86/ffi64.c (UNLIKELY, LIKELY): Remove definition.
- * src/prep_cif.c (UNLIKELY, LIKELY): Remove definition.
-
- * src/prep_cif.c (initialize_aggregate): Convert assertion into
- FFI_BAD_TYPEDEF return. Initialize arg size and alignment to 0.
-
- * src/pa/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
- just return FFI_BAD_ABI when things are wrong.
- * src/arm/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/powerpc/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/mips/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/ia64/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/avr32/ffi.c (ffi_prep_closure_loc): Ditto.
-
-2011-02-11 Anthony Green <green@moxielogic.com>
-
- * src/sparc/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
- just return FFI_BAD_ABI when things are wrong.
-
-2011-02-09 Stuart Shelton <srcshelton@gmail.com>
-
- http://bugs.gentoo.org/show_bug.cgi?id=286911
- * src/mips/ffitarget.h: Clean up error messages.
- * src/java_raw_api.c (ffi_java_translate_args): Cast raw arg to
- ffi_raw*.
- * include/ffi.h.in: Add pragma for SGI compiler.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * configure.ac: Add powerpc64-*-darwin* support.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * README: Mention Interix.
-
-2011-02-09 Jonathan Callen <abcd@gentoo.org>
-
- * configure.ac: Add Interix to win32/cygwin/mingw case.
- * configure: Ditto.
- * src/closures.c: Treat Interix like Cygwin, instead of as a
- generic win32.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * testsuite/libffi.call/err_bad_typedef.c: Remove xfail.
- * testsuite/libffi.call/err_bad_abi.c: Remove xfail.
- * src/x86/ffi64.c (UNLIKELY, LIKELY): Define.
- (ffi_prep_closure_loc): Check for bad ABI.
- * src/prep_cif.c (UNLIKELY, LIKELY): Define.
- (initialize_aggregate): Check for bad types.
-
-2011-02-09 Landon Fuller <landonf@plausible.coop>
-
- * Makefile.am (EXTRA_DIST): Add build-ios.sh, src/arm/gentramp.sh,
- src/arm/trampoline.S.
- (nodist_libffi_la_SOURCES): Add src/arc/trampoline.S.
- * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Define.
- * src/arm/ffi.c (ffi_trampoline_table)
- (ffi_closure_trampoline_table_page, ffi_trampoline_table_entry)
- (FFI_TRAMPOLINE_CODELOC_CONFIG, FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET)
- (FFI_TRAMPOLINE_COUNT, ffi_trampoline_lock, ffi_trampoline_tables)
- (ffi_trampoline_table_alloc, ffi_closure_alloc, ffi_closure_free):
- Define for FFI_EXEC_TRAMPOLINE_TABLE case (iOS).
- (ffi_prep_closure_loc): Handl FFI_EXEC_TRAMPOLINE_TABLE case
- separately.
- * src/arm/sysv.S: Handle Apple iOS host.
- * src/closures.c: Handle FFI_EXEC_TRAMPOLINE_TABLE case.
- * build-ios.sh: New file.
- * fficonfig.h.in, configure, Makefile.in: Rebuilt.
- * README: Mention ARM iOS.
-
-2011-02-08 Oren Held <orenhe@il.ibm.com>
-
- * src/dlmalloc.c (_STRUCT_MALLINFO): Define in order to avoid
- redefinition of mallinfo on HP-UX.
-
-2011-02-08 Ginn Chen <ginn.chen@oracle.com>
-
- * src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
- aggregate return ABI. Flush cache.
- (ffi_prep_closure_loc): Flush cache.
-
-2011-02-11 Anthony Green <green@moxielogic.com>
-
- From Tom Honermann <tom.honermann@oracle.com>:
- * src/powerpc/aix.S (ffi_call_AIX): Support for xlc toolchain on
- AIX. Declare .ffi_prep_args. Insert nops after branch
- instructions so that the AIX linker can insert TOC reload
- instructions.
- * src/powerpc/aix_closure.S: Declare .ffi_closure_helper_DARWIN.
-
-2011-02-08 Ed <ed@kdtc.net>
-
- * src/powerpc/asm.h: Fix grammar nit in comment.
-
-2011-02-08 Uli Link <ul.mcamafia@linkitup.de>
-
- * include/ffi.h.in (FFI_64_BIT_MAX): Define and use.
-
-2011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46661
- * testsuite/libffi.call/cls_pointer.c (main): Cast void * to
- uintptr_t first.
- * testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
-
-2011-02-08 Rafael Avila de Espindola <respindola@mozilla.com>
-
- * configure.ac: Fix x86 test for pc related relocs.
- * configure: Rebuilt.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
- Handle case when CPU variant does not have long double support.
- * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
- and cores with soft floating point.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * configure.ac: Add mips*-*-rtems* support.
- * configure: Regenerate.
- * src/mips/ffitarget.h: Ensure needed constants are available
- for targets which do not have sgidefs.h.
-
-2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR target/40125
- * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
- * configure: Regenerate.
-
-2010-12-18 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/29152
- PR libffi/42378
- * src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
- (FFI_TRAMPOLINE_SIZE): Update for Darwin64.
- * src/powerpc/darwin.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
- backslashes.
- (libffi_cv_as_string_pseudo_op): Likewise.
- * configure: Regenerate.
-
-2010-12-03 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
- (ffi_closure_VFP): Same.
- (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
- directive.
-
-2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
- (PRIuPTR): Define.
-
-2010-11-29 Richard Henderson <rth@redhat.com>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
- (.eh_frame): Use FDE_ENCODING.
- (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
-
-2010-11-22 Jacek Caban <jacek@codeweavers.com>
-
- * configure.ac: Check for symbol underscores on mingw-w64.
- * configure: Rebuilt.
- * src/x86/win64.S: Correctly access extern symbols in respect to
- underscores.
-
-2010-11-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp: Rename ...
- * testsuite/lib/libffi.exp: ... to this.
- * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
- * libffi/testsuite/libffi.special/special.exp: Likewise.
-
-2010-10-28 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
- code, new parameter, and return value. Update comments.
- (ffi_prep_cif_machdep): Add case for VFP struct return values. Add
- call to layout_vfp_args().
- (ffi_call_SYSV): Update declaration.
- (ffi_call_VFP): New declaration.
- (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
- when ABI is FFI_VFP.
- (ffi_closure_VFP): New declaration.
- (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
- ffi_prep_incoming_args_SYSV().
- (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
- case handling.
- (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
- construction under VFP hard-float.
- (rec_vfp_type_p): New function.
- (vfp_type_p): Same.
- (place_vfp_arg): Same.
- (layout_vfp_args): Same.
- * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
- based on __ARM_PCS_VFP.
- (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
- fields.
- (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
- (FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
- * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
- direct call. Move function pointer load upwards.
- (ffi_call_VFP): New function.
- (ffi_closure_VFP): Same.
-
- * testsuite/lib/libffi-dg.exp (check-flags): New function.
- (dg-skip-if): New function.
- * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
- and compiler options include -mfloat-abi=hard.
- * testsuite/libffi.call/cls_longdouble_va.c: Same.
-
-2010-10-01 Jakub Jelinek <jakub@redhat.com>
-
- PR libffi/45677
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
- a multiple of 8.
- * testsuite/libffi.call/many2.c: New test.
-
-2010-08-20 Mark Wielaard <mjw@redhat.com>
-
- * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
- returns NULL.
-
-2010-08-09 Andreas Tobler <andreast@fgznet.ch>
-
- * configure.ac: Add target powerpc64-*-freebsd*.
- * configure: Regenerate.
- * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
- -mlong-double-128 only to linux targets.
- * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
- * testsuite/libffi.call/cls_longdouble.c: Likewise.
- * testsuite/libffi.call/huge_struct.c: Likewise.
-
-2010-08-05 Dan Witte <dwitte@mozilla.com>
-
- * Makefile.am: Pass FFI_DEBUG define to msvcc.sh for linking to the
- debug CRT when --enable-debug is given.
- * configure.ac: Define it.
- * msvcc.sh: Translate -g and -DFFI_DEBUG appropriately.
-
-2010-08-04 Dan Witte <dwitte@mozilla.com>
-
- * src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64
- platforms.
- * src/x86/ffi.c: Remove redundant ifdef checks.
- * src/prep_cif.c: Push stack space computation into src/x86/ffi.c
- for X86_ANY so return value space doesn't get added twice.
-
-2010-08-03 Neil Rashbrooke <neil@parkwaycc.co.uk>
-
- * msvcc.sh: Don't pass -safeseh to ml64 because behavior is buggy.
-
-2010-07-22 Dan Witte <dwitte@mozilla.com>
-
- * src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
- * src/prep_cif.c: Fix ABI assertion.
- * src/cris/ffi.c: Ditto.
-
-2010-07-10 Evan Phoenix <evan@fallingsnow.net>
-
- * src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
-
-2010-07-07 Dan Horák <dan@danny.cz>
-
- * include/ffi.h.in: Protect #define with #ifndef.
- * src/powerpc/ffitarget.h: Ditto.
- * src/s390/ffitarget.h: Ditto.
- * src/sparc/ffitarget.h: Ditto.
-
-2010-07-07 Neil Roberts <neil@linux.intel.com>
-
- * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
- 16-bytes.
-
-2010-07-02 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
- * Makefile.in: Regenerated.
-
-2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
- output, too.
- (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
- (libffi_cv_as_string_pseudo_op): Check for .string.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
-
-2010-05-11 Dan Witte <dwitte@mozilla.com>
-
- * doc/libffi.tex: Document previous change.
-
-2010-05-11 Makoto Kato <m_kato@ga2.so-net.ne.jp>
-
- * src/x86/ffi.c (ffi_call): Don't copy structs passed by value.
-
-2010-05-05 Michael Kohler <michaelkohler@live.com>
-
- * src/dlmalloc.c (dlfree): Fix spelling.
- * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
- * configure.ac: Ditto.
- * configure: Rebuilt.
-
-2010-04-13 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Build with -W3 instead of -Wall.
- * src/powerpc/ffi_darwin.c: Remove build warnings.
- * src/x86/ffi.c: Ditto.
- * src/x86/ffitarget.h: Ditto.
-
-2010-04-12 Dan Witte <dwitte@mozilla.com>
- Walter Meinl <wuno@lsvw.de>
-
- * configure.ac: Add OS/2 support.
- * configure: Rebuilt.
- * src/closures.c: Ditto.
- * src/dlmalloc.c: Ditto.
- * src/x86/win32.S: Ditto.
-
-2010-04-07 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
-
-2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2010-03-30 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Disable build warnings.
- * README (tested): Clarify windows build procedure.
-
-2010-03-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * libffi/src/x86/unix64.S (.eh_frame)
- [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
-
-2010-03-14 Matthias Klose <doko@ubuntu.com>
-
- * src/x86/ffi64.c: Fix typo in comment.
- * src/x86/ffi.c: Use /* ... */ comment style.
-
-2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/libffi.texi (The Closure API): Fix typo.
- * doc/libffi.info: Remove.
-
-2010-02-15 Matthias Klose <doko@ubuntu.com>
-
- * src/arm/sysv.S (__ARM_ARCH__): Define for processor
- __ARM_ARCH_7EM__.
-
-2010-01-15 Anthony Green <green@redhat.com>
-
- * README: Add notes on building with Microsoft Visual C++.
-
-2010-01-15 Daniel Witte <dwitte@mozilla.com>
-
- * msvcc.sh: New file.
-
- * src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
- * src/x86/ffi.c: Tweak function declaration and remove excess
- parens.
- * include/ffi.h.in: Add __declspec(align(8)) to typedef struct
- ffi_closure.
-
- * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
- function ffi_call_win32 on X86_WIN32.
- * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
- (ffi_call_STDCALL): Remove.
-
- * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
- to ffi_prep_cif_machdep for x86.
- * src/x86/ffi.c (ffi_prep_cif_machdep): To here.
-
-2010-01-15 Oliver Kiddle <okiddle@yahoo.co.uk>
-
- * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
- Sun Studio compiler compatibility.
-
-2010-01-12 Conrad Irwin <conrad.irwin@gmail.com>
-
- * doc/libffi.texi: Add closure example.
-
-2010-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40701
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
- PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
- * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
- alpha*-dec-osf*.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/return_ll1.c: Likewise.
- * testsuite/libffi.call/stret_medium2.c: Likewise.
- * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
- MAP_FAILED to char *.
-
-2010-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
-
-2009-12-31 Anthony Green <green@redhat.com>
-
- * README: Update for libffi 3.0.9.
-
-2009-12-27 Matthias Klose <doko@ubuntu.com>
-
- * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
- appropriate.
- * configure: Rebuilt.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
- avr32*-*-*.
- * testsuite/libffi.call/cls_double_va.c: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
- and inttypes.h.
- * testsuite/libffi.special/unwindtest.cc: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-openbsd*.
- * configure: Rebuilt.
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
- openbsd programs with -lpthread.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
- mips*-*-* and arm*-*-*.
- * testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c,
- testsuite/libffi.call/stret_medium2.c,
- testsuite/libffi.call/stret_medium.c,
- testsuite/libffi.call/stret_large.c,
- testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
-
-2009-12-31 Kay Tietz <ktietz70@googlemail.com>
-
- * testsuite/libffi.call/ffitest.h,
- testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
- definitions.
-
-2009-12-31 Carlo Bramini <carlo.bramix@libero.it>
-
- * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
- * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
-
-2009-12-31 Anthony Green <green@redhat.com>
- Blake Chaffin.
-
- * testsuite/libffi.call/huge_struct.c: New test case from Blake
- Chaffin @ Apple.
-
-2009-12-28 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
- local variables.
- (aix_adjust_aggregate_sizes): New function.
- (ffi_prep_cif_machdep): Call it.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
- * configure: Regenerate.
- * fficonfig.h.in: Likewise.
- * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
- Solaris/x86.
-
-2009-12-26 Andreas Schwab <schwab@linux-m68k.org>
-
- * 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.
-
-2009-12-25 Matthias Klose <doko@ubuntu.com>
-
- * man/ffi_call.3: Fix #include in examples.
- * doc/libffi.texi: Add dircategory.
-
-2009-12-25 Frank Everdij <f.p.x.everdij@tudelft.nl>
-
- * include/ffi.h.in: Placed '__GNUC__' ifdef around
- '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
- IRIX MIPSPro c99.
- * include/ffi_common.h: Added '__sgi' define to non
- '__attribute__((__mode__()))' integer typedefs.
- * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
- ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
- (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
- FFI_LONGDOUBLE support and alignment(N32 only).
- * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
- fixed non '__attribute__((__mode__()))' integer typedefs.
- * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
- since they are Linux/GNU Assembler specific.
-
-2009-12-25 Bradley Smith <brad@brad-smith.co.uk>
-
- * configure.ac, Makefile.am, src/avr32/ffi.c,
- src/avr32/ffitarget.h,
- src/avr32/sysv.S: Add AVR32 port.
- * configure, Makefile.in: Rebuilt.
-
-2009-12-21 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
- * configure: Regenerate.
-
-2009-12-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
- type on HP-UX.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
- double' arguments.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40700
- * src/closures.c [X86_64 && __sun__ && __svr4__]
- (FFI_MMAP_EXEC_WRIT): Define.
-
-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.
-
-2009-12-07 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
- typo.
-
-2009-12-05 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
- code.
- * src/powerpc/aix_closure.S: Same.
-
-2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
- linux64_closure.S.
-
-2009-12-04 Uros Bizjak <ubizjak@gmail.com>
-
- 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.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
- pfr for long double split between fpr13 and stack.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
- fparg_count twice for long double.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- PR libffi/42243
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03 Uros Bizjak <ubizjak@gmail.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
- Remove xfails for x86 linux targets.
-
-2009-12-02 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
- case.
-
-2009-12-01 David Edelsohn <edelsohn@gnu.org>
-
- * 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.
-
-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.
-
-2009-11-02 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/41908
- * testsuite/libffi.call/testclosure.c: New test.
-
-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.
-
-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.
-
-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.
-
-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.
-
-2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.am (install-html, install-pdf): Remove.
- * Makefile.in: Regenerate.
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24 Dave Korn <dave.korn.cygwin@gmail.com>
-
- 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.
-
-2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
-
- 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.
-
-2009-07-01 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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 "".)
-
-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.
-
-2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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.
-
-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.
-
-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.
-
-2009-06-16 Andrew Haley <aph@redhat.com>
-
- * configure.ac (TARGETDIR): Add missing blank lines.
- * configure: Regenerate.
-
-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.
-
-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.
-
-2009-06-12 Andrew Haley <aph@redhat.com>
-
- * Makefile.am: Remove info_TEXINFOS.
-
-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-11 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * 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.
-
-2009-06-09 Andrew Haley <aph@redhat.com>
-
- * src/x86/freebsd.S: Add missing file.
-
-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).
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * README: Import from libffi 3.0.8.
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Add xfails.
- * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
- * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
- * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
- * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
- * testsuite/libffi.call/stret_medium.c: Likewise.
- * testsuite/libffi.call/stret_large2.c: Likewise.
- * testsuite/libffi.call/stret_large.c: Likewise.
-
-2008-12-26 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_align_longdouble.c,
- testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
- failures on x86_64 cygwin/mingw.
-
-2008-12-22 Timothy Wall <twall@users.sf.net>
-
- * 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_loc_fn0.c,
- testsuite/libffi.call/closure_stdcall.c,
- testsuite/libffi.call/cls_align_pointer.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
- pointer to integer (intptr_t).
- * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_dbls_struct.c,
- testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c,
- testsuite/libffi.call/err_bad_abi.c: Clean up failures from
- compiler warnings.
-
-2008-03-04 Anthony Green <green@redhat.com>
- Blake Chaffin
- hos@tamanegi.org
-
- * testsuite/libffi.call/cls_align_longdouble_split2.c
- testsuite/libffi.call/cls_align_longdouble_split.c
- testsuite/libffi.call/cls_dbls_struct.c
- testsuite/libffi.call/cls_double_va.c
- testsuite/libffi.call/cls_longdouble.c
- testsuite/libffi.call/cls_longdouble_va.c
- testsuite/libffi.call/cls_pointer.c
- testsuite/libffi.call/cls_pointer_stack.c
- testsuite/libffi.call/err_bad_abi.c
- testsuite/libffi.call/err_bad_typedef.c
- testsuite/libffi.call/stret_large2.c
- testsuite/libffi.call/stret_large.c
- testsuite/libffi.call/stret_medium2.c
- testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
- libffi.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
- stdcall changes.
-
-2008-02-26 Anthony Green <green@redhat.com>
- Thomas Heller <theller@ctypes.org>
-
- * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
- comment.
-
-2008-02-03 Timothy Wall <twall@users.sf.net>
-
- * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
- offset based on code pointer, not data pointer.
-
-2008-01-31 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
- closures.
- * src/x86/ffitarget.h: Increase size of trampoline for stdcall
- closures.
- * src/x86/win32.S: Add assembly for stdcall closure.
- * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Change void (*)() to void (*)(void).
- * src/x86/ffi.c: Likewise.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ppc_closure.S: Insert licence header.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/m68k/sysv.S: Likewise.
-
- * src/sh64/ffi.c: Change void (*)() to void (*)(void).
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/m32r/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi64.c: Likewise.
- * src/alpha/ffi.c: Likewise.
- * src/alpha/osf.S: Likewise.
- * src/frv/ffi.c: Likewise.
- * src/s390/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/pa/hpux32.S: Likewise.
- * src/ia64/unix.S: Likewise.
- * src/ia64/ffi.c: Likewise.
- * src/sparc/ffi.c: Likewise.
- * src/mips/ffi.c: Likewise.
- * src/sh/ffi.c: Likewise.
-
-2008-02-15 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
- Define (conditionally), and use it to include cachectl.h.
- (ffi_prep_closure_loc): Fix cache flushing.
- * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- include/ffi.h.in,
- src/arm/ffitarget.h,
- src/arm/ffi.c,
- src/arm/sysv.S,
- src/powerpc/ffitarget.h,
- src/closures.c,
- src/sh64/ffitarget.h,
- src/sh64/ffi.c,
- src/sh64/sysv.S,
- src/types.c,
- src/x86/ffi64.c,
- src/x86/ffitarget.h,
- src/x86/win32.S,
- src/x86/darwin.S,
- src/x86/ffi.c,
- src/x86/sysv.S,
- src/x86/unix64.S,
- src/alpha/ffitarget.h,
- src/alpha/ffi.c,
- src/alpha/osf.S,
- src/m68k/ffitarget.h,
- src/frv/ffitarget.h,
- src/frv/ffi.c,
- src/s390/ffitarget.h,
- src/s390/sysv.S,
- src/cris/ffitarget.h,
- src/pa/linux.S,
- src/pa/ffitarget.h,
- src/pa/ffi.c,
- src/raw_api.c,
- src/ia64/ffitarget.h,
- src/ia64/unix.S,
- src/ia64/ffi.c,
- src/ia64/ia64_flags.h,
- src/java_raw_api.c,
- src/debug.c,
- src/sparc/v9.S,
- src/sparc/ffitarget.h,
- src/sparc/ffi.c,
- src/sparc/v8.S,
- src/mips/ffitarget.h,
- src/mips/n32.S,
- src/mips/o32.S,
- src/mips/ffi.c,
- src/prep_cif.c,
- src/sh/ffitarget.h,
- src/sh/ffi.c,
- src/sh/sysv.S: Update license text.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * src/x86/win32.S (_ffi_closure_STDCALL): New function.
- (.eh_frame): Add FDE for it.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * configure.ac: Also check if assembler supports pc-relative
- relocs on X86_WIN32 targets.
- * configure: Regenerate.
- * src/x86/win32.S (ffi_prep_args): Declare extern, not global.
- (_ffi_call_SYSV): Add missing function type symbol .def and
- add EH markup labels.
- (_ffi_call_STDCALL): Likewise.
- (_ffi_closure_SYSV): Likewise.
- (_ffi_closure_raw_SYSV): Likewise.
- (.eh_frame): Add hand-crafted EH data.
-
-2009-04-09 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
- version 3 of the GNU General Public License and to point readers
- at the COPYING3 file and the FSF's license web page.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-12-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libffi/26048
- * configure.ac (HAVE_AS_X86_PCREL): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
- RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
- RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
- * src/x86/unix64.S (.Lstore_table): Move to .text section.
- (.Lload_table): Likewise.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
- signed/unsigned int8/16 return values.
- * src/sparc/v8.S (ffi_call_v8): Likewise.
- (ffi_closure_v8): Likewise.
-
-2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
- Steve Ellcey <sje@cup.hp.com>
-
- * configure: Regenerate for new libtool.
- * Makefile.in: Ditto.
- * include/Makefile.in: Ditto.
- * aclocal.m4: Ditto.
-
-2008-08-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
- FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
- Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
- Adjust copyright notice.
- * src/powerpc/ffi.c: Add two new flags to indicate if we have one
- register or two register to use for FFI_SYSV structs.
- (ffi_prep_cif_machdep): Pass the right register flag introduced above.
- (ffi_closure_helper_SYSV): Fix the return type for
- FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
- Adjust copyright notice.
-
-2008-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
- int.
-
-2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2008-06-07 Joseph Myers <joseph@codesourcery.com>
-
- * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
- powerpc-*-beos*): Remove.
- * configure: Regenerate.
-
-2008-05-09 Julian Brown <julian@codesourcery.com>
-
- * Makefile.am (LTLDFLAGS): New.
- (libffi_la_LDFLAGS): Use above.
- * Makefile.in: Regenerate.
-
-2008-04-18 Paolo Bonzini <bonzini@gnu.org>
-
- PR bootstrap/35457
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2008-03-26 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add .note.GNU-stack on Linux.
- * src/sh64/sysv.S: Likewise.
-
-2008-03-26 Daniel Jacobowitz <dan@debian.org>
-
- * src/arm/sysv.S: Fix ARM comment marker.
-
-2008-03-26 Jakub Jelinek <jakub@redhat.com>
-
- * src/alpha/osf.S: Add .note.GNU-stack on Linux.
- * src/s390/sysv.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
- * src/x86/unix64.S: Likewise.
- * src/x86/sysv.S: Likewise.
- * src/sparc/v8.S: Likewise.
- * src/sparc/v9.S: Likewise.
- * src/m68k/sysv.S: Likewise.
- * src/arm/sysv.S: Likewise.
-
-2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * aclocal.m4: Regenerate.
- * configure: Likewise.
- * Makefile.in: Likewise.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2008-02-12 Bjoern Koenig <bkoenig@alpha-tierchen.de>
- Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-freebsd* target.
- * configure: Regenerate.
-
-2008-01-30 H.J. Lu <hongjiu.lu@intel.com>
-
- PR libffi/34612
- * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
- returning struct.
-
- * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
- tests.
-
-2008-01-24 David Edelsohn <edelsohn@gnu.org>
-
- * configure: Regenerate.
-
-2008-01-06 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
-
-2008-01-05 Andreas Tobler <a.tobler@schweiz.org>
-
- PR testsuite/32843
- * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
- signed/unsigned int8/16 for X86_DARWIN.
- Updated copyright info.
- Handle one and two byte structs with special cif->flags.
- * src/x86/ffitarget.h: Add special types for one and two byte structs.
- Updated copyright info.
- * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
- sysv.S
- Remove code to pop args from the stack after call.
- Special-case signed/unsigned for int8/16, one and two byte structs.
- (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
- FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
- FFI_TYPE_SINT32.
- Updated copyright info.
-
-2007-12-08 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_call_N32): Replace dadd with ADDU, dsub with
- SUBU, add with ADDU and use smaller code sequences.
-
-2007-12-07 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
- type.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
- defined.
- (ffi_java_raw): New typedef.
- (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
- ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
- ffi_java_raw.
- (ffi_java_raw_closure) : Same.
- (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
- parameter types.
- * src/java_raw_api.c (ffi_java_raw_size): Replace FFI_SIZEOF_ARG with
- FFI_SIZEOF_JAVA_RAW.
- (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
- Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
- sizeof(ffi_java_raw) for alignment calculations.
- (ffi_java_ptrarray_to_raw): Same.
- (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
- if FFI_SIZEOF_JAVA_RAW == 4.
- (ffi_java_raw_to_rvalue): Same.
- (ffi_java_raw_call): Change type of raw to ffi_java_raw.
- (ffi_java_translate_args): Same.
- (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
- parameter types.
- * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
- pointer values.
-
-2007-12-01 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/31937
- * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
- Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
- * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
- set the NUM_FPR_ARG_REGISTERS according to.
- Add support for potential soft-float support under hard-float
- architecture.
- (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
- FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
- to the FFI_LINUX_SOFT_FLOAT ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Make sure not to store float/double
- on archs where __NO_FPRS__ is true.
- Add FFI_TYPE_UINT128 support.
- * src/powerpc/sysv.S: Add support for soft-float long-double-128.
- Adjust copyright notice.
-
-2007-11-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
- * include/ffi_common.h: ... here.
- Update copyright.
-
-2007-11-17 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
- * testsuite/libffi.call/return_ldl.c: New test.
-
-2007-09-04 <aph@redhat.com>
-
- * src/arm/sysv.S (UNWIND): New.
- (Whole file): Conditionally compile unwinder directives.
- * src/arm/sysv.S: Add unwinder directives.
-
- * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
- Only treat r0 as a struct address if we're actually returning a
- struct by address.
- Only copy the bytes that are actually within a struct.
- (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
- is returned in r0, not passed by address.
- (ffi_call): Allocate a word-sized temporary for the case where
- a composite is returned in r0.
- (ffi_prep_incoming_args_SYSV): Align as necessary.
-
-2007-08-05 Steven Newbury <s_j_newbury@yahoo.co.uk>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
- directly using the sys_cacheflush syscall.
-
-2007-07-27 Andrew Haley <aph@redhat.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
-
-2007-09-03 Maciej W. Rozycki <macro@linux-mips.org>
-
- * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure: Likewise.
-
-2007-08-24 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/return_sl.c: New test.
-
-2007-08-10 David Daney <ddaney@avtrex.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/nested_struct5.c,
- testsuite/libffi.call/cls_double.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/nested_struct.c,
- testsuite/libffi.call/cls_2byte.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_sint16.c,
- testsuite/libffi.call/cls_align_uint32.c,
- testsuite/libffi.call/cls_20byte.c,
- testsuite/libffi.call/cls_float.c,
- testsuite/libffi.call/nested_struct2.c,
- testsuite/libffi.call/cls_5_1_byte.c,
- testsuite/libffi.call/nested_struct4.c,
- testsuite/libffi.call/cls_24byte.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: Remove xfail for mips64*-*-*.
-
-2007-08-10 David Daney <ddaney@avtrex.com>
-
- 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.
-
-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*.
- * 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.
-
-2006-12-13 Andreas Tobler <a.tobler@schweiz.org>
-
- * aclocal.m4: Regenerate with aclocal -I .. as written in the
- Makefile.am.
-
-2006-10-31 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
- (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
- Darwin.
- * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
- * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10 Paolo Bonzini <bonzini@gnu.org>
- Sandro Tolaini <tolaini@libero.it>
-
- * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
- conditional.
- * configure: Regenerated.
- * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
- (EXTRA_DIST): Add src/x86/darwin.S.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
- X86_WIN32, and additionally align stack to 16 bytes.
- * src/x86/darwin.S: New, based on sysv.S.
- * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12 David Daney <ddaney@avtrex.com>
-
- PR libffi/23935
- * include/Makefile.am: Install both ffi.h and ffitarget.h in
- $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
- * aclocal.m4: Regenerated for automake 1.9.6.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
-2006-08-17 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h: Remove lint directives.
- * include/ffi.h.in: Likewise.
-
-2006-07-25 Torsten Schoenfeld <kaffeetisch@gmx.de>
-
- * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
- for 32-bit architectures.
- * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
- xfail remains for mips64.
-
-2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
-
- * Makefile.am: Add install-html target. Add install-html to .PHONY
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
- stack slot.
-
-2006-04-22 Andreas Tobler <a.tobler@schweiz.ch>
-
- * README: Remove notice about 'Crazy Comments'.
- * src/debug.c: Remove lint directives. Cleanup white spaces.
- * src/java_raw_api.c: Likewise.
- * src/prep_cif.c: Likewise.
- * src/raw_api.c: Likewise.
- * src/ffitest.c: Delete. No longer needed, all test cases migrated
- to the testsuite.
- * src/arm/ffi.c: Remove lint directives.
- * src/m32r/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/sh/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/pa/hpux32.S: Correct unwind offset calculation for
- ffi_closure_pa32.
- * src/pa/linux.S: Likewise.
-
-2006-04-12 James E Wilson <wilson@specifix.com>
-
- PR libgcj/26483
- * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
- (hfa_type_load): Call stf_spill.
- (hfa_type_store): Call ldf_fill.
- (ffi_call): Adjust calls to above routines. Add local temps for
- macro result.
-
-2006-04-10 Matthias Klose <doko@debian.org>
-
- * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
- directory names containing underscores.
-
-2006-04-07 James E Wilson <wilson@specifix.com>
-
- * testsuite/libffi.call/float4.c: New testcase.
-
-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.
-
-2006-03-24 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Default
- for 32-bit using IBM extended double format. Fix FFI_LAST_ABI.
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
- FFI_TYPE_LONGDOUBLE.
- (ffi_prep_args64): Assert using IBM extended double.
- (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
- Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
- (ffi_call): Handle FFI_LINUX.
- (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
- gpr3 return pointer as for struct return. Handle FFI_LINUX
- FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf"
- unnecessarily.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
- for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table.
- Don't use r6 as pointer to results, instead use sp offset. Don't
- make a special call to load lr with case table address, instead
- use offset from previous call.
- * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
- return.
-
-2006-03-15 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
- passed with FP registers correctly.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S: Likewise.
-
-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.
-
-2006-02-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
- -O2, -O3, -Os and the warning flags -W -Wall.
- * testsuite/libffi.special/special.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
- unused parameter unused for gcc or else do nothing.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
- * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
- * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
- * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
- * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
- * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
- * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
- * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
- * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
- void* to avoid compiler warning.
- (main): Likewise.
- (cls_struct_align_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
- * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
- * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
- userdata unused.
- (cls_ret_schar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
- userdata unused.
- (cls_ret_sint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
- userdata unused.
- (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn): Mark cif and
- userdata unused.
- (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
- userdata unused.
- (cls_ret_uint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
- userdata unused.
- (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
- * testsuite/libffi.call/float1.c (main): Remove unused variable i.
- Cleanup white spaces.
- * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
- * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
- cif and userdata unused.
- * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
- Likewise.
- * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
- formatters to silence gcc.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct4.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct6.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
- * testsuite/libffi.call/problem1.c (stub): Likewise.
- * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
- gcc.
- * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
- in the last commit for this test case in the test case itself.
- * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
- unused.
- * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
- * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
- * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
- * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
- * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
- * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Fix register numbers in the FDE for
- ffi_closure_SYSV.
-
-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.
-
-2006-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
- and cast integer to void * if needed. Update the pointer to
- the FP register saved area correctly.
-
-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.
-
-2006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/return_dbl.c: New test case.
- * testsuite/libffi.call/return_dbl1.c: Likewise.
- * testsuite/libffi.call/return_dbl2.c: Likewise.
- * testsuite/libffi.call/return_fl.c: Likewise.
- * testsuite/libffi.call/return_fl1.c: Likewise.
- * testsuite/libffi.call/return_fl2.c: Likewise.
- * testsuite/libffi.call/return_fl3.c: Likewise.
- * testsuite/libffi.call/closure_fn6.c: Likewise.
-
- * 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.
-
-2006-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.ac: Enable libffi for sparc64-*-freebsd*.
- * configure: Rebuilt.
-
-2006-01-18 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
- instead do the shifting inline.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
- shift count unconditionally. Simplify load sequences for 1, 2, 3, 4
- and 8 byte structs, for the remaining struct sizes don't call
- __lshrdi3, instead do the shifting inline.
-
-2005-12-07 Thiemo Seufer <ths@networkno.de>
-
- * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
- missing parentheses.
- * src/mips/o32.S (ffi_call_O32): Code formatting. Define
- and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
- (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
- A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
- V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
- FA_0_0_OFF2.
- * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
- endianness bugs.
- (ffi_prep_closure): Improve trampoline instruction scheduling.
- (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c: Formatting.
- (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
- (ffi_prep_args64): Likewise.
-
-2005-09-30 Geoffrey Keating <geoffk@apple.com>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
- darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26 Tom Tromey <tromey@redhat.com>
-
- * 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.
-
-2005-08-25 Alan Modra <amodra@bigpond.net.au>
-
- PR target/23404
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
- homed fp args.
- (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11 Jakub Jelinek <jakub@redhat.com>
-
- * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
- (AH_BOTTOM): Add FFI_HIDDEN definition.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * src/powerpc/ffi.c (hidden): Remove.
- (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
- ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
- .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
- * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
- add FFI_HIDDEN to its prototype.
- (ffi_closure_SYSV_inner): New.
- * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
- * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10 Alfred M. Szmidt <ams@gnu.org>
-
- PR libffi/21819:
- * configure: Rebuilt.
- * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
- DW_CFA_offset_extended_sf rather than
- DW_CFA_GNU_negative_offset_extended.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
-
- * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
- on sh3.
- (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
- * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
- partially on register.
- (ffi_closure_helper_SYSV): Likewise.
- (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_call): Handle small structures correctly.
- Remove empty line.
- * src/sh64/ffi.c (simple_type): Remove.
- (return_type): Handle small structures correctly.
- (ffi_prep_args): Likewise.
- (ffi_call): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
- Emit position independent code if PIC and remove wrong datalabel
- prefixes from EH data.
-
-2005-07-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure.ac: Add POWERPC_FREEBSD rules.
- * configure: Regenerate.
- * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
- (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
- * src/powerpc/ffi.c: Add flags to handle small structure returns
- in ffi_call_SYSV.
- (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
- Aka FFI_SYSV.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Add return types for small structures.
- * src/powerpc/sysv.S: Add bits to handle small structures for
- final SYSV 4 ABI.
-
-2005-07-10 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_5_1_byte.c: New test file.
- * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05 Randolph Chung <tausq@debian.org>
-
- * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
- as FFI_TYPE_SMALL_STRUCT3. Break out handling for 5-7 byte
- structures. Kill compilation warnings.
- (ffi_closure_inner_LINUX): Print return values as hex in debug
- message. Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
- Properly handle 5-7 byte structure returns.
- * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
- (FFI_TYPE_SMALL_STRUCT2): Remove.
- (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
- (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
- * src/pa/linux.S: Mark source file as using PA1.1 assembly.
- (checksmst1, checksmst2): Remove.
- (checksmst3): Optimize handling of 3-byte struct returns.
- (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libgcj/21943
- * src/mips/n32.S: Enforce PIC code.
- * src/mips/o32.S: Likewise.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
- * configure: Regenerate.
-
-2005-06-01 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
- to call ffi_closure_helper_SYSV. Append @local instead.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
- Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
- * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
- * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
- include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-05-08 Richard Henderson <rth@redhat.com>
-
- PR libffi/21285
- * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04 Andreas Degert <ad@papyrus-gmbh.de>
- Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
- bit 11 of flags.
- (ffi_call): Mask return type field. Pass ssecount to ffi_call_unix64.
- (ffi_prep_closure): Set carry bit if sse-used flag set.
- * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
- Only load sse registers if ssecount non-zero.
- (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
- powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
- * configure: Regenerate.
-
-2005-04-20 Hans-Peter Nilsson <hp@axis.com>
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
- have Tcl8.3-compatible intermediate variable.
-
-2005-04-18 Simon Posnjak <simon.posnjak@siol.net>
- Hans-Peter Nilsson <hp@axis.com>
-
- * Makefile.am: Add CRIS support.
- * configure.ac: Likewise.
- * Makefile.in, configure, testsuite/Makefile.in,
- include/Makefile.in: Regenerate.
- * src/cris: New directory.
- * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
- * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
- \r?\n in output tests.
-
-2005-04-12 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-03-30 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30 Steve Ellcey <sje@cup.hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
- (ffi_sarg) Ditto.
- * src/ia64/unix.S (ffi_closure_unix): Extend gp
- to 64 bits in ILP32 mode.
- Load 64 bits even for short data.
-
-2005-03-23 Mike Stump <mrs@apple.com>
-
- * src/powerpc/darwin.S: Update for -m64 multilib.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21 Zack Weinberg <zack@codesourcery.com>
-
- * 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.
-
-2005-02-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
- odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR libffi/20104
- * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11 Janis Johnson <janis187@us.ibm.com>
-
- * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
- * testsuite/libffi.call/float.c: Ditto.
- * testsuite/libffi.call/float2.c: Ditto.
- * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * testsuite/libffi.special/special.exp (cxx_options): Add
- -shared-libgcc.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
- (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
- offset parameters with a type parameter; deduce size and structure
- alignment. Update all users.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
- (FFI_TYPE_LONGDOUBLE): Fix for ia64.
- * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
- into ffi_prep_closure.
- * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
- from scratch.
-
-2004-12-27 Richard Henderson <rth@redhat.com>
-
- * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25 Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
- (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
- (merge_classes): Check for it.
- (SSE_CLASS_P): New.
- (classify_argument): Pass byte_offset by value; perform all updates
- inside struct case.
- (examine_argument): Add classes argument; handle
- X86_64_COMPLEX_X87_CLASS.
- (ffi_prep_args): Merge into ...
- (ffi_call): ... here. Share stack frame with ffi_call_unix64.
- (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
- (ffi_fill_return_value): Remove.
- (ffi_prep_closure): Remove dead assert.
- (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
- Rewrite to use struct register_args instead of va_list. Create
- flags for handling structure returns.
- * src/x86/unix64.S: Remove dead strings.
- (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share
- stack frame with ffi_call. Handle structure returns properly.
- (float2sse, floatfloat2sse, double2sse): Remove.
- (sse2float, sse2double, sse2floatfloat): Remove.
- (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite
- to handle structure returns properly.
-
-2004-12-08 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
- PICFLAG.
- * Makefile.in: Regenerated.
-
-2004-12-02 Richard Sandiford <rsandifo@redhat.com>
-
- * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
- * configure, aclocal.m4, Makefile.in: Regenerate.
- * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-25 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool reversion.
-
-2004-11-24 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23 Richard Sandiford <rsandifo@redhat.com>
-
- * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
- of jal. Use an absolute encoding for the frame information.
-
-2004-11-23 Kelley Cook <kcook@gcc.gnu.org>
-
- * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS.
- * acinclude.m4: Delete logic for sincludes.
- * aclocal.m4, Makefile.in, configure: Regenerate.
- * include/Makefile: Likewise.
- * testsuite/Makefile: Likewise.
-
-2004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
- on a 8-byte boundary.
- * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
- long long values. Round stack allocation to a multiple of 8 bytes
- for ATPCS compatibility.
- * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
- names. Handle returning long long types. Add Thumb and interworking
- support. Improve soft-float code.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
- (libffi_exit): New function.
- (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR other/18138
- * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
- * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
- the function returning a structure pointed with R2.
- * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
- the structure return value if T bit set. Emit position
- independent code and EH data if PIC.
-
-2004-10-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * Makefile.am: Add m32r support.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * confiugre: Regenerate.
- * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
- (uint64, sint64, double, longdouble)
- * src/m32r: New directory.
- * src/m32r/ffi.c: New file.
- * src/m32r/sysv.S: Likewise.
- * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * testsuite/libffi.call/negint.c: New test case.
-
-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.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/many_win32.c: Remove whitespaces.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
- whitespaces.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Fix comments and identation.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
- (ffi_prep_args): Handle longdouble arguments.
- (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
- longdouble.
- (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
- * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
- values.
- * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
- * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/aix.S: Remove whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
- * src/powerpc/asm.h: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffitarget.h: Likewise.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
-
-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.in: Read configure.host.
- * 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 shouldn't 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.
-
-2004-08-24 David Daney <daney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
- to zero.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23 David Daney <daney@avtrex.com>
-
- PR libgcj/13141
- * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
- * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
- (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
- parameters and return types.
- (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
- (ffi_prep_closure): Ditto.
- (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
- alignment calculations.
- * src/mips/o32.S (ffi_closure_O32): Don't use floating point
- instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14 Casey Marshall <csm@gnu.org>
-
- * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
- contain `FFI_TYPE_UINT64' as return type for any 64-bit
- integer (O32 ABI only).
- (ffi_prep_closure): new function.
- (ffi_closure_mips_inner_O32): new function.
- * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
- `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
- * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
- 64 bit integers correctly.
- (ffi_closure_O32): new function.
- Added DWARF-2 unwind info for both functions.
-
-2004-08-10 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01 Robert Millan <robertmh@gnu.org>
-
- * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
- * configure: Regenerate.
-
-2004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
-
- * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
- and mmap() explicitly instead of relying on preset autoconf cache
- variables.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
- (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
- character on Darwin, use '\n\t' instead.
-
-2004-06-26 Matthias Klose <doko@debian.org>
-
- * libtool-version: Fix typo in revision/age.
-
-2004-06-17 Matthias Klose <doko@debian.org>
-
- * libtool-version: New.
- * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
- * Makefile.in: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * Makefile.am: Remove useless multilib rules.
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate with automake 1.8.5.
- * configure.ac: Remove useless multilib configury.
- * configure: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * .cvsignore: New file.
-
-2004-06-10 Jakub Jelinek <jakub@redhat.com>
-
- * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
- fp_done.
- (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
- changed from 8.
-
-2004-06-06 Sean McNeil <sean@mcneil.com>
-
- * configure.ac: Add x86_64-*-freebsd* support.
- * configure: Regenerate.
-
-2004-04-26 Joe Buck <jbuck@welsh-buck.org>
-
- Bug 15093
- * configure.ac: Test for existence of mmap and sys/mman.h before
- checking blacklist. Fix suggested by Jim Wilson.
- * configure: Regenerate.
-
-2004-04-26 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
- FDE location.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
- error. Reported by Thomas Heller <theller@python.net>.
- * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20 Matthias Klose <doko@debian.org>
-
- * src/pa/linux.S: Fix typo.
-
-2004-03-19 Matthias Klose <doko@debian.org>
-
- * Makefile.am: Update.
- * Makefile.in: Regenerate.
- * src/pa/ffi.h.in: Remove.
- * src/pa/ffitarget.h: New file.
-
-2004-02-10 Randolph Chung <tausq@debian.org>
-
- * Makefile.am: Add PA support.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * configure.ac: Add PA target.
- * configure: Regenerate.
- * src/pa/ffi.c: New file.
- * src/pa/ffi.h.in: Add PA support.
- * src/pa/linux.S: New file.
- * prep_cif.c: Add PA support.
-
-2004-03-16 Hosaka Yuji <hos@tamanegi.org>
-
- * src/types.c: Fix alignment size of X86_WIN32 case int64 and
- double.
- * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
- with ecif->cif->flags.
- (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
- with cif->flags.
- (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
- (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
- * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
- sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.in: Rename file to ...
- * configure.ac: ... this.
- * fficonfig.h.in: Regenerate.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2004-03-12 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Fix EH information so it corresponds to
- changes in EH format resulting from addition of linkonce support.
- * src/powerpc/darwin_closure.S: Likewise.
-
-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.
-
-2004-03-11 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
- arguments from fp registers only for the first 8 parameter slots.
- Don't convert a float parameter when passed in memory.
-
-2004-03-09 Hans-Peter Nilsson <hp@axis.com>
-
- * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
-
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
- ecif->cif->bytes to bytes.
- (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
- * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
- (ffi_closure_helper_LINUX64): Fix typo.
- * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
- for powerpc64-*-*.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
- long double function return and long double arg handling.
- (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
- Use "end_pfr" instead of "nf". Correct long double handling.
- Localise "temp".
- * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
- return value.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
- space for long double return value. Adjust stack frame and offsets.
- Load f2 long double return.
-
-2004-02-07 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
- when the structure return address is passed in %o0.
- (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
- (ffi_v9_layout_struct): Align the field following a nested structure
- on a word boundary. Use memmove instead of memcpy.
- (ffi_call): Update call to ffi_V9_return_struct.
- (ffi_prep_closure): Define 'ctx' only for V8.
- (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
- and ffi_closure_sparc_inner_v9.
- (ffi_closure_sparc_inner_v8): Return long doubles by reference.
- Always skip the structure return address. For structures and long
- doubles, copy the argument directly.
- (ffi_closure_sparc_inner_v9): Skip the structure return address only
- if required. Shift the maximum floating-point slot accordingly. For
- big structures, copy the argument directly; otherwise, left-justify the
- argument and call ffi_v9_layout_struct to lay out the structure on
- the stack.
- * src/sparc/v8.S: Undef STACKFRAME before defining it.
- (ffi_closure_v8): Pass the structure return address. Update call to
- ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
- Skip the 'unimp' insn when returning long doubles and structures.
- * src/sparc/v9.S: Undef STACKFRAME before defining it.
- (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
- FFI_TYPE_INT handling. Load structures both in integers and
- floating-point registers on return.
- * README: Update status of the SPARC port.
-
-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.
-
-2004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
-
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
- value as of type ffi_arg, not unsigned int.
-
-2004-01-21 Michael Ritzert <ritzert@t-online.de>
-
- * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
- of the LHS.
-
-2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
- Solaris.
-
-2004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
- to void *.
-
-2003-12-10 Richard Henderson <rth@redhat.com>
-
- * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
- size_t instead of int.
-
-2003-12-04 Hosaka Yuji <hos@tamanegi.org>
-
- * testsuite/libffi.call/many_win32.c: Include <float.h>.
- * testsuite/libffi.call/many_win32.c (main): Replace variable
- int i with unsigned long ul.
-
- * testsuite/libffi.call/cls_align_uint64.c: New test case.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02 Hosaka Yuji <hos@tamanegi.org>
-
- PR other/13221
- * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
- Align arguments to 32 bits.
-
-2003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR other/13221
- * testsuite/libffi.call/cls_multi_sshort.c: New test case.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-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.
-
-2003-11-21 Andreas Jaeger <aj@suse.de>
- Andreas Tobler <a.tobler@schweiz.ch>
-
- * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
- * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
- * Makefile.in: Rebuilt.
- * aclocal.m4: Likewise.
- * configure: Likewise.
- * fficonfig.h.in: Likewise.
- * testsuite/lib/libffi-dg.exp: Add include dir.
- * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
- for ffi_closure if available.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
- Add -lgcc_s to additional flags.
-
-2003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.in, include/Makefile.am: PR libgcj/11147, install
- the ffitarget.h header file in a gcc versioned and target
- dependent place.
- * configure: Regenerated.
- * Makefile.in, include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Print result and check
- with dg-output to make debugging easier.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
- static.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_9byte2.c: New test case.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_double.c: Do a check on the result.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/prep_cif.c (ffi_prep_cif): Move the validity check after
- the initialization.
-
-2003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
- FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
- __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-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
-
-2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
- _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
- Used when FFI_DEBUG = 1.
-
-2003-10-14 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
- and align.
-
-2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
- FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
- SPARC64. Cleanup whitespaces.
-
-2003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
- strongarm, xscale. Cleanup whitespaces.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Cleanup whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
- * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
- parameter stack.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
- according to the Darwin/AIX ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_DARWIN): Likewise.
- Remove the outgoing parameter stack logic. Simplify the evaluation
- of the different CASE types.
- (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
- statement in the trampoline code.
-
-2003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
- for the register size.
- (ffi_closure_helper_SYSV): Handle the structure return value
- address correctly.
- (ffi_closure_helper_SYSV): Return the appropriate type when
- the registers are used for the structure return value.
- * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
- the 64-bit return value. Update copyright years.
-
-2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
- srcdir for ffi_mips.h.
-
-2003-09-12 Alan Modra <amodra@bigpond.net.au>
-
- * src/prep_cif.c (initialize_aggregate): Include tail padding in
- structure size.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
- placement of float result.
- * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
- cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Merge identical SH and ARM
- typedefs, and add POWERPC64.
- * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
- struct split over gpr and rest.
- (ffi_prep_cif_machdep): Correct intarg_count for structures.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
- passing correctly.
-
-2003-09-09 Alan Modra <amodra@bigpond.net.au>
-
- * configure: Regenerate.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Remove build rules for ffitest.
- * Makefile.in: Rebuilt.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
- about implicit declaration of abort().
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
- * Makefile.in: Rebuilt.
- * configure.in: Add dejagnu test framework.
- * configure: Rebuilt.
-
- * testsuite/Makefile.am: New file.
- * testsuite/Makefile.in: Built
- * testsuite/lib/libffi-dg.exp: New file.
- * testsuite/config/default.exp: Likewise.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Likewise.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float1.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/many.c: Likewise.
- * testsuite/libffi.call/many_win32.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
- * testsuite/libffi.call/strlen.c: Likewise.
- * testsuite/libffi.call/strlen_win32.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
- * testsuite/libffi.call/struct2.c: Likewise.
- * testsuite/libffi.call/struct3.c: Likewise.
- * testsuite/libffi.call/struct4.c: Likewise.
- * testsuite/libffi.call/struct5.c: Likewise.
- * testsuite/libffi.call/struct6.c: Likewise.
- * testsuite/libffi.call/struct7.c: Likewise.
- * testsuite/libffi.call/struct8.c: Likewise.
- * testsuite/libffi.call/struct9.c: Likewise.
- * testsuite/libffi.special/special.exp: New file.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
- copyright years.
-
-2003-08-02 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
- structure passing.
- (ffi_closure_helper_LINUX64): Likewise.
- * src/powerpc/linux64.S: Remove code writing to parm save area.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
- address in lr from ffi_closure_helper_LINUX64 call to calculate
- table address. Optimize function tail.
-
-2003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/sparc/ffi.c: Handle all floating point registers.
- * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
-
- * README: Note that libffi is not part of GCC. Update the project
- URL and status.
-
-2003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
- Use C style comments.
-
-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
- should be read-only.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * include/ffi.h.in (EH_FRAME_FLAGS): Define.
- * src/alpha/osf.S: Use EH_FRAME_FLAGS.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
- * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
- if -fpic/-fPIC/-mrelocatable.
- * src/powerpc/powerpc_closure.S: Likewise.
- * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
- #write in .eh_frame flags.
- * src/sparc/v9.S: Likewise.
- * src/x86/unix64.S: Use EH_FRAME_FLAGS.
- * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
- * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
-
-2003-05-07 Jeff Sturm <jsturm@one-point.com>
-
- Fixes PR bootstrap/10656
- * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
- support for .register pseudo-op.
- * src/sparc/v8.S: Use it.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2003-04-18 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (POWERPC64): Define if 64-bit.
- (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
- Make it the default on POWERPC64.
- (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
- * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
- * configure: Rebuilt.
- * src/powerpc/ffi.c (hidden): Define.
- (ffi_prep_args_SYSV): Renamed from
- ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
- (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
- ASM_NEEDS_REGISTERS64): New.
- (ffi_prep_args64): New function.
- (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
- (ffi_call): Likewise.
- (ffi_prep_closure): Likewise.
- (flush_icache): Surround by #ifndef POWERPC64.
- (ffi_dblfl): New union type.
- (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
- (ffi_closure_helper_LINUX64): New function.
- * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
- __powerpc64__.
- * src/powerpc/sysv.S: Likewise.
- (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
- * src/powerpc/linux64.S: New file.
- * src/powerpc/linux64_closure.S: New file.
- * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
- src/powerpc/linux64_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
- * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
- closure_test_fn3): Fix result printing on big-endian 64-bit
- machines.
- (main): Print tst2_arg instead of uninitialized tst2_result.
-
- * src/ffitest.c (main): Hide what closure pointer really points to
- from the compiler.
-
-2003-04-16 Richard Earnshaw <rearnsha@arm.com>
-
- * configure.in (arm-*-netbsdelf*): Add configuration.
- (configure): Regenerated.
-
-2003-04-04 Loren J. Rittle <ljrittle@acm.org>
-
- * include/Makefile.in: Regenerate.
-
-2003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
-
- * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
- bit mode.
- * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
- Receive closure pointer through parameter, read args using
- __builtin_dwarf_cfa.
- (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12 Andreas Schwab <schwab@suse.de>
-
- * configure.in: Avoid trailing /. in toolexeclibdir.
- * configure: Rebuilt.
-
-2003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/powerpc/darwin_closure.S:
- Fix alignement bug, allocate 8 bytes for the result.
- * libffi/src/powerpc/aix_closure.S:
- Likewise.
- * libffi/src/powerpc/ffi_darwin.c:
- Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06 Jakub Jelinek <jakub@redhat.com>
-
- * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
- attribute.
-
-2003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
- Andreas Schwab <schwab@suse.de>
-
- * configure.in: Adjust command to source config-ml.in to account
- for changes to the libffi_basedir definition.
- (libffi_basedir): Remove ${srcdir} from value and include trailing
- slash if nonempty.
-
- * configure: Regenerate.
-
-2003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
- * src/x86/ffi64.c (ffi_prep_closure): New.
- (ffi_closure_UNIX64_inner): New.
- * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
- Remove USE_LIBDIR conditional.
- * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
- * Makefile.in, configure: Rebuilt.
-
-2003-01027 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
- * Makefile.in: Regenerate.
-
-2003-01-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
- unwind info.
-
-2003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Add unwind info.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
- (ffi_prep_cif_machdep): Likewise.
- * src/x86/unix64.S: Add unwind info.
-
-2003-01-14 Andreas Jaeger <aj@suse.de>
-
- * src/ffitest.c (main): Only use ffi_closures if those are
- supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/ffitest.c
- add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
- * libffi/src/powerpc/ffi.c
- fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c: Remove RCS version string.
- * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
- * src/ffitest.c (main): Use static storage for closure.
- * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
- * src/sparc/v8.S (ffi_closure_v8): New.
- * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10 Ranjit Mathew <rmathew@hotmail.com>
-
- * include/ffi.h.in: Added FFI_STDCALL ffi_type
- enumeration for X86_WIN32.
- * src/x86/win32.S: Added ffi_call_STDCALL function
- definition.
- * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
- switch cases for recognising FFI_STDCALL and
- calling ffi_call_STDCALL if target is X86_WIN32.
- * src/ffitest.c (my_stdcall_strlen/stdcall_many):
- stdcall versions of the "my_strlen" and "many"
- test functions (for X86_WIN32).
- Added test cases to test stdcall invocation using
- these functions.
-
-2002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26 Jim Wilson <wilson@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23 H.J. Lu <hjl@gnu.org>
-
- * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
- Include ../config/accross.m4.
- * aclocal.m4; Rebuild.
- * configure: Likewise.
-
-2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11 DJ Delorie <dj@redhat.com>
-
- * configure.in: Look for common files in the right place.
-
-2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
- raw data as _Jv_word values, not ffi_raw.
- (ffi_java_ptrarray_to_raw): Likewise.
- (ffi_java_rvalue_to_raw): New function.
- (ffi_java_raw_call): Call it.
- (ffi_java_raw_to_rvalue): New function.
- (ffi_java_translate_args): Call it.
- * src/ffitest.c (closure_test_fn): Interpret return value
- as ffi_arg, not int.
- * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
- FFI_TYPE_POINTER case.
- (ffi_closure_helper_SYSV): Likewise. Also, assume return
- values extended to word size.
-
-2002-10-02 Andreas Jaeger <aj@suse.de>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01 Bo Thorsen <bo@smetana.suse.de>
-
- * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
-
- * configure.in: Add s390x-*-linux-* target.
- * configure: Regenerate.
- * include/ffi.h.in: Define S390X for s390x targets.
- (FFI_CLOSURES): Define for s390/s390x.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
- * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
- * src/s390/ffi.c: Major rework of existing code. Add support for
- s390x targets. Add closure support.
- * src/s390/sysv.S: Likewise.
-
-2002-09-29 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: Fix typo.
-
-2002-09-28 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
- has defined __USER_LABEL_PREFIX__, then use it in CNAME.
- (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27 Bo Thorsen <bo@suse.de>
-
- * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * configure.in (sh[34]*-*-linux*): Add brackets.
- * configure: Regenerate.
-
-2002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * Makefile.am: Add SH support.
- * Makefile.in: Regenerate.
- * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
- * configure: Regenerate.
- * include/ffi.h.in: Add SH support.
- * src/sh/ffi.c: New file.
- * src/sh/sysv.S: New file.
- * src/types.c: Add SH support.
-
-2002-07-16 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi64.c: New file that adds x86-64 support.
- * src/x86/unix64.S: New file that handles argument setup for
- x86-64.
- * src/x86/sysv.S: Don't use this on x86-64.
- * src/x86/ffi.c: Don't use this on x86-64.
- Remove unused vars.
- * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
- for x86-64.
- * src/ffitest.c (struct6): New test that tests a special case in
- the x86-64 ABI.
- (struct7): Likewise.
- (struct8): Likewise.
- (struct9): Likewise.
- (closure_test_fn): Silence warning about this when it's not used.
- (main): Add the new tests.
- (main): Fix a couple of wrong casts and silence some compiler warnings.
- * include/ffi.h.in: Add x86-64 ABI definition.
- * fficonfig.h.in: Regenerate.
- * Makefile.am: Add x86-64 support.
- * configure.in: Likewise.
- * Makefile.in: Regenerate.
- * configure: Likewise.
-
-2002-06-24 Bo Thorsen <bo@suse.de>
-
- * src/types.c: Merge settings for similar architectures.
- Add x86-64 sizes and alignments.
-
-2002-06-23 Bo Thorsen <bo@suse.de>
-
- * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
- * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
- * src/mips/ffi.c (ffi_prep_args): Likewise.
- * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18 H.J. Lu (hjl@gnu.org)
-
- * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
- (libffi_la_SOURCES): Support MIPS_LINUX.
- (libffi_convenience_la_SOURCES): Likewise.
- * Makefile.in: Regenerated.
-
- * configure.in (mips64*-*): Skip.
- (mips*-*-linux*): New.
- * configure: Regenerated.
-
- * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
-
-2002-05-27 Roger Sayle <roger@eyesopen.com>
-
- * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
- fix formatting.
-
-2002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
- beginning of function (for older apple cc).
-
-2002-05-08 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
- script entry, and set LD to it when configuring multilibs.
- * configure: Rebuilt.
-
-2002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (sparc64-*-netbsd*): Add target.
- (sparc-*-netbsdelf*): Likewise.
- * configure: Regenerate.
-
-2002-04-28 David S. Miller <davem@redhat.com>
-
- * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
-
- * Makefile.am: Add Linux for S/390 support.
- * Makefile.in: Regenerate.
- * configure.in: Add Linux for S/390 support.
- * configure: Regenerate.
- * include/ffi.h.in: Add Linux for S/390 support.
- * src/s390/ffi.c: New file from libffi CVS tree.
- * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
- %r_disp32().
- * src/sparc/v8.S: Use it.
- * src/sparc/v9.S: Likewise.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2002-04-08 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
- correctly.
- * src/ia64/unix.S: Add unwind information. Fix comments.
- Save sp in a way that's compatible with unwind info.
- (ffi_call_unix): Correctly restore sp in all cases.
- * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08 Jakub Jelinek <jakub@redhat.com>
-
- * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (alpha*-*-netbsd*): Add target.
- * configure: Regenerate.
-
-2002-04-04 Jeff Sturm <jsturm@one-point.com>
-
- * src/sparc/v8.S: Add unwind info.
- * src/sparc/v9.S: Likewise.
-
-2002-03-30 Krister Walfridsson <cato@df.lth.se>
-
- * configure.in: Enable i*86-*-netbsdelf*.
- * configure: Rebuilt.
-
-2002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
-
- PR other/2620
- * src/mips/n32.s: Delete
- * src/mips/o32.s: Delete
-
-2002-03-21 Loren J. Rittle <ljrittle@acm.org>
-
- * configure.in: Enable alpha*-*-freebsd*.
- * configure: Rebuilt.
-
-2002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * Makefile.am: libfficonvenience -> libffi_convenience.
- * Makefile.in: Rebuilt.
-
- * Makefile.am: Define ffitest_OBJECTS.
- * Makefile.in: Rebuilt.
-
-2002-03-07 Andreas Tobler <toa@pop.agri.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
- (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
- (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
- * Makefile.in: Regenerate.
- * include/ffi.h.in: Add AIX and Darwin closure definitions.
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
- (flush_icache, flush_range): New functions.
- (ffi_closure_helper_DARWIN): New function.
- * src/powerpc/aix_closure.S: New file.
- * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add typedef for ffi_arg.
- * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21 Andreas Tobler <toa@pop.agri.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
- number of GPRs for floating-point arguments.
-
-2002-01-31 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Replace CHECK_SIZEOF and endian tests with
- cross-compiler friendly macros.
- * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
- macros.
-
-2002-01-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): New.
- * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
- (TARGET_SRC_POWERPC_AIX): New.
- (POWERPC_AIX): New stanza.
- * Makefile.in: Regenerate.
- * configure.in: Add AIX case.
- * configure: Regenerate.
- * include/ffi.h.in (ffi_abi): Add FFI_AIX.
- * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
- size. Fix "long double" support.
- (ffi_call): Add FFI_AIX case.
- * src/powerpc/aix.S: New.
-
-2001-10-09 John Hornkvist <john@toastedmarshmallow.com>
-
- Implement Darwin PowerPC ABI.
- * configure.in: Handle powerpc-*-darwin*.
- * Makefile.am: Set source files for POWERPC_DARWIN.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
- * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
- POWERPC_DARWIN.
- * src/powerpc/darwin.S: New file.
- * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .balign directive.
- Use C style comments.
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
- Fixes PR bootstrap/3563.
-
-2001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.in: Recognize sparc*-sun-* host.
- * configure: Regenerate.
-
-2001-06-06 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S: Add unwind info.
- * src/powerpc/sysv.S: Add unwind info.
- * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31 Jeff Sturm <jsturm@one-point.com>
-
- * configure.in: Fix AC_ARG_ENABLE usage.
- * configure: Rebuilt.
-
-2001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * configure.in: Remove warning about beta code.
- * configure: Rebuilt.
-
-2001-04-25 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/ia64/unix.S: Restore stack pointer when returning from
- ffi_closure_UNIX.
- * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18 Jim Wilson <wilson@redhat.com>
-
- * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
- to eliminate RAW DV.
-
-2001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
-
- * Makefile.am: Make a libtool convenience library.
- * Makefile.in: Rebuilt.
-
-2001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Use different syntax for subdirectory creation.
- * configure: Rebuilt.
-
-2001-03-27 Jon Beniston <jon@beniston.com>
-
- * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
- * configure: Rebuilt.
- * Makefile.am: Added X86_WIN32 target support.
- * Makefile.in: Rebuilt.
-
- * include/ffi.h.in: Added X86_WIN32 target support.
-
- * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
- * src/types.c: Added X86_WIN32 target support.
-
- * src/x86/win32.S: New file. Based on sysv.S, but with EH
- stuff removed and made to work with CygWin's gas.
-
-2001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Make target subdirectory in build dir.
- * Makefile.am: Override suffix based rules to specify correct output
- subdirectory.
- * Makefile.in: Rebuilt.
- * configure: Rebuilt.
-
-2001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
-
- * src/powerpc/ppc_closure.S: New file.
- * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
- involving long long and register pairs.
- (ffi_prep_closure): New function.
- (flush_icache): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * Makefile.in: Rebuilt.
- * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19 Tom Tromey <tromey@redhat.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02 Nick Clifton <nickc@redhat.com>
-
- * include/ffi.h.in: Remove RCS ident string.
- * include/ffi_mips.h: Remove RCS ident string.
- * src/debug.c: Remove RCS ident string.
- * src/ffitest.c: Remove RCS ident string.
- * src/prep_cif.c: Remove RCS ident string.
- * src/types.c: Remove RCS ident string.
- * src/alpha/ffi.c: Remove RCS ident string.
- * src/alpha/osf.S: Remove RCS ident string.
- * src/arm/ffi.c: Remove RCS ident string.
- * src/arm/sysv.S: Remove RCS ident string.
- * src/mips/ffi.c: Remove RCS ident string.
- * src/mips/n32.S: Remove RCS ident string.
- * src/mips/o32.S: Remove RCS ident string.
- * src/sparc/ffi.c: Remove RCS ident string.
- * src/sparc/v8.S: Remove RCS ident string.
- * src/sparc/v9.S: Remove RCS ident string.
- * src/x86/ffi.c: Remove RCS ident string.
- * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * include/ffi.h.in: Change sourceware.cygnus.com references to
- gcc.gnu.org.
-
-2000-12-09 Richard Henderson <rth@redhat.com>
-
- * src/alpha/ffi.c (ffi_call): Simplify struct return test.
- (ffi_closure_osf_inner): Index rather than increment avalue
- and arg_types. Give ffi_closure_osf the raw return value type.
- * src/alpha/osf.S (ffi_closure_osf): Handle return value type
- promotion.
-
-2000-12-07 Richard Henderson <rth@redhat.com>
-
- * src/raw_api.c (ffi_translate_args): Fix typo.
- (ffi_prep_closure): Likewise.
-
- * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
- FFI_TRAMPOLINE_SIZE.
- * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
- cif->bytes for new ffi_call_osf implementation.
- (ffi_prep_args): Absorb into ...
- (ffi_call): ... here. Do all stack allocation here and
- avoid a callback function.
- (ffi_prep_closure, ffi_closure_osf_inner): New.
- * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
- (ffi_closure_osf): New.
-
-2000-09-10 Alexandre Oliva <aoliva@redhat.com>
-
- * config.guess, config.sub, install-sh: Removed.
- * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
- * Makefile.in: Rebuilt.
-
- * acinclude.m4: Include libtool macros from the top level.
- * aclocal.m4, configure: Rebuilt.
-
-2000-08-22 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
- * configure: Rebuilt.
-
-2000-05-11 Scott Bambrough <scottb@netwinder.org>
-
- * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
- memory correctly. Use conditional instructions, not branches where
- possible.
-
-2000-05-04 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Match `arm*-*-linux-*'.
- From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (SUBDIRS): Define.
- (AM_MAKEFLAGS): Likewise.
- (Multilib support.): Add section.
- * Makefile.in: Rebuilt.
- * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
- New variables. Set for gcc using -print-multi-lib. Export them
- to libtool.
- (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
- * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
- for -shared links.
- (extra_compiler_flags_value, extra_compiler_flags): Check these
- for extra compiler options which need to be passed down in
- compiler_flags.
-
-2000-04-16 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
- Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
- * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
- Replace all void * sizeofs with sizeof(int).
- Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
- different than DOUBLE.
- Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
- (ffi_prep_args_v9): New function.
- (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
- (ffi_V9_return_struct): New function.
- (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
- 32bit code (not yet cross-arch calls).
- * src/sparc/v8.S: Add struct return delay nop.
- Handle long long.
- * src/sparc/v9.S: New file.
- * src/prep_cif.c (ffi_prep_cif): Return structure pointer
- is used on sparc64 only for structures larger than 32 bytes.
- Pass by reference for structures is done for structure arguments
- larger than 16 bytes.
- * src/ffitest.c (main): Use 64bit rint on sparc64.
- Run long long tests on sparc.
- * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
- sparc64.
- (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
- on sparc64.
- * configure.in (sparc-*-linux*): New supported target.
- (sparc64-*-linux*): Likewise.
- * configure: Rebuilt.
- * Makefile.am: Add v9.S to SPARC files.
- * Makefile.in: Likewise.
- (LINK): Surround $(CCLD) into double quotes, so that multilib
- compiles work correctly.
-
-2000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: (i*86-*-solaris*): New libffi target. Patch
- proposed by Bryce McKinlay.
-
-2000-03-20 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
-
- * config.guess, config.sub: Update from the gcc tree.
- Fix for PR libgcj/168.
-
-2000-03-03 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Fixed ia64 by hand.
-
- * configure: Rebuilt.
- * configure.in (--enable-multilib): New option.
- (libffi_basedir): New subst.
- (AC_OUTPUT): Added multilib code.
-
-2000-03-02 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
- directory name.
-
-2000-02-25 Hans Boehm <boehm@acm.org>
-
- * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
- files.
- * src/raw_api.c (ffi_translate_args): Fixed typo in argument
- list.
- (ffi_prep_raw_closure): Use ffi_translate_args, not
- ffi_closure_translate.
- * src/java_raw_api.c: New file.
- * src/ffitest.c (closure_test_fn): New function.
- (main): Define `rint' as long long on IA64. Added new test when
- FFI_CLOSURES is defined.
- * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
- (ffi_abi): Recognize IA64.
- (ffi_raw): Added `flt' field.
- Added "Java raw API" code.
- * configure.in: Recognize ia64.
- * Makefile.am (TARGET_SRC_IA64): New macro.
- (libffi_la_common_SOURCES): Added java_raw_api.c.
- (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01 Tom Tromey <tromey@cygnus.com>
-
- * include/ffi.h.in: Removed PACKAGE and VERSION defines and
- undefs.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
- * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
- Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
- * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09 Anthony Green <green@cygnus.com>
-
- * include/ffi.h.in: Try to work around messy header problem
- with PACKAGE and VERSION.
-
- * configure: Rebuilt.
- * configure.in: Change version to 2.00-beta.
-
- * fficonfig.h.in: Rebuilt.
- * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
- * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
-
- * src/x86/ffi.c (ffi_closure_SYSV): New function.
- (ffi_prep_incoming_args_SYSV): Ditto.
- (ffi_prep_closure): Ditto.
- (ffi_closure_raw_SYSV): Ditto.
- (ffi_prep_raw_closure): More ditto.
- (ffi_call_raw): Final ditto.
-
- * include/ffi.h.in: Add definitions for closure and raw API.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
- FFI_TYPE_UINT64.
-
- * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
- * src/raw_api.c: New file.
-
- * include/ffi.h.in (ffi_raw): New type.
- (UINT_ARG, SINT_ARG): New defines.
- (ffi_closure, ffi_raw_closure): New types.
- (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
- * configure.in: Add check for endianness and sizeof void*.
-
- * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
- instead of directly.
-
- * configure: Rebuilt.
-
-Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
-
- * configure.in: Add x86 and powerpc BeOS configurations.
- From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09 Anthony Green <green@cygnus.com>
-
- * configure.in: Add warning about this being beta code.
- Remove src/Makefile.am from the picture.
- * configure: Rebuilt.
-
- * Makefile.am: Move logic from src/Makefile.am. Add changes
- to support libffi as a target library.
- * Makefile.in: Rebuilt.
-
- * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
- Upgraded to new autoconf, automake, libtool.
-
- * README: Tweaks.
-
- * LICENSE: Update copyright date.
-
- * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29 Anthony Green <green@cygnus.com>
-
- * include/ChangeLog: Removed.
- * src/ChangeLog: Removed.
- * src/mips/ChangeLog: Removed.
- * src/sparc/ChangeLog: Remboved.
- * src/x86/ChangeLog: Removed.
-
- * ChangeLog.v1: Created.
diff --git a/.pc/more-openbsd/configure.ac b/.pc/more-openbsd/configure.ac
deleted file mode 100644
index 1c71d7f..0000000
--- a/.pc/more-openbsd/configure.ac
+++ /dev/null
@@ -1,499 +0,0 @@
-dnl Process this with autoconf to create configure
-
-AC_PREREQ(2.63)
-
-AC_INIT([libffi], [3.0.11-rc2], [http://github.com/atgreen/libffi/issues])
-AC_CONFIG_HEADERS([fficonfig.h])
-
-AC_CANONICAL_SYSTEM
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-AX_ENABLE_BUILDDIR
-
-AM_INIT_AUTOMAKE
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-# Also save and restore CFLAGS, since AC_PROG_CC will come up with
-# defaults of its own if none are provided.
-
-m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS])
-m4_define([_AC_ARG_VAR_PRECIOUS],[])
-save_CFLAGS=$CFLAGS
-AC_PROG_CC
-CFLAGS=$save_CFLAGS
-m4_undefine([_AC_ARG_VAR_PRECIOUS])
-m4_rename([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
-
-AC_SUBST(CFLAGS)
-
-AM_PROG_AS
-AM_PROG_CC_C_O
-AC_PROG_LIBTOOL
-AC_CONFIG_MACRO_DIR([m4])
-
-AX_CC_MAXOPT
-AX_CFLAGS_WARN_ALL
-if test "x$GCC" = "xyes"; then
- CFLAGS="$CFLAGS -fexceptions"
-fi
-
-AM_MAINTAINER_MODE
-
-AC_CHECK_HEADERS(sys/mman.h)
-AC_CHECK_FUNCS(mmap)
-AC_FUNC_MMAP_BLACKLIST
-
-dnl The -no-testsuite modules omit the test subdir.
-AM_CONDITIONAL(TESTSUBDIR, test -d $srcdir/testsuite)
-
-TARGETDIR="unknown"
-case "$host" in
- alpha*-*-*)
- TARGET=ALPHA; TARGETDIR=alpha;
- # Support 128-bit long double, changeable via command-line switch.
- HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
- ;;
-
- arm*-*-*)
- TARGET=ARM; TARGETDIR=arm
- ;;
-
- amd64-*-freebsd* | amd64-*-openbsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- amd64-*-freebsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- avr32*-*-*)
- TARGET=AVR32; TARGETDIR=avr32
- ;;
-
- cris-*-*)
- TARGET=LIBFFI_CRIS; TARGETDIR=cris
- ;;
-
- frv-*-*)
- TARGET=FRV; TARGETDIR=frv
- ;;
-
- hppa*-*-linux* | parisc*-*-linux*)
- TARGET=PA_LINUX; TARGETDIR=pa
- ;;
- hppa*64-*-hpux*)
- TARGET=PA64_HPUX; TARGETDIR=pa
- ;;
- hppa*-*-hpux*)
- TARGET=PA_HPUX; TARGETDIR=pa
- ;;
-
- i?86-*-freebsd* | i?86-*-openbsd*)
- TARGET=X86_FREEBSD; TARGETDIR=x86
- ;;
- i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2* | i?86-*-interix*)
- TARGET=X86_WIN32; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
- i?86-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
- i?86-*-solaris2.1[[0-9]]*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
- i?86-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- ia64*-*-*)
- TARGET=IA64; TARGETDIR=ia64
- ;;
-
- m32r*-*-*)
- TARGET=M32R; TARGETDIR=m32r
- ;;
-
- m68k-*-*)
- TARGET=M68K; TARGETDIR=m68k
- ;;
-
- mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
- TARGET=MIPS; TARGETDIR=mips
- ;;
- mips*-*-linux*)
- # Support 128-bit long double for NewABI.
- HAVE_LONG_DOUBLE='defined(__mips64)'
- TARGET=MIPS; TARGETDIR=mips
- ;;
-
- moxie-*-*)
- TARGET=MOXIE; TARGETDIR=moxie
- ;;
-
- powerpc*-*-linux* | powerpc-*-sysv*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-beos*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-darwin* | powerpc64-*-darwin*)
- TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
- ;;
- powerpc-*-aix* | rs6000-*-aix*)
- TARGET=POWERPC_AIX; TARGETDIR=powerpc
- ;;
- powerpc-*-freebsd*)
- TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
- ;;
- powerpc64-*-freebsd*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc*-*-rtems*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
-
- s390-*-* | s390x-*-*)
- TARGET=S390; TARGETDIR=s390
- ;;
-
- sh-*-* | sh[[34]]*-*-*)
- TARGET=SH; TARGETDIR=sh
- ;;
- sh64-*-* | sh5*-*-*)
- TARGET=SH64; TARGETDIR=sh64
- ;;
-
- sparc*-*-*)
- TARGET=SPARC; TARGETDIR=sparc
- ;;
-
- x86_64-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
-
- x86_64-*-cygwin* | x86_64-*-mingw*)
- TARGET=X86_WIN64; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
-
- x86_64-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-esac
-
-AC_SUBST(AM_RUNTESTFLAGS)
-AC_SUBST(AM_LTLDFLAGS)
-
-if test $TARGETDIR = unknown; then
- AC_MSG_ERROR(["libffi has not been ported to $host."])
-fi
-
-AM_CONDITIONAL(MIPS, test x$TARGET = xMIPS)
-AM_CONDITIONAL(SPARC, test x$TARGET = xSPARC)
-AM_CONDITIONAL(X86, test x$TARGET = xX86)
-AM_CONDITIONAL(X86_FREEBSD, test x$TARGET = xX86_FREEBSD)
-AM_CONDITIONAL(X86_WIN32, test x$TARGET = xX86_WIN32)
-AM_CONDITIONAL(X86_WIN64, test x$TARGET = xX86_WIN64)
-AM_CONDITIONAL(X86_DARWIN, test x$TARGET = xX86_DARWIN)
-AM_CONDITIONAL(ALPHA, test x$TARGET = xALPHA)
-AM_CONDITIONAL(IA64, test x$TARGET = xIA64)
-AM_CONDITIONAL(M32R, test x$TARGET = xM32R)
-AM_CONDITIONAL(M68K, test x$TARGET = xM68K)
-AM_CONDITIONAL(MOXIE, test x$TARGET = xMOXIE)
-AM_CONDITIONAL(POWERPC, test x$TARGET = xPOWERPC)
-AM_CONDITIONAL(POWERPC_AIX, test x$TARGET = xPOWERPC_AIX)
-AM_CONDITIONAL(POWERPC_DARWIN, test x$TARGET = xPOWERPC_DARWIN)
-AM_CONDITIONAL(POWERPC_FREEBSD, test x$TARGET = xPOWERPC_FREEBSD)
-AM_CONDITIONAL(ARM, test x$TARGET = xARM)
-AM_CONDITIONAL(AVR32, test x$TARGET = xAVR32)
-AM_CONDITIONAL(LIBFFI_CRIS, test x$TARGET = xLIBFFI_CRIS)
-AM_CONDITIONAL(FRV, test x$TARGET = xFRV)
-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)
-AM_CONDITIONAL(PA_LINUX, test x$TARGET = xPA_LINUX)
-AM_CONDITIONAL(PA_HPUX, test x$TARGET = xPA_HPUX)
-AM_CONDITIONAL(PA64_HPUX, test x$TARGET = xPA64_HPUX)
-
-AC_HEADER_STDC
-AC_CHECK_FUNCS(memcpy)
-AC_FUNC_ALLOCA
-
-AC_CHECK_SIZEOF(double)
-AC_CHECK_SIZEOF(long double)
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
- HAVE_LONG_DOUBLE=0
- if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
- if test $ac_cv_sizeof_long_double != 0; then
- HAVE_LONG_DOUBLE=1
- AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the long double type and it is bigger than a double])
- fi
- fi
-fi
-AC_SUBST(HAVE_LONG_DOUBLE)
-
-AC_C_BIGENDIAN
-
-GCC_AS_CFI_PSEUDO_OP
-
-if test x$TARGET = xSPARC; then
- AC_CACHE_CHECK([assembler and linker support unaligned pc related relocs],
- libffi_cv_as_sparc_ua_pcrel, [
- save_CFLAGS="$CFLAGS"
- save_LDFLAGS="$LDFLAGS"
- CFLAGS="$CFLAGS -fpic"
- LDFLAGS="$LDFLAGS -shared"
- AC_TRY_LINK([asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");],,
- [libffi_cv_as_sparc_ua_pcrel=yes],
- [libffi_cv_as_sparc_ua_pcrel=no])
- CFLAGS="$save_CFLAGS"
- LDFLAGS="$save_LDFLAGS"])
- if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
- AC_DEFINE(HAVE_AS_SPARC_UA_PCREL, 1,
- [Define if your assembler and linker support unaligned PC relative relocs.])
- fi
-
- AC_CACHE_CHECK([assembler .register pseudo-op support],
- libffi_cv_as_register_pseudo_op, [
- libffi_cv_as_register_pseudo_op=unknown
- # Check if we have .register
- AC_TRY_COMPILE([asm (".register %g2, #scratch");],,
- [libffi_cv_as_register_pseudo_op=yes],
- [libffi_cv_as_register_pseudo_op=no])
- ])
- if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
- AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP, 1,
- [Define if your assembler supports .register.])
- fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
- AC_CACHE_CHECK([assembler supports pc related relocs],
- libffi_cv_as_x86_pcrel, [
- libffi_cv_as_x86_pcrel=no
- echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
- if $CC $CFLAGS -c conftest.s > /dev/null; then
- libffi_cv_as_x86_pcrel=yes
- fi
- ])
- if test "x$libffi_cv_as_x86_pcrel" = xyes; then
- AC_DEFINE(HAVE_AS_X86_PCREL, 1,
- [Define if your assembler supports PC relative relocs.])
- fi
-
- AC_CACHE_CHECK([assembler .ascii pseudo-op support],
- libffi_cv_as_ascii_pseudo_op, [
- libffi_cv_as_ascii_pseudo_op=unknown
- # Check if we have .ascii
- AC_TRY_COMPILE([asm (".ascii \\"string\\"");],,
- [libffi_cv_as_ascii_pseudo_op=yes],
- [libffi_cv_as_ascii_pseudo_op=no])
- ])
- if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
- AC_DEFINE(HAVE_AS_ASCII_PSEUDO_OP, 1,
- [Define if your assembler supports .ascii.])
- fi
-
- AC_CACHE_CHECK([assembler .string pseudo-op support],
- libffi_cv_as_string_pseudo_op, [
- libffi_cv_as_string_pseudo_op=unknown
- # Check if we have .string
- AC_TRY_COMPILE([asm (".string \\"string\\"");],,
- [libffi_cv_as_string_pseudo_op=yes],
- [libffi_cv_as_string_pseudo_op=no])
- ])
- if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
- AC_DEFINE(HAVE_AS_STRING_PSEUDO_OP, 1,
- [Define if your assembler supports .string.])
- fi
-fi
-
-if test x$TARGET = xX86_WIN64; then
- LT_SYS_SYMBOL_USCORE
- if test "x$sys_symbol_underscore" = xyes; then
- AC_DEFINE(SYMBOL_UNDERSCORE, 1, [Define if symbols are underscored.])
- fi
-fi
-
-
-FFI_EXEC_TRAMPOLINE_TABLE=0
-case "$target" in
- *arm*-apple-darwin*)
- FFI_EXEC_TRAMPOLINE_TABLE=1
- AC_DEFINE(FFI_EXEC_TRAMPOLINE_TABLE, 1,
- [Cannot use PROT_EXEC on this target, so, we revert to
- alternative means])
- ;;
- *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
- AC_DEFINE(FFI_MMAP_EXEC_WRIT, 1,
- [Cannot use malloc on this target, so, we revert to
- alternative means])
- ;;
-esac
-AM_CONDITIONAL(FFI_EXEC_TRAMPOLINE_TABLE, test x$FFI_EXEC_TRAMPOLINE_TABLE = x1)
-AC_SUBST(FFI_EXEC_TRAMPOLINE_TABLE)
-
-if test x$TARGET = xX86_64; then
- AC_CACHE_CHECK([assembler supports unwind section type],
- libffi_cv_as_x86_64_unwind_section_type, [
- libffi_cv_as_x86_64_unwind_section_type=yes
- echo '.section .eh_frame,"a",@unwind' > conftest.s
- if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
- libffi_cv_as_x86_64_unwind_section_type=no
- fi
- ])
- if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
- AC_DEFINE(HAVE_AS_X86_64_UNWIND_SECTION_TYPE, 1,
- [Define if your assembler supports unwind section type.])
- fi
-fi
-
-if test "x$GCC" = "xyes"; then
- AC_CACHE_CHECK([whether .eh_frame section should be read-only],
- libffi_cv_ro_eh_frame, [
- libffi_cv_ro_eh_frame=no
- echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
- if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
- if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- elif grep '.section.*eh_frame.*#alloc' conftest.c \
- | grep -v '#write' > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- fi
- fi
- rm -f conftest.*
- ])
- if test "x$libffi_cv_ro_eh_frame" = xyes; then
- AC_DEFINE(HAVE_RO_EH_FRAME, 1,
- [Define if .eh_frame sections should be read-only.])
- AC_DEFINE(EH_FRAME_FLAGS, "a",
- [Define to the flags needed for the .section .eh_frame directive. ])
- else
- AC_DEFINE(EH_FRAME_FLAGS, "aw",
- [Define to the flags needed for the .section .eh_frame directive. ])
- fi
-
- AC_CACHE_CHECK([for __attribute__((visibility("hidden")))],
- libffi_cv_hidden_visibility_attribute, [
- echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1 ; }' > conftest.c
- libffi_cv_hidden_visibility_attribute=no
- if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
- if grep '\.hidden.*foo' conftest.s >/dev/null; then
- libffi_cv_hidden_visibility_attribute=yes
- fi
- fi
- rm -f conftest.*
- ])
- if test $libffi_cv_hidden_visibility_attribute = yes; then
- AC_DEFINE(HAVE_HIDDEN_VISIBILITY_ATTRIBUTE, 1,
- [Define if __attribute__((visibility("hidden"))) is supported.])
- fi
-fi
-
-AH_BOTTOM([
-#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
-])
-
-AC_SUBST(TARGET)
-AC_SUBST(TARGETDIR)
-
-AC_SUBST(SHELL)
-
-AC_ARG_ENABLE(debug,
-[ --enable-debug debugging mode],
- if test "$enable_debug" = "yes"; then
- AC_DEFINE(FFI_DEBUG, 1, [Define this if you want extra debugging.])
- fi)
-AM_CONDITIONAL(FFI_DEBUG, test "$enable_debug" = "yes")
-
-AC_ARG_ENABLE(structs,
-[ --disable-structs omit code for struct support],
- if test "$enable_structs" = "no"; then
- AC_DEFINE(FFI_NO_STRUCTS, 1, [Define this is you do not want support for aggregate types.])
- fi)
-
-AC_ARG_ENABLE(raw-api,
-[ --disable-raw-api make the raw api unavailable],
- if test "$enable_raw_api" = "no"; then
- AC_DEFINE(FFI_NO_RAW_API, 1, [Define this is you do not want support for the raw API.])
- fi)
-
-AC_ARG_ENABLE(purify-safety,
-[ --enable-purify-safety purify-safe mode],
- if test "$enable_purify_safety" = "yes"; then
- AC_DEFINE(USING_PURIFY, 1, [Define this if you are using Purify and want to suppress spurious messages.])
- fi)
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- toolexecdir='$(exec_prefix)/$(target_alias)'
- toolexeclibdir='$(toolexecdir)/lib'
- else
- toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
- toolexeclibdir='$(libdir)'
- fi
- multi_os_directory=`$CC -print-multi-os-directory`
- case $multi_os_directory in
- .) ;; # Avoid trailing /.
- *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
- esac
- AC_SUBST(toolexecdir)
- AC_SUBST(toolexeclibdir)
-fi
-
-if test "${multilib}" = "yes"; then
- multilib_arg="--enable-multilib"
-else
- multilib_arg=
-fi
-
-AC_CONFIG_COMMANDS(include, [test -d include || mkdir include])
-AC_CONFIG_COMMANDS(src, [
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
-], [TARGETDIR="$TARGETDIR"])
-
-AC_CONFIG_LINKS(include/ffitarget.h:src/$TARGETDIR/ffitarget.h)
-
-AC_CONFIG_FILES(include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc)
-
-AC_OUTPUT
diff --git a/.pc/msvcc-warning/.timestamp b/.pc/msvcc-warning/.timestamp
deleted file mode 100644
index e69de29..0000000
--- a/.pc/msvcc-warning/.timestamp
+++ /dev/null
diff --git a/.pc/msvcc-warning/ChangeLog b/.pc/msvcc-warning/ChangeLog
deleted file mode 100644
index 3521bdc..0000000
--- a/.pc/msvcc-warning/ChangeLog
+++ /dev/null
@@ -1,4506 +0,0 @@
-2012-02-10 Kai Tietz <ktietz@redhat.com>
-
- * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
- windows target.
- * configure: Regenerated.
-
-2012-02-08 Kai Tietz <ktietz@redhat.com>
-
- * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
- also FFI_THISCALL.
- * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
- (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
- (ffi_prep_closure_loc): Add FFI_THISCALL support.
- * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
- * src/x86/win32.S (ffi_closure_THISCALL): New closure code
- for thiscall-calling convention.
- * testsuite/libffi.call/closure_thiscall.c: New test.
-
-2012-01-28 Kai Tietz <ktietz@redhat.com>
-
- * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
- argument to prototype for specify calling-convention.
- (ffi_call): Add support for stdcall/thiscall convention.
- (ffi_prep_args): Likewise.
- (ffi_raw_call): Likewise.
- * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
- FFI_FASTCALL.
- * src/x86/win32.S (_ffi_call_win32): Add support for
- fastcall/thiscall calling-convention calls.
- * testsuite/libffi.call/fastthis1_win32.c: New test.
- * testsuite/libffi.call/fastthis2_win32.c: New test.
- * testsuite/libffi.call/fastthis3_win32.c: New test.
- * testsuite/libffi.call/strlen2_win32.c: New test.
- * testsuite/libffi.call/many2_win32.c: New test.
- * testsuite/libffi.call/struct1_win32.c: New test.
- * testsuite/libffi.call/struct2_win32.c: New test.
-
-2012-01-23 Andreas Schwab <schwab@linux-m68k.org>
-
- * src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
- mc68000. Test for __HAVE_68881__ in addition to __MC68881__.
-
-2012-01-19 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/48496
- * src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
-
-2012-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (i?86-*-*): Set TARGET to X86_64.
- * configure: Regenerate.
-
-2011-12-07 Andrew Pinski <apinski@cavium.com>
-
- PR libffi/50051
- * src/mips/n32.S: Add ".set mips4".
-
-2011-11-21 Andreas Tobler <andreast@fgznet.ch>
-
- * configure: Regenerate.
-
-2011-11-10 Richard Henderson <rth@redhat.com>
-
- * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
- * configure, aclocal.m4: Rebuild.
-
-2011-09-04 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/49594
- * src/powerpc/darwin_closure.S (stubs): Make the stub binding
- helper reference track the architecture pointer size.
-
-2011-08-25 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
- instructions.
- * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
-
-2011-07-11 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46660
- * testsuite/libffi.call/cls_double_va.c: xfail dg-output on
- mips-sgi-irix6*.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
- PRId8 instead of %hhu, %hhd.
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
- PRIu8): Define.
- [__sgi__] (PRId8, PRIu8): Define.
-
-2011-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
- Define.
- Use them to handle ELF vs. ECOFF differences.
- [__osf__] (_GLOBAL__F_ffi_call_osf): Define.
-
-2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46661
- * testsuite/libffi.call/cls_pointer.c (main): Cast void * to
- uintptr_t first.
- * testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
- Handle case when CPU variant does not have long double support.
- * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
- and cores with soft floating point.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * configure.ac: Add mips*-*-rtems* support.
- * configure: Regenerate.
- * src/mips/ffitarget.h: Ensure needed constants are available
- for targets which do not have sgidefs.h.
-
-2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR target/40125
- * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
- * configure: Regenerate.
-
-2010-12-18 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/29152
- PR libffi/42378
- * src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
- (FFI_TRAMPOLINE_SIZE): Update for Darwin64.
- * src/powerpc/darwin.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
- backslashes.
- (libffi_cv_as_string_pseudo_op): Likewise.
- * configure: Regenerate.
-
-2010-12-03 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
- (ffi_closure_VFP): Same.
- (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
- directive.
-
-2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
- (PRIuPTR): Define.
-
-2010-11-29 Richard Henderson <rth@redhat.com>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
- (.eh_frame): Use FDE_ENCODING.
- (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
-
-2010-11-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp: Rename ...
- * testsuite/lib/libffi.exp: ... to this.
- * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
- * libffi/testsuite/libffi.special/special.exp: Likewise.
-
-2010-10-28 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
- code, new parameter, and return value. Update comments.
- (ffi_prep_cif_machdep): Add case for VFP struct return values. Add
- call to layout_vfp_args().
- (ffi_call_SYSV): Update declaration.
- (ffi_call_VFP): New declaration.
- (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
- when ABI is FFI_VFP.
- (ffi_closure_VFP): New declaration.
- (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
- ffi_prep_incoming_args_SYSV().
- (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
- case handling.
- (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
- construction under VFP hard-float.
- (rec_vfp_type_p): New function.
- (vfp_type_p): Same.
- (place_vfp_arg): Same.
- (layout_vfp_args): Same.
- * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
- based on __ARM_PCS_VFP.
- (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
- fields.
- (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
- (FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
- * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
- direct call. Move function pointer load upwards.
- (ffi_call_VFP): New function.
- (ffi_closure_VFP): Same.
-
- * testsuite/lib/libffi-dg.exp (check-flags): New function.
- (dg-skip-if): New function.
- * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
- and compiler options include -mfloat-abi=hard.
- * testsuite/libffi.call/cls_longdouble_va.c: Same.
-
-2010-10-01 Jakub Jelinek <jakub@redhat.com>
-
- PR libffi/45677
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
- a multiple of 8.
- * testsuite/libffi.call/many2.c: New test.
-
-2010-08-20 Mark Wielaard <mjw@redhat.com>
-
- * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
- returns NULL.
-
-2010-08-09 Andreas Tobler <andreast@fgznet.ch>
-
- * configure.ac: Add target powerpc64-*-freebsd*.
- * configure: Regenerate.
- * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
- -mlong-double-128 only to linux targets.
- * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
- * testsuite/libffi.call/cls_longdouble.c: Likewise.
- * testsuite/libffi.call/huge_struct.c: Likewise.
-
-2010-07-10 Evan Phoenix <evan@fallingsnow.net>
-
- * src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
-
-2010-07-07 Dan Horák <dan@danny.cz>
-
- * include/ffi.h.in: Protect #define with #ifndef.
- * src/powerpc/ffitarget.h: Ditto.
- * src/s390/ffitarget.h: Ditto.
- * src/sparc/ffitarget.h: Ditto.
-
-2010-07-07 Neil Roberts <neil@linux.intel.com>
-
- * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
- 16-bytes.
-
-2010-07-02 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
- * Makefile.in: Regenerated.
-
-2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
- output, too.
- (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
- (libffi_cv_as_string_pseudo_op): Check for .string.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
-
-2010-05-05 Michael Kohler <michaelkohler@live.com>
-
- * src/dlmalloc.c (dlfree): Fix spelling.
- * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
- * configure.ac: Ditto.
- * configure: Rebuilt.
-
-2010-04-13 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Build with -W3 instead of -Wall.
- * src/powerpc/ffi_darwin.c: Remove build warnings.
- * src/x86/ffi.c: Ditto.
- * src/x86/ffitarget.h: Ditto.
-
-2010-04-12 Dan Witte <dwitte@mozilla.com>
- Walter Meinl <wuno@lsvw.de>
-
- * configure.ac: Add OS/2 support.
- * configure: Rebuilt.
- * src/closures.c: Ditto.
- * src/dlmalloc.c: Ditto.
- * src/x86/win32.S: Ditto.
-
-2010-04-07 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
-
-2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2010-03-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * libffi/src/x86/unix64.S (.eh_frame)
- [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
-
-2010-03-14 Matthias Klose <doko@ubuntu.com>
-
- * src/x86/ffi64.c: Fix typo in comment.
- * src/x86/ffi.c: Use /* ... */ comment style.
-
-2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/libffi.texi (The Closure API): Fix typo.
- * doc/libffi.info: Remove.
-
-2010-02-15 Matthias Klose <doko@ubuntu.com>
-
- * src/arm/sysv.S (__ARM_ARCH__): Define for processor
- __ARM_ARCH_7EM__.
-
-2010-01-15 Anthony Green <green@redhat.com>
-
- * README: Add notes on building with Microsoft Visual C++.
-
-2010-01-15 Daniel Witte <dwitte@mozilla.com>
-
- * msvcc.sh: New file.
-
- * src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
- * src/x86/ffi.c: Tweak function declaration and remove excess
- parens.
- * include/ffi.h.in: Add __declspec(align(8)) to typedef struct
- ffi_closure.
-
- * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
- function ffi_call_win32 on X86_WIN32.
- * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
- (ffi_call_STDCALL): Remove.
-
- * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
- to ffi_prep_cif_machdep for x86.
- * src/x86/ffi.c (ffi_prep_cif_machdep): To here.
-
-2010-01-15 Oliver Kiddle <okiddle@yahoo.co.uk>
-
- * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
- Sun Studio compiler compatibility.
-
-2010-01-12 Conrad Irwin <conrad.irwin@gmail.com>
-
- * doc/libffi.texi: Add closure example.
-
-2010-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40701
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
- PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
- * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
- alpha*-dec-osf*.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/return_ll1.c: Likewise.
- * testsuite/libffi.call/stret_medium2.c: Likewise.
- * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
- MAP_FAILED to char *.
-
-2010-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
-
-2009-12-31 Anthony Green <green@redhat.com>
-
- * README: Update for libffi 3.0.9.
-
-2009-12-27 Matthias Klose <doko@ubuntu.com>
-
- * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
- appropriate.
- * configure: Rebuilt.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
- avr32*-*-*.
- * testsuite/libffi.call/cls_double_va.c: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
- and inttypes.h.
- * testsuite/libffi.special/unwindtest.cc: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-openbsd*.
- * configure: Rebuilt.
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
- openbsd programs with -lpthread.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
- mips*-*-* and arm*-*-*.
- * testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c,
- testsuite/libffi.call/stret_medium2.c,
- testsuite/libffi.call/stret_medium.c,
- testsuite/libffi.call/stret_large.c,
- testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
-
-2009-12-31 Kay Tietz <ktietz70@googlemail.com>
-
- * testsuite/libffi.call/ffitest.h,
- testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
- definitions.
-
-2009-12-31 Carlo Bramini <carlo.bramix@libero.it>
-
- * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
- * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
-
-2009-12-31 Anthony Green <green@redhat.com>
- Blake Chaffin.
-
- * testsuite/libffi.call/huge_struct.c: New test case from Blake
- Chaffin @ Apple.
-
-2009-12-28 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
- local variables.
- (aix_adjust_aggregate_sizes): New function.
- (ffi_prep_cif_machdep): Call it.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
- * configure: Regenerate.
- * fficonfig.h.in: Likewise.
- * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
- Solaris/x86.
-
-2009-12-26 Andreas Schwab <schwab@linux-m68k.org>
-
- * 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.
-
-2009-12-25 Matthias Klose <doko@ubuntu.com>
-
- * man/ffi_call.3: Fix #include in examples.
- * doc/libffi.texi: Add dircategory.
-
-2009-12-25 Frank Everdij <f.p.x.everdij@tudelft.nl>
-
- * include/ffi.h.in: Placed '__GNUC__' ifdef around
- '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
- IRIX MIPSPro c99.
- * include/ffi_common.h: Added '__sgi' define to non
- '__attribute__((__mode__()))' integer typedefs.
- * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
- ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
- (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
- FFI_LONGDOUBLE support and alignment(N32 only).
- * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
- fixed non '__attribute__((__mode__()))' integer typedefs.
- * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
- since they are Linux/GNU Assembler specific.
-
-2009-12-25 Bradley Smith <brad@brad-smith.co.uk>
-
- * configure.ac, Makefile.am, src/avr32/ffi.c,
- src/avr32/ffitarget.h,
- src/avr32/sysv.S: Add AVR32 port.
- * configure, Makefile.in: Rebuilt.
-
-2009-12-21 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
- * configure: Regenerate.
-
-2009-12-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
- type on HP-UX.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
- double' arguments.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40700
- * src/closures.c [X86_64 && __sun__ && __svr4__]
- (FFI_MMAP_EXEC_WRIT): Define.
-
-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.
-
-2009-12-07 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
- typo.
-
-2009-12-05 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
- code.
- * src/powerpc/aix_closure.S: Same.
-
-2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
- linux64_closure.S.
-
-2009-12-04 Uros Bizjak <ubizjak@gmail.com>
-
- 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.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
- pfr for long double split between fpr13 and stack.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
- fparg_count twice for long double.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- PR libffi/42243
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03 Uros Bizjak <ubizjak@gmail.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
- Remove xfails for x86 linux targets.
-
-2009-12-02 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
- case.
-
-2009-12-01 David Edelsohn <edelsohn@gnu.org>
-
- * 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.
-
-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.
-
-2009-11-02 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/41908
- * testsuite/libffi.call/testclosure.c: New test.
-
-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.
-
-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.
-
-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.
-
-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.
-
-2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.am (install-html, install-pdf): Remove.
- * Makefile.in: Regenerate.
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24 Dave Korn <dave.korn.cygwin@gmail.com>
-
- 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.
-
-2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
-
- 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.
-
-2009-07-01 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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 "".)
-
-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.
-
-2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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.
-
-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.
-
-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.
-
-2009-06-16 Andrew Haley <aph@redhat.com>
-
- * configure.ac (TARGETDIR): Add missing blank lines.
- * configure: Regenerate.
-
-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.
-
-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.
-
-2009-06-12 Andrew Haley <aph@redhat.com>
-
- * Makefile.am: Remove info_TEXINFOS.
-
-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-11 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * 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.
-
-2009-06-09 Andrew Haley <aph@redhat.com>
-
- * src/x86/freebsd.S: Add missing file.
-
-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).
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * README: Import from libffi 3.0.8.
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Add xfails.
- * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
- * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
- * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
- * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
- * testsuite/libffi.call/stret_medium.c: Likewise.
- * testsuite/libffi.call/stret_large2.c: Likewise.
- * testsuite/libffi.call/stret_large.c: Likewise.
-
-2008-12-26 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_align_longdouble.c,
- testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
- failures on x86_64 cygwin/mingw.
-
-2008-12-22 Timothy Wall <twall@users.sf.net>
-
- * 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_loc_fn0.c,
- testsuite/libffi.call/closure_stdcall.c,
- testsuite/libffi.call/cls_align_pointer.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
- pointer to integer (intptr_t).
- * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_dbls_struct.c,
- testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c,
- testsuite/libffi.call/err_bad_abi.c: Clean up failures from
- compiler warnings.
-
-2008-03-04 Anthony Green <green@redhat.com>
- Blake Chaffin
- hos@tamanegi.org
-
- * testsuite/libffi.call/cls_align_longdouble_split2.c
- testsuite/libffi.call/cls_align_longdouble_split.c
- testsuite/libffi.call/cls_dbls_struct.c
- testsuite/libffi.call/cls_double_va.c
- testsuite/libffi.call/cls_longdouble.c
- testsuite/libffi.call/cls_longdouble_va.c
- testsuite/libffi.call/cls_pointer.c
- testsuite/libffi.call/cls_pointer_stack.c
- testsuite/libffi.call/err_bad_abi.c
- testsuite/libffi.call/err_bad_typedef.c
- testsuite/libffi.call/stret_large2.c
- testsuite/libffi.call/stret_large.c
- testsuite/libffi.call/stret_medium2.c
- testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
- libffi.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
- stdcall changes.
-
-2008-02-26 Anthony Green <green@redhat.com>
- Thomas Heller <theller@ctypes.org>
-
- * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
- comment.
-
-2008-02-03 Timothy Wall <twall@users.sf.net>
-
- * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
- offset based on code pointer, not data pointer.
-
-2008-01-31 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
- closures.
- * src/x86/ffitarget.h: Increase size of trampoline for stdcall
- closures.
- * src/x86/win32.S: Add assembly for stdcall closure.
- * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Change void (*)() to void (*)(void).
- * src/x86/ffi.c: Likewise.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ppc_closure.S: Insert licence header.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/m68k/sysv.S: Likewise.
-
- * src/sh64/ffi.c: Change void (*)() to void (*)(void).
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/m32r/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi64.c: Likewise.
- * src/alpha/ffi.c: Likewise.
- * src/alpha/osf.S: Likewise.
- * src/frv/ffi.c: Likewise.
- * src/s390/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/pa/hpux32.S: Likewise.
- * src/ia64/unix.S: Likewise.
- * src/ia64/ffi.c: Likewise.
- * src/sparc/ffi.c: Likewise.
- * src/mips/ffi.c: Likewise.
- * src/sh/ffi.c: Likewise.
-
-2008-02-15 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
- Define (conditionally), and use it to include cachectl.h.
- (ffi_prep_closure_loc): Fix cache flushing.
- * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- include/ffi.h.in,
- src/arm/ffitarget.h,
- src/arm/ffi.c,
- src/arm/sysv.S,
- src/powerpc/ffitarget.h,
- src/closures.c,
- src/sh64/ffitarget.h,
- src/sh64/ffi.c,
- src/sh64/sysv.S,
- src/types.c,
- src/x86/ffi64.c,
- src/x86/ffitarget.h,
- src/x86/win32.S,
- src/x86/darwin.S,
- src/x86/ffi.c,
- src/x86/sysv.S,
- src/x86/unix64.S,
- src/alpha/ffitarget.h,
- src/alpha/ffi.c,
- src/alpha/osf.S,
- src/m68k/ffitarget.h,
- src/frv/ffitarget.h,
- src/frv/ffi.c,
- src/s390/ffitarget.h,
- src/s390/sysv.S,
- src/cris/ffitarget.h,
- src/pa/linux.S,
- src/pa/ffitarget.h,
- src/pa/ffi.c,
- src/raw_api.c,
- src/ia64/ffitarget.h,
- src/ia64/unix.S,
- src/ia64/ffi.c,
- src/ia64/ia64_flags.h,
- src/java_raw_api.c,
- src/debug.c,
- src/sparc/v9.S,
- src/sparc/ffitarget.h,
- src/sparc/ffi.c,
- src/sparc/v8.S,
- src/mips/ffitarget.h,
- src/mips/n32.S,
- src/mips/o32.S,
- src/mips/ffi.c,
- src/prep_cif.c,
- src/sh/ffitarget.h,
- src/sh/ffi.c,
- src/sh/sysv.S: Update license text.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * src/x86/win32.S (_ffi_closure_STDCALL): New function.
- (.eh_frame): Add FDE for it.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * configure.ac: Also check if assembler supports pc-relative
- relocs on X86_WIN32 targets.
- * configure: Regenerate.
- * src/x86/win32.S (ffi_prep_args): Declare extern, not global.
- (_ffi_call_SYSV): Add missing function type symbol .def and
- add EH markup labels.
- (_ffi_call_STDCALL): Likewise.
- (_ffi_closure_SYSV): Likewise.
- (_ffi_closure_raw_SYSV): Likewise.
- (.eh_frame): Add hand-crafted EH data.
-
-2009-04-09 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
- version 3 of the GNU General Public License and to point readers
- at the COPYING3 file and the FSF's license web page.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-12-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libffi/26048
- * configure.ac (HAVE_AS_X86_PCREL): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
- RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
- RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
- * src/x86/unix64.S (.Lstore_table): Move to .text section.
- (.Lload_table): Likewise.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
- signed/unsigned int8/16 return values.
- * src/sparc/v8.S (ffi_call_v8): Likewise.
- (ffi_closure_v8): Likewise.
-
-2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
- Steve Ellcey <sje@cup.hp.com>
-
- * configure: Regenerate for new libtool.
- * Makefile.in: Ditto.
- * include/Makefile.in: Ditto.
- * aclocal.m4: Ditto.
-
-2008-08-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
- FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
- Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
- Adjust copyright notice.
- * src/powerpc/ffi.c: Add two new flags to indicate if we have one
- register or two register to use for FFI_SYSV structs.
- (ffi_prep_cif_machdep): Pass the right register flag introduced above.
- (ffi_closure_helper_SYSV): Fix the return type for
- FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
- Adjust copyright notice.
-
-2008-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
- int.
-
-2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2008-06-07 Joseph Myers <joseph@codesourcery.com>
-
- * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
- powerpc-*-beos*): Remove.
- * configure: Regenerate.
-
-2008-05-09 Julian Brown <julian@codesourcery.com>
-
- * Makefile.am (LTLDFLAGS): New.
- (libffi_la_LDFLAGS): Use above.
- * Makefile.in: Regenerate.
-
-2008-04-18 Paolo Bonzini <bonzini@gnu.org>
-
- PR bootstrap/35457
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2008-03-26 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add .note.GNU-stack on Linux.
- * src/sh64/sysv.S: Likewise.
-
-2008-03-26 Daniel Jacobowitz <dan@debian.org>
-
- * src/arm/sysv.S: Fix ARM comment marker.
-
-2008-03-26 Jakub Jelinek <jakub@redhat.com>
-
- * src/alpha/osf.S: Add .note.GNU-stack on Linux.
- * src/s390/sysv.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
- * src/x86/unix64.S: Likewise.
- * src/x86/sysv.S: Likewise.
- * src/sparc/v8.S: Likewise.
- * src/sparc/v9.S: Likewise.
- * src/m68k/sysv.S: Likewise.
- * src/arm/sysv.S: Likewise.
-
-2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * aclocal.m4: Regenerate.
- * configure: Likewise.
- * Makefile.in: Likewise.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2008-02-12 Bjoern Koenig <bkoenig@alpha-tierchen.de>
- Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-freebsd* target.
- * configure: Regenerate.
-
-2008-01-30 H.J. Lu <hongjiu.lu@intel.com>
-
- PR libffi/34612
- * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
- returning struct.
-
- * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
- tests.
-
-2008-01-24 David Edelsohn <edelsohn@gnu.org>
-
- * configure: Regenerate.
-
-2008-01-06 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
-
-2008-01-05 Andreas Tobler <a.tobler@schweiz.org>
-
- PR testsuite/32843
- * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
- signed/unsigned int8/16 for X86_DARWIN.
- Updated copyright info.
- Handle one and two byte structs with special cif->flags.
- * src/x86/ffitarget.h: Add special types for one and two byte structs.
- Updated copyright info.
- * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
- sysv.S
- Remove code to pop args from the stack after call.
- Special-case signed/unsigned for int8/16, one and two byte structs.
- (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
- FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
- FFI_TYPE_SINT32.
- Updated copyright info.
-
-2007-12-08 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_call_N32): Replace dadd with ADDU, dsub with
- SUBU, add with ADDU and use smaller code sequences.
-
-2007-12-07 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
- type.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
- defined.
- (ffi_java_raw): New typedef.
- (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
- ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
- ffi_java_raw.
- (ffi_java_raw_closure) : Same.
- (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
- parameter types.
- * src/java_raw_api.c (ffi_java_raw_size): Replace FFI_SIZEOF_ARG with
- FFI_SIZEOF_JAVA_RAW.
- (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
- Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
- sizeof(ffi_java_raw) for alignment calculations.
- (ffi_java_ptrarray_to_raw): Same.
- (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
- if FFI_SIZEOF_JAVA_RAW == 4.
- (ffi_java_raw_to_rvalue): Same.
- (ffi_java_raw_call): Change type of raw to ffi_java_raw.
- (ffi_java_translate_args): Same.
- (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
- parameter types.
- * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
- pointer values.
-
-2007-12-01 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/31937
- * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
- Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
- * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
- set the NUM_FPR_ARG_REGISTERS according to.
- Add support for potential soft-float support under hard-float
- architecture.
- (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
- FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
- to the FFI_LINUX_SOFT_FLOAT ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Make sure not to store float/double
- on archs where __NO_FPRS__ is true.
- Add FFI_TYPE_UINT128 support.
- * src/powerpc/sysv.S: Add support for soft-float long-double-128.
- Adjust copyright notice.
-
-2007-11-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
- * include/ffi_common.h: ... here.
- Update copyright.
-
-2007-11-17 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
- * testsuite/libffi.call/return_ldl.c: New test.
-
-2007-09-04 <aph@redhat.com>
-
- * src/arm/sysv.S (UNWIND): New.
- (Whole file): Conditionally compile unwinder directives.
- * src/arm/sysv.S: Add unwinder directives.
-
- * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
- Only treat r0 as a struct address if we're actually returning a
- struct by address.
- Only copy the bytes that are actually within a struct.
- (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
- is returned in r0, not passed by address.
- (ffi_call): Allocate a word-sized temporary for the case where
- a composite is returned in r0.
- (ffi_prep_incoming_args_SYSV): Align as necessary.
-
-2007-08-05 Steven Newbury <s_j_newbury@yahoo.co.uk>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
- directly using the sys_cacheflush syscall.
-
-2007-07-27 Andrew Haley <aph@redhat.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
-
-2007-09-03 Maciej W. Rozycki <macro@linux-mips.org>
-
- * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure: Likewise.
-
-2007-08-24 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/return_sl.c: New test.
-
-2007-08-10 David Daney <ddaney@avtrex.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/nested_struct5.c,
- testsuite/libffi.call/cls_double.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/nested_struct.c,
- testsuite/libffi.call/cls_2byte.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_sint16.c,
- testsuite/libffi.call/cls_align_uint32.c,
- testsuite/libffi.call/cls_20byte.c,
- testsuite/libffi.call/cls_float.c,
- testsuite/libffi.call/nested_struct2.c,
- testsuite/libffi.call/cls_5_1_byte.c,
- testsuite/libffi.call/nested_struct4.c,
- testsuite/libffi.call/cls_24byte.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: Remove xfail for mips64*-*-*.
-
-2007-08-10 David Daney <ddaney@avtrex.com>
-
- 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.
-
-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*.
- * 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.
-
-2006-12-13 Andreas Tobler <a.tobler@schweiz.org>
-
- * aclocal.m4: Regenerate with aclocal -I .. as written in the
- Makefile.am.
-
-2006-10-31 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
- (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
- Darwin.
- * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
- * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10 Paolo Bonzini <bonzini@gnu.org>
- Sandro Tolaini <tolaini@libero.it>
-
- * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
- conditional.
- * configure: Regenerated.
- * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
- (EXTRA_DIST): Add src/x86/darwin.S.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
- X86_WIN32, and additionally align stack to 16 bytes.
- * src/x86/darwin.S: New, based on sysv.S.
- * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12 David Daney <ddaney@avtrex.com>
-
- PR libffi/23935
- * include/Makefile.am: Install both ffi.h and ffitarget.h in
- $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
- * aclocal.m4: Regenerated for automake 1.9.6.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
-2006-08-17 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h: Remove lint directives.
- * include/ffi.h.in: Likewise.
-
-2006-07-25 Torsten Schoenfeld <kaffeetisch@gmx.de>
-
- * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
- for 32-bit architectures.
- * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
- xfail remains for mips64.
-
-2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
-
- * Makefile.am: Add install-html target. Add install-html to .PHONY
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
- stack slot.
-
-2006-04-22 Andreas Tobler <a.tobler@schweiz.ch>
-
- * README: Remove notice about 'Crazy Comments'.
- * src/debug.c: Remove lint directives. Cleanup white spaces.
- * src/java_raw_api.c: Likewise.
- * src/prep_cif.c: Likewise.
- * src/raw_api.c: Likewise.
- * src/ffitest.c: Delete. No longer needed, all test cases migrated
- to the testsuite.
- * src/arm/ffi.c: Remove lint directives.
- * src/m32r/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/sh/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/pa/hpux32.S: Correct unwind offset calculation for
- ffi_closure_pa32.
- * src/pa/linux.S: Likewise.
-
-2006-04-12 James E Wilson <wilson@specifix.com>
-
- PR libgcj/26483
- * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
- (hfa_type_load): Call stf_spill.
- (hfa_type_store): Call ldf_fill.
- (ffi_call): Adjust calls to above routines. Add local temps for
- macro result.
-
-2006-04-10 Matthias Klose <doko@debian.org>
-
- * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
- directory names containing underscores.
-
-2006-04-07 James E Wilson <wilson@specifix.com>
-
- * testsuite/libffi.call/float4.c: New testcase.
-
-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.
-
-2006-03-24 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Default
- for 32-bit using IBM extended double format. Fix FFI_LAST_ABI.
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
- FFI_TYPE_LONGDOUBLE.
- (ffi_prep_args64): Assert using IBM extended double.
- (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
- Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
- (ffi_call): Handle FFI_LINUX.
- (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
- gpr3 return pointer as for struct return. Handle FFI_LINUX
- FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf"
- unnecessarily.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
- for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table.
- Don't use r6 as pointer to results, instead use sp offset. Don't
- make a special call to load lr with case table address, instead
- use offset from previous call.
- * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
- return.
-
-2006-03-15 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
- passed with FP registers correctly.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S: Likewise.
-
-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.
-
-2006-02-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
- -O2, -O3, -Os and the warning flags -W -Wall.
- * testsuite/libffi.special/special.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
- unused parameter unused for gcc or else do nothing.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
- * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
- * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
- * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
- * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
- * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
- * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
- * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
- * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
- void* to avoid compiler warning.
- (main): Likewise.
- (cls_struct_align_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
- * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
- * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
- userdata unused.
- (cls_ret_schar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
- userdata unused.
- (cls_ret_sint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
- userdata unused.
- (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn): Mark cif and
- userdata unused.
- (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
- userdata unused.
- (cls_ret_uint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
- userdata unused.
- (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
- * testsuite/libffi.call/float1.c (main): Remove unused variable i.
- Cleanup white spaces.
- * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
- * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
- cif and userdata unused.
- * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
- Likewise.
- * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
- formatters to silence gcc.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct4.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct6.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
- * testsuite/libffi.call/problem1.c (stub): Likewise.
- * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
- gcc.
- * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
- in the last commit for this test case in the test case itself.
- * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
- unused.
- * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
- * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
- * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
- * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
- * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
- * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Fix register numbers in the FDE for
- ffi_closure_SYSV.
-
-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.
-
-2006-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
- and cast integer to void * if needed. Update the pointer to
- the FP register saved area correctly.
-
-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.
-
-2006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/return_dbl.c: New test case.
- * testsuite/libffi.call/return_dbl1.c: Likewise.
- * testsuite/libffi.call/return_dbl2.c: Likewise.
- * testsuite/libffi.call/return_fl.c: Likewise.
- * testsuite/libffi.call/return_fl1.c: Likewise.
- * testsuite/libffi.call/return_fl2.c: Likewise.
- * testsuite/libffi.call/return_fl3.c: Likewise.
- * testsuite/libffi.call/closure_fn6.c: Likewise.
-
- * 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.
-
-2006-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.ac: Enable libffi for sparc64-*-freebsd*.
- * configure: Rebuilt.
-
-2006-01-18 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
- instead do the shifting inline.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
- shift count unconditionally. Simplify load sequences for 1, 2, 3, 4
- and 8 byte structs, for the remaining struct sizes don't call
- __lshrdi3, instead do the shifting inline.
-
-2005-12-07 Thiemo Seufer <ths@networkno.de>
-
- * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
- missing parentheses.
- * src/mips/o32.S (ffi_call_O32): Code formatting. Define
- and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
- (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
- A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
- V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
- FA_0_0_OFF2.
- * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
- endianness bugs.
- (ffi_prep_closure): Improve trampoline instruction scheduling.
- (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c: Formatting.
- (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
- (ffi_prep_args64): Likewise.
-
-2005-09-30 Geoffrey Keating <geoffk@apple.com>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
- darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26 Tom Tromey <tromey@redhat.com>
-
- * 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.
-
-2005-08-25 Alan Modra <amodra@bigpond.net.au>
-
- PR target/23404
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
- homed fp args.
- (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11 Jakub Jelinek <jakub@redhat.com>
-
- * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
- (AH_BOTTOM): Add FFI_HIDDEN definition.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * src/powerpc/ffi.c (hidden): Remove.
- (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
- ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
- .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
- * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
- add FFI_HIDDEN to its prototype.
- (ffi_closure_SYSV_inner): New.
- * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
- * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10 Alfred M. Szmidt <ams@gnu.org>
-
- PR libffi/21819:
- * configure: Rebuilt.
- * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
- DW_CFA_offset_extended_sf rather than
- DW_CFA_GNU_negative_offset_extended.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
-
- * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
- on sh3.
- (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
- * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
- partially on register.
- (ffi_closure_helper_SYSV): Likewise.
- (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_call): Handle small structures correctly.
- Remove empty line.
- * src/sh64/ffi.c (simple_type): Remove.
- (return_type): Handle small structures correctly.
- (ffi_prep_args): Likewise.
- (ffi_call): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
- Emit position independent code if PIC and remove wrong datalabel
- prefixes from EH data.
-
-2005-07-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure.ac: Add POWERPC_FREEBSD rules.
- * configure: Regenerate.
- * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
- (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
- * src/powerpc/ffi.c: Add flags to handle small structure returns
- in ffi_call_SYSV.
- (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
- Aka FFI_SYSV.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Add return types for small structures.
- * src/powerpc/sysv.S: Add bits to handle small structures for
- final SYSV 4 ABI.
-
-2005-07-10 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_5_1_byte.c: New test file.
- * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05 Randolph Chung <tausq@debian.org>
-
- * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
- as FFI_TYPE_SMALL_STRUCT3. Break out handling for 5-7 byte
- structures. Kill compilation warnings.
- (ffi_closure_inner_LINUX): Print return values as hex in debug
- message. Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
- Properly handle 5-7 byte structure returns.
- * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
- (FFI_TYPE_SMALL_STRUCT2): Remove.
- (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
- (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
- * src/pa/linux.S: Mark source file as using PA1.1 assembly.
- (checksmst1, checksmst2): Remove.
- (checksmst3): Optimize handling of 3-byte struct returns.
- (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libgcj/21943
- * src/mips/n32.S: Enforce PIC code.
- * src/mips/o32.S: Likewise.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
- * configure: Regenerate.
-
-2005-06-01 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
- to call ffi_closure_helper_SYSV. Append @local instead.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
- Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
- * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
- * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
- include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-05-08 Richard Henderson <rth@redhat.com>
-
- PR libffi/21285
- * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04 Andreas Degert <ad@papyrus-gmbh.de>
- Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
- bit 11 of flags.
- (ffi_call): Mask return type field. Pass ssecount to ffi_call_unix64.
- (ffi_prep_closure): Set carry bit if sse-used flag set.
- * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
- Only load sse registers if ssecount non-zero.
- (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
- powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
- * configure: Regenerate.
-
-2005-04-20 Hans-Peter Nilsson <hp@axis.com>
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
- have Tcl8.3-compatible intermediate variable.
-
-2005-04-18 Simon Posnjak <simon.posnjak@siol.net>
- Hans-Peter Nilsson <hp@axis.com>
-
- * Makefile.am: Add CRIS support.
- * configure.ac: Likewise.
- * Makefile.in, configure, testsuite/Makefile.in,
- include/Makefile.in: Regenerate.
- * src/cris: New directory.
- * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
- * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
- \r?\n in output tests.
-
-2005-04-12 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-03-30 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30 Steve Ellcey <sje@cup.hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
- (ffi_sarg) Ditto.
- * src/ia64/unix.S (ffi_closure_unix): Extend gp
- to 64 bits in ILP32 mode.
- Load 64 bits even for short data.
-
-2005-03-23 Mike Stump <mrs@apple.com>
-
- * src/powerpc/darwin.S: Update for -m64 multilib.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21 Zack Weinberg <zack@codesourcery.com>
-
- * 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.
-
-2005-02-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
- odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR libffi/20104
- * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11 Janis Johnson <janis187@us.ibm.com>
-
- * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
- * testsuite/libffi.call/float.c: Ditto.
- * testsuite/libffi.call/float2.c: Ditto.
- * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * testsuite/libffi.special/special.exp (cxx_options): Add
- -shared-libgcc.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
- (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
- offset parameters with a type parameter; deduce size and structure
- alignment. Update all users.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
- (FFI_TYPE_LONGDOUBLE): Fix for ia64.
- * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
- into ffi_prep_closure.
- * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
- from scratch.
-
-2004-12-27 Richard Henderson <rth@redhat.com>
-
- * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25 Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
- (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
- (merge_classes): Check for it.
- (SSE_CLASS_P): New.
- (classify_argument): Pass byte_offset by value; perform all updates
- inside struct case.
- (examine_argument): Add classes argument; handle
- X86_64_COMPLEX_X87_CLASS.
- (ffi_prep_args): Merge into ...
- (ffi_call): ... here. Share stack frame with ffi_call_unix64.
- (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
- (ffi_fill_return_value): Remove.
- (ffi_prep_closure): Remove dead assert.
- (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
- Rewrite to use struct register_args instead of va_list. Create
- flags for handling structure returns.
- * src/x86/unix64.S: Remove dead strings.
- (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share
- stack frame with ffi_call. Handle structure returns properly.
- (float2sse, floatfloat2sse, double2sse): Remove.
- (sse2float, sse2double, sse2floatfloat): Remove.
- (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite
- to handle structure returns properly.
-
-2004-12-08 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
- PICFLAG.
- * Makefile.in: Regenerated.
-
-2004-12-02 Richard Sandiford <rsandifo@redhat.com>
-
- * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
- * configure, aclocal.m4, Makefile.in: Regenerate.
- * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-25 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool reversion.
-
-2004-11-24 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23 Richard Sandiford <rsandifo@redhat.com>
-
- * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
- of jal. Use an absolute encoding for the frame information.
-
-2004-11-23 Kelley Cook <kcook@gcc.gnu.org>
-
- * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS.
- * acinclude.m4: Delete logic for sincludes.
- * aclocal.m4, Makefile.in, configure: Regenerate.
- * include/Makefile: Likewise.
- * testsuite/Makefile: Likewise.
-
-2004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
- on a 8-byte boundary.
- * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
- long long values. Round stack allocation to a multiple of 8 bytes
- for ATPCS compatibility.
- * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
- names. Handle returning long long types. Add Thumb and interworking
- support. Improve soft-float code.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
- (libffi_exit): New function.
- (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR other/18138
- * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
- * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
- the function returning a structure pointed with R2.
- * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
- the structure return value if T bit set. Emit position
- independent code and EH data if PIC.
-
-2004-10-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * Makefile.am: Add m32r support.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * confiugre: Regenerate.
- * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
- (uint64, sint64, double, longdouble)
- * src/m32r: New directory.
- * src/m32r/ffi.c: New file.
- * src/m32r/sysv.S: Likewise.
- * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * testsuite/libffi.call/negint.c: New test case.
-
-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.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/many_win32.c: Remove whitespaces.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
- whitespaces.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Fix comments and identation.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
- (ffi_prep_args): Handle longdouble arguments.
- (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
- longdouble.
- (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
- * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
- values.
- * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
- * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/aix.S: Remove whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
- * src/powerpc/asm.h: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffitarget.h: Likewise.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
-
-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.in: Read configure.host.
- * 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 shouldn't 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.
-
-2004-08-24 David Daney <daney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
- to zero.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23 David Daney <daney@avtrex.com>
-
- PR libgcj/13141
- * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
- * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
- (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
- parameters and return types.
- (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
- (ffi_prep_closure): Ditto.
- (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
- alignment calculations.
- * src/mips/o32.S (ffi_closure_O32): Don't use floating point
- instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14 Casey Marshall <csm@gnu.org>
-
- * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
- contain `FFI_TYPE_UINT64' as return type for any 64-bit
- integer (O32 ABI only).
- (ffi_prep_closure): new function.
- (ffi_closure_mips_inner_O32): new function.
- * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
- `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
- * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
- 64 bit integers correctly.
- (ffi_closure_O32): new function.
- Added DWARF-2 unwind info for both functions.
-
-2004-08-10 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01 Robert Millan <robertmh@gnu.org>
-
- * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
- * configure: Regenerate.
-
-2004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
-
- * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
- and mmap() explicitly instead of relying on preset autoconf cache
- variables.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
- (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
- character on Darwin, use '\n\t' instead.
-
-2004-06-26 Matthias Klose <doko@debian.org>
-
- * libtool-version: Fix typo in revision/age.
-
-2004-06-17 Matthias Klose <doko@debian.org>
-
- * libtool-version: New.
- * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
- * Makefile.in: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * Makefile.am: Remove useless multilib rules.
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate with automake 1.8.5.
- * configure.ac: Remove useless multilib configury.
- * configure: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * .cvsignore: New file.
-
-2004-06-10 Jakub Jelinek <jakub@redhat.com>
-
- * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
- fp_done.
- (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
- changed from 8.
-
-2004-06-06 Sean McNeil <sean@mcneil.com>
-
- * configure.ac: Add x86_64-*-freebsd* support.
- * configure: Regenerate.
-
-2004-04-26 Joe Buck <jbuck@welsh-buck.org>
-
- Bug 15093
- * configure.ac: Test for existence of mmap and sys/mman.h before
- checking blacklist. Fix suggested by Jim Wilson.
- * configure: Regenerate.
-
-2004-04-26 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
- FDE location.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
- error. Reported by Thomas Heller <theller@python.net>.
- * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20 Matthias Klose <doko@debian.org>
-
- * src/pa/linux.S: Fix typo.
-
-2004-03-19 Matthias Klose <doko@debian.org>
-
- * Makefile.am: Update.
- * Makefile.in: Regenerate.
- * src/pa/ffi.h.in: Remove.
- * src/pa/ffitarget.h: New file.
-
-2004-02-10 Randolph Chung <tausq@debian.org>
-
- * Makefile.am: Add PA support.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * configure.ac: Add PA target.
- * configure: Regenerate.
- * src/pa/ffi.c: New file.
- * src/pa/ffi.h.in: Add PA support.
- * src/pa/linux.S: New file.
- * prep_cif.c: Add PA support.
-
-2004-03-16 Hosaka Yuji <hos@tamanegi.org>
-
- * src/types.c: Fix alignment size of X86_WIN32 case int64 and
- double.
- * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
- with ecif->cif->flags.
- (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
- with cif->flags.
- (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
- (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
- * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
- sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.in: Rename file to ...
- * configure.ac: ... this.
- * fficonfig.h.in: Regenerate.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2004-03-12 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Fix EH information so it corresponds to
- changes in EH format resulting from addition of linkonce support.
- * src/powerpc/darwin_closure.S: Likewise.
-
-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.
-
-2004-03-11 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
- arguments from fp registers only for the first 8 parameter slots.
- Don't convert a float parameter when passed in memory.
-
-2004-03-09 Hans-Peter Nilsson <hp@axis.com>
-
- * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
-
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
- ecif->cif->bytes to bytes.
- (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
- * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
- (ffi_closure_helper_LINUX64): Fix typo.
- * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
- for powerpc64-*-*.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
- long double function return and long double arg handling.
- (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
- Use "end_pfr" instead of "nf". Correct long double handling.
- Localise "temp".
- * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
- return value.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
- space for long double return value. Adjust stack frame and offsets.
- Load f2 long double return.
-
-2004-02-07 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
- when the structure return address is passed in %o0.
- (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
- (ffi_v9_layout_struct): Align the field following a nested structure
- on a word boundary. Use memmove instead of memcpy.
- (ffi_call): Update call to ffi_V9_return_struct.
- (ffi_prep_closure): Define 'ctx' only for V8.
- (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
- and ffi_closure_sparc_inner_v9.
- (ffi_closure_sparc_inner_v8): Return long doubles by reference.
- Always skip the structure return address. For structures and long
- doubles, copy the argument directly.
- (ffi_closure_sparc_inner_v9): Skip the structure return address only
- if required. Shift the maximum floating-point slot accordingly. For
- big structures, copy the argument directly; otherwise, left-justify the
- argument and call ffi_v9_layout_struct to lay out the structure on
- the stack.
- * src/sparc/v8.S: Undef STACKFRAME before defining it.
- (ffi_closure_v8): Pass the structure return address. Update call to
- ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
- Skip the 'unimp' insn when returning long doubles and structures.
- * src/sparc/v9.S: Undef STACKFRAME before defining it.
- (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
- FFI_TYPE_INT handling. Load structures both in integers and
- floating-point registers on return.
- * README: Update status of the SPARC port.
-
-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.
-
-2004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
-
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
- value as of type ffi_arg, not unsigned int.
-
-2004-01-21 Michael Ritzert <ritzert@t-online.de>
-
- * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
- of the LHS.
-
-2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
- Solaris.
-
-2004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
- to void *.
-
-2003-12-10 Richard Henderson <rth@redhat.com>
-
- * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
- size_t instead of int.
-
-2003-12-04 Hosaka Yuji <hos@tamanegi.org>
-
- * testsuite/libffi.call/many_win32.c: Include <float.h>.
- * testsuite/libffi.call/many_win32.c (main): Replace variable
- int i with unsigned long ul.
-
- * testsuite/libffi.call/cls_align_uint64.c: New test case.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02 Hosaka Yuji <hos@tamanegi.org>
-
- PR other/13221
- * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
- Align arguments to 32 bits.
-
-2003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR other/13221
- * testsuite/libffi.call/cls_multi_sshort.c: New test case.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-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.
-
-2003-11-21 Andreas Jaeger <aj@suse.de>
- Andreas Tobler <a.tobler@schweiz.ch>
-
- * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
- * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
- * Makefile.in: Rebuilt.
- * aclocal.m4: Likewise.
- * configure: Likewise.
- * fficonfig.h.in: Likewise.
- * testsuite/lib/libffi-dg.exp: Add include dir.
- * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
- for ffi_closure if available.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
- Add -lgcc_s to additional flags.
-
-2003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.in, include/Makefile.am: PR libgcj/11147, install
- the ffitarget.h header file in a gcc versioned and target
- dependent place.
- * configure: Regenerated.
- * Makefile.in, include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Print result and check
- with dg-output to make debugging easier.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
- static.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_9byte2.c: New test case.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_double.c: Do a check on the result.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/prep_cif.c (ffi_prep_cif): Move the validity check after
- the initialization.
-
-2003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
- FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
- __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-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
-
-2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
- _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
- Used when FFI_DEBUG = 1.
-
-2003-10-14 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
- and align.
-
-2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
- FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
- SPARC64. Cleanup whitespaces.
-
-2003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
- strongarm, xscale. Cleanup whitespaces.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Cleanup whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
- * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
- parameter stack.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
- according to the Darwin/AIX ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_DARWIN): Likewise.
- Remove the outgoing parameter stack logic. Simplify the evaluation
- of the different CASE types.
- (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
- statement in the trampoline code.
-
-2003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
- for the register size.
- (ffi_closure_helper_SYSV): Handle the structure return value
- address correctly.
- (ffi_closure_helper_SYSV): Return the appropriate type when
- the registers are used for the structure return value.
- * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
- the 64-bit return value. Update copyright years.
-
-2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
- srcdir for ffi_mips.h.
-
-2003-09-12 Alan Modra <amodra@bigpond.net.au>
-
- * src/prep_cif.c (initialize_aggregate): Include tail padding in
- structure size.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
- placement of float result.
- * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
- cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Merge identical SH and ARM
- typedefs, and add POWERPC64.
- * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
- struct split over gpr and rest.
- (ffi_prep_cif_machdep): Correct intarg_count for structures.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
- passing correctly.
-
-2003-09-09 Alan Modra <amodra@bigpond.net.au>
-
- * configure: Regenerate.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Remove build rules for ffitest.
- * Makefile.in: Rebuilt.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
- about implicit declaration of abort().
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
- * Makefile.in: Rebuilt.
- * configure.in: Add dejagnu test framework.
- * configure: Rebuilt.
-
- * testsuite/Makefile.am: New file.
- * testsuite/Makefile.in: Built
- * testsuite/lib/libffi-dg.exp: New file.
- * testsuite/config/default.exp: Likewise.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Likewise.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float1.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/many.c: Likewise.
- * testsuite/libffi.call/many_win32.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
- * testsuite/libffi.call/strlen.c: Likewise.
- * testsuite/libffi.call/strlen_win32.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
- * testsuite/libffi.call/struct2.c: Likewise.
- * testsuite/libffi.call/struct3.c: Likewise.
- * testsuite/libffi.call/struct4.c: Likewise.
- * testsuite/libffi.call/struct5.c: Likewise.
- * testsuite/libffi.call/struct6.c: Likewise.
- * testsuite/libffi.call/struct7.c: Likewise.
- * testsuite/libffi.call/struct8.c: Likewise.
- * testsuite/libffi.call/struct9.c: Likewise.
- * testsuite/libffi.special/special.exp: New file.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
- copyright years.
-
-2003-08-02 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
- structure passing.
- (ffi_closure_helper_LINUX64): Likewise.
- * src/powerpc/linux64.S: Remove code writing to parm save area.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
- address in lr from ffi_closure_helper_LINUX64 call to calculate
- table address. Optimize function tail.
-
-2003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/sparc/ffi.c: Handle all floating point registers.
- * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
-
- * README: Note that libffi is not part of GCC. Update the project
- URL and status.
-
-2003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
- Use C style comments.
-
-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
- should be read-only.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * include/ffi.h.in (EH_FRAME_FLAGS): Define.
- * src/alpha/osf.S: Use EH_FRAME_FLAGS.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
- * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
- if -fpic/-fPIC/-mrelocatable.
- * src/powerpc/powerpc_closure.S: Likewise.
- * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
- #write in .eh_frame flags.
- * src/sparc/v9.S: Likewise.
- * src/x86/unix64.S: Use EH_FRAME_FLAGS.
- * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
- * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
-
-2003-05-07 Jeff Sturm <jsturm@one-point.com>
-
- Fixes PR bootstrap/10656
- * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
- support for .register pseudo-op.
- * src/sparc/v8.S: Use it.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2003-04-18 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (POWERPC64): Define if 64-bit.
- (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
- Make it the default on POWERPC64.
- (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
- * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
- * configure: Rebuilt.
- * src/powerpc/ffi.c (hidden): Define.
- (ffi_prep_args_SYSV): Renamed from
- ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
- (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
- ASM_NEEDS_REGISTERS64): New.
- (ffi_prep_args64): New function.
- (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
- (ffi_call): Likewise.
- (ffi_prep_closure): Likewise.
- (flush_icache): Surround by #ifndef POWERPC64.
- (ffi_dblfl): New union type.
- (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
- (ffi_closure_helper_LINUX64): New function.
- * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
- __powerpc64__.
- * src/powerpc/sysv.S: Likewise.
- (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
- * src/powerpc/linux64.S: New file.
- * src/powerpc/linux64_closure.S: New file.
- * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
- src/powerpc/linux64_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
- * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
- closure_test_fn3): Fix result printing on big-endian 64-bit
- machines.
- (main): Print tst2_arg instead of uninitialized tst2_result.
-
- * src/ffitest.c (main): Hide what closure pointer really points to
- from the compiler.
-
-2003-04-16 Richard Earnshaw <rearnsha@arm.com>
-
- * configure.in (arm-*-netbsdelf*): Add configuration.
- (configure): Regenerated.
-
-2003-04-04 Loren J. Rittle <ljrittle@acm.org>
-
- * include/Makefile.in: Regenerate.
-
-2003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
-
- * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
- bit mode.
- * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
- Receive closure pointer through parameter, read args using
- __builtin_dwarf_cfa.
- (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12 Andreas Schwab <schwab@suse.de>
-
- * configure.in: Avoid trailing /. in toolexeclibdir.
- * configure: Rebuilt.
-
-2003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/powerpc/darwin_closure.S:
- Fix alignement bug, allocate 8 bytes for the result.
- * libffi/src/powerpc/aix_closure.S:
- Likewise.
- * libffi/src/powerpc/ffi_darwin.c:
- Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06 Jakub Jelinek <jakub@redhat.com>
-
- * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
- attribute.
-
-2003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
- Andreas Schwab <schwab@suse.de>
-
- * configure.in: Adjust command to source config-ml.in to account
- for changes to the libffi_basedir definition.
- (libffi_basedir): Remove ${srcdir} from value and include trailing
- slash if nonempty.
-
- * configure: Regenerate.
-
-2003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
- * src/x86/ffi64.c (ffi_prep_closure): New.
- (ffi_closure_UNIX64_inner): New.
- * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
- Remove USE_LIBDIR conditional.
- * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
- * Makefile.in, configure: Rebuilt.
-
-2003-01027 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
- * Makefile.in: Regenerate.
-
-2003-01-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
- unwind info.
-
-2003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Add unwind info.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
- (ffi_prep_cif_machdep): Likewise.
- * src/x86/unix64.S: Add unwind info.
-
-2003-01-14 Andreas Jaeger <aj@suse.de>
-
- * src/ffitest.c (main): Only use ffi_closures if those are
- supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/ffitest.c
- add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
- * libffi/src/powerpc/ffi.c
- fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c: Remove RCS version string.
- * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
- * src/ffitest.c (main): Use static storage for closure.
- * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
- * src/sparc/v8.S (ffi_closure_v8): New.
- * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10 Ranjit Mathew <rmathew@hotmail.com>
-
- * include/ffi.h.in: Added FFI_STDCALL ffi_type
- enumeration for X86_WIN32.
- * src/x86/win32.S: Added ffi_call_STDCALL function
- definition.
- * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
- switch cases for recognising FFI_STDCALL and
- calling ffi_call_STDCALL if target is X86_WIN32.
- * src/ffitest.c (my_stdcall_strlen/stdcall_many):
- stdcall versions of the "my_strlen" and "many"
- test functions (for X86_WIN32).
- Added test cases to test stdcall invocation using
- these functions.
-
-2002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26 Jim Wilson <wilson@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23 H.J. Lu <hjl@gnu.org>
-
- * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
- Include ../config/accross.m4.
- * aclocal.m4; Rebuild.
- * configure: Likewise.
-
-2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11 DJ Delorie <dj@redhat.com>
-
- * configure.in: Look for common files in the right place.
-
-2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
- raw data as _Jv_word values, not ffi_raw.
- (ffi_java_ptrarray_to_raw): Likewise.
- (ffi_java_rvalue_to_raw): New function.
- (ffi_java_raw_call): Call it.
- (ffi_java_raw_to_rvalue): New function.
- (ffi_java_translate_args): Call it.
- * src/ffitest.c (closure_test_fn): Interpret return value
- as ffi_arg, not int.
- * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
- FFI_TYPE_POINTER case.
- (ffi_closure_helper_SYSV): Likewise. Also, assume return
- values extended to word size.
-
-2002-10-02 Andreas Jaeger <aj@suse.de>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01 Bo Thorsen <bo@smetana.suse.de>
-
- * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
-
- * configure.in: Add s390x-*-linux-* target.
- * configure: Regenerate.
- * include/ffi.h.in: Define S390X for s390x targets.
- (FFI_CLOSURES): Define for s390/s390x.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
- * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
- * src/s390/ffi.c: Major rework of existing code. Add support for
- s390x targets. Add closure support.
- * src/s390/sysv.S: Likewise.
-
-2002-09-29 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: Fix typo.
-
-2002-09-28 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
- has defined __USER_LABEL_PREFIX__, then use it in CNAME.
- (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27 Bo Thorsen <bo@suse.de>
-
- * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * configure.in (sh[34]*-*-linux*): Add brackets.
- * configure: Regenerate.
-
-2002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * Makefile.am: Add SH support.
- * Makefile.in: Regenerate.
- * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
- * configure: Regenerate.
- * include/ffi.h.in: Add SH support.
- * src/sh/ffi.c: New file.
- * src/sh/sysv.S: New file.
- * src/types.c: Add SH support.
-
-2002-07-16 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi64.c: New file that adds x86-64 support.
- * src/x86/unix64.S: New file that handles argument setup for
- x86-64.
- * src/x86/sysv.S: Don't use this on x86-64.
- * src/x86/ffi.c: Don't use this on x86-64.
- Remove unused vars.
- * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
- for x86-64.
- * src/ffitest.c (struct6): New test that tests a special case in
- the x86-64 ABI.
- (struct7): Likewise.
- (struct8): Likewise.
- (struct9): Likewise.
- (closure_test_fn): Silence warning about this when it's not used.
- (main): Add the new tests.
- (main): Fix a couple of wrong casts and silence some compiler warnings.
- * include/ffi.h.in: Add x86-64 ABI definition.
- * fficonfig.h.in: Regenerate.
- * Makefile.am: Add x86-64 support.
- * configure.in: Likewise.
- * Makefile.in: Regenerate.
- * configure: Likewise.
-
-2002-06-24 Bo Thorsen <bo@suse.de>
-
- * src/types.c: Merge settings for similar architectures.
- Add x86-64 sizes and alignments.
-
-2002-06-23 Bo Thorsen <bo@suse.de>
-
- * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
- * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
- * src/mips/ffi.c (ffi_prep_args): Likewise.
- * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18 H.J. Lu (hjl@gnu.org)
-
- * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
- (libffi_la_SOURCES): Support MIPS_LINUX.
- (libffi_convenience_la_SOURCES): Likewise.
- * Makefile.in: Regenerated.
-
- * configure.in (mips64*-*): Skip.
- (mips*-*-linux*): New.
- * configure: Regenerated.
-
- * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
-
-2002-05-27 Roger Sayle <roger@eyesopen.com>
-
- * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
- fix formatting.
-
-2002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
- beginning of function (for older apple cc).
-
-2002-05-08 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
- script entry, and set LD to it when configuring multilibs.
- * configure: Rebuilt.
-
-2002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (sparc64-*-netbsd*): Add target.
- (sparc-*-netbsdelf*): Likewise.
- * configure: Regenerate.
-
-2002-04-28 David S. Miller <davem@redhat.com>
-
- * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
-
- * Makefile.am: Add Linux for S/390 support.
- * Makefile.in: Regenerate.
- * configure.in: Add Linux for S/390 support.
- * configure: Regenerate.
- * include/ffi.h.in: Add Linux for S/390 support.
- * src/s390/ffi.c: New file from libffi CVS tree.
- * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
- %r_disp32().
- * src/sparc/v8.S: Use it.
- * src/sparc/v9.S: Likewise.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2002-04-08 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
- correctly.
- * src/ia64/unix.S: Add unwind information. Fix comments.
- Save sp in a way that's compatible with unwind info.
- (ffi_call_unix): Correctly restore sp in all cases.
- * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08 Jakub Jelinek <jakub@redhat.com>
-
- * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (alpha*-*-netbsd*): Add target.
- * configure: Regenerate.
-
-2002-04-04 Jeff Sturm <jsturm@one-point.com>
-
- * src/sparc/v8.S: Add unwind info.
- * src/sparc/v9.S: Likewise.
-
-2002-03-30 Krister Walfridsson <cato@df.lth.se>
-
- * configure.in: Enable i*86-*-netbsdelf*.
- * configure: Rebuilt.
-
-2002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
-
- PR other/2620
- * src/mips/n32.s: Delete
- * src/mips/o32.s: Delete
-
-2002-03-21 Loren J. Rittle <ljrittle@acm.org>
-
- * configure.in: Enable alpha*-*-freebsd*.
- * configure: Rebuilt.
-
-2002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * Makefile.am: libfficonvenience -> libffi_convenience.
- * Makefile.in: Rebuilt.
-
- * Makefile.am: Define ffitest_OBJECTS.
- * Makefile.in: Rebuilt.
-
-2002-03-07 Andreas Tobler <toa@pop.agri.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
- (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
- (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
- * Makefile.in: Regenerate.
- * include/ffi.h.in: Add AIX and Darwin closure definitions.
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
- (flush_icache, flush_range): New functions.
- (ffi_closure_helper_DARWIN): New function.
- * src/powerpc/aix_closure.S: New file.
- * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add typedef for ffi_arg.
- * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21 Andreas Tobler <toa@pop.agri.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
- number of GPRs for floating-point arguments.
-
-2002-01-31 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Replace CHECK_SIZEOF and endian tests with
- cross-compiler friendly macros.
- * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
- macros.
-
-2002-01-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): New.
- * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
- (TARGET_SRC_POWERPC_AIX): New.
- (POWERPC_AIX): New stanza.
- * Makefile.in: Regenerate.
- * configure.in: Add AIX case.
- * configure: Regenerate.
- * include/ffi.h.in (ffi_abi): Add FFI_AIX.
- * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
- size. Fix "long double" support.
- (ffi_call): Add FFI_AIX case.
- * src/powerpc/aix.S: New.
-
-2001-10-09 John Hornkvist <john@toastedmarshmallow.com>
-
- Implement Darwin PowerPC ABI.
- * configure.in: Handle powerpc-*-darwin*.
- * Makefile.am: Set source files for POWERPC_DARWIN.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
- * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
- POWERPC_DARWIN.
- * src/powerpc/darwin.S: New file.
- * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .balign directive.
- Use C style comments.
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
- Fixes PR bootstrap/3563.
-
-2001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.in: Recognize sparc*-sun-* host.
- * configure: Regenerate.
-
-2001-06-06 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S: Add unwind info.
- * src/powerpc/sysv.S: Add unwind info.
- * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31 Jeff Sturm <jsturm@one-point.com>
-
- * configure.in: Fix AC_ARG_ENABLE usage.
- * configure: Rebuilt.
-
-2001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * configure.in: Remove warning about beta code.
- * configure: Rebuilt.
-
-2001-04-25 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/ia64/unix.S: Restore stack pointer when returning from
- ffi_closure_UNIX.
- * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18 Jim Wilson <wilson@redhat.com>
-
- * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
- to eliminate RAW DV.
-
-2001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
-
- * Makefile.am: Make a libtool convenience library.
- * Makefile.in: Rebuilt.
-
-2001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Use different syntax for subdirectory creation.
- * configure: Rebuilt.
-
-2001-03-27 Jon Beniston <jon@beniston.com>
-
- * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
- * configure: Rebuilt.
- * Makefile.am: Added X86_WIN32 target support.
- * Makefile.in: Rebuilt.
-
- * include/ffi.h.in: Added X86_WIN32 target support.
-
- * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
- * src/types.c: Added X86_WIN32 target support.
-
- * src/x86/win32.S: New file. Based on sysv.S, but with EH
- stuff removed and made to work with CygWin's gas.
-
-2001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Make target subdirectory in build dir.
- * Makefile.am: Override suffix based rules to specify correct output
- subdirectory.
- * Makefile.in: Rebuilt.
- * configure: Rebuilt.
-
-2001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
-
- * src/powerpc/ppc_closure.S: New file.
- * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
- involving long long and register pairs.
- (ffi_prep_closure): New function.
- (flush_icache): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * Makefile.in: Rebuilt.
- * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19 Tom Tromey <tromey@redhat.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02 Nick Clifton <nickc@redhat.com>
-
- * include/ffi.h.in: Remove RCS ident string.
- * include/ffi_mips.h: Remove RCS ident string.
- * src/debug.c: Remove RCS ident string.
- * src/ffitest.c: Remove RCS ident string.
- * src/prep_cif.c: Remove RCS ident string.
- * src/types.c: Remove RCS ident string.
- * src/alpha/ffi.c: Remove RCS ident string.
- * src/alpha/osf.S: Remove RCS ident string.
- * src/arm/ffi.c: Remove RCS ident string.
- * src/arm/sysv.S: Remove RCS ident string.
- * src/mips/ffi.c: Remove RCS ident string.
- * src/mips/n32.S: Remove RCS ident string.
- * src/mips/o32.S: Remove RCS ident string.
- * src/sparc/ffi.c: Remove RCS ident string.
- * src/sparc/v8.S: Remove RCS ident string.
- * src/sparc/v9.S: Remove RCS ident string.
- * src/x86/ffi.c: Remove RCS ident string.
- * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * include/ffi.h.in: Change sourceware.cygnus.com references to
- gcc.gnu.org.
-
-2000-12-09 Richard Henderson <rth@redhat.com>
-
- * src/alpha/ffi.c (ffi_call): Simplify struct return test.
- (ffi_closure_osf_inner): Index rather than increment avalue
- and arg_types. Give ffi_closure_osf the raw return value type.
- * src/alpha/osf.S (ffi_closure_osf): Handle return value type
- promotion.
-
-2000-12-07 Richard Henderson <rth@redhat.com>
-
- * src/raw_api.c (ffi_translate_args): Fix typo.
- (ffi_prep_closure): Likewise.
-
- * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
- FFI_TRAMPOLINE_SIZE.
- * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
- cif->bytes for new ffi_call_osf implementation.
- (ffi_prep_args): Absorb into ...
- (ffi_call): ... here. Do all stack allocation here and
- avoid a callback function.
- (ffi_prep_closure, ffi_closure_osf_inner): New.
- * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
- (ffi_closure_osf): New.
-
-2000-09-10 Alexandre Oliva <aoliva@redhat.com>
-
- * config.guess, config.sub, install-sh: Removed.
- * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
- * Makefile.in: Rebuilt.
-
- * acinclude.m4: Include libtool macros from the top level.
- * aclocal.m4, configure: Rebuilt.
-
-2000-08-22 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
- * configure: Rebuilt.
-
-2000-05-11 Scott Bambrough <scottb@netwinder.org>
-
- * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
- memory correctly. Use conditional instructions, not branches where
- possible.
-
-2000-05-04 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Match `arm*-*-linux-*'.
- From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (SUBDIRS): Define.
- (AM_MAKEFLAGS): Likewise.
- (Multilib support.): Add section.
- * Makefile.in: Rebuilt.
- * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
- New variables. Set for gcc using -print-multi-lib. Export them
- to libtool.
- (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
- * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
- for -shared links.
- (extra_compiler_flags_value, extra_compiler_flags): Check these
- for extra compiler options which need to be passed down in
- compiler_flags.
-
-2000-04-16 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
- Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
- * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
- Replace all void * sizeofs with sizeof(int).
- Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
- different than DOUBLE.
- Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
- (ffi_prep_args_v9): New function.
- (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
- (ffi_V9_return_struct): New function.
- (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
- 32bit code (not yet cross-arch calls).
- * src/sparc/v8.S: Add struct return delay nop.
- Handle long long.
- * src/sparc/v9.S: New file.
- * src/prep_cif.c (ffi_prep_cif): Return structure pointer
- is used on sparc64 only for structures larger than 32 bytes.
- Pass by reference for structures is done for structure arguments
- larger than 16 bytes.
- * src/ffitest.c (main): Use 64bit rint on sparc64.
- Run long long tests on sparc.
- * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
- sparc64.
- (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
- on sparc64.
- * configure.in (sparc-*-linux*): New supported target.
- (sparc64-*-linux*): Likewise.
- * configure: Rebuilt.
- * Makefile.am: Add v9.S to SPARC files.
- * Makefile.in: Likewise.
- (LINK): Surround $(CCLD) into double quotes, so that multilib
- compiles work correctly.
-
-2000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: (i*86-*-solaris*): New libffi target. Patch
- proposed by Bryce McKinlay.
-
-2000-03-20 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
-
- * config.guess, config.sub: Update from the gcc tree.
- Fix for PR libgcj/168.
-
-2000-03-03 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Fixed ia64 by hand.
-
- * configure: Rebuilt.
- * configure.in (--enable-multilib): New option.
- (libffi_basedir): New subst.
- (AC_OUTPUT): Added multilib code.
-
-2000-03-02 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
- directory name.
-
-2000-02-25 Hans Boehm <boehm@acm.org>
-
- * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
- files.
- * src/raw_api.c (ffi_translate_args): Fixed typo in argument
- list.
- (ffi_prep_raw_closure): Use ffi_translate_args, not
- ffi_closure_translate.
- * src/java_raw_api.c: New file.
- * src/ffitest.c (closure_test_fn): New function.
- (main): Define `rint' as long long on IA64. Added new test when
- FFI_CLOSURES is defined.
- * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
- (ffi_abi): Recognize IA64.
- (ffi_raw): Added `flt' field.
- Added "Java raw API" code.
- * configure.in: Recognize ia64.
- * Makefile.am (TARGET_SRC_IA64): New macro.
- (libffi_la_common_SOURCES): Added java_raw_api.c.
- (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01 Tom Tromey <tromey@cygnus.com>
-
- * include/ffi.h.in: Removed PACKAGE and VERSION defines and
- undefs.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
- * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
- Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
- * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09 Anthony Green <green@cygnus.com>
-
- * include/ffi.h.in: Try to work around messy header problem
- with PACKAGE and VERSION.
-
- * configure: Rebuilt.
- * configure.in: Change version to 2.00-beta.
-
- * fficonfig.h.in: Rebuilt.
- * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
- * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
-
- * src/x86/ffi.c (ffi_closure_SYSV): New function.
- (ffi_prep_incoming_args_SYSV): Ditto.
- (ffi_prep_closure): Ditto.
- (ffi_closure_raw_SYSV): Ditto.
- (ffi_prep_raw_closure): More ditto.
- (ffi_call_raw): Final ditto.
-
- * include/ffi.h.in: Add definitions for closure and raw API.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
- FFI_TYPE_UINT64.
-
- * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
- * src/raw_api.c: New file.
-
- * include/ffi.h.in (ffi_raw): New type.
- (UINT_ARG, SINT_ARG): New defines.
- (ffi_closure, ffi_raw_closure): New types.
- (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
- * configure.in: Add check for endianness and sizeof void*.
-
- * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
- instead of directly.
-
- * configure: Rebuilt.
-
-Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
-
- * configure.in: Add x86 and powerpc BeOS configurations.
- From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09 Anthony Green <green@cygnus.com>
-
- * configure.in: Add warning about this being beta code.
- Remove src/Makefile.am from the picture.
- * configure: Rebuilt.
-
- * Makefile.am: Move logic from src/Makefile.am. Add changes
- to support libffi as a target library.
- * Makefile.in: Rebuilt.
-
- * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
- Upgraded to new autoconf, automake, libtool.
-
- * README: Tweaks.
-
- * LICENSE: Update copyright date.
-
- * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29 Anthony Green <green@cygnus.com>
-
- * include/ChangeLog: Removed.
- * src/ChangeLog: Removed.
- * src/mips/ChangeLog: Removed.
- * src/sparc/ChangeLog: Remboved.
- * src/x86/ChangeLog: Removed.
-
- * ChangeLog.v1: Created.
diff --git a/.pc/msvcc-warning/msvcc.sh b/.pc/msvcc-warning/msvcc.sh
deleted file mode 100755
index 551c73d..0000000
--- a/.pc/msvcc-warning/msvcc.sh
+++ /dev/null
@@ -1,183 +0,0 @@
-#!/bin/sh
-
-# ***** BEGIN LICENSE BLOCK *****
-# Version: MPL 1.1/GPL 2.0/LGPL 2.1
-#
-# The contents of this file are subject to the Mozilla Public License Version
-# 1.1 (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-# http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-# for the specific language governing rights and limitations under the
-# License.
-#
-# The Original Code is the MSVC wrappificator.
-#
-# The Initial Developer of the Original Code is
-# Timothy Wall <twalljava@dev.java.net>.
-# Portions created by the Initial Developer are Copyright (C) 2009
-# the Initial Developer. All Rights Reserved.
-#
-# Contributor(s):
-# Daniel Witte <dwitte@mozilla.com>
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either the GNU General Public License Version 2 or later (the "GPL"), or
-# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-# in which case the provisions of the GPL or the LGPL are applicable instead
-# of those above. If you wish to allow use of your version of this file only
-# under the terms of either the GPL or the LGPL, and not to allow others to
-# use your version of this file under the terms of the MPL, indicate your
-# decision by deleting the provisions above and replace them with the notice
-# and other provisions required by the GPL or the LGPL. If you do not delete
-# the provisions above, a recipient may use your version of this file under
-# the terms of any one of the MPL, the GPL or the LGPL.
-#
-# ***** END LICENSE BLOCK *****
-
-#
-# GCC-compatible wrapper for cl.exe and ml.exe. Arguments are given in GCC
-# format and translated into something sensible for cl or ml.
-#
-
-args="-nologo"
-md=-MD
-cl="cl"
-ml="ml"
-output=
-
-while [ $# -gt 0 ]
-do
- case $1
- in
- -fexceptions)
- # Don't enable exceptions for now.
- #args="$args -EHac"
- shift 1
- ;;
- -m32)
- shift 1
- ;;
- -m64)
- cl="cl" # "$MSVC/x86_amd64/cl"
- ml="ml64" # "$MSVC/x86_amd64/ml64"
- shift 1
- ;;
- -O*)
- args="$args $1"
- shift 1
- ;;
- -g)
- # Can't specify -RTC1 or -Zi in opt. -Gy is ok. Use -OPT:REF?
- args="$args -D_DEBUG -RTC1 -Zi"
- md=-MDd
- shift 1
- ;;
- -c)
- args="$args -c"
- args="$(echo $args | sed 's%/Fe%/Fo%g')"
- single="-c"
- shift 1
- ;;
- -D*=*)
- name="$(echo $1|sed 's/-D\([^=][^=]*\)=.*/\1/g')"
- value="$(echo $1|sed 's/-D[^=][^=]*=//g')"
- args="$args -D${name}='$value'"
- defines="$defines -D${name}='$value'"
- shift 1
- ;;
- -D*)
- args="$args $1"
- defines="$defines $1"
- shift 1
- ;;
- -I)
- args="$args -I$2"
- includes="$includes -I$2"
- shift 2
- ;;
- -I*)
- args="$args $1"
- includes="$includes $1"
- shift 1
- ;;
- -W|-Wextra)
- # TODO map extra warnings
- shift 1
- ;;
- -Wall)
- # -Wall on MSVC is overzealous. Use -W3 instead.
- args="$args -W3"
- shift 1
- ;;
- -Werror)
- args="$args -WX"
- shift 1
- ;;
- -W*)
- # TODO map specific warnings
- shift 1
- ;;
- -S)
- args="$args -FAs"
- shift 1
- ;;
- -o)
- outdir="$(dirname $2)"
- base="$(basename $2|sed 's/\.[^.]*//g')"
- if [ -n "$single" ]; then
- output="-Fo$2"
- else
- output="-Fe$2"
- fi
- if [ -n "$assembly" ]; then
- args="$args $output"
- else
- args="$args $output -Fd$outdir/$base -Fp$outdir/$base -Fa$outdir/$base"
- fi
- shift 2
- ;;
- *.S)
- src=$1
- assembly="true"
- shift 1
- ;;
- *.c)
- args="$args $1"
- shift 1
- ;;
- *)
- # Assume it's an MSVC argument, and pass it through.
- args="$args $1"
- shift 1
- ;;
- esac
-done
-
-if [ -n "$assembly" ]; then
- if [ -z "$outdir" ]; then
- outdir="."
- fi
- ppsrc="$outdir/$(basename $src|sed 's/.S$/.asm/g')"
- echo "$cl -nologo -EP $includes $defines $src > $ppsrc"
- "$cl" -nologo -EP $includes $defines $src > $ppsrc || exit $?
- output="$(echo $output | sed 's%/F[dpa][^ ]*%%g')"
- args="-nologo -safeseh $single $output $ppsrc"
-
- echo "$ml $args"
- eval "\"$ml\" $args"
- result=$?
-
- # required to fix ml64 broken output?
- #mv *.obj $outdir
-else
- args="$md $args"
- echo "$cl $args"
- eval "\"$cl\" $args"
- result=$?
-fi
-
-exit $result
-
diff --git a/.pc/msvcc/.timestamp b/.pc/msvcc/.timestamp
deleted file mode 100644
index e69de29..0000000
--- a/.pc/msvcc/.timestamp
+++ /dev/null
diff --git a/.pc/msvcc/Makefile.am b/.pc/msvcc/Makefile.am
deleted file mode 100644
index 7a89371..0000000
--- a/.pc/msvcc/Makefile.am
+++ /dev/null
@@ -1,197 +0,0 @@
-## Process this with automake to create Makefile.in
-
-AUTOMAKE_OPTIONS = foreign subdir-objects
-
-SUBDIRS = include testsuite man
-
-EXTRA_DIST = LICENSE ChangeLog.v1 ChangeLog.libgcj configure.host \
- src/alpha/ffi.c src/alpha/osf.S src/alpha/ffitarget.h \
- src/arm/ffi.c src/arm/sysv.S src/arm/ffitarget.h \
- src/avr32/ffi.c src/avr32/sysv.S src/avr32/ffitarget.h \
- src/cris/ffi.c src/cris/sysv.S src/cris/ffitarget.h \
- src/ia64/ffi.c src/ia64/ffitarget.h src/ia64/ia64_flags.h \
- src/ia64/unix.S src/mips/ffi.c src/mips/n32.S src/mips/o32.S \
- src/mips/ffitarget.h src/m32r/ffi.c src/m32r/sysv.S \
- src/m32r/ffitarget.h src/m68k/ffi.c src/m68k/sysv.S \
- src/m68k/ffitarget.h src/powerpc/ffi.c src/powerpc/sysv.S \
- src/powerpc/linux64.S src/powerpc/linux64_closure.S \
- src/powerpc/ppc_closure.S src/powerpc/asm.h src/powerpc/aix.S \
- src/powerpc/darwin.S src/powerpc/aix_closure.S \
- src/powerpc/darwin_closure.S src/powerpc/ffi_darwin.c \
- src/powerpc/ffitarget.h src/s390/ffi.c src/s390/sysv.S \
- src/s390/ffitarget.h src/sh/ffi.c src/sh/sysv.S \
- src/sh/ffitarget.h src/sh64/ffi.c src/sh64/sysv.S \
- src/sh64/ffitarget.h src/sparc/v8.S src/sparc/v9.S \
- src/sparc/ffitarget.h src/sparc/ffi.c src/x86/darwin64.S \
- src/x86/ffi.c src/x86/sysv.S src/x86/win32.S src/x86/darwin.S \
- src/x86/win64.S src/x86/freebsd.S src/x86/ffi64.c \
- src/x86/unix64.S src/x86/ffitarget.h src/pa/ffitarget.h \
- src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S src/frv/ffi.c \
- src/frv/eabi.S src/frv/ffitarget.h src/dlmalloc.c \
- src/moxie/ffi.c src/moxie/eabi.S libtool-version \
- ChangeLog.libffi m4/libtool.m4 m4/lt~obsolete.m4 \
- m4/ltoptions.m4 m4/ltsugar.m4
- m4/ltversion.m4 build-ios.sh src/arm/gentramp.sh
-
-info_TEXINFOS = doc/libffi.texi
-
-## ################################################################
-
-##
-## This section is for make and multilib madness.
-##
-
-# Work around what appears to be a GNU make bug handling MAKEFLAGS
-# values defined in terms of make variables, as is the case for CC and
-# friends when we are called from the top level Makefile.
-AM_MAKEFLAGS = \
- "AR_FLAGS=$(AR_FLAGS)" \
- "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
- "CFLAGS=$(CFLAGS)" \
- "CXXFLAGS=$(CXXFLAGS)" \
- "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
- "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
- "INSTALL=$(INSTALL)" \
- "INSTALL_DATA=$(INSTALL_DATA)" \
- "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
- "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
- "JC1FLAGS=$(JC1FLAGS)" \
- "LDFLAGS=$(LDFLAGS)" \
- "LIBCFLAGS=$(LIBCFLAGS)" \
- "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
- "MAKE=$(MAKE)" \
- "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
- "PICFLAG=$(PICFLAG)" \
- "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
- "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
- "SHELL=$(SHELL)" \
- "exec_prefix=$(exec_prefix)" \
- "infodir=$(infodir)" \
- "libdir=$(libdir)" \
- "mandir=$(mandir)" \
- "prefix=$(prefix)" \
- "AR=$(AR)" \
- "AS=$(AS)" \
- "CC=$(CC)" \
- "CXX=$(CXX)" \
- "LD=$(LD)" \
- "NM=$(NM)" \
- "RANLIB=$(RANLIB)" \
- "DESTDIR=$(DESTDIR)"
-
-MAKEOVERRIDES=
-
-ACLOCAL_AMFLAGS=$(ACLOCAL_AMFLAGS) -I m4
-
-lib_LTLIBRARIES = libffi.la
-noinst_LTLIBRARIES = libffi_convenience.la
-
-libffi_la_SOURCES = src/debug.c src/prep_cif.c src/types.c \
- src/raw_api.c src/java_raw_api.c src/closures.c
-
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = libffi.pc
-
-nodist_libffi_la_SOURCES =
-
-if MIPS
-nodist_libffi_la_SOURCES += src/mips/ffi.c src/mips/o32.S src/mips/n32.S
-endif
-if X86
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/sysv.S
-endif
-if X86_FREEBSD
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/freebsd.S
-endif
-if X86_WIN32
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/win32.S
-endif
-if X86_WIN64
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/win64.S
-endif
-if X86_DARWIN
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/darwin.S src/x86/ffi64.c src/x86/darwin64.S
-endif
-if SPARC
-nodist_libffi_la_SOURCES += src/sparc/ffi.c src/sparc/v8.S src/sparc/v9.S
-endif
-if ALPHA
-nodist_libffi_la_SOURCES += src/alpha/ffi.c src/alpha/osf.S
-endif
-if IA64
-nodist_libffi_la_SOURCES += src/ia64/ffi.c src/ia64/unix.S
-endif
-if M32R
-nodist_libffi_la_SOURCES += src/m32r/sysv.S src/m32r/ffi.c
-endif
-if M68K
-nodist_libffi_la_SOURCES += src/m68k/ffi.c src/m68k/sysv.S
-endif
-if POWERPC
-nodist_libffi_la_SOURCES += src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S src/powerpc/linux64.S src/powerpc/linux64_closure.S
-endif
-if POWERPC_AIX
-nodist_libffi_la_SOURCES += src/powerpc/ffi_darwin.c src/powerpc/aix.S src/powerpc/aix_closure.S
-endif
-if POWERPC_DARWIN
-nodist_libffi_la_SOURCES += src/powerpc/ffi_darwin.c src/powerpc/darwin.S src/powerpc/darwin_closure.S
-endif
-if POWERPC_FREEBSD
-nodist_libffi_la_SOURCES += src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S
-endif
-if ARM
-nodist_libffi_la_SOURCES += src/arm/sysv.S src/arm/ffi.c
-if FFI_EXEC_TRAMPOLINE_TABLE
-nodist_libffi_la_SOURCES += src/arm/trampoline.S
-endif
-endif
-if AVR32
-nodist_libffi_la_SOURCES += src/avr32/sysv.S src/avr32/ffi.c
-endif
-if LIBFFI_CRIS
-nodist_libffi_la_SOURCES += src/cris/sysv.S src/cris/ffi.c
-endif
-if FRV
-nodist_libffi_la_SOURCES += src/frv/eabi.S src/frv/ffi.c
-endif
-if MOXIE
-nodist_libffi_la_SOURCES += src/moxie/eabi.S src/moxie/ffi.c
-endif
-if S390
-nodist_libffi_la_SOURCES += src/s390/sysv.S src/s390/ffi.c
-endif
-if X86_64
-nodist_libffi_la_SOURCES += src/x86/ffi64.c src/x86/unix64.S src/x86/ffi.c src/x86/sysv.S
-endif
-if SH
-nodist_libffi_la_SOURCES += src/sh/sysv.S src/sh/ffi.c
-endif
-if SH64
-nodist_libffi_la_SOURCES += src/sh64/sysv.S src/sh64/ffi.c
-endif
-if PA_LINUX
-nodist_libffi_la_SOURCES += src/pa/linux.S src/pa/ffi.c
-endif
-if PA_HPUX
-nodist_libffi_la_SOURCES += src/pa/hpux32.S src/pa/ffi.c
-endif
-
-libffi_convenience_la_SOURCES = $(libffi_la_SOURCES)
-nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
-
-AM_CFLAGS = -g
-if FFI_DEBUG
-# Build debug. Define FFI_DEBUG on the commandline so that, when building with
-# MSVC, it can link against the debug CRT.
-AM_CFLAGS += -DFFI_DEBUG
-endif
-
-libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LTLDFLAGS) $(AM_LTLDFLAGS)
-
-AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
-AM_CCASFLAGS = $(AM_CPPFLAGS)
-
-# No install-html or install-pdf support in automake yet
-.PHONY: install-html install-pdf
-install-html:
-install-pdf:
diff --git a/.pc/msvcc/Makefile.in b/.pc/msvcc/Makefile.in
deleted file mode 100644
index 6074fda..0000000
--- a/.pc/msvcc/Makefile.in
+++ /dev/null
@@ -1,1832 +0,0 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-@MIPS_TRUE@am__append_1 = src/mips/ffi.c src/mips/o32.S src/mips/n32.S
-@X86_TRUE@am__append_2 = src/x86/ffi.c src/x86/sysv.S
-@X86_FREEBSD_TRUE@am__append_3 = src/x86/ffi.c src/x86/freebsd.S
-@X86_WIN32_TRUE@am__append_4 = src/x86/ffi.c src/x86/win32.S
-@X86_WIN64_TRUE@am__append_5 = src/x86/ffi.c src/x86/win64.S
-@X86_DARWIN_TRUE@am__append_6 = src/x86/ffi.c src/x86/darwin.S src/x86/ffi64.c src/x86/darwin64.S
-@SPARC_TRUE@am__append_7 = src/sparc/ffi.c src/sparc/v8.S src/sparc/v9.S
-@ALPHA_TRUE@am__append_8 = src/alpha/ffi.c src/alpha/osf.S
-@IA64_TRUE@am__append_9 = src/ia64/ffi.c src/ia64/unix.S
-@M32R_TRUE@am__append_10 = src/m32r/sysv.S src/m32r/ffi.c
-@M68K_TRUE@am__append_11 = src/m68k/ffi.c src/m68k/sysv.S
-@POWERPC_TRUE@am__append_12 = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S src/powerpc/linux64.S src/powerpc/linux64_closure.S
-@POWERPC_AIX_TRUE@am__append_13 = src/powerpc/ffi_darwin.c src/powerpc/aix.S src/powerpc/aix_closure.S
-@POWERPC_DARWIN_TRUE@am__append_14 = src/powerpc/ffi_darwin.c src/powerpc/darwin.S src/powerpc/darwin_closure.S
-@POWERPC_FREEBSD_TRUE@am__append_15 = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S
-@ARM_TRUE@am__append_16 = src/arm/sysv.S src/arm/ffi.c
-@ARM_TRUE@@FFI_EXEC_TRAMPOLINE_TABLE_TRUE@am__append_17 = src/arm/trampoline.S
-@AVR32_TRUE@am__append_18 = src/avr32/sysv.S src/avr32/ffi.c
-@LIBFFI_CRIS_TRUE@am__append_19 = src/cris/sysv.S src/cris/ffi.c
-@FRV_TRUE@am__append_20 = src/frv/eabi.S src/frv/ffi.c
-@MOXIE_TRUE@am__append_21 = src/moxie/eabi.S src/moxie/ffi.c
-@S390_TRUE@am__append_22 = src/s390/sysv.S src/s390/ffi.c
-@X86_64_TRUE@am__append_23 = src/x86/ffi64.c src/x86/unix64.S src/x86/ffi.c src/x86/sysv.S
-@SH_TRUE@am__append_24 = src/sh/sysv.S src/sh/ffi.c
-@SH64_TRUE@am__append_25 = src/sh64/sysv.S src/sh64/ffi.c
-@PA_LINUX_TRUE@am__append_26 = src/pa/linux.S src/pa/ffi.c
-@PA_HPUX_TRUE@am__append_27 = src/pa/hpux32.S src/pa/ffi.c
-# Build debug. Define FFI_DEBUG on the commandline so that, when building with
-# MSVC, it can link against the debug CRT.
-@FFI_DEBUG_TRUE@am__append_28 = -DFFI_DEBUG
-subdir = .
-DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in $(srcdir)/doc/stamp-vti \
- $(srcdir)/doc/version.texi $(srcdir)/fficonfig.h.in \
- $(srcdir)/libffi.pc.in $(top_srcdir)/configure ChangeLog \
- compile config.guess config.sub depcomp install-sh ltmain.sh \
- mdate-sh missing texinfo.tex
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
- $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
- configure.lineno config.status.lineno
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = fficonfig.h
-CONFIG_CLEAN_FILES = libffi.pc
-CONFIG_CLEAN_VPATH_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
- for p in $$list; do echo "$$p $$p"; done | \
- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
- if (++n[$$2] == $(am__install_max)) \
- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
- END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(infodir)" \
- "$(DESTDIR)$(pkgconfigdir)"
-LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES)
-libffi_la_LIBADD =
-am__dirstamp = $(am__leading_dot)dirstamp
-am_libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo src/types.lo \
- src/raw_api.lo src/java_raw_api.lo src/closures.lo
-@MIPS_TRUE@am__objects_1 = src/mips/ffi.lo src/mips/o32.lo \
-@MIPS_TRUE@ src/mips/n32.lo
-@X86_TRUE@am__objects_2 = src/x86/ffi.lo src/x86/sysv.lo
-@X86_FREEBSD_TRUE@am__objects_3 = src/x86/ffi.lo src/x86/freebsd.lo
-@X86_WIN32_TRUE@am__objects_4 = src/x86/ffi.lo src/x86/win32.lo
-@X86_WIN64_TRUE@am__objects_5 = src/x86/ffi.lo src/x86/win64.lo
-@X86_DARWIN_TRUE@am__objects_6 = src/x86/ffi.lo src/x86/darwin.lo \
-@X86_DARWIN_TRUE@ src/x86/ffi64.lo src/x86/darwin64.lo
-@SPARC_TRUE@am__objects_7 = src/sparc/ffi.lo src/sparc/v8.lo \
-@SPARC_TRUE@ src/sparc/v9.lo
-@ALPHA_TRUE@am__objects_8 = src/alpha/ffi.lo src/alpha/osf.lo
-@IA64_TRUE@am__objects_9 = src/ia64/ffi.lo src/ia64/unix.lo
-@M32R_TRUE@am__objects_10 = src/m32r/sysv.lo src/m32r/ffi.lo
-@M68K_TRUE@am__objects_11 = src/m68k/ffi.lo src/m68k/sysv.lo
-@POWERPC_TRUE@am__objects_12 = src/powerpc/ffi.lo src/powerpc/sysv.lo \
-@POWERPC_TRUE@ src/powerpc/ppc_closure.lo \
-@POWERPC_TRUE@ src/powerpc/linux64.lo \
-@POWERPC_TRUE@ src/powerpc/linux64_closure.lo
-@POWERPC_AIX_TRUE@am__objects_13 = src/powerpc/ffi_darwin.lo \
-@POWERPC_AIX_TRUE@ src/powerpc/aix.lo \
-@POWERPC_AIX_TRUE@ src/powerpc/aix_closure.lo
-@POWERPC_DARWIN_TRUE@am__objects_14 = src/powerpc/ffi_darwin.lo \
-@POWERPC_DARWIN_TRUE@ src/powerpc/darwin.lo \
-@POWERPC_DARWIN_TRUE@ src/powerpc/darwin_closure.lo
-@POWERPC_FREEBSD_TRUE@am__objects_15 = src/powerpc/ffi.lo \
-@POWERPC_FREEBSD_TRUE@ src/powerpc/sysv.lo \
-@POWERPC_FREEBSD_TRUE@ src/powerpc/ppc_closure.lo
-@ARM_TRUE@am__objects_16 = src/arm/sysv.lo src/arm/ffi.lo
-@ARM_TRUE@@FFI_EXEC_TRAMPOLINE_TABLE_TRUE@am__objects_17 = src/arm/trampoline.lo
-@AVR32_TRUE@am__objects_18 = src/avr32/sysv.lo src/avr32/ffi.lo
-@LIBFFI_CRIS_TRUE@am__objects_19 = src/cris/sysv.lo src/cris/ffi.lo
-@FRV_TRUE@am__objects_20 = src/frv/eabi.lo src/frv/ffi.lo
-@MOXIE_TRUE@am__objects_21 = src/moxie/eabi.lo src/moxie/ffi.lo
-@S390_TRUE@am__objects_22 = src/s390/sysv.lo src/s390/ffi.lo
-@X86_64_TRUE@am__objects_23 = src/x86/ffi64.lo src/x86/unix64.lo \
-@X86_64_TRUE@ src/x86/ffi.lo src/x86/sysv.lo
-@SH_TRUE@am__objects_24 = src/sh/sysv.lo src/sh/ffi.lo
-@SH64_TRUE@am__objects_25 = src/sh64/sysv.lo src/sh64/ffi.lo
-@PA_LINUX_TRUE@am__objects_26 = src/pa/linux.lo src/pa/ffi.lo
-@PA_HPUX_TRUE@am__objects_27 = src/pa/hpux32.lo src/pa/ffi.lo
-nodist_libffi_la_OBJECTS = $(am__objects_1) $(am__objects_2) \
- $(am__objects_3) $(am__objects_4) $(am__objects_5) \
- $(am__objects_6) $(am__objects_7) $(am__objects_8) \
- $(am__objects_9) $(am__objects_10) $(am__objects_11) \
- $(am__objects_12) $(am__objects_13) $(am__objects_14) \
- $(am__objects_15) $(am__objects_16) $(am__objects_17) \
- $(am__objects_18) $(am__objects_19) $(am__objects_20) \
- $(am__objects_21) $(am__objects_22) $(am__objects_23) \
- $(am__objects_24) $(am__objects_25) $(am__objects_26) \
- $(am__objects_27)
-libffi_la_OBJECTS = $(am_libffi_la_OBJECTS) \
- $(nodist_libffi_la_OBJECTS)
-libffi_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libffi_la_LDFLAGS) $(LDFLAGS) -o $@
-libffi_convenience_la_LIBADD =
-am__objects_28 = src/debug.lo src/prep_cif.lo src/types.lo \
- src/raw_api.lo src/java_raw_api.lo src/closures.lo
-am_libffi_convenience_la_OBJECTS = $(am__objects_28)
-am__objects_29 = $(am__objects_1) $(am__objects_2) $(am__objects_3) \
- $(am__objects_4) $(am__objects_5) $(am__objects_6) \
- $(am__objects_7) $(am__objects_8) $(am__objects_9) \
- $(am__objects_10) $(am__objects_11) $(am__objects_12) \
- $(am__objects_13) $(am__objects_14) $(am__objects_15) \
- $(am__objects_16) $(am__objects_17) $(am__objects_18) \
- $(am__objects_19) $(am__objects_20) $(am__objects_21) \
- $(am__objects_22) $(am__objects_23) $(am__objects_24) \
- $(am__objects_25) $(am__objects_26) $(am__objects_27)
-nodist_libffi_convenience_la_OBJECTS = $(am__objects_29)
-libffi_convenience_la_OBJECTS = $(am_libffi_convenience_la_OBJECTS) \
- $(nodist_libffi_convenience_la_OBJECTS)
-DEFAULT_INCLUDES = -I.@am__isrc@
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
-LTCPPASCOMPILE = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
-SOURCES = $(libffi_la_SOURCES) $(nodist_libffi_la_SOURCES) \
- $(libffi_convenience_la_SOURCES) \
- $(nodist_libffi_convenience_la_SOURCES)
-DIST_SOURCES = $(libffi_la_SOURCES) $(libffi_convenience_la_SOURCES)
-INFO_DEPS = $(srcdir)/doc/libffi.info
-am__TEXINFO_TEX_DIR = $(srcdir)
-DVIS = doc/libffi.dvi
-PDFS = doc/libffi.pdf
-PSS = doc/libffi.ps
-HTMLS = doc/libffi.html
-TEXINFOS = doc/libffi.texi
-TEXI2DVI = texi2dvi
-TEXI2PDF = $(TEXI2DVI) --pdf --batch
-MAKEINFOHTML = $(MAKEINFO) --html
-AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS)
-DVIPS = dvips
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-dvi-recursive install-exec-recursive \
- install-html-recursive install-info-recursive \
- install-pdf-recursive install-ps-recursive install-recursive \
- installcheck-recursive installdirs-recursive pdf-recursive \
- ps-recursive uninstall-recursive
-DATA = $(pkgconfig_DATA)
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
- distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
- distdir dist dist-all distcheck
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-distdir = $(PACKAGE)-$(VERSION)
-top_distdir = $(distdir)
-am__remove_distdir = \
- { test ! -d "$(distdir)" \
- || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
- && rm -fr "$(distdir)"; }; }
-am__relativize = \
- dir0=`pwd`; \
- sed_first='s,^\([^/]*\)/.*$$,\1,'; \
- sed_rest='s,^[^/]*/*,,'; \
- sed_last='s,^.*/\([^/]*\)$$,\1,'; \
- sed_butlast='s,/*[^/]*$$,,'; \
- while test -n "$$dir1"; do \
- first=`echo "$$dir1" | sed -e "$$sed_first"`; \
- if test "$$first" != "."; then \
- if test "$$first" = ".."; then \
- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
- else \
- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
- if test "$$first2" = "$$first"; then \
- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
- else \
- dir2="../$$dir2"; \
- fi; \
- dir0="$$dir0"/"$$first"; \
- fi; \
- fi; \
- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
- done; \
- reldir="$$dir2"
-DIST_ARCHIVES = $(distdir).tar.gz
-GZIP_ENV = --best
-distuninstallcheck_listfiles = find . -type f -print
-distcleancheck_listfiles = find . -type f -print
-ACLOCAL = @ACLOCAL@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AM_LTLDFLAGS = @AM_LTLDFLAGS@
-AM_RUNTESTFLAGS = @AM_RUNTESTFLAGS@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCAS = @CCAS@
-CCASDEPMODE = @CCASDEPMODE@
-CCASFLAGS = @CCASFLAGS@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FFI_EXEC_TRAMPOLINE_TABLE = @FFI_EXEC_TRAMPOLINE_TABLE@
-FGREP = @FGREP@
-GREP = @GREP@
-HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-TARGET = @TARGET@
-TARGETDIR = @TARGETDIR@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-toolexecdir = @toolexecdir@
-toolexeclibdir = @toolexeclibdir@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-AUTOMAKE_OPTIONS = foreign subdir-objects
-SUBDIRS = include testsuite man
-EXTRA_DIST = LICENSE ChangeLog.v1 ChangeLog.libgcj configure.host \
- src/alpha/ffi.c src/alpha/osf.S src/alpha/ffitarget.h \
- src/arm/ffi.c src/arm/sysv.S src/arm/ffitarget.h \
- src/avr32/ffi.c src/avr32/sysv.S src/avr32/ffitarget.h \
- src/cris/ffi.c src/cris/sysv.S src/cris/ffitarget.h \
- src/ia64/ffi.c src/ia64/ffitarget.h src/ia64/ia64_flags.h \
- src/ia64/unix.S src/mips/ffi.c src/mips/n32.S src/mips/o32.S \
- src/mips/ffitarget.h src/m32r/ffi.c src/m32r/sysv.S \
- src/m32r/ffitarget.h src/m68k/ffi.c src/m68k/sysv.S \
- src/m68k/ffitarget.h src/powerpc/ffi.c src/powerpc/sysv.S \
- src/powerpc/linux64.S src/powerpc/linux64_closure.S \
- src/powerpc/ppc_closure.S src/powerpc/asm.h src/powerpc/aix.S \
- src/powerpc/darwin.S src/powerpc/aix_closure.S \
- src/powerpc/darwin_closure.S src/powerpc/ffi_darwin.c \
- src/powerpc/ffitarget.h src/s390/ffi.c src/s390/sysv.S \
- src/s390/ffitarget.h src/sh/ffi.c src/sh/sysv.S \
- src/sh/ffitarget.h src/sh64/ffi.c src/sh64/sysv.S \
- src/sh64/ffitarget.h src/sparc/v8.S src/sparc/v9.S \
- src/sparc/ffitarget.h src/sparc/ffi.c src/x86/darwin64.S \
- src/x86/ffi.c src/x86/sysv.S src/x86/win32.S src/x86/darwin.S \
- src/x86/win64.S src/x86/freebsd.S src/x86/ffi64.c \
- src/x86/unix64.S src/x86/ffitarget.h src/pa/ffitarget.h \
- src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S src/frv/ffi.c \
- src/frv/eabi.S src/frv/ffitarget.h src/dlmalloc.c \
- src/moxie/ffi.c src/moxie/eabi.S libtool-version \
- ChangeLog.libffi m4/libtool.m4 m4/lt~obsolete.m4 \
- m4/ltoptions.m4 m4/ltsugar.m4
-
-info_TEXINFOS = doc/libffi.texi
-
-# Work around what appears to be a GNU make bug handling MAKEFLAGS
-# values defined in terms of make variables, as is the case for CC and
-# friends when we are called from the top level Makefile.
-AM_MAKEFLAGS = \
- "AR_FLAGS=$(AR_FLAGS)" \
- "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
- "CFLAGS=$(CFLAGS)" \
- "CXXFLAGS=$(CXXFLAGS)" \
- "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
- "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
- "INSTALL=$(INSTALL)" \
- "INSTALL_DATA=$(INSTALL_DATA)" \
- "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
- "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
- "JC1FLAGS=$(JC1FLAGS)" \
- "LDFLAGS=$(LDFLAGS)" \
- "LIBCFLAGS=$(LIBCFLAGS)" \
- "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
- "MAKE=$(MAKE)" \
- "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
- "PICFLAG=$(PICFLAG)" \
- "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
- "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
- "SHELL=$(SHELL)" \
- "exec_prefix=$(exec_prefix)" \
- "infodir=$(infodir)" \
- "libdir=$(libdir)" \
- "mandir=$(mandir)" \
- "prefix=$(prefix)" \
- "AR=$(AR)" \
- "AS=$(AS)" \
- "CC=$(CC)" \
- "CXX=$(CXX)" \
- "LD=$(LD)" \
- "NM=$(NM)" \
- "RANLIB=$(RANLIB)" \
- "DESTDIR=$(DESTDIR)"
-
-MAKEOVERRIDES =
-ACLOCAL_AMFLAGS = $(ACLOCAL_AMFLAGS) -I m4
-lib_LTLIBRARIES = libffi.la
-noinst_LTLIBRARIES = libffi_convenience.la
-libffi_la_SOURCES = src/debug.c src/prep_cif.c src/types.c \
- src/raw_api.c src/java_raw_api.c src/closures.c
-
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = libffi.pc
-nodist_libffi_la_SOURCES = $(am__append_1) $(am__append_2) \
- $(am__append_3) $(am__append_4) $(am__append_5) \
- $(am__append_6) $(am__append_7) $(am__append_8) \
- $(am__append_9) $(am__append_10) $(am__append_11) \
- $(am__append_12) $(am__append_13) $(am__append_14) \
- $(am__append_15) $(am__append_16) $(am__append_17) \
- $(am__append_18) $(am__append_19) $(am__append_20) \
- $(am__append_21) $(am__append_22) $(am__append_23) \
- $(am__append_24) $(am__append_25) $(am__append_26) \
- $(am__append_27)
-libffi_convenience_la_SOURCES = $(libffi_la_SOURCES)
-nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
-AM_CFLAGS = -g $(am__append_28)
-libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LTLDFLAGS) $(AM_LTLDFLAGS)
-AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
-AM_CCASFLAGS = $(AM_CPPFLAGS)
-all: fficonfig.h
- $(MAKE) $(AM_MAKEFLAGS) all-recursive
-
-.SUFFIXES:
-.SUFFIXES: .S .c .dvi .lo .o .obj .ps
-am--refresh:
- @:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
- $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --foreign Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- echo ' $(SHELL) ./config.status'; \
- $(SHELL) ./config.status;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- $(SHELL) ./config.status --recheck
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- $(am__cd) $(srcdir) && $(AUTOCONF)
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
-$(am__aclocal_m4_deps):
-
-fficonfig.h: stamp-h1
- @if test ! -f $@; then \
- rm -f stamp-h1; \
- $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
- else :; fi
-
-stamp-h1: $(srcdir)/fficonfig.h.in $(top_builddir)/config.status
- @rm -f stamp-h1
- cd $(top_builddir) && $(SHELL) ./config.status fficonfig.h
-$(srcdir)/fficonfig.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
- rm -f stamp-h1
- touch $@
-
-distclean-hdr:
- -rm -f fficonfig.h stamp-h1
-libffi.pc: $(top_builddir)/config.status $(srcdir)/libffi.pc.in
- cd $(top_builddir) && $(SHELL) ./config.status $@
-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
- @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
- list2=; for p in $$list; do \
- if test -f $$p; then \
- list2="$$list2 $$p"; \
- else :; fi; \
- done; \
- test -z "$$list2" || { \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
- }
-
-uninstall-libLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
- done
-
-clean-libLTLIBRARIES:
- -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-
-clean-noinstLTLIBRARIES:
- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
- @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-src/$(am__dirstamp):
- @$(MKDIR_P) src
- @: > src/$(am__dirstamp)
-src/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/$(DEPDIR)
- @: > src/$(DEPDIR)/$(am__dirstamp)
-src/debug.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/prep_cif.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/types.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/raw_api.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/java_raw_api.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/closures.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/mips/$(am__dirstamp):
- @$(MKDIR_P) src/mips
- @: > src/mips/$(am__dirstamp)
-src/mips/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/mips/$(DEPDIR)
- @: > src/mips/$(DEPDIR)/$(am__dirstamp)
-src/mips/ffi.lo: src/mips/$(am__dirstamp) \
- src/mips/$(DEPDIR)/$(am__dirstamp)
-src/mips/o32.lo: src/mips/$(am__dirstamp) \
- src/mips/$(DEPDIR)/$(am__dirstamp)
-src/mips/n32.lo: src/mips/$(am__dirstamp) \
- src/mips/$(DEPDIR)/$(am__dirstamp)
-src/x86/$(am__dirstamp):
- @$(MKDIR_P) src/x86
- @: > src/x86/$(am__dirstamp)
-src/x86/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/x86/$(DEPDIR)
- @: > src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/ffi.lo: src/x86/$(am__dirstamp) \
- src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/sysv.lo: src/x86/$(am__dirstamp) \
- src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/freebsd.lo: src/x86/$(am__dirstamp) \
- src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/win32.lo: src/x86/$(am__dirstamp) \
- src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/win64.lo: src/x86/$(am__dirstamp) \
- src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/darwin.lo: src/x86/$(am__dirstamp) \
- src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/ffi64.lo: src/x86/$(am__dirstamp) \
- src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/darwin64.lo: src/x86/$(am__dirstamp) \
- src/x86/$(DEPDIR)/$(am__dirstamp)
-src/sparc/$(am__dirstamp):
- @$(MKDIR_P) src/sparc
- @: > src/sparc/$(am__dirstamp)
-src/sparc/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/sparc/$(DEPDIR)
- @: > src/sparc/$(DEPDIR)/$(am__dirstamp)
-src/sparc/ffi.lo: src/sparc/$(am__dirstamp) \
- src/sparc/$(DEPDIR)/$(am__dirstamp)
-src/sparc/v8.lo: src/sparc/$(am__dirstamp) \
- src/sparc/$(DEPDIR)/$(am__dirstamp)
-src/sparc/v9.lo: src/sparc/$(am__dirstamp) \
- src/sparc/$(DEPDIR)/$(am__dirstamp)
-src/alpha/$(am__dirstamp):
- @$(MKDIR_P) src/alpha
- @: > src/alpha/$(am__dirstamp)
-src/alpha/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/alpha/$(DEPDIR)
- @: > src/alpha/$(DEPDIR)/$(am__dirstamp)
-src/alpha/ffi.lo: src/alpha/$(am__dirstamp) \
- src/alpha/$(DEPDIR)/$(am__dirstamp)
-src/alpha/osf.lo: src/alpha/$(am__dirstamp) \
- src/alpha/$(DEPDIR)/$(am__dirstamp)
-src/ia64/$(am__dirstamp):
- @$(MKDIR_P) src/ia64
- @: > src/ia64/$(am__dirstamp)
-src/ia64/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/ia64/$(DEPDIR)
- @: > src/ia64/$(DEPDIR)/$(am__dirstamp)
-src/ia64/ffi.lo: src/ia64/$(am__dirstamp) \
- src/ia64/$(DEPDIR)/$(am__dirstamp)
-src/ia64/unix.lo: src/ia64/$(am__dirstamp) \
- src/ia64/$(DEPDIR)/$(am__dirstamp)
-src/m32r/$(am__dirstamp):
- @$(MKDIR_P) src/m32r
- @: > src/m32r/$(am__dirstamp)
-src/m32r/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/m32r/$(DEPDIR)
- @: > src/m32r/$(DEPDIR)/$(am__dirstamp)
-src/m32r/sysv.lo: src/m32r/$(am__dirstamp) \
- src/m32r/$(DEPDIR)/$(am__dirstamp)
-src/m32r/ffi.lo: src/m32r/$(am__dirstamp) \
- src/m32r/$(DEPDIR)/$(am__dirstamp)
-src/m68k/$(am__dirstamp):
- @$(MKDIR_P) src/m68k
- @: > src/m68k/$(am__dirstamp)
-src/m68k/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/m68k/$(DEPDIR)
- @: > src/m68k/$(DEPDIR)/$(am__dirstamp)
-src/m68k/ffi.lo: src/m68k/$(am__dirstamp) \
- src/m68k/$(DEPDIR)/$(am__dirstamp)
-src/m68k/sysv.lo: src/m68k/$(am__dirstamp) \
- src/m68k/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/$(am__dirstamp):
- @$(MKDIR_P) src/powerpc
- @: > src/powerpc/$(am__dirstamp)
-src/powerpc/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/powerpc/$(DEPDIR)
- @: > src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/ffi.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/sysv.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/ppc_closure.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/linux64.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/linux64_closure.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/ffi_darwin.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/aix.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/aix_closure.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/darwin.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/darwin_closure.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/arm/$(am__dirstamp):
- @$(MKDIR_P) src/arm
- @: > src/arm/$(am__dirstamp)
-src/arm/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/arm/$(DEPDIR)
- @: > src/arm/$(DEPDIR)/$(am__dirstamp)
-src/arm/sysv.lo: src/arm/$(am__dirstamp) \
- src/arm/$(DEPDIR)/$(am__dirstamp)
-src/arm/ffi.lo: src/arm/$(am__dirstamp) \
- src/arm/$(DEPDIR)/$(am__dirstamp)
-src/arm/trampoline.lo: src/arm/$(am__dirstamp) \
- src/arm/$(DEPDIR)/$(am__dirstamp)
-src/avr32/$(am__dirstamp):
- @$(MKDIR_P) src/avr32
- @: > src/avr32/$(am__dirstamp)
-src/avr32/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/avr32/$(DEPDIR)
- @: > src/avr32/$(DEPDIR)/$(am__dirstamp)
-src/avr32/sysv.lo: src/avr32/$(am__dirstamp) \
- src/avr32/$(DEPDIR)/$(am__dirstamp)
-src/avr32/ffi.lo: src/avr32/$(am__dirstamp) \
- src/avr32/$(DEPDIR)/$(am__dirstamp)
-src/cris/$(am__dirstamp):
- @$(MKDIR_P) src/cris
- @: > src/cris/$(am__dirstamp)
-src/cris/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/cris/$(DEPDIR)
- @: > src/cris/$(DEPDIR)/$(am__dirstamp)
-src/cris/sysv.lo: src/cris/$(am__dirstamp) \
- src/cris/$(DEPDIR)/$(am__dirstamp)
-src/cris/ffi.lo: src/cris/$(am__dirstamp) \
- src/cris/$(DEPDIR)/$(am__dirstamp)
-src/frv/$(am__dirstamp):
- @$(MKDIR_P) src/frv
- @: > src/frv/$(am__dirstamp)
-src/frv/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/frv/$(DEPDIR)
- @: > src/frv/$(DEPDIR)/$(am__dirstamp)
-src/frv/eabi.lo: src/frv/$(am__dirstamp) \
- src/frv/$(DEPDIR)/$(am__dirstamp)
-src/frv/ffi.lo: src/frv/$(am__dirstamp) \
- src/frv/$(DEPDIR)/$(am__dirstamp)
-src/moxie/$(am__dirstamp):
- @$(MKDIR_P) src/moxie
- @: > src/moxie/$(am__dirstamp)
-src/moxie/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/moxie/$(DEPDIR)
- @: > src/moxie/$(DEPDIR)/$(am__dirstamp)
-src/moxie/eabi.lo: src/moxie/$(am__dirstamp) \
- src/moxie/$(DEPDIR)/$(am__dirstamp)
-src/moxie/ffi.lo: src/moxie/$(am__dirstamp) \
- src/moxie/$(DEPDIR)/$(am__dirstamp)
-src/s390/$(am__dirstamp):
- @$(MKDIR_P) src/s390
- @: > src/s390/$(am__dirstamp)
-src/s390/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/s390/$(DEPDIR)
- @: > src/s390/$(DEPDIR)/$(am__dirstamp)
-src/s390/sysv.lo: src/s390/$(am__dirstamp) \
- src/s390/$(DEPDIR)/$(am__dirstamp)
-src/s390/ffi.lo: src/s390/$(am__dirstamp) \
- src/s390/$(DEPDIR)/$(am__dirstamp)
-src/x86/unix64.lo: src/x86/$(am__dirstamp) \
- src/x86/$(DEPDIR)/$(am__dirstamp)
-src/sh/$(am__dirstamp):
- @$(MKDIR_P) src/sh
- @: > src/sh/$(am__dirstamp)
-src/sh/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/sh/$(DEPDIR)
- @: > src/sh/$(DEPDIR)/$(am__dirstamp)
-src/sh/sysv.lo: src/sh/$(am__dirstamp) \
- src/sh/$(DEPDIR)/$(am__dirstamp)
-src/sh/ffi.lo: src/sh/$(am__dirstamp) src/sh/$(DEPDIR)/$(am__dirstamp)
-src/sh64/$(am__dirstamp):
- @$(MKDIR_P) src/sh64
- @: > src/sh64/$(am__dirstamp)
-src/sh64/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/sh64/$(DEPDIR)
- @: > src/sh64/$(DEPDIR)/$(am__dirstamp)
-src/sh64/sysv.lo: src/sh64/$(am__dirstamp) \
- src/sh64/$(DEPDIR)/$(am__dirstamp)
-src/sh64/ffi.lo: src/sh64/$(am__dirstamp) \
- src/sh64/$(DEPDIR)/$(am__dirstamp)
-src/pa/$(am__dirstamp):
- @$(MKDIR_P) src/pa
- @: > src/pa/$(am__dirstamp)
-src/pa/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/pa/$(DEPDIR)
- @: > src/pa/$(DEPDIR)/$(am__dirstamp)
-src/pa/linux.lo: src/pa/$(am__dirstamp) \
- src/pa/$(DEPDIR)/$(am__dirstamp)
-src/pa/ffi.lo: src/pa/$(am__dirstamp) src/pa/$(DEPDIR)/$(am__dirstamp)
-src/pa/hpux32.lo: src/pa/$(am__dirstamp) \
- src/pa/$(DEPDIR)/$(am__dirstamp)
-libffi.la: $(libffi_la_OBJECTS) $(libffi_la_DEPENDENCIES)
- $(libffi_la_LINK) -rpath $(libdir) $(libffi_la_OBJECTS) $(libffi_la_LIBADD) $(LIBS)
-libffi_convenience.la: $(libffi_convenience_la_OBJECTS) $(libffi_convenience_la_DEPENDENCIES)
- $(LINK) $(libffi_convenience_la_OBJECTS) $(libffi_convenience_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
- -rm -f src/alpha/ffi.$(OBJEXT)
- -rm -f src/alpha/ffi.lo
- -rm -f src/alpha/osf.$(OBJEXT)
- -rm -f src/alpha/osf.lo
- -rm -f src/arm/ffi.$(OBJEXT)
- -rm -f src/arm/ffi.lo
- -rm -f src/arm/sysv.$(OBJEXT)
- -rm -f src/arm/sysv.lo
- -rm -f src/arm/trampoline.$(OBJEXT)
- -rm -f src/arm/trampoline.lo
- -rm -f src/avr32/ffi.$(OBJEXT)
- -rm -f src/avr32/ffi.lo
- -rm -f src/avr32/sysv.$(OBJEXT)
- -rm -f src/avr32/sysv.lo
- -rm -f src/closures.$(OBJEXT)
- -rm -f src/closures.lo
- -rm -f src/cris/ffi.$(OBJEXT)
- -rm -f src/cris/ffi.lo
- -rm -f src/cris/sysv.$(OBJEXT)
- -rm -f src/cris/sysv.lo
- -rm -f src/debug.$(OBJEXT)
- -rm -f src/debug.lo
- -rm -f src/frv/eabi.$(OBJEXT)
- -rm -f src/frv/eabi.lo
- -rm -f src/frv/ffi.$(OBJEXT)
- -rm -f src/frv/ffi.lo
- -rm -f src/ia64/ffi.$(OBJEXT)
- -rm -f src/ia64/ffi.lo
- -rm -f src/ia64/unix.$(OBJEXT)
- -rm -f src/ia64/unix.lo
- -rm -f src/java_raw_api.$(OBJEXT)
- -rm -f src/java_raw_api.lo
- -rm -f src/m32r/ffi.$(OBJEXT)
- -rm -f src/m32r/ffi.lo
- -rm -f src/m32r/sysv.$(OBJEXT)
- -rm -f src/m32r/sysv.lo
- -rm -f src/m68k/ffi.$(OBJEXT)
- -rm -f src/m68k/ffi.lo
- -rm -f src/m68k/sysv.$(OBJEXT)
- -rm -f src/m68k/sysv.lo
- -rm -f src/mips/ffi.$(OBJEXT)
- -rm -f src/mips/ffi.lo
- -rm -f src/mips/n32.$(OBJEXT)
- -rm -f src/mips/n32.lo
- -rm -f src/mips/o32.$(OBJEXT)
- -rm -f src/mips/o32.lo
- -rm -f src/moxie/eabi.$(OBJEXT)
- -rm -f src/moxie/eabi.lo
- -rm -f src/moxie/ffi.$(OBJEXT)
- -rm -f src/moxie/ffi.lo
- -rm -f src/pa/ffi.$(OBJEXT)
- -rm -f src/pa/ffi.lo
- -rm -f src/pa/hpux32.$(OBJEXT)
- -rm -f src/pa/hpux32.lo
- -rm -f src/pa/linux.$(OBJEXT)
- -rm -f src/pa/linux.lo
- -rm -f src/powerpc/aix.$(OBJEXT)
- -rm -f src/powerpc/aix.lo
- -rm -f src/powerpc/aix_closure.$(OBJEXT)
- -rm -f src/powerpc/aix_closure.lo
- -rm -f src/powerpc/darwin.$(OBJEXT)
- -rm -f src/powerpc/darwin.lo
- -rm -f src/powerpc/darwin_closure.$(OBJEXT)
- -rm -f src/powerpc/darwin_closure.lo
- -rm -f src/powerpc/ffi.$(OBJEXT)
- -rm -f src/powerpc/ffi.lo
- -rm -f src/powerpc/ffi_darwin.$(OBJEXT)
- -rm -f src/powerpc/ffi_darwin.lo
- -rm -f src/powerpc/linux64.$(OBJEXT)
- -rm -f src/powerpc/linux64.lo
- -rm -f src/powerpc/linux64_closure.$(OBJEXT)
- -rm -f src/powerpc/linux64_closure.lo
- -rm -f src/powerpc/ppc_closure.$(OBJEXT)
- -rm -f src/powerpc/ppc_closure.lo
- -rm -f src/powerpc/sysv.$(OBJEXT)
- -rm -f src/powerpc/sysv.lo
- -rm -f src/prep_cif.$(OBJEXT)
- -rm -f src/prep_cif.lo
- -rm -f src/raw_api.$(OBJEXT)
- -rm -f src/raw_api.lo
- -rm -f src/s390/ffi.$(OBJEXT)
- -rm -f src/s390/ffi.lo
- -rm -f src/s390/sysv.$(OBJEXT)
- -rm -f src/s390/sysv.lo
- -rm -f src/sh/ffi.$(OBJEXT)
- -rm -f src/sh/ffi.lo
- -rm -f src/sh/sysv.$(OBJEXT)
- -rm -f src/sh/sysv.lo
- -rm -f src/sh64/ffi.$(OBJEXT)
- -rm -f src/sh64/ffi.lo
- -rm -f src/sh64/sysv.$(OBJEXT)
- -rm -f src/sh64/sysv.lo
- -rm -f src/sparc/ffi.$(OBJEXT)
- -rm -f src/sparc/ffi.lo
- -rm -f src/sparc/v8.$(OBJEXT)
- -rm -f src/sparc/v8.lo
- -rm -f src/sparc/v9.$(OBJEXT)
- -rm -f src/sparc/v9.lo
- -rm -f src/types.$(OBJEXT)
- -rm -f src/types.lo
- -rm -f src/x86/darwin.$(OBJEXT)
- -rm -f src/x86/darwin.lo
- -rm -f src/x86/darwin64.$(OBJEXT)
- -rm -f src/x86/darwin64.lo
- -rm -f src/x86/ffi.$(OBJEXT)
- -rm -f src/x86/ffi.lo
- -rm -f src/x86/ffi64.$(OBJEXT)
- -rm -f src/x86/ffi64.lo
- -rm -f src/x86/freebsd.$(OBJEXT)
- -rm -f src/x86/freebsd.lo
- -rm -f src/x86/sysv.$(OBJEXT)
- -rm -f src/x86/sysv.lo
- -rm -f src/x86/unix64.$(OBJEXT)
- -rm -f src/x86/unix64.lo
- -rm -f src/x86/win32.$(OBJEXT)
- -rm -f src/x86/win32.lo
- -rm -f src/x86/win64.$(OBJEXT)
- -rm -f src/x86/win64.lo
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/closures.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/debug.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/java_raw_api.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/prep_cif.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/raw_api.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/types.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/alpha/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/alpha/$(DEPDIR)/osf.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/trampoline.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/avr32/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/avr32/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/cris/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/cris/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/frv/$(DEPDIR)/eabi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/frv/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/ia64/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/ia64/$(DEPDIR)/unix.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/m32r/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/m32r/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/m68k/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/m68k/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/n32.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/o32.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/moxie/$(DEPDIR)/eabi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/moxie/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/hpux32.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/linux.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/aix.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/aix_closure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/darwin.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/darwin_closure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/ffi_darwin.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/linux64.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/linux64_closure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/ppc_closure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/s390/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/s390/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sh/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sh/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sh64/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sh64/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sparc/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sparc/$(DEPDIR)/v8.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sparc/$(DEPDIR)/v9.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/darwin.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/darwin64.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/ffi64.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/freebsd.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/unix64.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/win32.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/win64.Plo@am__quote@
-
-.S.o:
-@am__fastdepCCAS_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
-@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCCAS_FALSE@ $(CPPASCOMPILE) -c -o $@ $<
-
-.S.obj:
-@am__fastdepCCAS_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
-@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
-@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCCAS_FALSE@ $(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.S.lo:
-@am__fastdepCCAS_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
-@am__fastdepCCAS_TRUE@ $(LTCPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCCAS_FALSE@ $(LTCPPASCOMPILE) -c -o $@ $<
-
-.c.o:
-@am__fastdepCC_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
-@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
-@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
- -rm -rf src/.libs src/_libs
- -rm -rf src/alpha/.libs src/alpha/_libs
- -rm -rf src/arm/.libs src/arm/_libs
- -rm -rf src/avr32/.libs src/avr32/_libs
- -rm -rf src/cris/.libs src/cris/_libs
- -rm -rf src/frv/.libs src/frv/_libs
- -rm -rf src/ia64/.libs src/ia64/_libs
- -rm -rf src/m32r/.libs src/m32r/_libs
- -rm -rf src/m68k/.libs src/m68k/_libs
- -rm -rf src/mips/.libs src/mips/_libs
- -rm -rf src/moxie/.libs src/moxie/_libs
- -rm -rf src/pa/.libs src/pa/_libs
- -rm -rf src/powerpc/.libs src/powerpc/_libs
- -rm -rf src/s390/.libs src/s390/_libs
- -rm -rf src/sh/.libs src/sh/_libs
- -rm -rf src/sh64/.libs src/sh64/_libs
- -rm -rf src/sparc/.libs src/sparc/_libs
- -rm -rf src/x86/.libs src/x86/_libs
-
-distclean-libtool:
- -rm -f libtool config.lt
-doc/$(am__dirstamp):
- @$(MKDIR_P) doc
- @: > doc/$(am__dirstamp)
-
-$(srcdir)/doc/libffi.info: doc/libffi.texi $(srcdir)/doc/version.texi
- restore=: && backupdir="$(am__leading_dot)am$$$$" && \
- am__cwd=`pwd` && $(am__cd) $(srcdir) && \
- rm -rf $$backupdir && mkdir $$backupdir && \
- if ($(MAKEINFO) --version) >/dev/null 2>&1; then \
- for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \
- if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \
- done; \
- else :; fi && \
- cd "$$am__cwd"; \
- if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc \
- -o $@ $(srcdir)/doc/libffi.texi; \
- then \
- rc=0; \
- $(am__cd) $(srcdir); \
- else \
- rc=$$?; \
- $(am__cd) $(srcdir) && \
- $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
- fi; \
- rm -rf $$backupdir; exit $$rc
-
-doc/libffi.dvi: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
- TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
- MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \
- $(TEXI2DVI) -o $@ `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi
-
-doc/libffi.pdf: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
- TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
- MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \
- $(TEXI2PDF) -o $@ `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi
-
-doc/libffi.html: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
- rm -rf $(@:.html=.htp)
- if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc \
- -o $(@:.html=.htp) `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi; \
- then \
- rm -rf $@; \
- if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
- mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \
- else \
- if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
- rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \
- exit 1; \
- fi
-$(srcdir)/doc/version.texi: @MAINTAINER_MODE_TRUE@ $(srcdir)/doc/stamp-vti
-$(srcdir)/doc/stamp-vti: doc/libffi.texi $(top_srcdir)/configure
- test -f doc/$(am__dirstamp) || $(MAKE) $(AM_MAKEFLAGS) doc/$(am__dirstamp)
- @(dir=.; test -f ./doc/libffi.texi || dir=$(srcdir); \
- set `$(SHELL) $(srcdir)/mdate-sh $$dir/doc/libffi.texi`; \
- echo "@set UPDATED $$1 $$2 $$3"; \
- echo "@set UPDATED-MONTH $$2 $$3"; \
- echo "@set EDITION $(VERSION)"; \
- echo "@set VERSION $(VERSION)") > vti.tmp
- @cmp -s vti.tmp $(srcdir)/doc/version.texi \
- || (echo "Updating $(srcdir)/doc/version.texi"; \
- cp vti.tmp $(srcdir)/doc/version.texi)
- -@rm -f vti.tmp
- @cp $(srcdir)/doc/version.texi $@
-
-mostlyclean-vti:
- -rm -f vti.tmp
-
-maintainer-clean-vti:
-@MAINTAINER_MODE_TRUE@ -rm -f $(srcdir)/doc/stamp-vti $(srcdir)/doc/version.texi
-.dvi.ps:
- TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
- $(DVIPS) -o $@ $<
-
-uninstall-dvi-am:
- @$(NORMAL_UNINSTALL)
- @list='$(DVIS)'; test -n "$(dvidir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(dvidir)/$$f'"; \
- rm -f "$(DESTDIR)$(dvidir)/$$f"; \
- done
-
-uninstall-html-am:
- @$(NORMAL_UNINSTALL)
- @list='$(HTMLS)'; test -n "$(htmldir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " rm -rf '$(DESTDIR)$(htmldir)/$$f'"; \
- rm -rf "$(DESTDIR)$(htmldir)/$$f"; \
- done
-
-uninstall-info-am:
- @$(PRE_UNINSTALL)
- @if test -d '$(DESTDIR)$(infodir)' && \
- (install-info --version && \
- install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
- list='$(INFO_DEPS)'; \
- for file in $$list; do \
- relfile=`echo "$$file" | sed 's|^.*/||'`; \
- echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \
- if install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \
- then :; else test ! -f "$(DESTDIR)$(infodir)/$$relfile" || exit 1; fi; \
- done; \
- else :; fi
- @$(NORMAL_UNINSTALL)
- @list='$(INFO_DEPS)'; \
- for file in $$list; do \
- relfile=`echo "$$file" | sed 's|^.*/||'`; \
- relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \
- (if test -d "$(DESTDIR)$(infodir)" && cd "$(DESTDIR)$(infodir)"; then \
- echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \
- rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \
- else :; fi); \
- done
-
-uninstall-pdf-am:
- @$(NORMAL_UNINSTALL)
- @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(pdfdir)/$$f'"; \
- rm -f "$(DESTDIR)$(pdfdir)/$$f"; \
- done
-
-uninstall-ps-am:
- @$(NORMAL_UNINSTALL)
- @list='$(PSS)'; test -n "$(psdir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(psdir)/$$f'"; \
- rm -f "$(DESTDIR)$(psdir)/$$f"; \
- done
-
-dist-info: $(INFO_DEPS)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- list='$(INFO_DEPS)'; \
- for base in $$list; do \
- case $$base in \
- $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \
- esac; \
- if test -f $$base; then d=.; else d=$(srcdir); fi; \
- base_i=`echo "$$base" | sed 's|\.info$$||;s|$$|.i|'`; \
- for file in $$d/$$base $$d/$$base-[0-9] $$d/$$base-[0-9][0-9] $$d/$$base_i[0-9] $$d/$$base_i[0-9][0-9]; do \
- if test -f $$file; then \
- relfile=`expr "$$file" : "$$d/\(.*\)"`; \
- test -f "$(distdir)/$$relfile" || \
- cp -p $$file "$(distdir)/$$relfile"; \
- else :; fi; \
- done; \
- done
-
-mostlyclean-aminfo:
- -rm -rf libffi.aux libffi.cp libffi.cps libffi.fn libffi.ky libffi.log \
- libffi.pg libffi.tmp libffi.toc libffi.tp libffi.vr
-
-clean-aminfo:
- -test -z "doc/libffi.dvi doc/libffi.pdf doc/libffi.ps doc/libffi.html" \
- || rm -rf doc/libffi.dvi doc/libffi.pdf doc/libffi.ps doc/libffi.html
-
-maintainer-clean-aminfo:
- @list='$(INFO_DEPS)'; for i in $$list; do \
- i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \
- echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \
- rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \
- done
-install-pkgconfigDATA: $(pkgconfig_DATA)
- @$(NORMAL_INSTALL)
- test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)"
- @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- echo "$$d$$p"; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
- done
-
-uninstall-pkgconfigDATA:
- @$(NORMAL_UNINSTALL)
- @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
- test -n "$$files" || exit 0; \
- echo " ( cd '$(DESTDIR)$(pkgconfigdir)' && rm -f" $$files ")"; \
- cd "$(DESTDIR)$(pkgconfigdir)" && rm -f $$files
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) fficonfig.h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) fficonfig.h.in $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) fficonfig.h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) fficonfig.h.in $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- $(am__remove_distdir)
- test -d "$(distdir)" || mkdir "$(distdir)"
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d "$(distdir)/$$subdir" \
- || $(MKDIR_P) "$(distdir)/$$subdir" \
- || exit 1; \
- fi; \
- done
- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
- $(am__relativize); \
- new_distdir=$$reldir; \
- dir1=$$subdir; dir2="$(top_distdir)"; \
- $(am__relativize); \
- new_top_distdir=$$reldir; \
- echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
- echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
- ($(am__cd) $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$new_top_distdir" \
- distdir="$$new_distdir" \
- am__remove_distdir=: \
- am__skip_length_check=: \
- am__skip_mode_fix=: \
- distdir) \
- || exit 1; \
- fi; \
- done
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$(top_distdir)" distdir="$(distdir)" \
- dist-info
- -test -n "$(am__skip_mode_fix)" \
- || find "$(distdir)" -type d ! -perm -755 \
- -exec chmod u+rwx,go+rx {} \; -o \
- ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
- ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
- ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
- || chmod -R a+r "$(distdir)"
-dist-gzip: distdir
- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
- $(am__remove_distdir)
-
-dist-bzip2: distdir
- tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
- $(am__remove_distdir)
-
-dist-lzma: distdir
- tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
- $(am__remove_distdir)
-
-dist-xz: distdir
- tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
- $(am__remove_distdir)
-
-dist-tarZ: distdir
- tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
- $(am__remove_distdir)
-
-dist-shar: distdir
- shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
- $(am__remove_distdir)
-
-dist-zip: distdir
- -rm -f $(distdir).zip
- zip -rq $(distdir).zip $(distdir)
- $(am__remove_distdir)
-
-dist dist-all: distdir
- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
- $(am__remove_distdir)
-
-# This target untars the dist file and tries a VPATH configuration. Then
-# it guarantees that the distribution is self-contained by making another
-# tarfile.
-distcheck: dist
- case '$(DIST_ARCHIVES)' in \
- *.tar.gz*) \
- GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
- *.tar.bz2*) \
- bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
- *.tar.lzma*) \
- lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
- *.tar.xz*) \
- xz -dc $(distdir).tar.xz | $(am__untar) ;;\
- *.tar.Z*) \
- uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
- *.shar.gz*) \
- GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
- *.zip*) \
- unzip $(distdir).zip ;;\
- esac
- chmod -R a-w $(distdir); chmod a+w $(distdir)
- mkdir $(distdir)/_build
- mkdir $(distdir)/_inst
- chmod a-w $(distdir)
- test -d $(distdir)/_build || exit 0; \
- dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
- && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
- && am__cwd=`pwd` \
- && $(am__cd) $(distdir)/_build \
- && ../configure --srcdir=.. --prefix="$$dc_install_base" \
- $(DISTCHECK_CONFIGURE_FLAGS) \
- && $(MAKE) $(AM_MAKEFLAGS) \
- && $(MAKE) $(AM_MAKEFLAGS) dvi \
- && $(MAKE) $(AM_MAKEFLAGS) check \
- && $(MAKE) $(AM_MAKEFLAGS) install \
- && $(MAKE) $(AM_MAKEFLAGS) installcheck \
- && $(MAKE) $(AM_MAKEFLAGS) uninstall \
- && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
- distuninstallcheck \
- && chmod -R a-w "$$dc_install_base" \
- && ({ \
- (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
- distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
- } || { rm -rf "$$dc_destdir"; exit 1; }) \
- && rm -rf "$$dc_destdir" \
- && $(MAKE) $(AM_MAKEFLAGS) dist \
- && rm -rf $(DIST_ARCHIVES) \
- && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
- && cd "$$am__cwd" \
- || exit 1
- $(am__remove_distdir)
- @(echo "$(distdir) archives ready for distribution: "; \
- list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
- sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
-distuninstallcheck:
- @$(am__cd) '$(distuninstallcheck_dir)' \
- && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
- || { echo "ERROR: files left after uninstall:" ; \
- if test -n "$(DESTDIR)"; then \
- echo " (check DESTDIR support)"; \
- fi ; \
- $(distuninstallcheck_listfiles) ; \
- exit 1; } >&2
-distcleancheck: distclean
- @if test '$(srcdir)' = . ; then \
- echo "ERROR: distcleancheck can only run from a VPATH build" ; \
- exit 1 ; \
- fi
- @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
- || { echo "ERROR: files left in build directory after distclean:" ; \
- $(distcleancheck_listfiles) ; \
- exit 1; } >&2
-check-am: all-am
-check: check-recursive
-all-am: Makefile $(INFO_DEPS) $(LTLIBRARIES) $(DATA) fficonfig.h
-installdirs: installdirs-recursive
-installdirs-am:
- for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(infodir)" "$(DESTDIR)$(pkgconfigdir)"; do \
- test -z "$$dir" || $(MKDIR_P) "$$dir"; \
- done
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
- -rm -f doc/$(am__dirstamp)
- -rm -f src/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/$(am__dirstamp)
- -rm -f src/alpha/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/alpha/$(am__dirstamp)
- -rm -f src/arm/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/arm/$(am__dirstamp)
- -rm -f src/avr32/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/avr32/$(am__dirstamp)
- -rm -f src/cris/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/cris/$(am__dirstamp)
- -rm -f src/frv/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/frv/$(am__dirstamp)
- -rm -f src/ia64/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/ia64/$(am__dirstamp)
- -rm -f src/m32r/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/m32r/$(am__dirstamp)
- -rm -f src/m68k/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/m68k/$(am__dirstamp)
- -rm -f src/mips/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/mips/$(am__dirstamp)
- -rm -f src/moxie/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/moxie/$(am__dirstamp)
- -rm -f src/pa/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/pa/$(am__dirstamp)
- -rm -f src/powerpc/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/powerpc/$(am__dirstamp)
- -rm -f src/s390/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/s390/$(am__dirstamp)
- -rm -f src/sh/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/sh/$(am__dirstamp)
- -rm -f src/sh64/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/sh64/$(am__dirstamp)
- -rm -f src/sparc/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/sparc/$(am__dirstamp)
- -rm -f src/x86/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/x86/$(am__dirstamp)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-aminfo clean-generic clean-libLTLIBRARIES \
- clean-libtool clean-noinstLTLIBRARIES mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f $(am__CONFIG_DISTCLEAN_FILES)
- -rm -rf src/$(DEPDIR) src/alpha/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/x86/$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-hdr distclean-libtool distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am: $(DVIS)
-
-html: html-recursive
-
-html-am: $(HTMLS)
-
-info: info-recursive
-
-info-am: $(INFO_DEPS)
-
-install-data-am: install-info-am install-pkgconfigDATA
-
-install-dvi: install-dvi-recursive
-
-install-dvi-am: $(DVIS)
- @$(NORMAL_INSTALL)
- test -z "$(dvidir)" || $(MKDIR_P) "$(DESTDIR)$(dvidir)"
- @list='$(DVIS)'; test -n "$(dvidir)" || list=; \
- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- echo "$$d$$p"; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(dvidir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(dvidir)" || exit $$?; \
- done
-install-exec-am: install-libLTLIBRARIES
-
-install-html-am: $(HTMLS)
- @$(NORMAL_INSTALL)
- test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)"
- @list='$(HTMLS)'; list2=; test -n "$(htmldir)" || list=; \
- for p in $$list; do \
- if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \
- $(am__strip_dir) \
- if test -d "$$d$$p"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \
- $(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \
- echo " $(INSTALL_DATA) '$$d$$p'/* '$(DESTDIR)$(htmldir)/$$f'"; \
- $(INSTALL_DATA) "$$d$$p"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \
- else \
- list2="$$list2 $$d$$p"; \
- fi; \
- done; \
- test -z "$$list2" || { echo "$$list2" | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(htmldir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(htmldir)" || exit $$?; \
- done; }
-install-info: install-info-recursive
-
-install-info-am: $(INFO_DEPS)
- @$(NORMAL_INSTALL)
- test -z "$(infodir)" || $(MKDIR_P) "$(DESTDIR)$(infodir)"
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
- for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- esac; \
- if test -f $$file; then d=.; else d=$(srcdir); fi; \
- file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \
- for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \
- $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \
- if test -f $$ifile; then \
- echo "$$ifile"; \
- else : ; fi; \
- done; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(infodir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(infodir)" || exit $$?; done
- @$(POST_INSTALL)
- @if (install-info --version && \
- install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
- list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
- for file in $$list; do \
- relfile=`echo "$$file" | sed 's|^.*/||'`; \
- echo " install-info --info-dir='$(DESTDIR)$(infodir)' '$(DESTDIR)$(infodir)/$$relfile'";\
- install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$relfile" || :;\
- done; \
- else : ; fi
-install-man:
-
-install-pdf-am: $(PDFS)
- @$(NORMAL_INSTALL)
- test -z "$(pdfdir)" || $(MKDIR_P) "$(DESTDIR)$(pdfdir)"
- @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \
- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- echo "$$d$$p"; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pdfdir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(pdfdir)" || exit $$?; done
-install-ps: install-ps-recursive
-
-install-ps-am: $(PSS)
- @$(NORMAL_INSTALL)
- test -z "$(psdir)" || $(MKDIR_P) "$(DESTDIR)$(psdir)"
- @list='$(PSS)'; test -n "$(psdir)" || list=; \
- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- echo "$$d$$p"; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(psdir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(psdir)" || exit $$?; done
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f $(am__CONFIG_DISTCLEAN_FILES)
- -rm -rf $(top_srcdir)/autom4te.cache
- -rm -rf src/$(DEPDIR) src/alpha/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/x86/$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-aminfo \
- maintainer-clean-generic maintainer-clean-vti
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-aminfo mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool mostlyclean-vti
-
-pdf: pdf-recursive
-
-pdf-am: $(PDFS)
-
-ps: ps-recursive
-
-ps-am: $(PSS)
-
-uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \
- uninstall-libLTLIBRARIES uninstall-pdf-am \
- uninstall-pkgconfigDATA uninstall-ps-am
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
- ctags-recursive install-am install-strip tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
- all all-am am--refresh check check-am clean clean-aminfo \
- clean-generic clean-libLTLIBRARIES clean-libtool \
- clean-noinstLTLIBRARIES ctags ctags-recursive dist dist-all \
- dist-bzip2 dist-gzip dist-info dist-lzma dist-shar dist-tarZ \
- dist-xz dist-zip distcheck distclean distclean-compile \
- distclean-generic distclean-hdr distclean-libtool \
- distclean-tags distcleancheck distdir distuninstallcheck dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-dvi install-dvi-am \
- install-exec install-exec-am install-html install-html-am \
- install-info install-info-am install-libLTLIBRARIES \
- install-man install-pdf install-pdf-am install-pkgconfigDATA \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs installdirs-am maintainer-clean \
- maintainer-clean-aminfo maintainer-clean-generic \
- maintainer-clean-vti mostlyclean mostlyclean-aminfo \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- mostlyclean-vti pdf pdf-am ps ps-am tags tags-recursive \
- uninstall uninstall-am uninstall-dvi-am uninstall-html-am \
- uninstall-info-am uninstall-libLTLIBRARIES uninstall-pdf-am \
- uninstall-pkgconfigDATA uninstall-ps-am
-
- m4/ltversion.m4 build-ios.sh src/arm/gentramp.sh
-
-# No install-html or install-pdf support in automake yet
-.PHONY: install-html install-pdf
-install-html:
-install-pdf:
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/.pc/no-undefined-fix/.timestamp b/.pc/no-undefined-fix/.timestamp
deleted file mode 100644
index e69de29..0000000
--- a/.pc/no-undefined-fix/.timestamp
+++ /dev/null
diff --git a/.pc/no-undefined-fix/ChangeLog b/.pc/no-undefined-fix/ChangeLog
deleted file mode 100644
index 4fa1b4a..0000000
--- a/.pc/no-undefined-fix/ChangeLog
+++ /dev/null
@@ -1,4758 +0,0 @@
-2012-02-23 Anthony Green <green@moxielogic.com>
-
- * src/*/ffitarget.h: Ensure that users never include ffitarget.h
- directly.
-
-2012-02-10 Kai Tietz <ktietz@redhat.com>
-
- * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
- windows target.
- * configure: Regenerated.
-
-2012-02-08 Kai Tietz <ktietz@redhat.com>
-
- * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
- also FFI_THISCALL.
- * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
- (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
- (ffi_prep_closure_loc): Add FFI_THISCALL support.
- * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
- * src/x86/win32.S (ffi_closure_THISCALL): New closure code
- for thiscall-calling convention.
- * testsuite/libffi.call/closure_thiscall.c: New test.
-
-2012-01-28 Kai Tietz <ktietz@redhat.com>
-
- * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
- argument to prototype for specify calling-convention.
- (ffi_call): Add support for stdcall/thiscall convention.
- (ffi_prep_args): Likewise.
- (ffi_raw_call): Likewise.
- * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
- FFI_FASTCALL.
- * src/x86/win32.S (_ffi_call_win32): Add support for
- fastcall/thiscall calling-convention calls.
- * testsuite/libffi.call/fastthis1_win32.c: New test.
- * testsuite/libffi.call/fastthis2_win32.c: New test.
- * testsuite/libffi.call/fastthis3_win32.c: New test.
- * testsuite/libffi.call/strlen2_win32.c: New test.
- * testsuite/libffi.call/many2_win32.c: New test.
- * testsuite/libffi.call/struct1_win32.c: New test.
- * testsuite/libffi.call/struct2_win32.c: New test.
-
-2012-01-23 Uros Bizjak <ubizjak@gmail.com>
-
- * src/alpha/ffi.c (ffi_prep_closure_loc): Check for bad ABI.
-
-2012-01-23 Anthony Green <green@moxielogic.com>
- Chris Young <cdyoung@ntlworld.com>
-
- * configure.ac: Add Amiga support.
- * configure: Rebuilt.
-
-2012-01-23 Dmitry Nadezhin <dmitry.nadezhin@gmail.com>
-
- * include/ffi_common.h (LIKELY, UNLIKELY): Fix definitions.
-
-2012-01-23 Andreas Schwab <schwab@linux-m68k.org>
-
- * src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
- mc68000. Test for __HAVE_68881__ in addition to __MC68881__.
-
-2012-01-19 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/48496
- * src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
-
-2012-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (i?86-*-*): Set TARGET to X86_64.
- * configure: Regenerate.
-
-2011-12-07 Andrew Pinski <apinski@cavium.com>
-
- PR libffi/50051
- * src/mips/n32.S: Add ".set mips4".
-
-2011-11-21 Andreas Tobler <andreast@fgznet.ch>
-
- * configure: Regenerate.
-
-2011-11-12 David Gilbert <david.gilbert@linaro.org>
-
- * doc/libffi.texi, include/ffi.h.in, include/ffi_common.h,
- man/Makefile.am, man/ffi.3, man/ffi_prep_cif.3,
- man/ffi_prep_cif_var.3, src/arm/ffi.c, src/arm/ffitarget.h,
- src/cris/ffi.c, src/prep_cif.c,
- testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/float_va.c: Many changes to support variadic
- function calls.
-
-2011-11-12 Kyle Moffett <Kyle.D.Moffett@boeing.com>
-
- * src/powerpc/ffi.c, src/powerpc/ffitarget.h,
- src/powerpc/ppc_closure.S, src/powerpc/sysv.S: Many changes for
- softfloat powerpc variants.
-
-2011-11-12 Petr Salinger <Petr.Salinger@seznam.cz>
-
- * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Fix kfreebsd support.
- * configure: Rebuilt.
-
-2011-11-12 Timothy Wall <twall@users.sf.net>
-
- * src/arm/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV): Max
- alignment of 4 for wince on ARM.
-
-2011-11-12 Kyle Moffett <Kyle.D.Moffett@boeing.com>
- Anthony Green <green@moxielogic.com>
-
- * src/ppc/sysv.S, src/ppc/ffi.c: Remove use of ppc string
- instructions (not available on some cores, like the PPC440).
-
-2011-11-12 Kimura Wataru <kimuraw@i.nifty.jp>
-
- * m4/ax_enable_builddir: Change from string comparison to numeric
- comparison for wc output.
- * configure.ac: Enable FFI_MMAP_EXEC_WRIT for darwin11 aka Mac OS
- X 10.7.
- * configure: Rebuilt.
-
-2011-11-12 Anthony Green <green@moxielogic.com>
-
- * Makefile.am (AM_CCASFLAGS): Add -g option to build assembly
- files with debug info.
- * Makefile.in: Rebuilt.
-
-2011-11-12 Jasper Lievisse Adriaanse <jasper@openbsd.org>
-
- * README: Update list of supported OpenBSD systems.
-
-2011-11-12 Anthony Green <green@moxielogic.com>
-
- * libtool-version: Update.
- * Makefile.am (nodist_libffi_la_SOURCES): Add src/debug.c if
- FFI_DEBUG.
- (libffi_la_SOURCES): Remove src/debug.c
- (EXTRA_DIST): Add src/debug.c
- * Makefile.in: Rebuilt.
- * README: Update for 3.0.11.
-
-2011-11-10 Richard Henderson <rth@redhat.com>
-
- * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
- * configure, aclocal.m4: Rebuild.
-
-2011-09-04 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/49594
- * src/powerpc/darwin_closure.S (stubs): Make the stub binding
- helper reference track the architecture pointer size.
-
-2011-08-25 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
- instructions.
- * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
-
-2011-07-11 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46660
- * testsuite/libffi.call/cls_double_va.c: xfail dg-output on
- mips-sgi-irix6*.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
- PRId8 instead of %hhu, %hhd.
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
- PRIu8): Define.
- [__sgi__] (PRId8, PRIu8): Define.
-
-2011-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
- Define.
- Use them to handle ELF vs. ECOFF differences.
- [__osf__] (_GLOBAL__F_ffi_call_osf): Define.
-
-2011-03-30 Timothy Wall <twall@users.sf.net>
-
- * src/powerpc/darwin.S: Fix unknown FDE encoding.
- * src/powerpc/darwin_closure.S: ditto.
-
-2011-02-25 Anthony Green <green@moxielogic.com>
-
- * src/powerpc/ffi.c (ffi_prep_closure_loc): Allow for more
- 32-bit ABIs.
-
-2011-02-15 Anthony Green <green@moxielogic.com>
-
- * m4/ax_cc_maxopt.m4: Don't -malign-double or use -ffast-math.
- * configure: Rebuilt.
-
-2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2011-02-13 Anthony Green <green@moxielogic.com>
-
- * include/ffi_common.h (UNLIKELY, LIKELY): Define.
- * src/x86/ffi64.c (UNLIKELY, LIKELY): Remove definition.
- * src/prep_cif.c (UNLIKELY, LIKELY): Remove definition.
-
- * src/prep_cif.c (initialize_aggregate): Convert assertion into
- FFI_BAD_TYPEDEF return. Initialize arg size and alignment to 0.
-
- * src/pa/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
- just return FFI_BAD_ABI when things are wrong.
- * src/arm/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/powerpc/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/mips/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/ia64/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/avr32/ffi.c (ffi_prep_closure_loc): Ditto.
-
-2011-02-11 Anthony Green <green@moxielogic.com>
-
- * src/sparc/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
- just return FFI_BAD_ABI when things are wrong.
-
-2011-02-09 Stuart Shelton <srcshelton@gmail.com>
-
- http://bugs.gentoo.org/show_bug.cgi?id=286911
- * src/mips/ffitarget.h: Clean up error messages.
- * src/java_raw_api.c (ffi_java_translate_args): Cast raw arg to
- ffi_raw*.
- * include/ffi.h.in: Add pragma for SGI compiler.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * configure.ac: Add powerpc64-*-darwin* support.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * README: Mention Interix.
-
-2011-02-09 Jonathan Callen <abcd@gentoo.org>
-
- * configure.ac: Add Interix to win32/cygwin/mingw case.
- * configure: Ditto.
- * src/closures.c: Treat Interix like Cygwin, instead of as a
- generic win32.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * testsuite/libffi.call/err_bad_typedef.c: Remove xfail.
- * testsuite/libffi.call/err_bad_abi.c: Remove xfail.
- * src/x86/ffi64.c (UNLIKELY, LIKELY): Define.
- (ffi_prep_closure_loc): Check for bad ABI.
- * src/prep_cif.c (UNLIKELY, LIKELY): Define.
- (initialize_aggregate): Check for bad types.
-
-2011-02-09 Landon Fuller <landonf@plausible.coop>
-
- * Makefile.am (EXTRA_DIST): Add build-ios.sh, src/arm/gentramp.sh,
- src/arm/trampoline.S.
- (nodist_libffi_la_SOURCES): Add src/arc/trampoline.S.
- * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Define.
- * src/arm/ffi.c (ffi_trampoline_table)
- (ffi_closure_trampoline_table_page, ffi_trampoline_table_entry)
- (FFI_TRAMPOLINE_CODELOC_CONFIG, FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET)
- (FFI_TRAMPOLINE_COUNT, ffi_trampoline_lock, ffi_trampoline_tables)
- (ffi_trampoline_table_alloc, ffi_closure_alloc, ffi_closure_free):
- Define for FFI_EXEC_TRAMPOLINE_TABLE case (iOS).
- (ffi_prep_closure_loc): Handl FFI_EXEC_TRAMPOLINE_TABLE case
- separately.
- * src/arm/sysv.S: Handle Apple iOS host.
- * src/closures.c: Handle FFI_EXEC_TRAMPOLINE_TABLE case.
- * build-ios.sh: New file.
- * fficonfig.h.in, configure, Makefile.in: Rebuilt.
- * README: Mention ARM iOS.
-
-2011-02-08 Oren Held <orenhe@il.ibm.com>
-
- * src/dlmalloc.c (_STRUCT_MALLINFO): Define in order to avoid
- redefinition of mallinfo on HP-UX.
-
-2011-02-08 Ginn Chen <ginn.chen@oracle.com>
-
- * src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
- aggregate return ABI. Flush cache.
- (ffi_prep_closure_loc): Flush cache.
-
-2011-02-11 Anthony Green <green@moxielogic.com>
-
- From Tom Honermann <tom.honermann@oracle.com>:
- * src/powerpc/aix.S (ffi_call_AIX): Support for xlc toolchain on
- AIX. Declare .ffi_prep_args. Insert nops after branch
- instructions so that the AIX linker can insert TOC reload
- instructions.
- * src/powerpc/aix_closure.S: Declare .ffi_closure_helper_DARWIN.
-
-2011-02-08 Ed <ed@kdtc.net>
-
- * src/powerpc/asm.h: Fix grammar nit in comment.
-
-2011-02-08 Uli Link <ul.mcamafia@linkitup.de>
-
- * include/ffi.h.in (FFI_64_BIT_MAX): Define and use.
-
-2011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46661
- * testsuite/libffi.call/cls_pointer.c (main): Cast void * to
- uintptr_t first.
- * testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
-
-2011-02-08 Rafael Avila de Espindola <respindola@mozilla.com>
-
- * configure.ac: Fix x86 test for pc related relocs.
- * configure: Rebuilt.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
- Handle case when CPU variant does not have long double support.
- * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
- and cores with soft floating point.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * configure.ac: Add mips*-*-rtems* support.
- * configure: Regenerate.
- * src/mips/ffitarget.h: Ensure needed constants are available
- for targets which do not have sgidefs.h.
-
-2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR target/40125
- * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
- * configure: Regenerate.
-
-2010-12-18 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/29152
- PR libffi/42378
- * src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
- (FFI_TRAMPOLINE_SIZE): Update for Darwin64.
- * src/powerpc/darwin.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
- backslashes.
- (libffi_cv_as_string_pseudo_op): Likewise.
- * configure: Regenerate.
-
-2010-12-03 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
- (ffi_closure_VFP): Same.
- (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
- directive.
-
-2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
- (PRIuPTR): Define.
-
-2010-11-29 Richard Henderson <rth@redhat.com>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
- (.eh_frame): Use FDE_ENCODING.
- (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
-
-2010-11-22 Jacek Caban <jacek@codeweavers.com>
-
- * configure.ac: Check for symbol underscores on mingw-w64.
- * configure: Rebuilt.
- * src/x86/win64.S: Correctly access extern symbols in respect to
- underscores.
-
-2010-11-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp: Rename ...
- * testsuite/lib/libffi.exp: ... to this.
- * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
- * libffi/testsuite/libffi.special/special.exp: Likewise.
-
-2010-10-28 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
- code, new parameter, and return value. Update comments.
- (ffi_prep_cif_machdep): Add case for VFP struct return values. Add
- call to layout_vfp_args().
- (ffi_call_SYSV): Update declaration.
- (ffi_call_VFP): New declaration.
- (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
- when ABI is FFI_VFP.
- (ffi_closure_VFP): New declaration.
- (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
- ffi_prep_incoming_args_SYSV().
- (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
- case handling.
- (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
- construction under VFP hard-float.
- (rec_vfp_type_p): New function.
- (vfp_type_p): Same.
- (place_vfp_arg): Same.
- (layout_vfp_args): Same.
- * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
- based on __ARM_PCS_VFP.
- (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
- fields.
- (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
- (FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
- * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
- direct call. Move function pointer load upwards.
- (ffi_call_VFP): New function.
- (ffi_closure_VFP): Same.
-
- * testsuite/lib/libffi-dg.exp (check-flags): New function.
- (dg-skip-if): New function.
- * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
- and compiler options include -mfloat-abi=hard.
- * testsuite/libffi.call/cls_longdouble_va.c: Same.
-
-2010-10-01 Jakub Jelinek <jakub@redhat.com>
-
- PR libffi/45677
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
- a multiple of 8.
- * testsuite/libffi.call/many2.c: New test.
-
-2010-08-20 Mark Wielaard <mjw@redhat.com>
-
- * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
- returns NULL.
-
-2010-08-09 Andreas Tobler <andreast@fgznet.ch>
-
- * configure.ac: Add target powerpc64-*-freebsd*.
- * configure: Regenerate.
- * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
- -mlong-double-128 only to linux targets.
- * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
- * testsuite/libffi.call/cls_longdouble.c: Likewise.
- * testsuite/libffi.call/huge_struct.c: Likewise.
-
-2010-08-05 Dan Witte <dwitte@mozilla.com>
-
- * Makefile.am: Pass FFI_DEBUG define to msvcc.sh for linking to the
- debug CRT when --enable-debug is given.
- * configure.ac: Define it.
- * msvcc.sh: Translate -g and -DFFI_DEBUG appropriately.
-
-2010-08-04 Dan Witte <dwitte@mozilla.com>
-
- * src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64
- platforms.
- * src/x86/ffi.c: Remove redundant ifdef checks.
- * src/prep_cif.c: Push stack space computation into src/x86/ffi.c
- for X86_ANY so return value space doesn't get added twice.
-
-2010-08-03 Neil Rashbrooke <neil@parkwaycc.co.uk>
-
- * msvcc.sh: Don't pass -safeseh to ml64 because behavior is buggy.
-
-2010-07-22 Dan Witte <dwitte@mozilla.com>
-
- * src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
- * src/prep_cif.c: Fix ABI assertion.
- * src/cris/ffi.c: Ditto.
-
-2010-07-10 Evan Phoenix <evan@fallingsnow.net>
-
- * src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
-
-2010-07-07 Dan Horák <dan@danny.cz>
-
- * include/ffi.h.in: Protect #define with #ifndef.
- * src/powerpc/ffitarget.h: Ditto.
- * src/s390/ffitarget.h: Ditto.
- * src/sparc/ffitarget.h: Ditto.
-
-2010-07-07 Neil Roberts <neil@linux.intel.com>
-
- * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
- 16-bytes.
-
-2010-07-02 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
- * Makefile.in: Regenerated.
-
-2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
- output, too.
- (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
- (libffi_cv_as_string_pseudo_op): Check for .string.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
-
-2010-05-11 Dan Witte <dwitte@mozilla.com>
-
- * doc/libffi.tex: Document previous change.
-
-2010-05-11 Makoto Kato <m_kato@ga2.so-net.ne.jp>
-
- * src/x86/ffi.c (ffi_call): Don't copy structs passed by value.
-
-2010-05-05 Michael Kohler <michaelkohler@live.com>
-
- * src/dlmalloc.c (dlfree): Fix spelling.
- * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
- * configure.ac: Ditto.
- * configure: Rebuilt.
-
-2010-04-13 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Build with -W3 instead of -Wall.
- * src/powerpc/ffi_darwin.c: Remove build warnings.
- * src/x86/ffi.c: Ditto.
- * src/x86/ffitarget.h: Ditto.
-
-2010-04-12 Dan Witte <dwitte@mozilla.com>
- Walter Meinl <wuno@lsvw.de>
-
- * configure.ac: Add OS/2 support.
- * configure: Rebuilt.
- * src/closures.c: Ditto.
- * src/dlmalloc.c: Ditto.
- * src/x86/win32.S: Ditto.
-
-2010-04-07 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
-
-2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2010-03-30 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Disable build warnings.
- * README (tested): Clarify windows build procedure.
-
-2010-03-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * libffi/src/x86/unix64.S (.eh_frame)
- [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
-
-2010-03-14 Matthias Klose <doko@ubuntu.com>
-
- * src/x86/ffi64.c: Fix typo in comment.
- * src/x86/ffi.c: Use /* ... */ comment style.
-
-2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/libffi.texi (The Closure API): Fix typo.
- * doc/libffi.info: Remove.
-
-2010-02-15 Matthias Klose <doko@ubuntu.com>
-
- * src/arm/sysv.S (__ARM_ARCH__): Define for processor
- __ARM_ARCH_7EM__.
-
-2010-01-15 Anthony Green <green@redhat.com>
-
- * README: Add notes on building with Microsoft Visual C++.
-
-2010-01-15 Daniel Witte <dwitte@mozilla.com>
-
- * msvcc.sh: New file.
-
- * src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
- * src/x86/ffi.c: Tweak function declaration and remove excess
- parens.
- * include/ffi.h.in: Add __declspec(align(8)) to typedef struct
- ffi_closure.
-
- * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
- function ffi_call_win32 on X86_WIN32.
- * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
- (ffi_call_STDCALL): Remove.
-
- * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
- to ffi_prep_cif_machdep for x86.
- * src/x86/ffi.c (ffi_prep_cif_machdep): To here.
-
-2010-01-15 Oliver Kiddle <okiddle@yahoo.co.uk>
-
- * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
- Sun Studio compiler compatibility.
-
-2010-01-12 Conrad Irwin <conrad.irwin@gmail.com>
-
- * doc/libffi.texi: Add closure example.
-
-2010-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40701
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
- PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
- * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
- alpha*-dec-osf*.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/return_ll1.c: Likewise.
- * testsuite/libffi.call/stret_medium2.c: Likewise.
- * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
- MAP_FAILED to char *.
-
-2010-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
-
-2009-12-31 Anthony Green <green@redhat.com>
-
- * README: Update for libffi 3.0.9.
-
-2009-12-27 Matthias Klose <doko@ubuntu.com>
-
- * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
- appropriate.
- * configure: Rebuilt.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
- avr32*-*-*.
- * testsuite/libffi.call/cls_double_va.c: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
- and inttypes.h.
- * testsuite/libffi.special/unwindtest.cc: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-openbsd*.
- * configure: Rebuilt.
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
- openbsd programs with -lpthread.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
- mips*-*-* and arm*-*-*.
- * testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c,
- testsuite/libffi.call/stret_medium2.c,
- testsuite/libffi.call/stret_medium.c,
- testsuite/libffi.call/stret_large.c,
- testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
-
-2009-12-31 Kay Tietz <ktietz70@googlemail.com>
-
- * testsuite/libffi.call/ffitest.h,
- testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
- definitions.
-
-2009-12-31 Carlo Bramini <carlo.bramix@libero.it>
-
- * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
- * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
-
-2009-12-31 Anthony Green <green@redhat.com>
- Blake Chaffin.
-
- * testsuite/libffi.call/huge_struct.c: New test case from Blake
- Chaffin @ Apple.
-
-2009-12-28 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
- local variables.
- (aix_adjust_aggregate_sizes): New function.
- (ffi_prep_cif_machdep): Call it.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
- * configure: Regenerate.
- * fficonfig.h.in: Likewise.
- * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
- Solaris/x86.
-
-2009-12-26 Andreas Schwab <schwab@linux-m68k.org>
-
- * 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.
-
-2009-12-25 Matthias Klose <doko@ubuntu.com>
-
- * man/ffi_call.3: Fix #include in examples.
- * doc/libffi.texi: Add dircategory.
-
-2009-12-25 Frank Everdij <f.p.x.everdij@tudelft.nl>
-
- * include/ffi.h.in: Placed '__GNUC__' ifdef around
- '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
- IRIX MIPSPro c99.
- * include/ffi_common.h: Added '__sgi' define to non
- '__attribute__((__mode__()))' integer typedefs.
- * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
- ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
- (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
- FFI_LONGDOUBLE support and alignment(N32 only).
- * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
- fixed non '__attribute__((__mode__()))' integer typedefs.
- * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
- since they are Linux/GNU Assembler specific.
-
-2009-12-25 Bradley Smith <brad@brad-smith.co.uk>
-
- * configure.ac, Makefile.am, src/avr32/ffi.c,
- src/avr32/ffitarget.h,
- src/avr32/sysv.S: Add AVR32 port.
- * configure, Makefile.in: Rebuilt.
-
-2009-12-21 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
- * configure: Regenerate.
-
-2009-12-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
- type on HP-UX.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
- double' arguments.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40700
- * src/closures.c [X86_64 && __sun__ && __svr4__]
- (FFI_MMAP_EXEC_WRIT): Define.
-
-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.
-
-2009-12-07 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
- typo.
-
-2009-12-05 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
- code.
- * src/powerpc/aix_closure.S: Same.
-
-2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
- linux64_closure.S.
-
-2009-12-04 Uros Bizjak <ubizjak@gmail.com>
-
- 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.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
- pfr for long double split between fpr13 and stack.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
- fparg_count twice for long double.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- PR libffi/42243
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03 Uros Bizjak <ubizjak@gmail.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
- Remove xfails for x86 linux targets.
-
-2009-12-02 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
- case.
-
-2009-12-01 David Edelsohn <edelsohn@gnu.org>
-
- * 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.
-
-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.
-
-2009-11-02 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/41908
- * testsuite/libffi.call/testclosure.c: New test.
-
-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.
-
-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.
-
-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.
-
-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.
-
-2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.am (install-html, install-pdf): Remove.
- * Makefile.in: Regenerate.
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2011-08-22 Jasper Lievisse Adriaanse <jasper@openbsd.org>
-
- * configure.ac: Add OpenBSD/hppa and OpenBSD/powerpc support.
- * configure: Rebuilt.
-
-2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24 Dave Korn <dave.korn.cygwin@gmail.com>
-
- 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.
-
-2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
-
- 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.
-
-2009-07-01 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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 "".)
-
-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.
-
-2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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.
-
-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.
-
-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.
-
-2009-06-16 Andrew Haley <aph@redhat.com>
-
- * configure.ac (TARGETDIR): Add missing blank lines.
- * configure: Regenerate.
-
-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.
-
-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.
-
-2009-06-12 Andrew Haley <aph@redhat.com>
-
- * Makefile.am: Remove info_TEXINFOS.
-
-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-11 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * 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.
-
-2009-06-09 Andrew Haley <aph@redhat.com>
-
- * src/x86/freebsd.S: Add missing file.
-
-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).
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * README: Import from libffi 3.0.8.
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Add xfails.
- * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
- * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
- * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
- * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
- * testsuite/libffi.call/stret_medium.c: Likewise.
- * testsuite/libffi.call/stret_large2.c: Likewise.
- * testsuite/libffi.call/stret_large.c: Likewise.
-
-2008-12-26 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_align_longdouble.c,
- testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
- failures on x86_64 cygwin/mingw.
-
-2008-12-22 Timothy Wall <twall@users.sf.net>
-
- * 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_loc_fn0.c,
- testsuite/libffi.call/closure_stdcall.c,
- testsuite/libffi.call/cls_align_pointer.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
- pointer to integer (intptr_t).
- * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_dbls_struct.c,
- testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c,
- testsuite/libffi.call/err_bad_abi.c: Clean up failures from
- compiler warnings.
-
-2008-03-04 Anthony Green <green@redhat.com>
- Blake Chaffin
- hos@tamanegi.org
-
- * testsuite/libffi.call/cls_align_longdouble_split2.c
- testsuite/libffi.call/cls_align_longdouble_split.c
- testsuite/libffi.call/cls_dbls_struct.c
- testsuite/libffi.call/cls_double_va.c
- testsuite/libffi.call/cls_longdouble.c
- testsuite/libffi.call/cls_longdouble_va.c
- testsuite/libffi.call/cls_pointer.c
- testsuite/libffi.call/cls_pointer_stack.c
- testsuite/libffi.call/err_bad_abi.c
- testsuite/libffi.call/err_bad_typedef.c
- testsuite/libffi.call/stret_large2.c
- testsuite/libffi.call/stret_large.c
- testsuite/libffi.call/stret_medium2.c
- testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
- libffi.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
- stdcall changes.
-
-2008-02-26 Anthony Green <green@redhat.com>
- Thomas Heller <theller@ctypes.org>
-
- * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
- comment.
-
-2008-02-03 Timothy Wall <twall@users.sf.net>
-
- * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
- offset based on code pointer, not data pointer.
-
-2008-01-31 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
- closures.
- * src/x86/ffitarget.h: Increase size of trampoline for stdcall
- closures.
- * src/x86/win32.S: Add assembly for stdcall closure.
- * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Change void (*)() to void (*)(void).
- * src/x86/ffi.c: Likewise.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ppc_closure.S: Insert licence header.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/m68k/sysv.S: Likewise.
-
- * src/sh64/ffi.c: Change void (*)() to void (*)(void).
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/m32r/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi64.c: Likewise.
- * src/alpha/ffi.c: Likewise.
- * src/alpha/osf.S: Likewise.
- * src/frv/ffi.c: Likewise.
- * src/s390/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/pa/hpux32.S: Likewise.
- * src/ia64/unix.S: Likewise.
- * src/ia64/ffi.c: Likewise.
- * src/sparc/ffi.c: Likewise.
- * src/mips/ffi.c: Likewise.
- * src/sh/ffi.c: Likewise.
-
-2008-02-15 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
- Define (conditionally), and use it to include cachectl.h.
- (ffi_prep_closure_loc): Fix cache flushing.
- * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- include/ffi.h.in,
- src/arm/ffitarget.h,
- src/arm/ffi.c,
- src/arm/sysv.S,
- src/powerpc/ffitarget.h,
- src/closures.c,
- src/sh64/ffitarget.h,
- src/sh64/ffi.c,
- src/sh64/sysv.S,
- src/types.c,
- src/x86/ffi64.c,
- src/x86/ffitarget.h,
- src/x86/win32.S,
- src/x86/darwin.S,
- src/x86/ffi.c,
- src/x86/sysv.S,
- src/x86/unix64.S,
- src/alpha/ffitarget.h,
- src/alpha/ffi.c,
- src/alpha/osf.S,
- src/m68k/ffitarget.h,
- src/frv/ffitarget.h,
- src/frv/ffi.c,
- src/s390/ffitarget.h,
- src/s390/sysv.S,
- src/cris/ffitarget.h,
- src/pa/linux.S,
- src/pa/ffitarget.h,
- src/pa/ffi.c,
- src/raw_api.c,
- src/ia64/ffitarget.h,
- src/ia64/unix.S,
- src/ia64/ffi.c,
- src/ia64/ia64_flags.h,
- src/java_raw_api.c,
- src/debug.c,
- src/sparc/v9.S,
- src/sparc/ffitarget.h,
- src/sparc/ffi.c,
- src/sparc/v8.S,
- src/mips/ffitarget.h,
- src/mips/n32.S,
- src/mips/o32.S,
- src/mips/ffi.c,
- src/prep_cif.c,
- src/sh/ffitarget.h,
- src/sh/ffi.c,
- src/sh/sysv.S: Update license text.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * src/x86/win32.S (_ffi_closure_STDCALL): New function.
- (.eh_frame): Add FDE for it.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * configure.ac: Also check if assembler supports pc-relative
- relocs on X86_WIN32 targets.
- * configure: Regenerate.
- * src/x86/win32.S (ffi_prep_args): Declare extern, not global.
- (_ffi_call_SYSV): Add missing function type symbol .def and
- add EH markup labels.
- (_ffi_call_STDCALL): Likewise.
- (_ffi_closure_SYSV): Likewise.
- (_ffi_closure_raw_SYSV): Likewise.
- (.eh_frame): Add hand-crafted EH data.
-
-2009-04-09 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
- version 3 of the GNU General Public License and to point readers
- at the COPYING3 file and the FSF's license web page.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-12-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libffi/26048
- * configure.ac (HAVE_AS_X86_PCREL): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
- RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
- RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
- * src/x86/unix64.S (.Lstore_table): Move to .text section.
- (.Lload_table): Likewise.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
- signed/unsigned int8/16 return values.
- * src/sparc/v8.S (ffi_call_v8): Likewise.
- (ffi_closure_v8): Likewise.
-
-2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
- Steve Ellcey <sje@cup.hp.com>
-
- * configure: Regenerate for new libtool.
- * Makefile.in: Ditto.
- * include/Makefile.in: Ditto.
- * aclocal.m4: Ditto.
-
-2008-08-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
- FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
- Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
- Adjust copyright notice.
- * src/powerpc/ffi.c: Add two new flags to indicate if we have one
- register or two register to use for FFI_SYSV structs.
- (ffi_prep_cif_machdep): Pass the right register flag introduced above.
- (ffi_closure_helper_SYSV): Fix the return type for
- FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
- Adjust copyright notice.
-
-2008-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
- int.
-
-2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2008-06-07 Joseph Myers <joseph@codesourcery.com>
-
- * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
- powerpc-*-beos*): Remove.
- * configure: Regenerate.
-
-2008-05-09 Julian Brown <julian@codesourcery.com>
-
- * Makefile.am (LTLDFLAGS): New.
- (libffi_la_LDFLAGS): Use above.
- * Makefile.in: Regenerate.
-
-2008-04-18 Paolo Bonzini <bonzini@gnu.org>
-
- PR bootstrap/35457
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2008-03-26 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add .note.GNU-stack on Linux.
- * src/sh64/sysv.S: Likewise.
-
-2008-03-26 Daniel Jacobowitz <dan@debian.org>
-
- * src/arm/sysv.S: Fix ARM comment marker.
-
-2008-03-26 Jakub Jelinek <jakub@redhat.com>
-
- * src/alpha/osf.S: Add .note.GNU-stack on Linux.
- * src/s390/sysv.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
- * src/x86/unix64.S: Likewise.
- * src/x86/sysv.S: Likewise.
- * src/sparc/v8.S: Likewise.
- * src/sparc/v9.S: Likewise.
- * src/m68k/sysv.S: Likewise.
- * src/arm/sysv.S: Likewise.
-
-2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * aclocal.m4: Regenerate.
- * configure: Likewise.
- * Makefile.in: Likewise.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2008-02-12 Bjoern Koenig <bkoenig@alpha-tierchen.de>
- Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-freebsd* target.
- * configure: Regenerate.
-
-2008-01-30 H.J. Lu <hongjiu.lu@intel.com>
-
- PR libffi/34612
- * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
- returning struct.
-
- * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
- tests.
-
-2008-01-24 David Edelsohn <edelsohn@gnu.org>
-
- * configure: Regenerate.
-
-2008-01-06 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
-
-2008-01-05 Andreas Tobler <a.tobler@schweiz.org>
-
- PR testsuite/32843
- * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
- signed/unsigned int8/16 for X86_DARWIN.
- Updated copyright info.
- Handle one and two byte structs with special cif->flags.
- * src/x86/ffitarget.h: Add special types for one and two byte structs.
- Updated copyright info.
- * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
- sysv.S
- Remove code to pop args from the stack after call.
- Special-case signed/unsigned for int8/16, one and two byte structs.
- (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
- FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
- FFI_TYPE_SINT32.
- Updated copyright info.
-
-2007-12-08 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_call_N32): Replace dadd with ADDU, dsub with
- SUBU, add with ADDU and use smaller code sequences.
-
-2007-12-07 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
- type.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
- defined.
- (ffi_java_raw): New typedef.
- (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
- ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
- ffi_java_raw.
- (ffi_java_raw_closure) : Same.
- (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
- parameter types.
- * src/java_raw_api.c (ffi_java_raw_size): Replace FFI_SIZEOF_ARG with
- FFI_SIZEOF_JAVA_RAW.
- (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
- Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
- sizeof(ffi_java_raw) for alignment calculations.
- (ffi_java_ptrarray_to_raw): Same.
- (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
- if FFI_SIZEOF_JAVA_RAW == 4.
- (ffi_java_raw_to_rvalue): Same.
- (ffi_java_raw_call): Change type of raw to ffi_java_raw.
- (ffi_java_translate_args): Same.
- (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
- parameter types.
- * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
- pointer values.
-
-2007-12-01 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/31937
- * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
- Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
- * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
- set the NUM_FPR_ARG_REGISTERS according to.
- Add support for potential soft-float support under hard-float
- architecture.
- (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
- FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
- to the FFI_LINUX_SOFT_FLOAT ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Make sure not to store float/double
- on archs where __NO_FPRS__ is true.
- Add FFI_TYPE_UINT128 support.
- * src/powerpc/sysv.S: Add support for soft-float long-double-128.
- Adjust copyright notice.
-
-2007-11-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
- * include/ffi_common.h: ... here.
- Update copyright.
-
-2007-11-17 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
- * testsuite/libffi.call/return_ldl.c: New test.
-
-2007-09-04 <aph@redhat.com>
-
- * src/arm/sysv.S (UNWIND): New.
- (Whole file): Conditionally compile unwinder directives.
- * src/arm/sysv.S: Add unwinder directives.
-
- * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
- Only treat r0 as a struct address if we're actually returning a
- struct by address.
- Only copy the bytes that are actually within a struct.
- (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
- is returned in r0, not passed by address.
- (ffi_call): Allocate a word-sized temporary for the case where
- a composite is returned in r0.
- (ffi_prep_incoming_args_SYSV): Align as necessary.
-
-2007-08-05 Steven Newbury <s_j_newbury@yahoo.co.uk>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
- directly using the sys_cacheflush syscall.
-
-2007-07-27 Andrew Haley <aph@redhat.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
-
-2007-09-03 Maciej W. Rozycki <macro@linux-mips.org>
-
- * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure: Likewise.
-
-2007-08-24 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/return_sl.c: New test.
-
-2007-08-10 David Daney <ddaney@avtrex.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/nested_struct5.c,
- testsuite/libffi.call/cls_double.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/nested_struct.c,
- testsuite/libffi.call/cls_2byte.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_sint16.c,
- testsuite/libffi.call/cls_align_uint32.c,
- testsuite/libffi.call/cls_20byte.c,
- testsuite/libffi.call/cls_float.c,
- testsuite/libffi.call/nested_struct2.c,
- testsuite/libffi.call/cls_5_1_byte.c,
- testsuite/libffi.call/nested_struct4.c,
- testsuite/libffi.call/cls_24byte.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: Remove xfail for mips64*-*-*.
-
-2007-08-10 David Daney <ddaney@avtrex.com>
-
- 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.
-
-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*.
- * 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.
-
-2006-12-13 Andreas Tobler <a.tobler@schweiz.org>
-
- * aclocal.m4: Regenerate with aclocal -I .. as written in the
- Makefile.am.
-
-2006-10-31 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
- (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
- Darwin.
- * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
- * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10 Paolo Bonzini <bonzini@gnu.org>
- Sandro Tolaini <tolaini@libero.it>
-
- * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
- conditional.
- * configure: Regenerated.
- * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
- (EXTRA_DIST): Add src/x86/darwin.S.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
- X86_WIN32, and additionally align stack to 16 bytes.
- * src/x86/darwin.S: New, based on sysv.S.
- * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12 David Daney <ddaney@avtrex.com>
-
- PR libffi/23935
- * include/Makefile.am: Install both ffi.h and ffitarget.h in
- $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
- * aclocal.m4: Regenerated for automake 1.9.6.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
-2006-08-17 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h: Remove lint directives.
- * include/ffi.h.in: Likewise.
-
-2006-07-25 Torsten Schoenfeld <kaffeetisch@gmx.de>
-
- * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
- for 32-bit architectures.
- * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
- xfail remains for mips64.
-
-2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
-
- * Makefile.am: Add install-html target. Add install-html to .PHONY
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
- stack slot.
-
-2006-04-22 Andreas Tobler <a.tobler@schweiz.ch>
-
- * README: Remove notice about 'Crazy Comments'.
- * src/debug.c: Remove lint directives. Cleanup white spaces.
- * src/java_raw_api.c: Likewise.
- * src/prep_cif.c: Likewise.
- * src/raw_api.c: Likewise.
- * src/ffitest.c: Delete. No longer needed, all test cases migrated
- to the testsuite.
- * src/arm/ffi.c: Remove lint directives.
- * src/m32r/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/sh/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/pa/hpux32.S: Correct unwind offset calculation for
- ffi_closure_pa32.
- * src/pa/linux.S: Likewise.
-
-2006-04-12 James E Wilson <wilson@specifix.com>
-
- PR libgcj/26483
- * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
- (hfa_type_load): Call stf_spill.
- (hfa_type_store): Call ldf_fill.
- (ffi_call): Adjust calls to above routines. Add local temps for
- macro result.
-
-2006-04-10 Matthias Klose <doko@debian.org>
-
- * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
- directory names containing underscores.
-
-2006-04-07 James E Wilson <wilson@specifix.com>
-
- * testsuite/libffi.call/float4.c: New testcase.
-
-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.
-
-2006-03-24 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Default
- for 32-bit using IBM extended double format. Fix FFI_LAST_ABI.
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
- FFI_TYPE_LONGDOUBLE.
- (ffi_prep_args64): Assert using IBM extended double.
- (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
- Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
- (ffi_call): Handle FFI_LINUX.
- (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
- gpr3 return pointer as for struct return. Handle FFI_LINUX
- FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf"
- unnecessarily.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
- for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table.
- Don't use r6 as pointer to results, instead use sp offset. Don't
- make a special call to load lr with case table address, instead
- use offset from previous call.
- * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
- return.
-
-2006-03-15 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
- passed with FP registers correctly.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S: Likewise.
-
-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.
-
-2006-02-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
- -O2, -O3, -Os and the warning flags -W -Wall.
- * testsuite/libffi.special/special.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
- unused parameter unused for gcc or else do nothing.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
- * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
- * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
- * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
- * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
- * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
- * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
- * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
- * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
- void* to avoid compiler warning.
- (main): Likewise.
- (cls_struct_align_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
- * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
- * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
- userdata unused.
- (cls_ret_schar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
- userdata unused.
- (cls_ret_sint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
- userdata unused.
- (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn): Mark cif and
- userdata unused.
- (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
- userdata unused.
- (cls_ret_uint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
- userdata unused.
- (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
- * testsuite/libffi.call/float1.c (main): Remove unused variable i.
- Cleanup white spaces.
- * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
- * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
- cif and userdata unused.
- * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
- Likewise.
- * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
- formatters to silence gcc.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct4.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct6.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
- * testsuite/libffi.call/problem1.c (stub): Likewise.
- * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
- gcc.
- * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
- in the last commit for this test case in the test case itself.
- * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
- unused.
- * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
- * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
- * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
- * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
- * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
- * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Fix register numbers in the FDE for
- ffi_closure_SYSV.
-
-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.
-
-2006-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
- and cast integer to void * if needed. Update the pointer to
- the FP register saved area correctly.
-
-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.
-
-2006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/return_dbl.c: New test case.
- * testsuite/libffi.call/return_dbl1.c: Likewise.
- * testsuite/libffi.call/return_dbl2.c: Likewise.
- * testsuite/libffi.call/return_fl.c: Likewise.
- * testsuite/libffi.call/return_fl1.c: Likewise.
- * testsuite/libffi.call/return_fl2.c: Likewise.
- * testsuite/libffi.call/return_fl3.c: Likewise.
- * testsuite/libffi.call/closure_fn6.c: Likewise.
-
- * 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.
-
-2006-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.ac: Enable libffi for sparc64-*-freebsd*.
- * configure: Rebuilt.
-
-2006-01-18 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
- instead do the shifting inline.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
- shift count unconditionally. Simplify load sequences for 1, 2, 3, 4
- and 8 byte structs, for the remaining struct sizes don't call
- __lshrdi3, instead do the shifting inline.
-
-2005-12-07 Thiemo Seufer <ths@networkno.de>
-
- * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
- missing parentheses.
- * src/mips/o32.S (ffi_call_O32): Code formatting. Define
- and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
- (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
- A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
- V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
- FA_0_0_OFF2.
- * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
- endianness bugs.
- (ffi_prep_closure): Improve trampoline instruction scheduling.
- (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c: Formatting.
- (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
- (ffi_prep_args64): Likewise.
-
-2005-09-30 Geoffrey Keating <geoffk@apple.com>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
- darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26 Tom Tromey <tromey@redhat.com>
-
- * 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.
-
-2005-08-25 Alan Modra <amodra@bigpond.net.au>
-
- PR target/23404
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
- homed fp args.
- (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11 Jakub Jelinek <jakub@redhat.com>
-
- * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
- (AH_BOTTOM): Add FFI_HIDDEN definition.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * src/powerpc/ffi.c (hidden): Remove.
- (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
- ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
- .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
- * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
- add FFI_HIDDEN to its prototype.
- (ffi_closure_SYSV_inner): New.
- * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
- * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10 Alfred M. Szmidt <ams@gnu.org>
-
- PR libffi/21819:
- * configure: Rebuilt.
- * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
- DW_CFA_offset_extended_sf rather than
- DW_CFA_GNU_negative_offset_extended.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
-
- * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
- on sh3.
- (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
- * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
- partially on register.
- (ffi_closure_helper_SYSV): Likewise.
- (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_call): Handle small structures correctly.
- Remove empty line.
- * src/sh64/ffi.c (simple_type): Remove.
- (return_type): Handle small structures correctly.
- (ffi_prep_args): Likewise.
- (ffi_call): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
- Emit position independent code if PIC and remove wrong datalabel
- prefixes from EH data.
-
-2005-07-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure.ac: Add POWERPC_FREEBSD rules.
- * configure: Regenerate.
- * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
- (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
- * src/powerpc/ffi.c: Add flags to handle small structure returns
- in ffi_call_SYSV.
- (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
- Aka FFI_SYSV.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Add return types for small structures.
- * src/powerpc/sysv.S: Add bits to handle small structures for
- final SYSV 4 ABI.
-
-2005-07-10 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_5_1_byte.c: New test file.
- * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05 Randolph Chung <tausq@debian.org>
-
- * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
- as FFI_TYPE_SMALL_STRUCT3. Break out handling for 5-7 byte
- structures. Kill compilation warnings.
- (ffi_closure_inner_LINUX): Print return values as hex in debug
- message. Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
- Properly handle 5-7 byte structure returns.
- * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
- (FFI_TYPE_SMALL_STRUCT2): Remove.
- (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
- (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
- * src/pa/linux.S: Mark source file as using PA1.1 assembly.
- (checksmst1, checksmst2): Remove.
- (checksmst3): Optimize handling of 3-byte struct returns.
- (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libgcj/21943
- * src/mips/n32.S: Enforce PIC code.
- * src/mips/o32.S: Likewise.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
- * configure: Regenerate.
-
-2005-06-01 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
- to call ffi_closure_helper_SYSV. Append @local instead.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
- Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
- * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
- * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
- include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-05-08 Richard Henderson <rth@redhat.com>
-
- PR libffi/21285
- * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04 Andreas Degert <ad@papyrus-gmbh.de>
- Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
- bit 11 of flags.
- (ffi_call): Mask return type field. Pass ssecount to ffi_call_unix64.
- (ffi_prep_closure): Set carry bit if sse-used flag set.
- * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
- Only load sse registers if ssecount non-zero.
- (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
- powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
- * configure: Regenerate.
-
-2005-04-20 Hans-Peter Nilsson <hp@axis.com>
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
- have Tcl8.3-compatible intermediate variable.
-
-2005-04-18 Simon Posnjak <simon.posnjak@siol.net>
- Hans-Peter Nilsson <hp@axis.com>
-
- * Makefile.am: Add CRIS support.
- * configure.ac: Likewise.
- * Makefile.in, configure, testsuite/Makefile.in,
- include/Makefile.in: Regenerate.
- * src/cris: New directory.
- * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
- * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
- \r?\n in output tests.
-
-2005-04-12 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-03-30 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30 Steve Ellcey <sje@cup.hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
- (ffi_sarg) Ditto.
- * src/ia64/unix.S (ffi_closure_unix): Extend gp
- to 64 bits in ILP32 mode.
- Load 64 bits even for short data.
-
-2005-03-23 Mike Stump <mrs@apple.com>
-
- * src/powerpc/darwin.S: Update for -m64 multilib.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21 Zack Weinberg <zack@codesourcery.com>
-
- * 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.
-
-2005-02-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
- odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR libffi/20104
- * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11 Janis Johnson <janis187@us.ibm.com>
-
- * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
- * testsuite/libffi.call/float.c: Ditto.
- * testsuite/libffi.call/float2.c: Ditto.
- * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * testsuite/libffi.special/special.exp (cxx_options): Add
- -shared-libgcc.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
- (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
- offset parameters with a type parameter; deduce size and structure
- alignment. Update all users.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
- (FFI_TYPE_LONGDOUBLE): Fix for ia64.
- * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
- into ffi_prep_closure.
- * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
- from scratch.
-
-2004-12-27 Richard Henderson <rth@redhat.com>
-
- * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25 Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
- (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
- (merge_classes): Check for it.
- (SSE_CLASS_P): New.
- (classify_argument): Pass byte_offset by value; perform all updates
- inside struct case.
- (examine_argument): Add classes argument; handle
- X86_64_COMPLEX_X87_CLASS.
- (ffi_prep_args): Merge into ...
- (ffi_call): ... here. Share stack frame with ffi_call_unix64.
- (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
- (ffi_fill_return_value): Remove.
- (ffi_prep_closure): Remove dead assert.
- (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
- Rewrite to use struct register_args instead of va_list. Create
- flags for handling structure returns.
- * src/x86/unix64.S: Remove dead strings.
- (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share
- stack frame with ffi_call. Handle structure returns properly.
- (float2sse, floatfloat2sse, double2sse): Remove.
- (sse2float, sse2double, sse2floatfloat): Remove.
- (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite
- to handle structure returns properly.
-
-2004-12-08 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
- PICFLAG.
- * Makefile.in: Regenerated.
-
-2004-12-02 Richard Sandiford <rsandifo@redhat.com>
-
- * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
- * configure, aclocal.m4, Makefile.in: Regenerate.
- * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-25 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool reversion.
-
-2004-11-24 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23 Richard Sandiford <rsandifo@redhat.com>
-
- * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
- of jal. Use an absolute encoding for the frame information.
-
-2004-11-23 Kelley Cook <kcook@gcc.gnu.org>
-
- * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS.
- * acinclude.m4: Delete logic for sincludes.
- * aclocal.m4, Makefile.in, configure: Regenerate.
- * include/Makefile: Likewise.
- * testsuite/Makefile: Likewise.
-
-2004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
- on a 8-byte boundary.
- * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
- long long values. Round stack allocation to a multiple of 8 bytes
- for ATPCS compatibility.
- * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
- names. Handle returning long long types. Add Thumb and interworking
- support. Improve soft-float code.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
- (libffi_exit): New function.
- (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR other/18138
- * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
- * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
- the function returning a structure pointed with R2.
- * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
- the structure return value if T bit set. Emit position
- independent code and EH data if PIC.
-
-2004-10-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * Makefile.am: Add m32r support.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * confiugre: Regenerate.
- * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
- (uint64, sint64, double, longdouble)
- * src/m32r: New directory.
- * src/m32r/ffi.c: New file.
- * src/m32r/sysv.S: Likewise.
- * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * testsuite/libffi.call/negint.c: New test case.
-
-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.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/many_win32.c: Remove whitespaces.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
- whitespaces.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Fix comments and identation.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
- (ffi_prep_args): Handle longdouble arguments.
- (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
- longdouble.
- (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
- * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
- values.
- * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
- * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/aix.S: Remove whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
- * src/powerpc/asm.h: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffitarget.h: Likewise.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
-
-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.in: Read configure.host.
- * 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 shouldn't 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.
-
-2004-08-24 David Daney <daney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
- to zero.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23 David Daney <daney@avtrex.com>
-
- PR libgcj/13141
- * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
- * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
- (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
- parameters and return types.
- (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
- (ffi_prep_closure): Ditto.
- (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
- alignment calculations.
- * src/mips/o32.S (ffi_closure_O32): Don't use floating point
- instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14 Casey Marshall <csm@gnu.org>
-
- * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
- contain `FFI_TYPE_UINT64' as return type for any 64-bit
- integer (O32 ABI only).
- (ffi_prep_closure): new function.
- (ffi_closure_mips_inner_O32): new function.
- * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
- `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
- * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
- 64 bit integers correctly.
- (ffi_closure_O32): new function.
- Added DWARF-2 unwind info for both functions.
-
-2004-08-10 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01 Robert Millan <robertmh@gnu.org>
-
- * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
- * configure: Regenerate.
-
-2004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
-
- * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
- and mmap() explicitly instead of relying on preset autoconf cache
- variables.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
- (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
- character on Darwin, use '\n\t' instead.
-
-2004-06-26 Matthias Klose <doko@debian.org>
-
- * libtool-version: Fix typo in revision/age.
-
-2004-06-17 Matthias Klose <doko@debian.org>
-
- * libtool-version: New.
- * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
- * Makefile.in: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * Makefile.am: Remove useless multilib rules.
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate with automake 1.8.5.
- * configure.ac: Remove useless multilib configury.
- * configure: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * .cvsignore: New file.
-
-2004-06-10 Jakub Jelinek <jakub@redhat.com>
-
- * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
- fp_done.
- (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
- changed from 8.
-
-2004-06-06 Sean McNeil <sean@mcneil.com>
-
- * configure.ac: Add x86_64-*-freebsd* support.
- * configure: Regenerate.
-
-2004-04-26 Joe Buck <jbuck@welsh-buck.org>
-
- Bug 15093
- * configure.ac: Test for existence of mmap and sys/mman.h before
- checking blacklist. Fix suggested by Jim Wilson.
- * configure: Regenerate.
-
-2004-04-26 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
- FDE location.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
- error. Reported by Thomas Heller <theller@python.net>.
- * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20 Matthias Klose <doko@debian.org>
-
- * src/pa/linux.S: Fix typo.
-
-2004-03-19 Matthias Klose <doko@debian.org>
-
- * Makefile.am: Update.
- * Makefile.in: Regenerate.
- * src/pa/ffi.h.in: Remove.
- * src/pa/ffitarget.h: New file.
-
-2004-02-10 Randolph Chung <tausq@debian.org>
-
- * Makefile.am: Add PA support.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * configure.ac: Add PA target.
- * configure: Regenerate.
- * src/pa/ffi.c: New file.
- * src/pa/ffi.h.in: Add PA support.
- * src/pa/linux.S: New file.
- * prep_cif.c: Add PA support.
-
-2004-03-16 Hosaka Yuji <hos@tamanegi.org>
-
- * src/types.c: Fix alignment size of X86_WIN32 case int64 and
- double.
- * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
- with ecif->cif->flags.
- (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
- with cif->flags.
- (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
- (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
- * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
- sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.in: Rename file to ...
- * configure.ac: ... this.
- * fficonfig.h.in: Regenerate.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2004-03-12 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Fix EH information so it corresponds to
- changes in EH format resulting from addition of linkonce support.
- * src/powerpc/darwin_closure.S: Likewise.
-
-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.
-
-2004-03-11 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
- arguments from fp registers only for the first 8 parameter slots.
- Don't convert a float parameter when passed in memory.
-
-2004-03-09 Hans-Peter Nilsson <hp@axis.com>
-
- * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
-
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
- ecif->cif->bytes to bytes.
- (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
- * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
- (ffi_closure_helper_LINUX64): Fix typo.
- * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
- for powerpc64-*-*.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
- long double function return and long double arg handling.
- (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
- Use "end_pfr" instead of "nf". Correct long double handling.
- Localise "temp".
- * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
- return value.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
- space for long double return value. Adjust stack frame and offsets.
- Load f2 long double return.
-
-2004-02-07 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
- when the structure return address is passed in %o0.
- (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
- (ffi_v9_layout_struct): Align the field following a nested structure
- on a word boundary. Use memmove instead of memcpy.
- (ffi_call): Update call to ffi_V9_return_struct.
- (ffi_prep_closure): Define 'ctx' only for V8.
- (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
- and ffi_closure_sparc_inner_v9.
- (ffi_closure_sparc_inner_v8): Return long doubles by reference.
- Always skip the structure return address. For structures and long
- doubles, copy the argument directly.
- (ffi_closure_sparc_inner_v9): Skip the structure return address only
- if required. Shift the maximum floating-point slot accordingly. For
- big structures, copy the argument directly; otherwise, left-justify the
- argument and call ffi_v9_layout_struct to lay out the structure on
- the stack.
- * src/sparc/v8.S: Undef STACKFRAME before defining it.
- (ffi_closure_v8): Pass the structure return address. Update call to
- ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
- Skip the 'unimp' insn when returning long doubles and structures.
- * src/sparc/v9.S: Undef STACKFRAME before defining it.
- (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
- FFI_TYPE_INT handling. Load structures both in integers and
- floating-point registers on return.
- * README: Update status of the SPARC port.
-
-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.
-
-2004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
-
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
- value as of type ffi_arg, not unsigned int.
-
-2004-01-21 Michael Ritzert <ritzert@t-online.de>
-
- * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
- of the LHS.
-
-2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
- Solaris.
-
-2004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
- to void *.
-
-2003-12-10 Richard Henderson <rth@redhat.com>
-
- * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
- size_t instead of int.
-
-2003-12-04 Hosaka Yuji <hos@tamanegi.org>
-
- * testsuite/libffi.call/many_win32.c: Include <float.h>.
- * testsuite/libffi.call/many_win32.c (main): Replace variable
- int i with unsigned long ul.
-
- * testsuite/libffi.call/cls_align_uint64.c: New test case.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02 Hosaka Yuji <hos@tamanegi.org>
-
- PR other/13221
- * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
- Align arguments to 32 bits.
-
-2003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR other/13221
- * testsuite/libffi.call/cls_multi_sshort.c: New test case.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-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.
-
-2003-11-21 Andreas Jaeger <aj@suse.de>
- Andreas Tobler <a.tobler@schweiz.ch>
-
- * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
- * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
- * Makefile.in: Rebuilt.
- * aclocal.m4: Likewise.
- * configure: Likewise.
- * fficonfig.h.in: Likewise.
- * testsuite/lib/libffi-dg.exp: Add include dir.
- * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
- for ffi_closure if available.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
- Add -lgcc_s to additional flags.
-
-2003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.in, include/Makefile.am: PR libgcj/11147, install
- the ffitarget.h header file in a gcc versioned and target
- dependent place.
- * configure: Regenerated.
- * Makefile.in, include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Print result and check
- with dg-output to make debugging easier.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
- static.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_9byte2.c: New test case.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_double.c: Do a check on the result.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/prep_cif.c (ffi_prep_cif): Move the validity check after
- the initialization.
-
-2003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
- FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
- __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-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
-
-2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
- _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
- Used when FFI_DEBUG = 1.
-
-2003-10-14 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
- and align.
-
-2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
- FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
- SPARC64. Cleanup whitespaces.
-
-2003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
- strongarm, xscale. Cleanup whitespaces.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Cleanup whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
- * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
- parameter stack.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
- according to the Darwin/AIX ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_DARWIN): Likewise.
- Remove the outgoing parameter stack logic. Simplify the evaluation
- of the different CASE types.
- (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
- statement in the trampoline code.
-
-2003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
- for the register size.
- (ffi_closure_helper_SYSV): Handle the structure return value
- address correctly.
- (ffi_closure_helper_SYSV): Return the appropriate type when
- the registers are used for the structure return value.
- * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
- the 64-bit return value. Update copyright years.
-
-2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
- srcdir for ffi_mips.h.
-
-2003-09-12 Alan Modra <amodra@bigpond.net.au>
-
- * src/prep_cif.c (initialize_aggregate): Include tail padding in
- structure size.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
- placement of float result.
- * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
- cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Merge identical SH and ARM
- typedefs, and add POWERPC64.
- * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
- struct split over gpr and rest.
- (ffi_prep_cif_machdep): Correct intarg_count for structures.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
- passing correctly.
-
-2003-09-09 Alan Modra <amodra@bigpond.net.au>
-
- * configure: Regenerate.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Remove build rules for ffitest.
- * Makefile.in: Rebuilt.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
- about implicit declaration of abort().
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
- * Makefile.in: Rebuilt.
- * configure.in: Add dejagnu test framework.
- * configure: Rebuilt.
-
- * testsuite/Makefile.am: New file.
- * testsuite/Makefile.in: Built
- * testsuite/lib/libffi-dg.exp: New file.
- * testsuite/config/default.exp: Likewise.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Likewise.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float1.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/many.c: Likewise.
- * testsuite/libffi.call/many_win32.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
- * testsuite/libffi.call/strlen.c: Likewise.
- * testsuite/libffi.call/strlen_win32.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
- * testsuite/libffi.call/struct2.c: Likewise.
- * testsuite/libffi.call/struct3.c: Likewise.
- * testsuite/libffi.call/struct4.c: Likewise.
- * testsuite/libffi.call/struct5.c: Likewise.
- * testsuite/libffi.call/struct6.c: Likewise.
- * testsuite/libffi.call/struct7.c: Likewise.
- * testsuite/libffi.call/struct8.c: Likewise.
- * testsuite/libffi.call/struct9.c: Likewise.
- * testsuite/libffi.special/special.exp: New file.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
- copyright years.
-
-2003-08-02 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
- structure passing.
- (ffi_closure_helper_LINUX64): Likewise.
- * src/powerpc/linux64.S: Remove code writing to parm save area.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
- address in lr from ffi_closure_helper_LINUX64 call to calculate
- table address. Optimize function tail.
-
-2003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/sparc/ffi.c: Handle all floating point registers.
- * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
-
- * README: Note that libffi is not part of GCC. Update the project
- URL and status.
-
-2003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
- Use C style comments.
-
-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
- should be read-only.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * include/ffi.h.in (EH_FRAME_FLAGS): Define.
- * src/alpha/osf.S: Use EH_FRAME_FLAGS.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
- * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
- if -fpic/-fPIC/-mrelocatable.
- * src/powerpc/powerpc_closure.S: Likewise.
- * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
- #write in .eh_frame flags.
- * src/sparc/v9.S: Likewise.
- * src/x86/unix64.S: Use EH_FRAME_FLAGS.
- * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
- * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
-
-2003-05-07 Jeff Sturm <jsturm@one-point.com>
-
- Fixes PR bootstrap/10656
- * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
- support for .register pseudo-op.
- * src/sparc/v8.S: Use it.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2003-04-18 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (POWERPC64): Define if 64-bit.
- (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
- Make it the default on POWERPC64.
- (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
- * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
- * configure: Rebuilt.
- * src/powerpc/ffi.c (hidden): Define.
- (ffi_prep_args_SYSV): Renamed from
- ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
- (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
- ASM_NEEDS_REGISTERS64): New.
- (ffi_prep_args64): New function.
- (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
- (ffi_call): Likewise.
- (ffi_prep_closure): Likewise.
- (flush_icache): Surround by #ifndef POWERPC64.
- (ffi_dblfl): New union type.
- (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
- (ffi_closure_helper_LINUX64): New function.
- * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
- __powerpc64__.
- * src/powerpc/sysv.S: Likewise.
- (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
- * src/powerpc/linux64.S: New file.
- * src/powerpc/linux64_closure.S: New file.
- * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
- src/powerpc/linux64_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
- * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
- closure_test_fn3): Fix result printing on big-endian 64-bit
- machines.
- (main): Print tst2_arg instead of uninitialized tst2_result.
-
- * src/ffitest.c (main): Hide what closure pointer really points to
- from the compiler.
-
-2003-04-16 Richard Earnshaw <rearnsha@arm.com>
-
- * configure.in (arm-*-netbsdelf*): Add configuration.
- (configure): Regenerated.
-
-2003-04-04 Loren J. Rittle <ljrittle@acm.org>
-
- * include/Makefile.in: Regenerate.
-
-2003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
-
- * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
- bit mode.
- * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
- Receive closure pointer through parameter, read args using
- __builtin_dwarf_cfa.
- (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12 Andreas Schwab <schwab@suse.de>
-
- * configure.in: Avoid trailing /. in toolexeclibdir.
- * configure: Rebuilt.
-
-2003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/powerpc/darwin_closure.S:
- Fix alignement bug, allocate 8 bytes for the result.
- * libffi/src/powerpc/aix_closure.S:
- Likewise.
- * libffi/src/powerpc/ffi_darwin.c:
- Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06 Jakub Jelinek <jakub@redhat.com>
-
- * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
- attribute.
-
-2003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
- Andreas Schwab <schwab@suse.de>
-
- * configure.in: Adjust command to source config-ml.in to account
- for changes to the libffi_basedir definition.
- (libffi_basedir): Remove ${srcdir} from value and include trailing
- slash if nonempty.
-
- * configure: Regenerate.
-
-2003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
- * src/x86/ffi64.c (ffi_prep_closure): New.
- (ffi_closure_UNIX64_inner): New.
- * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
- Remove USE_LIBDIR conditional.
- * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
- * Makefile.in, configure: Rebuilt.
-
-2003-01027 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
- * Makefile.in: Regenerate.
-
-2003-01-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
- unwind info.
-
-2003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Add unwind info.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
- (ffi_prep_cif_machdep): Likewise.
- * src/x86/unix64.S: Add unwind info.
-
-2003-01-14 Andreas Jaeger <aj@suse.de>
-
- * src/ffitest.c (main): Only use ffi_closures if those are
- supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/ffitest.c
- add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
- * libffi/src/powerpc/ffi.c
- fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c: Remove RCS version string.
- * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
- * src/ffitest.c (main): Use static storage for closure.
- * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
- * src/sparc/v8.S (ffi_closure_v8): New.
- * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10 Ranjit Mathew <rmathew@hotmail.com>
-
- * include/ffi.h.in: Added FFI_STDCALL ffi_type
- enumeration for X86_WIN32.
- * src/x86/win32.S: Added ffi_call_STDCALL function
- definition.
- * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
- switch cases for recognising FFI_STDCALL and
- calling ffi_call_STDCALL if target is X86_WIN32.
- * src/ffitest.c (my_stdcall_strlen/stdcall_many):
- stdcall versions of the "my_strlen" and "many"
- test functions (for X86_WIN32).
- Added test cases to test stdcall invocation using
- these functions.
-
-2002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26 Jim Wilson <wilson@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23 H.J. Lu <hjl@gnu.org>
-
- * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
- Include ../config/accross.m4.
- * aclocal.m4; Rebuild.
- * configure: Likewise.
-
-2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11 DJ Delorie <dj@redhat.com>
-
- * configure.in: Look for common files in the right place.
-
-2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
- raw data as _Jv_word values, not ffi_raw.
- (ffi_java_ptrarray_to_raw): Likewise.
- (ffi_java_rvalue_to_raw): New function.
- (ffi_java_raw_call): Call it.
- (ffi_java_raw_to_rvalue): New function.
- (ffi_java_translate_args): Call it.
- * src/ffitest.c (closure_test_fn): Interpret return value
- as ffi_arg, not int.
- * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
- FFI_TYPE_POINTER case.
- (ffi_closure_helper_SYSV): Likewise. Also, assume return
- values extended to word size.
-
-2002-10-02 Andreas Jaeger <aj@suse.de>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01 Bo Thorsen <bo@smetana.suse.de>
-
- * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
-
- * configure.in: Add s390x-*-linux-* target.
- * configure: Regenerate.
- * include/ffi.h.in: Define S390X for s390x targets.
- (FFI_CLOSURES): Define for s390/s390x.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
- * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
- * src/s390/ffi.c: Major rework of existing code. Add support for
- s390x targets. Add closure support.
- * src/s390/sysv.S: Likewise.
-
-2002-09-29 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: Fix typo.
-
-2002-09-28 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
- has defined __USER_LABEL_PREFIX__, then use it in CNAME.
- (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27 Bo Thorsen <bo@suse.de>
-
- * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * configure.in (sh[34]*-*-linux*): Add brackets.
- * configure: Regenerate.
-
-2002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * Makefile.am: Add SH support.
- * Makefile.in: Regenerate.
- * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
- * configure: Regenerate.
- * include/ffi.h.in: Add SH support.
- * src/sh/ffi.c: New file.
- * src/sh/sysv.S: New file.
- * src/types.c: Add SH support.
-
-2002-07-16 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi64.c: New file that adds x86-64 support.
- * src/x86/unix64.S: New file that handles argument setup for
- x86-64.
- * src/x86/sysv.S: Don't use this on x86-64.
- * src/x86/ffi.c: Don't use this on x86-64.
- Remove unused vars.
- * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
- for x86-64.
- * src/ffitest.c (struct6): New test that tests a special case in
- the x86-64 ABI.
- (struct7): Likewise.
- (struct8): Likewise.
- (struct9): Likewise.
- (closure_test_fn): Silence warning about this when it's not used.
- (main): Add the new tests.
- (main): Fix a couple of wrong casts and silence some compiler warnings.
- * include/ffi.h.in: Add x86-64 ABI definition.
- * fficonfig.h.in: Regenerate.
- * Makefile.am: Add x86-64 support.
- * configure.in: Likewise.
- * Makefile.in: Regenerate.
- * configure: Likewise.
-
-2002-06-24 Bo Thorsen <bo@suse.de>
-
- * src/types.c: Merge settings for similar architectures.
- Add x86-64 sizes and alignments.
-
-2002-06-23 Bo Thorsen <bo@suse.de>
-
- * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
- * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
- * src/mips/ffi.c (ffi_prep_args): Likewise.
- * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18 H.J. Lu (hjl@gnu.org)
-
- * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
- (libffi_la_SOURCES): Support MIPS_LINUX.
- (libffi_convenience_la_SOURCES): Likewise.
- * Makefile.in: Regenerated.
-
- * configure.in (mips64*-*): Skip.
- (mips*-*-linux*): New.
- * configure: Regenerated.
-
- * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
-
-2002-05-27 Roger Sayle <roger@eyesopen.com>
-
- * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
- fix formatting.
-
-2002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
- beginning of function (for older apple cc).
-
-2002-05-08 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
- script entry, and set LD to it when configuring multilibs.
- * configure: Rebuilt.
-
-2002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (sparc64-*-netbsd*): Add target.
- (sparc-*-netbsdelf*): Likewise.
- * configure: Regenerate.
-
-2002-04-28 David S. Miller <davem@redhat.com>
-
- * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
-
- * Makefile.am: Add Linux for S/390 support.
- * Makefile.in: Regenerate.
- * configure.in: Add Linux for S/390 support.
- * configure: Regenerate.
- * include/ffi.h.in: Add Linux for S/390 support.
- * src/s390/ffi.c: New file from libffi CVS tree.
- * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
- %r_disp32().
- * src/sparc/v8.S: Use it.
- * src/sparc/v9.S: Likewise.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2002-04-08 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
- correctly.
- * src/ia64/unix.S: Add unwind information. Fix comments.
- Save sp in a way that's compatible with unwind info.
- (ffi_call_unix): Correctly restore sp in all cases.
- * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08 Jakub Jelinek <jakub@redhat.com>
-
- * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (alpha*-*-netbsd*): Add target.
- * configure: Regenerate.
-
-2002-04-04 Jeff Sturm <jsturm@one-point.com>
-
- * src/sparc/v8.S: Add unwind info.
- * src/sparc/v9.S: Likewise.
-
-2002-03-30 Krister Walfridsson <cato@df.lth.se>
-
- * configure.in: Enable i*86-*-netbsdelf*.
- * configure: Rebuilt.
-
-2002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
-
- PR other/2620
- * src/mips/n32.s: Delete
- * src/mips/o32.s: Delete
-
-2002-03-21 Loren J. Rittle <ljrittle@acm.org>
-
- * configure.in: Enable alpha*-*-freebsd*.
- * configure: Rebuilt.
-
-2002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * Makefile.am: libfficonvenience -> libffi_convenience.
- * Makefile.in: Rebuilt.
-
- * Makefile.am: Define ffitest_OBJECTS.
- * Makefile.in: Rebuilt.
-
-2002-03-07 Andreas Tobler <toa@pop.agri.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
- (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
- (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
- * Makefile.in: Regenerate.
- * include/ffi.h.in: Add AIX and Darwin closure definitions.
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
- (flush_icache, flush_range): New functions.
- (ffi_closure_helper_DARWIN): New function.
- * src/powerpc/aix_closure.S: New file.
- * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add typedef for ffi_arg.
- * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21 Andreas Tobler <toa@pop.agri.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
- number of GPRs for floating-point arguments.
-
-2002-01-31 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Replace CHECK_SIZEOF and endian tests with
- cross-compiler friendly macros.
- * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
- macros.
-
-2002-01-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): New.
- * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
- (TARGET_SRC_POWERPC_AIX): New.
- (POWERPC_AIX): New stanza.
- * Makefile.in: Regenerate.
- * configure.in: Add AIX case.
- * configure: Regenerate.
- * include/ffi.h.in (ffi_abi): Add FFI_AIX.
- * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
- size. Fix "long double" support.
- (ffi_call): Add FFI_AIX case.
- * src/powerpc/aix.S: New.
-
-2001-10-09 John Hornkvist <john@toastedmarshmallow.com>
-
- Implement Darwin PowerPC ABI.
- * configure.in: Handle powerpc-*-darwin*.
- * Makefile.am: Set source files for POWERPC_DARWIN.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
- * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
- POWERPC_DARWIN.
- * src/powerpc/darwin.S: New file.
- * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .balign directive.
- Use C style comments.
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
- Fixes PR bootstrap/3563.
-
-2001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.in: Recognize sparc*-sun-* host.
- * configure: Regenerate.
-
-2001-06-06 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S: Add unwind info.
- * src/powerpc/sysv.S: Add unwind info.
- * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31 Jeff Sturm <jsturm@one-point.com>
-
- * configure.in: Fix AC_ARG_ENABLE usage.
- * configure: Rebuilt.
-
-2001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * configure.in: Remove warning about beta code.
- * configure: Rebuilt.
-
-2001-04-25 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/ia64/unix.S: Restore stack pointer when returning from
- ffi_closure_UNIX.
- * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18 Jim Wilson <wilson@redhat.com>
-
- * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
- to eliminate RAW DV.
-
-2001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
-
- * Makefile.am: Make a libtool convenience library.
- * Makefile.in: Rebuilt.
-
-2001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Use different syntax for subdirectory creation.
- * configure: Rebuilt.
-
-2001-03-27 Jon Beniston <jon@beniston.com>
-
- * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
- * configure: Rebuilt.
- * Makefile.am: Added X86_WIN32 target support.
- * Makefile.in: Rebuilt.
-
- * include/ffi.h.in: Added X86_WIN32 target support.
-
- * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
- * src/types.c: Added X86_WIN32 target support.
-
- * src/x86/win32.S: New file. Based on sysv.S, but with EH
- stuff removed and made to work with CygWin's gas.
-
-2001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Make target subdirectory in build dir.
- * Makefile.am: Override suffix based rules to specify correct output
- subdirectory.
- * Makefile.in: Rebuilt.
- * configure: Rebuilt.
-
-2001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
-
- * src/powerpc/ppc_closure.S: New file.
- * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
- involving long long and register pairs.
- (ffi_prep_closure): New function.
- (flush_icache): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * Makefile.in: Rebuilt.
- * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19 Tom Tromey <tromey@redhat.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02 Nick Clifton <nickc@redhat.com>
-
- * include/ffi.h.in: Remove RCS ident string.
- * include/ffi_mips.h: Remove RCS ident string.
- * src/debug.c: Remove RCS ident string.
- * src/ffitest.c: Remove RCS ident string.
- * src/prep_cif.c: Remove RCS ident string.
- * src/types.c: Remove RCS ident string.
- * src/alpha/ffi.c: Remove RCS ident string.
- * src/alpha/osf.S: Remove RCS ident string.
- * src/arm/ffi.c: Remove RCS ident string.
- * src/arm/sysv.S: Remove RCS ident string.
- * src/mips/ffi.c: Remove RCS ident string.
- * src/mips/n32.S: Remove RCS ident string.
- * src/mips/o32.S: Remove RCS ident string.
- * src/sparc/ffi.c: Remove RCS ident string.
- * src/sparc/v8.S: Remove RCS ident string.
- * src/sparc/v9.S: Remove RCS ident string.
- * src/x86/ffi.c: Remove RCS ident string.
- * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * include/ffi.h.in: Change sourceware.cygnus.com references to
- gcc.gnu.org.
-
-2000-12-09 Richard Henderson <rth@redhat.com>
-
- * src/alpha/ffi.c (ffi_call): Simplify struct return test.
- (ffi_closure_osf_inner): Index rather than increment avalue
- and arg_types. Give ffi_closure_osf the raw return value type.
- * src/alpha/osf.S (ffi_closure_osf): Handle return value type
- promotion.
-
-2000-12-07 Richard Henderson <rth@redhat.com>
-
- * src/raw_api.c (ffi_translate_args): Fix typo.
- (ffi_prep_closure): Likewise.
-
- * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
- FFI_TRAMPOLINE_SIZE.
- * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
- cif->bytes for new ffi_call_osf implementation.
- (ffi_prep_args): Absorb into ...
- (ffi_call): ... here. Do all stack allocation here and
- avoid a callback function.
- (ffi_prep_closure, ffi_closure_osf_inner): New.
- * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
- (ffi_closure_osf): New.
-
-2000-09-10 Alexandre Oliva <aoliva@redhat.com>
-
- * config.guess, config.sub, install-sh: Removed.
- * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
- * Makefile.in: Rebuilt.
-
- * acinclude.m4: Include libtool macros from the top level.
- * aclocal.m4, configure: Rebuilt.
-
-2000-08-22 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
- * configure: Rebuilt.
-
-2000-05-11 Scott Bambrough <scottb@netwinder.org>
-
- * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
- memory correctly. Use conditional instructions, not branches where
- possible.
-
-2000-05-04 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Match `arm*-*-linux-*'.
- From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (SUBDIRS): Define.
- (AM_MAKEFLAGS): Likewise.
- (Multilib support.): Add section.
- * Makefile.in: Rebuilt.
- * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
- New variables. Set for gcc using -print-multi-lib. Export them
- to libtool.
- (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
- * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
- for -shared links.
- (extra_compiler_flags_value, extra_compiler_flags): Check these
- for extra compiler options which need to be passed down in
- compiler_flags.
-
-2000-04-16 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
- Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
- * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
- Replace all void * sizeofs with sizeof(int).
- Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
- different than DOUBLE.
- Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
- (ffi_prep_args_v9): New function.
- (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
- (ffi_V9_return_struct): New function.
- (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
- 32bit code (not yet cross-arch calls).
- * src/sparc/v8.S: Add struct return delay nop.
- Handle long long.
- * src/sparc/v9.S: New file.
- * src/prep_cif.c (ffi_prep_cif): Return structure pointer
- is used on sparc64 only for structures larger than 32 bytes.
- Pass by reference for structures is done for structure arguments
- larger than 16 bytes.
- * src/ffitest.c (main): Use 64bit rint on sparc64.
- Run long long tests on sparc.
- * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
- sparc64.
- (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
- on sparc64.
- * configure.in (sparc-*-linux*): New supported target.
- (sparc64-*-linux*): Likewise.
- * configure: Rebuilt.
- * Makefile.am: Add v9.S to SPARC files.
- * Makefile.in: Likewise.
- (LINK): Surround $(CCLD) into double quotes, so that multilib
- compiles work correctly.
-
-2000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: (i*86-*-solaris*): New libffi target. Patch
- proposed by Bryce McKinlay.
-
-2000-03-20 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
-
- * config.guess, config.sub: Update from the gcc tree.
- Fix for PR libgcj/168.
-
-2000-03-03 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Fixed ia64 by hand.
-
- * configure: Rebuilt.
- * configure.in (--enable-multilib): New option.
- (libffi_basedir): New subst.
- (AC_OUTPUT): Added multilib code.
-
-2000-03-02 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
- directory name.
-
-2000-02-25 Hans Boehm <boehm@acm.org>
-
- * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
- files.
- * src/raw_api.c (ffi_translate_args): Fixed typo in argument
- list.
- (ffi_prep_raw_closure): Use ffi_translate_args, not
- ffi_closure_translate.
- * src/java_raw_api.c: New file.
- * src/ffitest.c (closure_test_fn): New function.
- (main): Define `rint' as long long on IA64. Added new test when
- FFI_CLOSURES is defined.
- * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
- (ffi_abi): Recognize IA64.
- (ffi_raw): Added `flt' field.
- Added "Java raw API" code.
- * configure.in: Recognize ia64.
- * Makefile.am (TARGET_SRC_IA64): New macro.
- (libffi_la_common_SOURCES): Added java_raw_api.c.
- (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01 Tom Tromey <tromey@cygnus.com>
-
- * include/ffi.h.in: Removed PACKAGE and VERSION defines and
- undefs.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
- * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
- Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
- * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09 Anthony Green <green@cygnus.com>
-
- * include/ffi.h.in: Try to work around messy header problem
- with PACKAGE and VERSION.
-
- * configure: Rebuilt.
- * configure.in: Change version to 2.00-beta.
-
- * fficonfig.h.in: Rebuilt.
- * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
- * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
-
- * src/x86/ffi.c (ffi_closure_SYSV): New function.
- (ffi_prep_incoming_args_SYSV): Ditto.
- (ffi_prep_closure): Ditto.
- (ffi_closure_raw_SYSV): Ditto.
- (ffi_prep_raw_closure): More ditto.
- (ffi_call_raw): Final ditto.
-
- * include/ffi.h.in: Add definitions for closure and raw API.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
- FFI_TYPE_UINT64.
-
- * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
- * src/raw_api.c: New file.
-
- * include/ffi.h.in (ffi_raw): New type.
- (UINT_ARG, SINT_ARG): New defines.
- (ffi_closure, ffi_raw_closure): New types.
- (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
- * configure.in: Add check for endianness and sizeof void*.
-
- * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
- instead of directly.
-
- * configure: Rebuilt.
-
-Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
-
- * configure.in: Add x86 and powerpc BeOS configurations.
- From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09 Anthony Green <green@cygnus.com>
-
- * configure.in: Add warning about this being beta code.
- Remove src/Makefile.am from the picture.
- * configure: Rebuilt.
-
- * Makefile.am: Move logic from src/Makefile.am. Add changes
- to support libffi as a target library.
- * Makefile.in: Rebuilt.
-
- * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
- Upgraded to new autoconf, automake, libtool.
-
- * README: Tweaks.
-
- * LICENSE: Update copyright date.
-
- * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29 Anthony Green <green@cygnus.com>
-
- * include/ChangeLog: Removed.
- * src/ChangeLog: Removed.
- * src/mips/ChangeLog: Removed.
- * src/sparc/ChangeLog: Remboved.
- * src/x86/ChangeLog: Removed.
-
- * ChangeLog.v1: Created.
diff --git a/.pc/no-undefined-fix/configure b/.pc/no-undefined-fix/configure
deleted file mode 100755
index f4c3e30..0000000
--- a/.pc/no-undefined-fix/configure
+++ /dev/null
@@ -1,17294 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for libffi 3.0.11-rc2.
-#
-# Report bugs to <http://github.com/atgreen/libffi/issues>.
-#
-#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-# Foundation, Inc.
-#
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in #(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test "x$CONFIG_SHELL" = x; then
- as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '\${1+\"\$@\"}'='\"\$@\"'
- setopt NO_GLOB_SUBST
-else
- case \`(set -o) 2>/dev/null\` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-"
- as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-
-else
- exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1"
- as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
- as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
- eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
- test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-
- test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
- ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
- ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
- ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
- PATH=/empty FPATH=/empty; export PATH FPATH
- test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
- || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
- if (eval "$as_required") 2>/dev/null; then :
- as_have_required=yes
-else
- as_have_required=no
-fi
- if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- as_found=:
- case $as_dir in #(
- /*)
- for as_base in sh bash ksh sh5; do
- # Try only shells that exist, to save several forks.
- as_shell=$as_dir/$as_base
- if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
- CONFIG_SHELL=$as_shell as_have_required=yes
- if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
- break 2
-fi
-fi
- done;;
- esac
- as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
- CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
- if test "x$CONFIG_SHELL" != x; then :
- # We cannot yet assume a decent shell, so we have to provide a
- # neutralization value for shells without unset; and this also
- # works around shells that cannot unset nonexistent variables.
- # Preserve -v and -x to the replacement shell.
- BASH_ENV=/dev/null
- ENV=/dev/null
- (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
- export CONFIG_SHELL
- case $- in # ((((
- *v*x* | *x*v* ) as_opts=-vx ;;
- *v* ) as_opts=-v ;;
- *x* ) as_opts=-x ;;
- * ) as_opts= ;;
- esac
- exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
-fi
-
- if test x$as_have_required = xno; then :
- $as_echo "$0: This script requires a shell more modern than all"
- $as_echo "$0: the shells that I found on your system."
- if test x${ZSH_VERSION+set} = xset ; then
- $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
- $as_echo "$0: be upgraded to zsh 4.3.4 or later."
- else
- $as_echo "$0: Please tell bug-autoconf@gnu.org and
-$0: http://github.com/atgreen/libffi/issues about your
-$0: system, including any error possibly output before this
-$0: message. Then install a modern shell, or manually run
-$0: the script under such a shell if you do have one."
- fi
- exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} # as_fn_exit
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- fi
- $as_echo "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} # as_fn_error
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
- as_lineno_1=$LINENO as_lineno_1a=$LINENO
- as_lineno_2=$LINENO as_lineno_2a=$LINENO
- eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
- test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
- # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
- sed -n '
- p
- /[$]LINENO/=
- ' <$as_myself |
- sed '
- s/[$]LINENO.*/&-/
- t lineno
- b
- :lineno
- N
- :loop
- s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
- t loop
- s/-\n.*//
- ' >$as_me.lineno &&
- chmod +x "$as_me.lineno" ||
- { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensitive to this).
- . "./$as_me.lineno"
- # Exit status is that of the last command.
- exit
-}
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -p'
- fi
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in #(
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-
-test -n "$DJDIR" || exec 7<&0 </dev/null
-exec 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-
-# Identity of this package.
-PACKAGE_NAME='libffi'
-PACKAGE_TARNAME='libffi'
-PACKAGE_VERSION='3.0.11-rc2'
-PACKAGE_STRING='libffi 3.0.11-rc2'
-PACKAGE_BUGREPORT='http://github.com/atgreen/libffi/issues'
-PACKAGE_URL=''
-
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-# include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-# include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='am__EXEEXT_FALSE
-am__EXEEXT_TRUE
-LTLIBOBJS
-LIBOBJS
-toolexeclibdir
-toolexecdir
-FFI_DEBUG_FALSE
-FFI_DEBUG_TRUE
-TARGETDIR
-TARGET
-FFI_EXEC_TRAMPOLINE_TABLE
-FFI_EXEC_TRAMPOLINE_TABLE_FALSE
-FFI_EXEC_TRAMPOLINE_TABLE_TRUE
-sys_symbol_underscore
-HAVE_LONG_DOUBLE
-ALLOCA
-PA64_HPUX_FALSE
-PA64_HPUX_TRUE
-PA_HPUX_FALSE
-PA_HPUX_TRUE
-PA_LINUX_FALSE
-PA_LINUX_TRUE
-SH64_FALSE
-SH64_TRUE
-SH_FALSE
-SH_TRUE
-X86_64_FALSE
-X86_64_TRUE
-S390_FALSE
-S390_TRUE
-FRV_FALSE
-FRV_TRUE
-LIBFFI_CRIS_FALSE
-LIBFFI_CRIS_TRUE
-AVR32_FALSE
-AVR32_TRUE
-ARM_FALSE
-ARM_TRUE
-POWERPC_FREEBSD_FALSE
-POWERPC_FREEBSD_TRUE
-POWERPC_DARWIN_FALSE
-POWERPC_DARWIN_TRUE
-POWERPC_AIX_FALSE
-POWERPC_AIX_TRUE
-POWERPC_FALSE
-POWERPC_TRUE
-MOXIE_FALSE
-MOXIE_TRUE
-M68K_FALSE
-M68K_TRUE
-M32R_FALSE
-M32R_TRUE
-IA64_FALSE
-IA64_TRUE
-ALPHA_FALSE
-ALPHA_TRUE
-X86_DARWIN_FALSE
-X86_DARWIN_TRUE
-X86_WIN64_FALSE
-X86_WIN64_TRUE
-X86_WIN32_FALSE
-X86_WIN32_TRUE
-X86_FREEBSD_FALSE
-X86_FREEBSD_TRUE
-X86_FALSE
-X86_TRUE
-SPARC_FALSE
-SPARC_TRUE
-MIPS_FALSE
-MIPS_TRUE
-AM_LTLDFLAGS
-AM_RUNTESTFLAGS
-TESTSUBDIR_FALSE
-TESTSUBDIR_TRUE
-MAINT
-MAINTAINER_MODE_FALSE
-MAINTAINER_MODE_TRUE
-PRTDIAG
-CPP
-OTOOL64
-OTOOL
-LIPO
-NMEDIT
-DSYMUTIL
-MANIFEST_TOOL
-RANLIB
-ac_ct_AR
-AR
-DLLTOOL
-OBJDUMP
-LN_S
-NM
-ac_ct_DUMPBIN
-DUMPBIN
-LD
-FGREP
-EGREP
-GREP
-SED
-LIBTOOL
-am__fastdepCCAS_FALSE
-am__fastdepCCAS_TRUE
-CCASDEPMODE
-CCASFLAGS
-CCAS
-am__fastdepCC_FALSE
-am__fastdepCC_TRUE
-CCDEPMODE
-AMDEPBACKSLASH
-AMDEP_FALSE
-AMDEP_TRUE
-am__quote
-am__include
-DEPDIR
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-am__untar
-am__tar
-AMTAR
-am__leading_dot
-SET_MAKE
-AWK
-mkdir_p
-MKDIR_P
-INSTALL_STRIP_PROGRAM
-STRIP
-install_sh
-MAKEINFO
-AUTOHEADER
-AUTOMAKE
-AUTOCONF
-ACLOCAL
-VERSION
-PACKAGE
-CYGPATH_W
-am__isrc
-INSTALL_DATA
-INSTALL_SCRIPT
-INSTALL_PROGRAM
-ax_enable_builddir_sed
-target_os
-target_vendor
-target_cpu
-target
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-enable_builddir
-enable_dependency_tracking
-enable_shared
-enable_static
-with_pic
-enable_fast_install
-with_gnu_ld
-with_sysroot
-enable_libtool_lock
-enable_portable_binary
-with_gcc_arch
-enable_maintainer_mode
-enable_debug
-enable_structs
-enable_raw_api
-enable_purify_safety
-'
- ac_precious_vars='build_alias
-host_alias
-target_alias
-CCAS
-CCASFLAGS
-CPP
-CPPFLAGS'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval $ac_prev=\$ac_option
- ac_prev=
- continue
- fi
-
- case $ac_option in
- *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
- *=) ac_optarg= ;;
- *) ac_optarg=yes ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case $ac_dashdash$ac_option in
- --)
- ac_dashdash=yes ;;
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir=$ac_optarg ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build_alias ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build_alias=$ac_optarg ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file=$ac_optarg ;;
-
- --config-cache | -C)
- cache_file=config.cache ;;
-
- -datadir | --datadir | --datadi | --datad)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=*)
- datadir=$ac_optarg ;;
-
- -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
- | --dataroo | --dataro | --datar)
- ac_prev=datarootdir ;;
- -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
- | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
- datarootdir=$ac_optarg ;;
-
- -disable-* | --disable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=no ;;
-
- -docdir | --docdir | --docdi | --doc | --do)
- ac_prev=docdir ;;
- -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
- docdir=$ac_optarg ;;
-
- -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
- ac_prev=dvidir ;;
- -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
- dvidir=$ac_optarg ;;
-
- -enable-* | --enable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=\$ac_optarg ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix=$ac_optarg ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he | -h)
- ac_init_help=long ;;
- -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
- ac_init_help=recursive ;;
- -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
- ac_init_help=short ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host_alias ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host_alias=$ac_optarg ;;
-
- -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
- ac_prev=htmldir ;;
- -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
- | --ht=*)
- htmldir=$ac_optarg ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir=$ac_optarg ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir=$ac_optarg ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir=$ac_optarg ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir=$ac_optarg ;;
-
- -localedir | --localedir | --localedi | --localed | --locale)
- ac_prev=localedir ;;
- -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
- localedir=$ac_optarg ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst | --locals)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
- localstatedir=$ac_optarg ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir=$ac_optarg ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c | -n)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir=$ac_optarg ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix=$ac_optarg ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix=$ac_optarg ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix=$ac_optarg ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name=$ac_optarg ;;
-
- -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
- ac_prev=pdfdir ;;
- -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
- pdfdir=$ac_optarg ;;
-
- -psdir | --psdir | --psdi | --psd | --ps)
- ac_prev=psdir ;;
- -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
- psdir=$ac_optarg ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir=$ac_optarg ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir=$ac_optarg ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site=$ac_optarg ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir=$ac_optarg ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir=$ac_optarg ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target_alias ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target_alias=$ac_optarg ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers | -V)
- ac_init_version=: ;;
-
- -with-* | --with-*)
- ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=\$ac_optarg ;;
-
- -without-* | --without-*)
- ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=no ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes=$ac_optarg ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries=$ac_optarg ;;
-
- -*) as_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
- ;;
-
- *=*)
- ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
- # Reject names that are not valid shell variable names.
- case $ac_envvar in #(
- '' | [0-9]* | *[!_$as_cr_alnum]* )
- as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
- esac
- eval $ac_envvar=\$ac_optarg
- export $ac_envvar ;;
-
- *)
- # FIXME: should be removed in autoconf 3.0.
- $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
- expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- as_fn_error $? "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
- case $enable_option_checking in
- no) ;;
- fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
- *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
- esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
- datadir sysconfdir sharedstatedir localstatedir includedir \
- oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir
-do
- eval ac_val=\$$ac_var
- # Remove trailing slashes.
- case $ac_val in
- */ )
- ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
- eval $ac_var=\$ac_val;;
- esac
- # Be sure to have absolute directory names.
- case $ac_val in
- [\\/$]* | ?:[\\/]* ) continue;;
- NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
- esac
- as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
- if test "x$build_alias" = x; then
- cross_compiling=maybe
- $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
- If a cross compiler is detected then cross compile mode will be used" >&2
- elif test "x$build_alias" != "x$host_alias"; then
- cross_compiling=yes
- fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
- as_fn_error $? "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
- as_fn_error $? "pwd does not report name of working directory"
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then the parent directory.
- ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_myself" : 'X\(//\)[^/]' \| \
- X"$as_myself" : 'X\(//\)$' \| \
- X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- srcdir=$ac_confdir
- if test ! -r "$srcdir/$ac_unique_file"; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
- test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
- as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
- cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
- pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
- srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
- eval ac_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_env_${ac_var}_value=\$${ac_var}
- eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat <<_ACEOF
-\`configure' configures libffi 3.0.11-rc2 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE. See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
- -h, --help display this help and exit
- --help=short display options specific to this package
- --help=recursive display the short help of all the included packages
- -V, --version display version information and exit
- -q, --quiet, --silent do not print \`checking ...' messages
- --cache-file=FILE cache test results in FILE [disabled]
- -C, --config-cache alias for \`--cache-file=config.cache'
- -n, --no-create do not create output files
- --srcdir=DIR find the sources in DIR [configure dir or \`..']
-
-Installation directories:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
- --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
- --infodir=DIR info documentation [DATAROOTDIR/info]
- --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
- --mandir=DIR man documentation [DATAROOTDIR/man]
- --docdir=DIR documentation root [DATAROOTDIR/doc/libffi]
- --htmldir=DIR html documentation [DOCDIR]
- --dvidir=DIR dvi documentation [DOCDIR]
- --pdfdir=DIR pdf documentation [DOCDIR]
- --psdir=DIR ps documentation [DOCDIR]
-_ACEOF
-
- cat <<\_ACEOF
-
-Program names:
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM run sed PROGRAM on installed program names
-
-System types:
- --build=BUILD configure for building on BUILD [guessed]
- --host=HOST cross-compile to build programs to run on HOST [BUILD]
- --target=TARGET configure for building compilers for TARGET [HOST]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
- case $ac_init_help in
- short | recursive ) echo "Configuration of libffi 3.0.11-rc2:";;
- esac
- cat <<\_ACEOF
-
-Optional Features:
- --disable-option-checking ignore unrecognized --enable/--with options
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --disable-builddir disable automatic build in subdir of sources
-
- --disable-dependency-tracking speeds up one-time build
- --enable-dependency-tracking do not reject slow dependency extractors
- --enable-shared[=PKGS] build shared libraries [default=yes]
- --enable-static[=PKGS] build static libraries [default=yes]
- --enable-fast-install[=PKGS]
- optimize for fast installation [default=yes]
- --disable-libtool-lock avoid locking (might break parallel builds)
- --enable-portable-binary
- disable compiler optimizations that would produce
- unportable binaries
- --enable-maintainer-mode enable make rules and dependencies not useful
- (and sometimes confusing) to the casual installer
- --enable-debug debugging mode
- --disable-structs omit code for struct support
- --disable-raw-api make the raw api unavailable
- --enable-purify-safety purify-safe mode
-
-Optional Packages:
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --with-pic try to use only PIC/non-PIC objects [default=use
- both]
- --with-gnu-ld assume the C compiler uses GNU ld [default=no]
- --with-sysroot=DIR Search for dependent libraries within DIR
- (or the compiler's sysroot if not specified).
- --with-gcc-arch=<arch> use architecture <arch> for gcc -march/-mtune,
- instead of guessing
-
-Some influential environment variables:
- CC C compiler command
- CFLAGS C compiler flags
- LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
- nonstandard directory <lib dir>
- LIBS libraries to pass to the linker, e.g. -l<library>
- CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
- you have headers in a nonstandard directory <include dir>
- CCAS assembler compiler command (defaults to CC)
- CCASFLAGS assembler compiler flags (defaults to CFLAGS)
- CPP C preprocessor
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to <http://github.com/atgreen/libffi/issues>.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
- # If there are subdirs, report their specific --help.
- for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d "$ac_dir" ||
- { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
- continue
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
- cd "$ac_dir" || { ac_status=$?; continue; }
- # Check for guested configure.
- if test -f "$ac_srcdir/configure.gnu"; then
- echo &&
- $SHELL "$ac_srcdir/configure.gnu" --help=recursive
- elif test -f "$ac_srcdir/configure"; then
- echo &&
- $SHELL "$ac_srcdir/configure" --help=recursive
- else
- $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi || ac_status=$?
- cd "$ac_pwd" || { ac_status=$?; break; }
- done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
- cat <<\_ACEOF
-libffi configure 3.0.11-rc2
-generated by GNU Autoconf 2.68
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
- exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-# ac_fn_c_try_compile LINENO
-# --------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext
- if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_compile
-
-# ac_fn_c_try_link LINENO
-# -----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext conftest$ac_exeext
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext && {
- test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
- }; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
- # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
- # interfere with the next link command; also delete a directory that is
- # left behind by Apple's compiler. We do this before executing the actions.
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_link
-
-# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists and can be compiled using the include files in
-# INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- eval "$3=yes"
-else
- eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_compile
-
-# ac_fn_c_try_cpp LINENO
-# ----------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } > conftest.i && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_cpp
-
-# ac_fn_c_try_run LINENO
-# ----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
-ac_fn_c_try_run ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
- ac_retval=0
-else
- $as_echo "$as_me: program exited with status $ac_status" >&5
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=$ac_status
-fi
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_run
-
-# ac_fn_c_check_func LINENO FUNC VAR
-# ----------------------------------
-# Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_c_check_func ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $2 innocuous_$2
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $2 (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $2
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $2 ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_$2 || defined __stub___$2
-choke me
-#endif
-
-int
-main ()
-{
-return $2 ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- eval "$3=yes"
-else
- eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_func
-
-# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists, giving a warning if it cannot be compiled using
-# the include files in INCLUDES and setting the cache variable VAR
-# accordingly.
-ac_fn_c_check_header_mongrel ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if eval \${$3+:} false; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
- # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_header_compiler=yes
-else
- ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <$2>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- ac_header_preproc=yes
-else
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
- yes:no: )
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
- ;;
- no:yes:* )
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( $as_echo "## ------------------------------------------------------ ##
-## Report this to http://github.com/atgreen/libffi/issues ##
-## ------------------------------------------------------ ##"
- ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_mongrel
-
-# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
-# -------------------------------------------
-# Tests whether TYPE exists after having included INCLUDES, setting cache
-# variable VAR accordingly.
-ac_fn_c_check_type ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- eval "$3=no"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-if (sizeof ($2))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-if (sizeof (($2)))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
- eval "$3=yes"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_type
-
-# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
-# --------------------------------------------
-# Tries to find the compile-time value of EXPR in a program that includes
-# INCLUDES, setting VAR accordingly. Returns whether the value could be
-# computed
-ac_fn_c_compute_int ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if test "$cross_compiling" = yes; then
- # Depending upon the size, compute the lo and hi bounds.
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_lo=0 ac_mid=0
- while :; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_hi=$ac_mid; break
-else
- as_fn_arith $ac_mid + 1 && ac_lo=$as_val
- if test $ac_lo -le $ac_mid; then
- ac_lo= ac_hi=
- break
- fi
- as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) < 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_hi=-1 ac_mid=-1
- while :; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_lo=$ac_mid; break
-else
- as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
- if test $ac_mid -le $ac_hi; then
- ac_lo= ac_hi=
- break
- fi
- as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- ac_lo= ac_hi=
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
- as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_hi=$ac_mid
-else
- as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in #((
-?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
-'') ac_retval=1 ;;
-esac
- else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-static long int longval () { return $2; }
-static unsigned long int ulongval () { return $2; }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
- FILE *f = fopen ("conftest.val", "w");
- if (! f)
- return 1;
- if (($2) < 0)
- {
- long int i = longval ();
- if (i != ($2))
- return 1;
- fprintf (f, "%ld", i);
- }
- else
- {
- unsigned long int i = ulongval ();
- if (i != ($2))
- return 1;
- fprintf (f, "%lu", i);
- }
- /* Do not output a trailing newline, as this causes \r\n confusion
- on some platforms. */
- return ferror (f) || fclose (f) != 0;
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- echo >>conftest.val; read $3 <conftest.val; ac_retval=0
-else
- ac_retval=1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-rm -f conftest.val
-
- fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_compute_int
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by libffi $as_me 3.0.11-rc2, which was
-generated by GNU Autoconf 2.68. Invocation command line was
-
- $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
-
-/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
-/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
-/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- $as_echo "PATH: $as_dir"
- done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
- for ac_arg
- do
- case $ac_arg in
- -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- continue ;;
- *\'*)
- ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- case $ac_pass in
- 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
- 2)
- as_fn_append ac_configure_args1 " '$ac_arg'"
- if test $ac_must_keep_next = true; then
- ac_must_keep_next=false # Got value, back to normal.
- else
- case $ac_arg in
- *=* | --config-cache | -C | -disable-* | --disable-* \
- | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
- | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
- | -with-* | --with-* | -without-* | --without-* | --x)
- case "$ac_configure_args0 " in
- "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
- esac
- ;;
- -* ) ac_must_keep_next=true ;;
- esac
- fi
- as_fn_append ac_configure_args " '$ac_arg'"
- ;;
- esac
- done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log. We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
- # Save into config.log some information that might help in debugging.
- {
- echo
-
- $as_echo "## ---------------- ##
-## Cache variables. ##
-## ---------------- ##"
- echo
- # The following way of writing the cache mishandles newlines in values,
-(
- for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
- (set) 2>&1 |
- case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- sed -n \
- "s/'\''/'\''\\\\'\'''\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
- ;; #(
- *)
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-)
- echo
-
- $as_echo "## ----------------- ##
-## Output variables. ##
-## ----------------- ##"
- echo
- for ac_var in $ac_subst_vars
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
-
- if test -n "$ac_subst_files"; then
- $as_echo "## ------------------- ##
-## File substitutions. ##
-## ------------------- ##"
- echo
- for ac_var in $ac_subst_files
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
- fi
-
- if test -s confdefs.h; then
- $as_echo "## ----------- ##
-## confdefs.h. ##
-## ----------- ##"
- echo
- cat confdefs.h
- echo
- fi
- test "$ac_signal" != 0 &&
- $as_echo "$as_me: caught signal $ac_signal"
- $as_echo "$as_me: exit $exit_status"
- } >&5
- rm -f core *.core core.conftest.* &&
- rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
- exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
- trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-$as_echo "/* confdefs.h */" > confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
- # We do not want a PATH search for config.site.
- case $CONFIG_SITE in #((
- -*) ac_site_file1=./$CONFIG_SITE;;
- */*) ac_site_file1=$CONFIG_SITE;;
- *) ac_site_file1=./$CONFIG_SITE;;
- esac
-elif test "x$prefix" != xNONE; then
- ac_site_file1=$prefix/share/config.site
- ac_site_file2=$prefix/etc/config.site
-else
- ac_site_file1=$ac_default_prefix/share/config.site
- ac_site_file2=$ac_default_prefix/etc/config.site
-fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
- test "x$ac_site_file" = xNONE && continue
- if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
- sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file" \
- || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5; }
- fi
-done
-
-if test -r "$cache_file"; then
- # Some versions of bash will fail to source /dev/null (special files
- # actually), so we avoid doing that. DJGPP emulates it as a regular file.
- if test /dev/null != "$cache_file" && test -f "$cache_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
- case $cache_file in
- [\\/]* | ?:[\\/]* ) . "$cache_file";;
- *) . "./$cache_file";;
- esac
- fi
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
- >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
- eval ac_old_set=\$ac_cv_env_${ac_var}_set
- eval ac_new_set=\$ac_env_${ac_var}_set
- eval ac_old_val=\$ac_cv_env_${ac_var}_value
- eval ac_new_val=\$ac_env_${ac_var}_value
- case $ac_old_set,$ac_new_set in
- set,)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,set)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,);;
- *)
- if test "x$ac_old_val" != "x$ac_new_val"; then
- # differences in whitespace do not lead to failure.
- ac_old_val_w=`echo x $ac_old_val`
- ac_new_val_w=`echo x $ac_new_val`
- if test "$ac_old_val_w" != "$ac_new_val_w"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- ac_cache_corrupted=:
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
- eval $ac_var=\$ac_old_val
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
-$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
-$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
- fi;;
- esac
- # Pass precious variables to config.status.
- if test "$ac_new_set" = set; then
- case $ac_new_val in
- *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
- *) ac_arg=$ac_var=$ac_new_val ;;
- esac
- case " $ac_configure_args " in
- *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
- *) as_fn_append ac_configure_args " '$ac_arg'" ;;
- esac
- fi
-done
-if $ac_cache_corrupted; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-ac_config_headers="$ac_config_headers fficonfig.h"
-
-
-ac_aux_dir=
-for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
- if test -f "$ac_dir/install-sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f "$ac_dir/install.sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- elif test -f "$ac_dir/shtool"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/shtool install -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
-
-
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
- as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if ${ac_cv_build+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
- ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
- as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if ${ac_cv_host+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "x$host_alias" = x; then
- ac_cv_host=$ac_cv_build
-else
- ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
-$as_echo_n "checking target system type... " >&6; }
-if ${ac_cv_target+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "x$target_alias" = x; then
- ac_cv_target=$ac_cv_host
-else
- ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
-$as_echo "$ac_cv_target" >&6; }
-case $ac_cv_target in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
-esac
-target=$ac_cv_target
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_target
-shift
-target_cpu=$1
-target_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-target_os=$*
-IFS=$ac_save_IFS
-case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
-
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-test -n "$target_alias" &&
- test "$program_prefix$program_suffix$program_transform_name" = \
- NONENONEs,x,x, &&
- program_prefix=${target_alias}-
-
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-
- # [$]@ is unsable in 2.60+ but earlier autoconf had no ac_configure_args
- if test "${ac_configure_args+set}" != "set" ; then
- ac_configure_args=
- for ac_arg in ${1+"$@"}; do
- ac_configure_args="$ac_configure_args '$ac_arg'"
- done
- fi
-
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
-
-ax_enable_builddir="."
-# Check whether --enable-builddir was given.
-if test "${enable_builddir+set}" = set; then :
- enableval=$enable_builddir; ax_enable_builddir="$enableval"
-else
- ax_enable_builddir="auto"
-fi
-
-if test ".$ac_srcdir_defaulted" != ".no" ; then
-if test ".$srcdir" = ".." ; then
- if test -f config.status ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: toplevel srcdir already configured... skipping subdir build" >&5
-$as_echo "$as_me: toplevel srcdir already configured... skipping subdir build" >&6;}
- else
- test ".$ax_enable_builddir" = "." && ax_enable_builddir="."
- test ".$ax_enable_builddir" = ".no" && ax_enable_builddir="."
- test ".$TARGET" = "." && TARGET="$target"
- test ".$ax_enable_builddir" = ".auto" && ax_enable_builddir="$TARGET"
- if test ".$ax_enable_builddir" != ".." ; then # we know where to go and
- as_dir=$ax_enable_builddir; as_fn_mkdir_p
- echo __.$ax_enable_builddir.__ > $ax_enable_builddir/conftest.tmp
- cd $ax_enable_builddir
- if grep __.$ax_enable_builddir.__ conftest.tmp >/dev/null 2>/dev/null ; then
- rm conftest.tmp
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: continue configure in default builddir \"./$ax_enable_builddir\"" >&5
-$as_echo "continue configure in default builddir \"./$ax_enable_builddir\"" >&6; }
- else
- as_fn_error $? "could not change to default builddir \"./$ax_enable_builddir\"" "$LINENO" 5
- fi
- srcdir=`echo "$ax_enable_builddir" |
- sed -e 's,^\./,,;s,[^/]$,&/,;s,[^/]*/,../,g;s,[/]$,,;'`
- # going to restart from subdirectory location
- test -f $srcdir/config.log && mv $srcdir/config.log .
- test -f $srcdir/confdefs.h && mv $srcdir/confdefs.h .
- test -f $srcdir/conftest.log && mv $srcdir/conftest.log .
- test -f $srcdir/$cache_file && mv $srcdir/$cache_file .
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ....exec $SHELL $srcdir/$0 \"--srcdir=$srcdir\" \"--enable-builddir=$ax_enable_builddir\" ${1+\"$@\"}" >&5
-$as_echo "....exec $SHELL $srcdir/$0 \"--srcdir=$srcdir\" \"--enable-builddir=$ax_enable_builddir\" ${1+\"$@\"}" >&6; }
- case "$0" in # restart
- /\\*) eval $SHELL "'$0'" "'--srcdir=$srcdir'" "'--enable-builddir=$ax_enable_builddir'" $ac_configure_args ;;
- *) eval $SHELL "'$srcdir/$0'" "'--srcdir=$srcdir'" "'--enable-builddir=$ax_enable_builddir'" $ac_configure_args ;;
- esac ; exit $?
- fi
- fi
-fi fi
-test ".$ax_enable_builddir" = ".auto" && ax_enable_builddir="."
-# Extract the first word of "gsed sed", so it can be a program name with args.
-set dummy gsed sed; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_ax_enable_builddir_sed+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $ax_enable_builddir_sed in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_ax_enable_builddir_sed="$ax_enable_builddir_sed" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_path_ax_enable_builddir_sed="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- test -z "$ac_cv_path_ax_enable_builddir_sed" && ac_cv_path_ax_enable_builddir_sed="sed"
- ;;
-esac
-fi
-ax_enable_builddir_sed=$ac_cv_path_ax_enable_builddir_sed
-if test -n "$ax_enable_builddir_sed"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_enable_builddir_sed" >&5
-$as_echo "$ax_enable_builddir_sed" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-ax_enable_builddir_auxdir="$am_aux_dir"
-ac_config_commands="$ac_config_commands buildir"
-
-
-am__api_version='1.11'
-
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-# Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
-if test -z "$INSTALL"; then
-if ${ac_cv_path_install+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in #((
- ./ | .// | /[cC]/* | \
- /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
- ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
- /usr/ucb/* ) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
- if test $ac_prog = install &&
- grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- elif test $ac_prog = install &&
- grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # program-specific install script used by HP pwplus--don't use.
- :
- else
- rm -rf conftest.one conftest.two conftest.dir
- echo one > conftest.one
- echo two > conftest.two
- mkdir conftest.dir
- if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
- test -s conftest.one && test -s conftest.two &&
- test -s conftest.dir/conftest.one &&
- test -s conftest.dir/conftest.two
- then
- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
- break 3
- fi
- fi
- fi
- done
- done
- ;;
-esac
-
- done
-IFS=$as_save_IFS
-
-rm -rf conftest.one conftest.two conftest.dir
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL=$ac_cv_path_install
- else
- # As a last resort, use the slow shell script. Don't cache a
- # value for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- INSTALL=$ac_install_sh
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
-$as_echo_n "checking whether build environment is sane... " >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name. Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
- *[\\\"\#\$\&\'\`$am_lf]*)
- as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
-esac
-case $srcdir in
- *[\\\"\#\$\&\'\`$am_lf\ \ ]*)
- as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
-esac
-
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
- if test "$*" = "X"; then
- # -L didn't work.
- set X `ls -t "$srcdir/configure" conftest.file`
- fi
- rm -f conftest.file
- if test "$*" != "X $srcdir/configure conftest.file" \
- && test "$*" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
-alias in your environment" "$LINENO" 5
- fi
-
- test "$2" = conftest.file
- )
-then
- # Ok.
- :
-else
- as_fn_error $? "newly created file is older than distributed files!
-Check your system clock" "$LINENO" 5
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-test "$program_prefix" != NONE &&
- program_transform_name="s&^&$program_prefix&;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
- program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $.
-# By default was `s,x,x', remove it if useless.
-ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-
-if test x"${MISSING+set}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
- *)
- MISSING="\${SHELL} $am_aux_dir/missing" ;;
- esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
-else
- am_missing_run=
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
-fi
-
-if test x"${install_sh}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
- *)
- install_sh="\${SHELL} $am_aux_dir/install-sh"
- esac
-fi
-
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_STRIP="strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_STRIP" = x; then
- STRIP=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- STRIP=$ac_ct_STRIP
- fi
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
-$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
-if test -z "$MKDIR_P"; then
- if ${ac_cv_path_mkdir+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in mkdir gmkdir; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
- case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
- 'mkdir (GNU coreutils) '* | \
- 'mkdir (coreutils) '* | \
- 'mkdir (fileutils) '4.1*)
- ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
- break 3;;
- esac
- done
- done
- done
-IFS=$as_save_IFS
-
-fi
-
- test -d ./--version && rmdir ./--version
- if test "${ac_cv_path_mkdir+set}" = set; then
- MKDIR_P="$ac_cv_path_mkdir -p"
- else
- # As a last resort, use the slow shell script. Don't cache a
- # value for MKDIR_P within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- MKDIR_P="$ac_install_sh -d"
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
-$as_echo "$MKDIR_P" >&6; }
-
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
- [\\/$]* | ?:[\\/]*) ;;
- */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-
-for ac_prog in gawk mawk nawk awk
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AWK+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$AWK"; then
- ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_AWK="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$AWK" && break
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
- @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
- *@@@%%%=?*=@@@%%%*)
- eval ac_cv_prog_make_${ac_make}_set=yes;;
- *)
- eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- SET_MAKE=
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
- am__leading_dot=.
-else
- am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
- # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
- # is not polluted with repeated "-I."
- am__isrc=' -I$(srcdir)'
- # test to see if srcdir already configured
- if test -f $srcdir/config.status; then
- as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
- fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
- if (cygpath --version) >/dev/null 2>/dev/null; then
- CYGPATH_W='cygpath -w'
- else
- CYGPATH_W=echo
- fi
-fi
-
-
-# Define the identity of the package.
- PACKAGE='libffi'
- VERSION='3.0.11-rc2'
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE "$PACKAGE"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define VERSION "$VERSION"
-_ACEOF
-
-# Some tools Automake needs.
-
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-
-
-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-
-
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-
-
-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-
-
-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
-# Always define AMTAR for backward compatibility.
-
-AMTAR=${AMTAR-"${am_missing_run}tar"}
-
-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
-
-
-
-
-
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-# Also save and restore CFLAGS, since AC_PROG_CC will come up with
-# defaults of its own if none are provided.
-
-
-
-save_CFLAGS=$CFLAGS
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="${ac_tool_prefix}gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_CC="gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-else
- CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="${ac_tool_prefix}cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- fi
-fi
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# != 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
- fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- for ac_prog in cl.exe
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$CC" && break
- done
-fi
-if test -z "$CC"; then
- ac_ct_CC=$CC
- for ac_prog in cl.exe
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_CC="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_CC" && break
-done
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
- { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compiler $ac_option >&5") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- sed '10a\
-... rest of stderr output deleted ...
- 10q' conftest.err >conftest.er1
- cat conftest.er1 >&5
- fi
- rm -f conftest.er1 conftest.err
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- * ) ac_rmfiles="$ac_rmfiles $ac_file";;
- esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link_default") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile. We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
- ;;
- [ab].out )
- # We found the default executable, but exeext='' is most
- # certainly right.
- break;;
- *.* )
- if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
- then :; else
- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- fi
- # We set ac_cv_exeext here because the later test for it is not
- # safe: cross compilers may not add the suffix if given an `-o'
- # argument, so we may need to know it at that point already.
- # Even if this section looks crufty: it has the advantage of
- # actually working.
- break;;
- * )
- break;;
- esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
- ac_file=''
-fi
-if test -z "$ac_file"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-ac_exeext=$ac_cv_exeext
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- break;;
- * ) break;;
- esac
-done
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdio.h>
-int
-main ()
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
- { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if { ac_try='./conftest$ac_cv_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- cross_compiling=no
- else
- if test "$cross_compiling" = maybe; then
- cross_compiling=yes
- else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5; }
- fi
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- for ac_file in conftest.o conftest.obj conftest.*; do
- test -f "$ac_file" || continue;
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
- *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
- break;;
- esac
-done
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-#ifndef __GNUC__
- choke me
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_compiler_gnu=yes
-else
- ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
- GCC=yes
-else
- GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_save_c_werror_flag=$ac_c_werror_flag
- ac_c_werror_flag=yes
- ac_cv_prog_cc_g=no
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-else
- CFLAGS=""
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
- ac_c_werror_flag=$ac_save_c_werror_flag
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
- CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
- if test "$GCC" = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-g"
- fi
-else
- if test "$GCC" = yes; then
- CFLAGS="-O2"
- else
- CFLAGS=
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
- char **p;
- int i;
-{
- return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
- char *s;
- va_list v;
- va_start (v,p);
- s = g (p, va_arg (v,int));
- va_end (v);
- return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
- function prototypes and stuff, but not '\xHH' hex character constants.
- These don't provoke an error unfortunately, instead are silently treated
- as 'x'. The following induces an error, until -std is added to get
- proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
- array size at least. It's necessary to write '\x00'==0 to get something
- that's true only with -std. */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
- inside strings and character constants. */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
- ;
- return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
- -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
- CC="$ac_save_CC $ac_arg"
- if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
- test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
- x)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
- xno)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
- *)
- CC="$CC $ac_cv_prog_cc_c89"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
-
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
- @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
-$as_echo_n "checking for style of include used by $am_make... " >&6; }
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
- am__include=include
- am__quote=
- _am_result=GNU
- ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- case `$am_make -s -f confmf 2> /dev/null` in #(
- *the\ am__doit\ target*)
- am__include=.include
- am__quote="\""
- _am_result=BSD
- ;;
- esac
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
-rm -f confinc confmf
-
-# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then :
- enableval=$enable_dependency_tracking;
-fi
-
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
-fi
- if test "x$enable_dependency_tracking" != xno; then
- AMDEP_TRUE=
- AMDEP_FALSE='#'
-else
- AMDEP_TRUE='#'
- AMDEP_FALSE=
-fi
-
-
-
-depcc="$CC" am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CC_dependencies_compiler_type+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_CC_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
- fi
- am__universal=false
- case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac
-
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs
- am__obj=sub/conftest.${OBJEXT-o}
- am__minus_obj="-o $am__obj"
- case $depmode in
- gcc)
- # This depmode causes a compiler race in universal mode.
- test "$am__universal" = false || continue
- ;;
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- msvisualcpp | msvcmsys)
- # This compiler won't grok `-c -o', but also, the minuso test has
- # not run yet. These depmodes are late enough in the game, and
- # so weak that their functioning should not be impacted.
- am__obj=conftest.${OBJEXT-o}
- am__minus_obj=
- ;;
- none) break ;;
- esac
- if depmode=$depmode \
- source=sub/conftest.c object=$am__obj \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_CC_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
- am__fastdepCC_TRUE=
- am__fastdepCC_FALSE='#'
-else
- am__fastdepCC_TRUE='#'
- am__fastdepCC_FALSE=
-fi
-
-
-CFLAGS=$save_CFLAGS
-
-
-
-
-
-# By default we simply use the C compiler to build assembly code.
-
-test "${CCAS+set}" = set || CCAS=$CC
-test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
-
-
-
-depcc="$CCAS" am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CCAS_dependencies_compiler_type+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_CCAS_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
- fi
- am__universal=false
-
-
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs
- am__obj=sub/conftest.${OBJEXT-o}
- am__minus_obj="-o $am__obj"
- case $depmode in
- gcc)
- # This depmode causes a compiler race in universal mode.
- test "$am__universal" = false || continue
- ;;
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- msvisualcpp | msvcmsys)
- # This compiler won't grok `-c -o', but also, the minuso test has
- # not run yet. These depmodes are late enough in the game, and
- # so weak that their functioning should not be impacted.
- am__obj=conftest.${OBJEXT-o}
- am__minus_obj=
- ;;
- none) break ;;
- esac
- if depmode=$depmode \
- source=sub/conftest.c object=$am__obj \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_CCAS_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_CCAS_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CCAS_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CCAS_dependencies_compiler_type" >&6; }
-CCASDEPMODE=depmode=$am_cv_CCAS_dependencies_compiler_type
-
- if
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CCAS_dependencies_compiler_type" = gcc3; then
- am__fastdepCCAS_TRUE=
- am__fastdepCCAS_FALSE='#'
-else
- am__fastdepCCAS_TRUE='#'
- am__fastdepCCAS_FALSE=
-fi
-
-
-if test "x$CC" != xcc; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
-$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5
-$as_echo_n "checking whether cc understands -c and -o together... " >&6; }
-fi
-set dummy $CC; ac_cc=`$as_echo "$2" |
- sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-# Make sure it works both with $CC and with simple cc.
-# We do the test twice because some compilers refuse to overwrite an
-# existing .o file with -o, though they will create one.
-ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-rm -f conftest2.*
-if { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } &&
- test -f conftest2.$ac_objext && { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; };
-then
- eval ac_cv_prog_cc_${ac_cc}_c_o=yes
- if test "x$CC" != xcc; then
- # Test first that cc exists at all.
- if { ac_try='cc -c conftest.$ac_ext >&5'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
- rm -f conftest2.*
- if { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } &&
- test -f conftest2.$ac_objext && { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; };
- then
- # cc works too.
- :
- else
- # cc exists but doesn't like -o.
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
- fi
- fi
- fi
-else
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
-fi
-rm -f core conftest*
-
-fi
-if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h
-
-fi
-
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
- # Losing compiler, so override with the script.
- # FIXME: It is wrong to rewrite CC.
- # But if we don't then we get into trouble of one sort or another.
- # A longer-term fix would be to have automake use am__CC in this case,
- # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
- CC="$am_aux_dir/compile $CC"
-fi
-
-
-case `pwd` in
- *\ * | *\ *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
-$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
-esac
-
-
-
-macro_version='2.4'
-macro_revision='1.3293'
-
-
-
-
-
-
-
-
-
-
-
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-# Backslashify metacharacters that are still active within
-# double-quoted strings.
-sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
-$as_echo_n "checking how to print strings... " >&6; }
-# Test print first, because it will be a builtin if present.
-if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
- test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
- ECHO='print -r --'
-elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
- ECHO='printf %s\n'
-else
- # Use this function as a fallback that always works.
- func_fallback_echo ()
- {
- eval 'cat <<_LTECHO_EOF
-$1
-_LTECHO_EOF'
- }
- ECHO='func_fallback_echo'
-fi
-
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
- $ECHO ""
-}
-
-case "$ECHO" in
- printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
-$as_echo "printf" >&6; } ;;
- print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
-$as_echo "print -r" >&6; } ;;
- *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
-$as_echo "cat" >&6; } ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
-$as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if ${ac_cv_path_SED+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
- for ac_i in 1 2 3 4 5 6 7; do
- ac_script="$ac_script$as_nl$ac_script"
- done
- echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
- { ac_script=; unset ac_script;}
- if test -z "$SED"; then
- ac_path_SED_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in sed gsed; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
-# Check for GNU ac_path_SED and select it if it is found.
- # Check for GNU $ac_path_SED
-case `"$ac_path_SED" --version 2>&1` in
-*GNU*)
- ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo '' >> "conftest.nl"
- "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_SED_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_SED="$ac_path_SED"
- ac_path_SED_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_SED_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_SED"; then
- as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
- fi
-else
- ac_cv_path_SED=$SED
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
-$as_echo "$ac_cv_path_SED" >&6; }
- SED="$ac_cv_path_SED"
- rm -f conftest.sed
-
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$GREP"; then
- ac_path_GREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in grep ggrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
-# Check for GNU ac_path_GREP and select it if it is found.
- # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'GREP' >> "conftest.nl"
- "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_GREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_GREP="$ac_path_GREP"
- ac_path_GREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_GREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_GREP"; then
- as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
- then ac_cv_path_EGREP="$GREP -E"
- else
- if test -z "$EGREP"; then
- ac_path_EGREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in egrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
- # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'EGREP' >> "conftest.nl"
- "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_EGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_EGREP="$ac_path_EGREP"
- ac_path_EGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_EGREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_EGREP"; then
- as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_EGREP=$EGREP
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
-$as_echo_n "checking for fgrep... " >&6; }
-if ${ac_cv_path_FGREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
- then ac_cv_path_FGREP="$GREP -F"
- else
- if test -z "$FGREP"; then
- ac_path_FGREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in fgrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
-# Check for GNU ac_path_FGREP and select it if it is found.
- # Check for GNU $ac_path_FGREP
-case `"$ac_path_FGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'FGREP' >> "conftest.nl"
- "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_FGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_FGREP="$ac_path_FGREP"
- ac_path_FGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_FGREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_FGREP"; then
- as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_FGREP=$FGREP
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
-$as_echo "$ac_cv_path_FGREP" >&6; }
- FGREP="$ac_cv_path_FGREP"
-
-
-test -z "$GREP" && GREP=grep
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then :
- withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
- with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test "$GCC" = yes; then
- # Check if gcc -print-prog-name=ld gives a path.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
-$as_echo_n "checking for ld used by $CC... " >&6; }
- case $host in
- *-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case $ac_prog in
- # Accept absolute paths.
- [\\/]* | ?:[\\/]*)
- re_direlt='/[^/][^/]*/\.\./'
- # Canonicalize the pathname of ld
- ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
- while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
- done
- test -z "$LD" && LD="$ac_prog"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if ${lt_cv_path_LD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$LD"; then
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- lt_cv_path_LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some variants of GNU ld only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
- *GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break
- ;;
- *)
- test "$with_gnu_ld" != yes && break
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
-else
- lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
-$as_echo "$LD" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if ${lt_cv_prog_gnu_ld+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
- lt_cv_prog_gnu_ld=yes
- ;;
-*)
- lt_cv_prog_gnu_ld=no
- ;;
-esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
-$as_echo "$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
-$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if ${lt_cv_path_NM+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$NM"; then
- # Let the user override the test.
- lt_cv_path_NM="$NM"
-else
- lt_nm_to_check="${ac_tool_prefix}nm"
- if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
- lt_nm_to_check="$lt_nm_to_check nm"
- fi
- for lt_tmp_nm in $lt_nm_to_check; do
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- tmp_nm="$ac_dir/$lt_tmp_nm"
- if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
- # Check to see if the nm accepts a BSD-compat flag.
- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
- # nm: unknown option "B" ignored
- # Tru64's nm complains that /dev/null is an invalid object file
- case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
- */dev/null* | *'Invalid file or object type'*)
- lt_cv_path_NM="$tmp_nm -B"
- break
- ;;
- *)
- case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
- */dev/null*)
- lt_cv_path_NM="$tmp_nm -p"
- break
- ;;
- *)
- lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
- continue # so that we can try to find one that supports BSD flags
- ;;
- esac
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
- done
- : ${lt_cv_path_NM=no}
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
-$as_echo "$lt_cv_path_NM" >&6; }
-if test "$lt_cv_path_NM" != "no"; then
- NM="$lt_cv_path_NM"
-else
- # Didn't find any BSD compatible name lister, look for dumpbin.
- if test -n "$DUMPBIN"; then :
- # Let the user override the test.
- else
- if test -n "$ac_tool_prefix"; then
- for ac_prog in dumpbin "link -dump"
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DUMPBIN+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$DUMPBIN"; then
- ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-DUMPBIN=$ac_cv_prog_DUMPBIN
-if test -n "$DUMPBIN"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
-$as_echo "$DUMPBIN" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$DUMPBIN" && break
- done
-fi
-if test -z "$DUMPBIN"; then
- ac_ct_DUMPBIN=$DUMPBIN
- for ac_prog in dumpbin "link -dump"
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_DUMPBIN"; then
- ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
-if test -n "$ac_ct_DUMPBIN"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
-$as_echo "$ac_ct_DUMPBIN" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_DUMPBIN" && break
-done
-
- if test "x$ac_ct_DUMPBIN" = x; then
- DUMPBIN=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- DUMPBIN=$ac_ct_DUMPBIN
- fi
-fi
-
- case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
- *COFF*)
- DUMPBIN="$DUMPBIN -symbols"
- ;;
- *)
- DUMPBIN=:
- ;;
- esac
- fi
-
- if test "$DUMPBIN" != ":"; then
- NM="$DUMPBIN"
- fi
-fi
-test -z "$NM" && NM=nm
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
-$as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if ${lt_cv_nm_interface+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_nm_interface="BSD nm"
- echo "int some_variable = 0;" > conftest.$ac_ext
- (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
- (eval "$ac_compile" 2>conftest.err)
- cat conftest.err >&5
- (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
- (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
- cat conftest.err >&5
- (eval echo "\"\$as_me:$LINENO: output\"" >&5)
- cat conftest.out >&5
- if $GREP 'External.*some_variable' conftest.out > /dev/null; then
- lt_cv_nm_interface="MS dumpbin"
- fi
- rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
-$as_echo "$lt_cv_nm_interface" >&6; }
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
-$as_echo_n "checking whether ln -s works... " >&6; }
-LN_S=$as_ln_s
-if test "$LN_S" = "ln -s"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
-$as_echo "no, using $LN_S" >&6; }
-fi
-
-# find the maximum length of command line arguments
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
-$as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if ${lt_cv_sys_max_cmd_len+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- i=0
- teststring="ABCD"
-
- case $build_os in
- msdosdjgpp*)
- # On DJGPP, this test can blow up pretty badly due to problems in libc
- # (any single argument exceeding 2000 bytes causes a buffer overrun
- # during glob expansion). Even if it were fixed, the result of this
- # check would be larger than it should be.
- lt_cv_sys_max_cmd_len=12288; # 12K is about right
- ;;
-
- gnu*)
- # Under GNU Hurd, this test is not required because there is
- # no limit to the length of command line arguments.
- # Libtool will interpret -1 as no limit whatsoever
- lt_cv_sys_max_cmd_len=-1;
- ;;
-
- cygwin* | mingw* | cegcc*)
- # On Win9x/ME, this test blows up -- it succeeds, but takes
- # about 5 minutes as the teststring grows exponentially.
- # Worse, since 9x/ME are not pre-emptively multitasking,
- # you end up with a "frozen" computer, even though with patience
- # the test eventually succeeds (with a max line length of 256k).
- # Instead, let's just punt: use the minimum linelength reported by
- # all of the supported platforms: 8192 (on NT/2K/XP).
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- mint*)
- # On MiNT this can take a long time and run out of memory.
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- amigaos*)
- # On AmigaOS with pdksh, this test takes hours, literally.
- # So we just punt and use a minimum line length of 8192.
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
- # This has been around since 386BSD, at least. Likely further.
- if test -x /sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
- elif test -x /usr/sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
- else
- lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
- fi
- # And add a safety zone
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- ;;
-
- interix*)
- # We know the value 262144 and hardcode it with a safety zone (like BSD)
- lt_cv_sys_max_cmd_len=196608
- ;;
-
- osf*)
- # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
- # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
- # nice to cause kernel panics so lets avoid the loop below.
- # First set a reasonable default.
- lt_cv_sys_max_cmd_len=16384
- #
- if test -x /sbin/sysconfig; then
- case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
- *1*) lt_cv_sys_max_cmd_len=-1 ;;
- esac
- fi
- ;;
- sco3.2v5*)
- lt_cv_sys_max_cmd_len=102400
- ;;
- sysv5* | sco5v6* | sysv4.2uw2*)
- kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
- if test -n "$kargmax"; then
- lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
- else
- lt_cv_sys_max_cmd_len=32768
- fi
- ;;
- *)
- lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
- if test -n "$lt_cv_sys_max_cmd_len"; then
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- else
- # Make teststring a little bigger before we do anything with it.
- # a 1K string should be a reasonable start.
- for i in 1 2 3 4 5 6 7 8 ; do
- teststring=$teststring$teststring
- done
- SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
- # If test is not a shell built-in, we'll probably end up computing a
- # maximum length that is only half of the actual maximum length, but
- # we can't tell.
- while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
- = "X$teststring$teststring"; } >/dev/null 2>&1 &&
- test $i != 17 # 1/2 MB should be enough
- do
- i=`expr $i + 1`
- teststring=$teststring$teststring
- done
- # Only check the string length outside the loop.
- lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
- teststring=
- # Add a significant safety factor because C++ compilers can tack on
- # massive amounts of additional arguments before passing them to the
- # linker. It appears as though 1/2 is a usable value.
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
- fi
- ;;
- esac
-
-fi
-
-if test -n $lt_cv_sys_max_cmd_len ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
-$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
-$as_echo "none" >&6; }
-fi
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-
-
-
-
-
-: ${CP="cp -f"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
-$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
- test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
- = c,a/b,b/c, \
- && eval 'test $(( 1 + 1 )) -eq 2 \
- && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
- && xsi_shell=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
-$as_echo "$xsi_shell" >&6; }
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
-$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
- >/dev/null 2>&1 \
- && lt_shell_append=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
-$as_echo "$lt_shell_append" >&6; }
-
-
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- lt_unset=unset
-else
- lt_unset=false
-fi
-
-
-
-
-
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
- # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
- lt_SP2NL='tr \040 \012'
- lt_NL2SP='tr \015\012 \040\040'
- ;;
- *) # EBCDIC based system
- lt_SP2NL='tr \100 \n'
- lt_NL2SP='tr \r\n \100\100'
- ;;
-esac
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
-$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
-if ${lt_cv_to_host_file_cmd+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $host in
- *-*-mingw* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
- ;;
- *-*-cygwin* )
- lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
- ;;
- * ) # otherwise, assume *nix
- lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
- ;;
- esac
- ;;
- *-*-cygwin* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
- ;;
- *-*-cygwin* )
- lt_cv_to_host_file_cmd=func_convert_file_noop
- ;;
- * ) # otherwise, assume *nix
- lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
- ;;
- esac
- ;;
- * ) # unhandled hosts (and "normal" native builds)
- lt_cv_to_host_file_cmd=func_convert_file_noop
- ;;
-esac
-
-fi
-
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
-$as_echo "$lt_cv_to_host_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
-$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
-if ${lt_cv_to_tool_file_cmd+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- #assume ordinary cross tools, or native build.
-lt_cv_to_tool_file_cmd=func_convert_file_noop
-case $host in
- *-*-mingw* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
- ;;
- esac
- ;;
-esac
-
-fi
-
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
-$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
-$as_echo_n "checking for $LD option to reload object files... " >&6; }
-if ${lt_cv_ld_reload_flag+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ld_reload_flag='-r'
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
-$as_echo "$lt_cv_ld_reload_flag" >&6; }
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
- cygwin* | mingw* | pw32* | cegcc*)
- if test "$GCC" != yes; then
- reload_cmds=false
- fi
- ;;
- darwin*)
- if test "$GCC" = yes; then
- reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
- else
- reload_cmds='$LD$reload_flag -o $output$reload_objs'
- fi
- ;;
-esac
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
-set dummy ${ac_tool_prefix}objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OBJDUMP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$OBJDUMP"; then
- ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-OBJDUMP=$ac_cv_prog_OBJDUMP
-if test -n "$OBJDUMP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
-$as_echo "$OBJDUMP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OBJDUMP"; then
- ac_ct_OBJDUMP=$OBJDUMP
- # Extract the first word of "objdump", so it can be a program name with args.
-set dummy objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_OBJDUMP"; then
- ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_OBJDUMP="objdump"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
-if test -n "$ac_ct_OBJDUMP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
-$as_echo "$ac_ct_OBJDUMP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_OBJDUMP" = x; then
- OBJDUMP="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- OBJDUMP=$ac_ct_OBJDUMP
- fi
-else
- OBJDUMP="$ac_cv_prog_OBJDUMP"
-fi
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
-$as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if ${lt_cv_deplibs_check_method+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[4-9]*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-beos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-bsdi[45]*)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
- lt_cv_file_magic_cmd='/usr/bin/file -L'
- lt_cv_file_magic_test_file=/shlib/libc.so
- ;;
-
-cygwin*)
- # func_win32_libid is a shell function defined in ltmain.sh
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- ;;
-
-mingw* | pw32*)
- # Base MSYS/MinGW do not provide the 'file' command needed by
- # func_win32_libid shell function, so use a weaker test based on 'objdump',
- # unless we find 'file', for example because we are cross-compiling.
- # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
- if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- else
- # Keep this pattern in sync with the one in func_win32_libid.
- lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- fi
- ;;
-
-cegcc*)
- # use the weaker test based on 'objdump'. See mingw*.
- lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- ;;
-
-darwin* | rhapsody*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-freebsd* | dragonfly*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
- case $host_cpu in
- i*86 )
- # Not sure whether the presence of OpenBSD here was a mistake.
- # Let's accept both of them until this is cleared up.
- lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
- ;;
- esac
- else
- lt_cv_deplibs_check_method=pass_all
- fi
- ;;
-
-gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-haiku*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-hpux10.20* | hpux11*)
- lt_cv_file_magic_cmd=/usr/bin/file
- case $host_cpu in
- ia64*)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
- lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
- ;;
- hppa*64*)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
- lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
- ;;
- *)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
- lt_cv_file_magic_test_file=/usr/lib/libc.sl
- ;;
- esac
- ;;
-
-interix[3-9]*)
- # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $LD in
- *-32|*"-32 ") libmagic=32-bit;;
- *-n32|*"-n32 ") libmagic=N32;;
- *-64|*"-64 ") libmagic=64-bit;;
- *) libmagic=never-match;;
- esac
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
- fi
- ;;
-
-newos6*)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=/usr/lib/libnls.so
- ;;
-
-*nto* | *qnx*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-openbsd*)
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
- fi
- ;;
-
-osf3* | osf4* | osf5*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-rdos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-solaris*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sysv4 | sysv4.3*)
- case $host_vendor in
- motorola)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
- ;;
- ncr)
- lt_cv_deplibs_check_method=pass_all
- ;;
- sequent)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
- ;;
- sni)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
- lt_cv_file_magic_test_file=/lib/libc.so
- ;;
- siemens)
- lt_cv_deplibs_check_method=pass_all
- ;;
- pc)
- lt_cv_deplibs_check_method=pass_all
- ;;
- esac
- ;;
-
-tpf*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
-$as_echo "$lt_cv_deplibs_check_method" >&6; }
-
-file_magic_glob=
-want_nocaseglob=no
-if test "$build" = "$host"; then
- case $host_os in
- mingw* | pw32*)
- if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
- want_nocaseglob=yes
- else
- file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
- fi
- ;;
- esac
-fi
-
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DLLTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$DLLTOOL"; then
- ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-DLLTOOL=$ac_cv_prog_DLLTOOL
-if test -n "$DLLTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
-$as_echo "$DLLTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DLLTOOL"; then
- ac_ct_DLLTOOL=$DLLTOOL
- # Extract the first word of "dlltool", so it can be a program name with args.
-set dummy dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_DLLTOOL"; then
- ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_DLLTOOL="dlltool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
-if test -n "$ac_ct_DLLTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
-$as_echo "$ac_ct_DLLTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_DLLTOOL" = x; then
- DLLTOOL="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- DLLTOOL=$ac_ct_DLLTOOL
- fi
-else
- DLLTOOL="$ac_cv_prog_DLLTOOL"
-fi
-
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
-$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
-if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_sharedlib_from_linklib_cmd='unknown'
-
-case $host_os in
-cygwin* | mingw* | pw32* | cegcc*)
- # two different shell functions defined in ltmain.sh
- # decide which to use based on capabilities of $DLLTOOL
- case `$DLLTOOL --help 2>&1` in
- *--identify-strict*)
- lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
- ;;
- *)
- lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
- ;;
- esac
- ;;
-*)
- # fallback: assume linklib IS sharedlib
- lt_cv_sharedlib_from_linklib_cmd="$ECHO"
- ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
-$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
-sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
-test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- for ac_prog in ar
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$AR"; then
- ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$AR" && break
- done
-fi
-if test -z "$AR"; then
- ac_ct_AR=$AR
- for ac_prog in ar
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_AR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_AR"; then
- ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_AR="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-$as_echo "$ac_ct_AR" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_AR" && break
-done
-
- if test "x$ac_ct_AR" = x; then
- AR="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- AR=$ac_ct_AR
- fi
-fi
-
-: ${AR=ar}
-: ${AR_FLAGS=cru}
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
-$as_echo_n "checking for archiver @FILE support... " >&6; }
-if ${lt_cv_ar_at_file+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ar_at_file=no
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- echo conftest.$ac_objext > conftest.lst
- lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
- (eval $lt_ar_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if test "$ac_status" -eq 0; then
- # Ensure the archiver fails upon bogus file names.
- rm -f conftest.$ac_objext libconftest.a
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
- (eval $lt_ar_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if test "$ac_status" -ne 0; then
- lt_cv_ar_at_file=@
- fi
- fi
- rm -f conftest.* libconftest.a
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
-$as_echo "$lt_cv_ar_at_file" >&6; }
-
-if test "x$lt_cv_ar_at_file" = xno; then
- archiver_list_spec=
-else
- archiver_list_spec=$lt_cv_ar_at_file
-fi
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_STRIP="strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_STRIP" = x; then
- STRIP=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- STRIP=$ac_ct_STRIP
- fi
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
-
-test -z "$STRIP" && STRIP=:
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
- ac_ct_RANLIB=$RANLIB
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_RANLIB"; then
- ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_RANLIB="ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_RANLIB" = x; then
- RANLIB=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- RANLIB=$ac_ct_RANLIB
- fi
-else
- RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-test -z "$RANLIB" && RANLIB=:
-
-
-
-
-
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
- case $host_os in
- openbsd*)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
- ;;
- *)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
- ;;
- esac
- old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-
-case $host_os in
- darwin*)
- lock_old_archive_extraction=yes ;;
- *)
- lock_old_archive_extraction=no ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
-$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if ${lt_cv_sys_global_symbol_pipe+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix. What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Define system-specific variables.
-case $host_os in
-aix*)
- symcode='[BCDT]'
- ;;
-cygwin* | mingw* | pw32* | cegcc*)
- symcode='[ABCDGISTW]'
- ;;
-hpux*)
- if test "$host_cpu" = ia64; then
- symcode='[ABCDEGRST]'
- fi
- ;;
-irix* | nonstopux*)
- symcode='[BCDEGRST]'
- ;;
-osf*)
- symcode='[BCDEGQRST]'
- ;;
-solaris*)
- symcode='[BDRT]'
- ;;
-sco3.2v5*)
- symcode='[DT]'
- ;;
-sysv4.2uw2*)
- symcode='[DT]'
- ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
- symcode='[ABDT]'
- ;;
-sysv4)
- symcode='[DFNSTU]'
- ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
- symcode='[ABCDGIRSTW]' ;;
-esac
-
-# Transform an extracted symbol line into a proper C declaration.
-# Some systems (esp. on ia64) link data and code symbols differently,
-# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
- opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
- ;;
-esac
-
-# Try without a prefix underscore, then with it.
-for ac_symprfx in "" "_"; do
-
- # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
- symxfrm="\\1 $ac_symprfx\\2 \\2"
-
- # Write the raw and C identifiers.
- if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- # Fake it for dumpbin and say T for any non-static function
- # and D for any global variable.
- # Also find C++ and __fastcall symbols from MSVC++,
- # which start with @ or ?.
- lt_cv_sys_global_symbol_pipe="$AWK '"\
-" {last_section=section; section=\$ 3};"\
-" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-" \$ 0!~/External *\|/{next};"\
-" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-" {if(hide[section]) next};"\
-" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-" s[1]~/^[@?]/{print s[1], s[1]; next};"\
-" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
-" ' prfx=^$ac_symprfx"
- else
- lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
- fi
- lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
-
- # Check to see that the pipe works correctly.
- pipe_works=no
-
- rm -f conftest*
- cat > conftest.$ac_ext <<_LT_EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(void);
-void nm_test_func(void){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-_LT_EOF
-
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- # Now try to grab the symbols.
- nlist=conftest.nm
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
- (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s "$nlist"; then
- # Try sorting and uniquifying the output.
- if sort "$nlist" | uniq > "$nlist"T; then
- mv -f "$nlist"T "$nlist"
- else
- rm -f "$nlist"T
- fi
-
- # Make sure that we snagged all the symbols we need.
- if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
- if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
- cat <<_LT_EOF > conftest.$ac_ext
-/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-/* DATA imports from DLLs on WIN32 con't be const, because runtime
- relocations are performed -- see ld's documentation on pseudo-relocs. */
-# define LT_DLSYM_CONST
-#elif defined(__osf__)
-/* This system does not cope well with relocations in const data. */
-# define LT_DLSYM_CONST
-#else
-# define LT_DLSYM_CONST const
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_LT_EOF
- # Now generate the symbol file.
- eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
-
- cat <<_LT_EOF >> conftest.$ac_ext
-
-/* The mapping between symbol names and symbols. */
-LT_DLSYM_CONST struct {
- const char *name;
- void *address;
-}
-lt__PROGRAM__LTX_preloaded_symbols[] =
-{
- { "@PROGRAM@", (void *) 0 },
-_LT_EOF
- $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
- cat <<\_LT_EOF >> conftest.$ac_ext
- {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
- return lt__PROGRAM__LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-_LT_EOF
- # Now try linking the two files.
- mv conftest.$ac_objext conftstm.$ac_objext
- lt_globsym_save_LIBS=$LIBS
- lt_globsym_save_CFLAGS=$CFLAGS
- LIBS="conftstm.$ac_objext"
- CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext}; then
- pipe_works=yes
- fi
- LIBS=$lt_globsym_save_LIBS
- CFLAGS=$lt_globsym_save_CFLAGS
- else
- echo "cannot find nm_test_func in $nlist" >&5
- fi
- else
- echo "cannot find nm_test_var in $nlist" >&5
- fi
- else
- echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
- fi
- else
- echo "$progname: failed program was:" >&5
- cat conftest.$ac_ext >&5
- fi
- rm -rf conftest* conftst*
-
- # Do not use the global_symbol_pipe unless it works.
- if test "$pipe_works" = yes; then
- break
- else
- lt_cv_sys_global_symbol_pipe=
- fi
-done
-
-fi
-
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
- lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
-$as_echo "ok" >&6; }
-fi
-
-# Response file support.
-if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- nm_file_list_spec='@'
-elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
- nm_file_list_spec='@'
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
-$as_echo_n "checking for sysroot... " >&6; }
-
-# Check whether --with-sysroot was given.
-if test "${with_sysroot+set}" = set; then :
- withval=$with_sysroot;
-else
- with_sysroot=no
-fi
-
-
-lt_sysroot=
-case ${with_sysroot} in #(
- yes)
- if test "$GCC" = yes; then
- lt_sysroot=`$CC --print-sysroot 2>/dev/null`
- fi
- ;; #(
- /*)
- lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
- ;; #(
- no|'')
- ;; #(
- *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
-$as_echo "${with_sysroot}" >&6; }
- as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
- ;;
-esac
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
-$as_echo "${lt_sysroot:-no}" >&6; }
-
-
-
-
-
-# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then :
- enableval=$enable_libtool_lock;
-fi
-
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- case `/usr/bin/file conftest.$ac_objext` in
- *ELF-32*)
- HPUX_IA64_MODE="32"
- ;;
- *ELF-64*)
- HPUX_IA64_MODE="64"
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-*-*-irix6*)
- # Find out which ABI we are using.
- echo '#line '$LINENO' "configure"' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- if test "$lt_cv_prog_gnu_ld" = yes; then
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -melf32bsmip"
- ;;
- *N32*)
- LD="${LD-ld} -melf32bmipn32"
- ;;
- *64-bit*)
- LD="${LD-ld} -melf64bmip"
- ;;
- esac
- else
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -32"
- ;;
- *N32*)
- LD="${LD-ld} -n32"
- ;;
- *64-bit*)
- LD="${LD-ld} -64"
- ;;
- esac
- fi
- fi
- rm -rf conftest*
- ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- case `/usr/bin/file conftest.o` in
- *32-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_i386_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_i386"
- ;;
- ppc64-*linux*|powerpc64-*linux*)
- LD="${LD-ld} -m elf32ppclinux"
- ;;
- s390x-*linux*)
- LD="${LD-ld} -m elf_s390"
- ;;
- sparc64-*linux*)
- LD="${LD-ld} -m elf32_sparc"
- ;;
- esac
- ;;
- *64-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_x86_64_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_x86_64"
- ;;
- ppc*-*linux*|powerpc*-*linux*)
- LD="${LD-ld} -m elf64ppc"
- ;;
- s390*-*linux*|s390*-*tpf*)
- LD="${LD-ld} -m elf64_s390"
- ;;
- sparc*-*linux*)
- LD="${LD-ld} -m elf64_sparc"
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-
-*-*-sco3.2v5*)
- # On SCO OpenServer 5, we need -belf to get full-featured binaries.
- SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -belf"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
-$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if ${lt_cv_cc_needs_belf+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- lt_cv_cc_needs_belf=yes
-else
- lt_cv_cc_needs_belf=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
-$as_echo "$lt_cv_cc_needs_belf" >&6; }
- if test x"$lt_cv_cc_needs_belf" != x"yes"; then
- # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
- CFLAGS="$SAVE_CFLAGS"
- fi
- ;;
-sparc*-*solaris*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- case `/usr/bin/file conftest.o` in
- *64-bit*)
- case $lt_cv_prog_gnu_ld in
- yes*) LD="${LD-ld} -m elf64_sparc" ;;
- *)
- if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
- LD="${LD-ld} -64"
- fi
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-esac
-
-need_locks="$enable_libtool_lock"
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
-set dummy ${ac_tool_prefix}mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$MANIFEST_TOOL"; then
- ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
-if test -n "$MANIFEST_TOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
-$as_echo "$MANIFEST_TOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
- ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
- # Extract the first word of "mt", so it can be a program name with args.
-set dummy mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_MANIFEST_TOOL"; then
- ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
-if test -n "$ac_ct_MANIFEST_TOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
-$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_MANIFEST_TOOL" = x; then
- MANIFEST_TOOL=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
- fi
-else
- MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
-fi
-
-test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
-$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
-if ${lt_cv_path_mainfest_tool+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_path_mainfest_tool=no
- echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
- $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
- cat conftest.err >&5
- if $GREP 'Manifest Tool' conftest.out > /dev/null; then
- lt_cv_path_mainfest_tool=yes
- fi
- rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
-$as_echo "$lt_cv_path_mainfest_tool" >&6; }
-if test "x$lt_cv_path_mainfest_tool" != xyes; then
- MANIFEST_TOOL=:
-fi
-
-
-
-
-
-
- case $host_os in
- rhapsody* | darwin*)
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DSYMUTIL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$DSYMUTIL"; then
- ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-DSYMUTIL=$ac_cv_prog_DSYMUTIL
-if test -n "$DSYMUTIL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
-$as_echo "$DSYMUTIL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DSYMUTIL"; then
- ac_ct_DSYMUTIL=$DSYMUTIL
- # Extract the first word of "dsymutil", so it can be a program name with args.
-set dummy dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_DSYMUTIL"; then
- ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
-if test -n "$ac_ct_DSYMUTIL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
-$as_echo "$ac_ct_DSYMUTIL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_DSYMUTIL" = x; then
- DSYMUTIL=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- DSYMUTIL=$ac_ct_DSYMUTIL
- fi
-else
- DSYMUTIL="$ac_cv_prog_DSYMUTIL"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
-set dummy ${ac_tool_prefix}nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_NMEDIT+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$NMEDIT"; then
- ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-NMEDIT=$ac_cv_prog_NMEDIT
-if test -n "$NMEDIT"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
-$as_echo "$NMEDIT" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_NMEDIT"; then
- ac_ct_NMEDIT=$NMEDIT
- # Extract the first word of "nmedit", so it can be a program name with args.
-set dummy nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_NMEDIT"; then
- ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_NMEDIT="nmedit"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
-if test -n "$ac_ct_NMEDIT"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
-$as_echo "$ac_ct_NMEDIT" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_NMEDIT" = x; then
- NMEDIT=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- NMEDIT=$ac_ct_NMEDIT
- fi
-else
- NMEDIT="$ac_cv_prog_NMEDIT"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
-set dummy ${ac_tool_prefix}lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_LIPO+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$LIPO"; then
- ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-LIPO=$ac_cv_prog_LIPO
-if test -n "$LIPO"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
-$as_echo "$LIPO" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_LIPO"; then
- ac_ct_LIPO=$LIPO
- # Extract the first word of "lipo", so it can be a program name with args.
-set dummy lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_LIPO"; then
- ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_LIPO="lipo"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
-if test -n "$ac_ct_LIPO"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
-$as_echo "$ac_ct_LIPO" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_LIPO" = x; then
- LIPO=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- LIPO=$ac_ct_LIPO
- fi
-else
- LIPO="$ac_cv_prog_LIPO"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$OTOOL"; then
- ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL=$ac_cv_prog_OTOOL
-if test -n "$OTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
-$as_echo "$OTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL"; then
- ac_ct_OTOOL=$OTOOL
- # Extract the first word of "otool", so it can be a program name with args.
-set dummy otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_OTOOL"; then
- ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_OTOOL="otool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
-if test -n "$ac_ct_OTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
-$as_echo "$ac_ct_OTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_OTOOL" = x; then
- OTOOL=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- OTOOL=$ac_ct_OTOOL
- fi
-else
- OTOOL="$ac_cv_prog_OTOOL"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL64+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$OTOOL64"; then
- ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL64=$ac_cv_prog_OTOOL64
-if test -n "$OTOOL64"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
-$as_echo "$OTOOL64" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL64"; then
- ac_ct_OTOOL64=$OTOOL64
- # Extract the first word of "otool64", so it can be a program name with args.
-set dummy otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_OTOOL64"; then
- ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_OTOOL64="otool64"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
-if test -n "$ac_ct_OTOOL64"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
-$as_echo "$ac_ct_OTOOL64" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_OTOOL64" = x; then
- OTOOL64=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- OTOOL64=$ac_ct_OTOOL64
- fi
-else
- OTOOL64="$ac_cv_prog_OTOOL64"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
-$as_echo_n "checking for -single_module linker flag... " >&6; }
-if ${lt_cv_apple_cc_single_mod+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_apple_cc_single_mod=no
- if test -z "${LT_MULTI_MODULE}"; then
- # By default we will add the -single_module flag. You can override
- # by either setting the environment variable LT_MULTI_MODULE
- # non-empty at configure time, or by adding -multi_module to the
- # link flags.
- rm -rf libconftest.dylib*
- echo "int foo(void){return 1;}" > conftest.c
- echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
--dynamiclib -Wl,-single_module conftest.c" >&5
- $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
- -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
- _lt_result=$?
- if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
- lt_cv_apple_cc_single_mod=yes
- else
- cat conftest.err >&5
- fi
- rm -rf libconftest.dylib*
- rm -f conftest.*
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
-$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
-$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if ${lt_cv_ld_exported_symbols_list+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ld_exported_symbols_list=no
- save_LDFLAGS=$LDFLAGS
- echo "_main" > conftest.sym
- LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- lt_cv_ld_exported_symbols_list=yes
-else
- lt_cv_ld_exported_symbols_list=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
-$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
-$as_echo_n "checking for -force_load linker flag... " >&6; }
-if ${lt_cv_ld_force_load+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ld_force_load=no
- cat > conftest.c << _LT_EOF
-int forced_loaded() { return 2;}
-_LT_EOF
- echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
- $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
- echo "$AR cru libconftest.a conftest.o" >&5
- $AR cru libconftest.a conftest.o 2>&5
- echo "$RANLIB libconftest.a" >&5
- $RANLIB libconftest.a 2>&5
- cat > conftest.c << _LT_EOF
-int main() { return 0;}
-_LT_EOF
- echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
- $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
- _lt_result=$?
- if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
- lt_cv_ld_force_load=yes
- else
- cat conftest.err >&5
- fi
- rm -f conftest.err libconftest.a conftest conftest.c
- rm -rf conftest.dSYM
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
-$as_echo "$lt_cv_ld_force_load" >&6; }
- case $host_os in
- rhapsody* | darwin1.[012])
- _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
- darwin1.*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- darwin*) # darwin 5.x on
- # if running on 10.5 or later, the deployment target defaults
- # to the OS version, if on x86, and 10.4, the deployment
- # target defaults to 10.4. Don't you love it?
- case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
- 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- 10.[012]*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- 10.*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- esac
- ;;
- esac
- if test "$lt_cv_apple_cc_single_mod" = "yes"; then
- _lt_dar_single_mod='$single_module'
- fi
- if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
- _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
- else
- _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
- fi
- if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
- _lt_dsymutil='~$DSYMUTIL $lib || :'
- else
- _lt_dsymutil=
- fi
- ;;
- esac
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
- if ${ac_cv_prog_CPP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Double quotes because CPP needs to be expanded
- for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
- do
- ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
- break
-fi
-
- done
- ac_cv_prog_CPP=$CPP
-
-fi
- CPP=$ac_cv_prog_CPP
-else
- ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_header_stdc=yes
-else
- ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then :
- :
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- return 2;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
- inttypes.h stdint.h unistd.h
-do :
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_header in dlfcn.h
-do :
- ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
-"
-if test "x$ac_cv_header_dlfcn_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_DLFCN_H 1
-_ACEOF
-
-fi
-
-done
-
-
-
-
-
-# Set options
-
-
-
- enable_dlopen=no
-
-
- enable_win32_dll=no
-
-
- # Check whether --enable-shared was given.
-if test "${enable_shared+set}" = set; then :
- enableval=$enable_shared; p=${PACKAGE-default}
- case $enableval in
- yes) enable_shared=yes ;;
- no) enable_shared=no ;;
- *)
- enable_shared=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_shared=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_shared=yes
-fi
-
-
-
-
-
-
-
-
-
- # Check whether --enable-static was given.
-if test "${enable_static+set}" = set; then :
- enableval=$enable_static; p=${PACKAGE-default}
- case $enableval in
- yes) enable_static=yes ;;
- no) enable_static=no ;;
- *)
- enable_static=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_static=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_static=yes
-fi
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-pic was given.
-if test "${with_pic+set}" = set; then :
- withval=$with_pic; pic_mode="$withval"
-else
- pic_mode=default
-fi
-
-
-test -z "$pic_mode" && pic_mode=default
-
-
-
-
-
-
-
- # Check whether --enable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then :
- enableval=$enable_fast_install; p=${PACKAGE-default}
- case $enableval in
- yes) enable_fast_install=yes ;;
- no) enable_fast_install=no ;;
- *)
- enable_fast_install=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_fast_install=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_fast_install=yes
-fi
-
-
-
-
-
-
-
-
-
-
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-test -z "$LN_S" && LN_S="ln -s"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
-$as_echo_n "checking for objdir... " >&6; }
-if ${lt_cv_objdir+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
- lt_cv_objdir=.libs
-else
- # MS-DOS does not allow filenames that begin with a dot.
- lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
-$as_echo "$lt_cv_objdir" >&6; }
-objdir=$lt_cv_objdir
-
-
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define LT_OBJDIR "$lt_cv_objdir/"
-_ACEOF
-
-
-
-
-case $host_os in
-aix3*)
- # AIX sometimes has problems with the GCC collect2 program. For some
- # reason, if we set the COLLECT_NAMES environment variable, the problems
- # vanish in a puff of smoke.
- if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
- fi
- ;;
-esac
-
-# Global variables:
-ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$LD" && LD=ld
-test -z "$ac_objext" && ac_objext=o
-
-for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
-
-
-# Only perform the check for file, if the check method requires it
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-case $deplibs_check_method in
-file_magic*)
- if test "$file_magic_cmd" = '$MAGIC_CMD'; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
-$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $MAGIC_CMD in
-[\\/*] | ?:[\\/]*)
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- ;;
-*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
- for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/${ac_tool_prefix}file; then
- lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
- if test -n "$file_magic_test_file"; then
- case $deplibs_check_method in
- "file_magic "*)
- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- $EGREP "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
- fi ;;
- esac
- fi
- break
- fi
- done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
- ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-
-
-if test -z "$lt_cv_path_MAGIC_CMD"; then
- if test -n "$ac_tool_prefix"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
-$as_echo_n "checking for file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $MAGIC_CMD in
-[\\/*] | ?:[\\/]*)
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- ;;
-*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
- for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/file; then
- lt_cv_path_MAGIC_CMD="$ac_dir/file"
- if test -n "$file_magic_test_file"; then
- case $deplibs_check_method in
- "file_magic "*)
- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- $EGREP "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
- fi ;;
- esac
- fi
- break
- fi
- done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
- ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- else
- MAGIC_CMD=:
- fi
-fi
-
- fi
- ;;
-esac
-
-# Use C for the default configuration in the libtool script
-
-lt_save_CC="$CC"
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-objext=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-# Save the default compiler, since it gets overwritten when the other
-# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
-compiler_DEFAULT=$CC
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$RM conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$RM -r conftest*
-
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-if test -n "$compiler"; then
-
-lt_prog_compiler_no_builtin_flag=
-
-if test "$GCC" = yes; then
- case $cc_basename in
- nvcc*)
- lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
- *)
- lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
- esac
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_rtti_exceptions=no
- ac_outfile=conftest.$ac_objext
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="-fno-rtti -fno-exceptions"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_rtti_exceptions=yes
- fi
- fi
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
-
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
- lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
-else
- :
-fi
-
-fi
-
-
-
-
-
-
- lt_prog_compiler_wl=
-lt_prog_compiler_pic=
-lt_prog_compiler_static=
-
-
- if test "$GCC" = yes; then
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_static='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static='-Bstatic'
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- lt_prog_compiler_pic='-fPIC'
- ;;
- m68k)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
- ;;
- esac
- ;;
-
- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
-
- mingw* | cygwin* | pw32* | os2* | cegcc*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- # Although the cygwin gcc ignores -fPIC, still need this for old-style
- # (--disable-auto-import) libraries
- lt_prog_compiler_pic='-DDLL_EXPORT'
- ;;
-
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- lt_prog_compiler_pic='-fno-common'
- ;;
-
- haiku*)
- # PIC is the default for Haiku.
- # The "-static" flag exists, but is broken.
- lt_prog_compiler_static=
- ;;
-
- hpux*)
- # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
- # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
- # sets the default TLS model and affects inlining.
- case $host_cpu in
- hppa*64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic='-fPIC'
- ;;
- esac
- ;;
-
- interix[3-9]*)
- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- # Instead, we relocate shared libraries at runtime.
- ;;
-
- msdosdjgpp*)
- # Just because we use GCC doesn't mean we suddenly get shared libraries
- # on systems that don't support them.
- lt_prog_compiler_can_build_shared=no
- enable_shared=no
- ;;
-
- *nto* | *qnx*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- lt_prog_compiler_pic='-fPIC -shared'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- lt_prog_compiler_pic=-Kconform_pic
- fi
- ;;
-
- *)
- lt_prog_compiler_pic='-fPIC'
- ;;
- esac
-
- case $cc_basename in
- nvcc*) # Cuda Compiler Driver 2.2
- lt_prog_compiler_wl='-Xlinker '
- lt_prog_compiler_pic='-Xcompiler -fPIC'
- ;;
- esac
- else
- # PORTME Check for flag to pass linker flags through the system compiler.
- case $host_os in
- aix*)
- lt_prog_compiler_wl='-Wl,'
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static='-Bstatic'
- else
- lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
-
- mingw* | cygwin* | pw32* | os2* | cegcc*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- lt_prog_compiler_pic='-DDLL_EXPORT'
- ;;
-
- hpux9* | hpux10* | hpux11*)
- lt_prog_compiler_wl='-Wl,'
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic='+Z'
- ;;
- esac
- # Is there a better lt_prog_compiler_static that works with the bundled CC?
- lt_prog_compiler_static='${wl}-a ${wl}archive'
- ;;
-
- irix5* | irix6* | nonstopux*)
- lt_prog_compiler_wl='-Wl,'
- # PIC (with -KPIC) is the default.
- lt_prog_compiler_static='-non_shared'
- ;;
-
- linux* | k*bsd*-gnu | kopensolaris*-gnu)
- case $cc_basename in
- # old Intel for x86_64 which still supported -KPIC.
- ecc*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-static'
- ;;
- # icc used to be incompatible with GCC.
- # ICC 10 doesn't accept -KPIC any more.
- icc* | ifort*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-fPIC'
- lt_prog_compiler_static='-static'
- ;;
- # Lahey Fortran 8.1.
- lf95*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='--shared'
- lt_prog_compiler_static='--static'
- ;;
- nagfor*)
- # NAG Fortran compiler
- lt_prog_compiler_wl='-Wl,-Wl,,'
- lt_prog_compiler_pic='-PIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
- pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
- # Portland Group compilers (*not* the Pentium gcc compiler,
- # which looks to be a dead project)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-fpic'
- lt_prog_compiler_static='-Bstatic'
- ;;
- ccc*)
- lt_prog_compiler_wl='-Wl,'
- # All Alpha code is PIC.
- lt_prog_compiler_static='-non_shared'
- ;;
- xl* | bgxl* | bgf* | mpixl*)
- # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-qpic'
- lt_prog_compiler_static='-qstaticlink'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ F* | *Sun*Fortran*)
- # Sun Fortran 8.3 passes all unrecognized flags to the linker
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- lt_prog_compiler_wl=''
- ;;
- *Sun\ C*)
- # Sun C 5.9
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- lt_prog_compiler_wl='-Wl,'
- ;;
- esac
- ;;
- esac
- ;;
-
- newsos6)
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- *nto* | *qnx*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- lt_prog_compiler_pic='-fPIC -shared'
- ;;
-
- osf3* | osf4* | osf5*)
- lt_prog_compiler_wl='-Wl,'
- # All OSF/1 code is PIC.
- lt_prog_compiler_static='-non_shared'
- ;;
-
- rdos*)
- lt_prog_compiler_static='-non_shared'
- ;;
-
- solaris*)
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- case $cc_basename in
- f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
- lt_prog_compiler_wl='-Qoption ld ';;
- *)
- lt_prog_compiler_wl='-Wl,';;
- esac
- ;;
-
- sunos4*)
- lt_prog_compiler_wl='-Qoption ld '
- lt_prog_compiler_pic='-PIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- sysv4 | sysv4.2uw2* | sysv4.3*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec ;then
- lt_prog_compiler_pic='-Kconform_pic'
- lt_prog_compiler_static='-Bstatic'
- fi
- ;;
-
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- unicos*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_can_build_shared=no
- ;;
-
- uts4*)
- lt_prog_compiler_pic='-pic'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- *)
- lt_prog_compiler_can_build_shared=no
- ;;
- esac
- fi
-
-case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- lt_prog_compiler_pic=
- ;;
- *)
- lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
- ;;
-esac
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
-if ${lt_cv_prog_compiler_pic+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
-$as_echo "$lt_cv_prog_compiler_pic" >&6; }
-lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if ${lt_cv_prog_compiler_pic_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_pic_works=no
- ac_outfile=conftest.$ac_objext
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_pic_works=yes
- fi
- fi
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
-$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
- case $lt_prog_compiler_pic in
- "" | " "*) ;;
- *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
- esac
-else
- lt_prog_compiler_pic=
- lt_prog_compiler_can_build_shared=no
-fi
-
-fi
-
-
-
-
-
-
-
-
-
-
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if ${lt_cv_prog_compiler_static_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_static_works=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
- echo "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_static_works=yes
- fi
- else
- lt_cv_prog_compiler_static_works=yes
- fi
- fi
- $RM -r conftest*
- LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
-$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_static_works" = xyes; then
- :
-else
- lt_prog_compiler_static=
-fi
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_c_o=no
- $RM -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o=yes
- fi
- fi
- chmod u+w . 2>&5
- $RM conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
- $RM out/* && rmdir out
- cd ..
- $RM -r conftest
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_c_o=no
- $RM -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o=yes
- fi
- fi
- chmod u+w . 2>&5
- $RM conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
- $RM out/* && rmdir out
- cd ..
- $RM -r conftest
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
- # do not overwrite the value of need_locks provided by the user
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
-$as_echo_n "checking if we can lock with hard links... " >&6; }
- hard_links=yes
- $RM conftest*
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- touch conftest.a
- ln conftest.a conftest.b 2>&5 || hard_links=no
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
-$as_echo "$hard_links" >&6; }
- if test "$hard_links" = no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
- need_locks=warn
- fi
-else
- need_locks=no
-fi
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
-
- runpath_var=
- allow_undefined_flag=
- always_export_symbols=no
- archive_cmds=
- archive_expsym_cmds=
- compiler_needs_object=no
- enable_shared_with_static_runtimes=no
- export_dynamic_flag_spec=
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- hardcode_automatic=no
- hardcode_direct=no
- hardcode_direct_absolute=no
- hardcode_libdir_flag_spec=
- hardcode_libdir_flag_spec_ld=
- hardcode_libdir_separator=
- hardcode_minus_L=no
- hardcode_shlibpath_var=unsupported
- inherit_rpath=no
- link_all_deplibs=unknown
- module_cmds=
- module_expsym_cmds=
- old_archive_from_new_cmds=
- old_archive_from_expsyms_cmds=
- thread_safe_flag_spec=
- whole_archive_flag_spec=
- # include_expsyms should be a list of space-separated symbols to be *always*
- # included in the symbol list
- include_expsyms=
- # exclude_expsyms can be an extended regexp of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
- exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
- # platforms (ab)use it in PIC code, but their linkers get confused if
- # the symbol is explicitly referenced. Since portable code cannot
- # rely on this symbol name, it's probably fine to never include it in
- # preloaded symbol tables.
- # Exclude shared library initialization/finalization symbols.
- extract_expsyms_cmds=
-
- case $host_os in
- cygwin* | mingw* | pw32* | cegcc*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- if test "$GCC" != yes; then
- with_gnu_ld=no
- fi
- ;;
- interix*)
- # we just hope/assume this is gcc and not c89 (= MSVC++)
- with_gnu_ld=yes
- ;;
- openbsd*)
- with_gnu_ld=no
- ;;
- esac
-
- ld_shlibs=yes
-
- # On some targets, GNU ld is compatible enough with the native linker
- # that we're better off using the native interface for both.
- lt_use_gnu_ld_interface=no
- if test "$with_gnu_ld" = yes; then
- case $host_os in
- aix*)
- # The AIX port of GNU ld has always aspired to compatibility
- # with the native linker. However, as the warning in the GNU ld
- # block says, versions before 2.19.5* couldn't really create working
- # shared libraries, regardless of the interface used.
- case `$LD -v 2>&1` in
- *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
- *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
- *\ \(GNU\ Binutils\)\ [3-9]*) ;;
- *)
- lt_use_gnu_ld_interface=yes
- ;;
- esac
- ;;
- *)
- lt_use_gnu_ld_interface=yes
- ;;
- esac
- fi
-
- if test "$lt_use_gnu_ld_interface" = yes; then
- # If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
-
- # Set some defaults for GNU ld with shared library support. These
- # are reset later if shared libraries are not supported. Putting them
- # here allows them to be overridden if necessary.
- runpath_var=LD_RUN_PATH
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- export_dynamic_flag_spec='${wl}--export-dynamic'
- # ancient GNU ld didn't support --whole-archive et. al.
- if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
- whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- whole_archive_flag_spec=
- fi
- supports_anon_versioning=no
- case `$LD -v 2>&1` in
- *GNU\ gold*) supports_anon_versioning=yes ;;
- *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
- *\ 2.11.*) ;; # other 2.11 versions
- *) supports_anon_versioning=yes ;;
- esac
-
- # See if GNU ld supports shared libraries.
- case $host_os in
- aix[3-9]*)
- # On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
- ld_shlibs=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.19, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support. If you
-*** really care for shared libraries, you may want to install binutils
-*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
-*** You will then need to restart the configuration process.
-
-_LT_EOF
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds=''
- ;;
- m68k)
- archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- ;;
- esac
- ;;
-
- beos*)
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- allow_undefined_flag=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
-
- cygwin* | mingw* | pw32* | cegcc*)
- # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
- # as there is no search path for DLLs.
- hardcode_libdir_flag_spec='-L$libdir'
- export_dynamic_flag_spec='${wl}--export-all-symbols'
- allow_undefined_flag=unsupported
- always_export_symbols=no
- enable_shared_with_static_runtimes=yes
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
- exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
-
- if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- ld_shlibs=no
- fi
- ;;
-
- haiku*)
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- link_all_deplibs=yes
- ;;
-
- interix[3-9]*)
- hardcode_direct=no
- hardcode_shlibpath_var=no
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- export_dynamic_flag_spec='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
-
- gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
- tmp_diet=no
- if test "$host_os" = linux-dietlibc; then
- case $cc_basename in
- diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
- esac
- fi
- if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
- && test "$tmp_diet" = no
- then
- tmp_addflag=' $pic_flag'
- tmp_sharedflag='-shared'
- case $cc_basename,$host_cpu in
- pgcc*) # Portland Group C compiler
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag'
- ;;
- pgf77* | pgf90* | pgf95* | pgfortran*)
- # Portland Group f77 and f90 compilers
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag -Mnomain' ;;
- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
- tmp_addflag=' -i_dynamic' ;;
- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
- tmp_addflag=' -i_dynamic -nofor_main' ;;
- ifc* | ifort*) # Intel Fortran compiler
- tmp_addflag=' -nofor_main' ;;
- lf95*) # Lahey Fortran 8.1
- whole_archive_flag_spec=
- tmp_sharedflag='--shared' ;;
- xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
- tmp_sharedflag='-qmkshrobj'
- tmp_addflag= ;;
- nvcc*) # Cuda Compiler Driver 2.2
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- compiler_needs_object=yes
- ;;
- esac
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*) # Sun C 5.9
- whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- compiler_needs_object=yes
- tmp_sharedflag='-G' ;;
- *Sun\ F*) # Sun Fortran 8.3
- tmp_sharedflag='-G' ;;
- esac
- archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
- if test "x$supports_anon_versioning" = xyes; then
- archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- fi
-
- case $cc_basename in
- xlf* | bgf* | bgxlf* | mpixlf*)
- # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
- whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
- hardcode_libdir_flag_spec=
- hardcode_libdir_flag_spec_ld='-rpath $libdir'
- archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
- if test "x$supports_anon_versioning" = xyes; then
- archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
- fi
- ;;
- esac
- else
- ld_shlibs=no
- fi
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
- wlarc=
- else
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- fi
- ;;
-
- solaris*)
- if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
- ld_shlibs=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
- case `$LD -v 2>&1` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
- ld_shlibs=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- ;;
- *)
- # For security reasons, it is highly recommended that you always
- # use absolute paths for naming shared libraries, and exclude the
- # DT_RUNPATH tag from executables and libraries. But doing so
- # requires that you compile everything twice, which is a pain.
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
- esac
- ;;
-
- sunos4*)
- archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- wlarc=
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- *)
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
- esac
-
- if test "$ld_shlibs" = no; then
- runpath_var=
- hardcode_libdir_flag_spec=
- export_dynamic_flag_spec=
- whole_archive_flag_spec=
- fi
- else
- # PORTME fill in a description of your system's linker (not GNU ld)
- case $host_os in
- aix3*)
- allow_undefined_flag=unsupported
- always_export_symbols=yes
- archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
- # Note: this linker hardcodes the directories in LIBPATH if there
- # are no directories specified by -L.
- hardcode_minus_L=yes
- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
- # Neither direct hardcoding nor static linking is supported with a
- # broken collect2.
- hardcode_direct=unsupported
- fi
- ;;
-
- aix[4-9]*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- # Also, AIX nm treats weak defined symbols like other global
- # defined symbols, whereas GNU nm marks them as "W".
- if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
- export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- else
- export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- fi
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
- for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- aix_use_runtimelinking=yes
- break
- fi
- done
- ;;
- esac
-
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
-
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- archive_cmds=''
- hardcode_direct=yes
- hardcode_direct_absolute=yes
- hardcode_libdir_separator=':'
- link_all_deplibs=yes
- file_list_spec='${wl}-f,'
-
- if test "$GCC" = yes; then
- case $host_os in aix4.[012]|aix4.[012].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" &&
- strings "$collect2name" | $GREP resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- :
- else
- # We have old collect2
- hardcode_direct=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- hardcode_minus_L=yes
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_libdir_separator=
- fi
- ;;
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
-
- export_dynamic_flag_spec='${wl}-bexpall'
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- always_export_symbols=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- allow_undefined_flag='-berok'
- # Determine the default libpath from the value encoded in an
- # empty executable.
- if test "${lt_cv_aix_libpath+set}" = set; then
- aix_libpath=$lt_cv_aix_libpath
-else
- if ${lt_cv_aix_libpath_+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
- lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\([^ ]*\) *$/\1/
- p
- }
- }'
- lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- # Check for a 64-bit object if we didn't find anything.
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_="/usr/lib:/lib"
- fi
-
-fi
-
- aix_libpath=$lt_cv_aix_libpath_
-fi
-
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
- allow_undefined_flag="-z nodefs"
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an
- # empty executable.
- if test "${lt_cv_aix_libpath+set}" = set; then
- aix_libpath=$lt_cv_aix_libpath
-else
- if ${lt_cv_aix_libpath_+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
- lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\([^ ]*\) *$/\1/
- p
- }
- }'
- lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- # Check for a 64-bit object if we didn't find anything.
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_="/usr/lib:/lib"
- fi
-
-fi
-
- aix_libpath=$lt_cv_aix_libpath_
-fi
-
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- no_undefined_flag=' ${wl}-bernotok'
- allow_undefined_flag=' ${wl}-berok'
- if test "$with_gnu_ld" = yes; then
- # We only use this code for GNU lds that support --whole-archive.
- whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
- else
- # Exported symbols can be pulled into shared objects from archives
- whole_archive_flag_spec='$convenience'
- fi
- archive_cmds_need_lc=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds=''
- ;;
- m68k)
- archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- ;;
- esac
- ;;
-
- bsdi[45]*)
- export_dynamic_flag_spec=-rdynamic
- ;;
-
- cygwin* | mingw* | pw32* | cegcc*)
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- case $cc_basename in
- cl*)
- # Native MSVC
- hardcode_libdir_flag_spec=' '
- allow_undefined_flag=unsupported
- always_export_symbols=yes
- file_list_spec='@'
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
- archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
- else
- sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
- fi~
- $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
- linknames='
- # The linker will not automatically build a static lib if we build a DLL.
- # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
- enable_shared_with_static_runtimes=yes
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
- # Don't use ranlib
- old_postinstall_cmds='chmod 644 $oldlib'
- postlink_cmds='lt_outputfile="@OUTPUT@"~
- lt_tool_outputfile="@TOOL_OUTPUT@"~
- case $lt_outputfile in
- *.exe|*.EXE) ;;
- *)
- lt_outputfile="$lt_outputfile.exe"
- lt_tool_outputfile="$lt_tool_outputfile.exe"
- ;;
- esac~
- if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
- $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
- $RM "$lt_outputfile.manifest";
- fi'
- ;;
- *)
- # Assume MSVC wrapper
- hardcode_libdir_flag_spec=' '
- allow_undefined_flag=unsupported
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
- # The linker will automatically build a .lib file if we build a DLL.
- old_archive_from_new_cmds='true'
- # FIXME: Should let the user specify the lib program.
- old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
- enable_shared_with_static_runtimes=yes
- ;;
- esac
- ;;
-
- darwin* | rhapsody*)
-
-
- archive_cmds_need_lc=no
- hardcode_direct=no
- hardcode_automatic=yes
- hardcode_shlibpath_var=unsupported
- if test "$lt_cv_ld_force_load" = "yes"; then
- whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
- else
- whole_archive_flag_spec=''
- fi
- link_all_deplibs=yes
- allow_undefined_flag="$_lt_dar_allow_undefined"
- case $cc_basename in
- ifort*) _lt_dar_can_shared=yes ;;
- *) _lt_dar_can_shared=$GCC ;;
- esac
- if test "$_lt_dar_can_shared" = "yes"; then
- output_verbose_link_cmd=func_echo_all
- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-
- else
- ld_shlibs=no
- fi
-
- ;;
-
- dgux*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_shlibpath_var=no
- ;;
-
- freebsd1*)
- ld_shlibs=no
- ;;
-
- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
- # support. Future versions do this automatically, but an explicit c++rt0.o
- # does not break anything, and helps significantly (at the cost of a little
- # extra space).
- freebsd2.2*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes
- hardcode_minus_L=yes
- hardcode_shlibpath_var=no
- ;;
-
- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | dragonfly*)
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- hpux9*)
- if test "$GCC" = yes; then
- archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- fi
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_direct=yes
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- export_dynamic_flag_spec='${wl}-E'
- ;;
-
- hpux10*)
- if test "$GCC" = yes && test "$with_gnu_ld" = no; then
- archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_flag_spec_ld='+b $libdir'
- hardcode_libdir_separator=:
- hardcode_direct=yes
- hardcode_direct_absolute=yes
- export_dynamic_flag_spec='${wl}-E'
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- fi
- ;;
-
- hpux11*)
- if test "$GCC" = yes && test "$with_gnu_ld" = no; then
- case $host_cpu in
- hppa*64*)
- archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- else
- case $host_cpu in
- hppa*64*)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
-
- # Older versions of the 11.00 compiler do not understand -b yet
- # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
-$as_echo_n "checking if $CC understands -b... " >&6; }
-if ${lt_cv_prog_compiler__b+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler__b=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS -b"
- echo "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler__b=yes
- fi
- else
- lt_cv_prog_compiler__b=yes
- fi
- fi
- $RM -r conftest*
- LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
-$as_echo "$lt_cv_prog_compiler__b" >&6; }
-
-if test x"$lt_cv_prog_compiler__b" = xyes; then
- archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-else
- archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-fi
-
- ;;
- esac
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
-
- case $host_cpu in
- hppa*64*|ia64*)
- hardcode_direct=no
- hardcode_shlibpath_var=no
- ;;
- *)
- hardcode_direct=yes
- hardcode_direct_absolute=yes
- export_dynamic_flag_spec='${wl}-E'
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- ;;
- esac
- fi
- ;;
-
- irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- # Try to use the -exported_symbol ld option, if it does not
- # work, assume that -exports_file does not work either and
- # implicitly export all symbols.
- # This should be the same for all languages, so no per-tag cache variable.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
-$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
-if ${lt_cv_irix_exported_symbol+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-int foo (void) { return 0; }
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- lt_cv_irix_exported_symbol=yes
-else
- lt_cv_irix_exported_symbol=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS="$save_LDFLAGS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
-$as_echo "$lt_cv_irix_exported_symbol" >&6; }
- if test "$lt_cv_irix_exported_symbol" = yes; then
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
- fi
- else
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
- fi
- archive_cmds_need_lc='no'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- inherit_rpath=yes
- link_all_deplibs=yes
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
- else
- archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
- fi
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- newsos6)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_shlibpath_var=no
- ;;
-
- *nto* | *qnx*)
- ;;
-
- openbsd*)
- if test -f /usr/libexec/ld.so; then
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- hardcode_direct_absolute=yes
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- export_dynamic_flag_spec='${wl}-E'
- else
- case $host_os in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-R$libdir'
- ;;
- *)
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- ;;
- esac
- fi
- else
- ld_shlibs=no
- fi
- ;;
-
- os2*)
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- allow_undefined_flag=unsupported
- archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
- ;;
-
- osf3*)
- if test "$GCC" = yes; then
- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- fi
- archive_cmds_need_lc='no'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- ;;
-
- osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- else
- allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
- $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
-
- # Both c and cxx compiler support -rpath directly
- hardcode_libdir_flag_spec='-rpath $libdir'
- fi
- archive_cmds_need_lc='no'
- hardcode_libdir_separator=:
- ;;
-
- solaris*)
- no_undefined_flag=' -z defs'
- if test "$GCC" = yes; then
- wlarc='${wl}'
- archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
- else
- case `$CC -V 2>&1` in
- *"Compilers 5.0"*)
- wlarc=''
- archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
- ;;
- *)
- wlarc='${wl}'
- archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
- ;;
- esac
- fi
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_shlibpath_var=no
- case $host_os in
- solaris2.[0-5] | solaris2.[0-5].*) ;;
- *)
- # The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'. GCC discards it without `$wl',
- # but is careful enough not to reorder.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- if test "$GCC" = yes; then
- whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
- else
- whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
- fi
- ;;
- esac
- link_all_deplibs=yes
- ;;
-
- sunos4*)
- if test "x$host_vendor" = xsequent; then
- # Use $CC to link under sequent, because it throws in some extra .o
- # files that make .init and .fini sections work.
- archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
- fi
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_direct=yes
- hardcode_minus_L=yes
- hardcode_shlibpath_var=no
- ;;
-
- sysv4)
- case $host_vendor in
- sni)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes # is this really true???
- ;;
- siemens)
- ## LD is ld it makes a PLAMLIB
- ## CC just makes a GrossModule.
- archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- reload_cmds='$CC -r -o $output$reload_objs'
- hardcode_direct=no
- ;;
- motorola)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=no #Motorola manual says yes, but my tests say they lie
- ;;
- esac
- runpath_var='LD_RUN_PATH'
- hardcode_shlibpath_var=no
- ;;
-
- sysv4.3*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var=no
- export_dynamic_flag_spec='-Bexport'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var=no
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- ld_shlibs=yes
- fi
- ;;
-
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
- no_undefined_flag='${wl}-z,text'
- archive_cmds_need_lc=no
- hardcode_shlibpath_var=no
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- no_undefined_flag='${wl}-z,text'
- allow_undefined_flag='${wl}-z,nodefs'
- archive_cmds_need_lc=no
- hardcode_shlibpath_var=no
- hardcode_libdir_flag_spec='${wl}-R,$libdir'
- hardcode_libdir_separator=':'
- link_all_deplibs=yes
- export_dynamic_flag_spec='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- uts4*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_shlibpath_var=no
- ;;
-
- *)
- ld_shlibs=no
- ;;
- esac
-
- if test x$host_vendor = xsni; then
- case $host in
- sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- export_dynamic_flag_spec='${wl}-Blargedynsym'
- ;;
- esac
- fi
- fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
-$as_echo "$ld_shlibs" >&6; }
-test "$ld_shlibs" = no && can_build_shared=no
-
-with_gnu_ld=$with_gnu_ld
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc" in
-x|xyes)
- # Assume -lc should be added
- archive_cmds_need_lc=yes
-
- if test "$enable_shared" = yes && test "$GCC" = yes; then
- case $archive_cmds in
- *'~'*)
- # FIXME: we may have to deal with multi-command sequences.
- ;;
- '$CC '*)
- # Test whether the compiler implicitly links with -lc since on some
- # systems, -lgcc has to come before -lc. If gcc already passes -lc
- # to ld, don't add -lc before -lgcc.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
-$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if ${lt_cv_archive_cmds_need_lc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- $RM conftest*
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$lt_prog_compiler_wl
- pic_flag=$lt_prog_compiler_pic
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$allow_undefined_flag
- allow_undefined_flag=
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
- (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- then
- lt_cv_archive_cmds_need_lc=no
- else
- lt_cv_archive_cmds_need_lc=yes
- fi
- allow_undefined_flag=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
-$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
- archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
- ;;
- esac
- fi
- ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
-$as_echo_n "checking dynamic linker characteristics... " >&6; }
-
-if test "$GCC" = yes; then
- case $host_os in
- darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
- *) lt_awk_arg="/^libraries:/" ;;
- esac
- case $host_os in
- mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;;
- *) lt_sed_strip_eq="s,=/,/,g" ;;
- esac
- lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
- case $lt_search_path_spec in
- *\;*)
- # if the path contains ";" then we assume it to be the separator
- # otherwise default to the standard path separator (i.e. ":") - it is
- # assumed that no part of a normal pathname contains ";" but that should
- # okay in the real world where ";" in dirpaths is itself problematic.
- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
- ;;
- *)
- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
- ;;
- esac
- # Ok, now we have the path, separated by spaces, we can step through it
- # and add multilib dir if necessary.
- lt_tmp_lt_search_path_spec=
- lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
- for lt_sys_path in $lt_search_path_spec; do
- if test -d "$lt_sys_path/$lt_multi_os_dir"; then
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
- else
- test -d "$lt_sys_path" && \
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
- fi
- done
- lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
-BEGIN {RS=" "; FS="/|\n";} {
- lt_foo="";
- lt_count=0;
- for (lt_i = NF; lt_i > 0; lt_i--) {
- if ($lt_i != "" && $lt_i != ".") {
- if ($lt_i == "..") {
- lt_count++;
- } else {
- if (lt_count == 0) {
- lt_foo="/" $lt_i lt_foo;
- } else {
- lt_count--;
- }
- }
- }
- }
- if (lt_foo != "") { lt_freq[lt_foo]++; }
- if (lt_freq[lt_foo] == 1) { print lt_foo; }
-}'`
- # AWK program above erroneously prepends '/' to C:/dos/paths
- # for these hosts.
- case $host_os in
- mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
- $SED 's,/\([A-Za-z]:\),\1,g'` ;;
- esac
- sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
-else
- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
- shlibpath_var=LIBPATH
-
- # AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
-
-aix[4-9]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
- # AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- else
- # With GCC up to 2.95.x, collect2 would create an import file
- # for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
- # development snapshots of GCC prior to 3.0.
- case $host_os in
- aix4 | aix4.[01] | aix4.[01].*)
- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
- echo ' yes '
- echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
- :
- else
- can_build_shared=no
- fi
- ;;
- esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
- # soname into executable. Probably we can add versioning support to
- # collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
- # instead of lib<name>.a to let people know that these are not
- # typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
- # We preserve .a as extension for shared libraries through AIX4.2
- # and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
- shlibpath_var=LIBPATH
- fi
- ;;
-
-amigaos*)
- case $host_cpu in
- powerpc)
- # Since July 2007 AmigaOS4 officially supports .so libraries.
- # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- ;;
- m68k)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
- ;;
- esac
- ;;
-
-beos*)
- library_names_spec='${libname}${shared_ext}'
- dynamic_linker="$host_os ld.so"
- shlibpath_var=LIBRARY_PATH
- ;;
-
-bsdi[45]*)
- version_type=linux
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
- # the default ld.so.conf also contains /usr/contrib/lib and
- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
- # libtool to hard-code these into programs
- ;;
-
-cygwin* | mingw* | pw32* | cegcc*)
- version_type=windows
- shrext_cmds=".dll"
- need_version=no
- need_lib_prefix=no
-
- case $GCC,$cc_basename in
- yes,*)
- # gcc
- library_names_spec='$libname.dll.a'
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname~
- chmod a+x \$dldir/$dlname~
- if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
- eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
- fi'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $RM \$dlpath'
- shlibpath_overrides_runpath=yes
-
- case $host_os in
- cygwin*)
- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-
- sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
- ;;
- mingw* | cegcc*)
- # MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- ;;
- pw32*)
- # pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- ;;
- esac
- dynamic_linker='Win32 ld.exe'
- ;;
-
- *,cl*)
- # Native MSVC
- libname_spec='$name'
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- library_names_spec='${libname}.dll.lib'
-
- case $build_os in
- mingw*)
- sys_lib_search_path_spec=
- lt_save_ifs=$IFS
- IFS=';'
- for lt_path in $LIB
- do
- IFS=$lt_save_ifs
- # Let DOS variable expansion print the short 8.3 style file name.
- lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
- sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
- done
- IFS=$lt_save_ifs
- # Convert to MSYS style.
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
- ;;
- cygwin*)
- # Convert to unix form, then to dos form, then back to unix form
- # but this time dos style (no spaces!) so that the unix form looks
- # like /cygdrive/c/PROGRA~1:/cygdr...
- sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
- sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
- sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- ;;
- *)
- sys_lib_search_path_spec="$LIB"
- if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
- # It is most probably a Windows format PATH.
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- # FIXME: find the short name or the path components, as spaces are
- # common. (e.g. "Program Files" -> "PROGRA~1")
- ;;
- esac
-
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $RM \$dlpath'
- shlibpath_overrides_runpath=yes
- dynamic_linker='Win32 link.exe'
- ;;
-
- *)
- # Assume MSVC wrapper
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
- dynamic_linker='Win32 ld.exe'
- ;;
- esac
- # FIXME: first we should search . and the directory the executable is in
- shlibpath_var=PATH
- ;;
-
-darwin* | rhapsody*)
- dynamic_linker="$host_os dyld"
- version_type=darwin
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
- shlibpath_overrides_runpath=yes
- shlibpath_var=DYLD_LIBRARY_PATH
- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-
- sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
- ;;
-
-dgux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-freebsd1*)
- dynamic_linker=no
- ;;
-
-freebsd* | dragonfly*)
- # DragonFly does not have aout. When/if they implement a new
- # versioning mechanism, adjust this.
- if test -x /usr/bin/objformat; then
- objformat=`/usr/bin/objformat`
- else
- case $host_os in
- freebsd[123]*) objformat=aout ;;
- *) objformat=elf ;;
- esac
- fi
- version_type=freebsd-$objformat
- case $version_type in
- freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- need_version=no
- need_lib_prefix=no
- ;;
- freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
- need_version=yes
- ;;
- esac
- shlibpath_var=LD_LIBRARY_PATH
- case $host_os in
- freebsd2*)
- shlibpath_overrides_runpath=yes
- ;;
- freebsd3.[01]* | freebsdelf3.[01]*)
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
- freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
- *) # from 4.6 on, and DragonFly
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- esac
- ;;
-
-gnu*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- ;;
-
-haiku*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- dynamic_linker="$host_os runtime_loader"
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
- hardcode_into_libs=yes
- ;;
-
-hpux9* | hpux10* | hpux11*)
- # Give a soname corresponding to the major version so that dld.sl refuses to
- # link against other versions.
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- case $host_cpu in
- ia64*)
- shrext_cmds='.so'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.so"
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
- else
- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
- fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
- shrext_cmds='.sl'
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=SHLIB_PATH
- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
- esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
- postinstall_cmds='chmod 555 $lib'
- # or fails outright, so override atomically:
- install_override_mode=555
- ;;
-
-interix[3-9]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $host_os in
- nonstopux*) version_type=nonstopux ;;
- *)
- if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
- else
- version_type=irix
- fi ;;
- esac
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
- case $host_os in
- irix5* | nonstopux*)
- libsuff= shlibsuff=
- ;;
- *)
- case $LD in # libtool.m4 will add one of these switches to LD
- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
- libsuff= shlibsuff= libmagic=32-bit;;
- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
- libsuff=32 shlibsuff=N32 libmagic=N32;;
- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
- libsuff=64 shlibsuff=64 libmagic=64-bit;;
- *) libsuff= shlibsuff= libmagic=never-match;;
- esac
- ;;
- esac
- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
- hardcode_into_libs=yes
- ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
- dynamic_linker=no
- ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
-
- # Some binutils ld are patched to set DT_RUNPATH
- if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_shlibpath_overrides_runpath=no
- save_LDFLAGS=$LDFLAGS
- save_libdir=$libdir
- eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
- LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
- lt_cv_shlibpath_overrides_runpath=yes
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS=$save_LDFLAGS
- libdir=$save_libdir
-
-fi
-
- shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
-
- # This implies no fast_install, which is unacceptable.
- # Some rework will be needed to allow for fast_install
- # before this can be enabled.
- hardcode_into_libs=yes
-
- # Append ld.so.conf contents to the search path
- if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
- fi
-
- # We used to test for /lib/ld.so.1 and disable shared libraries on
- # powerpc, because MkLinux only supported shared libraries with the
- # GNU dynamic linker. Since this was broken with cross compilers,
- # most powerpc-linux boxes support dynamic linking these days and
- # people can always --disable-shared, the test was removed, and we
- # assume the GNU/Linux dynamic linker is in use.
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-netbsd*)
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- dynamic_linker='NetBSD (a.out) ld.so'
- else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='NetBSD ld.elf_so'
- fi
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
-
-newsos6)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-*nto* | *qnx*)
- version_type=qnx
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='ldqnx.so'
- ;;
-
-openbsd*)
- version_type=sunos
- sys_lib_dlsearch_path_spec="/usr/lib"
- need_lib_prefix=no
- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
- case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
- esac
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[89] | openbsd2.[89].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
- else
- shlibpath_overrides_runpath=yes
- fi
- ;;
-
-os2*)
- libname_spec='$name'
- shrext_cmds=".dll"
- need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
- dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
- ;;
-
-osf3* | osf4* | osf5*)
- version_type=osf
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
- ;;
-
-rdos*)
- dynamic_linker=no
- ;;
-
-solaris*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- # ldd complains unless libraries are executable
- postinstall_cmds='chmod +x $lib'
- ;;
-
-sunos4*)
- version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- fi
- need_version=yes
- ;;
-
-sysv4 | sysv4.3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- case $host_vendor in
- sni)
- shlibpath_overrides_runpath=no
- need_lib_prefix=no
- runpath_var=LD_RUN_PATH
- ;;
- siemens)
- need_lib_prefix=no
- ;;
- motorola)
- need_lib_prefix=no
- need_version=no
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
- ;;
- esac
- ;;
-
-sysv4*MP*)
- if test -d /usr/nec ;then
- version_type=linux
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
- shlibpath_var=LD_LIBRARY_PATH
- fi
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- version_type=freebsd-elf
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- if test "$with_gnu_ld" = yes; then
- sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
- else
- sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
- case $host_os in
- sco3.2v5*)
- sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
- ;;
- esac
- fi
- sys_lib_dlsearch_path_spec='/usr/lib'
- ;;
-
-tpf*)
- # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-uts4*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-*)
- dynamic_linker=no
- ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
-$as_echo "$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
- sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
- sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
-$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
-hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" ||
- test -n "$runpath_var" ||
- test "X$hardcode_automatic" = "Xyes" ; then
-
- # We can hardcode non-existent directories.
- if test "$hardcode_direct" != no &&
- # If the only mechanism to avoid hardcoding is shlibpath_var, we
- # have to relink, otherwise we might link with an installed library
- # when we should be linking with a yet-to-be-installed one
- ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
- test "$hardcode_minus_L" != no; then
- # Linking always hardcodes the temporary library directory.
- hardcode_action=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- hardcode_action=immediate
- fi
-else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- hardcode_action=unsupported
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
-$as_echo "$hardcode_action" >&6; }
-
-if test "$hardcode_action" = relink ||
- test "$inherit_rpath" = yes; then
- # Fast installation is not supported
- enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
- # Fast installation is not necessary
- enable_fast_install=needless
-fi
-
-
-
-
-
-
- if test "x$enable_dlopen" != xyes; then
- enable_dlopen=unknown
- enable_dlopen_self=unknown
- enable_dlopen_self_static=unknown
-else
- lt_cv_dlopen=no
- lt_cv_dlopen_libs=
-
- case $host_os in
- beos*)
- lt_cv_dlopen="load_add_on"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
- ;;
-
- mingw* | pw32* | cegcc*)
- lt_cv_dlopen="LoadLibrary"
- lt_cv_dlopen_libs=
- ;;
-
- cygwin*)
- lt_cv_dlopen="dlopen"
- lt_cv_dlopen_libs=
- ;;
-
- darwin*)
- # if libdl is installed we need to link against it
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dl_dlopen=yes
-else
- ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-
- lt_cv_dlopen="dyld"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
-
-fi
-
- ;;
-
- *)
- ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = xyes; then :
- lt_cv_dlopen="shl_load"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
-$as_echo_n "checking for shl_load in -ldld... " >&6; }
-if ${ac_cv_lib_dld_shl_load+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load ();
-int
-main ()
-{
-return shl_load ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dld_shl_load=yes
-else
- ac_cv_lib_dld_shl_load=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
-$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
- lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
-else
- ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dl_dlopen=yes
-else
- ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
-$as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if ${ac_cv_lib_svld_dlopen+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsvld $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_svld_dlopen=yes
-else
- ac_cv_lib_svld_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
-$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
-$as_echo_n "checking for dld_link in -ldld... " >&6; }
-if ${ac_cv_lib_dld_dld_link+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dld_link ();
-int
-main ()
-{
-return dld_link ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dld_dld_link=yes
-else
- ac_cv_lib_dld_dld_link=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
-$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
- lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
- ;;
- esac
-
- if test "x$lt_cv_dlopen" != xno; then
- enable_dlopen=yes
- else
- enable_dlopen=no
- fi
-
- case $lt_cv_dlopen in
- dlopen)
- save_CPPFLAGS="$CPPFLAGS"
- test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
- save_LDFLAGS="$LDFLAGS"
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
- save_LIBS="$LIBS"
- LIBS="$lt_cv_dlopen_libs $LIBS"
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
-$as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- lt_cv_dlopen_self=cross
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
- correspondingly for the symbols needed. */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
-
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else
- {
- if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- else puts (dlerror ());
- }
- /* dlclose (self); */
- }
- else
- puts (dlerror ());
-
- return status;
-}
-_LT_EOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) >&5 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
- x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
- x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
- esac
- else :
- # compilation failed
- lt_cv_dlopen_self=no
- fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
-$as_echo "$lt_cv_dlopen_self" >&6; }
-
- if test "x$lt_cv_dlopen_self" = xyes; then
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
-$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self_static+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- lt_cv_dlopen_self_static=cross
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
- correspondingly for the symbols needed. */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
-
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else
- {
- if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- else puts (dlerror ());
- }
- /* dlclose (self); */
- }
- else
- puts (dlerror ());
-
- return status;
-}
-_LT_EOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) >&5 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
- x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
- x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
- esac
- else :
- # compilation failed
- lt_cv_dlopen_self_static=no
- fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
-$as_echo "$lt_cv_dlopen_self_static" >&6; }
- fi
-
- CPPFLAGS="$save_CPPFLAGS"
- LDFLAGS="$save_LDFLAGS"
- LIBS="$save_LIBS"
- ;;
- esac
-
- case $lt_cv_dlopen_self in
- yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
- *) enable_dlopen_self=unknown ;;
- esac
-
- case $lt_cv_dlopen_self_static in
- yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
- *) enable_dlopen_self_static=unknown ;;
- esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-striplib=
-old_striplib=
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
-$as_echo_n "checking whether stripping libraries is possible... " >&6; }
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
- test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-# FIXME - insert some real tests, host_os isn't really good enough
- case $host_os in
- darwin*)
- if test -n "$STRIP" ; then
- striplib="$STRIP -x"
- old_striplib="$STRIP -S"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- fi
- ;;
- *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- ;;
- esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
- # Report which library types will actually be built
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
-$as_echo_n "checking if libtool supports shared libraries... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
-$as_echo "$can_build_shared" >&6; }
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
-$as_echo_n "checking whether to build shared libraries... " >&6; }
- test "$can_build_shared" = "no" && enable_shared=no
-
- # On AIX, shared libraries and static libraries use the same namespace, and
- # are all built from PIC.
- case $host_os in
- aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
-
- aix[4-9]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
- esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
-$as_echo "$enable_shared" >&6; }
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
-$as_echo_n "checking whether to build static libraries... " >&6; }
- # Make sure either enable_shared or enable_static is yes.
- test "$enable_shared" = yes || enable_static=yes
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
-$as_echo "$enable_static" >&6; }
-
-
-
-
-fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC="$lt_save_CC"
-
-
-
-
-
-
-
-
-
-
-
-
-
- ac_config_commands="$ac_config_commands libtool"
-
-
-
-
-# Only expand once:
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler vendor" >&5
-$as_echo_n "checking for C compiler vendor... " >&6; }
-if ${ax_cv_c_compiler_vendor+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # note: don't check for gcc first since some other compilers define __GNUC__
- vendors="intel: __ICC,__ECC,__INTEL_COMPILER
- ibm: __xlc__,__xlC__,__IBMC__,__IBMCPP__
- pathscale: __PATHCC__,__PATHSCALE__
- clang: __clang__
- gnu: __GNUC__
- sun: __SUNPRO_C,__SUNPRO_CC
- hp: __HP_cc,__HP_aCC
- dec: __DECC,__DECCXX,__DECC_VER,__DECCXX_VER
- borland: __BORLANDC__,__TURBOC__
- comeau: __COMO__
- cray: _CRAYC
- kai: __KCC
- lcc: __LCC__
- sgi: __sgi,sgi
- microsoft: _MSC_VER
- metrowerks: __MWERKS__
- watcom: __WATCOMC__
- portland: __PGI
- unknown: UNKNOWN"
- for ventest in $vendors; do
- case $ventest in
- *:) vendor=$ventest; continue ;;
- *) vencpp="defined("`echo $ventest | sed 's/,/) || defined(/g'`")" ;;
- esac
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- #if !($vencpp)
- thisisanerror;
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
- ax_cv_c_compiler_vendor=`echo $vendor | cut -d: -f1`
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_c_compiler_vendor" >&5
-$as_echo "$ax_cv_c_compiler_vendor" >&6; }
-
-
-
-
-
-
-# Check whether --enable-portable-binary was given.
-if test "${enable_portable_binary+set}" = set; then :
- enableval=$enable_portable_binary; acx_maxopt_portable=$withval
-else
- acx_maxopt_portable=no
-fi
-
-
-# Try to determine "good" native compiler flags if none specified via CFLAGS
-if test "$ac_test_CFLAGS" != "set"; then
- CFLAGS=""
- case $ax_cv_c_compiler_vendor in
- dec) CFLAGS="-newc -w0 -O5 -ansi_alias -ansi_args -fp_reorder -tune host"
- if test "x$acx_maxopt_portable" = xno; then
- CFLAGS="$CFLAGS -arch host"
- fi;;
-
- sun) CFLAGS="-native -fast -xO5 -dalign"
- if test "x$acx_maxopt_portable" = xyes; then
- CFLAGS="$CFLAGS -xarch=generic"
- fi;;
-
- hp) CFLAGS="+Oall +Optrs_ansi +DSnative"
- if test "x$acx_maxopt_portable" = xyes; then
- CFLAGS="$CFLAGS +DAportable"
- fi;;
-
- ibm) if test "x$acx_maxopt_portable" = xno; then
- xlc_opt="-qarch=auto -qtune=auto"
- else
- xlc_opt="-qtune=auto"
- fi
- as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$xlc_opt" | $as_tr_sh`
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $xlc_opt" >&5
-$as_echo_n "checking whether C compiler accepts $xlc_opt... " >&6; }
-if eval \${$as_CACHEVAR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- ax_check_save_flags=$CFLAGS
- CFLAGS="$CFLAGS $xlc_opt"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- eval "$as_CACHEVAR=yes"
-else
- eval "$as_CACHEVAR=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- CFLAGS=$ax_check_save_flags
-fi
-eval ac_res=\$$as_CACHEVAR
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
- CFLAGS="-O3 -qansialias -w $xlc_opt"
-else
- CFLAGS="-O3 -qansialias -w"
- echo "******************************************************"
- echo "* You seem to have the IBM C compiler. It is *"
- echo "* recommended for best performance that you use: *"
- echo "* *"
- echo "* CFLAGS=-O3 -qarch=xxx -qtune=xxx -qansialias -w *"
- echo "* ^^^ ^^^ *"
- echo "* where xxx is pwr2, pwr3, 604, or whatever kind of *"
- echo "* CPU you have. (Set the CFLAGS environment var. *"
- echo "* and re-run configure.) For more info, man cc. *"
- echo "******************************************************"
-fi
-
- ;;
-
- intel) CFLAGS="-O3 -ansi_alias"
- if test "x$acx_maxopt_portable" = xno; then
- icc_archflag=unknown
- icc_flags=""
- case $host_cpu in
- i686*|x86_64*)
- # icc accepts gcc assembly syntax, so these should work:
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 0 output" >&5
-$as_echo_n "checking for x86 cpuid 0 output... " >&6; }
-if ${ax_cv_gcc_x86_cpuid_0+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- ax_cv_gcc_x86_cpuid_0=unknown
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdio.h>
-int
-main ()
-{
-
- int op = 0, eax, ebx, ecx, edx;
- FILE *f;
- __asm__("cpuid"
- : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
- : "a" (op));
- f = fopen("conftest_cpuid", "w"); if (!f) return 1;
- fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
- fclose(f);
- return 0;
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ax_cv_gcc_x86_cpuid_0=`cat conftest_cpuid`; rm -f conftest_cpuid
-else
- ax_cv_gcc_x86_cpuid_0=unknown; rm -f conftest_cpuid
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_0" >&5
-$as_echo "$ax_cv_gcc_x86_cpuid_0" >&6; }
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 1 output" >&5
-$as_echo_n "checking for x86 cpuid 1 output... " >&6; }
-if ${ax_cv_gcc_x86_cpuid_1+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- ax_cv_gcc_x86_cpuid_1=unknown
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdio.h>
-int
-main ()
-{
-
- int op = 1, eax, ebx, ecx, edx;
- FILE *f;
- __asm__("cpuid"
- : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
- : "a" (op));
- f = fopen("conftest_cpuid", "w"); if (!f) return 1;
- fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
- fclose(f);
- return 0;
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ax_cv_gcc_x86_cpuid_1=`cat conftest_cpuid`; rm -f conftest_cpuid
-else
- ax_cv_gcc_x86_cpuid_1=unknown; rm -f conftest_cpuid
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_1" >&5
-$as_echo "$ax_cv_gcc_x86_cpuid_1" >&6; }
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
- case $ax_cv_gcc_x86_cpuid_0 in # see AX_GCC_ARCHFLAG
- *:756e6547:*:*) # Intel
- case $ax_cv_gcc_x86_cpuid_1 in
- *6a?:*[234]:*:*|*6[789b]?:*:*:*) icc_flags="-xK";;
- *f3[347]:*:*:*|*f41347:*:*:*) icc_flags="-xP -xN -xW -xK";;
- *f??:*:*:*) icc_flags="-xN -xW -xK";;
- esac ;;
- esac ;;
- esac
- if test "x$icc_flags" != x; then
- for flag in $icc_flags; do
- as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$flag" | $as_tr_sh`
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
-$as_echo_n "checking whether C compiler accepts $flag... " >&6; }
-if eval \${$as_CACHEVAR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- ax_check_save_flags=$CFLAGS
- CFLAGS="$CFLAGS $flag"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- eval "$as_CACHEVAR=yes"
-else
- eval "$as_CACHEVAR=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- CFLAGS=$ax_check_save_flags
-fi
-eval ac_res=\$$as_CACHEVAR
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
- icc_archflag=$flag; break
-else
- :
-fi
-
- done
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for icc architecture flag" >&5
-$as_echo_n "checking for icc architecture flag... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $icc_archflag" >&5
-$as_echo "$icc_archflag" >&6; }
- if test "x$icc_archflag" != xunknown; then
- CFLAGS="$CFLAGS $icc_archflag"
- fi
- fi
- ;;
-
- gnu)
- # default optimization flags for gcc on all systems
- CFLAGS="-O3 -fomit-frame-pointer"
-
- # -malign-double for x86 systems
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -malign-double" >&5
-$as_echo_n "checking whether C compiler accepts -malign-double... " >&6; }
-if ${ax_cv_check_cflags___malign_double+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- ax_check_save_flags=$CFLAGS
- CFLAGS="$CFLAGS -malign-double"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ax_cv_check_cflags___malign_double=yes
-else
- ax_cv_check_cflags___malign_double=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- CFLAGS=$ax_check_save_flags
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___malign_double" >&5
-$as_echo "$ax_cv_check_cflags___malign_double" >&6; }
-if test x"$ax_cv_check_cflags___malign_double" = xyes; then :
- CFLAGS="$CFLAGS -malign-double"
-else
- :
-fi
-
-
- # -fstrict-aliasing for gcc-2.95+
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fstrict-aliasing" >&5
-$as_echo_n "checking whether C compiler accepts -fstrict-aliasing... " >&6; }
-if ${ax_cv_check_cflags___fstrict_aliasing+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- ax_check_save_flags=$CFLAGS
- CFLAGS="$CFLAGS -fstrict-aliasing"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ax_cv_check_cflags___fstrict_aliasing=yes
-else
- ax_cv_check_cflags___fstrict_aliasing=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- CFLAGS=$ax_check_save_flags
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fstrict_aliasing" >&5
-$as_echo "$ax_cv_check_cflags___fstrict_aliasing" >&6; }
-if test x"$ax_cv_check_cflags___fstrict_aliasing" = xyes; then :
- CFLAGS="$CFLAGS -fstrict-aliasing"
-else
- :
-fi
-
-
- # note that we enable "unsafe" fp optimization with other compilers, too
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -ffast-math" >&5
-$as_echo_n "checking whether C compiler accepts -ffast-math... " >&6; }
-if ${ax_cv_check_cflags___ffast_math+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- ax_check_save_flags=$CFLAGS
- CFLAGS="$CFLAGS -ffast-math"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ax_cv_check_cflags___ffast_math=yes
-else
- ax_cv_check_cflags___ffast_math=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- CFLAGS=$ax_check_save_flags
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___ffast_math" >&5
-$as_echo "$ax_cv_check_cflags___ffast_math" >&6; }
-if test x"$ax_cv_check_cflags___ffast_math" = xyes; then :
- CFLAGS="$CFLAGS -ffast-math"
-else
- :
-fi
-
-
-
-
-
-
-# Check whether --with-gcc-arch was given.
-if test "${with_gcc_arch+set}" = set; then :
- withval=$with_gcc_arch; ax_gcc_arch=$withval
-else
- ax_gcc_arch=yes
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gcc architecture flag" >&5
-$as_echo_n "checking for gcc architecture flag... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5
-$as_echo "" >&6; }
-if ${ax_cv_gcc_archflag+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
-ax_cv_gcc_archflag="unknown"
-
-if test "$GCC" = yes; then
-
-if test "x$ax_gcc_arch" = xyes; then
-ax_gcc_arch=""
-if test "$cross_compiling" = no; then
-case $host_cpu in
- i[3456]86*|x86_64*) # use cpuid codes, in part from x86info-1.7 by D. Jones
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 0 output" >&5
-$as_echo_n "checking for x86 cpuid 0 output... " >&6; }
-if ${ax_cv_gcc_x86_cpuid_0+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- ax_cv_gcc_x86_cpuid_0=unknown
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdio.h>
-int
-main ()
-{
-
- int op = 0, eax, ebx, ecx, edx;
- FILE *f;
- __asm__("cpuid"
- : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
- : "a" (op));
- f = fopen("conftest_cpuid", "w"); if (!f) return 1;
- fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
- fclose(f);
- return 0;
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ax_cv_gcc_x86_cpuid_0=`cat conftest_cpuid`; rm -f conftest_cpuid
-else
- ax_cv_gcc_x86_cpuid_0=unknown; rm -f conftest_cpuid
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_0" >&5
-$as_echo "$ax_cv_gcc_x86_cpuid_0" >&6; }
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 1 output" >&5
-$as_echo_n "checking for x86 cpuid 1 output... " >&6; }
-if ${ax_cv_gcc_x86_cpuid_1+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- ax_cv_gcc_x86_cpuid_1=unknown
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdio.h>
-int
-main ()
-{
-
- int op = 1, eax, ebx, ecx, edx;
- FILE *f;
- __asm__("cpuid"
- : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
- : "a" (op));
- f = fopen("conftest_cpuid", "w"); if (!f) return 1;
- fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
- fclose(f);
- return 0;
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ax_cv_gcc_x86_cpuid_1=`cat conftest_cpuid`; rm -f conftest_cpuid
-else
- ax_cv_gcc_x86_cpuid_1=unknown; rm -f conftest_cpuid
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_1" >&5
-$as_echo "$ax_cv_gcc_x86_cpuid_1" >&6; }
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
- case $ax_cv_gcc_x86_cpuid_0 in
- *:756e6547:*:*) # Intel
- case $ax_cv_gcc_x86_cpuid_1 in
- *5[48]?:*:*:*) ax_gcc_arch="pentium-mmx pentium" ;;
- *5??:*:*:*) ax_gcc_arch=pentium ;;
- *6[3456]?:*:*:*) ax_gcc_arch="pentium2 pentiumpro" ;;
- *6a?:*[01]:*:*) ax_gcc_arch="pentium2 pentiumpro" ;;
- *6a?:*[234]:*:*) ax_gcc_arch="pentium3 pentiumpro" ;;
- *6[9d]?:*:*:*) ax_gcc_arch="pentium-m pentium3 pentiumpro" ;;
- *6[78b]?:*:*:*) ax_gcc_arch="pentium3 pentiumpro" ;;
- *6??:*:*:*) ax_gcc_arch=pentiumpro ;;
- *f3[347]:*:*:*|*f41347:*:*:*)
- case $host_cpu in
- x86_64*) ax_gcc_arch="nocona pentium4 pentiumpro" ;;
- *) ax_gcc_arch="prescott pentium4 pentiumpro" ;;
- esac ;;
- *f??:*:*:*) ax_gcc_arch="pentium4 pentiumpro";;
- esac ;;
- *:68747541:*:*) # AMD
- case $ax_cv_gcc_x86_cpuid_1 in
- *5[67]?:*:*:*) ax_gcc_arch=k6 ;;
- *5[8d]?:*:*:*) ax_gcc_arch="k6-2 k6" ;;
- *5[9]?:*:*:*) ax_gcc_arch="k6-3 k6" ;;
- *60?:*:*:*) ax_gcc_arch=k7 ;;
- *6[12]?:*:*:*) ax_gcc_arch="athlon k7" ;;
- *6[34]?:*:*:*) ax_gcc_arch="athlon-tbird k7" ;;
- *67?:*:*:*) ax_gcc_arch="athlon-4 athlon k7" ;;
- *6[68a]?:*:*:*)
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 0x80000006 output" >&5
-$as_echo_n "checking for x86 cpuid 0x80000006 output... " >&6; }
-if ${ax_cv_gcc_x86_cpuid_0x80000006+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- ax_cv_gcc_x86_cpuid_0x80000006=unknown
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdio.h>
-int
-main ()
-{
-
- int op = 0x80000006, eax, ebx, ecx, edx;
- FILE *f;
- __asm__("cpuid"
- : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
- : "a" (op));
- f = fopen("conftest_cpuid", "w"); if (!f) return 1;
- fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
- fclose(f);
- return 0;
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ax_cv_gcc_x86_cpuid_0x80000006=`cat conftest_cpuid`; rm -f conftest_cpuid
-else
- ax_cv_gcc_x86_cpuid_0x80000006=unknown; rm -f conftest_cpuid
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_0x80000006" >&5
-$as_echo "$ax_cv_gcc_x86_cpuid_0x80000006" >&6; }
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
- # L2 cache size
- case $ax_cv_gcc_x86_cpuid_0x80000006 in
- *:*:*[1-9a-f]??????:*) # (L2 = ecx >> 16) >= 256
- ax_gcc_arch="athlon-xp athlon-4 athlon k7" ;;
- *) ax_gcc_arch="athlon-4 athlon k7" ;;
- esac ;;
- *f[4cef8b]?:*:*:*) ax_gcc_arch="athlon64 k8" ;;
- *f5?:*:*:*) ax_gcc_arch="opteron k8" ;;
- *f7?:*:*:*) ax_gcc_arch="athlon-fx opteron k8" ;;
- *f??:*:*:*) ax_gcc_arch="k8" ;;
- esac ;;
- *:746e6543:*:*) # IDT
- case $ax_cv_gcc_x86_cpuid_1 in
- *54?:*:*:*) ax_gcc_arch=winchip-c6 ;;
- *58?:*:*:*) ax_gcc_arch=winchip2 ;;
- *6[78]?:*:*:*) ax_gcc_arch=c3 ;;
- *69?:*:*:*) ax_gcc_arch="c3-2 c3" ;;
- esac ;;
- esac
- if test x"$ax_gcc_arch" = x; then # fallback
- case $host_cpu in
- i586*) ax_gcc_arch=pentium ;;
- i686*) ax_gcc_arch=pentiumpro ;;
- esac
- fi
- ;;
-
- sparc*)
- # Extract the first word of "prtdiag", so it can be a program name with args.
-set dummy prtdiag; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_PRTDIAG+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $PRTDIAG in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_PRTDIAG="$PRTDIAG" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_dummy="$PATH:/usr/platform/`uname -i`/sbin/:/usr/platform/`uname -m`/sbin/"
-for as_dir in $as_dummy
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_path_PRTDIAG="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- test -z "$ac_cv_path_PRTDIAG" && ac_cv_path_PRTDIAG="prtdiag"
- ;;
-esac
-fi
-PRTDIAG=$ac_cv_path_PRTDIAG
-if test -n "$PRTDIAG"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PRTDIAG" >&5
-$as_echo "$PRTDIAG" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- cputype=`(((grep cpu /proc/cpuinfo | cut -d: -f2) ; ($PRTDIAG -v |grep -i sparc) ; grep -i cpu /var/run/dmesg.boot ) | head -n 1) 2> /dev/null`
- cputype=`echo "$cputype" | tr -d ' -' |tr $as_cr_LETTERS $as_cr_letters`
- case $cputype in
- *ultrasparciv*) ax_gcc_arch="ultrasparc4 ultrasparc3 ultrasparc v9" ;;
- *ultrasparciii*) ax_gcc_arch="ultrasparc3 ultrasparc v9" ;;
- *ultrasparc*) ax_gcc_arch="ultrasparc v9" ;;
- *supersparc*|*tms390z5[05]*) ax_gcc_arch="supersparc v8" ;;
- *hypersparc*|*rt62[056]*) ax_gcc_arch="hypersparc v8" ;;
- *cypress*) ax_gcc_arch=cypress ;;
- esac ;;
-
- alphaev5) ax_gcc_arch=ev5 ;;
- alphaev56) ax_gcc_arch=ev56 ;;
- alphapca56) ax_gcc_arch="pca56 ev56" ;;
- alphapca57) ax_gcc_arch="pca57 pca56 ev56" ;;
- alphaev6) ax_gcc_arch=ev6 ;;
- alphaev67) ax_gcc_arch=ev67 ;;
- alphaev68) ax_gcc_arch="ev68 ev67" ;;
- alphaev69) ax_gcc_arch="ev69 ev68 ev67" ;;
- alphaev7) ax_gcc_arch="ev7 ev69 ev68 ev67" ;;
- alphaev79) ax_gcc_arch="ev79 ev7 ev69 ev68 ev67" ;;
-
- powerpc*)
- cputype=`((grep cpu /proc/cpuinfo | head -n 1 | cut -d: -f2 | cut -d, -f1 | sed 's/ //g') ; /usr/bin/machine ; /bin/machine; grep CPU /var/run/dmesg.boot | head -n 1 | cut -d" " -f2) 2> /dev/null`
- cputype=`echo $cputype | sed -e 's/ppc//g;s/ *//g'`
- case $cputype in
- *750*) ax_gcc_arch="750 G3" ;;
- *740[0-9]*) ax_gcc_arch="$cputype 7400 G4" ;;
- *74[4-5][0-9]*) ax_gcc_arch="$cputype 7450 G4" ;;
- *74[0-9][0-9]*) ax_gcc_arch="$cputype G4" ;;
- *970*) ax_gcc_arch="970 G5 power4";;
- *POWER4*|*power4*|*gq*) ax_gcc_arch="power4 970";;
- *POWER5*|*power5*|*gr*|*gs*) ax_gcc_arch="power5 power4 970";;
- 603ev|8240) ax_gcc_arch="$cputype 603e 603";;
- *) ax_gcc_arch=$cputype ;;
- esac
- ax_gcc_arch="$ax_gcc_arch powerpc"
- ;;
-esac
-fi # not cross-compiling
-fi # guess arch
-
-if test "x$ax_gcc_arch" != x -a "x$ax_gcc_arch" != xno; then
-for arch in $ax_gcc_arch; do
- if test "x$acx_maxopt_portable" = xyes; then # if we require portable code
- flags="-mtune=$arch"
- # -mcpu=$arch and m$arch generate nonportable code on every arch except
- # x86. And some other arches (e.g. Alpha) don't accept -mtune. Grrr.
- case $host_cpu in i*86|x86_64*) flags="$flags -mcpu=$arch -m$arch";; esac
- else
- flags="-march=$arch -mcpu=$arch -m$arch"
- fi
- for flag in $flags; do
- as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$flag" | $as_tr_sh`
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
-$as_echo_n "checking whether C compiler accepts $flag... " >&6; }
-if eval \${$as_CACHEVAR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- ax_check_save_flags=$CFLAGS
- CFLAGS="$CFLAGS $flag"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- eval "$as_CACHEVAR=yes"
-else
- eval "$as_CACHEVAR=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- CFLAGS=$ax_check_save_flags
-fi
-eval ac_res=\$$as_CACHEVAR
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
- ax_cv_gcc_archflag=$flag; break
-else
- :
-fi
-
- done
- test "x$ax_cv_gcc_archflag" = xunknown || break
-done
-fi
-
-fi # $GCC=yes
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gcc architecture flag" >&5
-$as_echo_n "checking for gcc architecture flag... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_archflag" >&5
-$as_echo "$ax_cv_gcc_archflag" >&6; }
-if test "x$ax_cv_gcc_archflag" = xunknown; then
- :
-else
- CFLAGS="$CFLAGS $ax_cv_gcc_archflag"
-fi
-
- ;;
- esac
-
- if test -z "$CFLAGS"; then
- echo ""
- echo "********************************************************"
- echo "* WARNING: Don't know the best CFLAGS for this system *"
- echo "* Use ./configure CFLAGS=... to specify your own flags *"
- echo "* (otherwise, a default of CFLAGS=-O3 will be used) *"
- echo "********************************************************"
- echo ""
- CFLAGS="-O3"
- fi
-
- as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$CFLAGS" | $as_tr_sh`
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $CFLAGS" >&5
-$as_echo_n "checking whether C compiler accepts $CFLAGS... " >&6; }
-if eval \${$as_CACHEVAR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- ax_check_save_flags=$CFLAGS
- CFLAGS="$CFLAGS $CFLAGS"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- eval "$as_CACHEVAR=yes"
-else
- eval "$as_CACHEVAR=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- CFLAGS=$ax_check_save_flags
-fi
-eval ac_res=\$$as_CACHEVAR
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
- :
-else
-
- echo ""
- echo "********************************************************"
- echo "* WARNING: The guessed CFLAGS don't seem to work with *"
- echo "* your compiler. *"
- echo "* Use ./configure CFLAGS=... to specify your own flags *"
- echo "********************************************************"
- echo ""
- CFLAGS=""
-
-fi
-
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking CFLAGS for maximum warnings" >&5
-$as_echo_n "checking CFLAGS for maximum warnings... " >&6; }
-if ${ac_cv_cflags_warn_all+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_cflags_warn_all="no, unknown"
-ac_save_CFLAGS="$CFLAGS"
-for ac_arg in "-warn all % -warn all" "-pedantic % -Wall" "-xstrconst % -v" "-std1 % -verbose -w0 -warnprotos" "-qlanglvl=ansi % -qsrcmsg -qinfo=all:noppt:noppc:noobs:nocnd" "-ansi -ansiE % -fullwarn" "+ESlit % +w1" "-Xc % -pvctl,fullmsg" "-h conform % -h msglevel 2" #
-do CFLAGS="$ac_save_CFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_cflags_warn_all=`echo $ac_arg | sed -e 's,.*% *,,'` ; break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-CFLAGS="$ac_save_CFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cflags_warn_all" >&5
-$as_echo "$ac_cv_cflags_warn_all" >&6; }
-case ".$ac_cv_cflags_warn_all" in
- .ok|.ok,*) ;;
- .|.no|.no,*) ;;
- *) if ${CFLAGS+:} false; then :
- case " $CFLAGS " in
- *" $ac_cv_cflags_warn_all "*)
- { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS already contains \$ac_cv_cflags_warn_all"; } >&5
- (: CFLAGS already contains $ac_cv_cflags_warn_all) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- ;;
- *)
- { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS=\"\$CFLAGS \$ac_cv_cflags_warn_all\""; } >&5
- (: CFLAGS="$CFLAGS $ac_cv_cflags_warn_all") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- CFLAGS="$CFLAGS $ac_cv_cflags_warn_all"
- ;;
- esac
-else
- CFLAGS="$ac_cv_cflags_warn_all"
-fi
- ;;
-esac
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-if test "x$GCC" = "xyes"; then
- CFLAGS="$CFLAGS -fexceptions"
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
-$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
- # Check whether --enable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then :
- enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
-else
- USE_MAINTAINER_MODE=no
-fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
-$as_echo "$USE_MAINTAINER_MODE" >&6; }
- if test $USE_MAINTAINER_MODE = yes; then
- MAINTAINER_MODE_TRUE=
- MAINTAINER_MODE_FALSE='#'
-else
- MAINTAINER_MODE_TRUE='#'
- MAINTAINER_MODE_FALSE=
-fi
-
- MAINT=$MAINTAINER_MODE_TRUE
-
-
-
-for ac_header in sys/mman.h
-do :
- ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_SYS_MMAN_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_func in mmap
-do :
- ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_MMAP 1
-_ACEOF
-
-fi
-done
-
-
-ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
- libffi_header_sys_mman_h=yes
-else
- libffi_header_sys_mman_h=no
-fi
-
-
-ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
- libffi_func_mmap=yes
-else
- libffi_func_mmap=no
-fi
-
-if test "$libffi_header_sys_mman_h" != yes \
- || test "$libffi_func_mmap" != yes; then
- ac_cv_func_mmap_file=no
- ac_cv_func_mmap_dev_zero=no
- ac_cv_func_mmap_anon=no
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether read-only mmap of a plain file works" >&5
-$as_echo_n "checking whether read-only mmap of a plain file works... " >&6; }
-if ${ac_cv_func_mmap_file+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Add a system to this blacklist if
- # mmap(0, stat_size, PROT_READ, MAP_PRIVATE, fd, 0) doesn't return a
- # memory area containing the same data that you'd get if you applied
- # read() to the same fd. The only system known to have a problem here
- # is VMS, where text files have record structure.
- case "$host_os" in
- vms* | ultrix*)
- ac_cv_func_mmap_file=no ;;
- *)
- ac_cv_func_mmap_file=yes;;
- esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_file" >&5
-$as_echo "$ac_cv_func_mmap_file" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap from /dev/zero works" >&5
-$as_echo_n "checking whether mmap from /dev/zero works... " >&6; }
-if ${ac_cv_func_mmap_dev_zero+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Add a system to this blacklist if it has mmap() but /dev/zero
- # does not exist, or if mmapping /dev/zero does not give anonymous
- # zeroed pages with both the following properties:
- # 1. If you map N consecutive pages in with one call, and then
- # unmap any subset of those pages, the pages that were not
- # explicitly unmapped remain accessible.
- # 2. If you map two adjacent blocks of memory and then unmap them
- # both at once, they must both go away.
- # Systems known to be in this category are Windows (all variants),
- # VMS, and Darwin.
- case "$host_os" in
- vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00)
- ac_cv_func_mmap_dev_zero=no ;;
- *)
- ac_cv_func_mmap_dev_zero=yes;;
- esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_dev_zero" >&5
-$as_echo "$ac_cv_func_mmap_dev_zero" >&6; }
-
- # Unlike /dev/zero, the MAP_ANON(YMOUS) defines can be probed for.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANON(YMOUS)" >&5
-$as_echo_n "checking for MAP_ANON(YMOUS)... " >&6; }
-if ${ac_cv_decl_map_anon+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <unistd.h>
-
-#ifndef MAP_ANONYMOUS
-#define MAP_ANONYMOUS MAP_ANON
-#endif
-
-int
-main ()
-{
-int n = MAP_ANONYMOUS;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_decl_map_anon=yes
-else
- ac_cv_decl_map_anon=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_decl_map_anon" >&5
-$as_echo "$ac_cv_decl_map_anon" >&6; }
-
- if test $ac_cv_decl_map_anon = no; then
- ac_cv_func_mmap_anon=no
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap with MAP_ANON(YMOUS) works" >&5
-$as_echo_n "checking whether mmap with MAP_ANON(YMOUS) works... " >&6; }
-if ${ac_cv_func_mmap_anon+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Add a system to this blacklist if it has mmap() and MAP_ANON or
- # MAP_ANONYMOUS, but using mmap(..., MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
- # doesn't give anonymous zeroed pages with the same properties listed
- # above for use of /dev/zero.
- # Systems known to be in this category are Windows, VMS, and SCO Unix.
- case "$host_os" in
- vms* | cygwin* | pe | mingw* | sco* | udk* )
- ac_cv_func_mmap_anon=no ;;
- *)
- ac_cv_func_mmap_anon=yes;;
- esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_anon" >&5
-$as_echo "$ac_cv_func_mmap_anon" >&6; }
- fi
-fi
-
-if test $ac_cv_func_mmap_file = yes; then
-
-$as_echo "#define HAVE_MMAP_FILE 1" >>confdefs.h
-
-fi
-if test $ac_cv_func_mmap_dev_zero = yes; then
-
-$as_echo "#define HAVE_MMAP_DEV_ZERO 1" >>confdefs.h
-
-fi
-if test $ac_cv_func_mmap_anon = yes; then
-
-$as_echo "#define HAVE_MMAP_ANON 1" >>confdefs.h
-
-fi
-
-
- if test -d $srcdir/testsuite; then
- TESTSUBDIR_TRUE=
- TESTSUBDIR_FALSE='#'
-else
- TESTSUBDIR_TRUE='#'
- TESTSUBDIR_FALSE=
-fi
-
-
-TARGETDIR="unknown"
-case "$host" in
- alpha*-*-*)
- TARGET=ALPHA; TARGETDIR=alpha;
- # Support 128-bit long double, changeable via command-line switch.
- HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
- ;;
-
- arm*-*-*)
- TARGET=ARM; TARGETDIR=arm
- ;;
-
- amd64-*-freebsd* | amd64-*-openbsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- amd64-*-freebsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- avr32*-*-*)
- TARGET=AVR32; TARGETDIR=avr32
- ;;
-
- cris-*-*)
- TARGET=LIBFFI_CRIS; TARGETDIR=cris
- ;;
-
- frv-*-*)
- TARGET=FRV; TARGETDIR=frv
- ;;
-
- hppa*-*-linux* | parisc*-*-linux* | hppa*-*-openbsd*)
- TARGET=PA_LINUX; TARGETDIR=pa
- ;;
- hppa*64-*-hpux*)
- TARGET=PA64_HPUX; TARGETDIR=pa
- ;;
- hppa*-*-hpux*)
- TARGET=PA_HPUX; TARGETDIR=pa
- ;;
-
- i?86-*-freebsd* | i?86-*-openbsd*)
- TARGET=X86_FREEBSD; TARGETDIR=x86
- ;;
- i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2* | i?86-*-interix*)
- TARGET=X86_WIN32; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
- i?86-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
- i?86-*-solaris2.1[0-9]*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
- i?86-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- ia64*-*-*)
- TARGET=IA64; TARGETDIR=ia64
- ;;
-
- m32r*-*-*)
- TARGET=M32R; TARGETDIR=m32r
- ;;
-
- m68k-*-*)
- TARGET=M68K; TARGETDIR=m68k
- ;;
-
- mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
- TARGET=MIPS; TARGETDIR=mips
- ;;
- mips*-*-linux* | mips*-*-openbsd*)
- # Support 128-bit long double for NewABI.
- HAVE_LONG_DOUBLE='defined(__mips64)'
- TARGET=MIPS; TARGETDIR=mips
- ;;
-
- moxie-*-*)
- TARGET=MOXIE; TARGETDIR=moxie
- ;;
-
- powerpc*-*-linux* | powerpc-*-sysv*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-amigaos*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-beos*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-darwin* | powerpc64-*-darwin*)
- TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
- ;;
- powerpc-*-aix* | rs6000-*-aix*)
- TARGET=POWERPC_AIX; TARGETDIR=powerpc
- ;;
- powerpc-*-freebsd* | powerpc-*-openbsd*)
- TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
- ;;
- powerpc64-*-freebsd*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc*-*-rtems*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
-
- s390-*-* | s390x-*-*)
- TARGET=S390; TARGETDIR=s390
- ;;
-
- sh-*-* | sh[34]*-*-*)
- TARGET=SH; TARGETDIR=sh
- ;;
- sh64-*-* | sh5*-*-*)
- TARGET=SH64; TARGETDIR=sh64
- ;;
-
- sparc*-*-*)
- TARGET=SPARC; TARGETDIR=sparc
- ;;
-
- x86_64-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
-
- x86_64-*-cygwin* | x86_64-*-mingw*)
- TARGET=X86_WIN64; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
-
- x86_64-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-esac
-
-
-
-
-if test $TARGETDIR = unknown; then
- as_fn_error $? "\"libffi has not been ported to $host.\"" "$LINENO" 5
-fi
-
- if test x$TARGET = xMIPS; then
- MIPS_TRUE=
- MIPS_FALSE='#'
-else
- MIPS_TRUE='#'
- MIPS_FALSE=
-fi
-
- if test x$TARGET = xSPARC; then
- SPARC_TRUE=
- SPARC_FALSE='#'
-else
- SPARC_TRUE='#'
- SPARC_FALSE=
-fi
-
- if test x$TARGET = xX86; then
- X86_TRUE=
- X86_FALSE='#'
-else
- X86_TRUE='#'
- X86_FALSE=
-fi
-
- if test x$TARGET = xX86_FREEBSD; then
- X86_FREEBSD_TRUE=
- X86_FREEBSD_FALSE='#'
-else
- X86_FREEBSD_TRUE='#'
- X86_FREEBSD_FALSE=
-fi
-
- if test x$TARGET = xX86_WIN32; then
- X86_WIN32_TRUE=
- X86_WIN32_FALSE='#'
-else
- X86_WIN32_TRUE='#'
- X86_WIN32_FALSE=
-fi
-
- if test x$TARGET = xX86_WIN64; then
- X86_WIN64_TRUE=
- X86_WIN64_FALSE='#'
-else
- X86_WIN64_TRUE='#'
- X86_WIN64_FALSE=
-fi
-
- if test x$TARGET = xX86_DARWIN; then
- X86_DARWIN_TRUE=
- X86_DARWIN_FALSE='#'
-else
- X86_DARWIN_TRUE='#'
- X86_DARWIN_FALSE=
-fi
-
- if test x$TARGET = xALPHA; then
- ALPHA_TRUE=
- ALPHA_FALSE='#'
-else
- ALPHA_TRUE='#'
- ALPHA_FALSE=
-fi
-
- if test x$TARGET = xIA64; then
- IA64_TRUE=
- IA64_FALSE='#'
-else
- IA64_TRUE='#'
- IA64_FALSE=
-fi
-
- if test x$TARGET = xM32R; then
- M32R_TRUE=
- M32R_FALSE='#'
-else
- M32R_TRUE='#'
- M32R_FALSE=
-fi
-
- if test x$TARGET = xM68K; then
- M68K_TRUE=
- M68K_FALSE='#'
-else
- M68K_TRUE='#'
- M68K_FALSE=
-fi
-
- if test x$TARGET = xMOXIE; then
- MOXIE_TRUE=
- MOXIE_FALSE='#'
-else
- MOXIE_TRUE='#'
- MOXIE_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC; then
- POWERPC_TRUE=
- POWERPC_FALSE='#'
-else
- POWERPC_TRUE='#'
- POWERPC_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_AIX; then
- POWERPC_AIX_TRUE=
- POWERPC_AIX_FALSE='#'
-else
- POWERPC_AIX_TRUE='#'
- POWERPC_AIX_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_DARWIN; then
- POWERPC_DARWIN_TRUE=
- POWERPC_DARWIN_FALSE='#'
-else
- POWERPC_DARWIN_TRUE='#'
- POWERPC_DARWIN_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_FREEBSD; then
- POWERPC_FREEBSD_TRUE=
- POWERPC_FREEBSD_FALSE='#'
-else
- POWERPC_FREEBSD_TRUE='#'
- POWERPC_FREEBSD_FALSE=
-fi
-
- if test x$TARGET = xARM; then
- ARM_TRUE=
- ARM_FALSE='#'
-else
- ARM_TRUE='#'
- ARM_FALSE=
-fi
-
- if test x$TARGET = xAVR32; then
- AVR32_TRUE=
- AVR32_FALSE='#'
-else
- AVR32_TRUE='#'
- AVR32_FALSE=
-fi
-
- if test x$TARGET = xLIBFFI_CRIS; then
- LIBFFI_CRIS_TRUE=
- LIBFFI_CRIS_FALSE='#'
-else
- LIBFFI_CRIS_TRUE='#'
- LIBFFI_CRIS_FALSE=
-fi
-
- if test x$TARGET = xFRV; then
- FRV_TRUE=
- FRV_FALSE='#'
-else
- FRV_TRUE='#'
- FRV_FALSE=
-fi
-
- if test x$TARGET = xS390; then
- S390_TRUE=
- S390_FALSE='#'
-else
- S390_TRUE='#'
- S390_FALSE=
-fi
-
- if test x$TARGET = xX86_64; then
- X86_64_TRUE=
- X86_64_FALSE='#'
-else
- X86_64_TRUE='#'
- X86_64_FALSE=
-fi
-
- if test x$TARGET = xSH; then
- SH_TRUE=
- SH_FALSE='#'
-else
- SH_TRUE='#'
- SH_FALSE=
-fi
-
- if test x$TARGET = xSH64; then
- SH64_TRUE=
- SH64_FALSE='#'
-else
- SH64_TRUE='#'
- SH64_FALSE=
-fi
-
- if test x$TARGET = xPA_LINUX; then
- PA_LINUX_TRUE=
- PA_LINUX_FALSE='#'
-else
- PA_LINUX_TRUE='#'
- PA_LINUX_FALSE=
-fi
-
- if test x$TARGET = xPA_HPUX; then
- PA_HPUX_TRUE=
- PA_HPUX_FALSE='#'
-else
- PA_HPUX_TRUE='#'
- PA_HPUX_FALSE=
-fi
-
- if test x$TARGET = xPA64_HPUX; then
- PA64_HPUX_TRUE=
- PA64_HPUX_FALSE='#'
-else
- PA64_HPUX_TRUE='#'
- PA64_HPUX_FALSE=
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_header_stdc=yes
-else
- ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then :
- :
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- return 2;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-for ac_func in memcpy
-do :
- ac_fn_c_check_func "$LINENO" "memcpy" "ac_cv_func_memcpy"
-if test "x$ac_cv_func_memcpy" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_MEMCPY 1
-_ACEOF
-
-fi
-done
-
-ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-if test "x$ac_cv_type_size_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define size_t unsigned int
-_ACEOF
-
-fi
-
-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
-# for constant arguments. Useless!
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
-$as_echo_n "checking for working alloca.h... " >&6; }
-if ${ac_cv_working_alloca_h+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <alloca.h>
-int
-main ()
-{
-char *p = (char *) alloca (2 * sizeof (int));
- if (p) return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_working_alloca_h=yes
-else
- ac_cv_working_alloca_h=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
-$as_echo "$ac_cv_working_alloca_h" >&6; }
-if test $ac_cv_working_alloca_h = yes; then
-
-$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
-$as_echo_n "checking for alloca... " >&6; }
-if ${ac_cv_func_alloca_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# ifdef _MSC_VER
-# include <malloc.h>
-# define alloca _alloca
-# else
-# ifdef HAVE_ALLOCA_H
-# include <alloca.h>
-# else
-# ifdef _AIX
- #pragma alloca
-# else
-# ifndef alloca /* predefined by HP cc +Olibcalls */
-void *alloca (size_t);
-# endif
-# endif
-# endif
-# endif
-#endif
-
-int
-main ()
-{
-char *p = (char *) alloca (1);
- if (p) return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_func_alloca_works=yes
-else
- ac_cv_func_alloca_works=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
-$as_echo "$ac_cv_func_alloca_works" >&6; }
-
-if test $ac_cv_func_alloca_works = yes; then
-
-$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
-
-else
- # The SVR3 libPW and SVR4 libucb both contain incompatible functions
-# that cause trouble. Some versions do not even contain alloca or
-# contain a buggy version. If you still want to use their alloca,
-# use ar to extract alloca.o from them instead of compiling alloca.c.
-
-ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
-
-$as_echo "#define C_ALLOCA 1" >>confdefs.h
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
-$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
-if ${ac_cv_os_cray+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#if defined CRAY && ! defined CRAY2
-webecray
-#else
-wenotbecray
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "webecray" >/dev/null 2>&1; then :
- ac_cv_os_cray=yes
-else
- ac_cv_os_cray=no
-fi
-rm -f conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5
-$as_echo "$ac_cv_os_cray" >&6; }
-if test $ac_cv_os_cray = yes; then
- for ac_func in _getb67 GETB67 getb67; do
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-
-cat >>confdefs.h <<_ACEOF
-#define CRAY_STACKSEG_END $ac_func
-_ACEOF
-
- break
-fi
-
- done
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
-$as_echo_n "checking stack direction for C alloca... " >&6; }
-if ${ac_cv_c_stack_direction+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- ac_cv_c_stack_direction=0
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
-int
-find_stack_direction ()
-{
- static char *addr = 0;
- auto char dummy;
- if (addr == 0)
- {
- addr = &dummy;
- return find_stack_direction ();
- }
- else
- return (&dummy > addr) ? 1 : -1;
-}
-
-int
-main ()
-{
- return find_stack_direction () < 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_c_stack_direction=1
-else
- ac_cv_c_stack_direction=-1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
-$as_echo "$ac_cv_c_stack_direction" >&6; }
-cat >>confdefs.h <<_ACEOF
-#define STACK_DIRECTION $ac_cv_c_stack_direction
-_ACEOF
-
-
-fi
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of double" >&5
-$as_echo_n "checking size of double... " >&6; }
-if ${ac_cv_sizeof_double+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (double))" "ac_cv_sizeof_double" "$ac_includes_default"; then :
-
-else
- if test "$ac_cv_type_double" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (double)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_double=0
- fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_double" >&5
-$as_echo "$ac_cv_sizeof_double" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_DOUBLE $ac_cv_sizeof_double
-_ACEOF
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long double" >&5
-$as_echo_n "checking size of long double... " >&6; }
-if ${ac_cv_sizeof_long_double+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long double))" "ac_cv_sizeof_long_double" "$ac_includes_default"; then :
-
-else
- if test "$ac_cv_type_long_double" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (long double)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_long_double=0
- fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_double" >&5
-$as_echo "$ac_cv_sizeof_long_double" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_LONG_DOUBLE $ac_cv_sizeof_long_double
-_ACEOF
-
-
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
- HAVE_LONG_DOUBLE=0
- if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
- if test $ac_cv_sizeof_long_double != 0; then
- HAVE_LONG_DOUBLE=1
-
-$as_echo "#define HAVE_LONG_DOUBLE 1" >>confdefs.h
-
- fi
- fi
-fi
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
-$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if ${ac_cv_c_bigendian+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_c_bigendian=unknown
- # See if we're dealing with a universal compiler.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifndef __APPLE_CC__
- not a universal capable compiler
- #endif
- typedef int dummy;
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
- # Check for potential -arch flags. It is not universal unless
- # there are at least two -arch flags with different values.
- ac_arch=
- ac_prev=
- for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
- if test -n "$ac_prev"; then
- case $ac_word in
- i?86 | x86_64 | ppc | ppc64)
- if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
- ac_arch=$ac_word
- else
- ac_cv_c_bigendian=universal
- break
- fi
- ;;
- esac
- ac_prev=
- elif test "x$ac_word" = "x-arch"; then
- ac_prev=arch
- fi
- done
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- if test $ac_cv_c_bigendian = unknown; then
- # See if sys/param.h defines the BYTE_ORDER macro.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
- #include <sys/param.h>
-
-int
-main ()
-{
-#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
- && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
- && LITTLE_ENDIAN)
- bogus endian macros
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- # It does; now see whether it defined to BIG_ENDIAN or not.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
- #include <sys/param.h>
-
-int
-main ()
-{
-#if BYTE_ORDER != BIG_ENDIAN
- not big endian
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_c_bigendian=yes
-else
- ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- if test $ac_cv_c_bigendian = unknown; then
- # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <limits.h>
-
-int
-main ()
-{
-#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
- bogus endian macros
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- # It does; now see whether it defined to _BIG_ENDIAN or not.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <limits.h>
-
-int
-main ()
-{
-#ifndef _BIG_ENDIAN
- not big endian
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_c_bigendian=yes
-else
- ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- if test $ac_cv_c_bigendian = unknown; then
- # Compile a test program.
- if test "$cross_compiling" = yes; then :
- # Try to guess by grepping values from an object file.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-short int ascii_mm[] =
- { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
- short int ascii_ii[] =
- { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
- int use_ascii (int i) {
- return ascii_mm[i] + ascii_ii[i];
- }
- short int ebcdic_ii[] =
- { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
- short int ebcdic_mm[] =
- { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
- int use_ebcdic (int i) {
- return ebcdic_mm[i] + ebcdic_ii[i];
- }
- extern int foo;
-
-int
-main ()
-{
-return use_ascii (foo) == use_ebcdic (foo);
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
- ac_cv_c_bigendian=yes
- fi
- if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
- if test "$ac_cv_c_bigendian" = unknown; then
- ac_cv_c_bigendian=no
- else
- # finding both strings is unlikely to happen, but who knows?
- ac_cv_c_bigendian=unknown
- fi
- fi
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-
- /* Are we little or big endian? From Harbison&Steele. */
- union
- {
- long int l;
- char c[sizeof (long int)];
- } u;
- u.l = 1;
- return u.c[sizeof (long int) - 1] == 1;
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_c_bigendian=no
-else
- ac_cv_c_bigendian=yes
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
-$as_echo "$ac_cv_c_bigendian" >&6; }
- case $ac_cv_c_bigendian in #(
- yes)
- $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
-;; #(
- no)
- ;; #(
- universal)
-
-$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
-
- ;; #(
- *)
- as_fn_error $? "unknown endianness
- presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
- esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .cfi pseudo-op support" >&5
-$as_echo_n "checking assembler .cfi pseudo-op support... " >&6; }
-if ${gcc_cv_as_cfi_pseudo_op+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- gcc_cv_as_cfi_pseudo_op=unknown
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".cfi_startproc\n\t.cfi_endproc");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- gcc_cv_as_cfi_pseudo_op=yes
-else
- gcc_cv_as_cfi_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_cfi_pseudo_op" >&5
-$as_echo "$gcc_cv_as_cfi_pseudo_op" >&6; }
- if test "x$gcc_cv_as_cfi_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_CFI_PSEUDO_OP 1" >>confdefs.h
-
- fi
-
-
-if test x$TARGET = xSPARC; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler and linker support unaligned pc related relocs" >&5
-$as_echo_n "checking assembler and linker support unaligned pc related relocs... " >&6; }
-if ${libffi_cv_as_sparc_ua_pcrel+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- save_CFLAGS="$CFLAGS"
- save_LDFLAGS="$LDFLAGS"
- CFLAGS="$CFLAGS -fpic"
- LDFLAGS="$LDFLAGS -shared"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- libffi_cv_as_sparc_ua_pcrel=yes
-else
- libffi_cv_as_sparc_ua_pcrel=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- CFLAGS="$save_CFLAGS"
- LDFLAGS="$save_LDFLAGS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_sparc_ua_pcrel" >&5
-$as_echo "$libffi_cv_as_sparc_ua_pcrel" >&6; }
- if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
-
-$as_echo "#define HAVE_AS_SPARC_UA_PCREL 1" >>confdefs.h
-
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .register pseudo-op support" >&5
-$as_echo_n "checking assembler .register pseudo-op support... " >&6; }
-if ${libffi_cv_as_register_pseudo_op+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_register_pseudo_op=unknown
- # Check if we have .register
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".register %g2, #scratch");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- libffi_cv_as_register_pseudo_op=yes
-else
- libffi_cv_as_register_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_register_pseudo_op" >&5
-$as_echo "$libffi_cv_as_register_pseudo_op" >&6; }
- if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_REGISTER_PSEUDO_OP 1" >>confdefs.h
-
- fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports pc related relocs" >&5
-$as_echo_n "checking assembler supports pc related relocs... " >&6; }
-if ${libffi_cv_as_x86_pcrel+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_x86_pcrel=no
- echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
- if $CC $CFLAGS -c conftest.s > /dev/null; then
- libffi_cv_as_x86_pcrel=yes
- fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_x86_pcrel" >&5
-$as_echo "$libffi_cv_as_x86_pcrel" >&6; }
- if test "x$libffi_cv_as_x86_pcrel" = xyes; then
-
-$as_echo "#define HAVE_AS_X86_PCREL 1" >>confdefs.h
-
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .ascii pseudo-op support" >&5
-$as_echo_n "checking assembler .ascii pseudo-op support... " >&6; }
-if ${libffi_cv_as_ascii_pseudo_op+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_ascii_pseudo_op=unknown
- # Check if we have .ascii
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".ascii \\"string\\"");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- libffi_cv_as_ascii_pseudo_op=yes
-else
- libffi_cv_as_ascii_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_ascii_pseudo_op" >&5
-$as_echo "$libffi_cv_as_ascii_pseudo_op" >&6; }
- if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_ASCII_PSEUDO_OP 1" >>confdefs.h
-
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .string pseudo-op support" >&5
-$as_echo_n "checking assembler .string pseudo-op support... " >&6; }
-if ${libffi_cv_as_string_pseudo_op+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_string_pseudo_op=unknown
- # Check if we have .string
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".string \\"string\\"");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- libffi_cv_as_string_pseudo_op=yes
-else
- libffi_cv_as_string_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_string_pseudo_op" >&5
-$as_echo "$libffi_cv_as_string_pseudo_op" >&6; }
- if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_STRING_PSEUDO_OP 1" >>confdefs.h
-
- fi
-fi
-
-if test x$TARGET = xX86_WIN64; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ prefix in compiled symbols" >&5
-$as_echo_n "checking for _ prefix in compiled symbols... " >&6; }
-if ${lt_cv_sys_symbol_underscore+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_sys_symbol_underscore=no
- cat > conftest.$ac_ext <<_LT_EOF
-void nm_test_func(){}
-int main(){nm_test_func;return 0;}
-_LT_EOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- # Now try to grab the symbols.
- ac_nlist=conftest.nm
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist\""; } >&5
- (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s "$ac_nlist"; then
- # See whether the symbols have a leading underscore.
- if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then
- lt_cv_sys_symbol_underscore=yes
- else
- if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then
- :
- else
- echo "configure: cannot find nm_test_func in $ac_nlist" >&5
- fi
- fi
- else
- echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&5
- fi
- else
- echo "configure: failed program was:" >&5
- cat conftest.c >&5
- fi
- rm -rf conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_symbol_underscore" >&5
-$as_echo "$lt_cv_sys_symbol_underscore" >&6; }
- sys_symbol_underscore=$lt_cv_sys_symbol_underscore
-
-
- if test "x$sys_symbol_underscore" = xyes; then
-
-$as_echo "#define SYMBOL_UNDERSCORE 1" >>confdefs.h
-
- fi
-fi
-
-
-FFI_EXEC_TRAMPOLINE_TABLE=0
-case "$target" in
- *arm*-apple-darwin*)
- FFI_EXEC_TRAMPOLINE_TABLE=1
-
-$as_echo "#define FFI_EXEC_TRAMPOLINE_TABLE 1" >>confdefs.h
-
- ;;
- *-apple-darwin1[10]* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
-
-$as_echo "#define FFI_MMAP_EXEC_WRIT 1" >>confdefs.h
-
- ;;
-esac
- if test x$FFI_EXEC_TRAMPOLINE_TABLE = x1; then
- FFI_EXEC_TRAMPOLINE_TABLE_TRUE=
- FFI_EXEC_TRAMPOLINE_TABLE_FALSE='#'
-else
- FFI_EXEC_TRAMPOLINE_TABLE_TRUE='#'
- FFI_EXEC_TRAMPOLINE_TABLE_FALSE=
-fi
-
-
-
-if test x$TARGET = xX86_64; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports unwind section type" >&5
-$as_echo_n "checking assembler supports unwind section type... " >&6; }
-if ${libffi_cv_as_x86_64_unwind_section_type+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_x86_64_unwind_section_type=yes
- echo '.section .eh_frame,"a",@unwind' > conftest.s
- if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
- libffi_cv_as_x86_64_unwind_section_type=no
- fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_x86_64_unwind_section_type" >&5
-$as_echo "$libffi_cv_as_x86_64_unwind_section_type" >&6; }
- if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
-
-$as_echo "#define HAVE_AS_X86_64_UNWIND_SECTION_TYPE 1" >>confdefs.h
-
- fi
-fi
-
-if test "x$GCC" = "xyes"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether .eh_frame section should be read-only" >&5
-$as_echo_n "checking whether .eh_frame section should be read-only... " >&6; }
-if ${libffi_cv_ro_eh_frame+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_ro_eh_frame=no
- echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
- if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
- if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- elif grep '.section.*eh_frame.*#alloc' conftest.c \
- | grep -v '#write' > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- fi
- fi
- rm -f conftest.*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_ro_eh_frame" >&5
-$as_echo "$libffi_cv_ro_eh_frame" >&6; }
- if test "x$libffi_cv_ro_eh_frame" = xyes; then
-
-$as_echo "#define HAVE_RO_EH_FRAME 1" >>confdefs.h
-
-
-$as_echo "#define EH_FRAME_FLAGS \"a\"" >>confdefs.h
-
- else
-
-$as_echo "#define EH_FRAME_FLAGS \"aw\"" >>confdefs.h
-
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __attribute__((visibility(\"hidden\")))" >&5
-$as_echo_n "checking for __attribute__((visibility(\"hidden\")))... " >&6; }
-if ${libffi_cv_hidden_visibility_attribute+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1 ; }' > conftest.c
- libffi_cv_hidden_visibility_attribute=no
- if { ac_try='${CC-cc} -Werror -S conftest.c -o conftest.s 1>&5'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- if grep '\.hidden.*foo' conftest.s >/dev/null; then
- libffi_cv_hidden_visibility_attribute=yes
- fi
- fi
- rm -f conftest.*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_hidden_visibility_attribute" >&5
-$as_echo "$libffi_cv_hidden_visibility_attribute" >&6; }
- if test $libffi_cv_hidden_visibility_attribute = yes; then
-
-$as_echo "#define HAVE_HIDDEN_VISIBILITY_ATTRIBUTE 1" >>confdefs.h
-
- fi
-fi
-
-
-
-
-
-
-
-
-# Check whether --enable-debug was given.
-if test "${enable_debug+set}" = set; then :
- enableval=$enable_debug; if test "$enable_debug" = "yes"; then
-
-$as_echo "#define FFI_DEBUG 1" >>confdefs.h
-
- fi
-fi
-
- if test "$enable_debug" = "yes"; then
- FFI_DEBUG_TRUE=
- FFI_DEBUG_FALSE='#'
-else
- FFI_DEBUG_TRUE='#'
- FFI_DEBUG_FALSE=
-fi
-
-
-# Check whether --enable-structs was given.
-if test "${enable_structs+set}" = set; then :
- enableval=$enable_structs; if test "$enable_structs" = "no"; then
-
-$as_echo "#define FFI_NO_STRUCTS 1" >>confdefs.h
-
- fi
-fi
-
-
-# Check whether --enable-raw-api was given.
-if test "${enable_raw_api+set}" = set; then :
- enableval=$enable_raw_api; if test "$enable_raw_api" = "no"; then
-
-$as_echo "#define FFI_NO_RAW_API 1" >>confdefs.h
-
- fi
-fi
-
-
-# Check whether --enable-purify-safety was given.
-if test "${enable_purify_safety+set}" = set; then :
- enableval=$enable_purify_safety; if test "$enable_purify_safety" = "yes"; then
-
-$as_echo "#define USING_PURIFY 1" >>confdefs.h
-
- fi
-fi
-
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- toolexecdir='$(exec_prefix)/$(target_alias)'
- toolexeclibdir='$(toolexecdir)/lib'
- else
- toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
- toolexeclibdir='$(libdir)'
- fi
- multi_os_directory=`$CC -print-multi-os-directory`
- case $multi_os_directory in
- .) ;; # Avoid trailing /.
- *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
- esac
-
-
-fi
-
-if test "${multilib}" = "yes"; then
- multilib_arg="--enable-multilib"
-else
- multilib_arg=
-fi
-
-ac_config_commands="$ac_config_commands include"
-
-ac_config_commands="$ac_config_commands src"
-
-
-ac_config_links="$ac_config_links include/ffitarget.h:src/$TARGETDIR/ffitarget.h"
-
-
-ac_config_files="$ac_config_files include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc"
-
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems. If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
- for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
-
- (set) 2>&1 |
- case $as_nl`(ac_space=' '; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- # `set' does not quote correctly, so add quotes: double-quote
- # substitution turns \\\\ into \\, and sed turns \\ into \.
- sed -n \
- "s/'/'\\\\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- ;; #(
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-) |
- sed '
- /^ac_cv_env_/b end
- t clear
- :clear
- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
- t end
- s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
- if test -w "$cache_file"; then
- if test "x$cache_file" != "x/dev/null"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
- if test ! -f "$cache_file" || test -h "$cache_file"; then
- cat confcache >"$cache_file"
- else
- case $cache_file in #(
- */* | ?:*)
- mv -f confcache "$cache_file"$$ &&
- mv -f "$cache_file"$$ "$cache_file" ;; #(
- *)
- mv -f confcache "$cache_file" ;;
- esac
- fi
- fi
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
- fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-U=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
- # 1. Remove the extension, and $U if already installed.
- ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
- ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
- # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
- # will be set to the directory where LIBOBJS objects are built.
- as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
- as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
- if test -n "$EXEEXT"; then
- am__EXEEXT_TRUE=
- am__EXEEXT_FALSE='#'
-else
- am__EXEEXT_TRUE='#'
- am__EXEEXT_FALSE=
-fi
-
-if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
- as_fn_error $? "conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
- as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCCAS_TRUE}" && test -z "${am__fastdepCCAS_FALSE}"; then
- as_fn_error $? "conditional \"am__fastdepCCAS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
- as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${TESTSUBDIR_TRUE}" && test -z "${TESTSUBDIR_FALSE}"; then
- as_fn_error $? "conditional \"TESTSUBDIR\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MIPS_TRUE}" && test -z "${MIPS_FALSE}"; then
- as_fn_error $? "conditional \"MIPS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SPARC_TRUE}" && test -z "${SPARC_FALSE}"; then
- as_fn_error $? "conditional \"SPARC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_TRUE}" && test -z "${X86_FALSE}"; then
- as_fn_error $? "conditional \"X86\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_FREEBSD_TRUE}" && test -z "${X86_FREEBSD_FALSE}"; then
- as_fn_error $? "conditional \"X86_FREEBSD\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_WIN32_TRUE}" && test -z "${X86_WIN32_FALSE}"; then
- as_fn_error $? "conditional \"X86_WIN32\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_WIN64_TRUE}" && test -z "${X86_WIN64_FALSE}"; then
- as_fn_error $? "conditional \"X86_WIN64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_DARWIN_TRUE}" && test -z "${X86_DARWIN_FALSE}"; then
- as_fn_error $? "conditional \"X86_DARWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${ALPHA_TRUE}" && test -z "${ALPHA_FALSE}"; then
- as_fn_error $? "conditional \"ALPHA\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${IA64_TRUE}" && test -z "${IA64_FALSE}"; then
- as_fn_error $? "conditional \"IA64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${M32R_TRUE}" && test -z "${M32R_FALSE}"; then
- as_fn_error $? "conditional \"M32R\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${M68K_TRUE}" && test -z "${M68K_FALSE}"; then
- as_fn_error $? "conditional \"M68K\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MOXIE_TRUE}" && test -z "${MOXIE_FALSE}"; then
- as_fn_error $? "conditional \"MOXIE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_TRUE}" && test -z "${POWERPC_FALSE}"; then
- as_fn_error $? "conditional \"POWERPC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_AIX_TRUE}" && test -z "${POWERPC_AIX_FALSE}"; then
- as_fn_error $? "conditional \"POWERPC_AIX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_DARWIN_TRUE}" && test -z "${POWERPC_DARWIN_FALSE}"; then
- as_fn_error $? "conditional \"POWERPC_DARWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_FREEBSD_TRUE}" && test -z "${POWERPC_FREEBSD_FALSE}"; then
- as_fn_error $? "conditional \"POWERPC_FREEBSD\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${ARM_TRUE}" && test -z "${ARM_FALSE}"; then
- as_fn_error $? "conditional \"ARM\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${AVR32_TRUE}" && test -z "${AVR32_FALSE}"; then
- as_fn_error $? "conditional \"AVR32\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${LIBFFI_CRIS_TRUE}" && test -z "${LIBFFI_CRIS_FALSE}"; then
- as_fn_error $? "conditional \"LIBFFI_CRIS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${FRV_TRUE}" && test -z "${FRV_FALSE}"; then
- as_fn_error $? "conditional \"FRV\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${S390_TRUE}" && test -z "${S390_FALSE}"; then
- as_fn_error $? "conditional \"S390\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_64_TRUE}" && test -z "${X86_64_FALSE}"; then
- as_fn_error $? "conditional \"X86_64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SH_TRUE}" && test -z "${SH_FALSE}"; then
- as_fn_error $? "conditional \"SH\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SH64_TRUE}" && test -z "${SH64_FALSE}"; then
- as_fn_error $? "conditional \"SH64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA_LINUX_TRUE}" && test -z "${PA_LINUX_FALSE}"; then
- as_fn_error $? "conditional \"PA_LINUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA_HPUX_TRUE}" && test -z "${PA_HPUX_FALSE}"; then
- as_fn_error $? "conditional \"PA_HPUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA64_HPUX_TRUE}" && test -z "${PA64_HPUX_FALSE}"; then
- as_fn_error $? "conditional \"PA64_HPUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-if test -z "${FFI_EXEC_TRAMPOLINE_TABLE_TRUE}" && test -z "${FFI_EXEC_TRAMPOLINE_TABLE_FALSE}"; then
- as_fn_error $? "conditional \"FFI_EXEC_TRAMPOLINE_TABLE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${FFI_DEBUG_TRUE}" && test -z "${FFI_DEBUG_FALSE}"; then
- as_fn_error $? "conditional \"FFI_DEBUG\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-: "${CONFIG_STATUS=./config.status}"
-ac_write_fail=0
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in #(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- fi
- $as_echo "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} # as_fn_error
-
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} # as_fn_exit
-
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
-
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -p'
- fi
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in #(
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by libffi $as_me 3.0.11-rc2, which was
-generated by GNU Autoconf 2.68. Invocation command line was
-
- CONFIG_FILES = $CONFIG_FILES
- CONFIG_HEADERS = $CONFIG_HEADERS
- CONFIG_LINKS = $CONFIG_LINKS
- CONFIG_COMMANDS = $CONFIG_COMMANDS
- $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-case $ac_config_headers in *"
-"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
-esac
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-config_links="$ac_config_links"
-config_commands="$ac_config_commands"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration. Unless the files
-and actions are specified as TAGs, all are instantiated by default.
-
-Usage: $0 [OPTION]... [TAG]...
-
- -h, --help print this help, then exit
- -V, --version print version number and configuration settings, then exit
- --config print configuration, then exit
- -q, --quiet, --silent
- do not print progress messages
- -d, --debug don't remove temporary files
- --recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
- --header=FILE[:TEMPLATE]
- instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration links:
-$config_links
-
-Configuration commands:
-$config_commands
-
-Report bugs to <http://github.com/atgreen/libffi/issues>."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-ac_cs_version="\\
-libffi config.status 3.0.11-rc2
-configured by $0, generated by GNU Autoconf 2.68,
- with options \\"\$ac_cs_config\\"
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-INSTALL='$INSTALL'
-MKDIR_P='$MKDIR_P'
-AWK='$AWK'
-test -n "\$AWK" || AWK=awk
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
-ac_need_defaults=:
-while test $# != 0
-do
- case $1 in
- --*=?*)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
- ac_shift=:
- ;;
- --*=)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=
- ac_shift=:
- ;;
- *)
- ac_option=$1
- ac_optarg=$2
- ac_shift=shift
- ;;
- esac
-
- case $ac_option in
- # Handling of the options.
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- ac_cs_recheck=: ;;
- --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
- $as_echo "$ac_cs_version"; exit ;;
- --config | --confi | --conf | --con | --co | --c )
- $as_echo "$ac_cs_config"; exit ;;
- --debug | --debu | --deb | --de | --d | -d )
- debug=: ;;
- --file | --fil | --fi | --f )
- $ac_shift
- case $ac_optarg in
- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
- '') as_fn_error $? "missing file argument" ;;
- esac
- as_fn_append CONFIG_FILES " '$ac_optarg'"
- ac_need_defaults=false;;
- --header | --heade | --head | --hea )
- $ac_shift
- case $ac_optarg in
- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- as_fn_append CONFIG_HEADERS " '$ac_optarg'"
- ac_need_defaults=false;;
- --he | --h)
- # Conflict between --help and --header
- as_fn_error $? "ambiguous option: \`$1'
-Try \`$0 --help' for more information.";;
- --help | --hel | -h )
- $as_echo "$ac_cs_usage"; exit ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil | --si | --s)
- ac_cs_silent=: ;;
-
- # This is an error.
- -*) as_fn_error $? "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
-
- *) as_fn_append ac_config_targets " $1"
- ac_need_defaults=false ;;
-
- esac
- shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
- exec 6>/dev/null
- ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-if \$ac_cs_recheck; then
- set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
- shift
- \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
- CONFIG_SHELL='$SHELL'
- export CONFIG_SHELL
- exec "\$@"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
- $as_echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-#
-# INIT-COMMANDS
-#
-ax_enable_builddir_srcdir="$srcdir" # $srcdir
-ax_enable_builddir_host="$HOST" # $HOST / $host
-ax_enable_builddir_version="$VERSION" # $VERSION
-ax_enable_builddir_package="$PACKAGE" # $PACKAGE
-ax_enable_builddir_auxdir="$ax_enable_builddir_auxdir" # $AUX
-ax_enable_builddir_sed="$ax_enable_builddir_sed" # $SED
-ax_enable_builddir="$ax_enable_builddir" # $SUB
-
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-sed_quote_subst='$sed_quote_subst'
-double_quote_subst='$double_quote_subst'
-delay_variable_subst='$delay_variable_subst'
-macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
-macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
-enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
-enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
-pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
-enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
-SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
-ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
-host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
-host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
-host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
-build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
-build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
-build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
-SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
-Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
-GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
-EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
-FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
-LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
-NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
-LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
-max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
-ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
-exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
-lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
-lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
-lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
-reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
-reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
-OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
-deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
-file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
-file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
-want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
-DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
-sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
-AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
-AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
-archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
-STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
-RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
-old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
-lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
-CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
-CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
-compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
-GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
-nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
-lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
-objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
-MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
-lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
-need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
-MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
-DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
-NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
-LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
-OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
-libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
-shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
-extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
-enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
-export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
-whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
-compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
-old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
-archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
-module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
-allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
-no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_ld='`$ECHO "$hardcode_libdir_flag_spec_ld" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
-hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
-hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
-hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
-hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
-hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
-inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
-link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
-always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
-export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
-exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
-include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
-prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
-postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
-file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
-variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
-need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
-version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
-runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
-libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
-library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
-soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
-install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
-postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
-finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
-hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
-sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
-sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
-enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
-old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
-striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
-
-LTCC='$LTCC'
-LTCFLAGS='$LTCFLAGS'
-compiler='$compiler_DEFAULT'
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
- eval 'cat <<_LTECHO_EOF
-\$1
-_LTECHO_EOF'
-}
-
-# Quote evaled strings.
-for var in SHELL \
-ECHO \
-SED \
-GREP \
-EGREP \
-FGREP \
-LD \
-NM \
-LN_S \
-lt_SP2NL \
-lt_NL2SP \
-reload_flag \
-OBJDUMP \
-deplibs_check_method \
-file_magic_cmd \
-file_magic_glob \
-want_nocaseglob \
-DLLTOOL \
-sharedlib_from_linklib_cmd \
-AR \
-AR_FLAGS \
-archiver_list_spec \
-STRIP \
-RANLIB \
-CC \
-CFLAGS \
-compiler \
-lt_cv_sys_global_symbol_pipe \
-lt_cv_sys_global_symbol_to_cdecl \
-lt_cv_sys_global_symbol_to_c_name_address \
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
-nm_file_list_spec \
-lt_prog_compiler_no_builtin_flag \
-lt_prog_compiler_pic \
-lt_prog_compiler_wl \
-lt_prog_compiler_static \
-lt_cv_prog_compiler_c_o \
-need_locks \
-MANIFEST_TOOL \
-DSYMUTIL \
-NMEDIT \
-LIPO \
-OTOOL \
-OTOOL64 \
-shrext_cmds \
-export_dynamic_flag_spec \
-whole_archive_flag_spec \
-compiler_needs_object \
-with_gnu_ld \
-allow_undefined_flag \
-no_undefined_flag \
-hardcode_libdir_flag_spec \
-hardcode_libdir_flag_spec_ld \
-hardcode_libdir_separator \
-exclude_expsyms \
-include_expsyms \
-file_list_spec \
-variables_saved_for_relink \
-libname_spec \
-library_names_spec \
-soname_spec \
-install_override_mode \
-finish_eval \
-old_striplib \
-striplib; do
- case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
- *[\\\\\\\`\\"\\\$]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
- ;;
- *)
- eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
- ;;
- esac
-done
-
-# Double-quote double-evaled strings.
-for var in reload_cmds \
-old_postinstall_cmds \
-old_postuninstall_cmds \
-old_archive_cmds \
-extract_expsyms_cmds \
-old_archive_from_new_cmds \
-old_archive_from_expsyms_cmds \
-archive_cmds \
-archive_expsym_cmds \
-module_cmds \
-module_expsym_cmds \
-export_symbols_cmds \
-prelink_cmds \
-postlink_cmds \
-postinstall_cmds \
-postuninstall_cmds \
-finish_cmds \
-sys_lib_search_path_spec \
-sys_lib_dlsearch_path_spec; do
- case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
- *[\\\\\\\`\\"\\\$]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
- ;;
- *)
- eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
- ;;
- esac
-done
-
-ac_aux_dir='$ac_aux_dir'
-xsi_shell='$xsi_shell'
-lt_shell_append='$lt_shell_append'
-
-# See if we are running on zsh, and set the options which allow our
-# commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
-fi
-
-
- PACKAGE='$PACKAGE'
- VERSION='$VERSION'
- TIMESTAMP='$TIMESTAMP'
- RM='$RM'
- ofile='$ofile'
-
-
-
-TARGETDIR="$TARGETDIR"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
- case $ac_config_target in
- "fficonfig.h") CONFIG_HEADERS="$CONFIG_HEADERS fficonfig.h" ;;
- "buildir") CONFIG_COMMANDS="$CONFIG_COMMANDS buildir" ;;
- "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
- "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
- "include") CONFIG_COMMANDS="$CONFIG_COMMANDS include" ;;
- "src") CONFIG_COMMANDS="$CONFIG_COMMANDS src" ;;
- "include/ffitarget.h") CONFIG_LINKS="$CONFIG_LINKS include/ffitarget.h:src/$TARGETDIR/ffitarget.h" ;;
- "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
- "include/ffi.h") CONFIG_FILES="$CONFIG_FILES include/ffi.h" ;;
- "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- "testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;;
- "man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;;
- "libffi.pc") CONFIG_FILES="$CONFIG_FILES libffi.pc" ;;
-
- *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
- esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used. Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
- test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
- test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
- test "${CONFIG_LINKS+set}" = set || CONFIG_LINKS=$config_links
- test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience. Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
- tmp= ac_tmp=
- trap 'exit_status=$?
- : "${ac_tmp:=$tmp}"
- { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
-' 0
- trap 'as_fn_exit 1' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
- tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
- test -d "$tmp"
-} ||
-{
- tmp=./conf$$-$RANDOM
- (umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-ac_tmp=$tmp
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
- eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
- ac_cs_awk_cr='\\r'
-else
- ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
-_ACEOF
-
-
-{
- echo "cat >conf$$subs.awk <<_ACEOF" &&
- echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
- echo "_ACEOF"
-} >conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
- . ./conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-
- ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
- if test $ac_delim_n = $ac_delim_num; then
- break
- elif $ac_last_try; then
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\)..*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\)..*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^""]/{
- N
- s/\n//
-}
-' >>$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
- for (key in S) S_is_set[key] = 1
- FS = ""
-
-}
-{
- line = $ 0
- nfields = split(line, field, "@")
- substed = 0
- len = length(field[1])
- for (i = 2; i < nfields; i++) {
- key = field[i]
- keylen = length(key)
- if (S_is_set[key]) {
- value = S[key]
- line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
- len += length(value) + length(field[++i])
- substed = 1
- } else
- len += 1 + keylen
- }
-
- print line
-}
-
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
- sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
- cat
-fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
- || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
-# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
-h
-s///
-s/^/:/
-s/[ ]*$/:/
-s/:\$(srcdir):/:/g
-s/:\${srcdir}:/:/g
-s/:@srcdir@:/:/g
-s/^:*//
-s/:*$//
-x
-s/\(=[ ]*\).*/\1/
-G
-s/\n//
-s/^[^=]*=[ ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
-
-# Set up the scripts for CONFIG_HEADERS section.
-# No need to generate them if there are no CONFIG_HEADERS.
-# This happens for instance with `./config.status Makefile'.
-if test -n "$CONFIG_HEADERS"; then
-cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
-BEGIN {
-_ACEOF
-
-# Transform confdefs.h into an awk script `defines.awk', embedded as
-# here-document in config.status, that substitutes the proper values into
-# config.h.in to produce config.h.
-
-# Create a delimiter string that does not exist in confdefs.h, to ease
-# handling of long lines.
-ac_delim='%!_!# '
-for ac_last_try in false false :; do
- ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
- if test -z "$ac_tt"; then
- break
- elif $ac_last_try; then
- as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-
-# For the awk script, D is an array of macro values keyed by name,
-# likewise P contains macro parameters if any. Preserve backslash
-# newline sequences.
-
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-sed -n '
-s/.\{148\}/&'"$ac_delim"'/g
-t rset
-:rset
-s/^[ ]*#[ ]*define[ ][ ]*/ /
-t def
-d
-:def
-s/\\$//
-t bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3"/p
-s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
-d
-:bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3\\\\\\n"\\/p
-t cont
-s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
-t cont
-d
-:cont
-n
-s/.\{148\}/&'"$ac_delim"'/g
-t clear
-:clear
-s/\\$//
-t bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/"/p
-d
-:bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
-b cont
-' <confdefs.h | sed '
-s/'"$ac_delim"'/"\\\
-"/g' >>$CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- for (key in D) D_is_set[key] = 1
- FS = ""
-}
-/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
- line = \$ 0
- split(line, arg, " ")
- if (arg[1] == "#") {
- defundef = arg[2]
- mac1 = arg[3]
- } else {
- defundef = substr(arg[1], 2)
- mac1 = arg[2]
- }
- split(mac1, mac2, "(") #)
- macro = mac2[1]
- prefix = substr(line, 1, index(line, defundef) - 1)
- if (D_is_set[macro]) {
- # Preserve the white space surrounding the "#".
- print prefix "define", macro P[macro] D[macro]
- next
- } else {
- # Replace #undef with comments. This is necessary, for example,
- # in the case of _POSIX_SOURCE, which is predefined and required
- # on some systems where configure will not decide to define it.
- if (defundef == "undef") {
- print "/*", prefix defundef, macro, "*/"
- next
- }
- }
-}
-{ print }
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
- as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
-fi # test -n "$CONFIG_HEADERS"
-
-
-eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :L $CONFIG_LINKS :C $CONFIG_COMMANDS"
-shift
-for ac_tag
-do
- case $ac_tag in
- :[FHLC]) ac_mode=$ac_tag; continue;;
- esac
- case $ac_mode$ac_tag in
- :[FHL]*:*);;
- :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
- :[FH]-) ac_tag=-:-;;
- :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
- esac
- ac_save_IFS=$IFS
- IFS=:
- set x $ac_tag
- IFS=$ac_save_IFS
- shift
- ac_file=$1
- shift
-
- case $ac_mode in
- :L) ac_source=$1;;
- :[FH])
- ac_file_inputs=
- for ac_f
- do
- case $ac_f in
- -) ac_f="$ac_tmp/stdin";;
- *) # Look for the file first in the build tree, then in the source tree
- # (if the path is not absolute). The absolute path cannot be DOS-style,
- # because $ac_f cannot contain `:'.
- test -f "$ac_f" ||
- case $ac_f in
- [\\/$]*) false;;
- *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
- esac ||
- as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
- esac
- case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
- as_fn_append ac_file_inputs " '$ac_f'"
- done
-
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- configure_input='Generated from '`
- $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
- `' by configure.'
- if test x"$ac_file" != x-; then
- configure_input="$ac_file. $configure_input"
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
- fi
- # Neutralize special characters interpreted by sed in replacement strings.
- case $configure_input in #(
- *\&* | *\|* | *\\* )
- ac_sed_conf_input=`$as_echo "$configure_input" |
- sed 's/[\\\\&|]/\\\\&/g'`;; #(
- *) ac_sed_conf_input=$configure_input;;
- esac
-
- case $ac_tag in
- *:-:* | *:-) cat >"$ac_tmp/stdin" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
- esac
- ;;
- esac
-
- ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- as_dir="$ac_dir"; as_fn_mkdir_p
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
- case $ac_mode in
- :F)
- #
- # CONFIG_FILE
- #
-
- case $INSTALL in
- [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
- *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
- esac
- ac_MKDIR_P=$MKDIR_P
- case $MKDIR_P in
- [\\/$]* | ?:[\\/]* ) ;;
- */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
- esac
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
- p
- q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- ac_datarootdir_hack='
- s&@datadir@&$datadir&g
- s&@docdir@&$docdir&g
- s&@infodir@&$infodir&g
- s&@localedir@&$localedir&g
- s&@mandir@&$mandir&g
- s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-s&@INSTALL@&$ac_INSTALL&;t t
-s&@MKDIR_P@&$ac_MKDIR_P&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
- >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
- { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
- { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
- "$ac_tmp/out"`; test -z "$ac_out"; } &&
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined" >&2;}
-
- rm -f "$ac_tmp/stdin"
- case $ac_file in
- -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
- *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
- esac \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- ;;
- :H)
- #
- # CONFIG_HEADER
- #
- if test x"$ac_file" != x-; then
- {
- $as_echo "/* $configure_input */" \
- && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
- } >"$ac_tmp/config.h" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
- else
- rm -f "$ac_file"
- mv "$ac_tmp/config.h" "$ac_file" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- fi
- else
- $as_echo "/* $configure_input */" \
- && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
- || as_fn_error $? "could not create -" "$LINENO" 5
- fi
-# Compute "$ac_file"'s index in $config_headers.
-_am_arg="$ac_file"
-_am_stamp_count=1
-for _am_header in $config_headers :; do
- case $_am_header in
- $_am_arg | $_am_arg:* )
- break ;;
- * )
- _am_stamp_count=`expr $_am_stamp_count + 1` ;;
- esac
-done
-echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
-$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$_am_arg" : 'X\(//\)[^/]' \| \
- X"$_am_arg" : 'X\(//\)$' \| \
- X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$_am_arg" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`/stamp-h$_am_stamp_count
- ;;
- :L)
- #
- # CONFIG_LINK
- #
-
- if test "$ac_source" = "$ac_file" && test "$srcdir" = '.'; then
- :
- else
- # Prefer the file from the source tree if names are identical.
- if test "$ac_source" = "$ac_file" || test ! -r "$ac_source"; then
- ac_source=$srcdir/$ac_source
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: linking $ac_source to $ac_file" >&5
-$as_echo "$as_me: linking $ac_source to $ac_file" >&6;}
-
- if test ! -r "$ac_source"; then
- as_fn_error $? "$ac_source: file not found" "$LINENO" 5
- fi
- rm -f "$ac_file"
-
- # Try a relative symlink, then a hard link, then a copy.
- case $ac_source in
- [\\/$]* | ?:[\\/]* ) ac_rel_source=$ac_source ;;
- *) ac_rel_source=$ac_top_build_prefix$ac_source ;;
- esac
- ln -s "$ac_rel_source" "$ac_file" 2>/dev/null ||
- ln "$ac_source" "$ac_file" 2>/dev/null ||
- cp -p "$ac_source" "$ac_file" ||
- as_fn_error $? "cannot link or copy $ac_source to $ac_file" "$LINENO" 5
- fi
- ;;
- :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-$as_echo "$as_me: executing $ac_file commands" >&6;}
- ;;
- esac
-
-
- case $ac_file$ac_mode in
- "buildir":C) ac_top_srcdir="$ax_enable_builddir_srcdir"
- if test ".$ax_enable_builddir" = ".." ; then
- if test -f "$top_srcdir/Makefile" ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: skipping top_srcdir/Makefile - left untouched" >&5
-$as_echo "$as_me: skipping top_srcdir/Makefile - left untouched" >&6;}
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: skipping top_srcdir/Makefile - not created" >&5
-$as_echo "$as_me: skipping top_srcdir/Makefile - not created" >&6;}
- fi
- else
- if test -f "$ac_top_srcdir/Makefile" ; then
- a=`grep "^VERSION " "$ac_top_srcdir/Makefile"` ; b=`grep "^VERSION " Makefile`
- test "$a" != "$b" && rm "$ac_top_srcdir/Makefile"
- fi
- if test -f "$ac_top_srcdir/Makefile" ; then
- echo "$ac_top_srcdir/Makefile : $ac_top_srcdir/Makefile.in" > $tmp/conftemp.mk
- echo " @ echo 'REMOVED,,,' >\$@" >> $tmp/conftemp.mk
- eval "${MAKE-make} -f $tmp/conftemp.mk 2>/dev/null >/dev/null"
- if grep '^REMOVED,,,' "$ac_top_srcdir/Makefile" >/dev/null
- then rm $ac_top_srcdir/Makefile ; fi
- cp $tmp/conftemp.mk $ac_top_srcdir/makefiles.mk~ ## DEBUGGING
- fi
- if test ! -f "$ac_top_srcdir/Makefile" ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: create top_srcdir/Makefile guessed from local Makefile" >&5
-$as_echo "$as_me: create top_srcdir/Makefile guessed from local Makefile" >&6;}
- x='`' ; cat >$tmp/conftemp.sed <<_EOF
-/^\$/n
-x
-/^\$/bS
-x
-/\\\\\$/{H;d;}
-{H;s/.*//;x;}
-bM
-:S
-x
-/\\\\\$/{h;d;}
-{h;s/.*//;x;}
-:M
-s/\\(\\n\\) /\\1 /g
-/^ /d
-/^[ ]*[\\#]/d
-/^VPATH *=/d
-s/^srcdir *=.*/srcdir = ./
-s/^top_srcdir *=.*/top_srcdir = ./
-/[:=]/!d
-/^\\./d
-/ = /b
-/ .= /b
-/:/!b
-s/:.*/:/
-s/ / /g
-s/ \\([a-z][a-z-]*[a-zA-Z0-9]\\)\\([ :]\\)/ \\1 \\1-all\\2/g
-s/^\\([a-z][a-z-]*[a-zA-Z0-9]\\)\\([ :]\\)/\\1 \\1-all\\2/
-s/ / /g
-/^all all-all[ :]/i\\
-all-configured : all-all
-s/ [a-zA-Z0-9-]*-all [a-zA-Z0-9-]*-all-all//g
-/-all-all/d
-a\\
- @ HOST="\$(HOST)\" \\\\\\
- ; test ".\$\$HOST" = "." && HOST=$x sh $ax_enable_builddir_auxdir/config.guess $x \\\\\\
- ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
- ; use=$x basename "\$\@" -all $x; n=$x echo \$\$BUILD | wc -w $x \\\\\\
- ; echo "MAKE \$\$HOST : \$\$n * \$\@"; if test "\$\$n" -eq "0" ; then : \\\\\\
- ; BUILD=$x grep "^####.*|" Makefile |tail -1| sed -e 's/.*|//' $x ; fi \\\\\\
- ; test ".\$\$BUILD" = "." && BUILD="." \\\\\\
- ; test "\$\$use" = "\$\@" && BUILD=$x echo "\$\$BUILD" | tail -1 $x \\\\\\
- ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
- ; (cd "\$\$i" && test ! -f configure && \$(MAKE) \$\$use) || exit; done
-/dist-all *:/a\\
- @ HOST="\$(HOST)\" \\\\\\
- ; test ".\$\$HOST" = "." && HOST=$x sh $ax_enable_builddir_auxdir/config.guess $x \\\\\\
- ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
- ; found=$x echo \$\$BUILD | wc -w $x \\\\\\
- ; echo "MAKE \$\$HOST : \$\$found \$(PACKAGE)-\$(VERSION).tar.*" \\\\\\
- ; if test "\$\$found" -eq "0" ; then : \\\\\\
- ; BUILD=$x grep "^#### .*|" Makefile |tail -1| sed -e 's/.*|//' $x \\\\\\
- ; fi ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
- ; for f in \$\$i/\$(PACKAGE)-\$(VERSION).tar.* \\\\\\
- ; do test -f "\$\$f" && mv "\$\$f" \$(PUB). ; done ; break ; done
-/dist-[a-zA-Z0-9]*-all *:/a\\
- @ HOST="\$(HOST)\" \\\\\\
- ; test ".\$\$HOST" = "." && HOST=$x sh ./config.guess $x \\\\\\
- ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
- ; found=$x echo \$\$BUILD | wc -w $x \\\\\\
- ; echo "MAKE \$\$HOST : \$\$found \$(PACKAGE)-\$(VERSION).*" \\\\\\
- ; if test "\$\$found" -eq "0" ; then : \\\\\\
- ; BUILD=$x grep "^#### .*|" Makefile |tail -1| sed -e 's/.*|//' $x \\\\\\
- ; fi ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
- ; for f in \$\$i/\$(PACKAGE)-\$(VERSION).* \\\\\\
- ; do test -f "\$\$f" && mv "\$\$f" \$(PUB). ; done ; break ; done
-/distclean-all *:/a\\
- @ HOST="\$(HOST)\" \\\\\\
- ; test ".\$\$HOST" = "." && HOST=$x sh $ax_enable_builddir_auxdir/config.guess $x \\\\\\
- ; BUILD=$x grep "^#### .*|" Makefile | sed -e 's/.*|//' $x \\\\\\
- ; use=$x basename "\$\@" -all $x; n=$x echo \$\$BUILD | wc -w $x \\\\\\
- ; echo "MAKE \$\$HOST : \$\$n * \$\@ (all local builds)" \\\\\\
- ; test ".\$\$BUILD" = "." && BUILD="." \\\\\\
- ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
- ; echo "# rm -r \$\$i"; done ; echo "# (sleep 3)" ; sleep 3 \\\\\\
- ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
- ; echo "\$\$i" | grep "^/" > /dev/null && continue \\\\\\
- ; echo "\$\$i" | grep "^../" > /dev/null && continue \\\\\\
- ; echo "rm -r \$\$i"; (rm -r "\$\$i") ; done ; rm Makefile
-_EOF
- cp "$tmp/conftemp.sed" "$ac_top_srcdir/makefile.sed~" ## DEBUGGING
- $ax_enable_builddir_sed -f $tmp/conftemp.sed Makefile >$ac_top_srcdir/Makefile
- if test -f "$ac_top_srcdir/Makefile.mk" ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: extend top_srcdir/Makefile with top_srcdir/Makefile.mk" >&5
-$as_echo "$as_me: extend top_srcdir/Makefile with top_srcdir/Makefile.mk" >&6;}
- cat $ac_top_srcdir/Makefile.mk >>$ac_top_srcdir/Makefile
- fi ; xxxx="####"
- echo "$xxxx CONFIGURATIONS FOR TOPLEVEL MAKEFILE: " >>$ac_top_srcdir/Makefile
- # sanity check
- if grep '^; echo "MAKE ' $ac_top_srcdir/Makefile >/dev/null ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: buggy sed found - it deletes tab in \"a\" text parts" >&5
-$as_echo "$as_me: buggy sed found - it deletes tab in \"a\" text parts" >&6;}
- $ax_enable_builddir_sed -e '/^@ HOST=/s/^/ /' -e '/^; /s/^/ /' $ac_top_srcdir/Makefile \
- >$ac_top_srcdir/Makefile~
- (test -s $ac_top_srcdir/Makefile~ && mv $ac_top_srcdir/Makefile~ $ac_top_srcdir/Makefile) 2>/dev/null
- fi
- else
- xxxx="\\#\\#\\#\\#"
- # echo "/^$xxxx *$ax_enable_builddir_host /d" >$tmp/conftemp.sed
- echo "s!^$xxxx [^|]* | *$ax_enable_builddir *\$!$xxxx ...... $ax_enable_builddir!" >$tmp/conftemp.sed
- $ax_enable_builddir_sed -f "$tmp/conftemp.sed" "$ac_top_srcdir/Makefile" >$tmp/mkfile.tmp
- cp "$tmp/conftemp.sed" "$ac_top_srcdir/makefiles.sed~" ## DEBUGGING
- cp "$tmp/mkfile.tmp" "$ac_top_srcdir/makefiles.out~" ## DEBUGGING
- if cmp -s "$ac_top_srcdir/Makefile" "$tmp/mkfile.tmp" 2>/dev/null ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: keeping top_srcdir/Makefile from earlier configure" >&5
-$as_echo "$as_me: keeping top_srcdir/Makefile from earlier configure" >&6;}
- rm "$tmp/mkfile.tmp"
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: reusing top_srcdir/Makefile from earlier configure" >&5
-$as_echo "$as_me: reusing top_srcdir/Makefile from earlier configure" >&6;}
- mv "$tmp/mkfile.tmp" "$ac_top_srcdir/Makefile"
- fi
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: build in $ax_enable_builddir (HOST=$ax_enable_builddir_host)" >&5
-$as_echo "$as_me: build in $ax_enable_builddir (HOST=$ax_enable_builddir_host)" >&6;}
- xxxx="####"
- echo "$xxxx" "$ax_enable_builddir_host" "|$ax_enable_builddir" >>$ac_top_srcdir/Makefile
- fi
- ;;
- "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
- # Autoconf 2.62 quotes --file arguments for eval, but not when files
- # are listed without --file. Let's play safe and only enable the eval
- # if we detect the quoting.
- case $CONFIG_FILES in
- *\'*) eval set x "$CONFIG_FILES" ;;
- *) set x $CONFIG_FILES ;;
- esac
- shift
- for mf
- do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # Grep'ing the whole file is not good either: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
- dirpart=`$as_dirname -- "$mf" ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$mf" : 'X\(//\)[^/]' \| \
- X"$mf" : 'X\(//\)$' \| \
- X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$mf" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`$as_dirname -- "$file" ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$file" : 'X\(//\)[^/]' \| \
- X"$file" : 'X\(//\)$' \| \
- X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- as_dir=$dirpart/$fdir; as_fn_mkdir_p
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
- done
-}
- ;;
- "libtool":C)
-
- # See if we are running on zsh, and set the options which allow our
- # commands through without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
-
- cfgfile="${ofile}T"
- trap "$RM \"$cfgfile\"; exit 1" 1 2 15
- $RM "$cfgfile"
-
- cat <<_LT_EOF >> "$cfgfile"
-#! $SHELL
-
-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-# Inc.
-# Written by Gordon Matzigkeit, 1996
-#
-# This file is part of GNU Libtool.
-#
-# GNU Libtool is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
-#
-# GNU Libtool is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING. If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-
-# The names of the tagged configurations supported by this script.
-available_tags=""
-
-# ### BEGIN LIBTOOL CONFIG
-
-# Which release of libtool.m4 was used?
-macro_version=$macro_version
-macro_revision=$macro_revision
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# What type of objects to build.
-pic_mode=$pic_mode
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# An echo program that protects backslashes.
-ECHO=$lt_ECHO
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# A sed program that does not truncate output.
-SED=$lt_SED
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="\$SED -e 1s/^X//"
-
-# A grep program that handles long lines.
-GREP=$lt_GREP
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# A literal string matcher.
-FGREP=$lt_FGREP
-
-# A BSD- or MS-compatible name lister.
-NM=$lt_NM
-
-# Whether we need soft or hard links.
-LN_S=$lt_LN_S
-
-# What is the maximum length of a command?
-max_cmd_len=$max_cmd_len
-
-# Object file suffix (normally "o").
-objext=$ac_objext
-
-# Executable file suffix (normally "").
-exeext=$exeext
-
-# whether the shell understands "unset".
-lt_unset=$lt_unset
-
-# turn spaces into newlines.
-SP2NL=$lt_lt_SP2NL
-
-# turn newlines into spaces.
-NL2SP=$lt_lt_NL2SP
-
-# convert \$build file names to \$host format.
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-
-# convert \$build files to toolchain format.
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-
-# An object symbol dumper.
-OBJDUMP=$lt_OBJDUMP
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method = "file_magic".
-file_magic_cmd=$lt_file_magic_cmd
-
-# How to find potential files when deplibs_check_method = "file_magic".
-file_magic_glob=$lt_file_magic_glob
-
-# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
-want_nocaseglob=$lt_want_nocaseglob
-
-# DLL creation program.
-DLLTOOL=$lt_DLLTOOL
-
-# Command to associate shared and link libraries.
-sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
-
-# The archiver.
-AR=$lt_AR
-
-# Flags to create an archive.
-AR_FLAGS=$lt_AR_FLAGS
-
-# How to feed a file listing to the archiver.
-archiver_list_spec=$lt_archiver_list_spec
-
-# A symbol stripping program.
-STRIP=$lt_STRIP
-
-# Commands used to install an old-style archive.
-RANLIB=$lt_RANLIB
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Whether to use a lock for old archive extraction.
-lock_old_archive_extraction=$lock_old_archive_extraction
-
-# A C compiler.
-LTCC=$lt_CC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_CFLAGS
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration.
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair.
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# Transform the output of nm in a C name address pair when lib prefix is needed.
-global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
-
-# Specify filename containing input files for \$NM.
-nm_file_list_spec=$lt_nm_file_list_spec
-
-# The root where to search for dependent libraries,and in which our libraries should be installed.
-lt_sysroot=$lt_sysroot
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# Used to examine libraries when file_magic_cmd begins with "file".
-MAGIC_CMD=$MAGIC_CMD
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Manifest tool.
-MANIFEST_TOOL=$lt_MANIFEST_TOOL
-
-# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
-DSYMUTIL=$lt_DSYMUTIL
-
-# Tool to change global to local symbols on Mac OS X.
-NMEDIT=$lt_NMEDIT
-
-# Tool to manipulate fat objects and archives on Mac OS X.
-LIPO=$lt_LIPO
-
-# ldd/readelf like tool for Mach-O binaries on Mac OS X.
-OTOOL=$lt_OTOOL
-
-# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
-OTOOL64=$lt_OTOOL64
-
-# Old archive suffix (normally "a").
-libext=$libext
-
-# Shared library suffix (normally ".so").
-shrext_cmds=$lt_shrext_cmds
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at link time.
-variables_saved_for_relink=$lt_variables_saved_for_relink
-
-# Do we need the "lib" prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Library versioning type.
-version_type=$version_type
-
-# Shared library runtime path variable.
-runpath_var=$runpath_var
-
-# Shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Permission mode override for installation of shared libraries.
-install_override_mode=$lt_install_override_mode
-
-# Command to use after installation of a shared archive.
-postinstall_cmds=$lt_postinstall_cmds
-
-# Command to use after uninstallation of a shared archive.
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# As "finish_cmds", except a single script fragment to be evaled but
-# not shown.
-finish_eval=$lt_finish_eval
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Compile-time system search path for libraries.
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries.
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-
-# The linker used to build libraries.
-LD=$lt_LD
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# Commands used to build an old-style archive.
-old_archive_cmds=$lt_old_archive_cmds
-
-# A language specific compiler.
-CC=$lt_compiler
-
-# Is the compiler the GNU compiler?
-with_gcc=$GCC
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc
-
-# Whether or not to disallow shared libs when runtime libs are static.
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec
-
-# Whether the compiler copes with passing no objects directly.
-compiler_needs_object=$lt_compiler_needs_object
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
-
-# Commands used to build a shared archive.
-archive_cmds=$lt_archive_cmds
-archive_expsym_cmds=$lt_archive_expsym_cmds
-
-# Commands used to build a loadable module if different from building
-# a shared archive.
-module_cmds=$lt_module_cmds
-module_expsym_cmds=$lt_module_expsym_cmds
-
-# Whether we are building with GNU ld or not.
-with_gnu_ld=$lt_with_gnu_ld
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag
-
-# Flag that enforces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
-
-# If ld is used when linking, flag to hardcode \$libdir into a binary
-# during linking. This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
-
-# Whether we need a single "-rpath" flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary.
-hardcode_direct=$hardcode_direct
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary and the resulting library dependency is
-# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
-# library is relocated.
-hardcode_direct_absolute=$hardcode_direct_absolute
-
-# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
-# into the resulting binary.
-hardcode_minus_L=$hardcode_minus_L
-
-# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
-# into the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var
-
-# Set to "yes" if building a shared library automatically hardcodes DIR
-# into the library and all subsequent libraries and executables linked
-# against it.
-hardcode_automatic=$hardcode_automatic
-
-# Set to yes if linker adds runtime paths of dependent libraries
-# to runtime path list.
-inherit_rpath=$inherit_rpath
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs
-
-# Set to "yes" if exported symbols are required.
-always_export_symbols=$always_export_symbols
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms
-
-# Commands necessary for linking programs (against libraries) with templates.
-prelink_cmds=$lt_prelink_cmds
-
-# Commands necessary for finishing linking programs.
-postlink_cmds=$lt_postlink_cmds
-
-# Specify filename containing input files.
-file_list_spec=$lt_file_list_spec
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action
-
-# ### END LIBTOOL CONFIG
-
-_LT_EOF
-
- case $host_os in
- aix3*)
- cat <<\_LT_EOF >> "$cfgfile"
-# AIX sometimes has problems with the GCC collect2 program. For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
-fi
-_LT_EOF
- ;;
- esac
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-
- # We use sed instead of cat because bash on DJGPP gets confused if
- # if finds mixed CR/LF and LF-only lines. Since sed operates in
- # text mode, it properly converts lines to CR/LF. This bash problem
- # is reportedly fixed, but why not run on old versions too?
- sed '$q' "$ltmain" >> "$cfgfile" \
- || (rm -f "$cfgfile"; exit 1)
-
- if test x"$xsi_shell" = xyes; then
- sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
-func_dirname ()\
-{\
-\ case ${1} in\
-\ */*) func_dirname_result="${1%/*}${2}" ;;\
-\ * ) func_dirname_result="${3}" ;;\
-\ esac\
-} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_basename ()$/,/^} # func_basename /c\
-func_basename ()\
-{\
-\ func_basename_result="${1##*/}"\
-} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
-func_dirname_and_basename ()\
-{\
-\ case ${1} in\
-\ */*) func_dirname_result="${1%/*}${2}" ;;\
-\ * ) func_dirname_result="${3}" ;;\
-\ esac\
-\ func_basename_result="${1##*/}"\
-} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
-func_stripname ()\
-{\
-\ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
-\ # positional parameters, so assign one to ordinary parameter first.\
-\ func_stripname_result=${3}\
-\ func_stripname_result=${func_stripname_result#"${1}"}\
-\ func_stripname_result=${func_stripname_result%"${2}"}\
-} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
-func_split_long_opt ()\
-{\
-\ func_split_long_opt_name=${1%%=*}\
-\ func_split_long_opt_arg=${1#*=}\
-} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
-func_split_short_opt ()\
-{\
-\ func_split_short_opt_arg=${1#??}\
-\ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
-} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
-func_lo2o ()\
-{\
-\ case ${1} in\
-\ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
-\ *) func_lo2o_result=${1} ;;\
-\ esac\
-} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_xform ()$/,/^} # func_xform /c\
-func_xform ()\
-{\
- func_xform_result=${1%.*}.lo\
-} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_arith ()$/,/^} # func_arith /c\
-func_arith ()\
-{\
- func_arith_result=$(( $* ))\
-} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_len ()$/,/^} # func_len /c\
-func_len ()\
-{\
- func_len_result=${#1}\
-} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-fi
-
-if test x"$lt_shell_append" = xyes; then
- sed -e '/^func_append ()$/,/^} # func_append /c\
-func_append ()\
-{\
- eval "${1}+=\\${2}"\
-} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
-func_append_quoted ()\
-{\
-\ func_quote_for_eval "${2}"\
-\ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
-} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- # Save a `func_append' function call where possible by direct use of '+='
- sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
- test 0 -eq $? || _lt_function_replace_fail=:
-else
- # Save a `func_append' function call even when '+=' is not available
- sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
- test 0 -eq $? || _lt_function_replace_fail=:
-fi
-
-if test x"$_lt_function_replace_fail" = x":"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
-$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
-fi
-
-
- mv -f "$cfgfile" "$ofile" ||
- (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
- chmod +x "$ofile"
-
- ;;
- "include":C) test -d include || mkdir include ;;
- "src":C)
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
- ;;
-
- esac
-done # for ac_tag
-
-
-as_fn_exit 0
-_ACEOF
-ac_clean_files=$ac_clean_files_save
-
-test $ac_write_fail = 0 ||
- as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded. So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status. When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
- ac_cs_success=:
- ac_config_status_args=
- test "$silent" = yes &&
- ac_config_status_args="$ac_config_status_args --quiet"
- exec 5>/dev/null
- $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
- exec 5>>config.log
- # Use ||, not &&, to avoid exiting from the if with $? = 1, which
- # would make configure fail if this is the last instruction.
- $ac_cs_success || as_fn_exit 1
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
-
diff --git a/.pc/no-undefined-fix/configure.ac b/.pc/no-undefined-fix/configure.ac
deleted file mode 100644
index efe013a..0000000
--- a/.pc/no-undefined-fix/configure.ac
+++ /dev/null
@@ -1,502 +0,0 @@
-dnl Process this with autoconf to create configure
-
-AC_PREREQ(2.63)
-
-AC_INIT([libffi], [3.0.11-rc2], [http://github.com/atgreen/libffi/issues])
-AC_CONFIG_HEADERS([fficonfig.h])
-
-AC_CANONICAL_SYSTEM
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-AX_ENABLE_BUILDDIR
-
-AM_INIT_AUTOMAKE
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-# Also save and restore CFLAGS, since AC_PROG_CC will come up with
-# defaults of its own if none are provided.
-
-m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS])
-m4_define([_AC_ARG_VAR_PRECIOUS],[])
-save_CFLAGS=$CFLAGS
-AC_PROG_CC
-CFLAGS=$save_CFLAGS
-m4_undefine([_AC_ARG_VAR_PRECIOUS])
-m4_rename([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
-
-AC_SUBST(CFLAGS)
-
-AM_PROG_AS
-AM_PROG_CC_C_O
-AC_PROG_LIBTOOL
-AC_CONFIG_MACRO_DIR([m4])
-
-AX_CC_MAXOPT
-AX_CFLAGS_WARN_ALL
-if test "x$GCC" = "xyes"; then
- CFLAGS="$CFLAGS -fexceptions"
-fi
-
-AM_MAINTAINER_MODE
-
-AC_CHECK_HEADERS(sys/mman.h)
-AC_CHECK_FUNCS(mmap)
-AC_FUNC_MMAP_BLACKLIST
-
-dnl The -no-testsuite modules omit the test subdir.
-AM_CONDITIONAL(TESTSUBDIR, test -d $srcdir/testsuite)
-
-TARGETDIR="unknown"
-case "$host" in
- alpha*-*-*)
- TARGET=ALPHA; TARGETDIR=alpha;
- # Support 128-bit long double, changeable via command-line switch.
- HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
- ;;
-
- arm*-*-*)
- TARGET=ARM; TARGETDIR=arm
- ;;
-
- amd64-*-freebsd* | amd64-*-openbsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- amd64-*-freebsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- avr32*-*-*)
- TARGET=AVR32; TARGETDIR=avr32
- ;;
-
- cris-*-*)
- TARGET=LIBFFI_CRIS; TARGETDIR=cris
- ;;
-
- frv-*-*)
- TARGET=FRV; TARGETDIR=frv
- ;;
-
- hppa*-*-linux* | parisc*-*-linux* | hppa*-*-openbsd*)
- TARGET=PA_LINUX; TARGETDIR=pa
- ;;
- hppa*64-*-hpux*)
- TARGET=PA64_HPUX; TARGETDIR=pa
- ;;
- hppa*-*-hpux*)
- TARGET=PA_HPUX; TARGETDIR=pa
- ;;
-
- i?86-*-freebsd* | i?86-*-openbsd*)
- TARGET=X86_FREEBSD; TARGETDIR=x86
- ;;
- i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2* | i?86-*-interix*)
- TARGET=X86_WIN32; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
- i?86-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
- i?86-*-solaris2.1[[0-9]]*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
- i?86-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- ia64*-*-*)
- TARGET=IA64; TARGETDIR=ia64
- ;;
-
- m32r*-*-*)
- TARGET=M32R; TARGETDIR=m32r
- ;;
-
- m68k-*-*)
- TARGET=M68K; TARGETDIR=m68k
- ;;
-
- mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
- TARGET=MIPS; TARGETDIR=mips
- ;;
- mips*-*-linux* | mips*-*-openbsd*)
- # Support 128-bit long double for NewABI.
- HAVE_LONG_DOUBLE='defined(__mips64)'
- TARGET=MIPS; TARGETDIR=mips
- ;;
-
- moxie-*-*)
- TARGET=MOXIE; TARGETDIR=moxie
- ;;
-
- powerpc*-*-linux* | powerpc-*-sysv*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-amigaos*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-beos*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-darwin* | powerpc64-*-darwin*)
- TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
- ;;
- powerpc-*-aix* | rs6000-*-aix*)
- TARGET=POWERPC_AIX; TARGETDIR=powerpc
- ;;
- powerpc-*-freebsd* | powerpc-*-openbsd*)
- TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
- ;;
- powerpc64-*-freebsd*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc*-*-rtems*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
-
- s390-*-* | s390x-*-*)
- TARGET=S390; TARGETDIR=s390
- ;;
-
- sh-*-* | sh[[34]]*-*-*)
- TARGET=SH; TARGETDIR=sh
- ;;
- sh64-*-* | sh5*-*-*)
- TARGET=SH64; TARGETDIR=sh64
- ;;
-
- sparc*-*-*)
- TARGET=SPARC; TARGETDIR=sparc
- ;;
-
- x86_64-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
-
- x86_64-*-cygwin* | x86_64-*-mingw*)
- TARGET=X86_WIN64; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
-
- x86_64-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-esac
-
-AC_SUBST(AM_RUNTESTFLAGS)
-AC_SUBST(AM_LTLDFLAGS)
-
-if test $TARGETDIR = unknown; then
- AC_MSG_ERROR(["libffi has not been ported to $host."])
-fi
-
-AM_CONDITIONAL(MIPS, test x$TARGET = xMIPS)
-AM_CONDITIONAL(SPARC, test x$TARGET = xSPARC)
-AM_CONDITIONAL(X86, test x$TARGET = xX86)
-AM_CONDITIONAL(X86_FREEBSD, test x$TARGET = xX86_FREEBSD)
-AM_CONDITIONAL(X86_WIN32, test x$TARGET = xX86_WIN32)
-AM_CONDITIONAL(X86_WIN64, test x$TARGET = xX86_WIN64)
-AM_CONDITIONAL(X86_DARWIN, test x$TARGET = xX86_DARWIN)
-AM_CONDITIONAL(ALPHA, test x$TARGET = xALPHA)
-AM_CONDITIONAL(IA64, test x$TARGET = xIA64)
-AM_CONDITIONAL(M32R, test x$TARGET = xM32R)
-AM_CONDITIONAL(M68K, test x$TARGET = xM68K)
-AM_CONDITIONAL(MOXIE, test x$TARGET = xMOXIE)
-AM_CONDITIONAL(POWERPC, test x$TARGET = xPOWERPC)
-AM_CONDITIONAL(POWERPC_AIX, test x$TARGET = xPOWERPC_AIX)
-AM_CONDITIONAL(POWERPC_DARWIN, test x$TARGET = xPOWERPC_DARWIN)
-AM_CONDITIONAL(POWERPC_FREEBSD, test x$TARGET = xPOWERPC_FREEBSD)
-AM_CONDITIONAL(ARM, test x$TARGET = xARM)
-AM_CONDITIONAL(AVR32, test x$TARGET = xAVR32)
-AM_CONDITIONAL(LIBFFI_CRIS, test x$TARGET = xLIBFFI_CRIS)
-AM_CONDITIONAL(FRV, test x$TARGET = xFRV)
-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)
-AM_CONDITIONAL(PA_LINUX, test x$TARGET = xPA_LINUX)
-AM_CONDITIONAL(PA_HPUX, test x$TARGET = xPA_HPUX)
-AM_CONDITIONAL(PA64_HPUX, test x$TARGET = xPA64_HPUX)
-
-AC_HEADER_STDC
-AC_CHECK_FUNCS(memcpy)
-AC_FUNC_ALLOCA
-
-AC_CHECK_SIZEOF(double)
-AC_CHECK_SIZEOF(long double)
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
- HAVE_LONG_DOUBLE=0
- if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
- if test $ac_cv_sizeof_long_double != 0; then
- HAVE_LONG_DOUBLE=1
- AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the long double type and it is bigger than a double])
- fi
- fi
-fi
-AC_SUBST(HAVE_LONG_DOUBLE)
-
-AC_C_BIGENDIAN
-
-GCC_AS_CFI_PSEUDO_OP
-
-if test x$TARGET = xSPARC; then
- AC_CACHE_CHECK([assembler and linker support unaligned pc related relocs],
- libffi_cv_as_sparc_ua_pcrel, [
- save_CFLAGS="$CFLAGS"
- save_LDFLAGS="$LDFLAGS"
- CFLAGS="$CFLAGS -fpic"
- LDFLAGS="$LDFLAGS -shared"
- AC_TRY_LINK([asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");],,
- [libffi_cv_as_sparc_ua_pcrel=yes],
- [libffi_cv_as_sparc_ua_pcrel=no])
- CFLAGS="$save_CFLAGS"
- LDFLAGS="$save_LDFLAGS"])
- if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
- AC_DEFINE(HAVE_AS_SPARC_UA_PCREL, 1,
- [Define if your assembler and linker support unaligned PC relative relocs.])
- fi
-
- AC_CACHE_CHECK([assembler .register pseudo-op support],
- libffi_cv_as_register_pseudo_op, [
- libffi_cv_as_register_pseudo_op=unknown
- # Check if we have .register
- AC_TRY_COMPILE([asm (".register %g2, #scratch");],,
- [libffi_cv_as_register_pseudo_op=yes],
- [libffi_cv_as_register_pseudo_op=no])
- ])
- if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
- AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP, 1,
- [Define if your assembler supports .register.])
- fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
- AC_CACHE_CHECK([assembler supports pc related relocs],
- libffi_cv_as_x86_pcrel, [
- libffi_cv_as_x86_pcrel=no
- echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
- if $CC $CFLAGS -c conftest.s > /dev/null; then
- libffi_cv_as_x86_pcrel=yes
- fi
- ])
- if test "x$libffi_cv_as_x86_pcrel" = xyes; then
- AC_DEFINE(HAVE_AS_X86_PCREL, 1,
- [Define if your assembler supports PC relative relocs.])
- fi
-
- AC_CACHE_CHECK([assembler .ascii pseudo-op support],
- libffi_cv_as_ascii_pseudo_op, [
- libffi_cv_as_ascii_pseudo_op=unknown
- # Check if we have .ascii
- AC_TRY_COMPILE([asm (".ascii \\"string\\"");],,
- [libffi_cv_as_ascii_pseudo_op=yes],
- [libffi_cv_as_ascii_pseudo_op=no])
- ])
- if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
- AC_DEFINE(HAVE_AS_ASCII_PSEUDO_OP, 1,
- [Define if your assembler supports .ascii.])
- fi
-
- AC_CACHE_CHECK([assembler .string pseudo-op support],
- libffi_cv_as_string_pseudo_op, [
- libffi_cv_as_string_pseudo_op=unknown
- # Check if we have .string
- AC_TRY_COMPILE([asm (".string \\"string\\"");],,
- [libffi_cv_as_string_pseudo_op=yes],
- [libffi_cv_as_string_pseudo_op=no])
- ])
- if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
- AC_DEFINE(HAVE_AS_STRING_PSEUDO_OP, 1,
- [Define if your assembler supports .string.])
- fi
-fi
-
-if test x$TARGET = xX86_WIN64; then
- LT_SYS_SYMBOL_USCORE
- if test "x$sys_symbol_underscore" = xyes; then
- AC_DEFINE(SYMBOL_UNDERSCORE, 1, [Define if symbols are underscored.])
- fi
-fi
-
-
-FFI_EXEC_TRAMPOLINE_TABLE=0
-case "$target" in
- *arm*-apple-darwin*)
- FFI_EXEC_TRAMPOLINE_TABLE=1
- AC_DEFINE(FFI_EXEC_TRAMPOLINE_TABLE, 1,
- [Cannot use PROT_EXEC on this target, so, we revert to
- alternative means])
- ;;
- *-apple-darwin1[[10]]* | *-*-freebsd* | *-*-kfreebsd* | *-*-openbsd* | *-pc-solaris*)
- AC_DEFINE(FFI_MMAP_EXEC_WRIT, 1,
- [Cannot use malloc on this target, so, we revert to
- alternative means])
- ;;
-esac
-AM_CONDITIONAL(FFI_EXEC_TRAMPOLINE_TABLE, test x$FFI_EXEC_TRAMPOLINE_TABLE = x1)
-AC_SUBST(FFI_EXEC_TRAMPOLINE_TABLE)
-
-if test x$TARGET = xX86_64; then
- AC_CACHE_CHECK([assembler supports unwind section type],
- libffi_cv_as_x86_64_unwind_section_type, [
- libffi_cv_as_x86_64_unwind_section_type=yes
- echo '.section .eh_frame,"a",@unwind' > conftest.s
- if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
- libffi_cv_as_x86_64_unwind_section_type=no
- fi
- ])
- if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
- AC_DEFINE(HAVE_AS_X86_64_UNWIND_SECTION_TYPE, 1,
- [Define if your assembler supports unwind section type.])
- fi
-fi
-
-if test "x$GCC" = "xyes"; then
- AC_CACHE_CHECK([whether .eh_frame section should be read-only],
- libffi_cv_ro_eh_frame, [
- libffi_cv_ro_eh_frame=no
- echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
- if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
- if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- elif grep '.section.*eh_frame.*#alloc' conftest.c \
- | grep -v '#write' > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- fi
- fi
- rm -f conftest.*
- ])
- if test "x$libffi_cv_ro_eh_frame" = xyes; then
- AC_DEFINE(HAVE_RO_EH_FRAME, 1,
- [Define if .eh_frame sections should be read-only.])
- AC_DEFINE(EH_FRAME_FLAGS, "a",
- [Define to the flags needed for the .section .eh_frame directive. ])
- else
- AC_DEFINE(EH_FRAME_FLAGS, "aw",
- [Define to the flags needed for the .section .eh_frame directive. ])
- fi
-
- AC_CACHE_CHECK([for __attribute__((visibility("hidden")))],
- libffi_cv_hidden_visibility_attribute, [
- echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1 ; }' > conftest.c
- libffi_cv_hidden_visibility_attribute=no
- if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
- if grep '\.hidden.*foo' conftest.s >/dev/null; then
- libffi_cv_hidden_visibility_attribute=yes
- fi
- fi
- rm -f conftest.*
- ])
- if test $libffi_cv_hidden_visibility_attribute = yes; then
- AC_DEFINE(HAVE_HIDDEN_VISIBILITY_ATTRIBUTE, 1,
- [Define if __attribute__((visibility("hidden"))) is supported.])
- fi
-fi
-
-AH_BOTTOM([
-#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
-])
-
-AC_SUBST(TARGET)
-AC_SUBST(TARGETDIR)
-
-AC_SUBST(SHELL)
-
-AC_ARG_ENABLE(debug,
-[ --enable-debug debugging mode],
- if test "$enable_debug" = "yes"; then
- AC_DEFINE(FFI_DEBUG, 1, [Define this if you want extra debugging.])
- fi)
-AM_CONDITIONAL(FFI_DEBUG, test "$enable_debug" = "yes")
-
-AC_ARG_ENABLE(structs,
-[ --disable-structs omit code for struct support],
- if test "$enable_structs" = "no"; then
- AC_DEFINE(FFI_NO_STRUCTS, 1, [Define this is you do not want support for aggregate types.])
- fi)
-
-AC_ARG_ENABLE(raw-api,
-[ --disable-raw-api make the raw api unavailable],
- if test "$enable_raw_api" = "no"; then
- AC_DEFINE(FFI_NO_RAW_API, 1, [Define this is you do not want support for the raw API.])
- fi)
-
-AC_ARG_ENABLE(purify-safety,
-[ --enable-purify-safety purify-safe mode],
- if test "$enable_purify_safety" = "yes"; then
- AC_DEFINE(USING_PURIFY, 1, [Define this if you are using Purify and want to suppress spurious messages.])
- fi)
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- toolexecdir='$(exec_prefix)/$(target_alias)'
- toolexeclibdir='$(toolexecdir)/lib'
- else
- toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
- toolexeclibdir='$(libdir)'
- fi
- multi_os_directory=`$CC -print-multi-os-directory`
- case $multi_os_directory in
- .) ;; # Avoid trailing /.
- *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
- esac
- AC_SUBST(toolexecdir)
- AC_SUBST(toolexeclibdir)
-fi
-
-if test "${multilib}" = "yes"; then
- multilib_arg="--enable-multilib"
-else
- multilib_arg=
-fi
-
-AC_CONFIG_COMMANDS(include, [test -d include || mkdir include])
-AC_CONFIG_COMMANDS(src, [
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
-], [TARGETDIR="$TARGETDIR"])
-
-AC_CONFIG_LINKS(include/ffitarget.h:src/$TARGETDIR/ffitarget.h)
-
-AC_CONFIG_FILES(include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc)
-
-AC_OUTPUT
diff --git a/.pc/powerpc-ffi-softfloat/.timestamp b/.pc/powerpc-ffi-softfloat/.timestamp
deleted file mode 100644
index e69de29..0000000
--- a/.pc/powerpc-ffi-softfloat/.timestamp
+++ /dev/null
diff --git a/.pc/powerpc-ffi-softfloat/ChangeLog b/.pc/powerpc-ffi-softfloat/ChangeLog
deleted file mode 100644
index bba2d50..0000000
--- a/.pc/powerpc-ffi-softfloat/ChangeLog
+++ /dev/null
@@ -1,4722 +0,0 @@
-2012-02-10 Kai Tietz <ktietz@redhat.com>
-
- * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
- windows target.
- * configure: Regenerated.
-
-2012-02-08 Kai Tietz <ktietz@redhat.com>
-
- * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
- also FFI_THISCALL.
- * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
- (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
- (ffi_prep_closure_loc): Add FFI_THISCALL support.
- * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
- * src/x86/win32.S (ffi_closure_THISCALL): New closure code
- for thiscall-calling convention.
- * testsuite/libffi.call/closure_thiscall.c: New test.
-
-2012-01-28 Kai Tietz <ktietz@redhat.com>
-
- * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
- argument to prototype for specify calling-convention.
- (ffi_call): Add support for stdcall/thiscall convention.
- (ffi_prep_args): Likewise.
- (ffi_raw_call): Likewise.
- * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
- FFI_FASTCALL.
- * src/x86/win32.S (_ffi_call_win32): Add support for
- fastcall/thiscall calling-convention calls.
- * testsuite/libffi.call/fastthis1_win32.c: New test.
- * testsuite/libffi.call/fastthis2_win32.c: New test.
- * testsuite/libffi.call/fastthis3_win32.c: New test.
- * testsuite/libffi.call/strlen2_win32.c: New test.
- * testsuite/libffi.call/many2_win32.c: New test.
- * testsuite/libffi.call/struct1_win32.c: New test.
- * testsuite/libffi.call/struct2_win32.c: New test.
-
-2012-01-23 Andreas Schwab <schwab@linux-m68k.org>
-
- * src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
- mc68000. Test for __HAVE_68881__ in addition to __MC68881__.
-
-2012-01-19 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/48496
- * src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
-
-2012-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (i?86-*-*): Set TARGET to X86_64.
- * configure: Regenerate.
-
-2011-12-07 Andrew Pinski <apinski@cavium.com>
-
- PR libffi/50051
- * src/mips/n32.S: Add ".set mips4".
-
-2011-11-21 Andreas Tobler <andreast@fgznet.ch>
-
- * configure: Regenerate.
-
-2011-11-12 Petr Salinger <Petr.Salinger@seznam.cz>
-
- * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Fix kfreebsd support.
- * configure: Rebuilt.
-
-2011-11-12 Timothy Wall <twall@users.sf.net>
-
- * src/arm/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV): Max
- alignment of 4 for wince on ARM.
-
-2011-11-12 Kyle Moffett <Kyle.D.Moffett@boeing.com>
- Anthony Green <green@moxielogic.com>
-
- * src/ppc/sysv.S, src/ppc/ffi.c: Remove use of ppc string
- instructions (not available on some cores, like the PPC440).
-
-2011-11-12 Kimura Wataru <kimuraw@i.nifty.jp>
-
- * m4/ax_enable_builddir: Change from string comparison to numeric
- comparison for wc output.
- * configure.ac: Enable FFI_MMAP_EXEC_WRIT for darwin11 aka Mac OS
- X 10.7.
- * configure: Rebuilt.
-
-2011-11-12 Anthony Green <green@moxielogic.com>
-
- * Makefile.am (AM_CCASFLAGS): Add -g option to build assembly
- files with debug info.
- * Makefile.in: Rebuilt.
-
-2011-11-12 Jasper Lievisse Adriaanse <jasper@openbsd.org>
-
- * README: Update list of supported OpenBSD systems.
-
-2011-11-12 Anthony Green <green@moxielogic.com>
-
- * libtool-version: Update.
- * Makefile.am (nodist_libffi_la_SOURCES): Add src/debug.c if
- FFI_DEBUG.
- (libffi_la_SOURCES): Remove src/debug.c
- (EXTRA_DIST): Add src/debug.c
- * Makefile.in: Rebuilt.
- * README: Update for 3.0.11.
-
-2011-11-10 Richard Henderson <rth@redhat.com>
-
- * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
- * configure, aclocal.m4: Rebuild.
-
-2011-09-04 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/49594
- * src/powerpc/darwin_closure.S (stubs): Make the stub binding
- helper reference track the architecture pointer size.
-
-2011-08-25 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
- instructions.
- * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
-
-2011-07-11 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46660
- * testsuite/libffi.call/cls_double_va.c: xfail dg-output on
- mips-sgi-irix6*.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
- PRId8 instead of %hhu, %hhd.
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
- PRIu8): Define.
- [__sgi__] (PRId8, PRIu8): Define.
-
-2011-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
- Define.
- Use them to handle ELF vs. ECOFF differences.
- [__osf__] (_GLOBAL__F_ffi_call_osf): Define.
-
-2011-03-30 Timothy Wall <twall@users.sf.net>
-
- * src/powerpc/darwin.S: Fix unknown FDE encoding.
- * src/powerpc/darwin_closure.S: ditto.
-
-2011-02-25 Anthony Green <green@moxielogic.com>
-
- * src/powerpc/ffi.c (ffi_prep_closure_loc): Allow for more
- 32-bit ABIs.
-
-2011-02-15 Anthony Green <green@moxielogic.com>
-
- * m4/ax_cc_maxopt.m4: Don't -malign-double or use -ffast-math.
- * configure: Rebuilt.
-
-2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2011-02-13 Anthony Green <green@moxielogic.com>
-
- * include/ffi_common.h (UNLIKELY, LIKELY): Define.
- * src/x86/ffi64.c (UNLIKELY, LIKELY): Remove definition.
- * src/prep_cif.c (UNLIKELY, LIKELY): Remove definition.
-
- * src/prep_cif.c (initialize_aggregate): Convert assertion into
- FFI_BAD_TYPEDEF return. Initialize arg size and alignment to 0.
-
- * src/pa/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
- just return FFI_BAD_ABI when things are wrong.
- * src/arm/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/powerpc/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/mips/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/ia64/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/avr32/ffi.c (ffi_prep_closure_loc): Ditto.
-
-2011-02-11 Anthony Green <green@moxielogic.com>
-
- * src/sparc/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
- just return FFI_BAD_ABI when things are wrong.
-
-2011-02-09 Stuart Shelton <srcshelton@gmail.com>
-
- http://bugs.gentoo.org/show_bug.cgi?id=286911
- * src/mips/ffitarget.h: Clean up error messages.
- * src/java_raw_api.c (ffi_java_translate_args): Cast raw arg to
- ffi_raw*.
- * include/ffi.h.in: Add pragma for SGI compiler.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * configure.ac: Add powerpc64-*-darwin* support.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * README: Mention Interix.
-
-2011-02-09 Jonathan Callen <abcd@gentoo.org>
-
- * configure.ac: Add Interix to win32/cygwin/mingw case.
- * configure: Ditto.
- * src/closures.c: Treat Interix like Cygwin, instead of as a
- generic win32.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * testsuite/libffi.call/err_bad_typedef.c: Remove xfail.
- * testsuite/libffi.call/err_bad_abi.c: Remove xfail.
- * src/x86/ffi64.c (UNLIKELY, LIKELY): Define.
- (ffi_prep_closure_loc): Check for bad ABI.
- * src/prep_cif.c (UNLIKELY, LIKELY): Define.
- (initialize_aggregate): Check for bad types.
-
-2011-02-09 Landon Fuller <landonf@plausible.coop>
-
- * Makefile.am (EXTRA_DIST): Add build-ios.sh, src/arm/gentramp.sh,
- src/arm/trampoline.S.
- (nodist_libffi_la_SOURCES): Add src/arc/trampoline.S.
- * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Define.
- * src/arm/ffi.c (ffi_trampoline_table)
- (ffi_closure_trampoline_table_page, ffi_trampoline_table_entry)
- (FFI_TRAMPOLINE_CODELOC_CONFIG, FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET)
- (FFI_TRAMPOLINE_COUNT, ffi_trampoline_lock, ffi_trampoline_tables)
- (ffi_trampoline_table_alloc, ffi_closure_alloc, ffi_closure_free):
- Define for FFI_EXEC_TRAMPOLINE_TABLE case (iOS).
- (ffi_prep_closure_loc): Handl FFI_EXEC_TRAMPOLINE_TABLE case
- separately.
- * src/arm/sysv.S: Handle Apple iOS host.
- * src/closures.c: Handle FFI_EXEC_TRAMPOLINE_TABLE case.
- * build-ios.sh: New file.
- * fficonfig.h.in, configure, Makefile.in: Rebuilt.
- * README: Mention ARM iOS.
-
-2011-02-08 Oren Held <orenhe@il.ibm.com>
-
- * src/dlmalloc.c (_STRUCT_MALLINFO): Define in order to avoid
- redefinition of mallinfo on HP-UX.
-
-2011-02-08 Ginn Chen <ginn.chen@oracle.com>
-
- * src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
- aggregate return ABI. Flush cache.
- (ffi_prep_closure_loc): Flush cache.
-
-2011-02-11 Anthony Green <green@moxielogic.com>
-
- From Tom Honermann <tom.honermann@oracle.com>:
- * src/powerpc/aix.S (ffi_call_AIX): Support for xlc toolchain on
- AIX. Declare .ffi_prep_args. Insert nops after branch
- instructions so that the AIX linker can insert TOC reload
- instructions.
- * src/powerpc/aix_closure.S: Declare .ffi_closure_helper_DARWIN.
-
-2011-02-08 Ed <ed@kdtc.net>
-
- * src/powerpc/asm.h: Fix grammar nit in comment.
-
-2011-02-08 Uli Link <ul.mcamafia@linkitup.de>
-
- * include/ffi.h.in (FFI_64_BIT_MAX): Define and use.
-
-2011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46661
- * testsuite/libffi.call/cls_pointer.c (main): Cast void * to
- uintptr_t first.
- * testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
-
-2011-02-08 Rafael Avila de Espindola <respindola@mozilla.com>
-
- * configure.ac: Fix x86 test for pc related relocs.
- * configure: Rebuilt.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
- Handle case when CPU variant does not have long double support.
- * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
- and cores with soft floating point.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * configure.ac: Add mips*-*-rtems* support.
- * configure: Regenerate.
- * src/mips/ffitarget.h: Ensure needed constants are available
- for targets which do not have sgidefs.h.
-
-2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR target/40125
- * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
- * configure: Regenerate.
-
-2010-12-18 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/29152
- PR libffi/42378
- * src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
- (FFI_TRAMPOLINE_SIZE): Update for Darwin64.
- * src/powerpc/darwin.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
- backslashes.
- (libffi_cv_as_string_pseudo_op): Likewise.
- * configure: Regenerate.
-
-2010-12-03 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
- (ffi_closure_VFP): Same.
- (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
- directive.
-
-2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
- (PRIuPTR): Define.
-
-2010-11-29 Richard Henderson <rth@redhat.com>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
- (.eh_frame): Use FDE_ENCODING.
- (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
-
-2010-11-22 Jacek Caban <jacek@codeweavers.com>
-
- * configure.ac: Check for symbol underscores on mingw-w64.
- * configure: Rebuilt.
- * src/x86/win64.S: Correctly access extern symbols in respect to
- underscores.
-
-2010-11-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp: Rename ...
- * testsuite/lib/libffi.exp: ... to this.
- * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
- * libffi/testsuite/libffi.special/special.exp: Likewise.
-
-2010-10-28 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
- code, new parameter, and return value. Update comments.
- (ffi_prep_cif_machdep): Add case for VFP struct return values. Add
- call to layout_vfp_args().
- (ffi_call_SYSV): Update declaration.
- (ffi_call_VFP): New declaration.
- (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
- when ABI is FFI_VFP.
- (ffi_closure_VFP): New declaration.
- (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
- ffi_prep_incoming_args_SYSV().
- (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
- case handling.
- (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
- construction under VFP hard-float.
- (rec_vfp_type_p): New function.
- (vfp_type_p): Same.
- (place_vfp_arg): Same.
- (layout_vfp_args): Same.
- * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
- based on __ARM_PCS_VFP.
- (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
- fields.
- (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
- (FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
- * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
- direct call. Move function pointer load upwards.
- (ffi_call_VFP): New function.
- (ffi_closure_VFP): Same.
-
- * testsuite/lib/libffi-dg.exp (check-flags): New function.
- (dg-skip-if): New function.
- * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
- and compiler options include -mfloat-abi=hard.
- * testsuite/libffi.call/cls_longdouble_va.c: Same.
-
-2010-10-01 Jakub Jelinek <jakub@redhat.com>
-
- PR libffi/45677
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
- a multiple of 8.
- * testsuite/libffi.call/many2.c: New test.
-
-2010-08-20 Mark Wielaard <mjw@redhat.com>
-
- * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
- returns NULL.
-
-2010-08-09 Andreas Tobler <andreast@fgznet.ch>
-
- * configure.ac: Add target powerpc64-*-freebsd*.
- * configure: Regenerate.
- * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
- -mlong-double-128 only to linux targets.
- * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
- * testsuite/libffi.call/cls_longdouble.c: Likewise.
- * testsuite/libffi.call/huge_struct.c: Likewise.
-
-2010-08-05 Dan Witte <dwitte@mozilla.com>
-
- * Makefile.am: Pass FFI_DEBUG define to msvcc.sh for linking to the
- debug CRT when --enable-debug is given.
- * configure.ac: Define it.
- * msvcc.sh: Translate -g and -DFFI_DEBUG appropriately.
-
-2010-08-04 Dan Witte <dwitte@mozilla.com>
-
- * src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64
- platforms.
- * src/x86/ffi.c: Remove redundant ifdef checks.
- * src/prep_cif.c: Push stack space computation into src/x86/ffi.c
- for X86_ANY so return value space doesn't get added twice.
-
-2010-08-03 Neil Rashbrooke <neil@parkwaycc.co.uk>
-
- * msvcc.sh: Don't pass -safeseh to ml64 because behavior is buggy.
-
-2010-07-22 Dan Witte <dwitte@mozilla.com>
-
- * src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
- * src/prep_cif.c: Fix ABI assertion.
- * src/cris/ffi.c: Ditto.
-
-2010-07-10 Evan Phoenix <evan@fallingsnow.net>
-
- * src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
-
-2010-07-07 Dan Horák <dan@danny.cz>
-
- * include/ffi.h.in: Protect #define with #ifndef.
- * src/powerpc/ffitarget.h: Ditto.
- * src/s390/ffitarget.h: Ditto.
- * src/sparc/ffitarget.h: Ditto.
-
-2010-07-07 Neil Roberts <neil@linux.intel.com>
-
- * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
- 16-bytes.
-
-2010-07-02 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
- * Makefile.in: Regenerated.
-
-2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
- output, too.
- (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
- (libffi_cv_as_string_pseudo_op): Check for .string.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
-
-2010-05-11 Dan Witte <dwitte@mozilla.com>
-
- * doc/libffi.tex: Document previous change.
-
-2010-05-11 Makoto Kato <m_kato@ga2.so-net.ne.jp>
-
- * src/x86/ffi.c (ffi_call): Don't copy structs passed by value.
-
-2010-05-05 Michael Kohler <michaelkohler@live.com>
-
- * src/dlmalloc.c (dlfree): Fix spelling.
- * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
- * configure.ac: Ditto.
- * configure: Rebuilt.
-
-2010-04-13 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Build with -W3 instead of -Wall.
- * src/powerpc/ffi_darwin.c: Remove build warnings.
- * src/x86/ffi.c: Ditto.
- * src/x86/ffitarget.h: Ditto.
-
-2010-04-12 Dan Witte <dwitte@mozilla.com>
- Walter Meinl <wuno@lsvw.de>
-
- * configure.ac: Add OS/2 support.
- * configure: Rebuilt.
- * src/closures.c: Ditto.
- * src/dlmalloc.c: Ditto.
- * src/x86/win32.S: Ditto.
-
-2010-04-07 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
-
-2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2010-03-30 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Disable build warnings.
- * README (tested): Clarify windows build procedure.
-
-2010-03-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * libffi/src/x86/unix64.S (.eh_frame)
- [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
-
-2010-03-14 Matthias Klose <doko@ubuntu.com>
-
- * src/x86/ffi64.c: Fix typo in comment.
- * src/x86/ffi.c: Use /* ... */ comment style.
-
-2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/libffi.texi (The Closure API): Fix typo.
- * doc/libffi.info: Remove.
-
-2010-02-15 Matthias Klose <doko@ubuntu.com>
-
- * src/arm/sysv.S (__ARM_ARCH__): Define for processor
- __ARM_ARCH_7EM__.
-
-2010-01-15 Anthony Green <green@redhat.com>
-
- * README: Add notes on building with Microsoft Visual C++.
-
-2010-01-15 Daniel Witte <dwitte@mozilla.com>
-
- * msvcc.sh: New file.
-
- * src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
- * src/x86/ffi.c: Tweak function declaration and remove excess
- parens.
- * include/ffi.h.in: Add __declspec(align(8)) to typedef struct
- ffi_closure.
-
- * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
- function ffi_call_win32 on X86_WIN32.
- * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
- (ffi_call_STDCALL): Remove.
-
- * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
- to ffi_prep_cif_machdep for x86.
- * src/x86/ffi.c (ffi_prep_cif_machdep): To here.
-
-2010-01-15 Oliver Kiddle <okiddle@yahoo.co.uk>
-
- * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
- Sun Studio compiler compatibility.
-
-2010-01-12 Conrad Irwin <conrad.irwin@gmail.com>
-
- * doc/libffi.texi: Add closure example.
-
-2010-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40701
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
- PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
- * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
- alpha*-dec-osf*.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/return_ll1.c: Likewise.
- * testsuite/libffi.call/stret_medium2.c: Likewise.
- * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
- MAP_FAILED to char *.
-
-2010-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
-
-2009-12-31 Anthony Green <green@redhat.com>
-
- * README: Update for libffi 3.0.9.
-
-2009-12-27 Matthias Klose <doko@ubuntu.com>
-
- * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
- appropriate.
- * configure: Rebuilt.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
- avr32*-*-*.
- * testsuite/libffi.call/cls_double_va.c: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
- and inttypes.h.
- * testsuite/libffi.special/unwindtest.cc: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-openbsd*.
- * configure: Rebuilt.
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
- openbsd programs with -lpthread.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
- mips*-*-* and arm*-*-*.
- * testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c,
- testsuite/libffi.call/stret_medium2.c,
- testsuite/libffi.call/stret_medium.c,
- testsuite/libffi.call/stret_large.c,
- testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
-
-2009-12-31 Kay Tietz <ktietz70@googlemail.com>
-
- * testsuite/libffi.call/ffitest.h,
- testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
- definitions.
-
-2009-12-31 Carlo Bramini <carlo.bramix@libero.it>
-
- * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
- * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
-
-2009-12-31 Anthony Green <green@redhat.com>
- Blake Chaffin.
-
- * testsuite/libffi.call/huge_struct.c: New test case from Blake
- Chaffin @ Apple.
-
-2009-12-28 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
- local variables.
- (aix_adjust_aggregate_sizes): New function.
- (ffi_prep_cif_machdep): Call it.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
- * configure: Regenerate.
- * fficonfig.h.in: Likewise.
- * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
- Solaris/x86.
-
-2009-12-26 Andreas Schwab <schwab@linux-m68k.org>
-
- * 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.
-
-2009-12-25 Matthias Klose <doko@ubuntu.com>
-
- * man/ffi_call.3: Fix #include in examples.
- * doc/libffi.texi: Add dircategory.
-
-2009-12-25 Frank Everdij <f.p.x.everdij@tudelft.nl>
-
- * include/ffi.h.in: Placed '__GNUC__' ifdef around
- '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
- IRIX MIPSPro c99.
- * include/ffi_common.h: Added '__sgi' define to non
- '__attribute__((__mode__()))' integer typedefs.
- * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
- ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
- (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
- FFI_LONGDOUBLE support and alignment(N32 only).
- * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
- fixed non '__attribute__((__mode__()))' integer typedefs.
- * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
- since they are Linux/GNU Assembler specific.
-
-2009-12-25 Bradley Smith <brad@brad-smith.co.uk>
-
- * configure.ac, Makefile.am, src/avr32/ffi.c,
- src/avr32/ffitarget.h,
- src/avr32/sysv.S: Add AVR32 port.
- * configure, Makefile.in: Rebuilt.
-
-2009-12-21 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
- * configure: Regenerate.
-
-2009-12-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
- type on HP-UX.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
- double' arguments.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40700
- * src/closures.c [X86_64 && __sun__ && __svr4__]
- (FFI_MMAP_EXEC_WRIT): Define.
-
-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.
-
-2009-12-07 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
- typo.
-
-2009-12-05 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
- code.
- * src/powerpc/aix_closure.S: Same.
-
-2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
- linux64_closure.S.
-
-2009-12-04 Uros Bizjak <ubizjak@gmail.com>
-
- 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.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
- pfr for long double split between fpr13 and stack.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
- fparg_count twice for long double.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- PR libffi/42243
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03 Uros Bizjak <ubizjak@gmail.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
- Remove xfails for x86 linux targets.
-
-2009-12-02 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
- case.
-
-2009-12-01 David Edelsohn <edelsohn@gnu.org>
-
- * 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.
-
-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.
-
-2009-11-02 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/41908
- * testsuite/libffi.call/testclosure.c: New test.
-
-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.
-
-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.
-
-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.
-
-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.
-
-2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.am (install-html, install-pdf): Remove.
- * Makefile.in: Regenerate.
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2011-08-22 Jasper Lievisse Adriaanse <jasper@openbsd.org>
-
- * configure.ac: Add OpenBSD/hppa and OpenBSD/powerpc support.
- * configure: Rebuilt.
-
-2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24 Dave Korn <dave.korn.cygwin@gmail.com>
-
- 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.
-
-2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
-
- 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.
-
-2009-07-01 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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 "".)
-
-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.
-
-2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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.
-
-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.
-
-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.
-
-2009-06-16 Andrew Haley <aph@redhat.com>
-
- * configure.ac (TARGETDIR): Add missing blank lines.
- * configure: Regenerate.
-
-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.
-
-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.
-
-2009-06-12 Andrew Haley <aph@redhat.com>
-
- * Makefile.am: Remove info_TEXINFOS.
-
-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-11 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * 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.
-
-2009-06-09 Andrew Haley <aph@redhat.com>
-
- * src/x86/freebsd.S: Add missing file.
-
-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).
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * README: Import from libffi 3.0.8.
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Add xfails.
- * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
- * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
- * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
- * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
- * testsuite/libffi.call/stret_medium.c: Likewise.
- * testsuite/libffi.call/stret_large2.c: Likewise.
- * testsuite/libffi.call/stret_large.c: Likewise.
-
-2008-12-26 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_align_longdouble.c,
- testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
- failures on x86_64 cygwin/mingw.
-
-2008-12-22 Timothy Wall <twall@users.sf.net>
-
- * 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_loc_fn0.c,
- testsuite/libffi.call/closure_stdcall.c,
- testsuite/libffi.call/cls_align_pointer.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
- pointer to integer (intptr_t).
- * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_dbls_struct.c,
- testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c,
- testsuite/libffi.call/err_bad_abi.c: Clean up failures from
- compiler warnings.
-
-2008-03-04 Anthony Green <green@redhat.com>
- Blake Chaffin
- hos@tamanegi.org
-
- * testsuite/libffi.call/cls_align_longdouble_split2.c
- testsuite/libffi.call/cls_align_longdouble_split.c
- testsuite/libffi.call/cls_dbls_struct.c
- testsuite/libffi.call/cls_double_va.c
- testsuite/libffi.call/cls_longdouble.c
- testsuite/libffi.call/cls_longdouble_va.c
- testsuite/libffi.call/cls_pointer.c
- testsuite/libffi.call/cls_pointer_stack.c
- testsuite/libffi.call/err_bad_abi.c
- testsuite/libffi.call/err_bad_typedef.c
- testsuite/libffi.call/stret_large2.c
- testsuite/libffi.call/stret_large.c
- testsuite/libffi.call/stret_medium2.c
- testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
- libffi.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
- stdcall changes.
-
-2008-02-26 Anthony Green <green@redhat.com>
- Thomas Heller <theller@ctypes.org>
-
- * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
- comment.
-
-2008-02-03 Timothy Wall <twall@users.sf.net>
-
- * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
- offset based on code pointer, not data pointer.
-
-2008-01-31 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
- closures.
- * src/x86/ffitarget.h: Increase size of trampoline for stdcall
- closures.
- * src/x86/win32.S: Add assembly for stdcall closure.
- * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Change void (*)() to void (*)(void).
- * src/x86/ffi.c: Likewise.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ppc_closure.S: Insert licence header.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/m68k/sysv.S: Likewise.
-
- * src/sh64/ffi.c: Change void (*)() to void (*)(void).
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/m32r/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi64.c: Likewise.
- * src/alpha/ffi.c: Likewise.
- * src/alpha/osf.S: Likewise.
- * src/frv/ffi.c: Likewise.
- * src/s390/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/pa/hpux32.S: Likewise.
- * src/ia64/unix.S: Likewise.
- * src/ia64/ffi.c: Likewise.
- * src/sparc/ffi.c: Likewise.
- * src/mips/ffi.c: Likewise.
- * src/sh/ffi.c: Likewise.
-
-2008-02-15 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
- Define (conditionally), and use it to include cachectl.h.
- (ffi_prep_closure_loc): Fix cache flushing.
- * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- include/ffi.h.in,
- src/arm/ffitarget.h,
- src/arm/ffi.c,
- src/arm/sysv.S,
- src/powerpc/ffitarget.h,
- src/closures.c,
- src/sh64/ffitarget.h,
- src/sh64/ffi.c,
- src/sh64/sysv.S,
- src/types.c,
- src/x86/ffi64.c,
- src/x86/ffitarget.h,
- src/x86/win32.S,
- src/x86/darwin.S,
- src/x86/ffi.c,
- src/x86/sysv.S,
- src/x86/unix64.S,
- src/alpha/ffitarget.h,
- src/alpha/ffi.c,
- src/alpha/osf.S,
- src/m68k/ffitarget.h,
- src/frv/ffitarget.h,
- src/frv/ffi.c,
- src/s390/ffitarget.h,
- src/s390/sysv.S,
- src/cris/ffitarget.h,
- src/pa/linux.S,
- src/pa/ffitarget.h,
- src/pa/ffi.c,
- src/raw_api.c,
- src/ia64/ffitarget.h,
- src/ia64/unix.S,
- src/ia64/ffi.c,
- src/ia64/ia64_flags.h,
- src/java_raw_api.c,
- src/debug.c,
- src/sparc/v9.S,
- src/sparc/ffitarget.h,
- src/sparc/ffi.c,
- src/sparc/v8.S,
- src/mips/ffitarget.h,
- src/mips/n32.S,
- src/mips/o32.S,
- src/mips/ffi.c,
- src/prep_cif.c,
- src/sh/ffitarget.h,
- src/sh/ffi.c,
- src/sh/sysv.S: Update license text.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * src/x86/win32.S (_ffi_closure_STDCALL): New function.
- (.eh_frame): Add FDE for it.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * configure.ac: Also check if assembler supports pc-relative
- relocs on X86_WIN32 targets.
- * configure: Regenerate.
- * src/x86/win32.S (ffi_prep_args): Declare extern, not global.
- (_ffi_call_SYSV): Add missing function type symbol .def and
- add EH markup labels.
- (_ffi_call_STDCALL): Likewise.
- (_ffi_closure_SYSV): Likewise.
- (_ffi_closure_raw_SYSV): Likewise.
- (.eh_frame): Add hand-crafted EH data.
-
-2009-04-09 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
- version 3 of the GNU General Public License and to point readers
- at the COPYING3 file and the FSF's license web page.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-12-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libffi/26048
- * configure.ac (HAVE_AS_X86_PCREL): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
- RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
- RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
- * src/x86/unix64.S (.Lstore_table): Move to .text section.
- (.Lload_table): Likewise.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
- signed/unsigned int8/16 return values.
- * src/sparc/v8.S (ffi_call_v8): Likewise.
- (ffi_closure_v8): Likewise.
-
-2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
- Steve Ellcey <sje@cup.hp.com>
-
- * configure: Regenerate for new libtool.
- * Makefile.in: Ditto.
- * include/Makefile.in: Ditto.
- * aclocal.m4: Ditto.
-
-2008-08-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
- FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
- Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
- Adjust copyright notice.
- * src/powerpc/ffi.c: Add two new flags to indicate if we have one
- register or two register to use for FFI_SYSV structs.
- (ffi_prep_cif_machdep): Pass the right register flag introduced above.
- (ffi_closure_helper_SYSV): Fix the return type for
- FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
- Adjust copyright notice.
-
-2008-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
- int.
-
-2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2008-06-07 Joseph Myers <joseph@codesourcery.com>
-
- * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
- powerpc-*-beos*): Remove.
- * configure: Regenerate.
-
-2008-05-09 Julian Brown <julian@codesourcery.com>
-
- * Makefile.am (LTLDFLAGS): New.
- (libffi_la_LDFLAGS): Use above.
- * Makefile.in: Regenerate.
-
-2008-04-18 Paolo Bonzini <bonzini@gnu.org>
-
- PR bootstrap/35457
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2008-03-26 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add .note.GNU-stack on Linux.
- * src/sh64/sysv.S: Likewise.
-
-2008-03-26 Daniel Jacobowitz <dan@debian.org>
-
- * src/arm/sysv.S: Fix ARM comment marker.
-
-2008-03-26 Jakub Jelinek <jakub@redhat.com>
-
- * src/alpha/osf.S: Add .note.GNU-stack on Linux.
- * src/s390/sysv.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
- * src/x86/unix64.S: Likewise.
- * src/x86/sysv.S: Likewise.
- * src/sparc/v8.S: Likewise.
- * src/sparc/v9.S: Likewise.
- * src/m68k/sysv.S: Likewise.
- * src/arm/sysv.S: Likewise.
-
-2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * aclocal.m4: Regenerate.
- * configure: Likewise.
- * Makefile.in: Likewise.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2008-02-12 Bjoern Koenig <bkoenig@alpha-tierchen.de>
- Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-freebsd* target.
- * configure: Regenerate.
-
-2008-01-30 H.J. Lu <hongjiu.lu@intel.com>
-
- PR libffi/34612
- * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
- returning struct.
-
- * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
- tests.
-
-2008-01-24 David Edelsohn <edelsohn@gnu.org>
-
- * configure: Regenerate.
-
-2008-01-06 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
-
-2008-01-05 Andreas Tobler <a.tobler@schweiz.org>
-
- PR testsuite/32843
- * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
- signed/unsigned int8/16 for X86_DARWIN.
- Updated copyright info.
- Handle one and two byte structs with special cif->flags.
- * src/x86/ffitarget.h: Add special types for one and two byte structs.
- Updated copyright info.
- * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
- sysv.S
- Remove code to pop args from the stack after call.
- Special-case signed/unsigned for int8/16, one and two byte structs.
- (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
- FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
- FFI_TYPE_SINT32.
- Updated copyright info.
-
-2007-12-08 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_call_N32): Replace dadd with ADDU, dsub with
- SUBU, add with ADDU and use smaller code sequences.
-
-2007-12-07 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
- type.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
- defined.
- (ffi_java_raw): New typedef.
- (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
- ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
- ffi_java_raw.
- (ffi_java_raw_closure) : Same.
- (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
- parameter types.
- * src/java_raw_api.c (ffi_java_raw_size): Replace FFI_SIZEOF_ARG with
- FFI_SIZEOF_JAVA_RAW.
- (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
- Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
- sizeof(ffi_java_raw) for alignment calculations.
- (ffi_java_ptrarray_to_raw): Same.
- (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
- if FFI_SIZEOF_JAVA_RAW == 4.
- (ffi_java_raw_to_rvalue): Same.
- (ffi_java_raw_call): Change type of raw to ffi_java_raw.
- (ffi_java_translate_args): Same.
- (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
- parameter types.
- * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
- pointer values.
-
-2007-12-01 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/31937
- * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
- Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
- * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
- set the NUM_FPR_ARG_REGISTERS according to.
- Add support for potential soft-float support under hard-float
- architecture.
- (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
- FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
- to the FFI_LINUX_SOFT_FLOAT ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Make sure not to store float/double
- on archs where __NO_FPRS__ is true.
- Add FFI_TYPE_UINT128 support.
- * src/powerpc/sysv.S: Add support for soft-float long-double-128.
- Adjust copyright notice.
-
-2007-11-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
- * include/ffi_common.h: ... here.
- Update copyright.
-
-2007-11-17 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
- * testsuite/libffi.call/return_ldl.c: New test.
-
-2007-09-04 <aph@redhat.com>
-
- * src/arm/sysv.S (UNWIND): New.
- (Whole file): Conditionally compile unwinder directives.
- * src/arm/sysv.S: Add unwinder directives.
-
- * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
- Only treat r0 as a struct address if we're actually returning a
- struct by address.
- Only copy the bytes that are actually within a struct.
- (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
- is returned in r0, not passed by address.
- (ffi_call): Allocate a word-sized temporary for the case where
- a composite is returned in r0.
- (ffi_prep_incoming_args_SYSV): Align as necessary.
-
-2007-08-05 Steven Newbury <s_j_newbury@yahoo.co.uk>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
- directly using the sys_cacheflush syscall.
-
-2007-07-27 Andrew Haley <aph@redhat.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
-
-2007-09-03 Maciej W. Rozycki <macro@linux-mips.org>
-
- * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure: Likewise.
-
-2007-08-24 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/return_sl.c: New test.
-
-2007-08-10 David Daney <ddaney@avtrex.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/nested_struct5.c,
- testsuite/libffi.call/cls_double.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/nested_struct.c,
- testsuite/libffi.call/cls_2byte.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_sint16.c,
- testsuite/libffi.call/cls_align_uint32.c,
- testsuite/libffi.call/cls_20byte.c,
- testsuite/libffi.call/cls_float.c,
- testsuite/libffi.call/nested_struct2.c,
- testsuite/libffi.call/cls_5_1_byte.c,
- testsuite/libffi.call/nested_struct4.c,
- testsuite/libffi.call/cls_24byte.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: Remove xfail for mips64*-*-*.
-
-2007-08-10 David Daney <ddaney@avtrex.com>
-
- 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.
-
-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*.
- * 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.
-
-2006-12-13 Andreas Tobler <a.tobler@schweiz.org>
-
- * aclocal.m4: Regenerate with aclocal -I .. as written in the
- Makefile.am.
-
-2006-10-31 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
- (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
- Darwin.
- * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
- * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10 Paolo Bonzini <bonzini@gnu.org>
- Sandro Tolaini <tolaini@libero.it>
-
- * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
- conditional.
- * configure: Regenerated.
- * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
- (EXTRA_DIST): Add src/x86/darwin.S.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
- X86_WIN32, and additionally align stack to 16 bytes.
- * src/x86/darwin.S: New, based on sysv.S.
- * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12 David Daney <ddaney@avtrex.com>
-
- PR libffi/23935
- * include/Makefile.am: Install both ffi.h and ffitarget.h in
- $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
- * aclocal.m4: Regenerated for automake 1.9.6.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
-2006-08-17 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h: Remove lint directives.
- * include/ffi.h.in: Likewise.
-
-2006-07-25 Torsten Schoenfeld <kaffeetisch@gmx.de>
-
- * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
- for 32-bit architectures.
- * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
- xfail remains for mips64.
-
-2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
-
- * Makefile.am: Add install-html target. Add install-html to .PHONY
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
- stack slot.
-
-2006-04-22 Andreas Tobler <a.tobler@schweiz.ch>
-
- * README: Remove notice about 'Crazy Comments'.
- * src/debug.c: Remove lint directives. Cleanup white spaces.
- * src/java_raw_api.c: Likewise.
- * src/prep_cif.c: Likewise.
- * src/raw_api.c: Likewise.
- * src/ffitest.c: Delete. No longer needed, all test cases migrated
- to the testsuite.
- * src/arm/ffi.c: Remove lint directives.
- * src/m32r/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/sh/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/pa/hpux32.S: Correct unwind offset calculation for
- ffi_closure_pa32.
- * src/pa/linux.S: Likewise.
-
-2006-04-12 James E Wilson <wilson@specifix.com>
-
- PR libgcj/26483
- * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
- (hfa_type_load): Call stf_spill.
- (hfa_type_store): Call ldf_fill.
- (ffi_call): Adjust calls to above routines. Add local temps for
- macro result.
-
-2006-04-10 Matthias Klose <doko@debian.org>
-
- * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
- directory names containing underscores.
-
-2006-04-07 James E Wilson <wilson@specifix.com>
-
- * testsuite/libffi.call/float4.c: New testcase.
-
-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.
-
-2006-03-24 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Default
- for 32-bit using IBM extended double format. Fix FFI_LAST_ABI.
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
- FFI_TYPE_LONGDOUBLE.
- (ffi_prep_args64): Assert using IBM extended double.
- (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
- Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
- (ffi_call): Handle FFI_LINUX.
- (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
- gpr3 return pointer as for struct return. Handle FFI_LINUX
- FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf"
- unnecessarily.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
- for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table.
- Don't use r6 as pointer to results, instead use sp offset. Don't
- make a special call to load lr with case table address, instead
- use offset from previous call.
- * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
- return.
-
-2006-03-15 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
- passed with FP registers correctly.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S: Likewise.
-
-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.
-
-2006-02-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
- -O2, -O3, -Os and the warning flags -W -Wall.
- * testsuite/libffi.special/special.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
- unused parameter unused for gcc or else do nothing.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
- * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
- * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
- * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
- * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
- * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
- * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
- * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
- * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
- void* to avoid compiler warning.
- (main): Likewise.
- (cls_struct_align_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
- * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
- * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
- userdata unused.
- (cls_ret_schar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
- userdata unused.
- (cls_ret_sint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
- userdata unused.
- (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn): Mark cif and
- userdata unused.
- (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
- userdata unused.
- (cls_ret_uint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
- userdata unused.
- (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
- * testsuite/libffi.call/float1.c (main): Remove unused variable i.
- Cleanup white spaces.
- * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
- * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
- cif and userdata unused.
- * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
- Likewise.
- * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
- formatters to silence gcc.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct4.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct6.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
- * testsuite/libffi.call/problem1.c (stub): Likewise.
- * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
- gcc.
- * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
- in the last commit for this test case in the test case itself.
- * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
- unused.
- * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
- * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
- * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
- * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
- * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
- * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Fix register numbers in the FDE for
- ffi_closure_SYSV.
-
-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.
-
-2006-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
- and cast integer to void * if needed. Update the pointer to
- the FP register saved area correctly.
-
-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.
-
-2006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/return_dbl.c: New test case.
- * testsuite/libffi.call/return_dbl1.c: Likewise.
- * testsuite/libffi.call/return_dbl2.c: Likewise.
- * testsuite/libffi.call/return_fl.c: Likewise.
- * testsuite/libffi.call/return_fl1.c: Likewise.
- * testsuite/libffi.call/return_fl2.c: Likewise.
- * testsuite/libffi.call/return_fl3.c: Likewise.
- * testsuite/libffi.call/closure_fn6.c: Likewise.
-
- * 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.
-
-2006-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.ac: Enable libffi for sparc64-*-freebsd*.
- * configure: Rebuilt.
-
-2006-01-18 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
- instead do the shifting inline.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
- shift count unconditionally. Simplify load sequences for 1, 2, 3, 4
- and 8 byte structs, for the remaining struct sizes don't call
- __lshrdi3, instead do the shifting inline.
-
-2005-12-07 Thiemo Seufer <ths@networkno.de>
-
- * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
- missing parentheses.
- * src/mips/o32.S (ffi_call_O32): Code formatting. Define
- and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
- (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
- A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
- V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
- FA_0_0_OFF2.
- * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
- endianness bugs.
- (ffi_prep_closure): Improve trampoline instruction scheduling.
- (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c: Formatting.
- (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
- (ffi_prep_args64): Likewise.
-
-2005-09-30 Geoffrey Keating <geoffk@apple.com>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
- darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26 Tom Tromey <tromey@redhat.com>
-
- * 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.
-
-2005-08-25 Alan Modra <amodra@bigpond.net.au>
-
- PR target/23404
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
- homed fp args.
- (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11 Jakub Jelinek <jakub@redhat.com>
-
- * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
- (AH_BOTTOM): Add FFI_HIDDEN definition.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * src/powerpc/ffi.c (hidden): Remove.
- (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
- ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
- .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
- * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
- add FFI_HIDDEN to its prototype.
- (ffi_closure_SYSV_inner): New.
- * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
- * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10 Alfred M. Szmidt <ams@gnu.org>
-
- PR libffi/21819:
- * configure: Rebuilt.
- * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
- DW_CFA_offset_extended_sf rather than
- DW_CFA_GNU_negative_offset_extended.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
-
- * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
- on sh3.
- (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
- * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
- partially on register.
- (ffi_closure_helper_SYSV): Likewise.
- (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_call): Handle small structures correctly.
- Remove empty line.
- * src/sh64/ffi.c (simple_type): Remove.
- (return_type): Handle small structures correctly.
- (ffi_prep_args): Likewise.
- (ffi_call): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
- Emit position independent code if PIC and remove wrong datalabel
- prefixes from EH data.
-
-2005-07-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure.ac: Add POWERPC_FREEBSD rules.
- * configure: Regenerate.
- * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
- (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
- * src/powerpc/ffi.c: Add flags to handle small structure returns
- in ffi_call_SYSV.
- (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
- Aka FFI_SYSV.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Add return types for small structures.
- * src/powerpc/sysv.S: Add bits to handle small structures for
- final SYSV 4 ABI.
-
-2005-07-10 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_5_1_byte.c: New test file.
- * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05 Randolph Chung <tausq@debian.org>
-
- * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
- as FFI_TYPE_SMALL_STRUCT3. Break out handling for 5-7 byte
- structures. Kill compilation warnings.
- (ffi_closure_inner_LINUX): Print return values as hex in debug
- message. Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
- Properly handle 5-7 byte structure returns.
- * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
- (FFI_TYPE_SMALL_STRUCT2): Remove.
- (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
- (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
- * src/pa/linux.S: Mark source file as using PA1.1 assembly.
- (checksmst1, checksmst2): Remove.
- (checksmst3): Optimize handling of 3-byte struct returns.
- (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libgcj/21943
- * src/mips/n32.S: Enforce PIC code.
- * src/mips/o32.S: Likewise.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
- * configure: Regenerate.
-
-2005-06-01 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
- to call ffi_closure_helper_SYSV. Append @local instead.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
- Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
- * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
- * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
- include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-05-08 Richard Henderson <rth@redhat.com>
-
- PR libffi/21285
- * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04 Andreas Degert <ad@papyrus-gmbh.de>
- Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
- bit 11 of flags.
- (ffi_call): Mask return type field. Pass ssecount to ffi_call_unix64.
- (ffi_prep_closure): Set carry bit if sse-used flag set.
- * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
- Only load sse registers if ssecount non-zero.
- (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
- powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
- * configure: Regenerate.
-
-2005-04-20 Hans-Peter Nilsson <hp@axis.com>
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
- have Tcl8.3-compatible intermediate variable.
-
-2005-04-18 Simon Posnjak <simon.posnjak@siol.net>
- Hans-Peter Nilsson <hp@axis.com>
-
- * Makefile.am: Add CRIS support.
- * configure.ac: Likewise.
- * Makefile.in, configure, testsuite/Makefile.in,
- include/Makefile.in: Regenerate.
- * src/cris: New directory.
- * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
- * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
- \r?\n in output tests.
-
-2005-04-12 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-03-30 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30 Steve Ellcey <sje@cup.hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
- (ffi_sarg) Ditto.
- * src/ia64/unix.S (ffi_closure_unix): Extend gp
- to 64 bits in ILP32 mode.
- Load 64 bits even for short data.
-
-2005-03-23 Mike Stump <mrs@apple.com>
-
- * src/powerpc/darwin.S: Update for -m64 multilib.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21 Zack Weinberg <zack@codesourcery.com>
-
- * 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.
-
-2005-02-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
- odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR libffi/20104
- * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11 Janis Johnson <janis187@us.ibm.com>
-
- * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
- * testsuite/libffi.call/float.c: Ditto.
- * testsuite/libffi.call/float2.c: Ditto.
- * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * testsuite/libffi.special/special.exp (cxx_options): Add
- -shared-libgcc.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
- (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
- offset parameters with a type parameter; deduce size and structure
- alignment. Update all users.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
- (FFI_TYPE_LONGDOUBLE): Fix for ia64.
- * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
- into ffi_prep_closure.
- * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
- from scratch.
-
-2004-12-27 Richard Henderson <rth@redhat.com>
-
- * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25 Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
- (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
- (merge_classes): Check for it.
- (SSE_CLASS_P): New.
- (classify_argument): Pass byte_offset by value; perform all updates
- inside struct case.
- (examine_argument): Add classes argument; handle
- X86_64_COMPLEX_X87_CLASS.
- (ffi_prep_args): Merge into ...
- (ffi_call): ... here. Share stack frame with ffi_call_unix64.
- (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
- (ffi_fill_return_value): Remove.
- (ffi_prep_closure): Remove dead assert.
- (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
- Rewrite to use struct register_args instead of va_list. Create
- flags for handling structure returns.
- * src/x86/unix64.S: Remove dead strings.
- (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share
- stack frame with ffi_call. Handle structure returns properly.
- (float2sse, floatfloat2sse, double2sse): Remove.
- (sse2float, sse2double, sse2floatfloat): Remove.
- (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite
- to handle structure returns properly.
-
-2004-12-08 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
- PICFLAG.
- * Makefile.in: Regenerated.
-
-2004-12-02 Richard Sandiford <rsandifo@redhat.com>
-
- * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
- * configure, aclocal.m4, Makefile.in: Regenerate.
- * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-25 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool reversion.
-
-2004-11-24 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23 Richard Sandiford <rsandifo@redhat.com>
-
- * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
- of jal. Use an absolute encoding for the frame information.
-
-2004-11-23 Kelley Cook <kcook@gcc.gnu.org>
-
- * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS.
- * acinclude.m4: Delete logic for sincludes.
- * aclocal.m4, Makefile.in, configure: Regenerate.
- * include/Makefile: Likewise.
- * testsuite/Makefile: Likewise.
-
-2004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
- on a 8-byte boundary.
- * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
- long long values. Round stack allocation to a multiple of 8 bytes
- for ATPCS compatibility.
- * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
- names. Handle returning long long types. Add Thumb and interworking
- support. Improve soft-float code.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
- (libffi_exit): New function.
- (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR other/18138
- * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
- * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
- the function returning a structure pointed with R2.
- * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
- the structure return value if T bit set. Emit position
- independent code and EH data if PIC.
-
-2004-10-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * Makefile.am: Add m32r support.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * confiugre: Regenerate.
- * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
- (uint64, sint64, double, longdouble)
- * src/m32r: New directory.
- * src/m32r/ffi.c: New file.
- * src/m32r/sysv.S: Likewise.
- * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * testsuite/libffi.call/negint.c: New test case.
-
-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.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/many_win32.c: Remove whitespaces.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
- whitespaces.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Fix comments and identation.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
- (ffi_prep_args): Handle longdouble arguments.
- (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
- longdouble.
- (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
- * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
- values.
- * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
- * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/aix.S: Remove whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
- * src/powerpc/asm.h: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffitarget.h: Likewise.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
-
-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.in: Read configure.host.
- * 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 shouldn't 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.
-
-2004-08-24 David Daney <daney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
- to zero.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23 David Daney <daney@avtrex.com>
-
- PR libgcj/13141
- * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
- * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
- (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
- parameters and return types.
- (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
- (ffi_prep_closure): Ditto.
- (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
- alignment calculations.
- * src/mips/o32.S (ffi_closure_O32): Don't use floating point
- instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14 Casey Marshall <csm@gnu.org>
-
- * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
- contain `FFI_TYPE_UINT64' as return type for any 64-bit
- integer (O32 ABI only).
- (ffi_prep_closure): new function.
- (ffi_closure_mips_inner_O32): new function.
- * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
- `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
- * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
- 64 bit integers correctly.
- (ffi_closure_O32): new function.
- Added DWARF-2 unwind info for both functions.
-
-2004-08-10 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01 Robert Millan <robertmh@gnu.org>
-
- * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
- * configure: Regenerate.
-
-2004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
-
- * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
- and mmap() explicitly instead of relying on preset autoconf cache
- variables.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
- (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
- character on Darwin, use '\n\t' instead.
-
-2004-06-26 Matthias Klose <doko@debian.org>
-
- * libtool-version: Fix typo in revision/age.
-
-2004-06-17 Matthias Klose <doko@debian.org>
-
- * libtool-version: New.
- * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
- * Makefile.in: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * Makefile.am: Remove useless multilib rules.
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate with automake 1.8.5.
- * configure.ac: Remove useless multilib configury.
- * configure: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * .cvsignore: New file.
-
-2004-06-10 Jakub Jelinek <jakub@redhat.com>
-
- * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
- fp_done.
- (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
- changed from 8.
-
-2004-06-06 Sean McNeil <sean@mcneil.com>
-
- * configure.ac: Add x86_64-*-freebsd* support.
- * configure: Regenerate.
-
-2004-04-26 Joe Buck <jbuck@welsh-buck.org>
-
- Bug 15093
- * configure.ac: Test for existence of mmap and sys/mman.h before
- checking blacklist. Fix suggested by Jim Wilson.
- * configure: Regenerate.
-
-2004-04-26 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
- FDE location.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
- error. Reported by Thomas Heller <theller@python.net>.
- * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20 Matthias Klose <doko@debian.org>
-
- * src/pa/linux.S: Fix typo.
-
-2004-03-19 Matthias Klose <doko@debian.org>
-
- * Makefile.am: Update.
- * Makefile.in: Regenerate.
- * src/pa/ffi.h.in: Remove.
- * src/pa/ffitarget.h: New file.
-
-2004-02-10 Randolph Chung <tausq@debian.org>
-
- * Makefile.am: Add PA support.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * configure.ac: Add PA target.
- * configure: Regenerate.
- * src/pa/ffi.c: New file.
- * src/pa/ffi.h.in: Add PA support.
- * src/pa/linux.S: New file.
- * prep_cif.c: Add PA support.
-
-2004-03-16 Hosaka Yuji <hos@tamanegi.org>
-
- * src/types.c: Fix alignment size of X86_WIN32 case int64 and
- double.
- * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
- with ecif->cif->flags.
- (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
- with cif->flags.
- (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
- (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
- * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
- sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.in: Rename file to ...
- * configure.ac: ... this.
- * fficonfig.h.in: Regenerate.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2004-03-12 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Fix EH information so it corresponds to
- changes in EH format resulting from addition of linkonce support.
- * src/powerpc/darwin_closure.S: Likewise.
-
-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.
-
-2004-03-11 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
- arguments from fp registers only for the first 8 parameter slots.
- Don't convert a float parameter when passed in memory.
-
-2004-03-09 Hans-Peter Nilsson <hp@axis.com>
-
- * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
-
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
- ecif->cif->bytes to bytes.
- (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
- * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
- (ffi_closure_helper_LINUX64): Fix typo.
- * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
- for powerpc64-*-*.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
- long double function return and long double arg handling.
- (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
- Use "end_pfr" instead of "nf". Correct long double handling.
- Localise "temp".
- * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
- return value.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
- space for long double return value. Adjust stack frame and offsets.
- Load f2 long double return.
-
-2004-02-07 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
- when the structure return address is passed in %o0.
- (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
- (ffi_v9_layout_struct): Align the field following a nested structure
- on a word boundary. Use memmove instead of memcpy.
- (ffi_call): Update call to ffi_V9_return_struct.
- (ffi_prep_closure): Define 'ctx' only for V8.
- (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
- and ffi_closure_sparc_inner_v9.
- (ffi_closure_sparc_inner_v8): Return long doubles by reference.
- Always skip the structure return address. For structures and long
- doubles, copy the argument directly.
- (ffi_closure_sparc_inner_v9): Skip the structure return address only
- if required. Shift the maximum floating-point slot accordingly. For
- big structures, copy the argument directly; otherwise, left-justify the
- argument and call ffi_v9_layout_struct to lay out the structure on
- the stack.
- * src/sparc/v8.S: Undef STACKFRAME before defining it.
- (ffi_closure_v8): Pass the structure return address. Update call to
- ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
- Skip the 'unimp' insn when returning long doubles and structures.
- * src/sparc/v9.S: Undef STACKFRAME before defining it.
- (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
- FFI_TYPE_INT handling. Load structures both in integers and
- floating-point registers on return.
- * README: Update status of the SPARC port.
-
-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.
-
-2004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
-
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
- value as of type ffi_arg, not unsigned int.
-
-2004-01-21 Michael Ritzert <ritzert@t-online.de>
-
- * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
- of the LHS.
-
-2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
- Solaris.
-
-2004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
- to void *.
-
-2003-12-10 Richard Henderson <rth@redhat.com>
-
- * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
- size_t instead of int.
-
-2003-12-04 Hosaka Yuji <hos@tamanegi.org>
-
- * testsuite/libffi.call/many_win32.c: Include <float.h>.
- * testsuite/libffi.call/many_win32.c (main): Replace variable
- int i with unsigned long ul.
-
- * testsuite/libffi.call/cls_align_uint64.c: New test case.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02 Hosaka Yuji <hos@tamanegi.org>
-
- PR other/13221
- * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
- Align arguments to 32 bits.
-
-2003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR other/13221
- * testsuite/libffi.call/cls_multi_sshort.c: New test case.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-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.
-
-2003-11-21 Andreas Jaeger <aj@suse.de>
- Andreas Tobler <a.tobler@schweiz.ch>
-
- * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
- * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
- * Makefile.in: Rebuilt.
- * aclocal.m4: Likewise.
- * configure: Likewise.
- * fficonfig.h.in: Likewise.
- * testsuite/lib/libffi-dg.exp: Add include dir.
- * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
- for ffi_closure if available.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
- Add -lgcc_s to additional flags.
-
-2003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.in, include/Makefile.am: PR libgcj/11147, install
- the ffitarget.h header file in a gcc versioned and target
- dependent place.
- * configure: Regenerated.
- * Makefile.in, include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Print result and check
- with dg-output to make debugging easier.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
- static.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_9byte2.c: New test case.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_double.c: Do a check on the result.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/prep_cif.c (ffi_prep_cif): Move the validity check after
- the initialization.
-
-2003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
- FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
- __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-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
-
-2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
- _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
- Used when FFI_DEBUG = 1.
-
-2003-10-14 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
- and align.
-
-2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
- FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
- SPARC64. Cleanup whitespaces.
-
-2003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
- strongarm, xscale. Cleanup whitespaces.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Cleanup whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
- * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
- parameter stack.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
- according to the Darwin/AIX ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_DARWIN): Likewise.
- Remove the outgoing parameter stack logic. Simplify the evaluation
- of the different CASE types.
- (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
- statement in the trampoline code.
-
-2003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
- for the register size.
- (ffi_closure_helper_SYSV): Handle the structure return value
- address correctly.
- (ffi_closure_helper_SYSV): Return the appropriate type when
- the registers are used for the structure return value.
- * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
- the 64-bit return value. Update copyright years.
-
-2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
- srcdir for ffi_mips.h.
-
-2003-09-12 Alan Modra <amodra@bigpond.net.au>
-
- * src/prep_cif.c (initialize_aggregate): Include tail padding in
- structure size.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
- placement of float result.
- * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
- cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Merge identical SH and ARM
- typedefs, and add POWERPC64.
- * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
- struct split over gpr and rest.
- (ffi_prep_cif_machdep): Correct intarg_count for structures.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
- passing correctly.
-
-2003-09-09 Alan Modra <amodra@bigpond.net.au>
-
- * configure: Regenerate.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Remove build rules for ffitest.
- * Makefile.in: Rebuilt.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
- about implicit declaration of abort().
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
- * Makefile.in: Rebuilt.
- * configure.in: Add dejagnu test framework.
- * configure: Rebuilt.
-
- * testsuite/Makefile.am: New file.
- * testsuite/Makefile.in: Built
- * testsuite/lib/libffi-dg.exp: New file.
- * testsuite/config/default.exp: Likewise.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Likewise.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float1.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/many.c: Likewise.
- * testsuite/libffi.call/many_win32.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
- * testsuite/libffi.call/strlen.c: Likewise.
- * testsuite/libffi.call/strlen_win32.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
- * testsuite/libffi.call/struct2.c: Likewise.
- * testsuite/libffi.call/struct3.c: Likewise.
- * testsuite/libffi.call/struct4.c: Likewise.
- * testsuite/libffi.call/struct5.c: Likewise.
- * testsuite/libffi.call/struct6.c: Likewise.
- * testsuite/libffi.call/struct7.c: Likewise.
- * testsuite/libffi.call/struct8.c: Likewise.
- * testsuite/libffi.call/struct9.c: Likewise.
- * testsuite/libffi.special/special.exp: New file.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
- copyright years.
-
-2003-08-02 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
- structure passing.
- (ffi_closure_helper_LINUX64): Likewise.
- * src/powerpc/linux64.S: Remove code writing to parm save area.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
- address in lr from ffi_closure_helper_LINUX64 call to calculate
- table address. Optimize function tail.
-
-2003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/sparc/ffi.c: Handle all floating point registers.
- * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
-
- * README: Note that libffi is not part of GCC. Update the project
- URL and status.
-
-2003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
- Use C style comments.
-
-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
- should be read-only.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * include/ffi.h.in (EH_FRAME_FLAGS): Define.
- * src/alpha/osf.S: Use EH_FRAME_FLAGS.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
- * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
- if -fpic/-fPIC/-mrelocatable.
- * src/powerpc/powerpc_closure.S: Likewise.
- * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
- #write in .eh_frame flags.
- * src/sparc/v9.S: Likewise.
- * src/x86/unix64.S: Use EH_FRAME_FLAGS.
- * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
- * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
-
-2003-05-07 Jeff Sturm <jsturm@one-point.com>
-
- Fixes PR bootstrap/10656
- * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
- support for .register pseudo-op.
- * src/sparc/v8.S: Use it.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2003-04-18 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (POWERPC64): Define if 64-bit.
- (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
- Make it the default on POWERPC64.
- (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
- * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
- * configure: Rebuilt.
- * src/powerpc/ffi.c (hidden): Define.
- (ffi_prep_args_SYSV): Renamed from
- ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
- (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
- ASM_NEEDS_REGISTERS64): New.
- (ffi_prep_args64): New function.
- (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
- (ffi_call): Likewise.
- (ffi_prep_closure): Likewise.
- (flush_icache): Surround by #ifndef POWERPC64.
- (ffi_dblfl): New union type.
- (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
- (ffi_closure_helper_LINUX64): New function.
- * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
- __powerpc64__.
- * src/powerpc/sysv.S: Likewise.
- (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
- * src/powerpc/linux64.S: New file.
- * src/powerpc/linux64_closure.S: New file.
- * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
- src/powerpc/linux64_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
- * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
- closure_test_fn3): Fix result printing on big-endian 64-bit
- machines.
- (main): Print tst2_arg instead of uninitialized tst2_result.
-
- * src/ffitest.c (main): Hide what closure pointer really points to
- from the compiler.
-
-2003-04-16 Richard Earnshaw <rearnsha@arm.com>
-
- * configure.in (arm-*-netbsdelf*): Add configuration.
- (configure): Regenerated.
-
-2003-04-04 Loren J. Rittle <ljrittle@acm.org>
-
- * include/Makefile.in: Regenerate.
-
-2003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
-
- * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
- bit mode.
- * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
- Receive closure pointer through parameter, read args using
- __builtin_dwarf_cfa.
- (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12 Andreas Schwab <schwab@suse.de>
-
- * configure.in: Avoid trailing /. in toolexeclibdir.
- * configure: Rebuilt.
-
-2003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/powerpc/darwin_closure.S:
- Fix alignement bug, allocate 8 bytes for the result.
- * libffi/src/powerpc/aix_closure.S:
- Likewise.
- * libffi/src/powerpc/ffi_darwin.c:
- Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06 Jakub Jelinek <jakub@redhat.com>
-
- * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
- attribute.
-
-2003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
- Andreas Schwab <schwab@suse.de>
-
- * configure.in: Adjust command to source config-ml.in to account
- for changes to the libffi_basedir definition.
- (libffi_basedir): Remove ${srcdir} from value and include trailing
- slash if nonempty.
-
- * configure: Regenerate.
-
-2003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
- * src/x86/ffi64.c (ffi_prep_closure): New.
- (ffi_closure_UNIX64_inner): New.
- * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
- Remove USE_LIBDIR conditional.
- * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
- * Makefile.in, configure: Rebuilt.
-
-2003-01027 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
- * Makefile.in: Regenerate.
-
-2003-01-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
- unwind info.
-
-2003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Add unwind info.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
- (ffi_prep_cif_machdep): Likewise.
- * src/x86/unix64.S: Add unwind info.
-
-2003-01-14 Andreas Jaeger <aj@suse.de>
-
- * src/ffitest.c (main): Only use ffi_closures if those are
- supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/ffitest.c
- add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
- * libffi/src/powerpc/ffi.c
- fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c: Remove RCS version string.
- * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
- * src/ffitest.c (main): Use static storage for closure.
- * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
- * src/sparc/v8.S (ffi_closure_v8): New.
- * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10 Ranjit Mathew <rmathew@hotmail.com>
-
- * include/ffi.h.in: Added FFI_STDCALL ffi_type
- enumeration for X86_WIN32.
- * src/x86/win32.S: Added ffi_call_STDCALL function
- definition.
- * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
- switch cases for recognising FFI_STDCALL and
- calling ffi_call_STDCALL if target is X86_WIN32.
- * src/ffitest.c (my_stdcall_strlen/stdcall_many):
- stdcall versions of the "my_strlen" and "many"
- test functions (for X86_WIN32).
- Added test cases to test stdcall invocation using
- these functions.
-
-2002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26 Jim Wilson <wilson@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23 H.J. Lu <hjl@gnu.org>
-
- * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
- Include ../config/accross.m4.
- * aclocal.m4; Rebuild.
- * configure: Likewise.
-
-2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11 DJ Delorie <dj@redhat.com>
-
- * configure.in: Look for common files in the right place.
-
-2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
- raw data as _Jv_word values, not ffi_raw.
- (ffi_java_ptrarray_to_raw): Likewise.
- (ffi_java_rvalue_to_raw): New function.
- (ffi_java_raw_call): Call it.
- (ffi_java_raw_to_rvalue): New function.
- (ffi_java_translate_args): Call it.
- * src/ffitest.c (closure_test_fn): Interpret return value
- as ffi_arg, not int.
- * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
- FFI_TYPE_POINTER case.
- (ffi_closure_helper_SYSV): Likewise. Also, assume return
- values extended to word size.
-
-2002-10-02 Andreas Jaeger <aj@suse.de>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01 Bo Thorsen <bo@smetana.suse.de>
-
- * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
-
- * configure.in: Add s390x-*-linux-* target.
- * configure: Regenerate.
- * include/ffi.h.in: Define S390X for s390x targets.
- (FFI_CLOSURES): Define for s390/s390x.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
- * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
- * src/s390/ffi.c: Major rework of existing code. Add support for
- s390x targets. Add closure support.
- * src/s390/sysv.S: Likewise.
-
-2002-09-29 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: Fix typo.
-
-2002-09-28 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
- has defined __USER_LABEL_PREFIX__, then use it in CNAME.
- (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27 Bo Thorsen <bo@suse.de>
-
- * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * configure.in (sh[34]*-*-linux*): Add brackets.
- * configure: Regenerate.
-
-2002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * Makefile.am: Add SH support.
- * Makefile.in: Regenerate.
- * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
- * configure: Regenerate.
- * include/ffi.h.in: Add SH support.
- * src/sh/ffi.c: New file.
- * src/sh/sysv.S: New file.
- * src/types.c: Add SH support.
-
-2002-07-16 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi64.c: New file that adds x86-64 support.
- * src/x86/unix64.S: New file that handles argument setup for
- x86-64.
- * src/x86/sysv.S: Don't use this on x86-64.
- * src/x86/ffi.c: Don't use this on x86-64.
- Remove unused vars.
- * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
- for x86-64.
- * src/ffitest.c (struct6): New test that tests a special case in
- the x86-64 ABI.
- (struct7): Likewise.
- (struct8): Likewise.
- (struct9): Likewise.
- (closure_test_fn): Silence warning about this when it's not used.
- (main): Add the new tests.
- (main): Fix a couple of wrong casts and silence some compiler warnings.
- * include/ffi.h.in: Add x86-64 ABI definition.
- * fficonfig.h.in: Regenerate.
- * Makefile.am: Add x86-64 support.
- * configure.in: Likewise.
- * Makefile.in: Regenerate.
- * configure: Likewise.
-
-2002-06-24 Bo Thorsen <bo@suse.de>
-
- * src/types.c: Merge settings for similar architectures.
- Add x86-64 sizes and alignments.
-
-2002-06-23 Bo Thorsen <bo@suse.de>
-
- * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
- * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
- * src/mips/ffi.c (ffi_prep_args): Likewise.
- * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18 H.J. Lu (hjl@gnu.org)
-
- * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
- (libffi_la_SOURCES): Support MIPS_LINUX.
- (libffi_convenience_la_SOURCES): Likewise.
- * Makefile.in: Regenerated.
-
- * configure.in (mips64*-*): Skip.
- (mips*-*-linux*): New.
- * configure: Regenerated.
-
- * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
-
-2002-05-27 Roger Sayle <roger@eyesopen.com>
-
- * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
- fix formatting.
-
-2002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
- beginning of function (for older apple cc).
-
-2002-05-08 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
- script entry, and set LD to it when configuring multilibs.
- * configure: Rebuilt.
-
-2002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (sparc64-*-netbsd*): Add target.
- (sparc-*-netbsdelf*): Likewise.
- * configure: Regenerate.
-
-2002-04-28 David S. Miller <davem@redhat.com>
-
- * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
-
- * Makefile.am: Add Linux for S/390 support.
- * Makefile.in: Regenerate.
- * configure.in: Add Linux for S/390 support.
- * configure: Regenerate.
- * include/ffi.h.in: Add Linux for S/390 support.
- * src/s390/ffi.c: New file from libffi CVS tree.
- * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
- %r_disp32().
- * src/sparc/v8.S: Use it.
- * src/sparc/v9.S: Likewise.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2002-04-08 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
- correctly.
- * src/ia64/unix.S: Add unwind information. Fix comments.
- Save sp in a way that's compatible with unwind info.
- (ffi_call_unix): Correctly restore sp in all cases.
- * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08 Jakub Jelinek <jakub@redhat.com>
-
- * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (alpha*-*-netbsd*): Add target.
- * configure: Regenerate.
-
-2002-04-04 Jeff Sturm <jsturm@one-point.com>
-
- * src/sparc/v8.S: Add unwind info.
- * src/sparc/v9.S: Likewise.
-
-2002-03-30 Krister Walfridsson <cato@df.lth.se>
-
- * configure.in: Enable i*86-*-netbsdelf*.
- * configure: Rebuilt.
-
-2002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
-
- PR other/2620
- * src/mips/n32.s: Delete
- * src/mips/o32.s: Delete
-
-2002-03-21 Loren J. Rittle <ljrittle@acm.org>
-
- * configure.in: Enable alpha*-*-freebsd*.
- * configure: Rebuilt.
-
-2002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * Makefile.am: libfficonvenience -> libffi_convenience.
- * Makefile.in: Rebuilt.
-
- * Makefile.am: Define ffitest_OBJECTS.
- * Makefile.in: Rebuilt.
-
-2002-03-07 Andreas Tobler <toa@pop.agri.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
- (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
- (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
- * Makefile.in: Regenerate.
- * include/ffi.h.in: Add AIX and Darwin closure definitions.
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
- (flush_icache, flush_range): New functions.
- (ffi_closure_helper_DARWIN): New function.
- * src/powerpc/aix_closure.S: New file.
- * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add typedef for ffi_arg.
- * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21 Andreas Tobler <toa@pop.agri.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
- number of GPRs for floating-point arguments.
-
-2002-01-31 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Replace CHECK_SIZEOF and endian tests with
- cross-compiler friendly macros.
- * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
- macros.
-
-2002-01-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): New.
- * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
- (TARGET_SRC_POWERPC_AIX): New.
- (POWERPC_AIX): New stanza.
- * Makefile.in: Regenerate.
- * configure.in: Add AIX case.
- * configure: Regenerate.
- * include/ffi.h.in (ffi_abi): Add FFI_AIX.
- * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
- size. Fix "long double" support.
- (ffi_call): Add FFI_AIX case.
- * src/powerpc/aix.S: New.
-
-2001-10-09 John Hornkvist <john@toastedmarshmallow.com>
-
- Implement Darwin PowerPC ABI.
- * configure.in: Handle powerpc-*-darwin*.
- * Makefile.am: Set source files for POWERPC_DARWIN.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
- * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
- POWERPC_DARWIN.
- * src/powerpc/darwin.S: New file.
- * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .balign directive.
- Use C style comments.
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
- Fixes PR bootstrap/3563.
-
-2001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.in: Recognize sparc*-sun-* host.
- * configure: Regenerate.
-
-2001-06-06 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S: Add unwind info.
- * src/powerpc/sysv.S: Add unwind info.
- * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31 Jeff Sturm <jsturm@one-point.com>
-
- * configure.in: Fix AC_ARG_ENABLE usage.
- * configure: Rebuilt.
-
-2001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * configure.in: Remove warning about beta code.
- * configure: Rebuilt.
-
-2001-04-25 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/ia64/unix.S: Restore stack pointer when returning from
- ffi_closure_UNIX.
- * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18 Jim Wilson <wilson@redhat.com>
-
- * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
- to eliminate RAW DV.
-
-2001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
-
- * Makefile.am: Make a libtool convenience library.
- * Makefile.in: Rebuilt.
-
-2001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Use different syntax for subdirectory creation.
- * configure: Rebuilt.
-
-2001-03-27 Jon Beniston <jon@beniston.com>
-
- * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
- * configure: Rebuilt.
- * Makefile.am: Added X86_WIN32 target support.
- * Makefile.in: Rebuilt.
-
- * include/ffi.h.in: Added X86_WIN32 target support.
-
- * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
- * src/types.c: Added X86_WIN32 target support.
-
- * src/x86/win32.S: New file. Based on sysv.S, but with EH
- stuff removed and made to work with CygWin's gas.
-
-2001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Make target subdirectory in build dir.
- * Makefile.am: Override suffix based rules to specify correct output
- subdirectory.
- * Makefile.in: Rebuilt.
- * configure: Rebuilt.
-
-2001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
-
- * src/powerpc/ppc_closure.S: New file.
- * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
- involving long long and register pairs.
- (ffi_prep_closure): New function.
- (flush_icache): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * Makefile.in: Rebuilt.
- * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19 Tom Tromey <tromey@redhat.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02 Nick Clifton <nickc@redhat.com>
-
- * include/ffi.h.in: Remove RCS ident string.
- * include/ffi_mips.h: Remove RCS ident string.
- * src/debug.c: Remove RCS ident string.
- * src/ffitest.c: Remove RCS ident string.
- * src/prep_cif.c: Remove RCS ident string.
- * src/types.c: Remove RCS ident string.
- * src/alpha/ffi.c: Remove RCS ident string.
- * src/alpha/osf.S: Remove RCS ident string.
- * src/arm/ffi.c: Remove RCS ident string.
- * src/arm/sysv.S: Remove RCS ident string.
- * src/mips/ffi.c: Remove RCS ident string.
- * src/mips/n32.S: Remove RCS ident string.
- * src/mips/o32.S: Remove RCS ident string.
- * src/sparc/ffi.c: Remove RCS ident string.
- * src/sparc/v8.S: Remove RCS ident string.
- * src/sparc/v9.S: Remove RCS ident string.
- * src/x86/ffi.c: Remove RCS ident string.
- * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * include/ffi.h.in: Change sourceware.cygnus.com references to
- gcc.gnu.org.
-
-2000-12-09 Richard Henderson <rth@redhat.com>
-
- * src/alpha/ffi.c (ffi_call): Simplify struct return test.
- (ffi_closure_osf_inner): Index rather than increment avalue
- and arg_types. Give ffi_closure_osf the raw return value type.
- * src/alpha/osf.S (ffi_closure_osf): Handle return value type
- promotion.
-
-2000-12-07 Richard Henderson <rth@redhat.com>
-
- * src/raw_api.c (ffi_translate_args): Fix typo.
- (ffi_prep_closure): Likewise.
-
- * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
- FFI_TRAMPOLINE_SIZE.
- * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
- cif->bytes for new ffi_call_osf implementation.
- (ffi_prep_args): Absorb into ...
- (ffi_call): ... here. Do all stack allocation here and
- avoid a callback function.
- (ffi_prep_closure, ffi_closure_osf_inner): New.
- * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
- (ffi_closure_osf): New.
-
-2000-09-10 Alexandre Oliva <aoliva@redhat.com>
-
- * config.guess, config.sub, install-sh: Removed.
- * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
- * Makefile.in: Rebuilt.
-
- * acinclude.m4: Include libtool macros from the top level.
- * aclocal.m4, configure: Rebuilt.
-
-2000-08-22 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
- * configure: Rebuilt.
-
-2000-05-11 Scott Bambrough <scottb@netwinder.org>
-
- * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
- memory correctly. Use conditional instructions, not branches where
- possible.
-
-2000-05-04 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Match `arm*-*-linux-*'.
- From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (SUBDIRS): Define.
- (AM_MAKEFLAGS): Likewise.
- (Multilib support.): Add section.
- * Makefile.in: Rebuilt.
- * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
- New variables. Set for gcc using -print-multi-lib. Export them
- to libtool.
- (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
- * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
- for -shared links.
- (extra_compiler_flags_value, extra_compiler_flags): Check these
- for extra compiler options which need to be passed down in
- compiler_flags.
-
-2000-04-16 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
- Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
- * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
- Replace all void * sizeofs with sizeof(int).
- Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
- different than DOUBLE.
- Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
- (ffi_prep_args_v9): New function.
- (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
- (ffi_V9_return_struct): New function.
- (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
- 32bit code (not yet cross-arch calls).
- * src/sparc/v8.S: Add struct return delay nop.
- Handle long long.
- * src/sparc/v9.S: New file.
- * src/prep_cif.c (ffi_prep_cif): Return structure pointer
- is used on sparc64 only for structures larger than 32 bytes.
- Pass by reference for structures is done for structure arguments
- larger than 16 bytes.
- * src/ffitest.c (main): Use 64bit rint on sparc64.
- Run long long tests on sparc.
- * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
- sparc64.
- (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
- on sparc64.
- * configure.in (sparc-*-linux*): New supported target.
- (sparc64-*-linux*): Likewise.
- * configure: Rebuilt.
- * Makefile.am: Add v9.S to SPARC files.
- * Makefile.in: Likewise.
- (LINK): Surround $(CCLD) into double quotes, so that multilib
- compiles work correctly.
-
-2000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: (i*86-*-solaris*): New libffi target. Patch
- proposed by Bryce McKinlay.
-
-2000-03-20 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
-
- * config.guess, config.sub: Update from the gcc tree.
- Fix for PR libgcj/168.
-
-2000-03-03 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Fixed ia64 by hand.
-
- * configure: Rebuilt.
- * configure.in (--enable-multilib): New option.
- (libffi_basedir): New subst.
- (AC_OUTPUT): Added multilib code.
-
-2000-03-02 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
- directory name.
-
-2000-02-25 Hans Boehm <boehm@acm.org>
-
- * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
- files.
- * src/raw_api.c (ffi_translate_args): Fixed typo in argument
- list.
- (ffi_prep_raw_closure): Use ffi_translate_args, not
- ffi_closure_translate.
- * src/java_raw_api.c: New file.
- * src/ffitest.c (closure_test_fn): New function.
- (main): Define `rint' as long long on IA64. Added new test when
- FFI_CLOSURES is defined.
- * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
- (ffi_abi): Recognize IA64.
- (ffi_raw): Added `flt' field.
- Added "Java raw API" code.
- * configure.in: Recognize ia64.
- * Makefile.am (TARGET_SRC_IA64): New macro.
- (libffi_la_common_SOURCES): Added java_raw_api.c.
- (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01 Tom Tromey <tromey@cygnus.com>
-
- * include/ffi.h.in: Removed PACKAGE and VERSION defines and
- undefs.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
- * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
- Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
- * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09 Anthony Green <green@cygnus.com>
-
- * include/ffi.h.in: Try to work around messy header problem
- with PACKAGE and VERSION.
-
- * configure: Rebuilt.
- * configure.in: Change version to 2.00-beta.
-
- * fficonfig.h.in: Rebuilt.
- * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
- * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
-
- * src/x86/ffi.c (ffi_closure_SYSV): New function.
- (ffi_prep_incoming_args_SYSV): Ditto.
- (ffi_prep_closure): Ditto.
- (ffi_closure_raw_SYSV): Ditto.
- (ffi_prep_raw_closure): More ditto.
- (ffi_call_raw): Final ditto.
-
- * include/ffi.h.in: Add definitions for closure and raw API.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
- FFI_TYPE_UINT64.
-
- * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
- * src/raw_api.c: New file.
-
- * include/ffi.h.in (ffi_raw): New type.
- (UINT_ARG, SINT_ARG): New defines.
- (ffi_closure, ffi_raw_closure): New types.
- (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
- * configure.in: Add check for endianness and sizeof void*.
-
- * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
- instead of directly.
-
- * configure: Rebuilt.
-
-Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
-
- * configure.in: Add x86 and powerpc BeOS configurations.
- From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09 Anthony Green <green@cygnus.com>
-
- * configure.in: Add warning about this being beta code.
- Remove src/Makefile.am from the picture.
- * configure: Rebuilt.
-
- * Makefile.am: Move logic from src/Makefile.am. Add changes
- to support libffi as a target library.
- * Makefile.in: Rebuilt.
-
- * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
- Upgraded to new autoconf, automake, libtool.
-
- * README: Tweaks.
-
- * LICENSE: Update copyright date.
-
- * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29 Anthony Green <green@cygnus.com>
-
- * include/ChangeLog: Removed.
- * src/ChangeLog: Removed.
- * src/mips/ChangeLog: Removed.
- * src/sparc/ChangeLog: Remboved.
- * src/x86/ChangeLog: Removed.
-
- * ChangeLog.v1: Created.
diff --git a/.pc/powerpc-ffi-softfloat/src/powerpc/ffi.c b/.pc/powerpc-ffi-softfloat/src/powerpc/ffi.c
deleted file mode 100644
index 53c7e8e..0000000
--- a/.pc/powerpc-ffi-softfloat/src/powerpc/ffi.c
+++ /dev/null
@@ -1,1444 +0,0 @@
-/* -----------------------------------------------------------------------
- ffi.c - Copyright (C) 2011 Anthony Green
- Copyright (C) 2011 Kyle Moffett
- Copyright (C) 2008 Red Hat, Inc
- Copyright (C) 2007, 2008 Free Software Foundation, Inc
- Copyright (c) 1998 Geoffrey Keating
-
- PowerPC Foreign Function Interface
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS
- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR
- OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- OTHER DEALINGS IN THE SOFTWARE.
- ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#include <stdlib.h>
-#include <stdio.h>
-
-
-extern void ffi_closure_SYSV (void);
-extern void FFI_HIDDEN ffi_closure_LINUX64 (void);
-
-enum {
- /* The assembly depends on these exact flags. */
- FLAG_RETURNS_SMST = 1 << (31-31), /* Used for FFI_SYSV small structs. */
- FLAG_RETURNS_NOTHING = 1 << (31-30), /* These go in cr7 */
- FLAG_RETURNS_FP = 1 << (31-29),
- FLAG_RETURNS_64BITS = 1 << (31-28),
-
- FLAG_RETURNS_128BITS = 1 << (31-27), /* cr6 */
-
- FLAG_ARG_NEEDS_COPY = 1 << (31- 7),
- FLAG_FP_ARGUMENTS = 1 << (31- 6), /* cr1.eq; specified by ABI */
- FLAG_4_GPR_ARGUMENTS = 1 << (31- 5),
- FLAG_RETVAL_REFERENCE = 1 << (31- 4)
-};
-
-/* About the SYSV ABI. */
-unsigned int NUM_GPR_ARG_REGISTERS = 8;
-#ifndef __NO_FPRS__
-unsigned int NUM_FPR_ARG_REGISTERS = 8;
-#else
-unsigned int NUM_FPR_ARG_REGISTERS = 0;
-#endif
-
-enum { ASM_NEEDS_REGISTERS = 4 };
-
-/* ffi_prep_args_SYSV is called by the assembly routine once stack space
- has been allocated for the function's arguments.
-
- The stack layout we want looks like this:
-
- | Return address from ffi_call_SYSV 4bytes | higher addresses
- |--------------------------------------------|
- | Previous backchain pointer 4 | stack pointer here
- |--------------------------------------------|<+ <<< on entry to
- | Saved r28-r31 4*4 | | ffi_call_SYSV
- |--------------------------------------------| |
- | GPR registers r3-r10 8*4 | | ffi_call_SYSV
- |--------------------------------------------| |
- | FPR registers f1-f8 (optional) 8*8 | |
- |--------------------------------------------| | stack |
- | Space for copied structures | | grows |
- |--------------------------------------------| | down V
- | Parameters that didn't fit in registers | |
- |--------------------------------------------| | lower addresses
- | Space for callee's LR 4 | |
- |--------------------------------------------| | stack pointer here
- | Current backchain pointer 4 |-/ during
- |--------------------------------------------| <<< ffi_call_SYSV
-
-*/
-
-void
-ffi_prep_args_SYSV (extended_cif *ecif, unsigned *const stack)
-{
- const unsigned bytes = ecif->cif->bytes;
- const unsigned flags = ecif->cif->flags;
-
- typedef union {
- char *c;
- unsigned *u;
- long long *ll;
- float *f;
- double *d;
- } valp;
-
- /* 'stacktop' points at the previous backchain pointer. */
- valp stacktop;
-
- /* 'gpr_base' points at the space for gpr3, and grows upwards as
- we use GPR registers. */
- valp gpr_base;
- int intarg_count;
-
- /* 'fpr_base' points at the space for fpr1, and grows upwards as
- we use FPR registers. */
- valp fpr_base;
- int fparg_count;
-
- /* 'copy_space' grows down as we put structures in it. It should
- stay 16-byte aligned. */
- valp copy_space;
-
- /* 'next_arg' grows up as we put parameters in it. */
- valp next_arg;
-
- int i, ii MAYBE_UNUSED;
- ffi_type **ptr;
- double double_tmp;
- union {
- void **v;
- char **c;
- signed char **sc;
- unsigned char **uc;
- signed short **ss;
- unsigned short **us;
- unsigned int **ui;
- long long **ll;
- float **f;
- double **d;
- } p_argv;
- size_t struct_copy_size;
- unsigned gprvalue;
-
- if (ecif->cif->abi == FFI_LINUX_SOFT_FLOAT)
- NUM_FPR_ARG_REGISTERS = 0;
-
- stacktop.c = (char *) stack + bytes;
- gpr_base.u = stacktop.u - ASM_NEEDS_REGISTERS - NUM_GPR_ARG_REGISTERS;
- intarg_count = 0;
- fpr_base.d = gpr_base.d - NUM_FPR_ARG_REGISTERS;
- fparg_count = 0;
- copy_space.c = ((flags & FLAG_FP_ARGUMENTS) ? fpr_base.c : gpr_base.c);
- next_arg.u = stack + 2;
-
- /* Check that everything starts aligned properly. */
- FFI_ASSERT (((unsigned) (char *) stack & 0xF) == 0);
- FFI_ASSERT (((unsigned) copy_space.c & 0xF) == 0);
- FFI_ASSERT (((unsigned) stacktop.c & 0xF) == 0);
- FFI_ASSERT ((bytes & 0xF) == 0);
- FFI_ASSERT (copy_space.c >= next_arg.c);
-
- /* Deal with return values that are actually pass-by-reference. */
- if (flags & FLAG_RETVAL_REFERENCE)
- {
- *gpr_base.u++ = (unsigned long) (char *) ecif->rvalue;
- intarg_count++;
- }
-
- /* Now for the arguments. */
- p_argv.v = ecif->avalue;
- for (ptr = ecif->cif->arg_types, i = ecif->cif->nargs;
- i > 0;
- i--, ptr++, p_argv.v++)
- {
- switch ((*ptr)->type)
- {
- case FFI_TYPE_FLOAT:
- /* With FFI_LINUX_SOFT_FLOAT floats are handled like UINT32. */
- if (ecif->cif->abi == FFI_LINUX_SOFT_FLOAT)
- goto soft_float_prep;
- double_tmp = **p_argv.f;
- if (fparg_count >= NUM_FPR_ARG_REGISTERS)
- {
- *next_arg.f = (float) double_tmp;
- next_arg.u += 1;
- intarg_count++;
- }
- else
- *fpr_base.d++ = double_tmp;
- fparg_count++;
- FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
- break;
-
- case FFI_TYPE_DOUBLE:
- /* With FFI_LINUX_SOFT_FLOAT doubles are handled like UINT64. */
- if (ecif->cif->abi == FFI_LINUX_SOFT_FLOAT)
- goto soft_double_prep;
- double_tmp = **p_argv.d;
-
- if (fparg_count >= NUM_FPR_ARG_REGISTERS)
- {
- if (intarg_count >= NUM_GPR_ARG_REGISTERS
- && intarg_count % 2 != 0)
- {
- intarg_count++;
- next_arg.u++;
- }
- *next_arg.d = double_tmp;
- next_arg.u += 2;
- }
- else
- *fpr_base.d++ = double_tmp;
- fparg_count++;
- FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
- break;
-
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- case FFI_TYPE_LONGDOUBLE:
- if ((ecif->cif->abi != FFI_LINUX)
- && (ecif->cif->abi != FFI_LINUX_SOFT_FLOAT))
- goto do_struct;
- /* The soft float ABI for long doubles works like this,
- a long double is passed in four consecutive gprs if available.
- A maximum of 2 long doubles can be passed in gprs.
- If we do not have 4 gprs left, the long double is passed on the
- stack, 4-byte aligned. */
- if (ecif->cif->abi == FFI_LINUX_SOFT_FLOAT)
- {
- unsigned int int_tmp = (*p_argv.ui)[0];
- if (intarg_count >= NUM_GPR_ARG_REGISTERS - 3)
- {
- if (intarg_count < NUM_GPR_ARG_REGISTERS)
- intarg_count += NUM_GPR_ARG_REGISTERS - intarg_count;
- *next_arg.u = int_tmp;
- next_arg.u++;
- for (ii = 1; ii < 4; ii++)
- {
- int_tmp = (*p_argv.ui)[ii];
- *next_arg.u = int_tmp;
- next_arg.u++;
- }
- }
- else
- {
- *gpr_base.u++ = int_tmp;
- for (ii = 1; ii < 4; ii++)
- {
- int_tmp = (*p_argv.ui)[ii];
- *gpr_base.u++ = int_tmp;
- }
- }
- intarg_count +=4;
- }
- else
- {
- double_tmp = (*p_argv.d)[0];
-
- if (fparg_count >= NUM_FPR_ARG_REGISTERS - 1)
- {
- if (intarg_count >= NUM_GPR_ARG_REGISTERS
- && intarg_count % 2 != 0)
- {
- intarg_count++;
- next_arg.u++;
- }
- *next_arg.d = double_tmp;
- next_arg.u += 2;
- double_tmp = (*p_argv.d)[1];
- *next_arg.d = double_tmp;
- next_arg.u += 2;
- }
- else
- {
- *fpr_base.d++ = double_tmp;
- double_tmp = (*p_argv.d)[1];
- *fpr_base.d++ = double_tmp;
- }
-
- fparg_count += 2;
- FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
- }
- break;
-#endif
-
- case FFI_TYPE_UINT64:
- case FFI_TYPE_SINT64:
- soft_double_prep:
- if (intarg_count == NUM_GPR_ARG_REGISTERS-1)
- intarg_count++;
- if (intarg_count >= NUM_GPR_ARG_REGISTERS)
- {
- if (intarg_count % 2 != 0)
- {
- intarg_count++;
- next_arg.u++;
- }
- *next_arg.ll = **p_argv.ll;
- next_arg.u += 2;
- }
- else
- {
- /* whoops: abi states only certain register pairs
- * can be used for passing long long int
- * specifically (r3,r4), (r5,r6), (r7,r8),
- * (r9,r10) and if next arg is long long but
- * not correct starting register of pair then skip
- * until the proper starting register
- */
- if (intarg_count % 2 != 0)
- {
- intarg_count ++;
- gpr_base.u++;
- }
- *gpr_base.ll++ = **p_argv.ll;
- }
- intarg_count += 2;
- break;
-
- case FFI_TYPE_STRUCT:
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- do_struct:
-#endif
- struct_copy_size = ((*ptr)->size + 15) & ~0xF;
- copy_space.c -= struct_copy_size;
- memcpy (copy_space.c, *p_argv.c, (*ptr)->size);
-
- gprvalue = (unsigned long) copy_space.c;
-
- FFI_ASSERT (copy_space.c > next_arg.c);
- FFI_ASSERT (flags & FLAG_ARG_NEEDS_COPY);
- goto putgpr;
-
- case FFI_TYPE_UINT8:
- gprvalue = **p_argv.uc;
- goto putgpr;
- case FFI_TYPE_SINT8:
- gprvalue = **p_argv.sc;
- goto putgpr;
- case FFI_TYPE_UINT16:
- gprvalue = **p_argv.us;
- goto putgpr;
- case FFI_TYPE_SINT16:
- gprvalue = **p_argv.ss;
- goto putgpr;
-
- case FFI_TYPE_INT:
- case FFI_TYPE_UINT32:
- case FFI_TYPE_SINT32:
- case FFI_TYPE_POINTER:
- soft_float_prep:
-
- gprvalue = **p_argv.ui;
-
- putgpr:
- if (intarg_count >= NUM_GPR_ARG_REGISTERS)
- *next_arg.u++ = gprvalue;
- else
- *gpr_base.u++ = gprvalue;
- intarg_count++;
- break;
- }
- }
-
- /* Check that we didn't overrun the stack... */
- FFI_ASSERT (copy_space.c >= next_arg.c);
- FFI_ASSERT (gpr_base.u <= stacktop.u - ASM_NEEDS_REGISTERS);
- FFI_ASSERT (fpr_base.u
- <= stacktop.u - ASM_NEEDS_REGISTERS - NUM_GPR_ARG_REGISTERS);
- FFI_ASSERT (flags & FLAG_4_GPR_ARGUMENTS || intarg_count <= 4);
-}
-
-/* About the LINUX64 ABI. */
-enum {
- NUM_GPR_ARG_REGISTERS64 = 8,
- NUM_FPR_ARG_REGISTERS64 = 13
-};
-enum { ASM_NEEDS_REGISTERS64 = 4 };
-
-/* ffi_prep_args64 is called by the assembly routine once stack space
- has been allocated for the function's arguments.
-
- The stack layout we want looks like this:
-
- | Ret addr from ffi_call_LINUX64 8bytes | higher addresses
- |--------------------------------------------|
- | CR save area 8bytes |
- |--------------------------------------------|
- | Previous backchain pointer 8 | stack pointer here
- |--------------------------------------------|<+ <<< on entry to
- | Saved r28-r31 4*8 | | ffi_call_LINUX64
- |--------------------------------------------| |
- | GPR registers r3-r10 8*8 | |
- |--------------------------------------------| |
- | FPR registers f1-f13 (optional) 13*8 | |
- |--------------------------------------------| |
- | Parameter save area | |
- |--------------------------------------------| |
- | TOC save area 8 | |
- |--------------------------------------------| | stack |
- | Linker doubleword 8 | | grows |
- |--------------------------------------------| | down V
- | Compiler doubleword 8 | |
- |--------------------------------------------| | lower addresses
- | Space for callee's LR 8 | |
- |--------------------------------------------| |
- | CR save area 8 | |
- |--------------------------------------------| | stack pointer here
- | Current backchain pointer 8 |-/ during
- |--------------------------------------------| <<< ffi_call_LINUX64
-
-*/
-
-void FFI_HIDDEN
-ffi_prep_args64 (extended_cif *ecif, unsigned long *const stack)
-{
- const unsigned long bytes = ecif->cif->bytes;
- const unsigned long flags = ecif->cif->flags;
-
- typedef union {
- char *c;
- unsigned long *ul;
- float *f;
- double *d;
- } valp;
-
- /* 'stacktop' points at the previous backchain pointer. */
- valp stacktop;
-
- /* 'next_arg' points at the space for gpr3, and grows upwards as
- we use GPR registers, then continues at rest. */
- valp gpr_base;
- valp gpr_end;
- valp rest;
- valp next_arg;
-
- /* 'fpr_base' points at the space for fpr3, and grows upwards as
- we use FPR registers. */
- valp fpr_base;
- int fparg_count;
-
- int i, words;
- ffi_type **ptr;
- double double_tmp;
- union {
- void **v;
- char **c;
- signed char **sc;
- unsigned char **uc;
- signed short **ss;
- unsigned short **us;
- signed int **si;
- unsigned int **ui;
- unsigned long **ul;
- float **f;
- double **d;
- } p_argv;
- unsigned long gprvalue;
-
- stacktop.c = (char *) stack + bytes;
- gpr_base.ul = stacktop.ul - ASM_NEEDS_REGISTERS64 - NUM_GPR_ARG_REGISTERS64;
- gpr_end.ul = gpr_base.ul + NUM_GPR_ARG_REGISTERS64;
- rest.ul = stack + 6 + NUM_GPR_ARG_REGISTERS64;
- fpr_base.d = gpr_base.d - NUM_FPR_ARG_REGISTERS64;
- fparg_count = 0;
- next_arg.ul = gpr_base.ul;
-
- /* Check that everything starts aligned properly. */
- FFI_ASSERT (((unsigned long) (char *) stack & 0xF) == 0);
- FFI_ASSERT (((unsigned long) stacktop.c & 0xF) == 0);
- FFI_ASSERT ((bytes & 0xF) == 0);
-
- /* Deal with return values that are actually pass-by-reference. */
- if (flags & FLAG_RETVAL_REFERENCE)
- *next_arg.ul++ = (unsigned long) (char *) ecif->rvalue;
-
- /* Now for the arguments. */
- p_argv.v = ecif->avalue;
- for (ptr = ecif->cif->arg_types, i = ecif->cif->nargs;
- i > 0;
- i--, ptr++, p_argv.v++)
- {
- switch ((*ptr)->type)
- {
- case FFI_TYPE_FLOAT:
- double_tmp = **p_argv.f;
- *next_arg.f = (float) double_tmp;
- if (++next_arg.ul == gpr_end.ul)
- next_arg.ul = rest.ul;
- if (fparg_count < NUM_FPR_ARG_REGISTERS64)
- *fpr_base.d++ = double_tmp;
- fparg_count++;
- FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
- break;
-
- case FFI_TYPE_DOUBLE:
- double_tmp = **p_argv.d;
- *next_arg.d = double_tmp;
- if (++next_arg.ul == gpr_end.ul)
- next_arg.ul = rest.ul;
- if (fparg_count < NUM_FPR_ARG_REGISTERS64)
- *fpr_base.d++ = double_tmp;
- fparg_count++;
- FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
- break;
-
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- case FFI_TYPE_LONGDOUBLE:
- double_tmp = (*p_argv.d)[0];
- *next_arg.d = double_tmp;
- if (++next_arg.ul == gpr_end.ul)
- next_arg.ul = rest.ul;
- if (fparg_count < NUM_FPR_ARG_REGISTERS64)
- *fpr_base.d++ = double_tmp;
- fparg_count++;
- double_tmp = (*p_argv.d)[1];
- *next_arg.d = double_tmp;
- if (++next_arg.ul == gpr_end.ul)
- next_arg.ul = rest.ul;
- if (fparg_count < NUM_FPR_ARG_REGISTERS64)
- *fpr_base.d++ = double_tmp;
- fparg_count++;
- FFI_ASSERT (__LDBL_MANT_DIG__ == 106);
- FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
- break;
-#endif
-
- case FFI_TYPE_STRUCT:
- words = ((*ptr)->size + 7) / 8;
- if (next_arg.ul >= gpr_base.ul && next_arg.ul + words > gpr_end.ul)
- {
- size_t first = gpr_end.c - next_arg.c;
- memcpy (next_arg.c, *p_argv.c, first);
- memcpy (rest.c, *p_argv.c + first, (*ptr)->size - first);
- next_arg.c = rest.c + words * 8 - first;
- }
- else
- {
- char *where = next_arg.c;
-
- /* Structures with size less than eight bytes are passed
- left-padded. */
- if ((*ptr)->size < 8)
- where += 8 - (*ptr)->size;
-
- memcpy (where, *p_argv.c, (*ptr)->size);
- next_arg.ul += words;
- if (next_arg.ul == gpr_end.ul)
- next_arg.ul = rest.ul;
- }
- break;
-
- case FFI_TYPE_UINT8:
- gprvalue = **p_argv.uc;
- goto putgpr;
- case FFI_TYPE_SINT8:
- gprvalue = **p_argv.sc;
- goto putgpr;
- case FFI_TYPE_UINT16:
- gprvalue = **p_argv.us;
- goto putgpr;
- case FFI_TYPE_SINT16:
- gprvalue = **p_argv.ss;
- goto putgpr;
- case FFI_TYPE_UINT32:
- gprvalue = **p_argv.ui;
- goto putgpr;
- case FFI_TYPE_INT:
- case FFI_TYPE_SINT32:
- gprvalue = **p_argv.si;
- goto putgpr;
-
- case FFI_TYPE_UINT64:
- case FFI_TYPE_SINT64:
- case FFI_TYPE_POINTER:
- gprvalue = **p_argv.ul;
- putgpr:
- *next_arg.ul++ = gprvalue;
- if (next_arg.ul == gpr_end.ul)
- next_arg.ul = rest.ul;
- break;
- }
- }
-
- FFI_ASSERT (flags & FLAG_4_GPR_ARGUMENTS
- || (next_arg.ul >= gpr_base.ul
- && next_arg.ul <= gpr_base.ul + 4));
-}
-
-
-
-/* Perform machine dependent cif processing */
-ffi_status
-ffi_prep_cif_machdep (ffi_cif *cif)
-{
- /* All this is for the SYSV and LINUX64 ABI. */
- int i;
- ffi_type **ptr;
- unsigned bytes;
- int fparg_count = 0, intarg_count = 0;
- unsigned flags = 0;
- unsigned struct_copy_size = 0;
- unsigned type = cif->rtype->type;
- unsigned size = cif->rtype->size;
-
- if (cif->abi == FFI_LINUX_SOFT_FLOAT)
- NUM_FPR_ARG_REGISTERS = 0;
-
- if (cif->abi != FFI_LINUX64)
- {
- /* All the machine-independent calculation of cif->bytes will be wrong.
- Redo the calculation for SYSV. */
-
- /* Space for the frame pointer, callee's LR, and the asm's temp regs. */
- bytes = (2 + ASM_NEEDS_REGISTERS) * sizeof (int);
-
- /* Space for the GPR registers. */
- bytes += NUM_GPR_ARG_REGISTERS * sizeof (int);
- }
- else
- {
- /* 64-bit ABI. */
-
- /* Space for backchain, CR, LR, cc/ld doubleword, TOC and the asm's temp
- regs. */
- bytes = (6 + ASM_NEEDS_REGISTERS64) * sizeof (long);
-
- /* Space for the mandatory parm save area and general registers. */
- bytes += 2 * NUM_GPR_ARG_REGISTERS64 * sizeof (long);
- }
-
- /* Return value handling. The rules for SYSV are as follows:
- - 32-bit (or less) integer values are returned in gpr3;
- - Structures of size <= 4 bytes also returned in gpr3;
- - 64-bit integer values and structures between 5 and 8 bytes are returned
- in gpr3 and gpr4;
- - Single/double FP values are returned in fpr1;
- - Larger structures are allocated space and a pointer is passed as
- the first argument.
- - long doubles (if not equivalent to double) are returned in
- fpr1,fpr2 for Linux and as for large structs for SysV.
- For LINUX64:
- - integer values in gpr3;
- - Structures/Unions by reference;
- - Single/double FP values in fpr1, long double in fpr1,fpr2.
- - soft-float float/doubles are treated as UINT32/UINT64 respectivley.
- - soft-float long doubles are returned in gpr3-gpr6. */
- switch (type)
- {
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- case FFI_TYPE_LONGDOUBLE:
- if (cif->abi != FFI_LINUX && cif->abi != FFI_LINUX64
- && cif->abi != FFI_LINUX_SOFT_FLOAT)
- goto byref;
- flags |= FLAG_RETURNS_128BITS;
- /* Fall through. */
-#endif
- case FFI_TYPE_DOUBLE:
- flags |= FLAG_RETURNS_64BITS;
- /* Fall through. */
- case FFI_TYPE_FLOAT:
- /* With FFI_LINUX_SOFT_FLOAT no fp registers are used. */
- if (cif->abi != FFI_LINUX_SOFT_FLOAT)
- flags |= FLAG_RETURNS_FP;
- break;
-
- case FFI_TYPE_UINT64:
- case FFI_TYPE_SINT64:
- flags |= FLAG_RETURNS_64BITS;
- break;
-
- case FFI_TYPE_STRUCT:
- /*
- * The final SYSV ABI says that structures smaller or equal 8 bytes
- * are returned in r3/r4. The FFI_GCC_SYSV ABI instead returns them
- * in memory.
- *
- * NOTE: The assembly code can safely assume that it just needs to
- * store both r3 and r4 into a 8-byte word-aligned buffer, as
- * we allocate a temporary buffer in ffi_call() if this flag is
- * set.
- */
- if (cif->abi == FFI_SYSV && size <= 8)
- flags |= FLAG_RETURNS_SMST;
-
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- byref:
-#endif
- intarg_count++;
- flags |= FLAG_RETVAL_REFERENCE;
- /* Fall through. */
- case FFI_TYPE_VOID:
- flags |= FLAG_RETURNS_NOTHING;
- break;
-
- default:
- /* Returns 32-bit integer, or similar. Nothing to do here. */
- break;
- }
-
- if (cif->abi != FFI_LINUX64)
- /* The first NUM_GPR_ARG_REGISTERS words of integer arguments, and the
- first NUM_FPR_ARG_REGISTERS fp arguments, go in registers; the rest
- goes on the stack. Structures and long doubles (if not equivalent
- to double) are passed as a pointer to a copy of the structure.
- Stuff on the stack needs to keep proper alignment. */
- for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++)
- {
- switch ((*ptr)->type)
- {
- case FFI_TYPE_FLOAT:
- /* With FFI_LINUX_SOFT_FLOAT floats are handled like UINT32. */
- if (cif->abi == FFI_LINUX_SOFT_FLOAT)
- goto soft_float_cif;
- fparg_count++;
- /* floating singles are not 8-aligned on stack */
- break;
-
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- case FFI_TYPE_LONGDOUBLE:
- if (cif->abi != FFI_LINUX && cif->abi != FFI_LINUX_SOFT_FLOAT)
- goto do_struct;
- if (cif->abi == FFI_LINUX_SOFT_FLOAT)
- {
- if (intarg_count >= NUM_GPR_ARG_REGISTERS - 3
- || intarg_count < NUM_GPR_ARG_REGISTERS)
- /* A long double in FFI_LINUX_SOFT_FLOAT can use only
- a set of four consecutive gprs. If we have not enough,
- we have to adjust the intarg_count value. */
- intarg_count += NUM_GPR_ARG_REGISTERS - intarg_count;
- intarg_count += 4;
- break;
- }
- else
- fparg_count++;
- /* Fall thru */
-#endif
- case FFI_TYPE_DOUBLE:
- /* With FFI_LINUX_SOFT_FLOAT doubles are handled like UINT64. */
- if (cif->abi == FFI_LINUX_SOFT_FLOAT)
- goto soft_double_cif;
- fparg_count++;
- /* If this FP arg is going on the stack, it must be
- 8-byte-aligned. */
- if (fparg_count > NUM_FPR_ARG_REGISTERS
- && intarg_count >= NUM_GPR_ARG_REGISTERS
- && intarg_count % 2 != 0)
- intarg_count++;
- break;
-
- case FFI_TYPE_UINT64:
- case FFI_TYPE_SINT64:
- soft_double_cif:
- /* 'long long' arguments are passed as two words, but
- either both words must fit in registers or both go
- on the stack. If they go on the stack, they must
- be 8-byte-aligned.
-
- Also, only certain register pairs can be used for
- passing long long int -- specifically (r3,r4), (r5,r6),
- (r7,r8), (r9,r10).
- */
- if (intarg_count == NUM_GPR_ARG_REGISTERS-1
- || intarg_count % 2 != 0)
- intarg_count++;
- intarg_count += 2;
- break;
-
- case FFI_TYPE_STRUCT:
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- do_struct:
-#endif
- /* We must allocate space for a copy of these to enforce
- pass-by-value. Pad the space up to a multiple of 16
- bytes (the maximum alignment required for anything under
- the SYSV ABI). */
- struct_copy_size += ((*ptr)->size + 15) & ~0xF;
- /* Fall through (allocate space for the pointer). */
-
- default:
- soft_float_cif:
- /* Everything else is passed as a 4-byte word in a GPR, either
- the object itself or a pointer to it. */
- intarg_count++;
- break;
- }
- }
- else
- for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++)
- {
- switch ((*ptr)->type)
- {
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- case FFI_TYPE_LONGDOUBLE:
- if (cif->abi == FFI_LINUX_SOFT_FLOAT)
- intarg_count += 4;
- else
- {
- fparg_count += 2;
- intarg_count += 2;
- }
- break;
-#endif
- case FFI_TYPE_FLOAT:
- case FFI_TYPE_DOUBLE:
- fparg_count++;
- intarg_count++;
- break;
-
- case FFI_TYPE_STRUCT:
- intarg_count += ((*ptr)->size + 7) / 8;
- break;
-
- default:
- /* Everything else is passed as a 8-byte word in a GPR, either
- the object itself or a pointer to it. */
- intarg_count++;
- break;
- }
- }
-
- if (fparg_count != 0)
- flags |= FLAG_FP_ARGUMENTS;
- if (intarg_count > 4)
- flags |= FLAG_4_GPR_ARGUMENTS;
- if (struct_copy_size != 0)
- flags |= FLAG_ARG_NEEDS_COPY;
-
- if (cif->abi != FFI_LINUX64)
- {
- /* Space for the FPR registers, if needed. */
- if (fparg_count != 0)
- bytes += NUM_FPR_ARG_REGISTERS * sizeof (double);
-
- /* Stack space. */
- if (intarg_count > NUM_GPR_ARG_REGISTERS)
- bytes += (intarg_count - NUM_GPR_ARG_REGISTERS) * sizeof (int);
- if (fparg_count > NUM_FPR_ARG_REGISTERS)
- bytes += (fparg_count - NUM_FPR_ARG_REGISTERS) * sizeof (double);
- }
- else
- {
- /* Space for the FPR registers, if needed. */
- if (fparg_count != 0)
- bytes += NUM_FPR_ARG_REGISTERS64 * sizeof (double);
-
- /* Stack space. */
- if (intarg_count > NUM_GPR_ARG_REGISTERS64)
- bytes += (intarg_count - NUM_GPR_ARG_REGISTERS64) * sizeof (long);
- }
-
- /* The stack space allocated needs to be a multiple of 16 bytes. */
- bytes = (bytes + 15) & ~0xF;
-
- /* Add in the space for the copied structures. */
- bytes += struct_copy_size;
-
- cif->flags = flags;
- cif->bytes = bytes;
-
- return FFI_OK;
-}
-
-extern void ffi_call_SYSV(extended_cif *, unsigned, unsigned, unsigned *,
- void (*fn)(void));
-extern void FFI_HIDDEN ffi_call_LINUX64(extended_cif *, unsigned long,
- unsigned long, unsigned long *,
- void (*fn)(void));
-
-void
-ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
-{
- /*
- * The final SYSV ABI says that structures smaller or equal 8 bytes
- * are returned in r3/r4. The FFI_GCC_SYSV ABI instead returns them
- * in memory.
- *
- * Just to keep things simple for the assembly code, we will always
- * bounce-buffer struct return values less than or equal to 8 bytes.
- * This allows the ASM to handle SYSV small structures by directly
- * writing r3 and r4 to memory without worrying about struct size.
- */
- unsigned int smst_buffer[2];
- extended_cif ecif;
- unsigned int rsize;
-
- ecif.cif = cif;
- ecif.avalue = avalue;
-
- /* Ensure that we have a valid struct return value */
- ecif.rvalue = rvalue;
- if (cif->rtype->type == FFI_TYPE_STRUCT) {
- rsize = cif->rtype->size;
- if (rsize <= 8)
- ecif.rvalue = smst_buffer;
- else if (!rvalue)
- ecif.rvalue = alloca(rsize);
- }
-
- switch (cif->abi)
- {
-#ifndef POWERPC64
- case FFI_SYSV:
- case FFI_GCC_SYSV:
- case FFI_LINUX:
- case FFI_LINUX_SOFT_FLOAT:
- ffi_call_SYSV (&ecif, -cif->bytes, cif->flags, ecif.rvalue, fn);
- break;
-#else
- case FFI_LINUX64:
- ffi_call_LINUX64 (&ecif, -(long) cif->bytes, cif->flags, ecif.rvalue, fn);
- break;
-#endif
- default:
- FFI_ASSERT (0);
- break;
- }
-
- /* Check for a bounce-buffered return value */
- if (rvalue && ecif.rvalue == smst_buffer)
- memcpy(rvalue, smst_buffer, rsize);
-}
-
-
-#ifndef POWERPC64
-#define MIN_CACHE_LINE_SIZE 8
-
-static void
-flush_icache (char *wraddr, char *xaddr, int size)
-{
- int i;
- for (i = 0; i < size; i += MIN_CACHE_LINE_SIZE)
- __asm__ volatile ("icbi 0,%0;" "dcbf 0,%1;"
- : : "r" (xaddr + i), "r" (wraddr + i) : "memory");
- __asm__ volatile ("icbi 0,%0;" "dcbf 0,%1;" "sync;" "isync;"
- : : "r"(xaddr + size - 1), "r"(wraddr + size - 1)
- : "memory");
-}
-#endif
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure *closure,
- ffi_cif *cif,
- void (*fun) (ffi_cif *, void *, void **, void *),
- void *user_data,
- void *codeloc)
-{
-#ifdef POWERPC64
- void **tramp = (void **) &closure->tramp[0];
-
- if (cif->abi != FFI_LINUX64)
- return FFI_BAD_ABI;
- /* Copy function address and TOC from ffi_closure_LINUX64. */
- memcpy (tramp, (char *) ffi_closure_LINUX64, 16);
- tramp[2] = codeloc;
-#else
- unsigned int *tramp;
-
- if (! (cif->abi == FFI_GCC_SYSV
- || cif->abi == FFI_SYSV
- || cif->abi == FFI_LINUX
- || cif->abi == FFI_LINUX_SOFT_FLOAT))
- return FFI_BAD_ABI;
-
- tramp = (unsigned int *) &closure->tramp[0];
- tramp[0] = 0x7c0802a6; /* mflr r0 */
- tramp[1] = 0x4800000d; /* bl 10 <trampoline_initial+0x10> */
- tramp[4] = 0x7d6802a6; /* mflr r11 */
- tramp[5] = 0x7c0803a6; /* mtlr r0 */
- tramp[6] = 0x800b0000; /* lwz r0,0(r11) */
- tramp[7] = 0x816b0004; /* lwz r11,4(r11) */
- tramp[8] = 0x7c0903a6; /* mtctr r0 */
- tramp[9] = 0x4e800420; /* bctr */
- *(void **) &tramp[2] = (void *) ffi_closure_SYSV; /* function */
- *(void **) &tramp[3] = codeloc; /* context */
-
- /* Flush the icache. */
- flush_icache ((char *)tramp, (char *)codeloc, FFI_TRAMPOLINE_SIZE);
-#endif
-
- closure->cif = cif;
- closure->fun = fun;
- closure->user_data = user_data;
-
- return FFI_OK;
-}
-
-typedef union
-{
- float f;
- double d;
-} ffi_dblfl;
-
-int ffi_closure_helper_SYSV (ffi_closure *, void *, unsigned long *,
- ffi_dblfl *, unsigned long *);
-
-/* Basically the trampoline invokes ffi_closure_SYSV, and on
- * entry, r11 holds the address of the closure.
- * After storing the registers that could possibly contain
- * parameters to be passed into the stack frame and setting
- * up space for a return value, ffi_closure_SYSV invokes the
- * following helper function to do most of the work
- */
-
-int
-ffi_closure_helper_SYSV (ffi_closure *closure, void *rvalue,
- unsigned long *pgr, ffi_dblfl *pfr,
- unsigned long *pst)
-{
- /* rvalue is the pointer to space for return value in closure assembly */
- /* pgr is the pointer to where r3-r10 are stored in ffi_closure_SYSV */
- /* pfr is the pointer to where f1-f8 are stored in ffi_closure_SYSV */
- /* pst is the pointer to outgoing parameter stack in original caller */
-
- void ** avalue;
- ffi_type ** arg_types;
- long i, avn;
- long nf; /* number of floating registers already used */
- long ng; /* number of general registers already used */
- ffi_cif * cif;
- double temp;
- unsigned size;
-
- cif = closure->cif;
- avalue = alloca (cif->nargs * sizeof (void *));
- size = cif->rtype->size;
-
- nf = 0;
- ng = 0;
-
- /* Copy the caller's structure return value address so that the closure
- returns the data directly to the caller.
- For FFI_SYSV the result is passed in r3/r4 if the struct size is less
- or equal 8 bytes. */
-
- if ((cif->rtype->type == FFI_TYPE_STRUCT
- && !((cif->abi == FFI_SYSV) && (size <= 8)))
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- || (cif->rtype->type == FFI_TYPE_LONGDOUBLE
- && cif->abi != FFI_LINUX && cif->abi != FFI_LINUX_SOFT_FLOAT)
-#endif
- )
- {
- rvalue = (void *) *pgr;
- ng++;
- pgr++;
- }
-
- i = 0;
- avn = cif->nargs;
- arg_types = cif->arg_types;
-
- /* Grab the addresses of the arguments from the stack frame. */
- while (i < avn)
- {
- switch (arg_types[i]->type)
- {
- case FFI_TYPE_SINT8:
- case FFI_TYPE_UINT8:
- /* there are 8 gpr registers used to pass values */
- if (ng < 8)
- {
- avalue[i] = (char *) pgr + 3;
- ng++;
- pgr++;
- }
- else
- {
- avalue[i] = (char *) pst + 3;
- pst++;
- }
- break;
-
- case FFI_TYPE_SINT16:
- case FFI_TYPE_UINT16:
- /* there are 8 gpr registers used to pass values */
- if (ng < 8)
- {
- avalue[i] = (char *) pgr + 2;
- ng++;
- pgr++;
- }
- else
- {
- avalue[i] = (char *) pst + 2;
- pst++;
- }
- break;
-
- case FFI_TYPE_SINT32:
- case FFI_TYPE_UINT32:
- case FFI_TYPE_POINTER:
- soft_float_closure:
- /* there are 8 gpr registers used to pass values */
- if (ng < 8)
- {
- avalue[i] = pgr;
- ng++;
- pgr++;
- }
- else
- {
- avalue[i] = pst;
- pst++;
- }
- break;
-
- case FFI_TYPE_STRUCT:
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- do_struct:
-#endif
- /* Structs are passed by reference. The address will appear in a
- gpr if it is one of the first 8 arguments. */
- if (ng < 8)
- {
- avalue[i] = (void *) *pgr;
- ng++;
- pgr++;
- }
- else
- {
- avalue[i] = (void *) *pst;
- pst++;
- }
- break;
-
- case FFI_TYPE_SINT64:
- case FFI_TYPE_UINT64:
- soft_double_closure:
- /* passing long long ints are complex, they must
- * be passed in suitable register pairs such as
- * (r3,r4) or (r5,r6) or (r6,r7), or (r7,r8) or (r9,r10)
- * and if the entire pair aren't available then the outgoing
- * parameter stack is used for both but an alignment of 8
- * must will be kept. So we must either look in pgr
- * or pst to find the correct address for this type
- * of parameter.
- */
- if (ng < 7)
- {
- if (ng & 0x01)
- {
- /* skip r4, r6, r8 as starting points */
- ng++;
- pgr++;
- }
- avalue[i] = pgr;
- ng += 2;
- pgr += 2;
- }
- else
- {
- if (((long) pst) & 4)
- pst++;
- avalue[i] = pst;
- pst += 2;
- ng = 8;
- }
- break;
-
- case FFI_TYPE_FLOAT:
- /* With FFI_LINUX_SOFT_FLOAT floats are handled like UINT32. */
- if (cif->abi == FFI_LINUX_SOFT_FLOAT)
- goto soft_float_closure;
- /* unfortunately float values are stored as doubles
- * in the ffi_closure_SYSV code (since we don't check
- * the type in that routine).
- */
-
- /* there are 8 64bit floating point registers */
-
- if (nf < 8)
- {
- temp = pfr->d;
- pfr->f = (float) temp;
- avalue[i] = pfr;
- nf++;
- pfr++;
- }
- else
- {
- /* FIXME? here we are really changing the values
- * stored in the original calling routines outgoing
- * parameter stack. This is probably a really
- * naughty thing to do but...
- */
- avalue[i] = pst;
- pst += 1;
- }
- break;
-
- case FFI_TYPE_DOUBLE:
- /* With FFI_LINUX_SOFT_FLOAT doubles are handled like UINT64. */
- if (cif->abi == FFI_LINUX_SOFT_FLOAT)
- goto soft_double_closure;
- /* On the outgoing stack all values are aligned to 8 */
- /* there are 8 64bit floating point registers */
-
- if (nf < 8)
- {
- avalue[i] = pfr;
- nf++;
- pfr++;
- }
- else
- {
- if (((long) pst) & 4)
- pst++;
- avalue[i] = pst;
- pst += 2;
- }
- break;
-
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- case FFI_TYPE_LONGDOUBLE:
- if (cif->abi != FFI_LINUX && cif->abi != FFI_LINUX_SOFT_FLOAT)
- goto do_struct;
- if (cif->abi == FFI_LINUX_SOFT_FLOAT)
- { /* Test if for the whole long double, 4 gprs are available.
- otherwise the stuff ends up on the stack. */
- if (ng < 5)
- {
- avalue[i] = pgr;
- pgr += 4;
- ng += 4;
- }
- else
- {
- avalue[i] = pst;
- pst += 4;
- ng = 8;
- }
- break;
- }
- if (nf < 7)
- {
- avalue[i] = pfr;
- pfr += 2;
- nf += 2;
- }
- else
- {
- if (((long) pst) & 4)
- pst++;
- avalue[i] = pst;
- pst += 4;
- nf = 8;
- }
- break;
-#endif
-
- default:
- FFI_ASSERT (0);
- }
-
- i++;
- }
-
-
- (closure->fun) (cif, rvalue, avalue, closure->user_data);
-
- /* Tell ffi_closure_SYSV how to perform return type promotions.
- Because the FFI_SYSV ABI returns the structures <= 8 bytes in r3/r4
- we have to tell ffi_closure_SYSV how to treat them. We combine the base
- type FFI_SYSV_TYPE_SMALL_STRUCT - 1 with the size of the struct.
- So a one byte struct gets the return type 16. Return type 1 to 15 are
- already used and we never have a struct with size zero. That is the reason
- for the subtraction of 1. See the comment in ffitarget.h about ordering.
- */
- if (cif->abi == FFI_SYSV && cif->rtype->type == FFI_TYPE_STRUCT
- && size <= 8)
- return (FFI_SYSV_TYPE_SMALL_STRUCT - 1) + size;
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- else if (cif->rtype->type == FFI_TYPE_LONGDOUBLE
- && cif->abi != FFI_LINUX && cif->abi != FFI_LINUX_SOFT_FLOAT)
- return FFI_TYPE_STRUCT;
-#endif
- /* With FFI_LINUX_SOFT_FLOAT floats and doubles are handled like UINT32
- respectivley UINT64. */
- if (cif->abi == FFI_LINUX_SOFT_FLOAT)
- {
- switch (cif->rtype->type)
- {
- case FFI_TYPE_FLOAT:
- return FFI_TYPE_UINT32;
- break;
- case FFI_TYPE_DOUBLE:
- return FFI_TYPE_UINT64;
- break;
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- case FFI_TYPE_LONGDOUBLE:
- return FFI_TYPE_UINT128;
- break;
-#endif
- default:
- return cif->rtype->type;
- }
- }
- else
- {
- return cif->rtype->type;
- }
-}
-
-int FFI_HIDDEN ffi_closure_helper_LINUX64 (ffi_closure *, void *,
- unsigned long *, ffi_dblfl *);
-
-int FFI_HIDDEN
-ffi_closure_helper_LINUX64 (ffi_closure *closure, void *rvalue,
- unsigned long *pst, ffi_dblfl *pfr)
-{
- /* rvalue is the pointer to space for return value in closure assembly */
- /* pst is the pointer to parameter save area
- (r3-r10 are stored into its first 8 slots by ffi_closure_LINUX64) */
- /* pfr is the pointer to where f1-f13 are stored in ffi_closure_LINUX64 */
-
- void **avalue;
- ffi_type **arg_types;
- long i, avn;
- ffi_cif *cif;
- ffi_dblfl *end_pfr = pfr + NUM_FPR_ARG_REGISTERS64;
-
- cif = closure->cif;
- avalue = alloca (cif->nargs * sizeof (void *));
-
- /* Copy the caller's structure return value address so that the closure
- returns the data directly to the caller. */
- if (cif->rtype->type == FFI_TYPE_STRUCT)
- {
- rvalue = (void *) *pst;
- pst++;
- }
-
- i = 0;
- avn = cif->nargs;
- arg_types = cif->arg_types;
-
- /* Grab the addresses of the arguments from the stack frame. */
- while (i < avn)
- {
- switch (arg_types[i]->type)
- {
- case FFI_TYPE_SINT8:
- case FFI_TYPE_UINT8:
- avalue[i] = (char *) pst + 7;
- pst++;
- break;
-
- case FFI_TYPE_SINT16:
- case FFI_TYPE_UINT16:
- avalue[i] = (char *) pst + 6;
- pst++;
- break;
-
- case FFI_TYPE_SINT32:
- case FFI_TYPE_UINT32:
- avalue[i] = (char *) pst + 4;
- pst++;
- break;
-
- case FFI_TYPE_SINT64:
- case FFI_TYPE_UINT64:
- case FFI_TYPE_POINTER:
- avalue[i] = pst;
- pst++;
- break;
-
- case FFI_TYPE_STRUCT:
- /* Structures with size less than eight bytes are passed
- left-padded. */
- if (arg_types[i]->size < 8)
- avalue[i] = (char *) pst + 8 - arg_types[i]->size;
- else
- avalue[i] = pst;
- pst += (arg_types[i]->size + 7) / 8;
- break;
-
- case FFI_TYPE_FLOAT:
- /* unfortunately float values are stored as doubles
- * in the ffi_closure_LINUX64 code (since we don't check
- * the type in that routine).
- */
-
- /* there are 13 64bit floating point registers */
-
- if (pfr < end_pfr)
- {
- double temp = pfr->d;
- pfr->f = (float) temp;
- avalue[i] = pfr;
- pfr++;
- }
- else
- avalue[i] = pst;
- pst++;
- break;
-
- case FFI_TYPE_DOUBLE:
- /* On the outgoing stack all values are aligned to 8 */
- /* there are 13 64bit floating point registers */
-
- if (pfr < end_pfr)
- {
- avalue[i] = pfr;
- pfr++;
- }
- else
- avalue[i] = pst;
- pst++;
- break;
-
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- case FFI_TYPE_LONGDOUBLE:
- if (pfr + 1 < end_pfr)
- {
- avalue[i] = pfr;
- pfr += 2;
- }
- else
- {
- if (pfr < end_pfr)
- {
- /* Passed partly in f13 and partly on the stack.
- Move it all to the stack. */
- *pst = *(unsigned long *) pfr;
- pfr++;
- }
- avalue[i] = pst;
- }
- pst += 2;
- break;
-#endif
-
- default:
- FFI_ASSERT (0);
- }
-
- i++;
- }
-
-
- (closure->fun) (cif, rvalue, avalue, closure->user_data);
-
- /* Tell ffi_closure_LINUX64 how to perform return type promotions. */
- return cif->rtype->type;
-}
diff --git a/.pc/powerpc-ffi-softfloat/src/powerpc/ffitarget.h b/.pc/powerpc-ffi-softfloat/src/powerpc/ffitarget.h
deleted file mode 100644
index d17f731..0000000
--- a/.pc/powerpc-ffi-softfloat/src/powerpc/ffitarget.h
+++ /dev/null
@@ -1,139 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
- ffitarget.h - Copyright (c) 1996-2003 Red Hat, Inc.
- Copyright (C) 2007, 2008, 2010 Free Software Foundation, Inc
- Target configuration macros for PowerPC.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
-
- ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-/* ---- System specific configurations ----------------------------------- */
-
-#if defined (POWERPC) && defined (__powerpc64__) /* linux64 */
-#ifndef POWERPC64
-#define POWERPC64
-#endif
-#elif defined (POWERPC_DARWIN) && defined (__ppc64__) /* Darwin64 */
-#ifndef POWERPC64
-#define POWERPC64
-#endif
-#ifndef POWERPC_DARWIN64
-#define POWERPC_DARWIN64
-#endif
-#elif defined (POWERPC_AIX) && defined (__64BIT__) /* AIX64 */
-#ifndef POWERPC64
-#define POWERPC64
-#endif
-#endif
-
-#ifndef LIBFFI_ASM
-typedef unsigned long ffi_arg;
-typedef signed long ffi_sarg;
-
-typedef enum ffi_abi {
- FFI_FIRST_ABI = 0,
-
-#ifdef POWERPC
- FFI_SYSV,
- FFI_GCC_SYSV,
- FFI_LINUX64,
- FFI_LINUX,
- FFI_LINUX_SOFT_FLOAT,
-# ifdef POWERPC64
- FFI_DEFAULT_ABI = FFI_LINUX64,
-# else
-# if (!defined(__NO_FPRS__) && (__LDBL_MANT_DIG__ == 106))
- FFI_DEFAULT_ABI = FFI_LINUX,
-# else
-# ifdef __NO_FPRS__
- FFI_DEFAULT_ABI = FFI_LINUX_SOFT_FLOAT,
-# else
- FFI_DEFAULT_ABI = FFI_GCC_SYSV,
-# endif
-# endif
-# endif
-#endif
-
-#ifdef POWERPC_AIX
- FFI_AIX,
- FFI_DARWIN,
- FFI_DEFAULT_ABI = FFI_AIX,
-#endif
-
-#ifdef POWERPC_DARWIN
- FFI_AIX,
- FFI_DARWIN,
- FFI_DEFAULT_ABI = FFI_DARWIN,
-#endif
-
-#ifdef POWERPC_FREEBSD
- FFI_SYSV,
- FFI_GCC_SYSV,
- FFI_LINUX64,
- FFI_LINUX,
- FFI_LINUX_SOFT_FLOAT,
- FFI_DEFAULT_ABI = FFI_SYSV,
-#endif
-
- FFI_LAST_ABI
-} ffi_abi;
-#endif
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#define FFI_NATIVE_RAW_API 0
-
-/* For additional types like the below, take care about the order in
- ppc_closures.S. They must follow after the FFI_TYPE_LAST. */
-
-/* Needed for soft-float long-double-128 support. */
-#define FFI_TYPE_UINT128 (FFI_TYPE_LAST + 1)
-
-/* Needed for FFI_SYSV small structure returns.
- We use two flag bits, (FLAG_SYSV_SMST_R3, FLAG_SYSV_SMST_R4) which are
- defined in ffi.c, to determine the exact return type and its size. */
-#define FFI_SYSV_TYPE_SMALL_STRUCT (FFI_TYPE_LAST + 2)
-
-#if defined(POWERPC64) || defined(POWERPC_AIX)
-# if defined(POWERPC_DARWIN64)
-# define FFI_TRAMPOLINE_SIZE 48
-# else
-# define FFI_TRAMPOLINE_SIZE 24
-# endif
-#else /* POWERPC || POWERPC_AIX */
-# define FFI_TRAMPOLINE_SIZE 40
-#endif
-
-#ifndef LIBFFI_ASM
-#if defined(POWERPC_DARWIN) || defined(POWERPC_AIX)
-struct ffi_aix_trampoline_struct {
- void * code_pointer; /* Pointer to ffi_closure_ASM */
- void * toc; /* TOC */
- void * static_chain; /* Pointer to closure */
-};
-#endif
-#endif
-
-#endif
diff --git a/.pc/powerpc-ffi-softfloat/src/powerpc/ppc_closure.S b/.pc/powerpc-ffi-softfloat/src/powerpc/ppc_closure.S
deleted file mode 100644
index 56f7d1a..0000000
--- a/.pc/powerpc-ffi-softfloat/src/powerpc/ppc_closure.S
+++ /dev/null
@@ -1,327 +0,0 @@
-/* -----------------------------------------------------------------------
- sysv.h - Copyright (c) 2003 Jakub Jelinek <jakub@redhat.com>
- Copyright (c) 2008 Red Hat, Inc.
-
- PowerPC Assembly glue.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
- ----------------------------------------------------------------------- */
-#define LIBFFI_ASM
-#include <fficonfig.h>
-#include <ffi.h>
-#include <powerpc/asm.h>
-
- .file "ppc_closure.S"
-
-#ifndef __powerpc64__
-
-ENTRY(ffi_closure_SYSV)
-.LFB1:
- stwu %r1,-144(%r1)
-.LCFI0:
- mflr %r0
-.LCFI1:
- stw %r0,148(%r1)
-
-# we want to build up an areas for the parameters passed
-# in registers (both floating point and integer)
-
- # so first save gpr 3 to gpr 10 (aligned to 4)
- stw %r3, 16(%r1)
- stw %r4, 20(%r1)
- stw %r5, 24(%r1)
- stw %r6, 28(%r1)
- stw %r7, 32(%r1)
- stw %r8, 36(%r1)
- stw %r9, 40(%r1)
- stw %r10,44(%r1)
-
-#ifndef __NO_FPRS__
- # next save fpr 1 to fpr 8 (aligned to 8)
- stfd %f1, 48(%r1)
- stfd %f2, 56(%r1)
- stfd %f3, 64(%r1)
- stfd %f4, 72(%r1)
- stfd %f5, 80(%r1)
- stfd %f6, 88(%r1)
- stfd %f7, 96(%r1)
- stfd %f8, 104(%r1)
-#endif
-
- # set up registers for the routine that actually does the work
- # get the context pointer from the trampoline
- mr %r3,%r11
-
- # now load up the pointer to the result storage
- addi %r4,%r1,112
-
- # now load up the pointer to the saved gpr registers
- addi %r5,%r1,16
-
- # now load up the pointer to the saved fpr registers */
- addi %r6,%r1,48
-
- # now load up the pointer to the outgoing parameter
- # stack in the previous frame
- # i.e. the previous frame pointer + 8
- addi %r7,%r1,152
-
- # make the call
- bl ffi_closure_helper_SYSV@local
-.Lret:
- # now r3 contains the return type
- # so use it to look up in a table
- # so we know how to deal with each type
-
- # look up the proper starting point in table
- # by using return type as offset
-
- mflr %r4 # move address of .Lret to r4
- slwi %r3,%r3,4 # now multiply return type by 16
- addi %r4, %r4, .Lret_type0 - .Lret
- lwz %r0,148(%r1)
- add %r3,%r3,%r4 # add contents of table to table address
- mtctr %r3
- bctr # jump to it
-.LFE1:
-
-# Each of the ret_typeX code fragments has to be exactly 16 bytes long
-# (4 instructions). For cache effectiveness we align to a 16 byte boundary
-# first.
- .align 4
-# case FFI_TYPE_VOID
-.Lret_type0:
- mtlr %r0
- addi %r1,%r1,144
- blr
- nop
-
-# case FFI_TYPE_INT
- lwz %r3,112+0(%r1)
- mtlr %r0
-.Lfinish:
- addi %r1,%r1,144
- blr
-
-# case FFI_TYPE_FLOAT
- lfs %f1,112+0(%r1)
- mtlr %r0
- addi %r1,%r1,144
- blr
-
-# case FFI_TYPE_DOUBLE
- lfd %f1,112+0(%r1)
- mtlr %r0
- addi %r1,%r1,144
- blr
-
-# case FFI_TYPE_LONGDOUBLE
- lfd %f1,112+0(%r1)
- lfd %f2,112+8(%r1)
- mtlr %r0
- b .Lfinish
-
-# case FFI_TYPE_UINT8
- lbz %r3,112+3(%r1)
- mtlr %r0
- addi %r1,%r1,144
- blr
-
-# case FFI_TYPE_SINT8
- lbz %r3,112+3(%r1)
- extsb %r3,%r3
- mtlr %r0
- b .Lfinish
-
-# case FFI_TYPE_UINT16
- lhz %r3,112+2(%r1)
- mtlr %r0
- addi %r1,%r1,144
- blr
-
-# case FFI_TYPE_SINT16
- lha %r3,112+2(%r1)
- mtlr %r0
- addi %r1,%r1,144
- blr
-
-# case FFI_TYPE_UINT32
- lwz %r3,112+0(%r1)
- mtlr %r0
- addi %r1,%r1,144
- blr
-
-# case FFI_TYPE_SINT32
- lwz %r3,112+0(%r1)
- mtlr %r0
- addi %r1,%r1,144
- blr
-
-# case FFI_TYPE_UINT64
- lwz %r3,112+0(%r1)
- lwz %r4,112+4(%r1)
- mtlr %r0
- b .Lfinish
-
-# case FFI_TYPE_SINT64
- lwz %r3,112+0(%r1)
- lwz %r4,112+4(%r1)
- mtlr %r0
- b .Lfinish
-
-# case FFI_TYPE_STRUCT
- mtlr %r0
- addi %r1,%r1,144
- blr
- nop
-
-# case FFI_TYPE_POINTER
- lwz %r3,112+0(%r1)
- mtlr %r0
- addi %r1,%r1,144
- blr
-
-# case FFI_TYPE_UINT128
- lwz %r3,112+0(%r1)
- lwz %r4,112+4(%r1)
- lwz %r5,112+8(%r1)
- bl .Luint128
-
-# The return types below are only used when the ABI type is FFI_SYSV.
-# case FFI_SYSV_TYPE_SMALL_STRUCT + 1. One byte struct.
- lbz %r3,112+0(%r1)
- mtlr %r0
- addi %r1,%r1,144
- blr
-
-# case FFI_SYSV_TYPE_SMALL_STRUCT + 2. Two byte struct.
- lhz %r3,112+0(%r1)
- mtlr %r0
- addi %r1,%r1,144
- blr
-
-# case FFI_SYSV_TYPE_SMALL_STRUCT + 3. Three byte struct.
- lwz %r3,112+0(%r1)
- srwi %r3,%r3,8
- mtlr %r0
- b .Lfinish
-
-# case FFI_SYSV_TYPE_SMALL_STRUCT + 4. Four byte struct.
- lwz %r3,112+0(%r1)
- mtlr %r0
- addi %r1,%r1,144
- blr
-
-# case FFI_SYSV_TYPE_SMALL_STRUCT + 5. Five byte struct.
- lwz %r3,112+0(%r1)
- lwz %r4,112+4(%r1)
- li %r5,24
- b .Lstruct567
-
-# case FFI_SYSV_TYPE_SMALL_STRUCT + 6. Six byte struct.
- lwz %r3,112+0(%r1)
- lwz %r4,112+4(%r1)
- li %r5,16
- b .Lstruct567
-
-# case FFI_SYSV_TYPE_SMALL_STRUCT + 7. Seven byte struct.
- lwz %r3,112+0(%r1)
- lwz %r4,112+4(%r1)
- li %r5,8
- b .Lstruct567
-
-# case FFI_SYSV_TYPE_SMALL_STRUCT + 8. Eight byte struct.
- lwz %r3,112+0(%r1)
- lwz %r4,112+4(%r1)
- mtlr %r0
- b .Lfinish
-
-.Lstruct567:
- subfic %r6,%r5,32
- srw %r4,%r4,%r5
- slw %r6,%r3,%r6
- srw %r3,%r3,%r5
- or %r4,%r6,%r4
- mtlr %r0
- addi %r1,%r1,144
- blr
-
-.Luint128:
- lwz %r6,112+12(%r1)
- mtlr %r0
- addi %r1,%r1,144
- blr
-
-END(ffi_closure_SYSV)
-
- .section ".eh_frame",EH_FRAME_FLAGS,@progbits
-.Lframe1:
- .4byte .LECIE1-.LSCIE1 # Length of Common Information Entry
-.LSCIE1:
- .4byte 0x0 # CIE Identifier Tag
- .byte 0x1 # CIE Version
-#if defined _RELOCATABLE || defined __PIC__
- .ascii "zR\0" # CIE Augmentation
-#else
- .ascii "\0" # CIE Augmentation
-#endif
- .uleb128 0x1 # CIE Code Alignment Factor
- .sleb128 -4 # CIE Data Alignment Factor
- .byte 0x41 # CIE RA Column
-#if defined _RELOCATABLE || defined __PIC__
- .uleb128 0x1 # Augmentation size
- .byte 0x1b # FDE Encoding (pcrel sdata4)
-#endif
- .byte 0xc # DW_CFA_def_cfa
- .uleb128 0x1
- .uleb128 0x0
- .align 2
-.LECIE1:
-.LSFDE1:
- .4byte .LEFDE1-.LASFDE1 # FDE Length
-.LASFDE1:
- .4byte .LASFDE1-.Lframe1 # FDE CIE offset
-#if defined _RELOCATABLE || defined __PIC__
- .4byte .LFB1-. # FDE initial location
-#else
- .4byte .LFB1 # FDE initial location
-#endif
- .4byte .LFE1-.LFB1 # FDE address range
-#if defined _RELOCATABLE || defined __PIC__
- .uleb128 0x0 # Augmentation size
-#endif
- .byte 0x4 # DW_CFA_advance_loc4
- .4byte .LCFI0-.LFB1
- .byte 0xe # DW_CFA_def_cfa_offset
- .uleb128 144
- .byte 0x4 # DW_CFA_advance_loc4
- .4byte .LCFI1-.LCFI0
- .byte 0x11 # DW_CFA_offset_extended_sf
- .uleb128 0x41
- .sleb128 -1
- .align 2
-.LEFDE1:
-
-#endif
-
-#if defined __ELF__ && defined __linux__
- .section .note.GNU-stack,"",@progbits
-#endif
diff --git a/.pc/powerpc-ffi-softfloat/src/powerpc/sysv.S b/.pc/powerpc-ffi-softfloat/src/powerpc/sysv.S
deleted file mode 100644
index 9ad8d9f..0000000
--- a/.pc/powerpc-ffi-softfloat/src/powerpc/sysv.S
+++ /dev/null
@@ -1,214 +0,0 @@
-/* -----------------------------------------------------------------------
- sysv.S - Copyright (c) 1998 Geoffrey Keating
- Copyright (C) 2007 Free Software Foundation, Inc
-
- PowerPC Assembly glue.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
- ----------------------------------------------------------------------- */
-
-#define LIBFFI_ASM
-#include <fficonfig.h>
-#include <ffi.h>
-#include <powerpc/asm.h>
-
-#ifndef __powerpc64__
- .globl ffi_prep_args_SYSV
-ENTRY(ffi_call_SYSV)
-.LFB1:
- /* Save the old stack pointer as AP. */
- mr %r8,%r1
-
-.LCFI0:
- /* Allocate the stack space we need. */
- stwux %r1,%r1,%r4
- /* Save registers we use. */
- mflr %r9
- stw %r28,-16(%r8)
-.LCFI1:
- stw %r29,-12(%r8)
-.LCFI2:
- stw %r30, -8(%r8)
-.LCFI3:
- stw %r31, -4(%r8)
-.LCFI4:
- stw %r9, 4(%r8)
-.LCFI5:
-
- /* Save arguments over call... */
- mr %r31,%r5 /* flags, */
- mr %r30,%r6 /* rvalue, */
- mr %r29,%r7 /* function address, */
- mr %r28,%r8 /* our AP. */
-.LCFI6:
-
- /* Call ffi_prep_args_SYSV. */
- mr %r4,%r1
- bl ffi_prep_args_SYSV@local
-
- /* Now do the call. */
- /* Set up cr1 with bits 4-7 of the flags. */
- mtcrf 0x40,%r31
- /* Get the address to call into CTR. */
- mtctr %r29
- /* Load all those argument registers. */
- lwz %r3,-16-(8*4)(%r28)
- lwz %r4,-16-(7*4)(%r28)
- lwz %r5,-16-(6*4)(%r28)
- lwz %r6,-16-(5*4)(%r28)
- bf- 5,1f
- nop
- lwz %r7,-16-(4*4)(%r28)
- lwz %r8,-16-(3*4)(%r28)
- lwz %r9,-16-(2*4)(%r28)
- lwz %r10,-16-(1*4)(%r28)
- nop
-1:
-
- /* Load all the FP registers. */
- bf- 6,2f
- lfd %f1,-16-(8*4)-(8*8)(%r28)
- lfd %f2,-16-(8*4)-(7*8)(%r28)
- lfd %f3,-16-(8*4)-(6*8)(%r28)
- lfd %f4,-16-(8*4)-(5*8)(%r28)
- nop
- lfd %f5,-16-(8*4)-(4*8)(%r28)
- lfd %f6,-16-(8*4)-(3*8)(%r28)
- lfd %f7,-16-(8*4)-(2*8)(%r28)
- lfd %f8,-16-(8*4)-(1*8)(%r28)
-2:
-
- /* Make the call. */
- bctrl
-
- /* Now, deal with the return value. */
- mtcrf 0x01,%r31 /* cr7 */
- bt- 31,L(small_struct_return_value)
- bt- 30,L(done_return_value)
- bt- 29,L(fp_return_value)
- stw %r3,0(%r30)
- bf+ 28,L(done_return_value)
- stw %r4,4(%r30)
- mtcrf 0x02,%r31 /* cr6 */
- bf 27,L(done_return_value)
- stw %r5,8(%r30)
- stw %r6,12(%r30)
- /* Fall through... */
-
-L(done_return_value):
- /* Restore the registers we used and return. */
- lwz %r9, 4(%r28)
- lwz %r31, -4(%r28)
- mtlr %r9
- lwz %r30, -8(%r28)
- lwz %r29,-12(%r28)
- lwz %r28,-16(%r28)
- lwz %r1,0(%r1)
- blr
-
-L(fp_return_value):
- bf 28,L(float_return_value)
- stfd %f1,0(%r30)
- mtcrf 0x02,%r31 /* cr6 */
- bf 27,L(done_return_value)
- stfd %f2,8(%r30)
- b L(done_return_value)
-L(float_return_value):
- stfs %f1,0(%r30)
- b L(done_return_value)
-
-L(small_struct_return_value):
- /*
- * The C code always allocates a properly-aligned 8-byte bounce
- * buffer to make this assembly code very simple. Just write out
- * r3 and r4 to the buffer to allow the C code to handle the rest.
- */
- stw %r3, 0(%r30)
- stw %r4, 4(%r30)
- b L(done_return_value)
-
-.LFE1:
-END(ffi_call_SYSV)
-
- .section ".eh_frame",EH_FRAME_FLAGS,@progbits
-.Lframe1:
- .4byte .LECIE1-.LSCIE1 /* Length of Common Information Entry */
-.LSCIE1:
- .4byte 0x0 /* CIE Identifier Tag */
- .byte 0x1 /* CIE Version */
-#if defined _RELOCATABLE || defined __PIC__
- .ascii "zR\0" /* CIE Augmentation */
-#else
- .ascii "\0" /* CIE Augmentation */
-#endif
- .uleb128 0x1 /* CIE Code Alignment Factor */
- .sleb128 -4 /* CIE Data Alignment Factor */
- .byte 0x41 /* CIE RA Column */
-#if defined _RELOCATABLE || defined __PIC__
- .uleb128 0x1 /* Augmentation size */
- .byte 0x1b /* FDE Encoding (pcrel sdata4) */
-#endif
- .byte 0xc /* DW_CFA_def_cfa */
- .uleb128 0x1
- .uleb128 0x0
- .align 2
-.LECIE1:
-.LSFDE1:
- .4byte .LEFDE1-.LASFDE1 /* FDE Length */
-.LASFDE1:
- .4byte .LASFDE1-.Lframe1 /* FDE CIE offset */
-#if defined _RELOCATABLE || defined __PIC__
- .4byte .LFB1-. /* FDE initial location */
-#else
- .4byte .LFB1 /* FDE initial location */
-#endif
- .4byte .LFE1-.LFB1 /* FDE address range */
-#if defined _RELOCATABLE || defined __PIC__
- .uleb128 0x0 /* Augmentation size */
-#endif
- .byte 0x4 /* DW_CFA_advance_loc4 */
- .4byte .LCFI0-.LFB1
- .byte 0xd /* DW_CFA_def_cfa_register */
- .uleb128 0x08
- .byte 0x4 /* DW_CFA_advance_loc4 */
- .4byte .LCFI5-.LCFI0
- .byte 0x11 /* DW_CFA_offset_extended_sf */
- .uleb128 0x41
- .sleb128 -1
- .byte 0x9f /* DW_CFA_offset, column 0x1f */
- .uleb128 0x1
- .byte 0x9e /* DW_CFA_offset, column 0x1e */
- .uleb128 0x2
- .byte 0x9d /* DW_CFA_offset, column 0x1d */
- .uleb128 0x3
- .byte 0x9c /* DW_CFA_offset, column 0x1c */
- .uleb128 0x4
- .byte 0x4 /* DW_CFA_advance_loc4 */
- .4byte .LCFI6-.LCFI5
- .byte 0xd /* DW_CFA_def_cfa_register */
- .uleb128 0x1c
- .align 2
-.LEFDE1:
-#endif
-
-#if defined __ELF__ && defined __linux__
- .section .note.GNU-stack,"",@progbits
-#endif
diff --git a/.pc/powerpc-sysv-without-string-ops/.timestamp b/.pc/powerpc-sysv-without-string-ops/.timestamp
deleted file mode 100644
index e69de29..0000000
--- a/.pc/powerpc-sysv-without-string-ops/.timestamp
+++ /dev/null
diff --git a/.pc/powerpc-sysv-without-string-ops/ChangeLog b/.pc/powerpc-sysv-without-string-ops/ChangeLog
deleted file mode 100644
index 5744c4b..0000000
--- a/.pc/powerpc-sysv-without-string-ops/ChangeLog
+++ /dev/null
@@ -1,4686 +0,0 @@
-2012-02-10 Kai Tietz <ktietz@redhat.com>
-
- * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
- windows target.
- * configure: Regenerated.
-
-2012-02-08 Kai Tietz <ktietz@redhat.com>
-
- * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
- also FFI_THISCALL.
- * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
- (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
- (ffi_prep_closure_loc): Add FFI_THISCALL support.
- * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
- * src/x86/win32.S (ffi_closure_THISCALL): New closure code
- for thiscall-calling convention.
- * testsuite/libffi.call/closure_thiscall.c: New test.
-
-2012-01-28 Kai Tietz <ktietz@redhat.com>
-
- * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
- argument to prototype for specify calling-convention.
- (ffi_call): Add support for stdcall/thiscall convention.
- (ffi_prep_args): Likewise.
- (ffi_raw_call): Likewise.
- * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
- FFI_FASTCALL.
- * src/x86/win32.S (_ffi_call_win32): Add support for
- fastcall/thiscall calling-convention calls.
- * testsuite/libffi.call/fastthis1_win32.c: New test.
- * testsuite/libffi.call/fastthis2_win32.c: New test.
- * testsuite/libffi.call/fastthis3_win32.c: New test.
- * testsuite/libffi.call/strlen2_win32.c: New test.
- * testsuite/libffi.call/many2_win32.c: New test.
- * testsuite/libffi.call/struct1_win32.c: New test.
- * testsuite/libffi.call/struct2_win32.c: New test.
-
-2012-01-23 Andreas Schwab <schwab@linux-m68k.org>
-
- * src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
- mc68000. Test for __HAVE_68881__ in addition to __MC68881__.
-
-2012-01-19 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/48496
- * src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
-
-2012-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (i?86-*-*): Set TARGET to X86_64.
- * configure: Regenerate.
-
-2011-12-07 Andrew Pinski <apinski@cavium.com>
-
- PR libffi/50051
- * src/mips/n32.S: Add ".set mips4".
-
-2011-11-21 Andreas Tobler <andreast@fgznet.ch>
-
- * configure: Regenerate.
-
-2011-11-12 Kimura Wataru <kimuraw@i.nifty.jp>
-
- * m4/ax_enable_builddir: Change from string comparison to numeric
- comparison for wc output.
- * configure.ac: Enable FFI_MMAP_EXEC_WRIT for darwin11 aka Mac OS
- X 10.7.
- * configure: Rebuilt.
-
-2011-11-10 Richard Henderson <rth@redhat.com>
-
- * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
- * configure, aclocal.m4: Rebuild.
-
-2011-09-04 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/49594
- * src/powerpc/darwin_closure.S (stubs): Make the stub binding
- helper reference track the architecture pointer size.
-
-2011-08-25 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
- instructions.
- * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
-
-2011-07-11 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46660
- * testsuite/libffi.call/cls_double_va.c: xfail dg-output on
- mips-sgi-irix6*.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
- PRId8 instead of %hhu, %hhd.
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
- PRIu8): Define.
- [__sgi__] (PRId8, PRIu8): Define.
-
-2011-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
- Define.
- Use them to handle ELF vs. ECOFF differences.
- [__osf__] (_GLOBAL__F_ffi_call_osf): Define.
-
-2011-03-30 Timothy Wall <twall@users.sf.net>
-
- * src/powerpc/darwin.S: Fix unknown FDE encoding.
- * src/powerpc/darwin_closure.S: ditto.
-
-2011-02-25 Anthony Green <green@moxielogic.com>
-
- * src/powerpc/ffi.c (ffi_prep_closure_loc): Allow for more
- 32-bit ABIs.
-
-2011-02-15 Anthony Green <green@moxielogic.com>
-
- * m4/ax_cc_maxopt.m4: Don't -malign-double or use -ffast-math.
- * configure: Rebuilt.
-
-2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2011-02-13 Anthony Green <green@moxielogic.com>
-
- * include/ffi_common.h (UNLIKELY, LIKELY): Define.
- * src/x86/ffi64.c (UNLIKELY, LIKELY): Remove definition.
- * src/prep_cif.c (UNLIKELY, LIKELY): Remove definition.
-
- * src/prep_cif.c (initialize_aggregate): Convert assertion into
- FFI_BAD_TYPEDEF return. Initialize arg size and alignment to 0.
-
- * src/pa/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
- just return FFI_BAD_ABI when things are wrong.
- * src/arm/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/powerpc/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/mips/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/ia64/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/avr32/ffi.c (ffi_prep_closure_loc): Ditto.
-
-2011-02-11 Anthony Green <green@moxielogic.com>
-
- * src/sparc/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
- just return FFI_BAD_ABI when things are wrong.
-
-2011-02-09 Stuart Shelton <srcshelton@gmail.com>
-
- http://bugs.gentoo.org/show_bug.cgi?id=286911
- * src/mips/ffitarget.h: Clean up error messages.
- * src/java_raw_api.c (ffi_java_translate_args): Cast raw arg to
- ffi_raw*.
- * include/ffi.h.in: Add pragma for SGI compiler.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * configure.ac: Add powerpc64-*-darwin* support.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * README: Mention Interix.
-
-2011-02-09 Jonathan Callen <abcd@gentoo.org>
-
- * configure.ac: Add Interix to win32/cygwin/mingw case.
- * configure: Ditto.
- * src/closures.c: Treat Interix like Cygwin, instead of as a
- generic win32.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * testsuite/libffi.call/err_bad_typedef.c: Remove xfail.
- * testsuite/libffi.call/err_bad_abi.c: Remove xfail.
- * src/x86/ffi64.c (UNLIKELY, LIKELY): Define.
- (ffi_prep_closure_loc): Check for bad ABI.
- * src/prep_cif.c (UNLIKELY, LIKELY): Define.
- (initialize_aggregate): Check for bad types.
-
-2011-02-09 Landon Fuller <landonf@plausible.coop>
-
- * Makefile.am (EXTRA_DIST): Add build-ios.sh, src/arm/gentramp.sh,
- src/arm/trampoline.S.
- (nodist_libffi_la_SOURCES): Add src/arc/trampoline.S.
- * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Define.
- * src/arm/ffi.c (ffi_trampoline_table)
- (ffi_closure_trampoline_table_page, ffi_trampoline_table_entry)
- (FFI_TRAMPOLINE_CODELOC_CONFIG, FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET)
- (FFI_TRAMPOLINE_COUNT, ffi_trampoline_lock, ffi_trampoline_tables)
- (ffi_trampoline_table_alloc, ffi_closure_alloc, ffi_closure_free):
- Define for FFI_EXEC_TRAMPOLINE_TABLE case (iOS).
- (ffi_prep_closure_loc): Handl FFI_EXEC_TRAMPOLINE_TABLE case
- separately.
- * src/arm/sysv.S: Handle Apple iOS host.
- * src/closures.c: Handle FFI_EXEC_TRAMPOLINE_TABLE case.
- * build-ios.sh: New file.
- * fficonfig.h.in, configure, Makefile.in: Rebuilt.
- * README: Mention ARM iOS.
-
-2011-02-08 Oren Held <orenhe@il.ibm.com>
-
- * src/dlmalloc.c (_STRUCT_MALLINFO): Define in order to avoid
- redefinition of mallinfo on HP-UX.
-
-2011-02-08 Ginn Chen <ginn.chen@oracle.com>
-
- * src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
- aggregate return ABI. Flush cache.
- (ffi_prep_closure_loc): Flush cache.
-
-2011-02-11 Anthony Green <green@moxielogic.com>
-
- From Tom Honermann <tom.honermann@oracle.com>:
- * src/powerpc/aix.S (ffi_call_AIX): Support for xlc toolchain on
- AIX. Declare .ffi_prep_args. Insert nops after branch
- instructions so that the AIX linker can insert TOC reload
- instructions.
- * src/powerpc/aix_closure.S: Declare .ffi_closure_helper_DARWIN.
-
-2011-02-08 Ed <ed@kdtc.net>
-
- * src/powerpc/asm.h: Fix grammar nit in comment.
-
-2011-02-08 Uli Link <ul.mcamafia@linkitup.de>
-
- * include/ffi.h.in (FFI_64_BIT_MAX): Define and use.
-
-2011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46661
- * testsuite/libffi.call/cls_pointer.c (main): Cast void * to
- uintptr_t first.
- * testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
-
-2011-02-08 Rafael Avila de Espindola <respindola@mozilla.com>
-
- * configure.ac: Fix x86 test for pc related relocs.
- * configure: Rebuilt.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
- Handle case when CPU variant does not have long double support.
- * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
- and cores with soft floating point.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * configure.ac: Add mips*-*-rtems* support.
- * configure: Regenerate.
- * src/mips/ffitarget.h: Ensure needed constants are available
- for targets which do not have sgidefs.h.
-
-2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR target/40125
- * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
- * configure: Regenerate.
-
-2010-12-18 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/29152
- PR libffi/42378
- * src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
- (FFI_TRAMPOLINE_SIZE): Update for Darwin64.
- * src/powerpc/darwin.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
- backslashes.
- (libffi_cv_as_string_pseudo_op): Likewise.
- * configure: Regenerate.
-
-2010-12-03 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
- (ffi_closure_VFP): Same.
- (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
- directive.
-
-2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
- (PRIuPTR): Define.
-
-2010-11-29 Richard Henderson <rth@redhat.com>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
- (.eh_frame): Use FDE_ENCODING.
- (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
-
-2010-11-22 Jacek Caban <jacek@codeweavers.com>
-
- * configure.ac: Check for symbol underscores on mingw-w64.
- * configure: Rebuilt.
- * src/x86/win64.S: Correctly access extern symbols in respect to
- underscores.
-
-2010-11-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp: Rename ...
- * testsuite/lib/libffi.exp: ... to this.
- * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
- * libffi/testsuite/libffi.special/special.exp: Likewise.
-
-2010-10-28 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
- code, new parameter, and return value. Update comments.
- (ffi_prep_cif_machdep): Add case for VFP struct return values. Add
- call to layout_vfp_args().
- (ffi_call_SYSV): Update declaration.
- (ffi_call_VFP): New declaration.
- (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
- when ABI is FFI_VFP.
- (ffi_closure_VFP): New declaration.
- (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
- ffi_prep_incoming_args_SYSV().
- (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
- case handling.
- (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
- construction under VFP hard-float.
- (rec_vfp_type_p): New function.
- (vfp_type_p): Same.
- (place_vfp_arg): Same.
- (layout_vfp_args): Same.
- * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
- based on __ARM_PCS_VFP.
- (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
- fields.
- (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
- (FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
- * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
- direct call. Move function pointer load upwards.
- (ffi_call_VFP): New function.
- (ffi_closure_VFP): Same.
-
- * testsuite/lib/libffi-dg.exp (check-flags): New function.
- (dg-skip-if): New function.
- * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
- and compiler options include -mfloat-abi=hard.
- * testsuite/libffi.call/cls_longdouble_va.c: Same.
-
-2010-10-01 Jakub Jelinek <jakub@redhat.com>
-
- PR libffi/45677
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
- a multiple of 8.
- * testsuite/libffi.call/many2.c: New test.
-
-2010-08-20 Mark Wielaard <mjw@redhat.com>
-
- * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
- returns NULL.
-
-2010-08-09 Andreas Tobler <andreast@fgznet.ch>
-
- * configure.ac: Add target powerpc64-*-freebsd*.
- * configure: Regenerate.
- * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
- -mlong-double-128 only to linux targets.
- * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
- * testsuite/libffi.call/cls_longdouble.c: Likewise.
- * testsuite/libffi.call/huge_struct.c: Likewise.
-
-2010-08-05 Dan Witte <dwitte@mozilla.com>
-
- * Makefile.am: Pass FFI_DEBUG define to msvcc.sh for linking to the
- debug CRT when --enable-debug is given.
- * configure.ac: Define it.
- * msvcc.sh: Translate -g and -DFFI_DEBUG appropriately.
-
-2010-08-04 Dan Witte <dwitte@mozilla.com>
-
- * src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64
- platforms.
- * src/x86/ffi.c: Remove redundant ifdef checks.
- * src/prep_cif.c: Push stack space computation into src/x86/ffi.c
- for X86_ANY so return value space doesn't get added twice.
-
-2010-08-03 Neil Rashbrooke <neil@parkwaycc.co.uk>
-
- * msvcc.sh: Don't pass -safeseh to ml64 because behavior is buggy.
-
-2010-07-22 Dan Witte <dwitte@mozilla.com>
-
- * src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
- * src/prep_cif.c: Fix ABI assertion.
- * src/cris/ffi.c: Ditto.
-
-2010-07-10 Evan Phoenix <evan@fallingsnow.net>
-
- * src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
-
-2010-07-07 Dan Horák <dan@danny.cz>
-
- * include/ffi.h.in: Protect #define with #ifndef.
- * src/powerpc/ffitarget.h: Ditto.
- * src/s390/ffitarget.h: Ditto.
- * src/sparc/ffitarget.h: Ditto.
-
-2010-07-07 Neil Roberts <neil@linux.intel.com>
-
- * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
- 16-bytes.
-
-2010-07-02 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
- * Makefile.in: Regenerated.
-
-2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
- output, too.
- (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
- (libffi_cv_as_string_pseudo_op): Check for .string.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
-
-2010-05-11 Dan Witte <dwitte@mozilla.com>
-
- * doc/libffi.tex: Document previous change.
-
-2010-05-11 Makoto Kato <m_kato@ga2.so-net.ne.jp>
-
- * src/x86/ffi.c (ffi_call): Don't copy structs passed by value.
-
-2010-05-05 Michael Kohler <michaelkohler@live.com>
-
- * src/dlmalloc.c (dlfree): Fix spelling.
- * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
- * configure.ac: Ditto.
- * configure: Rebuilt.
-
-2010-04-13 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Build with -W3 instead of -Wall.
- * src/powerpc/ffi_darwin.c: Remove build warnings.
- * src/x86/ffi.c: Ditto.
- * src/x86/ffitarget.h: Ditto.
-
-2010-04-12 Dan Witte <dwitte@mozilla.com>
- Walter Meinl <wuno@lsvw.de>
-
- * configure.ac: Add OS/2 support.
- * configure: Rebuilt.
- * src/closures.c: Ditto.
- * src/dlmalloc.c: Ditto.
- * src/x86/win32.S: Ditto.
-
-2010-04-07 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
-
-2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2010-03-30 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Disable build warnings.
- * README (tested): Clarify windows build procedure.
-
-2010-03-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * libffi/src/x86/unix64.S (.eh_frame)
- [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
-
-2010-03-14 Matthias Klose <doko@ubuntu.com>
-
- * src/x86/ffi64.c: Fix typo in comment.
- * src/x86/ffi.c: Use /* ... */ comment style.
-
-2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/libffi.texi (The Closure API): Fix typo.
- * doc/libffi.info: Remove.
-
-2010-02-15 Matthias Klose <doko@ubuntu.com>
-
- * src/arm/sysv.S (__ARM_ARCH__): Define for processor
- __ARM_ARCH_7EM__.
-
-2010-01-15 Anthony Green <green@redhat.com>
-
- * README: Add notes on building with Microsoft Visual C++.
-
-2010-01-15 Daniel Witte <dwitte@mozilla.com>
-
- * msvcc.sh: New file.
-
- * src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
- * src/x86/ffi.c: Tweak function declaration and remove excess
- parens.
- * include/ffi.h.in: Add __declspec(align(8)) to typedef struct
- ffi_closure.
-
- * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
- function ffi_call_win32 on X86_WIN32.
- * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
- (ffi_call_STDCALL): Remove.
-
- * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
- to ffi_prep_cif_machdep for x86.
- * src/x86/ffi.c (ffi_prep_cif_machdep): To here.
-
-2010-01-15 Oliver Kiddle <okiddle@yahoo.co.uk>
-
- * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
- Sun Studio compiler compatibility.
-
-2010-01-12 Conrad Irwin <conrad.irwin@gmail.com>
-
- * doc/libffi.texi: Add closure example.
-
-2010-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40701
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
- PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
- * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
- alpha*-dec-osf*.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/return_ll1.c: Likewise.
- * testsuite/libffi.call/stret_medium2.c: Likewise.
- * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
- MAP_FAILED to char *.
-
-2010-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
-
-2009-12-31 Anthony Green <green@redhat.com>
-
- * README: Update for libffi 3.0.9.
-
-2009-12-27 Matthias Klose <doko@ubuntu.com>
-
- * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
- appropriate.
- * configure: Rebuilt.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
- avr32*-*-*.
- * testsuite/libffi.call/cls_double_va.c: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
- and inttypes.h.
- * testsuite/libffi.special/unwindtest.cc: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-openbsd*.
- * configure: Rebuilt.
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
- openbsd programs with -lpthread.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
- mips*-*-* and arm*-*-*.
- * testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c,
- testsuite/libffi.call/stret_medium2.c,
- testsuite/libffi.call/stret_medium.c,
- testsuite/libffi.call/stret_large.c,
- testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
-
-2009-12-31 Kay Tietz <ktietz70@googlemail.com>
-
- * testsuite/libffi.call/ffitest.h,
- testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
- definitions.
-
-2009-12-31 Carlo Bramini <carlo.bramix@libero.it>
-
- * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
- * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
-
-2009-12-31 Anthony Green <green@redhat.com>
- Blake Chaffin.
-
- * testsuite/libffi.call/huge_struct.c: New test case from Blake
- Chaffin @ Apple.
-
-2009-12-28 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
- local variables.
- (aix_adjust_aggregate_sizes): New function.
- (ffi_prep_cif_machdep): Call it.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
- * configure: Regenerate.
- * fficonfig.h.in: Likewise.
- * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
- Solaris/x86.
-
-2009-12-26 Andreas Schwab <schwab@linux-m68k.org>
-
- * 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.
-
-2009-12-25 Matthias Klose <doko@ubuntu.com>
-
- * man/ffi_call.3: Fix #include in examples.
- * doc/libffi.texi: Add dircategory.
-
-2009-12-25 Frank Everdij <f.p.x.everdij@tudelft.nl>
-
- * include/ffi.h.in: Placed '__GNUC__' ifdef around
- '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
- IRIX MIPSPro c99.
- * include/ffi_common.h: Added '__sgi' define to non
- '__attribute__((__mode__()))' integer typedefs.
- * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
- ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
- (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
- FFI_LONGDOUBLE support and alignment(N32 only).
- * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
- fixed non '__attribute__((__mode__()))' integer typedefs.
- * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
- since they are Linux/GNU Assembler specific.
-
-2009-12-25 Bradley Smith <brad@brad-smith.co.uk>
-
- * configure.ac, Makefile.am, src/avr32/ffi.c,
- src/avr32/ffitarget.h,
- src/avr32/sysv.S: Add AVR32 port.
- * configure, Makefile.in: Rebuilt.
-
-2009-12-21 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
- * configure: Regenerate.
-
-2009-12-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
- type on HP-UX.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
- double' arguments.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40700
- * src/closures.c [X86_64 && __sun__ && __svr4__]
- (FFI_MMAP_EXEC_WRIT): Define.
-
-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.
-
-2009-12-07 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
- typo.
-
-2009-12-05 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
- code.
- * src/powerpc/aix_closure.S: Same.
-
-2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
- linux64_closure.S.
-
-2009-12-04 Uros Bizjak <ubizjak@gmail.com>
-
- 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.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
- pfr for long double split between fpr13 and stack.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
- fparg_count twice for long double.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- PR libffi/42243
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03 Uros Bizjak <ubizjak@gmail.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
- Remove xfails for x86 linux targets.
-
-2009-12-02 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
- case.
-
-2009-12-01 David Edelsohn <edelsohn@gnu.org>
-
- * 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.
-
-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.
-
-2009-11-02 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/41908
- * testsuite/libffi.call/testclosure.c: New test.
-
-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.
-
-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.
-
-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.
-
-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.
-
-2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.am (install-html, install-pdf): Remove.
- * Makefile.in: Regenerate.
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2011-08-22 Jasper Lievisse Adriaanse <jasper@openbsd.org>
-
- * configure.ac: Add OpenBSD/hppa and OpenBSD/powerpc support.
- * configure: Rebuilt.
-
-2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24 Dave Korn <dave.korn.cygwin@gmail.com>
-
- 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.
-
-2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
-
- 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.
-
-2009-07-01 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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 "".)
-
-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.
-
-2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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.
-
-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.
-
-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.
-
-2009-06-16 Andrew Haley <aph@redhat.com>
-
- * configure.ac (TARGETDIR): Add missing blank lines.
- * configure: Regenerate.
-
-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.
-
-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.
-
-2009-06-12 Andrew Haley <aph@redhat.com>
-
- * Makefile.am: Remove info_TEXINFOS.
-
-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-11 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * 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.
-
-2009-06-09 Andrew Haley <aph@redhat.com>
-
- * src/x86/freebsd.S: Add missing file.
-
-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).
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * README: Import from libffi 3.0.8.
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Add xfails.
- * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
- * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
- * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
- * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
- * testsuite/libffi.call/stret_medium.c: Likewise.
- * testsuite/libffi.call/stret_large2.c: Likewise.
- * testsuite/libffi.call/stret_large.c: Likewise.
-
-2008-12-26 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_align_longdouble.c,
- testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
- failures on x86_64 cygwin/mingw.
-
-2008-12-22 Timothy Wall <twall@users.sf.net>
-
- * 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_loc_fn0.c,
- testsuite/libffi.call/closure_stdcall.c,
- testsuite/libffi.call/cls_align_pointer.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
- pointer to integer (intptr_t).
- * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_dbls_struct.c,
- testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c,
- testsuite/libffi.call/err_bad_abi.c: Clean up failures from
- compiler warnings.
-
-2008-03-04 Anthony Green <green@redhat.com>
- Blake Chaffin
- hos@tamanegi.org
-
- * testsuite/libffi.call/cls_align_longdouble_split2.c
- testsuite/libffi.call/cls_align_longdouble_split.c
- testsuite/libffi.call/cls_dbls_struct.c
- testsuite/libffi.call/cls_double_va.c
- testsuite/libffi.call/cls_longdouble.c
- testsuite/libffi.call/cls_longdouble_va.c
- testsuite/libffi.call/cls_pointer.c
- testsuite/libffi.call/cls_pointer_stack.c
- testsuite/libffi.call/err_bad_abi.c
- testsuite/libffi.call/err_bad_typedef.c
- testsuite/libffi.call/stret_large2.c
- testsuite/libffi.call/stret_large.c
- testsuite/libffi.call/stret_medium2.c
- testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
- libffi.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
- stdcall changes.
-
-2008-02-26 Anthony Green <green@redhat.com>
- Thomas Heller <theller@ctypes.org>
-
- * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
- comment.
-
-2008-02-03 Timothy Wall <twall@users.sf.net>
-
- * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
- offset based on code pointer, not data pointer.
-
-2008-01-31 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
- closures.
- * src/x86/ffitarget.h: Increase size of trampoline for stdcall
- closures.
- * src/x86/win32.S: Add assembly for stdcall closure.
- * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Change void (*)() to void (*)(void).
- * src/x86/ffi.c: Likewise.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ppc_closure.S: Insert licence header.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/m68k/sysv.S: Likewise.
-
- * src/sh64/ffi.c: Change void (*)() to void (*)(void).
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/m32r/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi64.c: Likewise.
- * src/alpha/ffi.c: Likewise.
- * src/alpha/osf.S: Likewise.
- * src/frv/ffi.c: Likewise.
- * src/s390/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/pa/hpux32.S: Likewise.
- * src/ia64/unix.S: Likewise.
- * src/ia64/ffi.c: Likewise.
- * src/sparc/ffi.c: Likewise.
- * src/mips/ffi.c: Likewise.
- * src/sh/ffi.c: Likewise.
-
-2008-02-15 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
- Define (conditionally), and use it to include cachectl.h.
- (ffi_prep_closure_loc): Fix cache flushing.
- * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- include/ffi.h.in,
- src/arm/ffitarget.h,
- src/arm/ffi.c,
- src/arm/sysv.S,
- src/powerpc/ffitarget.h,
- src/closures.c,
- src/sh64/ffitarget.h,
- src/sh64/ffi.c,
- src/sh64/sysv.S,
- src/types.c,
- src/x86/ffi64.c,
- src/x86/ffitarget.h,
- src/x86/win32.S,
- src/x86/darwin.S,
- src/x86/ffi.c,
- src/x86/sysv.S,
- src/x86/unix64.S,
- src/alpha/ffitarget.h,
- src/alpha/ffi.c,
- src/alpha/osf.S,
- src/m68k/ffitarget.h,
- src/frv/ffitarget.h,
- src/frv/ffi.c,
- src/s390/ffitarget.h,
- src/s390/sysv.S,
- src/cris/ffitarget.h,
- src/pa/linux.S,
- src/pa/ffitarget.h,
- src/pa/ffi.c,
- src/raw_api.c,
- src/ia64/ffitarget.h,
- src/ia64/unix.S,
- src/ia64/ffi.c,
- src/ia64/ia64_flags.h,
- src/java_raw_api.c,
- src/debug.c,
- src/sparc/v9.S,
- src/sparc/ffitarget.h,
- src/sparc/ffi.c,
- src/sparc/v8.S,
- src/mips/ffitarget.h,
- src/mips/n32.S,
- src/mips/o32.S,
- src/mips/ffi.c,
- src/prep_cif.c,
- src/sh/ffitarget.h,
- src/sh/ffi.c,
- src/sh/sysv.S: Update license text.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * src/x86/win32.S (_ffi_closure_STDCALL): New function.
- (.eh_frame): Add FDE for it.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * configure.ac: Also check if assembler supports pc-relative
- relocs on X86_WIN32 targets.
- * configure: Regenerate.
- * src/x86/win32.S (ffi_prep_args): Declare extern, not global.
- (_ffi_call_SYSV): Add missing function type symbol .def and
- add EH markup labels.
- (_ffi_call_STDCALL): Likewise.
- (_ffi_closure_SYSV): Likewise.
- (_ffi_closure_raw_SYSV): Likewise.
- (.eh_frame): Add hand-crafted EH data.
-
-2009-04-09 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
- version 3 of the GNU General Public License and to point readers
- at the COPYING3 file and the FSF's license web page.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-12-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libffi/26048
- * configure.ac (HAVE_AS_X86_PCREL): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
- RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
- RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
- * src/x86/unix64.S (.Lstore_table): Move to .text section.
- (.Lload_table): Likewise.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
- signed/unsigned int8/16 return values.
- * src/sparc/v8.S (ffi_call_v8): Likewise.
- (ffi_closure_v8): Likewise.
-
-2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
- Steve Ellcey <sje@cup.hp.com>
-
- * configure: Regenerate for new libtool.
- * Makefile.in: Ditto.
- * include/Makefile.in: Ditto.
- * aclocal.m4: Ditto.
-
-2008-08-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
- FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
- Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
- Adjust copyright notice.
- * src/powerpc/ffi.c: Add two new flags to indicate if we have one
- register or two register to use for FFI_SYSV structs.
- (ffi_prep_cif_machdep): Pass the right register flag introduced above.
- (ffi_closure_helper_SYSV): Fix the return type for
- FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
- Adjust copyright notice.
-
-2008-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
- int.
-
-2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2008-06-07 Joseph Myers <joseph@codesourcery.com>
-
- * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
- powerpc-*-beos*): Remove.
- * configure: Regenerate.
-
-2008-05-09 Julian Brown <julian@codesourcery.com>
-
- * Makefile.am (LTLDFLAGS): New.
- (libffi_la_LDFLAGS): Use above.
- * Makefile.in: Regenerate.
-
-2008-04-18 Paolo Bonzini <bonzini@gnu.org>
-
- PR bootstrap/35457
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2008-03-26 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add .note.GNU-stack on Linux.
- * src/sh64/sysv.S: Likewise.
-
-2008-03-26 Daniel Jacobowitz <dan@debian.org>
-
- * src/arm/sysv.S: Fix ARM comment marker.
-
-2008-03-26 Jakub Jelinek <jakub@redhat.com>
-
- * src/alpha/osf.S: Add .note.GNU-stack on Linux.
- * src/s390/sysv.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
- * src/x86/unix64.S: Likewise.
- * src/x86/sysv.S: Likewise.
- * src/sparc/v8.S: Likewise.
- * src/sparc/v9.S: Likewise.
- * src/m68k/sysv.S: Likewise.
- * src/arm/sysv.S: Likewise.
-
-2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * aclocal.m4: Regenerate.
- * configure: Likewise.
- * Makefile.in: Likewise.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2008-02-12 Bjoern Koenig <bkoenig@alpha-tierchen.de>
- Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-freebsd* target.
- * configure: Regenerate.
-
-2008-01-30 H.J. Lu <hongjiu.lu@intel.com>
-
- PR libffi/34612
- * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
- returning struct.
-
- * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
- tests.
-
-2008-01-24 David Edelsohn <edelsohn@gnu.org>
-
- * configure: Regenerate.
-
-2008-01-06 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
-
-2008-01-05 Andreas Tobler <a.tobler@schweiz.org>
-
- PR testsuite/32843
- * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
- signed/unsigned int8/16 for X86_DARWIN.
- Updated copyright info.
- Handle one and two byte structs with special cif->flags.
- * src/x86/ffitarget.h: Add special types for one and two byte structs.
- Updated copyright info.
- * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
- sysv.S
- Remove code to pop args from the stack after call.
- Special-case signed/unsigned for int8/16, one and two byte structs.
- (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
- FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
- FFI_TYPE_SINT32.
- Updated copyright info.
-
-2007-12-08 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_call_N32): Replace dadd with ADDU, dsub with
- SUBU, add with ADDU and use smaller code sequences.
-
-2007-12-07 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
- type.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
- defined.
- (ffi_java_raw): New typedef.
- (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
- ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
- ffi_java_raw.
- (ffi_java_raw_closure) : Same.
- (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
- parameter types.
- * src/java_raw_api.c (ffi_java_raw_size): Replace FFI_SIZEOF_ARG with
- FFI_SIZEOF_JAVA_RAW.
- (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
- Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
- sizeof(ffi_java_raw) for alignment calculations.
- (ffi_java_ptrarray_to_raw): Same.
- (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
- if FFI_SIZEOF_JAVA_RAW == 4.
- (ffi_java_raw_to_rvalue): Same.
- (ffi_java_raw_call): Change type of raw to ffi_java_raw.
- (ffi_java_translate_args): Same.
- (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
- parameter types.
- * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
- pointer values.
-
-2007-12-01 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/31937
- * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
- Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
- * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
- set the NUM_FPR_ARG_REGISTERS according to.
- Add support for potential soft-float support under hard-float
- architecture.
- (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
- FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
- to the FFI_LINUX_SOFT_FLOAT ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Make sure not to store float/double
- on archs where __NO_FPRS__ is true.
- Add FFI_TYPE_UINT128 support.
- * src/powerpc/sysv.S: Add support for soft-float long-double-128.
- Adjust copyright notice.
-
-2007-11-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
- * include/ffi_common.h: ... here.
- Update copyright.
-
-2007-11-17 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
- * testsuite/libffi.call/return_ldl.c: New test.
-
-2007-09-04 <aph@redhat.com>
-
- * src/arm/sysv.S (UNWIND): New.
- (Whole file): Conditionally compile unwinder directives.
- * src/arm/sysv.S: Add unwinder directives.
-
- * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
- Only treat r0 as a struct address if we're actually returning a
- struct by address.
- Only copy the bytes that are actually within a struct.
- (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
- is returned in r0, not passed by address.
- (ffi_call): Allocate a word-sized temporary for the case where
- a composite is returned in r0.
- (ffi_prep_incoming_args_SYSV): Align as necessary.
-
-2007-08-05 Steven Newbury <s_j_newbury@yahoo.co.uk>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
- directly using the sys_cacheflush syscall.
-
-2007-07-27 Andrew Haley <aph@redhat.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
-
-2007-09-03 Maciej W. Rozycki <macro@linux-mips.org>
-
- * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure: Likewise.
-
-2007-08-24 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/return_sl.c: New test.
-
-2007-08-10 David Daney <ddaney@avtrex.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/nested_struct5.c,
- testsuite/libffi.call/cls_double.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/nested_struct.c,
- testsuite/libffi.call/cls_2byte.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_sint16.c,
- testsuite/libffi.call/cls_align_uint32.c,
- testsuite/libffi.call/cls_20byte.c,
- testsuite/libffi.call/cls_float.c,
- testsuite/libffi.call/nested_struct2.c,
- testsuite/libffi.call/cls_5_1_byte.c,
- testsuite/libffi.call/nested_struct4.c,
- testsuite/libffi.call/cls_24byte.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: Remove xfail for mips64*-*-*.
-
-2007-08-10 David Daney <ddaney@avtrex.com>
-
- 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.
-
-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*.
- * 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.
-
-2006-12-13 Andreas Tobler <a.tobler@schweiz.org>
-
- * aclocal.m4: Regenerate with aclocal -I .. as written in the
- Makefile.am.
-
-2006-10-31 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
- (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
- Darwin.
- * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
- * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10 Paolo Bonzini <bonzini@gnu.org>
- Sandro Tolaini <tolaini@libero.it>
-
- * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
- conditional.
- * configure: Regenerated.
- * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
- (EXTRA_DIST): Add src/x86/darwin.S.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
- X86_WIN32, and additionally align stack to 16 bytes.
- * src/x86/darwin.S: New, based on sysv.S.
- * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12 David Daney <ddaney@avtrex.com>
-
- PR libffi/23935
- * include/Makefile.am: Install both ffi.h and ffitarget.h in
- $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
- * aclocal.m4: Regenerated for automake 1.9.6.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
-2006-08-17 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h: Remove lint directives.
- * include/ffi.h.in: Likewise.
-
-2006-07-25 Torsten Schoenfeld <kaffeetisch@gmx.de>
-
- * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
- for 32-bit architectures.
- * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
- xfail remains for mips64.
-
-2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
-
- * Makefile.am: Add install-html target. Add install-html to .PHONY
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
- stack slot.
-
-2006-04-22 Andreas Tobler <a.tobler@schweiz.ch>
-
- * README: Remove notice about 'Crazy Comments'.
- * src/debug.c: Remove lint directives. Cleanup white spaces.
- * src/java_raw_api.c: Likewise.
- * src/prep_cif.c: Likewise.
- * src/raw_api.c: Likewise.
- * src/ffitest.c: Delete. No longer needed, all test cases migrated
- to the testsuite.
- * src/arm/ffi.c: Remove lint directives.
- * src/m32r/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/sh/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/pa/hpux32.S: Correct unwind offset calculation for
- ffi_closure_pa32.
- * src/pa/linux.S: Likewise.
-
-2006-04-12 James E Wilson <wilson@specifix.com>
-
- PR libgcj/26483
- * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
- (hfa_type_load): Call stf_spill.
- (hfa_type_store): Call ldf_fill.
- (ffi_call): Adjust calls to above routines. Add local temps for
- macro result.
-
-2006-04-10 Matthias Klose <doko@debian.org>
-
- * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
- directory names containing underscores.
-
-2006-04-07 James E Wilson <wilson@specifix.com>
-
- * testsuite/libffi.call/float4.c: New testcase.
-
-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.
-
-2006-03-24 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Default
- for 32-bit using IBM extended double format. Fix FFI_LAST_ABI.
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
- FFI_TYPE_LONGDOUBLE.
- (ffi_prep_args64): Assert using IBM extended double.
- (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
- Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
- (ffi_call): Handle FFI_LINUX.
- (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
- gpr3 return pointer as for struct return. Handle FFI_LINUX
- FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf"
- unnecessarily.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
- for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table.
- Don't use r6 as pointer to results, instead use sp offset. Don't
- make a special call to load lr with case table address, instead
- use offset from previous call.
- * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
- return.
-
-2006-03-15 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
- passed with FP registers correctly.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S: Likewise.
-
-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.
-
-2006-02-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
- -O2, -O3, -Os and the warning flags -W -Wall.
- * testsuite/libffi.special/special.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
- unused parameter unused for gcc or else do nothing.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
- * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
- * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
- * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
- * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
- * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
- * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
- * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
- * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
- void* to avoid compiler warning.
- (main): Likewise.
- (cls_struct_align_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
- * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
- * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
- userdata unused.
- (cls_ret_schar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
- userdata unused.
- (cls_ret_sint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
- userdata unused.
- (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn): Mark cif and
- userdata unused.
- (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
- userdata unused.
- (cls_ret_uint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
- userdata unused.
- (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
- * testsuite/libffi.call/float1.c (main): Remove unused variable i.
- Cleanup white spaces.
- * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
- * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
- cif and userdata unused.
- * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
- Likewise.
- * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
- formatters to silence gcc.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct4.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct6.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
- * testsuite/libffi.call/problem1.c (stub): Likewise.
- * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
- gcc.
- * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
- in the last commit for this test case in the test case itself.
- * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
- unused.
- * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
- * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
- * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
- * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
- * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
- * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Fix register numbers in the FDE for
- ffi_closure_SYSV.
-
-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.
-
-2006-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
- and cast integer to void * if needed. Update the pointer to
- the FP register saved area correctly.
-
-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.
-
-2006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/return_dbl.c: New test case.
- * testsuite/libffi.call/return_dbl1.c: Likewise.
- * testsuite/libffi.call/return_dbl2.c: Likewise.
- * testsuite/libffi.call/return_fl.c: Likewise.
- * testsuite/libffi.call/return_fl1.c: Likewise.
- * testsuite/libffi.call/return_fl2.c: Likewise.
- * testsuite/libffi.call/return_fl3.c: Likewise.
- * testsuite/libffi.call/closure_fn6.c: Likewise.
-
- * 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.
-
-2006-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.ac: Enable libffi for sparc64-*-freebsd*.
- * configure: Rebuilt.
-
-2006-01-18 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
- instead do the shifting inline.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
- shift count unconditionally. Simplify load sequences for 1, 2, 3, 4
- and 8 byte structs, for the remaining struct sizes don't call
- __lshrdi3, instead do the shifting inline.
-
-2005-12-07 Thiemo Seufer <ths@networkno.de>
-
- * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
- missing parentheses.
- * src/mips/o32.S (ffi_call_O32): Code formatting. Define
- and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
- (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
- A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
- V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
- FA_0_0_OFF2.
- * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
- endianness bugs.
- (ffi_prep_closure): Improve trampoline instruction scheduling.
- (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c: Formatting.
- (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
- (ffi_prep_args64): Likewise.
-
-2005-09-30 Geoffrey Keating <geoffk@apple.com>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
- darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26 Tom Tromey <tromey@redhat.com>
-
- * 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.
-
-2005-08-25 Alan Modra <amodra@bigpond.net.au>
-
- PR target/23404
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
- homed fp args.
- (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11 Jakub Jelinek <jakub@redhat.com>
-
- * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
- (AH_BOTTOM): Add FFI_HIDDEN definition.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * src/powerpc/ffi.c (hidden): Remove.
- (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
- ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
- .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
- * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
- add FFI_HIDDEN to its prototype.
- (ffi_closure_SYSV_inner): New.
- * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
- * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10 Alfred M. Szmidt <ams@gnu.org>
-
- PR libffi/21819:
- * configure: Rebuilt.
- * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
- DW_CFA_offset_extended_sf rather than
- DW_CFA_GNU_negative_offset_extended.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
-
- * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
- on sh3.
- (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
- * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
- partially on register.
- (ffi_closure_helper_SYSV): Likewise.
- (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_call): Handle small structures correctly.
- Remove empty line.
- * src/sh64/ffi.c (simple_type): Remove.
- (return_type): Handle small structures correctly.
- (ffi_prep_args): Likewise.
- (ffi_call): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
- Emit position independent code if PIC and remove wrong datalabel
- prefixes from EH data.
-
-2005-07-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure.ac: Add POWERPC_FREEBSD rules.
- * configure: Regenerate.
- * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
- (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
- * src/powerpc/ffi.c: Add flags to handle small structure returns
- in ffi_call_SYSV.
- (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
- Aka FFI_SYSV.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Add return types for small structures.
- * src/powerpc/sysv.S: Add bits to handle small structures for
- final SYSV 4 ABI.
-
-2005-07-10 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_5_1_byte.c: New test file.
- * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05 Randolph Chung <tausq@debian.org>
-
- * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
- as FFI_TYPE_SMALL_STRUCT3. Break out handling for 5-7 byte
- structures. Kill compilation warnings.
- (ffi_closure_inner_LINUX): Print return values as hex in debug
- message. Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
- Properly handle 5-7 byte structure returns.
- * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
- (FFI_TYPE_SMALL_STRUCT2): Remove.
- (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
- (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
- * src/pa/linux.S: Mark source file as using PA1.1 assembly.
- (checksmst1, checksmst2): Remove.
- (checksmst3): Optimize handling of 3-byte struct returns.
- (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libgcj/21943
- * src/mips/n32.S: Enforce PIC code.
- * src/mips/o32.S: Likewise.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
- * configure: Regenerate.
-
-2005-06-01 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
- to call ffi_closure_helper_SYSV. Append @local instead.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
- Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
- * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
- * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
- include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-05-08 Richard Henderson <rth@redhat.com>
-
- PR libffi/21285
- * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04 Andreas Degert <ad@papyrus-gmbh.de>
- Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
- bit 11 of flags.
- (ffi_call): Mask return type field. Pass ssecount to ffi_call_unix64.
- (ffi_prep_closure): Set carry bit if sse-used flag set.
- * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
- Only load sse registers if ssecount non-zero.
- (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
- powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
- * configure: Regenerate.
-
-2005-04-20 Hans-Peter Nilsson <hp@axis.com>
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
- have Tcl8.3-compatible intermediate variable.
-
-2005-04-18 Simon Posnjak <simon.posnjak@siol.net>
- Hans-Peter Nilsson <hp@axis.com>
-
- * Makefile.am: Add CRIS support.
- * configure.ac: Likewise.
- * Makefile.in, configure, testsuite/Makefile.in,
- include/Makefile.in: Regenerate.
- * src/cris: New directory.
- * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
- * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
- \r?\n in output tests.
-
-2005-04-12 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-03-30 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30 Steve Ellcey <sje@cup.hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
- (ffi_sarg) Ditto.
- * src/ia64/unix.S (ffi_closure_unix): Extend gp
- to 64 bits in ILP32 mode.
- Load 64 bits even for short data.
-
-2005-03-23 Mike Stump <mrs@apple.com>
-
- * src/powerpc/darwin.S: Update for -m64 multilib.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21 Zack Weinberg <zack@codesourcery.com>
-
- * 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.
-
-2005-02-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
- odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR libffi/20104
- * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11 Janis Johnson <janis187@us.ibm.com>
-
- * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
- * testsuite/libffi.call/float.c: Ditto.
- * testsuite/libffi.call/float2.c: Ditto.
- * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * testsuite/libffi.special/special.exp (cxx_options): Add
- -shared-libgcc.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
- (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
- offset parameters with a type parameter; deduce size and structure
- alignment. Update all users.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
- (FFI_TYPE_LONGDOUBLE): Fix for ia64.
- * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
- into ffi_prep_closure.
- * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
- from scratch.
-
-2004-12-27 Richard Henderson <rth@redhat.com>
-
- * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25 Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
- (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
- (merge_classes): Check for it.
- (SSE_CLASS_P): New.
- (classify_argument): Pass byte_offset by value; perform all updates
- inside struct case.
- (examine_argument): Add classes argument; handle
- X86_64_COMPLEX_X87_CLASS.
- (ffi_prep_args): Merge into ...
- (ffi_call): ... here. Share stack frame with ffi_call_unix64.
- (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
- (ffi_fill_return_value): Remove.
- (ffi_prep_closure): Remove dead assert.
- (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
- Rewrite to use struct register_args instead of va_list. Create
- flags for handling structure returns.
- * src/x86/unix64.S: Remove dead strings.
- (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share
- stack frame with ffi_call. Handle structure returns properly.
- (float2sse, floatfloat2sse, double2sse): Remove.
- (sse2float, sse2double, sse2floatfloat): Remove.
- (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite
- to handle structure returns properly.
-
-2004-12-08 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
- PICFLAG.
- * Makefile.in: Regenerated.
-
-2004-12-02 Richard Sandiford <rsandifo@redhat.com>
-
- * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
- * configure, aclocal.m4, Makefile.in: Regenerate.
- * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-25 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool reversion.
-
-2004-11-24 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23 Richard Sandiford <rsandifo@redhat.com>
-
- * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
- of jal. Use an absolute encoding for the frame information.
-
-2004-11-23 Kelley Cook <kcook@gcc.gnu.org>
-
- * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS.
- * acinclude.m4: Delete logic for sincludes.
- * aclocal.m4, Makefile.in, configure: Regenerate.
- * include/Makefile: Likewise.
- * testsuite/Makefile: Likewise.
-
-2004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
- on a 8-byte boundary.
- * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
- long long values. Round stack allocation to a multiple of 8 bytes
- for ATPCS compatibility.
- * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
- names. Handle returning long long types. Add Thumb and interworking
- support. Improve soft-float code.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
- (libffi_exit): New function.
- (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR other/18138
- * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
- * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
- the function returning a structure pointed with R2.
- * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
- the structure return value if T bit set. Emit position
- independent code and EH data if PIC.
-
-2004-10-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * Makefile.am: Add m32r support.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * confiugre: Regenerate.
- * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
- (uint64, sint64, double, longdouble)
- * src/m32r: New directory.
- * src/m32r/ffi.c: New file.
- * src/m32r/sysv.S: Likewise.
- * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * testsuite/libffi.call/negint.c: New test case.
-
-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.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/many_win32.c: Remove whitespaces.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
- whitespaces.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Fix comments and identation.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
- (ffi_prep_args): Handle longdouble arguments.
- (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
- longdouble.
- (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
- * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
- values.
- * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
- * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/aix.S: Remove whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
- * src/powerpc/asm.h: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffitarget.h: Likewise.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
-
-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.in: Read configure.host.
- * 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 shouldn't 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.
-
-2004-08-24 David Daney <daney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
- to zero.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23 David Daney <daney@avtrex.com>
-
- PR libgcj/13141
- * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
- * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
- (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
- parameters and return types.
- (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
- (ffi_prep_closure): Ditto.
- (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
- alignment calculations.
- * src/mips/o32.S (ffi_closure_O32): Don't use floating point
- instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14 Casey Marshall <csm@gnu.org>
-
- * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
- contain `FFI_TYPE_UINT64' as return type for any 64-bit
- integer (O32 ABI only).
- (ffi_prep_closure): new function.
- (ffi_closure_mips_inner_O32): new function.
- * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
- `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
- * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
- 64 bit integers correctly.
- (ffi_closure_O32): new function.
- Added DWARF-2 unwind info for both functions.
-
-2004-08-10 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01 Robert Millan <robertmh@gnu.org>
-
- * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
- * configure: Regenerate.
-
-2004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
-
- * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
- and mmap() explicitly instead of relying on preset autoconf cache
- variables.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
- (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
- character on Darwin, use '\n\t' instead.
-
-2004-06-26 Matthias Klose <doko@debian.org>
-
- * libtool-version: Fix typo in revision/age.
-
-2004-06-17 Matthias Klose <doko@debian.org>
-
- * libtool-version: New.
- * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
- * Makefile.in: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * Makefile.am: Remove useless multilib rules.
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate with automake 1.8.5.
- * configure.ac: Remove useless multilib configury.
- * configure: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * .cvsignore: New file.
-
-2004-06-10 Jakub Jelinek <jakub@redhat.com>
-
- * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
- fp_done.
- (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
- changed from 8.
-
-2004-06-06 Sean McNeil <sean@mcneil.com>
-
- * configure.ac: Add x86_64-*-freebsd* support.
- * configure: Regenerate.
-
-2004-04-26 Joe Buck <jbuck@welsh-buck.org>
-
- Bug 15093
- * configure.ac: Test for existence of mmap and sys/mman.h before
- checking blacklist. Fix suggested by Jim Wilson.
- * configure: Regenerate.
-
-2004-04-26 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
- FDE location.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
- error. Reported by Thomas Heller <theller@python.net>.
- * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20 Matthias Klose <doko@debian.org>
-
- * src/pa/linux.S: Fix typo.
-
-2004-03-19 Matthias Klose <doko@debian.org>
-
- * Makefile.am: Update.
- * Makefile.in: Regenerate.
- * src/pa/ffi.h.in: Remove.
- * src/pa/ffitarget.h: New file.
-
-2004-02-10 Randolph Chung <tausq@debian.org>
-
- * Makefile.am: Add PA support.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * configure.ac: Add PA target.
- * configure: Regenerate.
- * src/pa/ffi.c: New file.
- * src/pa/ffi.h.in: Add PA support.
- * src/pa/linux.S: New file.
- * prep_cif.c: Add PA support.
-
-2004-03-16 Hosaka Yuji <hos@tamanegi.org>
-
- * src/types.c: Fix alignment size of X86_WIN32 case int64 and
- double.
- * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
- with ecif->cif->flags.
- (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
- with cif->flags.
- (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
- (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
- * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
- sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.in: Rename file to ...
- * configure.ac: ... this.
- * fficonfig.h.in: Regenerate.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2004-03-12 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Fix EH information so it corresponds to
- changes in EH format resulting from addition of linkonce support.
- * src/powerpc/darwin_closure.S: Likewise.
-
-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.
-
-2004-03-11 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
- arguments from fp registers only for the first 8 parameter slots.
- Don't convert a float parameter when passed in memory.
-
-2004-03-09 Hans-Peter Nilsson <hp@axis.com>
-
- * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
-
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
- ecif->cif->bytes to bytes.
- (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
- * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
- (ffi_closure_helper_LINUX64): Fix typo.
- * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
- for powerpc64-*-*.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
- long double function return and long double arg handling.
- (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
- Use "end_pfr" instead of "nf". Correct long double handling.
- Localise "temp".
- * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
- return value.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
- space for long double return value. Adjust stack frame and offsets.
- Load f2 long double return.
-
-2004-02-07 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
- when the structure return address is passed in %o0.
- (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
- (ffi_v9_layout_struct): Align the field following a nested structure
- on a word boundary. Use memmove instead of memcpy.
- (ffi_call): Update call to ffi_V9_return_struct.
- (ffi_prep_closure): Define 'ctx' only for V8.
- (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
- and ffi_closure_sparc_inner_v9.
- (ffi_closure_sparc_inner_v8): Return long doubles by reference.
- Always skip the structure return address. For structures and long
- doubles, copy the argument directly.
- (ffi_closure_sparc_inner_v9): Skip the structure return address only
- if required. Shift the maximum floating-point slot accordingly. For
- big structures, copy the argument directly; otherwise, left-justify the
- argument and call ffi_v9_layout_struct to lay out the structure on
- the stack.
- * src/sparc/v8.S: Undef STACKFRAME before defining it.
- (ffi_closure_v8): Pass the structure return address. Update call to
- ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
- Skip the 'unimp' insn when returning long doubles and structures.
- * src/sparc/v9.S: Undef STACKFRAME before defining it.
- (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
- FFI_TYPE_INT handling. Load structures both in integers and
- floating-point registers on return.
- * README: Update status of the SPARC port.
-
-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.
-
-2004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
-
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
- value as of type ffi_arg, not unsigned int.
-
-2004-01-21 Michael Ritzert <ritzert@t-online.de>
-
- * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
- of the LHS.
-
-2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
- Solaris.
-
-2004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
- to void *.
-
-2003-12-10 Richard Henderson <rth@redhat.com>
-
- * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
- size_t instead of int.
-
-2003-12-04 Hosaka Yuji <hos@tamanegi.org>
-
- * testsuite/libffi.call/many_win32.c: Include <float.h>.
- * testsuite/libffi.call/many_win32.c (main): Replace variable
- int i with unsigned long ul.
-
- * testsuite/libffi.call/cls_align_uint64.c: New test case.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02 Hosaka Yuji <hos@tamanegi.org>
-
- PR other/13221
- * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
- Align arguments to 32 bits.
-
-2003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR other/13221
- * testsuite/libffi.call/cls_multi_sshort.c: New test case.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-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.
-
-2003-11-21 Andreas Jaeger <aj@suse.de>
- Andreas Tobler <a.tobler@schweiz.ch>
-
- * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
- * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
- * Makefile.in: Rebuilt.
- * aclocal.m4: Likewise.
- * configure: Likewise.
- * fficonfig.h.in: Likewise.
- * testsuite/lib/libffi-dg.exp: Add include dir.
- * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
- for ffi_closure if available.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
- Add -lgcc_s to additional flags.
-
-2003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.in, include/Makefile.am: PR libgcj/11147, install
- the ffitarget.h header file in a gcc versioned and target
- dependent place.
- * configure: Regenerated.
- * Makefile.in, include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Print result and check
- with dg-output to make debugging easier.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
- static.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_9byte2.c: New test case.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_double.c: Do a check on the result.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/prep_cif.c (ffi_prep_cif): Move the validity check after
- the initialization.
-
-2003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
- FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
- __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-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
-
-2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
- _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
- Used when FFI_DEBUG = 1.
-
-2003-10-14 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
- and align.
-
-2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
- FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
- SPARC64. Cleanup whitespaces.
-
-2003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
- strongarm, xscale. Cleanup whitespaces.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Cleanup whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
- * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
- parameter stack.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
- according to the Darwin/AIX ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_DARWIN): Likewise.
- Remove the outgoing parameter stack logic. Simplify the evaluation
- of the different CASE types.
- (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
- statement in the trampoline code.
-
-2003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
- for the register size.
- (ffi_closure_helper_SYSV): Handle the structure return value
- address correctly.
- (ffi_closure_helper_SYSV): Return the appropriate type when
- the registers are used for the structure return value.
- * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
- the 64-bit return value. Update copyright years.
-
-2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
- srcdir for ffi_mips.h.
-
-2003-09-12 Alan Modra <amodra@bigpond.net.au>
-
- * src/prep_cif.c (initialize_aggregate): Include tail padding in
- structure size.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
- placement of float result.
- * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
- cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Merge identical SH and ARM
- typedefs, and add POWERPC64.
- * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
- struct split over gpr and rest.
- (ffi_prep_cif_machdep): Correct intarg_count for structures.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
- passing correctly.
-
-2003-09-09 Alan Modra <amodra@bigpond.net.au>
-
- * configure: Regenerate.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Remove build rules for ffitest.
- * Makefile.in: Rebuilt.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
- about implicit declaration of abort().
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
- * Makefile.in: Rebuilt.
- * configure.in: Add dejagnu test framework.
- * configure: Rebuilt.
-
- * testsuite/Makefile.am: New file.
- * testsuite/Makefile.in: Built
- * testsuite/lib/libffi-dg.exp: New file.
- * testsuite/config/default.exp: Likewise.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Likewise.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float1.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/many.c: Likewise.
- * testsuite/libffi.call/many_win32.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
- * testsuite/libffi.call/strlen.c: Likewise.
- * testsuite/libffi.call/strlen_win32.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
- * testsuite/libffi.call/struct2.c: Likewise.
- * testsuite/libffi.call/struct3.c: Likewise.
- * testsuite/libffi.call/struct4.c: Likewise.
- * testsuite/libffi.call/struct5.c: Likewise.
- * testsuite/libffi.call/struct6.c: Likewise.
- * testsuite/libffi.call/struct7.c: Likewise.
- * testsuite/libffi.call/struct8.c: Likewise.
- * testsuite/libffi.call/struct9.c: Likewise.
- * testsuite/libffi.special/special.exp: New file.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
- copyright years.
-
-2003-08-02 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
- structure passing.
- (ffi_closure_helper_LINUX64): Likewise.
- * src/powerpc/linux64.S: Remove code writing to parm save area.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
- address in lr from ffi_closure_helper_LINUX64 call to calculate
- table address. Optimize function tail.
-
-2003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/sparc/ffi.c: Handle all floating point registers.
- * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
-
- * README: Note that libffi is not part of GCC. Update the project
- URL and status.
-
-2003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
- Use C style comments.
-
-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
- should be read-only.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * include/ffi.h.in (EH_FRAME_FLAGS): Define.
- * src/alpha/osf.S: Use EH_FRAME_FLAGS.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
- * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
- if -fpic/-fPIC/-mrelocatable.
- * src/powerpc/powerpc_closure.S: Likewise.
- * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
- #write in .eh_frame flags.
- * src/sparc/v9.S: Likewise.
- * src/x86/unix64.S: Use EH_FRAME_FLAGS.
- * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
- * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
-
-2003-05-07 Jeff Sturm <jsturm@one-point.com>
-
- Fixes PR bootstrap/10656
- * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
- support for .register pseudo-op.
- * src/sparc/v8.S: Use it.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2003-04-18 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (POWERPC64): Define if 64-bit.
- (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
- Make it the default on POWERPC64.
- (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
- * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
- * configure: Rebuilt.
- * src/powerpc/ffi.c (hidden): Define.
- (ffi_prep_args_SYSV): Renamed from
- ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
- (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
- ASM_NEEDS_REGISTERS64): New.
- (ffi_prep_args64): New function.
- (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
- (ffi_call): Likewise.
- (ffi_prep_closure): Likewise.
- (flush_icache): Surround by #ifndef POWERPC64.
- (ffi_dblfl): New union type.
- (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
- (ffi_closure_helper_LINUX64): New function.
- * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
- __powerpc64__.
- * src/powerpc/sysv.S: Likewise.
- (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
- * src/powerpc/linux64.S: New file.
- * src/powerpc/linux64_closure.S: New file.
- * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
- src/powerpc/linux64_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
- * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
- closure_test_fn3): Fix result printing on big-endian 64-bit
- machines.
- (main): Print tst2_arg instead of uninitialized tst2_result.
-
- * src/ffitest.c (main): Hide what closure pointer really points to
- from the compiler.
-
-2003-04-16 Richard Earnshaw <rearnsha@arm.com>
-
- * configure.in (arm-*-netbsdelf*): Add configuration.
- (configure): Regenerated.
-
-2003-04-04 Loren J. Rittle <ljrittle@acm.org>
-
- * include/Makefile.in: Regenerate.
-
-2003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
-
- * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
- bit mode.
- * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
- Receive closure pointer through parameter, read args using
- __builtin_dwarf_cfa.
- (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12 Andreas Schwab <schwab@suse.de>
-
- * configure.in: Avoid trailing /. in toolexeclibdir.
- * configure: Rebuilt.
-
-2003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/powerpc/darwin_closure.S:
- Fix alignement bug, allocate 8 bytes for the result.
- * libffi/src/powerpc/aix_closure.S:
- Likewise.
- * libffi/src/powerpc/ffi_darwin.c:
- Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06 Jakub Jelinek <jakub@redhat.com>
-
- * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
- attribute.
-
-2003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
- Andreas Schwab <schwab@suse.de>
-
- * configure.in: Adjust command to source config-ml.in to account
- for changes to the libffi_basedir definition.
- (libffi_basedir): Remove ${srcdir} from value and include trailing
- slash if nonempty.
-
- * configure: Regenerate.
-
-2003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
- * src/x86/ffi64.c (ffi_prep_closure): New.
- (ffi_closure_UNIX64_inner): New.
- * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
- Remove USE_LIBDIR conditional.
- * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
- * Makefile.in, configure: Rebuilt.
-
-2003-01027 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
- * Makefile.in: Regenerate.
-
-2003-01-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
- unwind info.
-
-2003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Add unwind info.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
- (ffi_prep_cif_machdep): Likewise.
- * src/x86/unix64.S: Add unwind info.
-
-2003-01-14 Andreas Jaeger <aj@suse.de>
-
- * src/ffitest.c (main): Only use ffi_closures if those are
- supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/ffitest.c
- add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
- * libffi/src/powerpc/ffi.c
- fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c: Remove RCS version string.
- * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
- * src/ffitest.c (main): Use static storage for closure.
- * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
- * src/sparc/v8.S (ffi_closure_v8): New.
- * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10 Ranjit Mathew <rmathew@hotmail.com>
-
- * include/ffi.h.in: Added FFI_STDCALL ffi_type
- enumeration for X86_WIN32.
- * src/x86/win32.S: Added ffi_call_STDCALL function
- definition.
- * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
- switch cases for recognising FFI_STDCALL and
- calling ffi_call_STDCALL if target is X86_WIN32.
- * src/ffitest.c (my_stdcall_strlen/stdcall_many):
- stdcall versions of the "my_strlen" and "many"
- test functions (for X86_WIN32).
- Added test cases to test stdcall invocation using
- these functions.
-
-2002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26 Jim Wilson <wilson@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23 H.J. Lu <hjl@gnu.org>
-
- * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
- Include ../config/accross.m4.
- * aclocal.m4; Rebuild.
- * configure: Likewise.
-
-2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11 DJ Delorie <dj@redhat.com>
-
- * configure.in: Look for common files in the right place.
-
-2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
- raw data as _Jv_word values, not ffi_raw.
- (ffi_java_ptrarray_to_raw): Likewise.
- (ffi_java_rvalue_to_raw): New function.
- (ffi_java_raw_call): Call it.
- (ffi_java_raw_to_rvalue): New function.
- (ffi_java_translate_args): Call it.
- * src/ffitest.c (closure_test_fn): Interpret return value
- as ffi_arg, not int.
- * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
- FFI_TYPE_POINTER case.
- (ffi_closure_helper_SYSV): Likewise. Also, assume return
- values extended to word size.
-
-2002-10-02 Andreas Jaeger <aj@suse.de>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01 Bo Thorsen <bo@smetana.suse.de>
-
- * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
-
- * configure.in: Add s390x-*-linux-* target.
- * configure: Regenerate.
- * include/ffi.h.in: Define S390X for s390x targets.
- (FFI_CLOSURES): Define for s390/s390x.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
- * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
- * src/s390/ffi.c: Major rework of existing code. Add support for
- s390x targets. Add closure support.
- * src/s390/sysv.S: Likewise.
-
-2002-09-29 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: Fix typo.
-
-2002-09-28 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
- has defined __USER_LABEL_PREFIX__, then use it in CNAME.
- (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27 Bo Thorsen <bo@suse.de>
-
- * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * configure.in (sh[34]*-*-linux*): Add brackets.
- * configure: Regenerate.
-
-2002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * Makefile.am: Add SH support.
- * Makefile.in: Regenerate.
- * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
- * configure: Regenerate.
- * include/ffi.h.in: Add SH support.
- * src/sh/ffi.c: New file.
- * src/sh/sysv.S: New file.
- * src/types.c: Add SH support.
-
-2002-07-16 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi64.c: New file that adds x86-64 support.
- * src/x86/unix64.S: New file that handles argument setup for
- x86-64.
- * src/x86/sysv.S: Don't use this on x86-64.
- * src/x86/ffi.c: Don't use this on x86-64.
- Remove unused vars.
- * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
- for x86-64.
- * src/ffitest.c (struct6): New test that tests a special case in
- the x86-64 ABI.
- (struct7): Likewise.
- (struct8): Likewise.
- (struct9): Likewise.
- (closure_test_fn): Silence warning about this when it's not used.
- (main): Add the new tests.
- (main): Fix a couple of wrong casts and silence some compiler warnings.
- * include/ffi.h.in: Add x86-64 ABI definition.
- * fficonfig.h.in: Regenerate.
- * Makefile.am: Add x86-64 support.
- * configure.in: Likewise.
- * Makefile.in: Regenerate.
- * configure: Likewise.
-
-2002-06-24 Bo Thorsen <bo@suse.de>
-
- * src/types.c: Merge settings for similar architectures.
- Add x86-64 sizes and alignments.
-
-2002-06-23 Bo Thorsen <bo@suse.de>
-
- * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
- * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
- * src/mips/ffi.c (ffi_prep_args): Likewise.
- * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18 H.J. Lu (hjl@gnu.org)
-
- * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
- (libffi_la_SOURCES): Support MIPS_LINUX.
- (libffi_convenience_la_SOURCES): Likewise.
- * Makefile.in: Regenerated.
-
- * configure.in (mips64*-*): Skip.
- (mips*-*-linux*): New.
- * configure: Regenerated.
-
- * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
-
-2002-05-27 Roger Sayle <roger@eyesopen.com>
-
- * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
- fix formatting.
-
-2002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
- beginning of function (for older apple cc).
-
-2002-05-08 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
- script entry, and set LD to it when configuring multilibs.
- * configure: Rebuilt.
-
-2002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (sparc64-*-netbsd*): Add target.
- (sparc-*-netbsdelf*): Likewise.
- * configure: Regenerate.
-
-2002-04-28 David S. Miller <davem@redhat.com>
-
- * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
-
- * Makefile.am: Add Linux for S/390 support.
- * Makefile.in: Regenerate.
- * configure.in: Add Linux for S/390 support.
- * configure: Regenerate.
- * include/ffi.h.in: Add Linux for S/390 support.
- * src/s390/ffi.c: New file from libffi CVS tree.
- * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
- %r_disp32().
- * src/sparc/v8.S: Use it.
- * src/sparc/v9.S: Likewise.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2002-04-08 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
- correctly.
- * src/ia64/unix.S: Add unwind information. Fix comments.
- Save sp in a way that's compatible with unwind info.
- (ffi_call_unix): Correctly restore sp in all cases.
- * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08 Jakub Jelinek <jakub@redhat.com>
-
- * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (alpha*-*-netbsd*): Add target.
- * configure: Regenerate.
-
-2002-04-04 Jeff Sturm <jsturm@one-point.com>
-
- * src/sparc/v8.S: Add unwind info.
- * src/sparc/v9.S: Likewise.
-
-2002-03-30 Krister Walfridsson <cato@df.lth.se>
-
- * configure.in: Enable i*86-*-netbsdelf*.
- * configure: Rebuilt.
-
-2002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
-
- PR other/2620
- * src/mips/n32.s: Delete
- * src/mips/o32.s: Delete
-
-2002-03-21 Loren J. Rittle <ljrittle@acm.org>
-
- * configure.in: Enable alpha*-*-freebsd*.
- * configure: Rebuilt.
-
-2002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * Makefile.am: libfficonvenience -> libffi_convenience.
- * Makefile.in: Rebuilt.
-
- * Makefile.am: Define ffitest_OBJECTS.
- * Makefile.in: Rebuilt.
-
-2002-03-07 Andreas Tobler <toa@pop.agri.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
- (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
- (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
- * Makefile.in: Regenerate.
- * include/ffi.h.in: Add AIX and Darwin closure definitions.
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
- (flush_icache, flush_range): New functions.
- (ffi_closure_helper_DARWIN): New function.
- * src/powerpc/aix_closure.S: New file.
- * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add typedef for ffi_arg.
- * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21 Andreas Tobler <toa@pop.agri.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
- number of GPRs for floating-point arguments.
-
-2002-01-31 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Replace CHECK_SIZEOF and endian tests with
- cross-compiler friendly macros.
- * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
- macros.
-
-2002-01-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): New.
- * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
- (TARGET_SRC_POWERPC_AIX): New.
- (POWERPC_AIX): New stanza.
- * Makefile.in: Regenerate.
- * configure.in: Add AIX case.
- * configure: Regenerate.
- * include/ffi.h.in (ffi_abi): Add FFI_AIX.
- * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
- size. Fix "long double" support.
- (ffi_call): Add FFI_AIX case.
- * src/powerpc/aix.S: New.
-
-2001-10-09 John Hornkvist <john@toastedmarshmallow.com>
-
- Implement Darwin PowerPC ABI.
- * configure.in: Handle powerpc-*-darwin*.
- * Makefile.am: Set source files for POWERPC_DARWIN.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
- * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
- POWERPC_DARWIN.
- * src/powerpc/darwin.S: New file.
- * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .balign directive.
- Use C style comments.
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
- Fixes PR bootstrap/3563.
-
-2001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.in: Recognize sparc*-sun-* host.
- * configure: Regenerate.
-
-2001-06-06 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S: Add unwind info.
- * src/powerpc/sysv.S: Add unwind info.
- * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31 Jeff Sturm <jsturm@one-point.com>
-
- * configure.in: Fix AC_ARG_ENABLE usage.
- * configure: Rebuilt.
-
-2001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * configure.in: Remove warning about beta code.
- * configure: Rebuilt.
-
-2001-04-25 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/ia64/unix.S: Restore stack pointer when returning from
- ffi_closure_UNIX.
- * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18 Jim Wilson <wilson@redhat.com>
-
- * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
- to eliminate RAW DV.
-
-2001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
-
- * Makefile.am: Make a libtool convenience library.
- * Makefile.in: Rebuilt.
-
-2001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Use different syntax for subdirectory creation.
- * configure: Rebuilt.
-
-2001-03-27 Jon Beniston <jon@beniston.com>
-
- * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
- * configure: Rebuilt.
- * Makefile.am: Added X86_WIN32 target support.
- * Makefile.in: Rebuilt.
-
- * include/ffi.h.in: Added X86_WIN32 target support.
-
- * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
- * src/types.c: Added X86_WIN32 target support.
-
- * src/x86/win32.S: New file. Based on sysv.S, but with EH
- stuff removed and made to work with CygWin's gas.
-
-2001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Make target subdirectory in build dir.
- * Makefile.am: Override suffix based rules to specify correct output
- subdirectory.
- * Makefile.in: Rebuilt.
- * configure: Rebuilt.
-
-2001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
-
- * src/powerpc/ppc_closure.S: New file.
- * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
- involving long long and register pairs.
- (ffi_prep_closure): New function.
- (flush_icache): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * Makefile.in: Rebuilt.
- * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19 Tom Tromey <tromey@redhat.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02 Nick Clifton <nickc@redhat.com>
-
- * include/ffi.h.in: Remove RCS ident string.
- * include/ffi_mips.h: Remove RCS ident string.
- * src/debug.c: Remove RCS ident string.
- * src/ffitest.c: Remove RCS ident string.
- * src/prep_cif.c: Remove RCS ident string.
- * src/types.c: Remove RCS ident string.
- * src/alpha/ffi.c: Remove RCS ident string.
- * src/alpha/osf.S: Remove RCS ident string.
- * src/arm/ffi.c: Remove RCS ident string.
- * src/arm/sysv.S: Remove RCS ident string.
- * src/mips/ffi.c: Remove RCS ident string.
- * src/mips/n32.S: Remove RCS ident string.
- * src/mips/o32.S: Remove RCS ident string.
- * src/sparc/ffi.c: Remove RCS ident string.
- * src/sparc/v8.S: Remove RCS ident string.
- * src/sparc/v9.S: Remove RCS ident string.
- * src/x86/ffi.c: Remove RCS ident string.
- * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * include/ffi.h.in: Change sourceware.cygnus.com references to
- gcc.gnu.org.
-
-2000-12-09 Richard Henderson <rth@redhat.com>
-
- * src/alpha/ffi.c (ffi_call): Simplify struct return test.
- (ffi_closure_osf_inner): Index rather than increment avalue
- and arg_types. Give ffi_closure_osf the raw return value type.
- * src/alpha/osf.S (ffi_closure_osf): Handle return value type
- promotion.
-
-2000-12-07 Richard Henderson <rth@redhat.com>
-
- * src/raw_api.c (ffi_translate_args): Fix typo.
- (ffi_prep_closure): Likewise.
-
- * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
- FFI_TRAMPOLINE_SIZE.
- * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
- cif->bytes for new ffi_call_osf implementation.
- (ffi_prep_args): Absorb into ...
- (ffi_call): ... here. Do all stack allocation here and
- avoid a callback function.
- (ffi_prep_closure, ffi_closure_osf_inner): New.
- * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
- (ffi_closure_osf): New.
-
-2000-09-10 Alexandre Oliva <aoliva@redhat.com>
-
- * config.guess, config.sub, install-sh: Removed.
- * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
- * Makefile.in: Rebuilt.
-
- * acinclude.m4: Include libtool macros from the top level.
- * aclocal.m4, configure: Rebuilt.
-
-2000-08-22 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
- * configure: Rebuilt.
-
-2000-05-11 Scott Bambrough <scottb@netwinder.org>
-
- * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
- memory correctly. Use conditional instructions, not branches where
- possible.
-
-2000-05-04 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Match `arm*-*-linux-*'.
- From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (SUBDIRS): Define.
- (AM_MAKEFLAGS): Likewise.
- (Multilib support.): Add section.
- * Makefile.in: Rebuilt.
- * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
- New variables. Set for gcc using -print-multi-lib. Export them
- to libtool.
- (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
- * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
- for -shared links.
- (extra_compiler_flags_value, extra_compiler_flags): Check these
- for extra compiler options which need to be passed down in
- compiler_flags.
-
-2000-04-16 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
- Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
- * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
- Replace all void * sizeofs with sizeof(int).
- Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
- different than DOUBLE.
- Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
- (ffi_prep_args_v9): New function.
- (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
- (ffi_V9_return_struct): New function.
- (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
- 32bit code (not yet cross-arch calls).
- * src/sparc/v8.S: Add struct return delay nop.
- Handle long long.
- * src/sparc/v9.S: New file.
- * src/prep_cif.c (ffi_prep_cif): Return structure pointer
- is used on sparc64 only for structures larger than 32 bytes.
- Pass by reference for structures is done for structure arguments
- larger than 16 bytes.
- * src/ffitest.c (main): Use 64bit rint on sparc64.
- Run long long tests on sparc.
- * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
- sparc64.
- (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
- on sparc64.
- * configure.in (sparc-*-linux*): New supported target.
- (sparc64-*-linux*): Likewise.
- * configure: Rebuilt.
- * Makefile.am: Add v9.S to SPARC files.
- * Makefile.in: Likewise.
- (LINK): Surround $(CCLD) into double quotes, so that multilib
- compiles work correctly.
-
-2000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: (i*86-*-solaris*): New libffi target. Patch
- proposed by Bryce McKinlay.
-
-2000-03-20 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
-
- * config.guess, config.sub: Update from the gcc tree.
- Fix for PR libgcj/168.
-
-2000-03-03 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Fixed ia64 by hand.
-
- * configure: Rebuilt.
- * configure.in (--enable-multilib): New option.
- (libffi_basedir): New subst.
- (AC_OUTPUT): Added multilib code.
-
-2000-03-02 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
- directory name.
-
-2000-02-25 Hans Boehm <boehm@acm.org>
-
- * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
- files.
- * src/raw_api.c (ffi_translate_args): Fixed typo in argument
- list.
- (ffi_prep_raw_closure): Use ffi_translate_args, not
- ffi_closure_translate.
- * src/java_raw_api.c: New file.
- * src/ffitest.c (closure_test_fn): New function.
- (main): Define `rint' as long long on IA64. Added new test when
- FFI_CLOSURES is defined.
- * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
- (ffi_abi): Recognize IA64.
- (ffi_raw): Added `flt' field.
- Added "Java raw API" code.
- * configure.in: Recognize ia64.
- * Makefile.am (TARGET_SRC_IA64): New macro.
- (libffi_la_common_SOURCES): Added java_raw_api.c.
- (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01 Tom Tromey <tromey@cygnus.com>
-
- * include/ffi.h.in: Removed PACKAGE and VERSION defines and
- undefs.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
- * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
- Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
- * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09 Anthony Green <green@cygnus.com>
-
- * include/ffi.h.in: Try to work around messy header problem
- with PACKAGE and VERSION.
-
- * configure: Rebuilt.
- * configure.in: Change version to 2.00-beta.
-
- * fficonfig.h.in: Rebuilt.
- * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
- * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
-
- * src/x86/ffi.c (ffi_closure_SYSV): New function.
- (ffi_prep_incoming_args_SYSV): Ditto.
- (ffi_prep_closure): Ditto.
- (ffi_closure_raw_SYSV): Ditto.
- (ffi_prep_raw_closure): More ditto.
- (ffi_call_raw): Final ditto.
-
- * include/ffi.h.in: Add definitions for closure and raw API.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
- FFI_TYPE_UINT64.
-
- * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
- * src/raw_api.c: New file.
-
- * include/ffi.h.in (ffi_raw): New type.
- (UINT_ARG, SINT_ARG): New defines.
- (ffi_closure, ffi_raw_closure): New types.
- (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
- * configure.in: Add check for endianness and sizeof void*.
-
- * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
- instead of directly.
-
- * configure: Rebuilt.
-
-Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
-
- * configure.in: Add x86 and powerpc BeOS configurations.
- From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09 Anthony Green <green@cygnus.com>
-
- * configure.in: Add warning about this being beta code.
- Remove src/Makefile.am from the picture.
- * configure: Rebuilt.
-
- * Makefile.am: Move logic from src/Makefile.am. Add changes
- to support libffi as a target library.
- * Makefile.in: Rebuilt.
-
- * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
- Upgraded to new autoconf, automake, libtool.
-
- * README: Tweaks.
-
- * LICENSE: Update copyright date.
-
- * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29 Anthony Green <green@cygnus.com>
-
- * include/ChangeLog: Removed.
- * src/ChangeLog: Removed.
- * src/mips/ChangeLog: Removed.
- * src/sparc/ChangeLog: Remboved.
- * src/x86/ChangeLog: Removed.
-
- * ChangeLog.v1: Created.
diff --git a/.pc/powerpc-sysv-without-string-ops/src/powerpc/ffi.c b/.pc/powerpc-sysv-without-string-ops/src/powerpc/ffi.c
deleted file mode 100644
index fb2a39f..0000000
--- a/.pc/powerpc-sysv-without-string-ops/src/powerpc/ffi.c
+++ /dev/null
@@ -1,1448 +0,0 @@
-/* -----------------------------------------------------------------------
- ffi.c - Copyright (C) 2011 Anthony Green
- Copyright (C) 2008 Red Hat, Inc
- Copyright (C) 2007, 2008 Free Software Foundation, Inc
- Copyright (c) 1998 Geoffrey Keating
-
- PowerPC Foreign Function Interface
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS
- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR
- OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- OTHER DEALINGS IN THE SOFTWARE.
- ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#include <stdlib.h>
-#include <stdio.h>
-
-
-extern void ffi_closure_SYSV (void);
-extern void FFI_HIDDEN ffi_closure_LINUX64 (void);
-
-enum {
- /* The assembly depends on these exact flags. */
- FLAG_RETURNS_SMST = 1 << (31-31), /* Used for FFI_SYSV small structs. */
- FLAG_RETURNS_NOTHING = 1 << (31-30), /* These go in cr7 */
- FLAG_RETURNS_FP = 1 << (31-29),
- FLAG_RETURNS_64BITS = 1 << (31-28),
-
- FLAG_RETURNS_128BITS = 1 << (31-27), /* cr6 */
- FLAG_SYSV_SMST_R4 = 1 << (31-26), /* use r4 for FFI_SYSV 8 byte
- structs. */
- FLAG_SYSV_SMST_R3 = 1 << (31-25), /* use r3 for FFI_SYSV 4 byte
- structs. */
- /* Bits (31-24) through (31-19) store shift value for SMST */
-
- FLAG_ARG_NEEDS_COPY = 1 << (31- 7),
- FLAG_FP_ARGUMENTS = 1 << (31- 6), /* cr1.eq; specified by ABI */
- FLAG_4_GPR_ARGUMENTS = 1 << (31- 5),
- FLAG_RETVAL_REFERENCE = 1 << (31- 4)
-};
-
-/* About the SYSV ABI. */
-unsigned int NUM_GPR_ARG_REGISTERS = 8;
-#ifndef __NO_FPRS__
-unsigned int NUM_FPR_ARG_REGISTERS = 8;
-#else
-unsigned int NUM_FPR_ARG_REGISTERS = 0;
-#endif
-
-enum { ASM_NEEDS_REGISTERS = 4 };
-
-/* ffi_prep_args_SYSV is called by the assembly routine once stack space
- has been allocated for the function's arguments.
-
- The stack layout we want looks like this:
-
- | Return address from ffi_call_SYSV 4bytes | higher addresses
- |--------------------------------------------|
- | Previous backchain pointer 4 | stack pointer here
- |--------------------------------------------|<+ <<< on entry to
- | Saved r28-r31 4*4 | | ffi_call_SYSV
- |--------------------------------------------| |
- | GPR registers r3-r10 8*4 | | ffi_call_SYSV
- |--------------------------------------------| |
- | FPR registers f1-f8 (optional) 8*8 | |
- |--------------------------------------------| | stack |
- | Space for copied structures | | grows |
- |--------------------------------------------| | down V
- | Parameters that didn't fit in registers | |
- |--------------------------------------------| | lower addresses
- | Space for callee's LR 4 | |
- |--------------------------------------------| | stack pointer here
- | Current backchain pointer 4 |-/ during
- |--------------------------------------------| <<< ffi_call_SYSV
-
-*/
-
-void
-ffi_prep_args_SYSV (extended_cif *ecif, unsigned *const stack)
-{
- const unsigned bytes = ecif->cif->bytes;
- const unsigned flags = ecif->cif->flags;
-
- typedef union {
- char *c;
- unsigned *u;
- long long *ll;
- float *f;
- double *d;
- } valp;
-
- /* 'stacktop' points at the previous backchain pointer. */
- valp stacktop;
-
- /* 'gpr_base' points at the space for gpr3, and grows upwards as
- we use GPR registers. */
- valp gpr_base;
- int intarg_count;
-
- /* 'fpr_base' points at the space for fpr1, and grows upwards as
- we use FPR registers. */
- valp fpr_base;
- int fparg_count;
-
- /* 'copy_space' grows down as we put structures in it. It should
- stay 16-byte aligned. */
- valp copy_space;
-
- /* 'next_arg' grows up as we put parameters in it. */
- valp next_arg;
-
- int i, ii MAYBE_UNUSED;
- ffi_type **ptr;
- double double_tmp;
- union {
- void **v;
- char **c;
- signed char **sc;
- unsigned char **uc;
- signed short **ss;
- unsigned short **us;
- unsigned int **ui;
- long long **ll;
- float **f;
- double **d;
- } p_argv;
- size_t struct_copy_size;
- unsigned gprvalue;
-
- if (ecif->cif->abi == FFI_LINUX_SOFT_FLOAT)
- NUM_FPR_ARG_REGISTERS = 0;
-
- stacktop.c = (char *) stack + bytes;
- gpr_base.u = stacktop.u - ASM_NEEDS_REGISTERS - NUM_GPR_ARG_REGISTERS;
- intarg_count = 0;
- fpr_base.d = gpr_base.d - NUM_FPR_ARG_REGISTERS;
- fparg_count = 0;
- copy_space.c = ((flags & FLAG_FP_ARGUMENTS) ? fpr_base.c : gpr_base.c);
- next_arg.u = stack + 2;
-
- /* Check that everything starts aligned properly. */
- FFI_ASSERT (((unsigned) (char *) stack & 0xF) == 0);
- FFI_ASSERT (((unsigned) copy_space.c & 0xF) == 0);
- FFI_ASSERT (((unsigned) stacktop.c & 0xF) == 0);
- FFI_ASSERT ((bytes & 0xF) == 0);
- FFI_ASSERT (copy_space.c >= next_arg.c);
-
- /* Deal with return values that are actually pass-by-reference. */
- if (flags & FLAG_RETVAL_REFERENCE)
- {
- *gpr_base.u++ = (unsigned long) (char *) ecif->rvalue;
- intarg_count++;
- }
-
- /* Now for the arguments. */
- p_argv.v = ecif->avalue;
- for (ptr = ecif->cif->arg_types, i = ecif->cif->nargs;
- i > 0;
- i--, ptr++, p_argv.v++)
- {
- switch ((*ptr)->type)
- {
- case FFI_TYPE_FLOAT:
- /* With FFI_LINUX_SOFT_FLOAT floats are handled like UINT32. */
- if (ecif->cif->abi == FFI_LINUX_SOFT_FLOAT)
- goto soft_float_prep;
- double_tmp = **p_argv.f;
- if (fparg_count >= NUM_FPR_ARG_REGISTERS)
- {
- *next_arg.f = (float) double_tmp;
- next_arg.u += 1;
- intarg_count++;
- }
- else
- *fpr_base.d++ = double_tmp;
- fparg_count++;
- FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
- break;
-
- case FFI_TYPE_DOUBLE:
- /* With FFI_LINUX_SOFT_FLOAT doubles are handled like UINT64. */
- if (ecif->cif->abi == FFI_LINUX_SOFT_FLOAT)
- goto soft_double_prep;
- double_tmp = **p_argv.d;
-
- if (fparg_count >= NUM_FPR_ARG_REGISTERS)
- {
- if (intarg_count >= NUM_GPR_ARG_REGISTERS
- && intarg_count % 2 != 0)
- {
- intarg_count++;
- next_arg.u++;
- }
- *next_arg.d = double_tmp;
- next_arg.u += 2;
- }
- else
- *fpr_base.d++ = double_tmp;
- fparg_count++;
- FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
- break;
-
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- case FFI_TYPE_LONGDOUBLE:
- if ((ecif->cif->abi != FFI_LINUX)
- && (ecif->cif->abi != FFI_LINUX_SOFT_FLOAT))
- goto do_struct;
- /* The soft float ABI for long doubles works like this,
- a long double is passed in four consecutive gprs if available.
- A maximum of 2 long doubles can be passed in gprs.
- If we do not have 4 gprs left, the long double is passed on the
- stack, 4-byte aligned. */
- if (ecif->cif->abi == FFI_LINUX_SOFT_FLOAT)
- {
- unsigned int int_tmp = (*p_argv.ui)[0];
- if (intarg_count >= NUM_GPR_ARG_REGISTERS - 3)
- {
- if (intarg_count < NUM_GPR_ARG_REGISTERS)
- intarg_count += NUM_GPR_ARG_REGISTERS - intarg_count;
- *next_arg.u = int_tmp;
- next_arg.u++;
- for (ii = 1; ii < 4; ii++)
- {
- int_tmp = (*p_argv.ui)[ii];
- *next_arg.u = int_tmp;
- next_arg.u++;
- }
- }
- else
- {
- *gpr_base.u++ = int_tmp;
- for (ii = 1; ii < 4; ii++)
- {
- int_tmp = (*p_argv.ui)[ii];
- *gpr_base.u++ = int_tmp;
- }
- }
- intarg_count +=4;
- }
- else
- {
- double_tmp = (*p_argv.d)[0];
-
- if (fparg_count >= NUM_FPR_ARG_REGISTERS - 1)
- {
- if (intarg_count >= NUM_GPR_ARG_REGISTERS
- && intarg_count % 2 != 0)
- {
- intarg_count++;
- next_arg.u++;
- }
- *next_arg.d = double_tmp;
- next_arg.u += 2;
- double_tmp = (*p_argv.d)[1];
- *next_arg.d = double_tmp;
- next_arg.u += 2;
- }
- else
- {
- *fpr_base.d++ = double_tmp;
- double_tmp = (*p_argv.d)[1];
- *fpr_base.d++ = double_tmp;
- }
-
- fparg_count += 2;
- FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
- }
- break;
-#endif
-
- case FFI_TYPE_UINT64:
- case FFI_TYPE_SINT64:
- soft_double_prep:
- if (intarg_count == NUM_GPR_ARG_REGISTERS-1)
- intarg_count++;
- if (intarg_count >= NUM_GPR_ARG_REGISTERS)
- {
- if (intarg_count % 2 != 0)
- {
- intarg_count++;
- next_arg.u++;
- }
- *next_arg.ll = **p_argv.ll;
- next_arg.u += 2;
- }
- else
- {
- /* whoops: abi states only certain register pairs
- * can be used for passing long long int
- * specifically (r3,r4), (r5,r6), (r7,r8),
- * (r9,r10) and if next arg is long long but
- * not correct starting register of pair then skip
- * until the proper starting register
- */
- if (intarg_count % 2 != 0)
- {
- intarg_count ++;
- gpr_base.u++;
- }
- *gpr_base.ll++ = **p_argv.ll;
- }
- intarg_count += 2;
- break;
-
- case FFI_TYPE_STRUCT:
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- do_struct:
-#endif
- struct_copy_size = ((*ptr)->size + 15) & ~0xF;
- copy_space.c -= struct_copy_size;
- memcpy (copy_space.c, *p_argv.c, (*ptr)->size);
-
- gprvalue = (unsigned long) copy_space.c;
-
- FFI_ASSERT (copy_space.c > next_arg.c);
- FFI_ASSERT (flags & FLAG_ARG_NEEDS_COPY);
- goto putgpr;
-
- case FFI_TYPE_UINT8:
- gprvalue = **p_argv.uc;
- goto putgpr;
- case FFI_TYPE_SINT8:
- gprvalue = **p_argv.sc;
- goto putgpr;
- case FFI_TYPE_UINT16:
- gprvalue = **p_argv.us;
- goto putgpr;
- case FFI_TYPE_SINT16:
- gprvalue = **p_argv.ss;
- goto putgpr;
-
- case FFI_TYPE_INT:
- case FFI_TYPE_UINT32:
- case FFI_TYPE_SINT32:
- case FFI_TYPE_POINTER:
- soft_float_prep:
-
- gprvalue = **p_argv.ui;
-
- putgpr:
- if (intarg_count >= NUM_GPR_ARG_REGISTERS)
- *next_arg.u++ = gprvalue;
- else
- *gpr_base.u++ = gprvalue;
- intarg_count++;
- break;
- }
- }
-
- /* Check that we didn't overrun the stack... */
- FFI_ASSERT (copy_space.c >= next_arg.c);
- FFI_ASSERT (gpr_base.u <= stacktop.u - ASM_NEEDS_REGISTERS);
- FFI_ASSERT (fpr_base.u
- <= stacktop.u - ASM_NEEDS_REGISTERS - NUM_GPR_ARG_REGISTERS);
- FFI_ASSERT (flags & FLAG_4_GPR_ARGUMENTS || intarg_count <= 4);
-}
-
-/* About the LINUX64 ABI. */
-enum {
- NUM_GPR_ARG_REGISTERS64 = 8,
- NUM_FPR_ARG_REGISTERS64 = 13
-};
-enum { ASM_NEEDS_REGISTERS64 = 4 };
-
-/* ffi_prep_args64 is called by the assembly routine once stack space
- has been allocated for the function's arguments.
-
- The stack layout we want looks like this:
-
- | Ret addr from ffi_call_LINUX64 8bytes | higher addresses
- |--------------------------------------------|
- | CR save area 8bytes |
- |--------------------------------------------|
- | Previous backchain pointer 8 | stack pointer here
- |--------------------------------------------|<+ <<< on entry to
- | Saved r28-r31 4*8 | | ffi_call_LINUX64
- |--------------------------------------------| |
- | GPR registers r3-r10 8*8 | |
- |--------------------------------------------| |
- | FPR registers f1-f13 (optional) 13*8 | |
- |--------------------------------------------| |
- | Parameter save area | |
- |--------------------------------------------| |
- | TOC save area 8 | |
- |--------------------------------------------| | stack |
- | Linker doubleword 8 | | grows |
- |--------------------------------------------| | down V
- | Compiler doubleword 8 | |
- |--------------------------------------------| | lower addresses
- | Space for callee's LR 8 | |
- |--------------------------------------------| |
- | CR save area 8 | |
- |--------------------------------------------| | stack pointer here
- | Current backchain pointer 8 |-/ during
- |--------------------------------------------| <<< ffi_call_LINUX64
-
-*/
-
-void FFI_HIDDEN
-ffi_prep_args64 (extended_cif *ecif, unsigned long *const stack)
-{
- const unsigned long bytes = ecif->cif->bytes;
- const unsigned long flags = ecif->cif->flags;
-
- typedef union {
- char *c;
- unsigned long *ul;
- float *f;
- double *d;
- } valp;
-
- /* 'stacktop' points at the previous backchain pointer. */
- valp stacktop;
-
- /* 'next_arg' points at the space for gpr3, and grows upwards as
- we use GPR registers, then continues at rest. */
- valp gpr_base;
- valp gpr_end;
- valp rest;
- valp next_arg;
-
- /* 'fpr_base' points at the space for fpr3, and grows upwards as
- we use FPR registers. */
- valp fpr_base;
- int fparg_count;
-
- int i, words;
- ffi_type **ptr;
- double double_tmp;
- union {
- void **v;
- char **c;
- signed char **sc;
- unsigned char **uc;
- signed short **ss;
- unsigned short **us;
- signed int **si;
- unsigned int **ui;
- unsigned long **ul;
- float **f;
- double **d;
- } p_argv;
- unsigned long gprvalue;
-
- stacktop.c = (char *) stack + bytes;
- gpr_base.ul = stacktop.ul - ASM_NEEDS_REGISTERS64 - NUM_GPR_ARG_REGISTERS64;
- gpr_end.ul = gpr_base.ul + NUM_GPR_ARG_REGISTERS64;
- rest.ul = stack + 6 + NUM_GPR_ARG_REGISTERS64;
- fpr_base.d = gpr_base.d - NUM_FPR_ARG_REGISTERS64;
- fparg_count = 0;
- next_arg.ul = gpr_base.ul;
-
- /* Check that everything starts aligned properly. */
- FFI_ASSERT (((unsigned long) (char *) stack & 0xF) == 0);
- FFI_ASSERT (((unsigned long) stacktop.c & 0xF) == 0);
- FFI_ASSERT ((bytes & 0xF) == 0);
-
- /* Deal with return values that are actually pass-by-reference. */
- if (flags & FLAG_RETVAL_REFERENCE)
- *next_arg.ul++ = (unsigned long) (char *) ecif->rvalue;
-
- /* Now for the arguments. */
- p_argv.v = ecif->avalue;
- for (ptr = ecif->cif->arg_types, i = ecif->cif->nargs;
- i > 0;
- i--, ptr++, p_argv.v++)
- {
- switch ((*ptr)->type)
- {
- case FFI_TYPE_FLOAT:
- double_tmp = **p_argv.f;
- *next_arg.f = (float) double_tmp;
- if (++next_arg.ul == gpr_end.ul)
- next_arg.ul = rest.ul;
- if (fparg_count < NUM_FPR_ARG_REGISTERS64)
- *fpr_base.d++ = double_tmp;
- fparg_count++;
- FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
- break;
-
- case FFI_TYPE_DOUBLE:
- double_tmp = **p_argv.d;
- *next_arg.d = double_tmp;
- if (++next_arg.ul == gpr_end.ul)
- next_arg.ul = rest.ul;
- if (fparg_count < NUM_FPR_ARG_REGISTERS64)
- *fpr_base.d++ = double_tmp;
- fparg_count++;
- FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
- break;
-
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- case FFI_TYPE_LONGDOUBLE:
- double_tmp = (*p_argv.d)[0];
- *next_arg.d = double_tmp;
- if (++next_arg.ul == gpr_end.ul)
- next_arg.ul = rest.ul;
- if (fparg_count < NUM_FPR_ARG_REGISTERS64)
- *fpr_base.d++ = double_tmp;
- fparg_count++;
- double_tmp = (*p_argv.d)[1];
- *next_arg.d = double_tmp;
- if (++next_arg.ul == gpr_end.ul)
- next_arg.ul = rest.ul;
- if (fparg_count < NUM_FPR_ARG_REGISTERS64)
- *fpr_base.d++ = double_tmp;
- fparg_count++;
- FFI_ASSERT (__LDBL_MANT_DIG__ == 106);
- FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
- break;
-#endif
-
- case FFI_TYPE_STRUCT:
- words = ((*ptr)->size + 7) / 8;
- if (next_arg.ul >= gpr_base.ul && next_arg.ul + words > gpr_end.ul)
- {
- size_t first = gpr_end.c - next_arg.c;
- memcpy (next_arg.c, *p_argv.c, first);
- memcpy (rest.c, *p_argv.c + first, (*ptr)->size - first);
- next_arg.c = rest.c + words * 8 - first;
- }
- else
- {
- char *where = next_arg.c;
-
- /* Structures with size less than eight bytes are passed
- left-padded. */
- if ((*ptr)->size < 8)
- where += 8 - (*ptr)->size;
-
- memcpy (where, *p_argv.c, (*ptr)->size);
- next_arg.ul += words;
- if (next_arg.ul == gpr_end.ul)
- next_arg.ul = rest.ul;
- }
- break;
-
- case FFI_TYPE_UINT8:
- gprvalue = **p_argv.uc;
- goto putgpr;
- case FFI_TYPE_SINT8:
- gprvalue = **p_argv.sc;
- goto putgpr;
- case FFI_TYPE_UINT16:
- gprvalue = **p_argv.us;
- goto putgpr;
- case FFI_TYPE_SINT16:
- gprvalue = **p_argv.ss;
- goto putgpr;
- case FFI_TYPE_UINT32:
- gprvalue = **p_argv.ui;
- goto putgpr;
- case FFI_TYPE_INT:
- case FFI_TYPE_SINT32:
- gprvalue = **p_argv.si;
- goto putgpr;
-
- case FFI_TYPE_UINT64:
- case FFI_TYPE_SINT64:
- case FFI_TYPE_POINTER:
- gprvalue = **p_argv.ul;
- putgpr:
- *next_arg.ul++ = gprvalue;
- if (next_arg.ul == gpr_end.ul)
- next_arg.ul = rest.ul;
- break;
- }
- }
-
- FFI_ASSERT (flags & FLAG_4_GPR_ARGUMENTS
- || (next_arg.ul >= gpr_base.ul
- && next_arg.ul <= gpr_base.ul + 4));
-}
-
-
-
-/* Perform machine dependent cif processing */
-ffi_status
-ffi_prep_cif_machdep (ffi_cif *cif)
-{
- /* All this is for the SYSV and LINUX64 ABI. */
- int i;
- ffi_type **ptr;
- unsigned bytes;
- int fparg_count = 0, intarg_count = 0;
- unsigned flags = 0;
- unsigned struct_copy_size = 0;
- unsigned type = cif->rtype->type;
- unsigned size = cif->rtype->size;
-
- if (cif->abi == FFI_LINUX_SOFT_FLOAT)
- NUM_FPR_ARG_REGISTERS = 0;
-
- if (cif->abi != FFI_LINUX64)
- {
- /* All the machine-independent calculation of cif->bytes will be wrong.
- Redo the calculation for SYSV. */
-
- /* Space for the frame pointer, callee's LR, and the asm's temp regs. */
- bytes = (2 + ASM_NEEDS_REGISTERS) * sizeof (int);
-
- /* Space for the GPR registers. */
- bytes += NUM_GPR_ARG_REGISTERS * sizeof (int);
- }
- else
- {
- /* 64-bit ABI. */
-
- /* Space for backchain, CR, LR, cc/ld doubleword, TOC and the asm's temp
- regs. */
- bytes = (6 + ASM_NEEDS_REGISTERS64) * sizeof (long);
-
- /* Space for the mandatory parm save area and general registers. */
- bytes += 2 * NUM_GPR_ARG_REGISTERS64 * sizeof (long);
- }
-
- /* Return value handling. The rules for SYSV are as follows:
- - 32-bit (or less) integer values are returned in gpr3;
- - Structures of size <= 4 bytes also returned in gpr3;
- - 64-bit integer values and structures between 5 and 8 bytes are returned
- in gpr3 and gpr4;
- - Single/double FP values are returned in fpr1;
- - Larger structures are allocated space and a pointer is passed as
- the first argument.
- - long doubles (if not equivalent to double) are returned in
- fpr1,fpr2 for Linux and as for large structs for SysV.
- For LINUX64:
- - integer values in gpr3;
- - Structures/Unions by reference;
- - Single/double FP values in fpr1, long double in fpr1,fpr2.
- - soft-float float/doubles are treated as UINT32/UINT64 respectivley.
- - soft-float long doubles are returned in gpr3-gpr6. */
- switch (type)
- {
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- case FFI_TYPE_LONGDOUBLE:
- if (cif->abi != FFI_LINUX && cif->abi != FFI_LINUX64
- && cif->abi != FFI_LINUX_SOFT_FLOAT)
- goto byref;
- flags |= FLAG_RETURNS_128BITS;
- /* Fall through. */
-#endif
- case FFI_TYPE_DOUBLE:
- flags |= FLAG_RETURNS_64BITS;
- /* Fall through. */
- case FFI_TYPE_FLOAT:
- /* With FFI_LINUX_SOFT_FLOAT no fp registers are used. */
- if (cif->abi != FFI_LINUX_SOFT_FLOAT)
- flags |= FLAG_RETURNS_FP;
- break;
-
- case FFI_TYPE_UINT64:
- case FFI_TYPE_SINT64:
- flags |= FLAG_RETURNS_64BITS;
- break;
-
- case FFI_TYPE_STRUCT:
- if (cif->abi == FFI_SYSV)
- {
- /* The final SYSV ABI says that structures smaller or equal 8 bytes
- are returned in r3/r4. The FFI_GCC_SYSV ABI instead returns them
- in memory. */
-
- /* Treat structs with size <= 8 bytes. */
- if (size <= 8)
- {
- flags |= FLAG_RETURNS_SMST;
- /* These structs are returned in r3. We pack the type and the
- precalculated shift value (needed in the sysv.S) into flags.
- The same applies for the structs returned in r3/r4. */
- if (size <= 4)
- {
- flags |= FLAG_SYSV_SMST_R3;
- flags |= 8 * (4 - size) << 8;
- break;
- }
- /* These structs are returned in r3 and r4. See above. */
- if (size <= 8)
- {
- flags |= FLAG_SYSV_SMST_R3 | FLAG_SYSV_SMST_R4;
- flags |= 8 * (8 - size) << 8;
- break;
- }
- }
- }
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- byref:
-#endif
- intarg_count++;
- flags |= FLAG_RETVAL_REFERENCE;
- /* Fall through. */
- case FFI_TYPE_VOID:
- flags |= FLAG_RETURNS_NOTHING;
- break;
-
- default:
- /* Returns 32-bit integer, or similar. Nothing to do here. */
- break;
- }
-
- if (cif->abi != FFI_LINUX64)
- /* The first NUM_GPR_ARG_REGISTERS words of integer arguments, and the
- first NUM_FPR_ARG_REGISTERS fp arguments, go in registers; the rest
- goes on the stack. Structures and long doubles (if not equivalent
- to double) are passed as a pointer to a copy of the structure.
- Stuff on the stack needs to keep proper alignment. */
- for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++)
- {
- switch ((*ptr)->type)
- {
- case FFI_TYPE_FLOAT:
- /* With FFI_LINUX_SOFT_FLOAT floats are handled like UINT32. */
- if (cif->abi == FFI_LINUX_SOFT_FLOAT)
- goto soft_float_cif;
- fparg_count++;
- /* floating singles are not 8-aligned on stack */
- break;
-
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- case FFI_TYPE_LONGDOUBLE:
- if (cif->abi != FFI_LINUX && cif->abi != FFI_LINUX_SOFT_FLOAT)
- goto do_struct;
- if (cif->abi == FFI_LINUX_SOFT_FLOAT)
- {
- if (intarg_count >= NUM_GPR_ARG_REGISTERS - 3
- || intarg_count < NUM_GPR_ARG_REGISTERS)
- /* A long double in FFI_LINUX_SOFT_FLOAT can use only
- a set of four consecutive gprs. If we have not enough,
- we have to adjust the intarg_count value. */
- intarg_count += NUM_GPR_ARG_REGISTERS - intarg_count;
- intarg_count += 4;
- break;
- }
- else
- fparg_count++;
- /* Fall thru */
-#endif
- case FFI_TYPE_DOUBLE:
- /* With FFI_LINUX_SOFT_FLOAT doubles are handled like UINT64. */
- if (cif->abi == FFI_LINUX_SOFT_FLOAT)
- goto soft_double_cif;
- fparg_count++;
- /* If this FP arg is going on the stack, it must be
- 8-byte-aligned. */
- if (fparg_count > NUM_FPR_ARG_REGISTERS
- && intarg_count >= NUM_GPR_ARG_REGISTERS
- && intarg_count % 2 != 0)
- intarg_count++;
- break;
-
- case FFI_TYPE_UINT64:
- case FFI_TYPE_SINT64:
- soft_double_cif:
- /* 'long long' arguments are passed as two words, but
- either both words must fit in registers or both go
- on the stack. If they go on the stack, they must
- be 8-byte-aligned.
-
- Also, only certain register pairs can be used for
- passing long long int -- specifically (r3,r4), (r5,r6),
- (r7,r8), (r9,r10).
- */
- if (intarg_count == NUM_GPR_ARG_REGISTERS-1
- || intarg_count % 2 != 0)
- intarg_count++;
- intarg_count += 2;
- break;
-
- case FFI_TYPE_STRUCT:
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- do_struct:
-#endif
- /* We must allocate space for a copy of these to enforce
- pass-by-value. Pad the space up to a multiple of 16
- bytes (the maximum alignment required for anything under
- the SYSV ABI). */
- struct_copy_size += ((*ptr)->size + 15) & ~0xF;
- /* Fall through (allocate space for the pointer). */
-
- default:
- soft_float_cif:
- /* Everything else is passed as a 4-byte word in a GPR, either
- the object itself or a pointer to it. */
- intarg_count++;
- break;
- }
- }
- else
- for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++)
- {
- switch ((*ptr)->type)
- {
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- case FFI_TYPE_LONGDOUBLE:
- if (cif->abi == FFI_LINUX_SOFT_FLOAT)
- intarg_count += 4;
- else
- {
- fparg_count += 2;
- intarg_count += 2;
- }
- break;
-#endif
- case FFI_TYPE_FLOAT:
- case FFI_TYPE_DOUBLE:
- fparg_count++;
- intarg_count++;
- break;
-
- case FFI_TYPE_STRUCT:
- intarg_count += ((*ptr)->size + 7) / 8;
- break;
-
- default:
- /* Everything else is passed as a 8-byte word in a GPR, either
- the object itself or a pointer to it. */
- intarg_count++;
- break;
- }
- }
-
- if (fparg_count != 0)
- flags |= FLAG_FP_ARGUMENTS;
- if (intarg_count > 4)
- flags |= FLAG_4_GPR_ARGUMENTS;
- if (struct_copy_size != 0)
- flags |= FLAG_ARG_NEEDS_COPY;
-
- if (cif->abi != FFI_LINUX64)
- {
- /* Space for the FPR registers, if needed. */
- if (fparg_count != 0)
- bytes += NUM_FPR_ARG_REGISTERS * sizeof (double);
-
- /* Stack space. */
- if (intarg_count > NUM_GPR_ARG_REGISTERS)
- bytes += (intarg_count - NUM_GPR_ARG_REGISTERS) * sizeof (int);
- if (fparg_count > NUM_FPR_ARG_REGISTERS)
- bytes += (fparg_count - NUM_FPR_ARG_REGISTERS) * sizeof (double);
- }
- else
- {
- /* Space for the FPR registers, if needed. */
- if (fparg_count != 0)
- bytes += NUM_FPR_ARG_REGISTERS64 * sizeof (double);
-
- /* Stack space. */
- if (intarg_count > NUM_GPR_ARG_REGISTERS64)
- bytes += (intarg_count - NUM_GPR_ARG_REGISTERS64) * sizeof (long);
- }
-
- /* The stack space allocated needs to be a multiple of 16 bytes. */
- bytes = (bytes + 15) & ~0xF;
-
- /* Add in the space for the copied structures. */
- bytes += struct_copy_size;
-
- cif->flags = flags;
- cif->bytes = bytes;
-
- return FFI_OK;
-}
-
-extern void ffi_call_SYSV(extended_cif *, unsigned, unsigned, unsigned *,
- void (*fn)(void));
-extern void FFI_HIDDEN ffi_call_LINUX64(extended_cif *, unsigned long,
- unsigned long, unsigned long *,
- void (*fn)(void));
-
-void
-ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
-{
- extended_cif ecif;
-
- ecif.cif = cif;
- ecif.avalue = avalue;
-
- /* If the return value is a struct and we don't have a return */
- /* value address then we need to make one */
-
- if ((rvalue == NULL) && (cif->rtype->type == FFI_TYPE_STRUCT))
- {
- ecif.rvalue = alloca(cif->rtype->size);
- }
- else
- ecif.rvalue = rvalue;
-
-
- switch (cif->abi)
- {
-#ifndef POWERPC64
- case FFI_SYSV:
- case FFI_GCC_SYSV:
- case FFI_LINUX:
- case FFI_LINUX_SOFT_FLOAT:
- ffi_call_SYSV (&ecif, -cif->bytes, cif->flags, ecif.rvalue, fn);
- break;
-#else
- case FFI_LINUX64:
- ffi_call_LINUX64 (&ecif, -(long) cif->bytes, cif->flags, ecif.rvalue, fn);
- break;
-#endif
- default:
- FFI_ASSERT (0);
- break;
- }
-}
-
-
-#ifndef POWERPC64
-#define MIN_CACHE_LINE_SIZE 8
-
-static void
-flush_icache (char *wraddr, char *xaddr, int size)
-{
- int i;
- for (i = 0; i < size; i += MIN_CACHE_LINE_SIZE)
- __asm__ volatile ("icbi 0,%0;" "dcbf 0,%1;"
- : : "r" (xaddr + i), "r" (wraddr + i) : "memory");
- __asm__ volatile ("icbi 0,%0;" "dcbf 0,%1;" "sync;" "isync;"
- : : "r"(xaddr + size - 1), "r"(wraddr + size - 1)
- : "memory");
-}
-#endif
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure *closure,
- ffi_cif *cif,
- void (*fun) (ffi_cif *, void *, void **, void *),
- void *user_data,
- void *codeloc)
-{
-#ifdef POWERPC64
- void **tramp = (void **) &closure->tramp[0];
-
- if (cif->abi != FFI_LINUX64)
- return FFI_BAD_ABI;
- /* Copy function address and TOC from ffi_closure_LINUX64. */
- memcpy (tramp, (char *) ffi_closure_LINUX64, 16);
- tramp[2] = codeloc;
-#else
- unsigned int *tramp;
-
- if (! (cif->abi == FFI_GCC_SYSV
- || cif->abi == FFI_SYSV
- || cif->abi == FFI_LINUX
- || cif->abi == FFI_LINUX_SOFT_FLOAT))
- return FFI_BAD_ABI;
-
- tramp = (unsigned int *) &closure->tramp[0];
- tramp[0] = 0x7c0802a6; /* mflr r0 */
- tramp[1] = 0x4800000d; /* bl 10 <trampoline_initial+0x10> */
- tramp[4] = 0x7d6802a6; /* mflr r11 */
- tramp[5] = 0x7c0803a6; /* mtlr r0 */
- tramp[6] = 0x800b0000; /* lwz r0,0(r11) */
- tramp[7] = 0x816b0004; /* lwz r11,4(r11) */
- tramp[8] = 0x7c0903a6; /* mtctr r0 */
- tramp[9] = 0x4e800420; /* bctr */
- *(void **) &tramp[2] = (void *) ffi_closure_SYSV; /* function */
- *(void **) &tramp[3] = codeloc; /* context */
-
- /* Flush the icache. */
- flush_icache ((char *)tramp, (char *)codeloc, FFI_TRAMPOLINE_SIZE);
-#endif
-
- closure->cif = cif;
- closure->fun = fun;
- closure->user_data = user_data;
-
- return FFI_OK;
-}
-
-typedef union
-{
- float f;
- double d;
-} ffi_dblfl;
-
-int ffi_closure_helper_SYSV (ffi_closure *, void *, unsigned long *,
- ffi_dblfl *, unsigned long *);
-
-/* Basically the trampoline invokes ffi_closure_SYSV, and on
- * entry, r11 holds the address of the closure.
- * After storing the registers that could possibly contain
- * parameters to be passed into the stack frame and setting
- * up space for a return value, ffi_closure_SYSV invokes the
- * following helper function to do most of the work
- */
-
-int
-ffi_closure_helper_SYSV (ffi_closure *closure, void *rvalue,
- unsigned long *pgr, ffi_dblfl *pfr,
- unsigned long *pst)
-{
- /* rvalue is the pointer to space for return value in closure assembly */
- /* pgr is the pointer to where r3-r10 are stored in ffi_closure_SYSV */
- /* pfr is the pointer to where f1-f8 are stored in ffi_closure_SYSV */
- /* pst is the pointer to outgoing parameter stack in original caller */
-
- void ** avalue;
- ffi_type ** arg_types;
- long i, avn;
- long nf; /* number of floating registers already used */
- long ng; /* number of general registers already used */
- ffi_cif * cif;
- double temp;
- unsigned size;
-
- cif = closure->cif;
- avalue = alloca (cif->nargs * sizeof (void *));
- size = cif->rtype->size;
-
- nf = 0;
- ng = 0;
-
- /* Copy the caller's structure return value address so that the closure
- returns the data directly to the caller.
- For FFI_SYSV the result is passed in r3/r4 if the struct size is less
- or equal 8 bytes. */
-
- if ((cif->rtype->type == FFI_TYPE_STRUCT
- && !((cif->abi == FFI_SYSV) && (size <= 8)))
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- || (cif->rtype->type == FFI_TYPE_LONGDOUBLE
- && cif->abi != FFI_LINUX && cif->abi != FFI_LINUX_SOFT_FLOAT)
-#endif
- )
- {
- rvalue = (void *) *pgr;
- ng++;
- pgr++;
- }
-
- i = 0;
- avn = cif->nargs;
- arg_types = cif->arg_types;
-
- /* Grab the addresses of the arguments from the stack frame. */
- while (i < avn)
- {
- switch (arg_types[i]->type)
- {
- case FFI_TYPE_SINT8:
- case FFI_TYPE_UINT8:
- /* there are 8 gpr registers used to pass values */
- if (ng < 8)
- {
- avalue[i] = (char *) pgr + 3;
- ng++;
- pgr++;
- }
- else
- {
- avalue[i] = (char *) pst + 3;
- pst++;
- }
- break;
-
- case FFI_TYPE_SINT16:
- case FFI_TYPE_UINT16:
- /* there are 8 gpr registers used to pass values */
- if (ng < 8)
- {
- avalue[i] = (char *) pgr + 2;
- ng++;
- pgr++;
- }
- else
- {
- avalue[i] = (char *) pst + 2;
- pst++;
- }
- break;
-
- case FFI_TYPE_SINT32:
- case FFI_TYPE_UINT32:
- case FFI_TYPE_POINTER:
- soft_float_closure:
- /* there are 8 gpr registers used to pass values */
- if (ng < 8)
- {
- avalue[i] = pgr;
- ng++;
- pgr++;
- }
- else
- {
- avalue[i] = pst;
- pst++;
- }
- break;
-
- case FFI_TYPE_STRUCT:
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- do_struct:
-#endif
- /* Structs are passed by reference. The address will appear in a
- gpr if it is one of the first 8 arguments. */
- if (ng < 8)
- {
- avalue[i] = (void *) *pgr;
- ng++;
- pgr++;
- }
- else
- {
- avalue[i] = (void *) *pst;
- pst++;
- }
- break;
-
- case FFI_TYPE_SINT64:
- case FFI_TYPE_UINT64:
- soft_double_closure:
- /* passing long long ints are complex, they must
- * be passed in suitable register pairs such as
- * (r3,r4) or (r5,r6) or (r6,r7), or (r7,r8) or (r9,r10)
- * and if the entire pair aren't available then the outgoing
- * parameter stack is used for both but an alignment of 8
- * must will be kept. So we must either look in pgr
- * or pst to find the correct address for this type
- * of parameter.
- */
- if (ng < 7)
- {
- if (ng & 0x01)
- {
- /* skip r4, r6, r8 as starting points */
- ng++;
- pgr++;
- }
- avalue[i] = pgr;
- ng += 2;
- pgr += 2;
- }
- else
- {
- if (((long) pst) & 4)
- pst++;
- avalue[i] = pst;
- pst += 2;
- ng = 8;
- }
- break;
-
- case FFI_TYPE_FLOAT:
- /* With FFI_LINUX_SOFT_FLOAT floats are handled like UINT32. */
- if (cif->abi == FFI_LINUX_SOFT_FLOAT)
- goto soft_float_closure;
- /* unfortunately float values are stored as doubles
- * in the ffi_closure_SYSV code (since we don't check
- * the type in that routine).
- */
-
- /* there are 8 64bit floating point registers */
-
- if (nf < 8)
- {
- temp = pfr->d;
- pfr->f = (float) temp;
- avalue[i] = pfr;
- nf++;
- pfr++;
- }
- else
- {
- /* FIXME? here we are really changing the values
- * stored in the original calling routines outgoing
- * parameter stack. This is probably a really
- * naughty thing to do but...
- */
- avalue[i] = pst;
- pst += 1;
- }
- break;
-
- case FFI_TYPE_DOUBLE:
- /* With FFI_LINUX_SOFT_FLOAT doubles are handled like UINT64. */
- if (cif->abi == FFI_LINUX_SOFT_FLOAT)
- goto soft_double_closure;
- /* On the outgoing stack all values are aligned to 8 */
- /* there are 8 64bit floating point registers */
-
- if (nf < 8)
- {
- avalue[i] = pfr;
- nf++;
- pfr++;
- }
- else
- {
- if (((long) pst) & 4)
- pst++;
- avalue[i] = pst;
- pst += 2;
- }
- break;
-
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- case FFI_TYPE_LONGDOUBLE:
- if (cif->abi != FFI_LINUX && cif->abi != FFI_LINUX_SOFT_FLOAT)
- goto do_struct;
- if (cif->abi == FFI_LINUX_SOFT_FLOAT)
- { /* Test if for the whole long double, 4 gprs are available.
- otherwise the stuff ends up on the stack. */
- if (ng < 5)
- {
- avalue[i] = pgr;
- pgr += 4;
- ng += 4;
- }
- else
- {
- avalue[i] = pst;
- pst += 4;
- ng = 8;
- }
- break;
- }
- if (nf < 7)
- {
- avalue[i] = pfr;
- pfr += 2;
- nf += 2;
- }
- else
- {
- if (((long) pst) & 4)
- pst++;
- avalue[i] = pst;
- pst += 4;
- nf = 8;
- }
- break;
-#endif
-
- default:
- FFI_ASSERT (0);
- }
-
- i++;
- }
-
-
- (closure->fun) (cif, rvalue, avalue, closure->user_data);
-
- /* Tell ffi_closure_SYSV how to perform return type promotions.
- Because the FFI_SYSV ABI returns the structures <= 8 bytes in r3/r4
- we have to tell ffi_closure_SYSV how to treat them. We combine the base
- type FFI_SYSV_TYPE_SMALL_STRUCT - 1 with the size of the struct.
- So a one byte struct gets the return type 16. Return type 1 to 15 are
- already used and we never have a struct with size zero. That is the reason
- for the subtraction of 1. See the comment in ffitarget.h about ordering.
- */
- if (cif->abi == FFI_SYSV && cif->rtype->type == FFI_TYPE_STRUCT
- && size <= 8)
- return (FFI_SYSV_TYPE_SMALL_STRUCT - 1) + size;
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- else if (cif->rtype->type == FFI_TYPE_LONGDOUBLE
- && cif->abi != FFI_LINUX && cif->abi != FFI_LINUX_SOFT_FLOAT)
- return FFI_TYPE_STRUCT;
-#endif
- /* With FFI_LINUX_SOFT_FLOAT floats and doubles are handled like UINT32
- respectivley UINT64. */
- if (cif->abi == FFI_LINUX_SOFT_FLOAT)
- {
- switch (cif->rtype->type)
- {
- case FFI_TYPE_FLOAT:
- return FFI_TYPE_UINT32;
- break;
- case FFI_TYPE_DOUBLE:
- return FFI_TYPE_UINT64;
- break;
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- case FFI_TYPE_LONGDOUBLE:
- return FFI_TYPE_UINT128;
- break;
-#endif
- default:
- return cif->rtype->type;
- }
- }
- else
- {
- return cif->rtype->type;
- }
-}
-
-int FFI_HIDDEN ffi_closure_helper_LINUX64 (ffi_closure *, void *,
- unsigned long *, ffi_dblfl *);
-
-int FFI_HIDDEN
-ffi_closure_helper_LINUX64 (ffi_closure *closure, void *rvalue,
- unsigned long *pst, ffi_dblfl *pfr)
-{
- /* rvalue is the pointer to space for return value in closure assembly */
- /* pst is the pointer to parameter save area
- (r3-r10 are stored into its first 8 slots by ffi_closure_LINUX64) */
- /* pfr is the pointer to where f1-f13 are stored in ffi_closure_LINUX64 */
-
- void **avalue;
- ffi_type **arg_types;
- long i, avn;
- ffi_cif *cif;
- ffi_dblfl *end_pfr = pfr + NUM_FPR_ARG_REGISTERS64;
-
- cif = closure->cif;
- avalue = alloca (cif->nargs * sizeof (void *));
-
- /* Copy the caller's structure return value address so that the closure
- returns the data directly to the caller. */
- if (cif->rtype->type == FFI_TYPE_STRUCT)
- {
- rvalue = (void *) *pst;
- pst++;
- }
-
- i = 0;
- avn = cif->nargs;
- arg_types = cif->arg_types;
-
- /* Grab the addresses of the arguments from the stack frame. */
- while (i < avn)
- {
- switch (arg_types[i]->type)
- {
- case FFI_TYPE_SINT8:
- case FFI_TYPE_UINT8:
- avalue[i] = (char *) pst + 7;
- pst++;
- break;
-
- case FFI_TYPE_SINT16:
- case FFI_TYPE_UINT16:
- avalue[i] = (char *) pst + 6;
- pst++;
- break;
-
- case FFI_TYPE_SINT32:
- case FFI_TYPE_UINT32:
- avalue[i] = (char *) pst + 4;
- pst++;
- break;
-
- case FFI_TYPE_SINT64:
- case FFI_TYPE_UINT64:
- case FFI_TYPE_POINTER:
- avalue[i] = pst;
- pst++;
- break;
-
- case FFI_TYPE_STRUCT:
- /* Structures with size less than eight bytes are passed
- left-padded. */
- if (arg_types[i]->size < 8)
- avalue[i] = (char *) pst + 8 - arg_types[i]->size;
- else
- avalue[i] = pst;
- pst += (arg_types[i]->size + 7) / 8;
- break;
-
- case FFI_TYPE_FLOAT:
- /* unfortunately float values are stored as doubles
- * in the ffi_closure_LINUX64 code (since we don't check
- * the type in that routine).
- */
-
- /* there are 13 64bit floating point registers */
-
- if (pfr < end_pfr)
- {
- double temp = pfr->d;
- pfr->f = (float) temp;
- avalue[i] = pfr;
- pfr++;
- }
- else
- avalue[i] = pst;
- pst++;
- break;
-
- case FFI_TYPE_DOUBLE:
- /* On the outgoing stack all values are aligned to 8 */
- /* there are 13 64bit floating point registers */
-
- if (pfr < end_pfr)
- {
- avalue[i] = pfr;
- pfr++;
- }
- else
- avalue[i] = pst;
- pst++;
- break;
-
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- case FFI_TYPE_LONGDOUBLE:
- if (pfr + 1 < end_pfr)
- {
- avalue[i] = pfr;
- pfr += 2;
- }
- else
- {
- if (pfr < end_pfr)
- {
- /* Passed partly in f13 and partly on the stack.
- Move it all to the stack. */
- *pst = *(unsigned long *) pfr;
- pfr++;
- }
- avalue[i] = pst;
- }
- pst += 2;
- break;
-#endif
-
- default:
- FFI_ASSERT (0);
- }
-
- i++;
- }
-
-
- (closure->fun) (cif, rvalue, avalue, closure->user_data);
-
- /* Tell ffi_closure_LINUX64 how to perform return type promotions. */
- return cif->rtype->type;
-}
diff --git a/.pc/powerpc-sysv-without-string-ops/src/powerpc/sysv.S b/.pc/powerpc-sysv-without-string-ops/src/powerpc/sysv.S
deleted file mode 100644
index 96ea22b..0000000
--- a/.pc/powerpc-sysv-without-string-ops/src/powerpc/sysv.S
+++ /dev/null
@@ -1,219 +0,0 @@
-/* -----------------------------------------------------------------------
- sysv.S - Copyright (c) 1998 Geoffrey Keating
- Copyright (C) 2007 Free Software Foundation, Inc
-
- PowerPC Assembly glue.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
- ----------------------------------------------------------------------- */
-
-#define LIBFFI_ASM
-#include <fficonfig.h>
-#include <ffi.h>
-#include <powerpc/asm.h>
-
-#ifndef __powerpc64__
- .globl ffi_prep_args_SYSV
-ENTRY(ffi_call_SYSV)
-.LFB1:
- /* Save the old stack pointer as AP. */
- mr %r8,%r1
-
-.LCFI0:
- /* Allocate the stack space we need. */
- stwux %r1,%r1,%r4
- /* Save registers we use. */
- mflr %r9
- stw %r28,-16(%r8)
-.LCFI1:
- stw %r29,-12(%r8)
-.LCFI2:
- stw %r30, -8(%r8)
-.LCFI3:
- stw %r31, -4(%r8)
-.LCFI4:
- stw %r9, 4(%r8)
-.LCFI5:
-
- /* Save arguments over call... */
- mr %r31,%r5 /* flags, */
- mr %r30,%r6 /* rvalue, */
- mr %r29,%r7 /* function address, */
- mr %r28,%r8 /* our AP. */
-.LCFI6:
-
- /* Call ffi_prep_args_SYSV. */
- mr %r4,%r1
- bl ffi_prep_args_SYSV@local
-
- /* Now do the call. */
- /* Set up cr1 with bits 4-7 of the flags. */
- mtcrf 0x40,%r31
- /* Get the address to call into CTR. */
- mtctr %r29
- /* Load all those argument registers. */
- lwz %r3,-16-(8*4)(%r28)
- lwz %r4,-16-(7*4)(%r28)
- lwz %r5,-16-(6*4)(%r28)
- lwz %r6,-16-(5*4)(%r28)
- bf- 5,1f
- nop
- lwz %r7,-16-(4*4)(%r28)
- lwz %r8,-16-(3*4)(%r28)
- lwz %r9,-16-(2*4)(%r28)
- lwz %r10,-16-(1*4)(%r28)
- nop
-1:
-
- /* Load all the FP registers. */
- bf- 6,2f
- lfd %f1,-16-(8*4)-(8*8)(%r28)
- lfd %f2,-16-(8*4)-(7*8)(%r28)
- lfd %f3,-16-(8*4)-(6*8)(%r28)
- lfd %f4,-16-(8*4)-(5*8)(%r28)
- nop
- lfd %f5,-16-(8*4)-(4*8)(%r28)
- lfd %f6,-16-(8*4)-(3*8)(%r28)
- lfd %f7,-16-(8*4)-(2*8)(%r28)
- lfd %f8,-16-(8*4)-(1*8)(%r28)
-2:
-
- /* Make the call. */
- bctrl
-
- /* Now, deal with the return value. */
- mtcrf 0x01,%r31 /* cr7 */
- bt- 31,L(small_struct_return_value)
- bt- 30,L(done_return_value)
- bt- 29,L(fp_return_value)
- stw %r3,0(%r30)
- bf+ 28,L(done_return_value)
- stw %r4,4(%r30)
- mtcrf 0x02,%r31 /* cr6 */
- bf 27,L(done_return_value)
- stw %r5,8(%r30)
- stw %r6,12(%r30)
- /* Fall through... */
-
-L(done_return_value):
- /* Restore the registers we used and return. */
- lwz %r9, 4(%r28)
- lwz %r31, -4(%r28)
- mtlr %r9
- lwz %r30, -8(%r28)
- lwz %r29,-12(%r28)
- lwz %r28,-16(%r28)
- lwz %r1,0(%r1)
- blr
-
-L(fp_return_value):
- bf 28,L(float_return_value)
- stfd %f1,0(%r30)
- mtcrf 0x02,%r31 /* cr6 */
- bf 27,L(done_return_value)
- stfd %f2,8(%r30)
- b L(done_return_value)
-L(float_return_value):
- stfs %f1,0(%r30)
- b L(done_return_value)
-
-L(small_struct_return_value):
- extrwi %r6,%r31,2,19 /* number of bytes padding = shift/8 */
- mtcrf 0x02,%r31 /* copy flags to cr[24:27] (cr6) */
- extrwi %r5,%r31,5,19 /* r5 <- number of bits of padding */
- subfic %r6,%r6,4 /* r6 <- number of useful bytes in r3 */
- bf- 25,L(done_return_value) /* struct in r3 ? if not, done. */
-/* smst_one_register: */
- slw %r3,%r3,%r5 /* Left-justify value in r3 */
- mtxer %r6 /* move byte count to XER ... */
- stswx %r3,0,%r30 /* ... and store that many bytes */
- bf+ 26,L(done_return_value) /* struct in r3:r4 ? */
- add %r6,%r6,%r30 /* adjust pointer */
- stswi %r4,%r6,4 /* store last four bytes */
- b L(done_return_value)
-
-.LFE1:
-END(ffi_call_SYSV)
-
- .section ".eh_frame",EH_FRAME_FLAGS,@progbits
-.Lframe1:
- .4byte .LECIE1-.LSCIE1 /* Length of Common Information Entry */
-.LSCIE1:
- .4byte 0x0 /* CIE Identifier Tag */
- .byte 0x1 /* CIE Version */
-#if defined _RELOCATABLE || defined __PIC__
- .ascii "zR\0" /* CIE Augmentation */
-#else
- .ascii "\0" /* CIE Augmentation */
-#endif
- .uleb128 0x1 /* CIE Code Alignment Factor */
- .sleb128 -4 /* CIE Data Alignment Factor */
- .byte 0x41 /* CIE RA Column */
-#if defined _RELOCATABLE || defined __PIC__
- .uleb128 0x1 /* Augmentation size */
- .byte 0x1b /* FDE Encoding (pcrel sdata4) */
-#endif
- .byte 0xc /* DW_CFA_def_cfa */
- .uleb128 0x1
- .uleb128 0x0
- .align 2
-.LECIE1:
-.LSFDE1:
- .4byte .LEFDE1-.LASFDE1 /* FDE Length */
-.LASFDE1:
- .4byte .LASFDE1-.Lframe1 /* FDE CIE offset */
-#if defined _RELOCATABLE || defined __PIC__
- .4byte .LFB1-. /* FDE initial location */
-#else
- .4byte .LFB1 /* FDE initial location */
-#endif
- .4byte .LFE1-.LFB1 /* FDE address range */
-#if defined _RELOCATABLE || defined __PIC__
- .uleb128 0x0 /* Augmentation size */
-#endif
- .byte 0x4 /* DW_CFA_advance_loc4 */
- .4byte .LCFI0-.LFB1
- .byte 0xd /* DW_CFA_def_cfa_register */
- .uleb128 0x08
- .byte 0x4 /* DW_CFA_advance_loc4 */
- .4byte .LCFI5-.LCFI0
- .byte 0x11 /* DW_CFA_offset_extended_sf */
- .uleb128 0x41
- .sleb128 -1
- .byte 0x9f /* DW_CFA_offset, column 0x1f */
- .uleb128 0x1
- .byte 0x9e /* DW_CFA_offset, column 0x1e */
- .uleb128 0x2
- .byte 0x9d /* DW_CFA_offset, column 0x1d */
- .uleb128 0x3
- .byte 0x9c /* DW_CFA_offset, column 0x1c */
- .uleb128 0x4
- .byte 0x4 /* DW_CFA_advance_loc4 */
- .4byte .LCFI6-.LCFI5
- .byte 0xd /* DW_CFA_def_cfa_register */
- .uleb128 0x1c
- .align 2
-.LEFDE1:
-#endif
-
-#if defined __ELF__ && defined __linux__
- .section .note.GNU-stack,"",@progbits
-#endif
diff --git a/.pc/ppc64-darwin/.timestamp b/.pc/ppc64-darwin/.timestamp
deleted file mode 100644
index e69de29..0000000
--- a/.pc/ppc64-darwin/.timestamp
+++ /dev/null
diff --git a/.pc/ppc64-darwin/ChangeLog b/.pc/ppc64-darwin/ChangeLog
deleted file mode 100644
index dee8a54..0000000
--- a/.pc/ppc64-darwin/ChangeLog
+++ /dev/null
@@ -1,4624 +0,0 @@
-2012-02-10 Kai Tietz <ktietz@redhat.com>
-
- * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
- windows target.
- * configure: Regenerated.
-
-2012-02-08 Kai Tietz <ktietz@redhat.com>
-
- * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
- also FFI_THISCALL.
- * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
- (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
- (ffi_prep_closure_loc): Add FFI_THISCALL support.
- * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
- * src/x86/win32.S (ffi_closure_THISCALL): New closure code
- for thiscall-calling convention.
- * testsuite/libffi.call/closure_thiscall.c: New test.
-
-2012-01-28 Kai Tietz <ktietz@redhat.com>
-
- * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
- argument to prototype for specify calling-convention.
- (ffi_call): Add support for stdcall/thiscall convention.
- (ffi_prep_args): Likewise.
- (ffi_raw_call): Likewise.
- * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
- FFI_FASTCALL.
- * src/x86/win32.S (_ffi_call_win32): Add support for
- fastcall/thiscall calling-convention calls.
- * testsuite/libffi.call/fastthis1_win32.c: New test.
- * testsuite/libffi.call/fastthis2_win32.c: New test.
- * testsuite/libffi.call/fastthis3_win32.c: New test.
- * testsuite/libffi.call/strlen2_win32.c: New test.
- * testsuite/libffi.call/many2_win32.c: New test.
- * testsuite/libffi.call/struct1_win32.c: New test.
- * testsuite/libffi.call/struct2_win32.c: New test.
-
-2012-01-23 Andreas Schwab <schwab@linux-m68k.org>
-
- * src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
- mc68000. Test for __HAVE_68881__ in addition to __MC68881__.
-
-2012-01-19 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/48496
- * src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
-
-2012-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (i?86-*-*): Set TARGET to X86_64.
- * configure: Regenerate.
-
-2011-12-07 Andrew Pinski <apinski@cavium.com>
-
- PR libffi/50051
- * src/mips/n32.S: Add ".set mips4".
-
-2011-11-21 Andreas Tobler <andreast@fgznet.ch>
-
- * configure: Regenerate.
-
-2011-11-10 Richard Henderson <rth@redhat.com>
-
- * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
- * configure, aclocal.m4: Rebuild.
-
-2011-09-04 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/49594
- * src/powerpc/darwin_closure.S (stubs): Make the stub binding
- helper reference track the architecture pointer size.
-
-2011-08-25 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
- instructions.
- * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
-
-2011-07-11 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46660
- * testsuite/libffi.call/cls_double_va.c: xfail dg-output on
- mips-sgi-irix6*.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
- PRId8 instead of %hhu, %hhd.
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
- PRIu8): Define.
- [__sgi__] (PRId8, PRIu8): Define.
-
-2011-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
- Define.
- Use them to handle ELF vs. ECOFF differences.
- [__osf__] (_GLOBAL__F_ffi_call_osf): Define.
-
-2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * README: Mention Interix.
-
-2011-02-09 Jonathan Callen <abcd@gentoo.org>
-
- * configure.ac: Add Interix to win32/cygwin/mingw case.
- * configure: Ditto.
- * src/closures.c: Treat Interix like Cygwin, instead of as a
- generic win32.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * testsuite/libffi.call/err_bad_typedef.c: Remove xfail.
- * testsuite/libffi.call/err_bad_abi.c: Remove xfail.
- * src/x86/ffi64.c (UNLIKELY, LIKELY): Define.
- (ffi_prep_closure_loc): Check for bad ABI.
- * src/prep_cif.c (UNLIKELY, LIKELY): Define.
- (initialize_aggregate): Check for bad types.
-
-2011-02-09 Landon Fuller <landonf@macports.org>
-
- * Makefile.am (EXTRA_DIST): Add build-ios.sh, src/arm/gentramp.sh,
- src/arm/trampoline.S.
- (nodist_libffi_la_SOURCES): Add src/arc/trampoline.S.
- * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Define.
- * src/arm/ffi.c (ffi_trampoline_table)
- (ffi_closure_trampoline_table_page, ffi_trampoline_table_entry)
- (FFI_TRAMPOLINE_CODELOC_CONFIG, FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET)
- (FFI_TRAMPOLINE_COUNT, ffi_trampoline_lock, ffi_trampoline_tables)
- (ffi_trampoline_table_alloc, ffi_closure_alloc, ffi_closure_free):
- Define for FFI_EXEC_TRAMPOLINE_TABLE case (iOS).
- (ffi_prep_closure_loc): Handl FFI_EXEC_TRAMPOLINE_TABLE case
- separately.
- * src/arm/sysv.S: Handle Apple iOS host.
- * src/closures.c: Handle FFI_EXEC_TRAMPOLINE_TABLE case.
- * build-ios.sh: New file.
- * fficonfig.h.in, configure, Makefile.in: Rebuilt.
- * README: Mention ARM iOS.
-
-2011-02-08 Oren Held <orenhe@il.ibm.com>
-
- * src/dlmalloc.c (_STRUCT_MALLINFO): Define in order to avoid
- redefinition of mallinfo on HP-UX.
-
-2011-02-08 Ginn Chen <ginn.chen@oracle.com>
-
- * src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
- aggregate return ABI. Flush cache.
- (ffi_prep_closure_loc): Flush cache.
-
-2011-02-11 Anthony Green <green@moxielogic.com>
-
- From Tom Honermann <tom.honermann@oracle.com>:
- * src/powerpc/aix.S (ffi_call_AIX): Support for xlc toolchain on
- AIX. Declare .ffi_prep_args. Insert nops after branch
- instructions so that the AIX linker can insert TOC reload
- instructions.
- * src/powerpc/aix_closure.S: Declare .ffi_closure_helper_DARWIN.
-
-2011-02-08 Ed <ed@kdtc.net>
-
- * src/powerpc/asm.h: Fix grammar nit in comment.
-
-2011-02-08 Uli Link <ul.mcamafia@linkitup.de>
-
- * include/ffi.h.in (FFI_64_BIT_MAX): Define and use.
-
-2011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46661
- * testsuite/libffi.call/cls_pointer.c (main): Cast void * to
- uintptr_t first.
- * testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
-
-2011-02-08 Rafael Avila de Espindola <respindola@mozilla.com>
-
- * configure.ac: Fix x86 test for pc related relocs.
- * configure: Rebuilt.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
- Handle case when CPU variant does not have long double support.
- * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
- and cores with soft floating point.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * configure.ac: Add mips*-*-rtems* support.
- * configure: Regenerate.
- * src/mips/ffitarget.h: Ensure needed constants are available
- for targets which do not have sgidefs.h.
-
-2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR target/40125
- * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
- * configure: Regenerate.
-
-2010-12-18 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/29152
- PR libffi/42378
- * src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
- (FFI_TRAMPOLINE_SIZE): Update for Darwin64.
- * src/powerpc/darwin.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
- backslashes.
- (libffi_cv_as_string_pseudo_op): Likewise.
- * configure: Regenerate.
-
-2010-12-03 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
- (ffi_closure_VFP): Same.
- (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
- directive.
-
-2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
- (PRIuPTR): Define.
-
-2010-11-29 Richard Henderson <rth@redhat.com>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
- (.eh_frame): Use FDE_ENCODING.
- (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
-
-2010-11-22 Jacek Caban <jacek@codeweavers.com>
-
- * configure.ac: Check for symbol underscores on mingw-w64.
- * configure: Rebuilt.
- * src/x86/win64.S: Correctly access extern symbols in respect to
- underscores.
-
-2010-11-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp: Rename ...
- * testsuite/lib/libffi.exp: ... to this.
- * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
- * libffi/testsuite/libffi.special/special.exp: Likewise.
-
-2010-10-28 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
- code, new parameter, and return value. Update comments.
- (ffi_prep_cif_machdep): Add case for VFP struct return values. Add
- call to layout_vfp_args().
- (ffi_call_SYSV): Update declaration.
- (ffi_call_VFP): New declaration.
- (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
- when ABI is FFI_VFP.
- (ffi_closure_VFP): New declaration.
- (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
- ffi_prep_incoming_args_SYSV().
- (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
- case handling.
- (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
- construction under VFP hard-float.
- (rec_vfp_type_p): New function.
- (vfp_type_p): Same.
- (place_vfp_arg): Same.
- (layout_vfp_args): Same.
- * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
- based on __ARM_PCS_VFP.
- (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
- fields.
- (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
- (FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
- * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
- direct call. Move function pointer load upwards.
- (ffi_call_VFP): New function.
- (ffi_closure_VFP): Same.
-
- * testsuite/lib/libffi-dg.exp (check-flags): New function.
- (dg-skip-if): New function.
- * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
- and compiler options include -mfloat-abi=hard.
- * testsuite/libffi.call/cls_longdouble_va.c: Same.
-
-2010-10-01 Jakub Jelinek <jakub@redhat.com>
-
- PR libffi/45677
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
- a multiple of 8.
- * testsuite/libffi.call/many2.c: New test.
-
-2010-08-20 Mark Wielaard <mjw@redhat.com>
-
- * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
- returns NULL.
-
-2010-08-09 Andreas Tobler <andreast@fgznet.ch>
-
- * configure.ac: Add target powerpc64-*-freebsd*.
- * configure: Regenerate.
- * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
- -mlong-double-128 only to linux targets.
- * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
- * testsuite/libffi.call/cls_longdouble.c: Likewise.
- * testsuite/libffi.call/huge_struct.c: Likewise.
-
-2010-08-05 Dan Witte <dwitte@mozilla.com>
-
- * Makefile.am: Pass FFI_DEBUG define to msvcc.sh for linking to the
- debug CRT when --enable-debug is given.
- * configure.ac: Define it.
- * msvcc.sh: Translate -g and -DFFI_DEBUG appropriately.
-
-2010-08-04 Dan Witte <dwitte@mozilla.com>
-
- * src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64
- platforms.
- * src/x86/ffi.c: Remove redundant ifdef checks.
- * src/prep_cif.c: Push stack space computation into src/x86/ffi.c
- for X86_ANY so return value space doesn't get added twice.
-
-2010-08-03 Neil Rashbrooke <neil@parkwaycc.co.uk>
-
- * msvcc.sh: Don't pass -safeseh to ml64 because behavior is buggy.
-
-2010-07-22 Dan Witte <dwitte@mozilla.com>
-
- * src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
- * src/prep_cif.c: Fix ABI assertion.
- * src/cris/ffi.c: Ditto.
-
-2010-07-10 Evan Phoenix <evan@fallingsnow.net>
-
- * src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
-
-2010-07-07 Dan Horák <dan@danny.cz>
-
- * include/ffi.h.in: Protect #define with #ifndef.
- * src/powerpc/ffitarget.h: Ditto.
- * src/s390/ffitarget.h: Ditto.
- * src/sparc/ffitarget.h: Ditto.
-
-2010-07-07 Neil Roberts <neil@linux.intel.com>
-
- * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
- 16-bytes.
-
-2010-07-02 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
- * Makefile.in: Regenerated.
-
-2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
- output, too.
- (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
- (libffi_cv_as_string_pseudo_op): Check for .string.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
-
-2010-05-11 Dan Witte <dwitte@mozilla.com>
-
- * doc/libffi.tex: Document previous change.
-
-2010-05-11 Makoto Kato <m_kato@ga2.so-net.ne.jp>
-
- * src/x86/ffi.c (ffi_call): Don't copy structs passed by value.
-
-2010-05-05 Michael Kohler <michaelkohler@live.com>
-
- * src/dlmalloc.c (dlfree): Fix spelling.
- * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
- * configure.ac: Ditto.
- * configure: Rebuilt.
-
-2010-04-13 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Build with -W3 instead of -Wall.
- * src/powerpc/ffi_darwin.c: Remove build warnings.
- * src/x86/ffi.c: Ditto.
- * src/x86/ffitarget.h: Ditto.
-
-2010-04-12 Dan Witte <dwitte@mozilla.com>
- Walter Meinl <wuno@lsvw.de>
-
- * configure.ac: Add OS/2 support.
- * configure: Rebuilt.
- * src/closures.c: Ditto.
- * src/dlmalloc.c: Ditto.
- * src/x86/win32.S: Ditto.
-
-2010-04-07 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
-
-2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2010-03-30 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Disable build warnings.
- * README (tested): Clarify windows build procedure.
-
-2010-03-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * libffi/src/x86/unix64.S (.eh_frame)
- [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
-
-2010-03-14 Matthias Klose <doko@ubuntu.com>
-
- * src/x86/ffi64.c: Fix typo in comment.
- * src/x86/ffi.c: Use /* ... */ comment style.
-
-2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/libffi.texi (The Closure API): Fix typo.
- * doc/libffi.info: Remove.
-
-2010-02-15 Matthias Klose <doko@ubuntu.com>
-
- * src/arm/sysv.S (__ARM_ARCH__): Define for processor
- __ARM_ARCH_7EM__.
-
-2010-01-15 Anthony Green <green@redhat.com>
-
- * README: Add notes on building with Microsoft Visual C++.
-
-2010-01-15 Daniel Witte <dwitte@mozilla.com>
-
- * msvcc.sh: New file.
-
- * src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
- * src/x86/ffi.c: Tweak function declaration and remove excess
- parens.
- * include/ffi.h.in: Add __declspec(align(8)) to typedef struct
- ffi_closure.
-
- * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
- function ffi_call_win32 on X86_WIN32.
- * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
- (ffi_call_STDCALL): Remove.
-
- * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
- to ffi_prep_cif_machdep for x86.
- * src/x86/ffi.c (ffi_prep_cif_machdep): To here.
-
-2010-01-15 Oliver Kiddle <okiddle@yahoo.co.uk>
-
- * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
- Sun Studio compiler compatibility.
-
-2010-01-12 Conrad Irwin <conrad.irwin@gmail.com>
-
- * doc/libffi.texi: Add closure example.
-
-2010-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40701
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
- PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
- * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
- alpha*-dec-osf*.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/return_ll1.c: Likewise.
- * testsuite/libffi.call/stret_medium2.c: Likewise.
- * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
- MAP_FAILED to char *.
-
-2010-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
-
-2009-12-31 Anthony Green <green@redhat.com>
-
- * README: Update for libffi 3.0.9.
-
-2009-12-27 Matthias Klose <doko@ubuntu.com>
-
- * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
- appropriate.
- * configure: Rebuilt.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
- avr32*-*-*.
- * testsuite/libffi.call/cls_double_va.c: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
- and inttypes.h.
- * testsuite/libffi.special/unwindtest.cc: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-openbsd*.
- * configure: Rebuilt.
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
- openbsd programs with -lpthread.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
- mips*-*-* and arm*-*-*.
- * testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c,
- testsuite/libffi.call/stret_medium2.c,
- testsuite/libffi.call/stret_medium.c,
- testsuite/libffi.call/stret_large.c,
- testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
-
-2009-12-31 Kay Tietz <ktietz70@googlemail.com>
-
- * testsuite/libffi.call/ffitest.h,
- testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
- definitions.
-
-2009-12-31 Carlo Bramini <carlo.bramix@libero.it>
-
- * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
- * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
-
-2009-12-31 Anthony Green <green@redhat.com>
- Blake Chaffin.
-
- * testsuite/libffi.call/huge_struct.c: New test case from Blake
- Chaffin @ Apple.
-
-2009-12-28 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
- local variables.
- (aix_adjust_aggregate_sizes): New function.
- (ffi_prep_cif_machdep): Call it.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
- * configure: Regenerate.
- * fficonfig.h.in: Likewise.
- * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
- Solaris/x86.
-
-2009-12-26 Andreas Schwab <schwab@linux-m68k.org>
-
- * 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.
-
-2009-12-25 Matthias Klose <doko@ubuntu.com>
-
- * man/ffi_call.3: Fix #include in examples.
- * doc/libffi.texi: Add dircategory.
-
-2009-12-25 Frank Everdij <f.p.x.everdij@tudelft.nl>
-
- * include/ffi.h.in: Placed '__GNUC__' ifdef around
- '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
- IRIX MIPSPro c99.
- * include/ffi_common.h: Added '__sgi' define to non
- '__attribute__((__mode__()))' integer typedefs.
- * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
- ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
- (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
- FFI_LONGDOUBLE support and alignment(N32 only).
- * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
- fixed non '__attribute__((__mode__()))' integer typedefs.
- * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
- since they are Linux/GNU Assembler specific.
-
-2009-12-25 Bradley Smith <brad@brad-smith.co.uk>
-
- * configure.ac, Makefile.am, src/avr32/ffi.c,
- src/avr32/ffitarget.h,
- src/avr32/sysv.S: Add AVR32 port.
- * configure, Makefile.in: Rebuilt.
-
-2009-12-21 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
- * configure: Regenerate.
-
-2009-12-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
- type on HP-UX.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
- double' arguments.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40700
- * src/closures.c [X86_64 && __sun__ && __svr4__]
- (FFI_MMAP_EXEC_WRIT): Define.
-
-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.
-
-2009-12-07 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
- typo.
-
-2009-12-05 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
- code.
- * src/powerpc/aix_closure.S: Same.
-
-2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
- linux64_closure.S.
-
-2009-12-04 Uros Bizjak <ubizjak@gmail.com>
-
- 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.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
- pfr for long double split between fpr13 and stack.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
- fparg_count twice for long double.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- PR libffi/42243
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03 Uros Bizjak <ubizjak@gmail.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
- Remove xfails for x86 linux targets.
-
-2009-12-02 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
- case.
-
-2009-12-01 David Edelsohn <edelsohn@gnu.org>
-
- * 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.
-
-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.
-
-2009-11-02 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/41908
- * testsuite/libffi.call/testclosure.c: New test.
-
-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.
-
-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.
-
-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.
-
-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.
-
-2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.am (install-html, install-pdf): Remove.
- * Makefile.in: Regenerate.
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24 Dave Korn <dave.korn.cygwin@gmail.com>
-
- 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.
-
-2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
-
- 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.
-
-2009-07-01 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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 "".)
-
-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.
-
-2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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.
-
-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.
-
-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.
-
-2009-06-16 Andrew Haley <aph@redhat.com>
-
- * configure.ac (TARGETDIR): Add missing blank lines.
- * configure: Regenerate.
-
-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.
-
-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.
-
-2009-06-12 Andrew Haley <aph@redhat.com>
-
- * Makefile.am: Remove info_TEXINFOS.
-
-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-11 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * 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.
-
-2009-06-09 Andrew Haley <aph@redhat.com>
-
- * src/x86/freebsd.S: Add missing file.
-
-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).
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * README: Import from libffi 3.0.8.
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Add xfails.
- * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
- * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
- * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
- * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
- * testsuite/libffi.call/stret_medium.c: Likewise.
- * testsuite/libffi.call/stret_large2.c: Likewise.
- * testsuite/libffi.call/stret_large.c: Likewise.
-
-2008-12-26 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_align_longdouble.c,
- testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
- failures on x86_64 cygwin/mingw.
-
-2008-12-22 Timothy Wall <twall@users.sf.net>
-
- * 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_loc_fn0.c,
- testsuite/libffi.call/closure_stdcall.c,
- testsuite/libffi.call/cls_align_pointer.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
- pointer to integer (intptr_t).
- * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_dbls_struct.c,
- testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c,
- testsuite/libffi.call/err_bad_abi.c: Clean up failures from
- compiler warnings.
-
-2008-03-04 Anthony Green <green@redhat.com>
- Blake Chaffin
- hos@tamanegi.org
-
- * testsuite/libffi.call/cls_align_longdouble_split2.c
- testsuite/libffi.call/cls_align_longdouble_split.c
- testsuite/libffi.call/cls_dbls_struct.c
- testsuite/libffi.call/cls_double_va.c
- testsuite/libffi.call/cls_longdouble.c
- testsuite/libffi.call/cls_longdouble_va.c
- testsuite/libffi.call/cls_pointer.c
- testsuite/libffi.call/cls_pointer_stack.c
- testsuite/libffi.call/err_bad_abi.c
- testsuite/libffi.call/err_bad_typedef.c
- testsuite/libffi.call/stret_large2.c
- testsuite/libffi.call/stret_large.c
- testsuite/libffi.call/stret_medium2.c
- testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
- libffi.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
- stdcall changes.
-
-2008-02-26 Anthony Green <green@redhat.com>
- Thomas Heller <theller@ctypes.org>
-
- * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
- comment.
-
-2008-02-03 Timothy Wall <twall@users.sf.net>
-
- * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
- offset based on code pointer, not data pointer.
-
-2008-01-31 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
- closures.
- * src/x86/ffitarget.h: Increase size of trampoline for stdcall
- closures.
- * src/x86/win32.S: Add assembly for stdcall closure.
- * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Change void (*)() to void (*)(void).
- * src/x86/ffi.c: Likewise.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ppc_closure.S: Insert licence header.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/m68k/sysv.S: Likewise.
-
- * src/sh64/ffi.c: Change void (*)() to void (*)(void).
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/m32r/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi64.c: Likewise.
- * src/alpha/ffi.c: Likewise.
- * src/alpha/osf.S: Likewise.
- * src/frv/ffi.c: Likewise.
- * src/s390/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/pa/hpux32.S: Likewise.
- * src/ia64/unix.S: Likewise.
- * src/ia64/ffi.c: Likewise.
- * src/sparc/ffi.c: Likewise.
- * src/mips/ffi.c: Likewise.
- * src/sh/ffi.c: Likewise.
-
-2008-02-15 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
- Define (conditionally), and use it to include cachectl.h.
- (ffi_prep_closure_loc): Fix cache flushing.
- * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- include/ffi.h.in,
- src/arm/ffitarget.h,
- src/arm/ffi.c,
- src/arm/sysv.S,
- src/powerpc/ffitarget.h,
- src/closures.c,
- src/sh64/ffitarget.h,
- src/sh64/ffi.c,
- src/sh64/sysv.S,
- src/types.c,
- src/x86/ffi64.c,
- src/x86/ffitarget.h,
- src/x86/win32.S,
- src/x86/darwin.S,
- src/x86/ffi.c,
- src/x86/sysv.S,
- src/x86/unix64.S,
- src/alpha/ffitarget.h,
- src/alpha/ffi.c,
- src/alpha/osf.S,
- src/m68k/ffitarget.h,
- src/frv/ffitarget.h,
- src/frv/ffi.c,
- src/s390/ffitarget.h,
- src/s390/sysv.S,
- src/cris/ffitarget.h,
- src/pa/linux.S,
- src/pa/ffitarget.h,
- src/pa/ffi.c,
- src/raw_api.c,
- src/ia64/ffitarget.h,
- src/ia64/unix.S,
- src/ia64/ffi.c,
- src/ia64/ia64_flags.h,
- src/java_raw_api.c,
- src/debug.c,
- src/sparc/v9.S,
- src/sparc/ffitarget.h,
- src/sparc/ffi.c,
- src/sparc/v8.S,
- src/mips/ffitarget.h,
- src/mips/n32.S,
- src/mips/o32.S,
- src/mips/ffi.c,
- src/prep_cif.c,
- src/sh/ffitarget.h,
- src/sh/ffi.c,
- src/sh/sysv.S: Update license text.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * src/x86/win32.S (_ffi_closure_STDCALL): New function.
- (.eh_frame): Add FDE for it.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * configure.ac: Also check if assembler supports pc-relative
- relocs on X86_WIN32 targets.
- * configure: Regenerate.
- * src/x86/win32.S (ffi_prep_args): Declare extern, not global.
- (_ffi_call_SYSV): Add missing function type symbol .def and
- add EH markup labels.
- (_ffi_call_STDCALL): Likewise.
- (_ffi_closure_SYSV): Likewise.
- (_ffi_closure_raw_SYSV): Likewise.
- (.eh_frame): Add hand-crafted EH data.
-
-2009-04-09 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
- version 3 of the GNU General Public License and to point readers
- at the COPYING3 file and the FSF's license web page.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-12-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libffi/26048
- * configure.ac (HAVE_AS_X86_PCREL): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
- RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
- RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
- * src/x86/unix64.S (.Lstore_table): Move to .text section.
- (.Lload_table): Likewise.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
- signed/unsigned int8/16 return values.
- * src/sparc/v8.S (ffi_call_v8): Likewise.
- (ffi_closure_v8): Likewise.
-
-2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
- Steve Ellcey <sje@cup.hp.com>
-
- * configure: Regenerate for new libtool.
- * Makefile.in: Ditto.
- * include/Makefile.in: Ditto.
- * aclocal.m4: Ditto.
-
-2008-08-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
- FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
- Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
- Adjust copyright notice.
- * src/powerpc/ffi.c: Add two new flags to indicate if we have one
- register or two register to use for FFI_SYSV structs.
- (ffi_prep_cif_machdep): Pass the right register flag introduced above.
- (ffi_closure_helper_SYSV): Fix the return type for
- FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
- Adjust copyright notice.
-
-2008-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
- int.
-
-2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2008-06-07 Joseph Myers <joseph@codesourcery.com>
-
- * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
- powerpc-*-beos*): Remove.
- * configure: Regenerate.
-
-2008-05-09 Julian Brown <julian@codesourcery.com>
-
- * Makefile.am (LTLDFLAGS): New.
- (libffi_la_LDFLAGS): Use above.
- * Makefile.in: Regenerate.
-
-2008-04-18 Paolo Bonzini <bonzini@gnu.org>
-
- PR bootstrap/35457
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2008-03-26 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add .note.GNU-stack on Linux.
- * src/sh64/sysv.S: Likewise.
-
-2008-03-26 Daniel Jacobowitz <dan@debian.org>
-
- * src/arm/sysv.S: Fix ARM comment marker.
-
-2008-03-26 Jakub Jelinek <jakub@redhat.com>
-
- * src/alpha/osf.S: Add .note.GNU-stack on Linux.
- * src/s390/sysv.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
- * src/x86/unix64.S: Likewise.
- * src/x86/sysv.S: Likewise.
- * src/sparc/v8.S: Likewise.
- * src/sparc/v9.S: Likewise.
- * src/m68k/sysv.S: Likewise.
- * src/arm/sysv.S: Likewise.
-
-2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * aclocal.m4: Regenerate.
- * configure: Likewise.
- * Makefile.in: Likewise.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2008-02-12 Bjoern Koenig <bkoenig@alpha-tierchen.de>
- Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-freebsd* target.
- * configure: Regenerate.
-
-2008-01-30 H.J. Lu <hongjiu.lu@intel.com>
-
- PR libffi/34612
- * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
- returning struct.
-
- * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
- tests.
-
-2008-01-24 David Edelsohn <edelsohn@gnu.org>
-
- * configure: Regenerate.
-
-2008-01-06 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
-
-2008-01-05 Andreas Tobler <a.tobler@schweiz.org>
-
- PR testsuite/32843
- * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
- signed/unsigned int8/16 for X86_DARWIN.
- Updated copyright info.
- Handle one and two byte structs with special cif->flags.
- * src/x86/ffitarget.h: Add special types for one and two byte structs.
- Updated copyright info.
- * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
- sysv.S
- Remove code to pop args from the stack after call.
- Special-case signed/unsigned for int8/16, one and two byte structs.
- (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
- FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
- FFI_TYPE_SINT32.
- Updated copyright info.
-
-2007-12-08 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_call_N32): Replace dadd with ADDU, dsub with
- SUBU, add with ADDU and use smaller code sequences.
-
-2007-12-07 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
- type.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
- defined.
- (ffi_java_raw): New typedef.
- (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
- ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
- ffi_java_raw.
- (ffi_java_raw_closure) : Same.
- (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
- parameter types.
- * src/java_raw_api.c (ffi_java_raw_size): Replace FFI_SIZEOF_ARG with
- FFI_SIZEOF_JAVA_RAW.
- (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
- Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
- sizeof(ffi_java_raw) for alignment calculations.
- (ffi_java_ptrarray_to_raw): Same.
- (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
- if FFI_SIZEOF_JAVA_RAW == 4.
- (ffi_java_raw_to_rvalue): Same.
- (ffi_java_raw_call): Change type of raw to ffi_java_raw.
- (ffi_java_translate_args): Same.
- (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
- parameter types.
- * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
- pointer values.
-
-2007-12-01 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/31937
- * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
- Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
- * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
- set the NUM_FPR_ARG_REGISTERS according to.
- Add support for potential soft-float support under hard-float
- architecture.
- (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
- FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
- to the FFI_LINUX_SOFT_FLOAT ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Make sure not to store float/double
- on archs where __NO_FPRS__ is true.
- Add FFI_TYPE_UINT128 support.
- * src/powerpc/sysv.S: Add support for soft-float long-double-128.
- Adjust copyright notice.
-
-2007-11-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
- * include/ffi_common.h: ... here.
- Update copyright.
-
-2007-11-17 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
- * testsuite/libffi.call/return_ldl.c: New test.
-
-2007-09-04 <aph@redhat.com>
-
- * src/arm/sysv.S (UNWIND): New.
- (Whole file): Conditionally compile unwinder directives.
- * src/arm/sysv.S: Add unwinder directives.
-
- * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
- Only treat r0 as a struct address if we're actually returning a
- struct by address.
- Only copy the bytes that are actually within a struct.
- (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
- is returned in r0, not passed by address.
- (ffi_call): Allocate a word-sized temporary for the case where
- a composite is returned in r0.
- (ffi_prep_incoming_args_SYSV): Align as necessary.
-
-2007-08-05 Steven Newbury <s_j_newbury@yahoo.co.uk>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
- directly using the sys_cacheflush syscall.
-
-2007-07-27 Andrew Haley <aph@redhat.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
-
-2007-09-03 Maciej W. Rozycki <macro@linux-mips.org>
-
- * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure: Likewise.
-
-2007-08-24 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/return_sl.c: New test.
-
-2007-08-10 David Daney <ddaney@avtrex.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/nested_struct5.c,
- testsuite/libffi.call/cls_double.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/nested_struct.c,
- testsuite/libffi.call/cls_2byte.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_sint16.c,
- testsuite/libffi.call/cls_align_uint32.c,
- testsuite/libffi.call/cls_20byte.c,
- testsuite/libffi.call/cls_float.c,
- testsuite/libffi.call/nested_struct2.c,
- testsuite/libffi.call/cls_5_1_byte.c,
- testsuite/libffi.call/nested_struct4.c,
- testsuite/libffi.call/cls_24byte.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: Remove xfail for mips64*-*-*.
-
-2007-08-10 David Daney <ddaney@avtrex.com>
-
- 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.
-
-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*.
- * 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.
-
-2006-12-13 Andreas Tobler <a.tobler@schweiz.org>
-
- * aclocal.m4: Regenerate with aclocal -I .. as written in the
- Makefile.am.
-
-2006-10-31 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
- (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
- Darwin.
- * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
- * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10 Paolo Bonzini <bonzini@gnu.org>
- Sandro Tolaini <tolaini@libero.it>
-
- * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
- conditional.
- * configure: Regenerated.
- * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
- (EXTRA_DIST): Add src/x86/darwin.S.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
- X86_WIN32, and additionally align stack to 16 bytes.
- * src/x86/darwin.S: New, based on sysv.S.
- * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12 David Daney <ddaney@avtrex.com>
-
- PR libffi/23935
- * include/Makefile.am: Install both ffi.h and ffitarget.h in
- $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
- * aclocal.m4: Regenerated for automake 1.9.6.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
-2006-08-17 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h: Remove lint directives.
- * include/ffi.h.in: Likewise.
-
-2006-07-25 Torsten Schoenfeld <kaffeetisch@gmx.de>
-
- * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
- for 32-bit architectures.
- * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
- xfail remains for mips64.
-
-2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
-
- * Makefile.am: Add install-html target. Add install-html to .PHONY
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
- stack slot.
-
-2006-04-22 Andreas Tobler <a.tobler@schweiz.ch>
-
- * README: Remove notice about 'Crazy Comments'.
- * src/debug.c: Remove lint directives. Cleanup white spaces.
- * src/java_raw_api.c: Likewise.
- * src/prep_cif.c: Likewise.
- * src/raw_api.c: Likewise.
- * src/ffitest.c: Delete. No longer needed, all test cases migrated
- to the testsuite.
- * src/arm/ffi.c: Remove lint directives.
- * src/m32r/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/sh/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/pa/hpux32.S: Correct unwind offset calculation for
- ffi_closure_pa32.
- * src/pa/linux.S: Likewise.
-
-2006-04-12 James E Wilson <wilson@specifix.com>
-
- PR libgcj/26483
- * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
- (hfa_type_load): Call stf_spill.
- (hfa_type_store): Call ldf_fill.
- (ffi_call): Adjust calls to above routines. Add local temps for
- macro result.
-
-2006-04-10 Matthias Klose <doko@debian.org>
-
- * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
- directory names containing underscores.
-
-2006-04-07 James E Wilson <wilson@specifix.com>
-
- * testsuite/libffi.call/float4.c: New testcase.
-
-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.
-
-2006-03-24 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Default
- for 32-bit using IBM extended double format. Fix FFI_LAST_ABI.
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
- FFI_TYPE_LONGDOUBLE.
- (ffi_prep_args64): Assert using IBM extended double.
- (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
- Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
- (ffi_call): Handle FFI_LINUX.
- (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
- gpr3 return pointer as for struct return. Handle FFI_LINUX
- FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf"
- unnecessarily.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
- for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table.
- Don't use r6 as pointer to results, instead use sp offset. Don't
- make a special call to load lr with case table address, instead
- use offset from previous call.
- * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
- return.
-
-2006-03-15 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
- passed with FP registers correctly.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S: Likewise.
-
-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.
-
-2006-02-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
- -O2, -O3, -Os and the warning flags -W -Wall.
- * testsuite/libffi.special/special.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
- unused parameter unused for gcc or else do nothing.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
- * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
- * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
- * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
- * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
- * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
- * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
- * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
- * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
- void* to avoid compiler warning.
- (main): Likewise.
- (cls_struct_align_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
- * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
- * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
- userdata unused.
- (cls_ret_schar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
- userdata unused.
- (cls_ret_sint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
- userdata unused.
- (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn): Mark cif and
- userdata unused.
- (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
- userdata unused.
- (cls_ret_uint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
- userdata unused.
- (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
- * testsuite/libffi.call/float1.c (main): Remove unused variable i.
- Cleanup white spaces.
- * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
- * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
- cif and userdata unused.
- * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
- Likewise.
- * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
- formatters to silence gcc.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct4.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct6.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
- * testsuite/libffi.call/problem1.c (stub): Likewise.
- * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
- gcc.
- * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
- in the last commit for this test case in the test case itself.
- * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
- unused.
- * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
- * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
- * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
- * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
- * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
- * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Fix register numbers in the FDE for
- ffi_closure_SYSV.
-
-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.
-
-2006-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
- and cast integer to void * if needed. Update the pointer to
- the FP register saved area correctly.
-
-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.
-
-2006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/return_dbl.c: New test case.
- * testsuite/libffi.call/return_dbl1.c: Likewise.
- * testsuite/libffi.call/return_dbl2.c: Likewise.
- * testsuite/libffi.call/return_fl.c: Likewise.
- * testsuite/libffi.call/return_fl1.c: Likewise.
- * testsuite/libffi.call/return_fl2.c: Likewise.
- * testsuite/libffi.call/return_fl3.c: Likewise.
- * testsuite/libffi.call/closure_fn6.c: Likewise.
-
- * 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.
-
-2006-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.ac: Enable libffi for sparc64-*-freebsd*.
- * configure: Rebuilt.
-
-2006-01-18 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
- instead do the shifting inline.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
- shift count unconditionally. Simplify load sequences for 1, 2, 3, 4
- and 8 byte structs, for the remaining struct sizes don't call
- __lshrdi3, instead do the shifting inline.
-
-2005-12-07 Thiemo Seufer <ths@networkno.de>
-
- * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
- missing parentheses.
- * src/mips/o32.S (ffi_call_O32): Code formatting. Define
- and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
- (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
- A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
- V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
- FA_0_0_OFF2.
- * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
- endianness bugs.
- (ffi_prep_closure): Improve trampoline instruction scheduling.
- (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c: Formatting.
- (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
- (ffi_prep_args64): Likewise.
-
-2005-09-30 Geoffrey Keating <geoffk@apple.com>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
- darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26 Tom Tromey <tromey@redhat.com>
-
- * 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.
-
-2005-08-25 Alan Modra <amodra@bigpond.net.au>
-
- PR target/23404
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
- homed fp args.
- (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11 Jakub Jelinek <jakub@redhat.com>
-
- * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
- (AH_BOTTOM): Add FFI_HIDDEN definition.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * src/powerpc/ffi.c (hidden): Remove.
- (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
- ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
- .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
- * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
- add FFI_HIDDEN to its prototype.
- (ffi_closure_SYSV_inner): New.
- * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
- * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10 Alfred M. Szmidt <ams@gnu.org>
-
- PR libffi/21819:
- * configure: Rebuilt.
- * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
- DW_CFA_offset_extended_sf rather than
- DW_CFA_GNU_negative_offset_extended.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
-
- * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
- on sh3.
- (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
- * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
- partially on register.
- (ffi_closure_helper_SYSV): Likewise.
- (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_call): Handle small structures correctly.
- Remove empty line.
- * src/sh64/ffi.c (simple_type): Remove.
- (return_type): Handle small structures correctly.
- (ffi_prep_args): Likewise.
- (ffi_call): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
- Emit position independent code if PIC and remove wrong datalabel
- prefixes from EH data.
-
-2005-07-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure.ac: Add POWERPC_FREEBSD rules.
- * configure: Regenerate.
- * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
- (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
- * src/powerpc/ffi.c: Add flags to handle small structure returns
- in ffi_call_SYSV.
- (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
- Aka FFI_SYSV.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Add return types for small structures.
- * src/powerpc/sysv.S: Add bits to handle small structures for
- final SYSV 4 ABI.
-
-2005-07-10 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_5_1_byte.c: New test file.
- * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05 Randolph Chung <tausq@debian.org>
-
- * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
- as FFI_TYPE_SMALL_STRUCT3. Break out handling for 5-7 byte
- structures. Kill compilation warnings.
- (ffi_closure_inner_LINUX): Print return values as hex in debug
- message. Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
- Properly handle 5-7 byte structure returns.
- * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
- (FFI_TYPE_SMALL_STRUCT2): Remove.
- (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
- (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
- * src/pa/linux.S: Mark source file as using PA1.1 assembly.
- (checksmst1, checksmst2): Remove.
- (checksmst3): Optimize handling of 3-byte struct returns.
- (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libgcj/21943
- * src/mips/n32.S: Enforce PIC code.
- * src/mips/o32.S: Likewise.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
- * configure: Regenerate.
-
-2005-06-01 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
- to call ffi_closure_helper_SYSV. Append @local instead.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
- Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
- * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
- * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
- include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-05-08 Richard Henderson <rth@redhat.com>
-
- PR libffi/21285
- * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04 Andreas Degert <ad@papyrus-gmbh.de>
- Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
- bit 11 of flags.
- (ffi_call): Mask return type field. Pass ssecount to ffi_call_unix64.
- (ffi_prep_closure): Set carry bit if sse-used flag set.
- * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
- Only load sse registers if ssecount non-zero.
- (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
- powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
- * configure: Regenerate.
-
-2005-04-20 Hans-Peter Nilsson <hp@axis.com>
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
- have Tcl8.3-compatible intermediate variable.
-
-2005-04-18 Simon Posnjak <simon.posnjak@siol.net>
- Hans-Peter Nilsson <hp@axis.com>
-
- * Makefile.am: Add CRIS support.
- * configure.ac: Likewise.
- * Makefile.in, configure, testsuite/Makefile.in,
- include/Makefile.in: Regenerate.
- * src/cris: New directory.
- * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
- * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
- \r?\n in output tests.
-
-2005-04-12 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-03-30 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30 Steve Ellcey <sje@cup.hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
- (ffi_sarg) Ditto.
- * src/ia64/unix.S (ffi_closure_unix): Extend gp
- to 64 bits in ILP32 mode.
- Load 64 bits even for short data.
-
-2005-03-23 Mike Stump <mrs@apple.com>
-
- * src/powerpc/darwin.S: Update for -m64 multilib.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21 Zack Weinberg <zack@codesourcery.com>
-
- * 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.
-
-2005-02-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
- odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR libffi/20104
- * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11 Janis Johnson <janis187@us.ibm.com>
-
- * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
- * testsuite/libffi.call/float.c: Ditto.
- * testsuite/libffi.call/float2.c: Ditto.
- * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * testsuite/libffi.special/special.exp (cxx_options): Add
- -shared-libgcc.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
- (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
- offset parameters with a type parameter; deduce size and structure
- alignment. Update all users.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
- (FFI_TYPE_LONGDOUBLE): Fix for ia64.
- * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
- into ffi_prep_closure.
- * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
- from scratch.
-
-2004-12-27 Richard Henderson <rth@redhat.com>
-
- * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25 Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
- (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
- (merge_classes): Check for it.
- (SSE_CLASS_P): New.
- (classify_argument): Pass byte_offset by value; perform all updates
- inside struct case.
- (examine_argument): Add classes argument; handle
- X86_64_COMPLEX_X87_CLASS.
- (ffi_prep_args): Merge into ...
- (ffi_call): ... here. Share stack frame with ffi_call_unix64.
- (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
- (ffi_fill_return_value): Remove.
- (ffi_prep_closure): Remove dead assert.
- (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
- Rewrite to use struct register_args instead of va_list. Create
- flags for handling structure returns.
- * src/x86/unix64.S: Remove dead strings.
- (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share
- stack frame with ffi_call. Handle structure returns properly.
- (float2sse, floatfloat2sse, double2sse): Remove.
- (sse2float, sse2double, sse2floatfloat): Remove.
- (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite
- to handle structure returns properly.
-
-2004-12-08 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
- PICFLAG.
- * Makefile.in: Regenerated.
-
-2004-12-02 Richard Sandiford <rsandifo@redhat.com>
-
- * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
- * configure, aclocal.m4, Makefile.in: Regenerate.
- * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-25 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool reversion.
-
-2004-11-24 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23 Richard Sandiford <rsandifo@redhat.com>
-
- * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
- of jal. Use an absolute encoding for the frame information.
-
-2004-11-23 Kelley Cook <kcook@gcc.gnu.org>
-
- * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS.
- * acinclude.m4: Delete logic for sincludes.
- * aclocal.m4, Makefile.in, configure: Regenerate.
- * include/Makefile: Likewise.
- * testsuite/Makefile: Likewise.
-
-2004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
- on a 8-byte boundary.
- * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
- long long values. Round stack allocation to a multiple of 8 bytes
- for ATPCS compatibility.
- * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
- names. Handle returning long long types. Add Thumb and interworking
- support. Improve soft-float code.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
- (libffi_exit): New function.
- (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR other/18138
- * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
- * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
- the function returning a structure pointed with R2.
- * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
- the structure return value if T bit set. Emit position
- independent code and EH data if PIC.
-
-2004-10-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * Makefile.am: Add m32r support.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * confiugre: Regenerate.
- * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
- (uint64, sint64, double, longdouble)
- * src/m32r: New directory.
- * src/m32r/ffi.c: New file.
- * src/m32r/sysv.S: Likewise.
- * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * testsuite/libffi.call/negint.c: New test case.
-
-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.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/many_win32.c: Remove whitespaces.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
- whitespaces.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Fix comments and identation.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
- (ffi_prep_args): Handle longdouble arguments.
- (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
- longdouble.
- (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
- * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
- values.
- * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
- * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/aix.S: Remove whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
- * src/powerpc/asm.h: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffitarget.h: Likewise.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
-
-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.in: Read configure.host.
- * 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 shouldn't 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.
-
-2004-08-24 David Daney <daney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
- to zero.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23 David Daney <daney@avtrex.com>
-
- PR libgcj/13141
- * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
- * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
- (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
- parameters and return types.
- (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
- (ffi_prep_closure): Ditto.
- (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
- alignment calculations.
- * src/mips/o32.S (ffi_closure_O32): Don't use floating point
- instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14 Casey Marshall <csm@gnu.org>
-
- * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
- contain `FFI_TYPE_UINT64' as return type for any 64-bit
- integer (O32 ABI only).
- (ffi_prep_closure): new function.
- (ffi_closure_mips_inner_O32): new function.
- * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
- `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
- * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
- 64 bit integers correctly.
- (ffi_closure_O32): new function.
- Added DWARF-2 unwind info for both functions.
-
-2004-08-10 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01 Robert Millan <robertmh@gnu.org>
-
- * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
- * configure: Regenerate.
-
-2004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
-
- * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
- and mmap() explicitly instead of relying on preset autoconf cache
- variables.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
- (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
- character on Darwin, use '\n\t' instead.
-
-2004-06-26 Matthias Klose <doko@debian.org>
-
- * libtool-version: Fix typo in revision/age.
-
-2004-06-17 Matthias Klose <doko@debian.org>
-
- * libtool-version: New.
- * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
- * Makefile.in: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * Makefile.am: Remove useless multilib rules.
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate with automake 1.8.5.
- * configure.ac: Remove useless multilib configury.
- * configure: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * .cvsignore: New file.
-
-2004-06-10 Jakub Jelinek <jakub@redhat.com>
-
- * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
- fp_done.
- (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
- changed from 8.
-
-2004-06-06 Sean McNeil <sean@mcneil.com>
-
- * configure.ac: Add x86_64-*-freebsd* support.
- * configure: Regenerate.
-
-2004-04-26 Joe Buck <jbuck@welsh-buck.org>
-
- Bug 15093
- * configure.ac: Test for existence of mmap and sys/mman.h before
- checking blacklist. Fix suggested by Jim Wilson.
- * configure: Regenerate.
-
-2004-04-26 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
- FDE location.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
- error. Reported by Thomas Heller <theller@python.net>.
- * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20 Matthias Klose <doko@debian.org>
-
- * src/pa/linux.S: Fix typo.
-
-2004-03-19 Matthias Klose <doko@debian.org>
-
- * Makefile.am: Update.
- * Makefile.in: Regenerate.
- * src/pa/ffi.h.in: Remove.
- * src/pa/ffitarget.h: New file.
-
-2004-02-10 Randolph Chung <tausq@debian.org>
-
- * Makefile.am: Add PA support.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * configure.ac: Add PA target.
- * configure: Regenerate.
- * src/pa/ffi.c: New file.
- * src/pa/ffi.h.in: Add PA support.
- * src/pa/linux.S: New file.
- * prep_cif.c: Add PA support.
-
-2004-03-16 Hosaka Yuji <hos@tamanegi.org>
-
- * src/types.c: Fix alignment size of X86_WIN32 case int64 and
- double.
- * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
- with ecif->cif->flags.
- (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
- with cif->flags.
- (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
- (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
- * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
- sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.in: Rename file to ...
- * configure.ac: ... this.
- * fficonfig.h.in: Regenerate.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2004-03-12 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Fix EH information so it corresponds to
- changes in EH format resulting from addition of linkonce support.
- * src/powerpc/darwin_closure.S: Likewise.
-
-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.
-
-2004-03-11 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
- arguments from fp registers only for the first 8 parameter slots.
- Don't convert a float parameter when passed in memory.
-
-2004-03-09 Hans-Peter Nilsson <hp@axis.com>
-
- * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
-
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
- ecif->cif->bytes to bytes.
- (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
- * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
- (ffi_closure_helper_LINUX64): Fix typo.
- * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
- for powerpc64-*-*.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
- long double function return and long double arg handling.
- (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
- Use "end_pfr" instead of "nf". Correct long double handling.
- Localise "temp".
- * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
- return value.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
- space for long double return value. Adjust stack frame and offsets.
- Load f2 long double return.
-
-2004-02-07 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
- when the structure return address is passed in %o0.
- (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
- (ffi_v9_layout_struct): Align the field following a nested structure
- on a word boundary. Use memmove instead of memcpy.
- (ffi_call): Update call to ffi_V9_return_struct.
- (ffi_prep_closure): Define 'ctx' only for V8.
- (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
- and ffi_closure_sparc_inner_v9.
- (ffi_closure_sparc_inner_v8): Return long doubles by reference.
- Always skip the structure return address. For structures and long
- doubles, copy the argument directly.
- (ffi_closure_sparc_inner_v9): Skip the structure return address only
- if required. Shift the maximum floating-point slot accordingly. For
- big structures, copy the argument directly; otherwise, left-justify the
- argument and call ffi_v9_layout_struct to lay out the structure on
- the stack.
- * src/sparc/v8.S: Undef STACKFRAME before defining it.
- (ffi_closure_v8): Pass the structure return address. Update call to
- ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
- Skip the 'unimp' insn when returning long doubles and structures.
- * src/sparc/v9.S: Undef STACKFRAME before defining it.
- (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
- FFI_TYPE_INT handling. Load structures both in integers and
- floating-point registers on return.
- * README: Update status of the SPARC port.
-
-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.
-
-2004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
-
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
- value as of type ffi_arg, not unsigned int.
-
-2004-01-21 Michael Ritzert <ritzert@t-online.de>
-
- * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
- of the LHS.
-
-2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
- Solaris.
-
-2004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
- to void *.
-
-2003-12-10 Richard Henderson <rth@redhat.com>
-
- * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
- size_t instead of int.
-
-2003-12-04 Hosaka Yuji <hos@tamanegi.org>
-
- * testsuite/libffi.call/many_win32.c: Include <float.h>.
- * testsuite/libffi.call/many_win32.c (main): Replace variable
- int i with unsigned long ul.
-
- * testsuite/libffi.call/cls_align_uint64.c: New test case.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02 Hosaka Yuji <hos@tamanegi.org>
-
- PR other/13221
- * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
- Align arguments to 32 bits.
-
-2003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR other/13221
- * testsuite/libffi.call/cls_multi_sshort.c: New test case.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-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.
-
-2003-11-21 Andreas Jaeger <aj@suse.de>
- Andreas Tobler <a.tobler@schweiz.ch>
-
- * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
- * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
- * Makefile.in: Rebuilt.
- * aclocal.m4: Likewise.
- * configure: Likewise.
- * fficonfig.h.in: Likewise.
- * testsuite/lib/libffi-dg.exp: Add include dir.
- * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
- for ffi_closure if available.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
- Add -lgcc_s to additional flags.
-
-2003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.in, include/Makefile.am: PR libgcj/11147, install
- the ffitarget.h header file in a gcc versioned and target
- dependent place.
- * configure: Regenerated.
- * Makefile.in, include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Print result and check
- with dg-output to make debugging easier.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
- static.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_9byte2.c: New test case.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_double.c: Do a check on the result.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/prep_cif.c (ffi_prep_cif): Move the validity check after
- the initialization.
-
-2003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
- FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
- __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-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
-
-2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
- _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
- Used when FFI_DEBUG = 1.
-
-2003-10-14 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
- and align.
-
-2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
- FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
- SPARC64. Cleanup whitespaces.
-
-2003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
- strongarm, xscale. Cleanup whitespaces.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Cleanup whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
- * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
- parameter stack.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
- according to the Darwin/AIX ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_DARWIN): Likewise.
- Remove the outgoing parameter stack logic. Simplify the evaluation
- of the different CASE types.
- (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
- statement in the trampoline code.
-
-2003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
- for the register size.
- (ffi_closure_helper_SYSV): Handle the structure return value
- address correctly.
- (ffi_closure_helper_SYSV): Return the appropriate type when
- the registers are used for the structure return value.
- * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
- the 64-bit return value. Update copyright years.
-
-2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
- srcdir for ffi_mips.h.
-
-2003-09-12 Alan Modra <amodra@bigpond.net.au>
-
- * src/prep_cif.c (initialize_aggregate): Include tail padding in
- structure size.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
- placement of float result.
- * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
- cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Merge identical SH and ARM
- typedefs, and add POWERPC64.
- * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
- struct split over gpr and rest.
- (ffi_prep_cif_machdep): Correct intarg_count for structures.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
- passing correctly.
-
-2003-09-09 Alan Modra <amodra@bigpond.net.au>
-
- * configure: Regenerate.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Remove build rules for ffitest.
- * Makefile.in: Rebuilt.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
- about implicit declaration of abort().
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
- * Makefile.in: Rebuilt.
- * configure.in: Add dejagnu test framework.
- * configure: Rebuilt.
-
- * testsuite/Makefile.am: New file.
- * testsuite/Makefile.in: Built
- * testsuite/lib/libffi-dg.exp: New file.
- * testsuite/config/default.exp: Likewise.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Likewise.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float1.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/many.c: Likewise.
- * testsuite/libffi.call/many_win32.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
- * testsuite/libffi.call/strlen.c: Likewise.
- * testsuite/libffi.call/strlen_win32.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
- * testsuite/libffi.call/struct2.c: Likewise.
- * testsuite/libffi.call/struct3.c: Likewise.
- * testsuite/libffi.call/struct4.c: Likewise.
- * testsuite/libffi.call/struct5.c: Likewise.
- * testsuite/libffi.call/struct6.c: Likewise.
- * testsuite/libffi.call/struct7.c: Likewise.
- * testsuite/libffi.call/struct8.c: Likewise.
- * testsuite/libffi.call/struct9.c: Likewise.
- * testsuite/libffi.special/special.exp: New file.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
- copyright years.
-
-2003-08-02 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
- structure passing.
- (ffi_closure_helper_LINUX64): Likewise.
- * src/powerpc/linux64.S: Remove code writing to parm save area.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
- address in lr from ffi_closure_helper_LINUX64 call to calculate
- table address. Optimize function tail.
-
-2003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/sparc/ffi.c: Handle all floating point registers.
- * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
-
- * README: Note that libffi is not part of GCC. Update the project
- URL and status.
-
-2003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
- Use C style comments.
-
-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
- should be read-only.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * include/ffi.h.in (EH_FRAME_FLAGS): Define.
- * src/alpha/osf.S: Use EH_FRAME_FLAGS.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
- * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
- if -fpic/-fPIC/-mrelocatable.
- * src/powerpc/powerpc_closure.S: Likewise.
- * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
- #write in .eh_frame flags.
- * src/sparc/v9.S: Likewise.
- * src/x86/unix64.S: Use EH_FRAME_FLAGS.
- * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
- * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
-
-2003-05-07 Jeff Sturm <jsturm@one-point.com>
-
- Fixes PR bootstrap/10656
- * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
- support for .register pseudo-op.
- * src/sparc/v8.S: Use it.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2003-04-18 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (POWERPC64): Define if 64-bit.
- (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
- Make it the default on POWERPC64.
- (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
- * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
- * configure: Rebuilt.
- * src/powerpc/ffi.c (hidden): Define.
- (ffi_prep_args_SYSV): Renamed from
- ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
- (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
- ASM_NEEDS_REGISTERS64): New.
- (ffi_prep_args64): New function.
- (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
- (ffi_call): Likewise.
- (ffi_prep_closure): Likewise.
- (flush_icache): Surround by #ifndef POWERPC64.
- (ffi_dblfl): New union type.
- (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
- (ffi_closure_helper_LINUX64): New function.
- * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
- __powerpc64__.
- * src/powerpc/sysv.S: Likewise.
- (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
- * src/powerpc/linux64.S: New file.
- * src/powerpc/linux64_closure.S: New file.
- * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
- src/powerpc/linux64_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
- * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
- closure_test_fn3): Fix result printing on big-endian 64-bit
- machines.
- (main): Print tst2_arg instead of uninitialized tst2_result.
-
- * src/ffitest.c (main): Hide what closure pointer really points to
- from the compiler.
-
-2003-04-16 Richard Earnshaw <rearnsha@arm.com>
-
- * configure.in (arm-*-netbsdelf*): Add configuration.
- (configure): Regenerated.
-
-2003-04-04 Loren J. Rittle <ljrittle@acm.org>
-
- * include/Makefile.in: Regenerate.
-
-2003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
-
- * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
- bit mode.
- * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
- Receive closure pointer through parameter, read args using
- __builtin_dwarf_cfa.
- (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12 Andreas Schwab <schwab@suse.de>
-
- * configure.in: Avoid trailing /. in toolexeclibdir.
- * configure: Rebuilt.
-
-2003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/powerpc/darwin_closure.S:
- Fix alignement bug, allocate 8 bytes for the result.
- * libffi/src/powerpc/aix_closure.S:
- Likewise.
- * libffi/src/powerpc/ffi_darwin.c:
- Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06 Jakub Jelinek <jakub@redhat.com>
-
- * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
- attribute.
-
-2003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
- Andreas Schwab <schwab@suse.de>
-
- * configure.in: Adjust command to source config-ml.in to account
- for changes to the libffi_basedir definition.
- (libffi_basedir): Remove ${srcdir} from value and include trailing
- slash if nonempty.
-
- * configure: Regenerate.
-
-2003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
- * src/x86/ffi64.c (ffi_prep_closure): New.
- (ffi_closure_UNIX64_inner): New.
- * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
- Remove USE_LIBDIR conditional.
- * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
- * Makefile.in, configure: Rebuilt.
-
-2003-01027 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
- * Makefile.in: Regenerate.
-
-2003-01-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
- unwind info.
-
-2003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Add unwind info.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
- (ffi_prep_cif_machdep): Likewise.
- * src/x86/unix64.S: Add unwind info.
-
-2003-01-14 Andreas Jaeger <aj@suse.de>
-
- * src/ffitest.c (main): Only use ffi_closures if those are
- supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/ffitest.c
- add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
- * libffi/src/powerpc/ffi.c
- fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c: Remove RCS version string.
- * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
- * src/ffitest.c (main): Use static storage for closure.
- * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
- * src/sparc/v8.S (ffi_closure_v8): New.
- * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10 Ranjit Mathew <rmathew@hotmail.com>
-
- * include/ffi.h.in: Added FFI_STDCALL ffi_type
- enumeration for X86_WIN32.
- * src/x86/win32.S: Added ffi_call_STDCALL function
- definition.
- * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
- switch cases for recognising FFI_STDCALL and
- calling ffi_call_STDCALL if target is X86_WIN32.
- * src/ffitest.c (my_stdcall_strlen/stdcall_many):
- stdcall versions of the "my_strlen" and "many"
- test functions (for X86_WIN32).
- Added test cases to test stdcall invocation using
- these functions.
-
-2002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26 Jim Wilson <wilson@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23 H.J. Lu <hjl@gnu.org>
-
- * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
- Include ../config/accross.m4.
- * aclocal.m4; Rebuild.
- * configure: Likewise.
-
-2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11 DJ Delorie <dj@redhat.com>
-
- * configure.in: Look for common files in the right place.
-
-2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
- raw data as _Jv_word values, not ffi_raw.
- (ffi_java_ptrarray_to_raw): Likewise.
- (ffi_java_rvalue_to_raw): New function.
- (ffi_java_raw_call): Call it.
- (ffi_java_raw_to_rvalue): New function.
- (ffi_java_translate_args): Call it.
- * src/ffitest.c (closure_test_fn): Interpret return value
- as ffi_arg, not int.
- * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
- FFI_TYPE_POINTER case.
- (ffi_closure_helper_SYSV): Likewise. Also, assume return
- values extended to word size.
-
-2002-10-02 Andreas Jaeger <aj@suse.de>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01 Bo Thorsen <bo@smetana.suse.de>
-
- * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
-
- * configure.in: Add s390x-*-linux-* target.
- * configure: Regenerate.
- * include/ffi.h.in: Define S390X for s390x targets.
- (FFI_CLOSURES): Define for s390/s390x.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
- * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
- * src/s390/ffi.c: Major rework of existing code. Add support for
- s390x targets. Add closure support.
- * src/s390/sysv.S: Likewise.
-
-2002-09-29 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: Fix typo.
-
-2002-09-28 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
- has defined __USER_LABEL_PREFIX__, then use it in CNAME.
- (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27 Bo Thorsen <bo@suse.de>
-
- * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * configure.in (sh[34]*-*-linux*): Add brackets.
- * configure: Regenerate.
-
-2002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * Makefile.am: Add SH support.
- * Makefile.in: Regenerate.
- * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
- * configure: Regenerate.
- * include/ffi.h.in: Add SH support.
- * src/sh/ffi.c: New file.
- * src/sh/sysv.S: New file.
- * src/types.c: Add SH support.
-
-2002-07-16 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi64.c: New file that adds x86-64 support.
- * src/x86/unix64.S: New file that handles argument setup for
- x86-64.
- * src/x86/sysv.S: Don't use this on x86-64.
- * src/x86/ffi.c: Don't use this on x86-64.
- Remove unused vars.
- * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
- for x86-64.
- * src/ffitest.c (struct6): New test that tests a special case in
- the x86-64 ABI.
- (struct7): Likewise.
- (struct8): Likewise.
- (struct9): Likewise.
- (closure_test_fn): Silence warning about this when it's not used.
- (main): Add the new tests.
- (main): Fix a couple of wrong casts and silence some compiler warnings.
- * include/ffi.h.in: Add x86-64 ABI definition.
- * fficonfig.h.in: Regenerate.
- * Makefile.am: Add x86-64 support.
- * configure.in: Likewise.
- * Makefile.in: Regenerate.
- * configure: Likewise.
-
-2002-06-24 Bo Thorsen <bo@suse.de>
-
- * src/types.c: Merge settings for similar architectures.
- Add x86-64 sizes and alignments.
-
-2002-06-23 Bo Thorsen <bo@suse.de>
-
- * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
- * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
- * src/mips/ffi.c (ffi_prep_args): Likewise.
- * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18 H.J. Lu (hjl@gnu.org)
-
- * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
- (libffi_la_SOURCES): Support MIPS_LINUX.
- (libffi_convenience_la_SOURCES): Likewise.
- * Makefile.in: Regenerated.
-
- * configure.in (mips64*-*): Skip.
- (mips*-*-linux*): New.
- * configure: Regenerated.
-
- * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
-
-2002-05-27 Roger Sayle <roger@eyesopen.com>
-
- * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
- fix formatting.
-
-2002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
- beginning of function (for older apple cc).
-
-2002-05-08 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
- script entry, and set LD to it when configuring multilibs.
- * configure: Rebuilt.
-
-2002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (sparc64-*-netbsd*): Add target.
- (sparc-*-netbsdelf*): Likewise.
- * configure: Regenerate.
-
-2002-04-28 David S. Miller <davem@redhat.com>
-
- * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
-
- * Makefile.am: Add Linux for S/390 support.
- * Makefile.in: Regenerate.
- * configure.in: Add Linux for S/390 support.
- * configure: Regenerate.
- * include/ffi.h.in: Add Linux for S/390 support.
- * src/s390/ffi.c: New file from libffi CVS tree.
- * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
- %r_disp32().
- * src/sparc/v8.S: Use it.
- * src/sparc/v9.S: Likewise.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2002-04-08 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
- correctly.
- * src/ia64/unix.S: Add unwind information. Fix comments.
- Save sp in a way that's compatible with unwind info.
- (ffi_call_unix): Correctly restore sp in all cases.
- * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08 Jakub Jelinek <jakub@redhat.com>
-
- * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (alpha*-*-netbsd*): Add target.
- * configure: Regenerate.
-
-2002-04-04 Jeff Sturm <jsturm@one-point.com>
-
- * src/sparc/v8.S: Add unwind info.
- * src/sparc/v9.S: Likewise.
-
-2002-03-30 Krister Walfridsson <cato@df.lth.se>
-
- * configure.in: Enable i*86-*-netbsdelf*.
- * configure: Rebuilt.
-
-2002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
-
- PR other/2620
- * src/mips/n32.s: Delete
- * src/mips/o32.s: Delete
-
-2002-03-21 Loren J. Rittle <ljrittle@acm.org>
-
- * configure.in: Enable alpha*-*-freebsd*.
- * configure: Rebuilt.
-
-2002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * Makefile.am: libfficonvenience -> libffi_convenience.
- * Makefile.in: Rebuilt.
-
- * Makefile.am: Define ffitest_OBJECTS.
- * Makefile.in: Rebuilt.
-
-2002-03-07 Andreas Tobler <toa@pop.agri.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
- (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
- (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
- * Makefile.in: Regenerate.
- * include/ffi.h.in: Add AIX and Darwin closure definitions.
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
- (flush_icache, flush_range): New functions.
- (ffi_closure_helper_DARWIN): New function.
- * src/powerpc/aix_closure.S: New file.
- * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add typedef for ffi_arg.
- * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21 Andreas Tobler <toa@pop.agri.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
- number of GPRs for floating-point arguments.
-
-2002-01-31 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Replace CHECK_SIZEOF and endian tests with
- cross-compiler friendly macros.
- * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
- macros.
-
-2002-01-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): New.
- * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
- (TARGET_SRC_POWERPC_AIX): New.
- (POWERPC_AIX): New stanza.
- * Makefile.in: Regenerate.
- * configure.in: Add AIX case.
- * configure: Regenerate.
- * include/ffi.h.in (ffi_abi): Add FFI_AIX.
- * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
- size. Fix "long double" support.
- (ffi_call): Add FFI_AIX case.
- * src/powerpc/aix.S: New.
-
-2001-10-09 John Hornkvist <john@toastedmarshmallow.com>
-
- Implement Darwin PowerPC ABI.
- * configure.in: Handle powerpc-*-darwin*.
- * Makefile.am: Set source files for POWERPC_DARWIN.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
- * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
- POWERPC_DARWIN.
- * src/powerpc/darwin.S: New file.
- * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .balign directive.
- Use C style comments.
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
- Fixes PR bootstrap/3563.
-
-2001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.in: Recognize sparc*-sun-* host.
- * configure: Regenerate.
-
-2001-06-06 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S: Add unwind info.
- * src/powerpc/sysv.S: Add unwind info.
- * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31 Jeff Sturm <jsturm@one-point.com>
-
- * configure.in: Fix AC_ARG_ENABLE usage.
- * configure: Rebuilt.
-
-2001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * configure.in: Remove warning about beta code.
- * configure: Rebuilt.
-
-2001-04-25 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/ia64/unix.S: Restore stack pointer when returning from
- ffi_closure_UNIX.
- * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18 Jim Wilson <wilson@redhat.com>
-
- * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
- to eliminate RAW DV.
-
-2001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
-
- * Makefile.am: Make a libtool convenience library.
- * Makefile.in: Rebuilt.
-
-2001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Use different syntax for subdirectory creation.
- * configure: Rebuilt.
-
-2001-03-27 Jon Beniston <jon@beniston.com>
-
- * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
- * configure: Rebuilt.
- * Makefile.am: Added X86_WIN32 target support.
- * Makefile.in: Rebuilt.
-
- * include/ffi.h.in: Added X86_WIN32 target support.
-
- * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
- * src/types.c: Added X86_WIN32 target support.
-
- * src/x86/win32.S: New file. Based on sysv.S, but with EH
- stuff removed and made to work with CygWin's gas.
-
-2001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Make target subdirectory in build dir.
- * Makefile.am: Override suffix based rules to specify correct output
- subdirectory.
- * Makefile.in: Rebuilt.
- * configure: Rebuilt.
-
-2001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
-
- * src/powerpc/ppc_closure.S: New file.
- * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
- involving long long and register pairs.
- (ffi_prep_closure): New function.
- (flush_icache): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * Makefile.in: Rebuilt.
- * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19 Tom Tromey <tromey@redhat.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02 Nick Clifton <nickc@redhat.com>
-
- * include/ffi.h.in: Remove RCS ident string.
- * include/ffi_mips.h: Remove RCS ident string.
- * src/debug.c: Remove RCS ident string.
- * src/ffitest.c: Remove RCS ident string.
- * src/prep_cif.c: Remove RCS ident string.
- * src/types.c: Remove RCS ident string.
- * src/alpha/ffi.c: Remove RCS ident string.
- * src/alpha/osf.S: Remove RCS ident string.
- * src/arm/ffi.c: Remove RCS ident string.
- * src/arm/sysv.S: Remove RCS ident string.
- * src/mips/ffi.c: Remove RCS ident string.
- * src/mips/n32.S: Remove RCS ident string.
- * src/mips/o32.S: Remove RCS ident string.
- * src/sparc/ffi.c: Remove RCS ident string.
- * src/sparc/v8.S: Remove RCS ident string.
- * src/sparc/v9.S: Remove RCS ident string.
- * src/x86/ffi.c: Remove RCS ident string.
- * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * include/ffi.h.in: Change sourceware.cygnus.com references to
- gcc.gnu.org.
-
-2000-12-09 Richard Henderson <rth@redhat.com>
-
- * src/alpha/ffi.c (ffi_call): Simplify struct return test.
- (ffi_closure_osf_inner): Index rather than increment avalue
- and arg_types. Give ffi_closure_osf the raw return value type.
- * src/alpha/osf.S (ffi_closure_osf): Handle return value type
- promotion.
-
-2000-12-07 Richard Henderson <rth@redhat.com>
-
- * src/raw_api.c (ffi_translate_args): Fix typo.
- (ffi_prep_closure): Likewise.
-
- * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
- FFI_TRAMPOLINE_SIZE.
- * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
- cif->bytes for new ffi_call_osf implementation.
- (ffi_prep_args): Absorb into ...
- (ffi_call): ... here. Do all stack allocation here and
- avoid a callback function.
- (ffi_prep_closure, ffi_closure_osf_inner): New.
- * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
- (ffi_closure_osf): New.
-
-2000-09-10 Alexandre Oliva <aoliva@redhat.com>
-
- * config.guess, config.sub, install-sh: Removed.
- * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
- * Makefile.in: Rebuilt.
-
- * acinclude.m4: Include libtool macros from the top level.
- * aclocal.m4, configure: Rebuilt.
-
-2000-08-22 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
- * configure: Rebuilt.
-
-2000-05-11 Scott Bambrough <scottb@netwinder.org>
-
- * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
- memory correctly. Use conditional instructions, not branches where
- possible.
-
-2000-05-04 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Match `arm*-*-linux-*'.
- From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (SUBDIRS): Define.
- (AM_MAKEFLAGS): Likewise.
- (Multilib support.): Add section.
- * Makefile.in: Rebuilt.
- * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
- New variables. Set for gcc using -print-multi-lib. Export them
- to libtool.
- (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
- * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
- for -shared links.
- (extra_compiler_flags_value, extra_compiler_flags): Check these
- for extra compiler options which need to be passed down in
- compiler_flags.
-
-2000-04-16 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
- Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
- * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
- Replace all void * sizeofs with sizeof(int).
- Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
- different than DOUBLE.
- Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
- (ffi_prep_args_v9): New function.
- (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
- (ffi_V9_return_struct): New function.
- (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
- 32bit code (not yet cross-arch calls).
- * src/sparc/v8.S: Add struct return delay nop.
- Handle long long.
- * src/sparc/v9.S: New file.
- * src/prep_cif.c (ffi_prep_cif): Return structure pointer
- is used on sparc64 only for structures larger than 32 bytes.
- Pass by reference for structures is done for structure arguments
- larger than 16 bytes.
- * src/ffitest.c (main): Use 64bit rint on sparc64.
- Run long long tests on sparc.
- * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
- sparc64.
- (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
- on sparc64.
- * configure.in (sparc-*-linux*): New supported target.
- (sparc64-*-linux*): Likewise.
- * configure: Rebuilt.
- * Makefile.am: Add v9.S to SPARC files.
- * Makefile.in: Likewise.
- (LINK): Surround $(CCLD) into double quotes, so that multilib
- compiles work correctly.
-
-2000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: (i*86-*-solaris*): New libffi target. Patch
- proposed by Bryce McKinlay.
-
-2000-03-20 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
-
- * config.guess, config.sub: Update from the gcc tree.
- Fix for PR libgcj/168.
-
-2000-03-03 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Fixed ia64 by hand.
-
- * configure: Rebuilt.
- * configure.in (--enable-multilib): New option.
- (libffi_basedir): New subst.
- (AC_OUTPUT): Added multilib code.
-
-2000-03-02 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
- directory name.
-
-2000-02-25 Hans Boehm <boehm@acm.org>
-
- * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
- files.
- * src/raw_api.c (ffi_translate_args): Fixed typo in argument
- list.
- (ffi_prep_raw_closure): Use ffi_translate_args, not
- ffi_closure_translate.
- * src/java_raw_api.c: New file.
- * src/ffitest.c (closure_test_fn): New function.
- (main): Define `rint' as long long on IA64. Added new test when
- FFI_CLOSURES is defined.
- * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
- (ffi_abi): Recognize IA64.
- (ffi_raw): Added `flt' field.
- Added "Java raw API" code.
- * configure.in: Recognize ia64.
- * Makefile.am (TARGET_SRC_IA64): New macro.
- (libffi_la_common_SOURCES): Added java_raw_api.c.
- (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01 Tom Tromey <tromey@cygnus.com>
-
- * include/ffi.h.in: Removed PACKAGE and VERSION defines and
- undefs.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
- * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
- Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
- * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09 Anthony Green <green@cygnus.com>
-
- * include/ffi.h.in: Try to work around messy header problem
- with PACKAGE and VERSION.
-
- * configure: Rebuilt.
- * configure.in: Change version to 2.00-beta.
-
- * fficonfig.h.in: Rebuilt.
- * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
- * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
-
- * src/x86/ffi.c (ffi_closure_SYSV): New function.
- (ffi_prep_incoming_args_SYSV): Ditto.
- (ffi_prep_closure): Ditto.
- (ffi_closure_raw_SYSV): Ditto.
- (ffi_prep_raw_closure): More ditto.
- (ffi_call_raw): Final ditto.
-
- * include/ffi.h.in: Add definitions for closure and raw API.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
- FFI_TYPE_UINT64.
-
- * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
- * src/raw_api.c: New file.
-
- * include/ffi.h.in (ffi_raw): New type.
- (UINT_ARG, SINT_ARG): New defines.
- (ffi_closure, ffi_raw_closure): New types.
- (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
- * configure.in: Add check for endianness and sizeof void*.
-
- * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
- instead of directly.
-
- * configure: Rebuilt.
-
-Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
-
- * configure.in: Add x86 and powerpc BeOS configurations.
- From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09 Anthony Green <green@cygnus.com>
-
- * configure.in: Add warning about this being beta code.
- Remove src/Makefile.am from the picture.
- * configure: Rebuilt.
-
- * Makefile.am: Move logic from src/Makefile.am. Add changes
- to support libffi as a target library.
- * Makefile.in: Rebuilt.
-
- * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
- Upgraded to new autoconf, automake, libtool.
-
- * README: Tweaks.
-
- * LICENSE: Update copyright date.
-
- * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29 Anthony Green <green@cygnus.com>
-
- * include/ChangeLog: Removed.
- * src/ChangeLog: Removed.
- * src/mips/ChangeLog: Removed.
- * src/sparc/ChangeLog: Remboved.
- * src/x86/ChangeLog: Removed.
-
- * ChangeLog.v1: Created.
diff --git a/.pc/ppc64-darwin/configure b/.pc/ppc64-darwin/configure
deleted file mode 100755
index 984d8d6..0000000
--- a/.pc/ppc64-darwin/configure
+++ /dev/null
@@ -1,16030 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for libffi 3.0.11-rc2.
-#
-# Report bugs to <http://github.com/atgreen/libffi/issues>.
-#
-#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-# Foundation, Inc.
-#
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in #(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test "x$CONFIG_SHELL" = x; then
- as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '\${1+\"\$@\"}'='\"\$@\"'
- setopt NO_GLOB_SUBST
-else
- case \`(set -o) 2>/dev/null\` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-"
- as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-
-else
- exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1"
- as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
- as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
- eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
- test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-
- test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
- ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
- ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
- ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
- PATH=/empty FPATH=/empty; export PATH FPATH
- test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
- || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
- if (eval "$as_required") 2>/dev/null; then :
- as_have_required=yes
-else
- as_have_required=no
-fi
- if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- as_found=:
- case $as_dir in #(
- /*)
- for as_base in sh bash ksh sh5; do
- # Try only shells that exist, to save several forks.
- as_shell=$as_dir/$as_base
- if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
- CONFIG_SHELL=$as_shell as_have_required=yes
- if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
- break 2
-fi
-fi
- done;;
- esac
- as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
- CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
- if test "x$CONFIG_SHELL" != x; then :
- # We cannot yet assume a decent shell, so we have to provide a
- # neutralization value for shells without unset; and this also
- # works around shells that cannot unset nonexistent variables.
- # Preserve -v and -x to the replacement shell.
- BASH_ENV=/dev/null
- ENV=/dev/null
- (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
- export CONFIG_SHELL
- case $- in # ((((
- *v*x* | *x*v* ) as_opts=-vx ;;
- *v* ) as_opts=-v ;;
- *x* ) as_opts=-x ;;
- * ) as_opts= ;;
- esac
- exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
-fi
-
- if test x$as_have_required = xno; then :
- $as_echo "$0: This script requires a shell more modern than all"
- $as_echo "$0: the shells that I found on your system."
- if test x${ZSH_VERSION+set} = xset ; then
- $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
- $as_echo "$0: be upgraded to zsh 4.3.4 or later."
- else
- $as_echo "$0: Please tell bug-autoconf@gnu.org and
-$0: http://github.com/atgreen/libffi/issues about your
-$0: system, including any error possibly output before this
-$0: message. Then install a modern shell, or manually run
-$0: the script under such a shell if you do have one."
- fi
- exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} # as_fn_exit
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- fi
- $as_echo "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} # as_fn_error
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
- as_lineno_1=$LINENO as_lineno_1a=$LINENO
- as_lineno_2=$LINENO as_lineno_2a=$LINENO
- eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
- test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
- # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
- sed -n '
- p
- /[$]LINENO/=
- ' <$as_myself |
- sed '
- s/[$]LINENO.*/&-/
- t lineno
- b
- :lineno
- N
- :loop
- s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
- t loop
- s/-\n.*//
- ' >$as_me.lineno &&
- chmod +x "$as_me.lineno" ||
- { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensitive to this).
- . "./$as_me.lineno"
- # Exit status is that of the last command.
- exit
-}
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -p'
- fi
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in #(
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-
-test -n "$DJDIR" || exec 7<&0 </dev/null
-exec 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-
-# Identity of this package.
-PACKAGE_NAME='libffi'
-PACKAGE_TARNAME='libffi'
-PACKAGE_VERSION='3.0.11-rc2'
-PACKAGE_STRING='libffi 3.0.11-rc2'
-PACKAGE_BUGREPORT='http://github.com/atgreen/libffi/issues'
-PACKAGE_URL=''
-
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-# include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-# include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='am__EXEEXT_FALSE
-am__EXEEXT_TRUE
-LTLIBOBJS
-LIBOBJS
-toolexeclibdir
-toolexecdir
-FFI_DEBUG_FALSE
-FFI_DEBUG_TRUE
-TARGETDIR
-TARGET
-sys_symbol_underscore
-HAVE_LONG_DOUBLE
-ALLOCA
-PA64_HPUX_FALSE
-PA64_HPUX_TRUE
-PA_HPUX_FALSE
-PA_HPUX_TRUE
-PA_LINUX_FALSE
-PA_LINUX_TRUE
-SH64_FALSE
-SH64_TRUE
-SH_FALSE
-SH_TRUE
-X86_64_FALSE
-X86_64_TRUE
-S390_FALSE
-S390_TRUE
-FRV_FALSE
-FRV_TRUE
-LIBFFI_CRIS_FALSE
-LIBFFI_CRIS_TRUE
-AVR32_FALSE
-AVR32_TRUE
-ARM_FALSE
-ARM_TRUE
-POWERPC_FREEBSD_FALSE
-POWERPC_FREEBSD_TRUE
-POWERPC_DARWIN_FALSE
-POWERPC_DARWIN_TRUE
-POWERPC_AIX_FALSE
-POWERPC_AIX_TRUE
-POWERPC_FALSE
-POWERPC_TRUE
-MOXIE_FALSE
-MOXIE_TRUE
-M68K_FALSE
-M68K_TRUE
-M32R_FALSE
-M32R_TRUE
-IA64_FALSE
-IA64_TRUE
-ALPHA_FALSE
-ALPHA_TRUE
-X86_DARWIN_FALSE
-X86_DARWIN_TRUE
-X86_WIN64_FALSE
-X86_WIN64_TRUE
-X86_WIN32_FALSE
-X86_WIN32_TRUE
-X86_FREEBSD_FALSE
-X86_FREEBSD_TRUE
-X86_FALSE
-X86_TRUE
-SPARC_FALSE
-SPARC_TRUE
-MIPS_FALSE
-MIPS_TRUE
-AM_LTLDFLAGS
-AM_RUNTESTFLAGS
-TESTSUBDIR_FALSE
-TESTSUBDIR_TRUE
-MAINT
-MAINTAINER_MODE_FALSE
-MAINTAINER_MODE_TRUE
-CPP
-OTOOL64
-OTOOL
-LIPO
-NMEDIT
-DSYMUTIL
-MANIFEST_TOOL
-RANLIB
-ac_ct_AR
-AR
-DLLTOOL
-OBJDUMP
-LN_S
-NM
-ac_ct_DUMPBIN
-DUMPBIN
-LD
-FGREP
-EGREP
-GREP
-SED
-LIBTOOL
-am__fastdepCCAS_FALSE
-am__fastdepCCAS_TRUE
-CCASDEPMODE
-CCASFLAGS
-CCAS
-am__fastdepCC_FALSE
-am__fastdepCC_TRUE
-CCDEPMODE
-AMDEPBACKSLASH
-AMDEP_FALSE
-AMDEP_TRUE
-am__quote
-am__include
-DEPDIR
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-am__untar
-am__tar
-AMTAR
-am__leading_dot
-SET_MAKE
-AWK
-mkdir_p
-MKDIR_P
-INSTALL_STRIP_PROGRAM
-STRIP
-install_sh
-MAKEINFO
-AUTOHEADER
-AUTOMAKE
-AUTOCONF
-ACLOCAL
-VERSION
-PACKAGE
-CYGPATH_W
-am__isrc
-INSTALL_DATA
-INSTALL_SCRIPT
-INSTALL_PROGRAM
-target_os
-target_vendor
-target_cpu
-target
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-enable_dependency_tracking
-enable_shared
-enable_static
-with_pic
-enable_fast_install
-with_gnu_ld
-with_sysroot
-enable_libtool_lock
-enable_maintainer_mode
-enable_debug
-enable_structs
-enable_raw_api
-enable_purify_safety
-'
- ac_precious_vars='build_alias
-host_alias
-target_alias
-CCAS
-CCASFLAGS
-CPP
-CPPFLAGS'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval $ac_prev=\$ac_option
- ac_prev=
- continue
- fi
-
- case $ac_option in
- *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
- *=) ac_optarg= ;;
- *) ac_optarg=yes ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case $ac_dashdash$ac_option in
- --)
- ac_dashdash=yes ;;
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir=$ac_optarg ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build_alias ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build_alias=$ac_optarg ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file=$ac_optarg ;;
-
- --config-cache | -C)
- cache_file=config.cache ;;
-
- -datadir | --datadir | --datadi | --datad)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=*)
- datadir=$ac_optarg ;;
-
- -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
- | --dataroo | --dataro | --datar)
- ac_prev=datarootdir ;;
- -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
- | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
- datarootdir=$ac_optarg ;;
-
- -disable-* | --disable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=no ;;
-
- -docdir | --docdir | --docdi | --doc | --do)
- ac_prev=docdir ;;
- -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
- docdir=$ac_optarg ;;
-
- -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
- ac_prev=dvidir ;;
- -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
- dvidir=$ac_optarg ;;
-
- -enable-* | --enable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=\$ac_optarg ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix=$ac_optarg ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he | -h)
- ac_init_help=long ;;
- -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
- ac_init_help=recursive ;;
- -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
- ac_init_help=short ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host_alias ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host_alias=$ac_optarg ;;
-
- -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
- ac_prev=htmldir ;;
- -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
- | --ht=*)
- htmldir=$ac_optarg ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir=$ac_optarg ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir=$ac_optarg ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir=$ac_optarg ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir=$ac_optarg ;;
-
- -localedir | --localedir | --localedi | --localed | --locale)
- ac_prev=localedir ;;
- -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
- localedir=$ac_optarg ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst | --locals)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
- localstatedir=$ac_optarg ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir=$ac_optarg ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c | -n)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir=$ac_optarg ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix=$ac_optarg ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix=$ac_optarg ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix=$ac_optarg ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name=$ac_optarg ;;
-
- -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
- ac_prev=pdfdir ;;
- -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
- pdfdir=$ac_optarg ;;
-
- -psdir | --psdir | --psdi | --psd | --ps)
- ac_prev=psdir ;;
- -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
- psdir=$ac_optarg ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir=$ac_optarg ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir=$ac_optarg ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site=$ac_optarg ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir=$ac_optarg ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir=$ac_optarg ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target_alias ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target_alias=$ac_optarg ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers | -V)
- ac_init_version=: ;;
-
- -with-* | --with-*)
- ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=\$ac_optarg ;;
-
- -without-* | --without-*)
- ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=no ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes=$ac_optarg ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries=$ac_optarg ;;
-
- -*) as_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
- ;;
-
- *=*)
- ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
- # Reject names that are not valid shell variable names.
- case $ac_envvar in #(
- '' | [0-9]* | *[!_$as_cr_alnum]* )
- as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
- esac
- eval $ac_envvar=\$ac_optarg
- export $ac_envvar ;;
-
- *)
- # FIXME: should be removed in autoconf 3.0.
- $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
- expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- as_fn_error $? "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
- case $enable_option_checking in
- no) ;;
- fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
- *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
- esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
- datadir sysconfdir sharedstatedir localstatedir includedir \
- oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir
-do
- eval ac_val=\$$ac_var
- # Remove trailing slashes.
- case $ac_val in
- */ )
- ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
- eval $ac_var=\$ac_val;;
- esac
- # Be sure to have absolute directory names.
- case $ac_val in
- [\\/$]* | ?:[\\/]* ) continue;;
- NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
- esac
- as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
- if test "x$build_alias" = x; then
- cross_compiling=maybe
- $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
- If a cross compiler is detected then cross compile mode will be used" >&2
- elif test "x$build_alias" != "x$host_alias"; then
- cross_compiling=yes
- fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
- as_fn_error $? "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
- as_fn_error $? "pwd does not report name of working directory"
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then the parent directory.
- ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_myself" : 'X\(//\)[^/]' \| \
- X"$as_myself" : 'X\(//\)$' \| \
- X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- srcdir=$ac_confdir
- if test ! -r "$srcdir/$ac_unique_file"; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
- test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
- as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
- cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
- pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
- srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
- eval ac_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_env_${ac_var}_value=\$${ac_var}
- eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat <<_ACEOF
-\`configure' configures libffi 3.0.11-rc2 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE. See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
- -h, --help display this help and exit
- --help=short display options specific to this package
- --help=recursive display the short help of all the included packages
- -V, --version display version information and exit
- -q, --quiet, --silent do not print \`checking ...' messages
- --cache-file=FILE cache test results in FILE [disabled]
- -C, --config-cache alias for \`--cache-file=config.cache'
- -n, --no-create do not create output files
- --srcdir=DIR find the sources in DIR [configure dir or \`..']
-
-Installation directories:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
- --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
- --infodir=DIR info documentation [DATAROOTDIR/info]
- --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
- --mandir=DIR man documentation [DATAROOTDIR/man]
- --docdir=DIR documentation root [DATAROOTDIR/doc/libffi]
- --htmldir=DIR html documentation [DOCDIR]
- --dvidir=DIR dvi documentation [DOCDIR]
- --pdfdir=DIR pdf documentation [DOCDIR]
- --psdir=DIR ps documentation [DOCDIR]
-_ACEOF
-
- cat <<\_ACEOF
-
-Program names:
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM run sed PROGRAM on installed program names
-
-System types:
- --build=BUILD configure for building on BUILD [guessed]
- --host=HOST cross-compile to build programs to run on HOST [BUILD]
- --target=TARGET configure for building compilers for TARGET [HOST]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
- case $ac_init_help in
- short | recursive ) echo "Configuration of libffi 3.0.11-rc2:";;
- esac
- cat <<\_ACEOF
-
-Optional Features:
- --disable-option-checking ignore unrecognized --enable/--with options
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --disable-dependency-tracking speeds up one-time build
- --enable-dependency-tracking do not reject slow dependency extractors
- --enable-shared[=PKGS] build shared libraries [default=yes]
- --enable-static[=PKGS] build static libraries [default=yes]
- --enable-fast-install[=PKGS]
- optimize for fast installation [default=yes]
- --disable-libtool-lock avoid locking (might break parallel builds)
- --enable-maintainer-mode enable make rules and dependencies not useful
- (and sometimes confusing) to the casual installer
- --enable-debug debugging mode
- --disable-structs omit code for struct support
- --disable-raw-api make the raw api unavailable
- --enable-purify-safety purify-safe mode
-
-Optional Packages:
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --with-pic try to use only PIC/non-PIC objects [default=use
- both]
- --with-gnu-ld assume the C compiler uses GNU ld [default=no]
- --with-sysroot=DIR Search for dependent libraries within DIR
- (or the compiler's sysroot if not specified).
-
-Some influential environment variables:
- CC C compiler command
- CFLAGS C compiler flags
- LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
- nonstandard directory <lib dir>
- LIBS libraries to pass to the linker, e.g. -l<library>
- CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
- you have headers in a nonstandard directory <include dir>
- CCAS assembler compiler command (defaults to CC)
- CCASFLAGS assembler compiler flags (defaults to CFLAGS)
- CPP C preprocessor
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to <http://github.com/atgreen/libffi/issues>.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
- # If there are subdirs, report their specific --help.
- for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d "$ac_dir" ||
- { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
- continue
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
- cd "$ac_dir" || { ac_status=$?; continue; }
- # Check for guested configure.
- if test -f "$ac_srcdir/configure.gnu"; then
- echo &&
- $SHELL "$ac_srcdir/configure.gnu" --help=recursive
- elif test -f "$ac_srcdir/configure"; then
- echo &&
- $SHELL "$ac_srcdir/configure" --help=recursive
- else
- $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi || ac_status=$?
- cd "$ac_pwd" || { ac_status=$?; break; }
- done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
- cat <<\_ACEOF
-libffi configure 3.0.11-rc2
-generated by GNU Autoconf 2.68
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
- exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-# ac_fn_c_try_compile LINENO
-# --------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext
- if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_compile
-
-# ac_fn_c_try_link LINENO
-# -----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext conftest$ac_exeext
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext && {
- test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
- }; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
- # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
- # interfere with the next link command; also delete a directory that is
- # left behind by Apple's compiler. We do this before executing the actions.
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_link
-
-# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists and can be compiled using the include files in
-# INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- eval "$3=yes"
-else
- eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_compile
-
-# ac_fn_c_try_cpp LINENO
-# ----------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } > conftest.i && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_cpp
-
-# ac_fn_c_try_run LINENO
-# ----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
-ac_fn_c_try_run ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
- ac_retval=0
-else
- $as_echo "$as_me: program exited with status $ac_status" >&5
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=$ac_status
-fi
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_run
-
-# ac_fn_c_check_func LINENO FUNC VAR
-# ----------------------------------
-# Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_c_check_func ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $2 innocuous_$2
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $2 (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $2
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $2 ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_$2 || defined __stub___$2
-choke me
-#endif
-
-int
-main ()
-{
-return $2 ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- eval "$3=yes"
-else
- eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_func
-
-# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists, giving a warning if it cannot be compiled using
-# the include files in INCLUDES and setting the cache variable VAR
-# accordingly.
-ac_fn_c_check_header_mongrel ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if eval \${$3+:} false; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
- # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_header_compiler=yes
-else
- ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <$2>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- ac_header_preproc=yes
-else
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
- yes:no: )
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
- ;;
- no:yes:* )
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( $as_echo "## ------------------------------------------------------ ##
-## Report this to http://github.com/atgreen/libffi/issues ##
-## ------------------------------------------------------ ##"
- ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_mongrel
-
-# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
-# -------------------------------------------
-# Tests whether TYPE exists after having included INCLUDES, setting cache
-# variable VAR accordingly.
-ac_fn_c_check_type ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- eval "$3=no"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-if (sizeof ($2))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-if (sizeof (($2)))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
- eval "$3=yes"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_type
-
-# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
-# --------------------------------------------
-# Tries to find the compile-time value of EXPR in a program that includes
-# INCLUDES, setting VAR accordingly. Returns whether the value could be
-# computed
-ac_fn_c_compute_int ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if test "$cross_compiling" = yes; then
- # Depending upon the size, compute the lo and hi bounds.
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_lo=0 ac_mid=0
- while :; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_hi=$ac_mid; break
-else
- as_fn_arith $ac_mid + 1 && ac_lo=$as_val
- if test $ac_lo -le $ac_mid; then
- ac_lo= ac_hi=
- break
- fi
- as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) < 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_hi=-1 ac_mid=-1
- while :; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_lo=$ac_mid; break
-else
- as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
- if test $ac_mid -le $ac_hi; then
- ac_lo= ac_hi=
- break
- fi
- as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- ac_lo= ac_hi=
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
- as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_hi=$ac_mid
-else
- as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in #((
-?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
-'') ac_retval=1 ;;
-esac
- else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-static long int longval () { return $2; }
-static unsigned long int ulongval () { return $2; }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
- FILE *f = fopen ("conftest.val", "w");
- if (! f)
- return 1;
- if (($2) < 0)
- {
- long int i = longval ();
- if (i != ($2))
- return 1;
- fprintf (f, "%ld", i);
- }
- else
- {
- unsigned long int i = ulongval ();
- if (i != ($2))
- return 1;
- fprintf (f, "%lu", i);
- }
- /* Do not output a trailing newline, as this causes \r\n confusion
- on some platforms. */
- return ferror (f) || fclose (f) != 0;
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- echo >>conftest.val; read $3 <conftest.val; ac_retval=0
-else
- ac_retval=1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-rm -f conftest.val
-
- fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_compute_int
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by libffi $as_me 3.0.11-rc2, which was
-generated by GNU Autoconf 2.68. Invocation command line was
-
- $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
-
-/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
-/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
-/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- $as_echo "PATH: $as_dir"
- done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
- for ac_arg
- do
- case $ac_arg in
- -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- continue ;;
- *\'*)
- ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- case $ac_pass in
- 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
- 2)
- as_fn_append ac_configure_args1 " '$ac_arg'"
- if test $ac_must_keep_next = true; then
- ac_must_keep_next=false # Got value, back to normal.
- else
- case $ac_arg in
- *=* | --config-cache | -C | -disable-* | --disable-* \
- | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
- | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
- | -with-* | --with-* | -without-* | --without-* | --x)
- case "$ac_configure_args0 " in
- "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
- esac
- ;;
- -* ) ac_must_keep_next=true ;;
- esac
- fi
- as_fn_append ac_configure_args " '$ac_arg'"
- ;;
- esac
- done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log. We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
- # Save into config.log some information that might help in debugging.
- {
- echo
-
- $as_echo "## ---------------- ##
-## Cache variables. ##
-## ---------------- ##"
- echo
- # The following way of writing the cache mishandles newlines in values,
-(
- for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
- (set) 2>&1 |
- case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- sed -n \
- "s/'\''/'\''\\\\'\'''\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
- ;; #(
- *)
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-)
- echo
-
- $as_echo "## ----------------- ##
-## Output variables. ##
-## ----------------- ##"
- echo
- for ac_var in $ac_subst_vars
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
-
- if test -n "$ac_subst_files"; then
- $as_echo "## ------------------- ##
-## File substitutions. ##
-## ------------------- ##"
- echo
- for ac_var in $ac_subst_files
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
- fi
-
- if test -s confdefs.h; then
- $as_echo "## ----------- ##
-## confdefs.h. ##
-## ----------- ##"
- echo
- cat confdefs.h
- echo
- fi
- test "$ac_signal" != 0 &&
- $as_echo "$as_me: caught signal $ac_signal"
- $as_echo "$as_me: exit $exit_status"
- } >&5
- rm -f core *.core core.conftest.* &&
- rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
- exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
- trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-$as_echo "/* confdefs.h */" > confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
- # We do not want a PATH search for config.site.
- case $CONFIG_SITE in #((
- -*) ac_site_file1=./$CONFIG_SITE;;
- */*) ac_site_file1=$CONFIG_SITE;;
- *) ac_site_file1=./$CONFIG_SITE;;
- esac
-elif test "x$prefix" != xNONE; then
- ac_site_file1=$prefix/share/config.site
- ac_site_file2=$prefix/etc/config.site
-else
- ac_site_file1=$ac_default_prefix/share/config.site
- ac_site_file2=$ac_default_prefix/etc/config.site
-fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
- test "x$ac_site_file" = xNONE && continue
- if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
- sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file" \
- || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5; }
- fi
-done
-
-if test -r "$cache_file"; then
- # Some versions of bash will fail to source /dev/null (special files
- # actually), so we avoid doing that. DJGPP emulates it as a regular file.
- if test /dev/null != "$cache_file" && test -f "$cache_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
- case $cache_file in
- [\\/]* | ?:[\\/]* ) . "$cache_file";;
- *) . "./$cache_file";;
- esac
- fi
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
- >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
- eval ac_old_set=\$ac_cv_env_${ac_var}_set
- eval ac_new_set=\$ac_env_${ac_var}_set
- eval ac_old_val=\$ac_cv_env_${ac_var}_value
- eval ac_new_val=\$ac_env_${ac_var}_value
- case $ac_old_set,$ac_new_set in
- set,)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,set)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,);;
- *)
- if test "x$ac_old_val" != "x$ac_new_val"; then
- # differences in whitespace do not lead to failure.
- ac_old_val_w=`echo x $ac_old_val`
- ac_new_val_w=`echo x $ac_new_val`
- if test "$ac_old_val_w" != "$ac_new_val_w"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- ac_cache_corrupted=:
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
- eval $ac_var=\$ac_old_val
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
-$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
-$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
- fi;;
- esac
- # Pass precious variables to config.status.
- if test "$ac_new_set" = set; then
- case $ac_new_val in
- *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
- *) ac_arg=$ac_var=$ac_new_val ;;
- esac
- case " $ac_configure_args " in
- *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
- *) as_fn_append ac_configure_args " '$ac_arg'" ;;
- esac
- fi
-done
-if $ac_cache_corrupted; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-ac_config_headers="$ac_config_headers fficonfig.h"
-
-
-ac_aux_dir=
-for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
- if test -f "$ac_dir/install-sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f "$ac_dir/install.sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- elif test -f "$ac_dir/shtool"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/shtool install -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
-
-
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
- as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if ${ac_cv_build+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
- ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
- as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if ${ac_cv_host+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "x$host_alias" = x; then
- ac_cv_host=$ac_cv_build
-else
- ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
-$as_echo_n "checking target system type... " >&6; }
-if ${ac_cv_target+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "x$target_alias" = x; then
- ac_cv_target=$ac_cv_host
-else
- ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
-$as_echo "$ac_cv_target" >&6; }
-case $ac_cv_target in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
-esac
-target=$ac_cv_target
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_target
-shift
-target_cpu=$1
-target_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-target_os=$*
-IFS=$ac_save_IFS
-case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
-
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-test -n "$target_alias" &&
- test "$program_prefix$program_suffix$program_transform_name" = \
- NONENONEs,x,x, &&
- program_prefix=${target_alias}-
-
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-am__api_version='1.11'
-
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-# Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
-if test -z "$INSTALL"; then
-if ${ac_cv_path_install+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in #((
- ./ | .// | /[cC]/* | \
- /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
- ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
- /usr/ucb/* ) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
- if test $ac_prog = install &&
- grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- elif test $ac_prog = install &&
- grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # program-specific install script used by HP pwplus--don't use.
- :
- else
- rm -rf conftest.one conftest.two conftest.dir
- echo one > conftest.one
- echo two > conftest.two
- mkdir conftest.dir
- if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
- test -s conftest.one && test -s conftest.two &&
- test -s conftest.dir/conftest.one &&
- test -s conftest.dir/conftest.two
- then
- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
- break 3
- fi
- fi
- fi
- done
- done
- ;;
-esac
-
- done
-IFS=$as_save_IFS
-
-rm -rf conftest.one conftest.two conftest.dir
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL=$ac_cv_path_install
- else
- # As a last resort, use the slow shell script. Don't cache a
- # value for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- INSTALL=$ac_install_sh
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
-$as_echo_n "checking whether build environment is sane... " >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name. Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
- *[\\\"\#\$\&\'\`$am_lf]*)
- as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
-esac
-case $srcdir in
- *[\\\"\#\$\&\'\`$am_lf\ \ ]*)
- as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
-esac
-
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
- if test "$*" = "X"; then
- # -L didn't work.
- set X `ls -t "$srcdir/configure" conftest.file`
- fi
- rm -f conftest.file
- if test "$*" != "X $srcdir/configure conftest.file" \
- && test "$*" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
-alias in your environment" "$LINENO" 5
- fi
-
- test "$2" = conftest.file
- )
-then
- # Ok.
- :
-else
- as_fn_error $? "newly created file is older than distributed files!
-Check your system clock" "$LINENO" 5
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-test "$program_prefix" != NONE &&
- program_transform_name="s&^&$program_prefix&;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
- program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $.
-# By default was `s,x,x', remove it if useless.
-ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
-if test x"${MISSING+set}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
- *)
- MISSING="\${SHELL} $am_aux_dir/missing" ;;
- esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
-else
- am_missing_run=
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
-fi
-
-if test x"${install_sh}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
- *)
- install_sh="\${SHELL} $am_aux_dir/install-sh"
- esac
-fi
-
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_STRIP="strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_STRIP" = x; then
- STRIP=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- STRIP=$ac_ct_STRIP
- fi
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
-$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
-if test -z "$MKDIR_P"; then
- if ${ac_cv_path_mkdir+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in mkdir gmkdir; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
- case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
- 'mkdir (GNU coreutils) '* | \
- 'mkdir (coreutils) '* | \
- 'mkdir (fileutils) '4.1*)
- ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
- break 3;;
- esac
- done
- done
- done
-IFS=$as_save_IFS
-
-fi
-
- test -d ./--version && rmdir ./--version
- if test "${ac_cv_path_mkdir+set}" = set; then
- MKDIR_P="$ac_cv_path_mkdir -p"
- else
- # As a last resort, use the slow shell script. Don't cache a
- # value for MKDIR_P within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- MKDIR_P="$ac_install_sh -d"
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
-$as_echo "$MKDIR_P" >&6; }
-
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
- [\\/$]* | ?:[\\/]*) ;;
- */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-
-for ac_prog in gawk mawk nawk awk
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AWK+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$AWK"; then
- ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_AWK="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$AWK" && break
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
- @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
- *@@@%%%=?*=@@@%%%*)
- eval ac_cv_prog_make_${ac_make}_set=yes;;
- *)
- eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- SET_MAKE=
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
- am__leading_dot=.
-else
- am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
- # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
- # is not polluted with repeated "-I."
- am__isrc=' -I$(srcdir)'
- # test to see if srcdir already configured
- if test -f $srcdir/config.status; then
- as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
- fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
- if (cygpath --version) >/dev/null 2>/dev/null; then
- CYGPATH_W='cygpath -w'
- else
- CYGPATH_W=echo
- fi
-fi
-
-
-# Define the identity of the package.
- PACKAGE='libffi'
- VERSION='3.0.11-rc2'
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE "$PACKAGE"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define VERSION "$VERSION"
-_ACEOF
-
-# Some tools Automake needs.
-
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-
-
-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-
-
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-
-
-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-
-
-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
-# Always define AMTAR for backward compatibility.
-
-AMTAR=${AMTAR-"${am_missing_run}tar"}
-
-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
-
-
-
-
-
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-# Also save and restore CFLAGS, since AC_PROG_CC will come up with
-# defaults of its own if none are provided.
-
-
-
-save_CFLAGS=$CFLAGS
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="${ac_tool_prefix}gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_CC="gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-else
- CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="${ac_tool_prefix}cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- fi
-fi
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# != 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
- fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- for ac_prog in cl.exe
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$CC" && break
- done
-fi
-if test -z "$CC"; then
- ac_ct_CC=$CC
- for ac_prog in cl.exe
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_CC="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_CC" && break
-done
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
- { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compiler $ac_option >&5") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- sed '10a\
-... rest of stderr output deleted ...
- 10q' conftest.err >conftest.er1
- cat conftest.er1 >&5
- fi
- rm -f conftest.er1 conftest.err
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- * ) ac_rmfiles="$ac_rmfiles $ac_file";;
- esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link_default") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile. We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
- ;;
- [ab].out )
- # We found the default executable, but exeext='' is most
- # certainly right.
- break;;
- *.* )
- if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
- then :; else
- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- fi
- # We set ac_cv_exeext here because the later test for it is not
- # safe: cross compilers may not add the suffix if given an `-o'
- # argument, so we may need to know it at that point already.
- # Even if this section looks crufty: it has the advantage of
- # actually working.
- break;;
- * )
- break;;
- esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
- ac_file=''
-fi
-if test -z "$ac_file"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-ac_exeext=$ac_cv_exeext
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- break;;
- * ) break;;
- esac
-done
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdio.h>
-int
-main ()
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
- { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if { ac_try='./conftest$ac_cv_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- cross_compiling=no
- else
- if test "$cross_compiling" = maybe; then
- cross_compiling=yes
- else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5; }
- fi
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- for ac_file in conftest.o conftest.obj conftest.*; do
- test -f "$ac_file" || continue;
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
- *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
- break;;
- esac
-done
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-#ifndef __GNUC__
- choke me
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_compiler_gnu=yes
-else
- ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
- GCC=yes
-else
- GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_save_c_werror_flag=$ac_c_werror_flag
- ac_c_werror_flag=yes
- ac_cv_prog_cc_g=no
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-else
- CFLAGS=""
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
- ac_c_werror_flag=$ac_save_c_werror_flag
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
- CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
- if test "$GCC" = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-g"
- fi
-else
- if test "$GCC" = yes; then
- CFLAGS="-O2"
- else
- CFLAGS=
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
- char **p;
- int i;
-{
- return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
- char *s;
- va_list v;
- va_start (v,p);
- s = g (p, va_arg (v,int));
- va_end (v);
- return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
- function prototypes and stuff, but not '\xHH' hex character constants.
- These don't provoke an error unfortunately, instead are silently treated
- as 'x'. The following induces an error, until -std is added to get
- proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
- array size at least. It's necessary to write '\x00'==0 to get something
- that's true only with -std. */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
- inside strings and character constants. */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
- ;
- return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
- -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
- CC="$ac_save_CC $ac_arg"
- if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
- test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
- x)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
- xno)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
- *)
- CC="$CC $ac_cv_prog_cc_c89"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
-
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
- @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
-$as_echo_n "checking for style of include used by $am_make... " >&6; }
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
- am__include=include
- am__quote=
- _am_result=GNU
- ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- case `$am_make -s -f confmf 2> /dev/null` in #(
- *the\ am__doit\ target*)
- am__include=.include
- am__quote="\""
- _am_result=BSD
- ;;
- esac
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
-rm -f confinc confmf
-
-# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then :
- enableval=$enable_dependency_tracking;
-fi
-
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
-fi
- if test "x$enable_dependency_tracking" != xno; then
- AMDEP_TRUE=
- AMDEP_FALSE='#'
-else
- AMDEP_TRUE='#'
- AMDEP_FALSE=
-fi
-
-
-
-depcc="$CC" am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CC_dependencies_compiler_type+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_CC_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
- fi
- am__universal=false
- case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac
-
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs
- am__obj=sub/conftest.${OBJEXT-o}
- am__minus_obj="-o $am__obj"
- case $depmode in
- gcc)
- # This depmode causes a compiler race in universal mode.
- test "$am__universal" = false || continue
- ;;
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- msvisualcpp | msvcmsys)
- # This compiler won't grok `-c -o', but also, the minuso test has
- # not run yet. These depmodes are late enough in the game, and
- # so weak that their functioning should not be impacted.
- am__obj=conftest.${OBJEXT-o}
- am__minus_obj=
- ;;
- none) break ;;
- esac
- if depmode=$depmode \
- source=sub/conftest.c object=$am__obj \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_CC_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
- am__fastdepCC_TRUE=
- am__fastdepCC_FALSE='#'
-else
- am__fastdepCC_TRUE='#'
- am__fastdepCC_FALSE=
-fi
-
-
-CFLAGS=$save_CFLAGS
-
-
-
-
-
-# By default we simply use the C compiler to build assembly code.
-
-test "${CCAS+set}" = set || CCAS=$CC
-test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
-
-
-
-depcc="$CCAS" am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CCAS_dependencies_compiler_type+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_CCAS_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
- fi
- am__universal=false
-
-
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs
- am__obj=sub/conftest.${OBJEXT-o}
- am__minus_obj="-o $am__obj"
- case $depmode in
- gcc)
- # This depmode causes a compiler race in universal mode.
- test "$am__universal" = false || continue
- ;;
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- msvisualcpp | msvcmsys)
- # This compiler won't grok `-c -o', but also, the minuso test has
- # not run yet. These depmodes are late enough in the game, and
- # so weak that their functioning should not be impacted.
- am__obj=conftest.${OBJEXT-o}
- am__minus_obj=
- ;;
- none) break ;;
- esac
- if depmode=$depmode \
- source=sub/conftest.c object=$am__obj \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_CCAS_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_CCAS_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CCAS_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CCAS_dependencies_compiler_type" >&6; }
-CCASDEPMODE=depmode=$am_cv_CCAS_dependencies_compiler_type
-
- if
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CCAS_dependencies_compiler_type" = gcc3; then
- am__fastdepCCAS_TRUE=
- am__fastdepCCAS_FALSE='#'
-else
- am__fastdepCCAS_TRUE='#'
- am__fastdepCCAS_FALSE=
-fi
-
-
-if test "x$CC" != xcc; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
-$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5
-$as_echo_n "checking whether cc understands -c and -o together... " >&6; }
-fi
-set dummy $CC; ac_cc=`$as_echo "$2" |
- sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-# Make sure it works both with $CC and with simple cc.
-# We do the test twice because some compilers refuse to overwrite an
-# existing .o file with -o, though they will create one.
-ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-rm -f conftest2.*
-if { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } &&
- test -f conftest2.$ac_objext && { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; };
-then
- eval ac_cv_prog_cc_${ac_cc}_c_o=yes
- if test "x$CC" != xcc; then
- # Test first that cc exists at all.
- if { ac_try='cc -c conftest.$ac_ext >&5'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
- rm -f conftest2.*
- if { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } &&
- test -f conftest2.$ac_objext && { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; };
- then
- # cc works too.
- :
- else
- # cc exists but doesn't like -o.
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
- fi
- fi
- fi
-else
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
-fi
-rm -f core conftest*
-
-fi
-if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h
-
-fi
-
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
- # Losing compiler, so override with the script.
- # FIXME: It is wrong to rewrite CC.
- # But if we don't then we get into trouble of one sort or another.
- # A longer-term fix would be to have automake use am__CC in this case,
- # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
- CC="$am_aux_dir/compile $CC"
-fi
-
-
-case `pwd` in
- *\ * | *\ *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
-$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
-esac
-
-
-
-macro_version='2.4'
-macro_revision='1.3293'
-
-
-
-
-
-
-
-
-
-
-
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-# Backslashify metacharacters that are still active within
-# double-quoted strings.
-sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
-$as_echo_n "checking how to print strings... " >&6; }
-# Test print first, because it will be a builtin if present.
-if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
- test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
- ECHO='print -r --'
-elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
- ECHO='printf %s\n'
-else
- # Use this function as a fallback that always works.
- func_fallback_echo ()
- {
- eval 'cat <<_LTECHO_EOF
-$1
-_LTECHO_EOF'
- }
- ECHO='func_fallback_echo'
-fi
-
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
- $ECHO ""
-}
-
-case "$ECHO" in
- printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
-$as_echo "printf" >&6; } ;;
- print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
-$as_echo "print -r" >&6; } ;;
- *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
-$as_echo "cat" >&6; } ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
-$as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if ${ac_cv_path_SED+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
- for ac_i in 1 2 3 4 5 6 7; do
- ac_script="$ac_script$as_nl$ac_script"
- done
- echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
- { ac_script=; unset ac_script;}
- if test -z "$SED"; then
- ac_path_SED_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in sed gsed; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
-# Check for GNU ac_path_SED and select it if it is found.
- # Check for GNU $ac_path_SED
-case `"$ac_path_SED" --version 2>&1` in
-*GNU*)
- ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo '' >> "conftest.nl"
- "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_SED_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_SED="$ac_path_SED"
- ac_path_SED_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_SED_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_SED"; then
- as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
- fi
-else
- ac_cv_path_SED=$SED
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
-$as_echo "$ac_cv_path_SED" >&6; }
- SED="$ac_cv_path_SED"
- rm -f conftest.sed
-
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$GREP"; then
- ac_path_GREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in grep ggrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
-# Check for GNU ac_path_GREP and select it if it is found.
- # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'GREP' >> "conftest.nl"
- "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_GREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_GREP="$ac_path_GREP"
- ac_path_GREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_GREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_GREP"; then
- as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
- then ac_cv_path_EGREP="$GREP -E"
- else
- if test -z "$EGREP"; then
- ac_path_EGREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in egrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
- # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'EGREP' >> "conftest.nl"
- "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_EGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_EGREP="$ac_path_EGREP"
- ac_path_EGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_EGREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_EGREP"; then
- as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_EGREP=$EGREP
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
-$as_echo_n "checking for fgrep... " >&6; }
-if ${ac_cv_path_FGREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
- then ac_cv_path_FGREP="$GREP -F"
- else
- if test -z "$FGREP"; then
- ac_path_FGREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in fgrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
-# Check for GNU ac_path_FGREP and select it if it is found.
- # Check for GNU $ac_path_FGREP
-case `"$ac_path_FGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'FGREP' >> "conftest.nl"
- "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_FGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_FGREP="$ac_path_FGREP"
- ac_path_FGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_FGREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_FGREP"; then
- as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_FGREP=$FGREP
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
-$as_echo "$ac_cv_path_FGREP" >&6; }
- FGREP="$ac_cv_path_FGREP"
-
-
-test -z "$GREP" && GREP=grep
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then :
- withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
- with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test "$GCC" = yes; then
- # Check if gcc -print-prog-name=ld gives a path.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
-$as_echo_n "checking for ld used by $CC... " >&6; }
- case $host in
- *-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case $ac_prog in
- # Accept absolute paths.
- [\\/]* | ?:[\\/]*)
- re_direlt='/[^/][^/]*/\.\./'
- # Canonicalize the pathname of ld
- ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
- while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
- done
- test -z "$LD" && LD="$ac_prog"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if ${lt_cv_path_LD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$LD"; then
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- lt_cv_path_LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some variants of GNU ld only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
- *GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break
- ;;
- *)
- test "$with_gnu_ld" != yes && break
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
-else
- lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
-$as_echo "$LD" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if ${lt_cv_prog_gnu_ld+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
- lt_cv_prog_gnu_ld=yes
- ;;
-*)
- lt_cv_prog_gnu_ld=no
- ;;
-esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
-$as_echo "$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
-$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if ${lt_cv_path_NM+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$NM"; then
- # Let the user override the test.
- lt_cv_path_NM="$NM"
-else
- lt_nm_to_check="${ac_tool_prefix}nm"
- if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
- lt_nm_to_check="$lt_nm_to_check nm"
- fi
- for lt_tmp_nm in $lt_nm_to_check; do
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- tmp_nm="$ac_dir/$lt_tmp_nm"
- if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
- # Check to see if the nm accepts a BSD-compat flag.
- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
- # nm: unknown option "B" ignored
- # Tru64's nm complains that /dev/null is an invalid object file
- case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
- */dev/null* | *'Invalid file or object type'*)
- lt_cv_path_NM="$tmp_nm -B"
- break
- ;;
- *)
- case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
- */dev/null*)
- lt_cv_path_NM="$tmp_nm -p"
- break
- ;;
- *)
- lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
- continue # so that we can try to find one that supports BSD flags
- ;;
- esac
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
- done
- : ${lt_cv_path_NM=no}
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
-$as_echo "$lt_cv_path_NM" >&6; }
-if test "$lt_cv_path_NM" != "no"; then
- NM="$lt_cv_path_NM"
-else
- # Didn't find any BSD compatible name lister, look for dumpbin.
- if test -n "$DUMPBIN"; then :
- # Let the user override the test.
- else
- if test -n "$ac_tool_prefix"; then
- for ac_prog in dumpbin "link -dump"
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DUMPBIN+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$DUMPBIN"; then
- ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-DUMPBIN=$ac_cv_prog_DUMPBIN
-if test -n "$DUMPBIN"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
-$as_echo "$DUMPBIN" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$DUMPBIN" && break
- done
-fi
-if test -z "$DUMPBIN"; then
- ac_ct_DUMPBIN=$DUMPBIN
- for ac_prog in dumpbin "link -dump"
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_DUMPBIN"; then
- ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
-if test -n "$ac_ct_DUMPBIN"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
-$as_echo "$ac_ct_DUMPBIN" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_DUMPBIN" && break
-done
-
- if test "x$ac_ct_DUMPBIN" = x; then
- DUMPBIN=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- DUMPBIN=$ac_ct_DUMPBIN
- fi
-fi
-
- case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
- *COFF*)
- DUMPBIN="$DUMPBIN -symbols"
- ;;
- *)
- DUMPBIN=:
- ;;
- esac
- fi
-
- if test "$DUMPBIN" != ":"; then
- NM="$DUMPBIN"
- fi
-fi
-test -z "$NM" && NM=nm
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
-$as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if ${lt_cv_nm_interface+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_nm_interface="BSD nm"
- echo "int some_variable = 0;" > conftest.$ac_ext
- (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
- (eval "$ac_compile" 2>conftest.err)
- cat conftest.err >&5
- (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
- (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
- cat conftest.err >&5
- (eval echo "\"\$as_me:$LINENO: output\"" >&5)
- cat conftest.out >&5
- if $GREP 'External.*some_variable' conftest.out > /dev/null; then
- lt_cv_nm_interface="MS dumpbin"
- fi
- rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
-$as_echo "$lt_cv_nm_interface" >&6; }
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
-$as_echo_n "checking whether ln -s works... " >&6; }
-LN_S=$as_ln_s
-if test "$LN_S" = "ln -s"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
-$as_echo "no, using $LN_S" >&6; }
-fi
-
-# find the maximum length of command line arguments
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
-$as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if ${lt_cv_sys_max_cmd_len+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- i=0
- teststring="ABCD"
-
- case $build_os in
- msdosdjgpp*)
- # On DJGPP, this test can blow up pretty badly due to problems in libc
- # (any single argument exceeding 2000 bytes causes a buffer overrun
- # during glob expansion). Even if it were fixed, the result of this
- # check would be larger than it should be.
- lt_cv_sys_max_cmd_len=12288; # 12K is about right
- ;;
-
- gnu*)
- # Under GNU Hurd, this test is not required because there is
- # no limit to the length of command line arguments.
- # Libtool will interpret -1 as no limit whatsoever
- lt_cv_sys_max_cmd_len=-1;
- ;;
-
- cygwin* | mingw* | cegcc*)
- # On Win9x/ME, this test blows up -- it succeeds, but takes
- # about 5 minutes as the teststring grows exponentially.
- # Worse, since 9x/ME are not pre-emptively multitasking,
- # you end up with a "frozen" computer, even though with patience
- # the test eventually succeeds (with a max line length of 256k).
- # Instead, let's just punt: use the minimum linelength reported by
- # all of the supported platforms: 8192 (on NT/2K/XP).
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- mint*)
- # On MiNT this can take a long time and run out of memory.
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- amigaos*)
- # On AmigaOS with pdksh, this test takes hours, literally.
- # So we just punt and use a minimum line length of 8192.
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
- # This has been around since 386BSD, at least. Likely further.
- if test -x /sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
- elif test -x /usr/sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
- else
- lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
- fi
- # And add a safety zone
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- ;;
-
- interix*)
- # We know the value 262144 and hardcode it with a safety zone (like BSD)
- lt_cv_sys_max_cmd_len=196608
- ;;
-
- osf*)
- # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
- # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
- # nice to cause kernel panics so lets avoid the loop below.
- # First set a reasonable default.
- lt_cv_sys_max_cmd_len=16384
- #
- if test -x /sbin/sysconfig; then
- case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
- *1*) lt_cv_sys_max_cmd_len=-1 ;;
- esac
- fi
- ;;
- sco3.2v5*)
- lt_cv_sys_max_cmd_len=102400
- ;;
- sysv5* | sco5v6* | sysv4.2uw2*)
- kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
- if test -n "$kargmax"; then
- lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
- else
- lt_cv_sys_max_cmd_len=32768
- fi
- ;;
- *)
- lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
- if test -n "$lt_cv_sys_max_cmd_len"; then
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- else
- # Make teststring a little bigger before we do anything with it.
- # a 1K string should be a reasonable start.
- for i in 1 2 3 4 5 6 7 8 ; do
- teststring=$teststring$teststring
- done
- SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
- # If test is not a shell built-in, we'll probably end up computing a
- # maximum length that is only half of the actual maximum length, but
- # we can't tell.
- while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
- = "X$teststring$teststring"; } >/dev/null 2>&1 &&
- test $i != 17 # 1/2 MB should be enough
- do
- i=`expr $i + 1`
- teststring=$teststring$teststring
- done
- # Only check the string length outside the loop.
- lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
- teststring=
- # Add a significant safety factor because C++ compilers can tack on
- # massive amounts of additional arguments before passing them to the
- # linker. It appears as though 1/2 is a usable value.
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
- fi
- ;;
- esac
-
-fi
-
-if test -n $lt_cv_sys_max_cmd_len ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
-$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
-$as_echo "none" >&6; }
-fi
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-
-
-
-
-
-: ${CP="cp -f"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
-$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
- test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
- = c,a/b,b/c, \
- && eval 'test $(( 1 + 1 )) -eq 2 \
- && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
- && xsi_shell=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
-$as_echo "$xsi_shell" >&6; }
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
-$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
- >/dev/null 2>&1 \
- && lt_shell_append=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
-$as_echo "$lt_shell_append" >&6; }
-
-
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- lt_unset=unset
-else
- lt_unset=false
-fi
-
-
-
-
-
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
- # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
- lt_SP2NL='tr \040 \012'
- lt_NL2SP='tr \015\012 \040\040'
- ;;
- *) # EBCDIC based system
- lt_SP2NL='tr \100 \n'
- lt_NL2SP='tr \r\n \100\100'
- ;;
-esac
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
-$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
-if ${lt_cv_to_host_file_cmd+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $host in
- *-*-mingw* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
- ;;
- *-*-cygwin* )
- lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
- ;;
- * ) # otherwise, assume *nix
- lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
- ;;
- esac
- ;;
- *-*-cygwin* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
- ;;
- *-*-cygwin* )
- lt_cv_to_host_file_cmd=func_convert_file_noop
- ;;
- * ) # otherwise, assume *nix
- lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
- ;;
- esac
- ;;
- * ) # unhandled hosts (and "normal" native builds)
- lt_cv_to_host_file_cmd=func_convert_file_noop
- ;;
-esac
-
-fi
-
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
-$as_echo "$lt_cv_to_host_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
-$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
-if ${lt_cv_to_tool_file_cmd+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- #assume ordinary cross tools, or native build.
-lt_cv_to_tool_file_cmd=func_convert_file_noop
-case $host in
- *-*-mingw* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
- ;;
- esac
- ;;
-esac
-
-fi
-
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
-$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
-$as_echo_n "checking for $LD option to reload object files... " >&6; }
-if ${lt_cv_ld_reload_flag+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ld_reload_flag='-r'
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
-$as_echo "$lt_cv_ld_reload_flag" >&6; }
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
- cygwin* | mingw* | pw32* | cegcc*)
- if test "$GCC" != yes; then
- reload_cmds=false
- fi
- ;;
- darwin*)
- if test "$GCC" = yes; then
- reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
- else
- reload_cmds='$LD$reload_flag -o $output$reload_objs'
- fi
- ;;
-esac
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
-set dummy ${ac_tool_prefix}objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OBJDUMP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$OBJDUMP"; then
- ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-OBJDUMP=$ac_cv_prog_OBJDUMP
-if test -n "$OBJDUMP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
-$as_echo "$OBJDUMP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OBJDUMP"; then
- ac_ct_OBJDUMP=$OBJDUMP
- # Extract the first word of "objdump", so it can be a program name with args.
-set dummy objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_OBJDUMP"; then
- ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_OBJDUMP="objdump"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
-if test -n "$ac_ct_OBJDUMP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
-$as_echo "$ac_ct_OBJDUMP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_OBJDUMP" = x; then
- OBJDUMP="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- OBJDUMP=$ac_ct_OBJDUMP
- fi
-else
- OBJDUMP="$ac_cv_prog_OBJDUMP"
-fi
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
-$as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if ${lt_cv_deplibs_check_method+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[4-9]*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-beos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-bsdi[45]*)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
- lt_cv_file_magic_cmd='/usr/bin/file -L'
- lt_cv_file_magic_test_file=/shlib/libc.so
- ;;
-
-cygwin*)
- # func_win32_libid is a shell function defined in ltmain.sh
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- ;;
-
-mingw* | pw32*)
- # Base MSYS/MinGW do not provide the 'file' command needed by
- # func_win32_libid shell function, so use a weaker test based on 'objdump',
- # unless we find 'file', for example because we are cross-compiling.
- # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
- if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- else
- # Keep this pattern in sync with the one in func_win32_libid.
- lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- fi
- ;;
-
-cegcc*)
- # use the weaker test based on 'objdump'. See mingw*.
- lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- ;;
-
-darwin* | rhapsody*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-freebsd* | dragonfly*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
- case $host_cpu in
- i*86 )
- # Not sure whether the presence of OpenBSD here was a mistake.
- # Let's accept both of them until this is cleared up.
- lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
- ;;
- esac
- else
- lt_cv_deplibs_check_method=pass_all
- fi
- ;;
-
-gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-haiku*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-hpux10.20* | hpux11*)
- lt_cv_file_magic_cmd=/usr/bin/file
- case $host_cpu in
- ia64*)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
- lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
- ;;
- hppa*64*)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
- lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
- ;;
- *)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
- lt_cv_file_magic_test_file=/usr/lib/libc.sl
- ;;
- esac
- ;;
-
-interix[3-9]*)
- # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $LD in
- *-32|*"-32 ") libmagic=32-bit;;
- *-n32|*"-n32 ") libmagic=N32;;
- *-64|*"-64 ") libmagic=64-bit;;
- *) libmagic=never-match;;
- esac
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
- fi
- ;;
-
-newos6*)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=/usr/lib/libnls.so
- ;;
-
-*nto* | *qnx*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-openbsd*)
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
- fi
- ;;
-
-osf3* | osf4* | osf5*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-rdos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-solaris*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sysv4 | sysv4.3*)
- case $host_vendor in
- motorola)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
- ;;
- ncr)
- lt_cv_deplibs_check_method=pass_all
- ;;
- sequent)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
- ;;
- sni)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
- lt_cv_file_magic_test_file=/lib/libc.so
- ;;
- siemens)
- lt_cv_deplibs_check_method=pass_all
- ;;
- pc)
- lt_cv_deplibs_check_method=pass_all
- ;;
- esac
- ;;
-
-tpf*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
-$as_echo "$lt_cv_deplibs_check_method" >&6; }
-
-file_magic_glob=
-want_nocaseglob=no
-if test "$build" = "$host"; then
- case $host_os in
- mingw* | pw32*)
- if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
- want_nocaseglob=yes
- else
- file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
- fi
- ;;
- esac
-fi
-
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DLLTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$DLLTOOL"; then
- ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-DLLTOOL=$ac_cv_prog_DLLTOOL
-if test -n "$DLLTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
-$as_echo "$DLLTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DLLTOOL"; then
- ac_ct_DLLTOOL=$DLLTOOL
- # Extract the first word of "dlltool", so it can be a program name with args.
-set dummy dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_DLLTOOL"; then
- ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_DLLTOOL="dlltool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
-if test -n "$ac_ct_DLLTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
-$as_echo "$ac_ct_DLLTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_DLLTOOL" = x; then
- DLLTOOL="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- DLLTOOL=$ac_ct_DLLTOOL
- fi
-else
- DLLTOOL="$ac_cv_prog_DLLTOOL"
-fi
-
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
-$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
-if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_sharedlib_from_linklib_cmd='unknown'
-
-case $host_os in
-cygwin* | mingw* | pw32* | cegcc*)
- # two different shell functions defined in ltmain.sh
- # decide which to use based on capabilities of $DLLTOOL
- case `$DLLTOOL --help 2>&1` in
- *--identify-strict*)
- lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
- ;;
- *)
- lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
- ;;
- esac
- ;;
-*)
- # fallback: assume linklib IS sharedlib
- lt_cv_sharedlib_from_linklib_cmd="$ECHO"
- ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
-$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
-sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
-test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- for ac_prog in ar
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$AR"; then
- ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$AR" && break
- done
-fi
-if test -z "$AR"; then
- ac_ct_AR=$AR
- for ac_prog in ar
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_AR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_AR"; then
- ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_AR="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-$as_echo "$ac_ct_AR" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_AR" && break
-done
-
- if test "x$ac_ct_AR" = x; then
- AR="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- AR=$ac_ct_AR
- fi
-fi
-
-: ${AR=ar}
-: ${AR_FLAGS=cru}
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
-$as_echo_n "checking for archiver @FILE support... " >&6; }
-if ${lt_cv_ar_at_file+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ar_at_file=no
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- echo conftest.$ac_objext > conftest.lst
- lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
- (eval $lt_ar_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if test "$ac_status" -eq 0; then
- # Ensure the archiver fails upon bogus file names.
- rm -f conftest.$ac_objext libconftest.a
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
- (eval $lt_ar_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if test "$ac_status" -ne 0; then
- lt_cv_ar_at_file=@
- fi
- fi
- rm -f conftest.* libconftest.a
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
-$as_echo "$lt_cv_ar_at_file" >&6; }
-
-if test "x$lt_cv_ar_at_file" = xno; then
- archiver_list_spec=
-else
- archiver_list_spec=$lt_cv_ar_at_file
-fi
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_STRIP="strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_STRIP" = x; then
- STRIP=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- STRIP=$ac_ct_STRIP
- fi
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
-
-test -z "$STRIP" && STRIP=:
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
- ac_ct_RANLIB=$RANLIB
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_RANLIB"; then
- ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_RANLIB="ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_RANLIB" = x; then
- RANLIB=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- RANLIB=$ac_ct_RANLIB
- fi
-else
- RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-test -z "$RANLIB" && RANLIB=:
-
-
-
-
-
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
- case $host_os in
- openbsd*)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
- ;;
- *)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
- ;;
- esac
- old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-
-case $host_os in
- darwin*)
- lock_old_archive_extraction=yes ;;
- *)
- lock_old_archive_extraction=no ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
-$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if ${lt_cv_sys_global_symbol_pipe+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix. What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Define system-specific variables.
-case $host_os in
-aix*)
- symcode='[BCDT]'
- ;;
-cygwin* | mingw* | pw32* | cegcc*)
- symcode='[ABCDGISTW]'
- ;;
-hpux*)
- if test "$host_cpu" = ia64; then
- symcode='[ABCDEGRST]'
- fi
- ;;
-irix* | nonstopux*)
- symcode='[BCDEGRST]'
- ;;
-osf*)
- symcode='[BCDEGQRST]'
- ;;
-solaris*)
- symcode='[BDRT]'
- ;;
-sco3.2v5*)
- symcode='[DT]'
- ;;
-sysv4.2uw2*)
- symcode='[DT]'
- ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
- symcode='[ABDT]'
- ;;
-sysv4)
- symcode='[DFNSTU]'
- ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
- symcode='[ABCDGIRSTW]' ;;
-esac
-
-# Transform an extracted symbol line into a proper C declaration.
-# Some systems (esp. on ia64) link data and code symbols differently,
-# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
- opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
- ;;
-esac
-
-# Try without a prefix underscore, then with it.
-for ac_symprfx in "" "_"; do
-
- # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
- symxfrm="\\1 $ac_symprfx\\2 \\2"
-
- # Write the raw and C identifiers.
- if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- # Fake it for dumpbin and say T for any non-static function
- # and D for any global variable.
- # Also find C++ and __fastcall symbols from MSVC++,
- # which start with @ or ?.
- lt_cv_sys_global_symbol_pipe="$AWK '"\
-" {last_section=section; section=\$ 3};"\
-" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-" \$ 0!~/External *\|/{next};"\
-" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-" {if(hide[section]) next};"\
-" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-" s[1]~/^[@?]/{print s[1], s[1]; next};"\
-" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
-" ' prfx=^$ac_symprfx"
- else
- lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
- fi
- lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
-
- # Check to see that the pipe works correctly.
- pipe_works=no
-
- rm -f conftest*
- cat > conftest.$ac_ext <<_LT_EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(void);
-void nm_test_func(void){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-_LT_EOF
-
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- # Now try to grab the symbols.
- nlist=conftest.nm
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
- (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s "$nlist"; then
- # Try sorting and uniquifying the output.
- if sort "$nlist" | uniq > "$nlist"T; then
- mv -f "$nlist"T "$nlist"
- else
- rm -f "$nlist"T
- fi
-
- # Make sure that we snagged all the symbols we need.
- if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
- if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
- cat <<_LT_EOF > conftest.$ac_ext
-/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-/* DATA imports from DLLs on WIN32 con't be const, because runtime
- relocations are performed -- see ld's documentation on pseudo-relocs. */
-# define LT_DLSYM_CONST
-#elif defined(__osf__)
-/* This system does not cope well with relocations in const data. */
-# define LT_DLSYM_CONST
-#else
-# define LT_DLSYM_CONST const
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_LT_EOF
- # Now generate the symbol file.
- eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
-
- cat <<_LT_EOF >> conftest.$ac_ext
-
-/* The mapping between symbol names and symbols. */
-LT_DLSYM_CONST struct {
- const char *name;
- void *address;
-}
-lt__PROGRAM__LTX_preloaded_symbols[] =
-{
- { "@PROGRAM@", (void *) 0 },
-_LT_EOF
- $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
- cat <<\_LT_EOF >> conftest.$ac_ext
- {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
- return lt__PROGRAM__LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-_LT_EOF
- # Now try linking the two files.
- mv conftest.$ac_objext conftstm.$ac_objext
- lt_globsym_save_LIBS=$LIBS
- lt_globsym_save_CFLAGS=$CFLAGS
- LIBS="conftstm.$ac_objext"
- CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext}; then
- pipe_works=yes
- fi
- LIBS=$lt_globsym_save_LIBS
- CFLAGS=$lt_globsym_save_CFLAGS
- else
- echo "cannot find nm_test_func in $nlist" >&5
- fi
- else
- echo "cannot find nm_test_var in $nlist" >&5
- fi
- else
- echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
- fi
- else
- echo "$progname: failed program was:" >&5
- cat conftest.$ac_ext >&5
- fi
- rm -rf conftest* conftst*
-
- # Do not use the global_symbol_pipe unless it works.
- if test "$pipe_works" = yes; then
- break
- else
- lt_cv_sys_global_symbol_pipe=
- fi
-done
-
-fi
-
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
- lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
-$as_echo "ok" >&6; }
-fi
-
-# Response file support.
-if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- nm_file_list_spec='@'
-elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
- nm_file_list_spec='@'
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
-$as_echo_n "checking for sysroot... " >&6; }
-
-# Check whether --with-sysroot was given.
-if test "${with_sysroot+set}" = set; then :
- withval=$with_sysroot;
-else
- with_sysroot=no
-fi
-
-
-lt_sysroot=
-case ${with_sysroot} in #(
- yes)
- if test "$GCC" = yes; then
- lt_sysroot=`$CC --print-sysroot 2>/dev/null`
- fi
- ;; #(
- /*)
- lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
- ;; #(
- no|'')
- ;; #(
- *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
-$as_echo "${with_sysroot}" >&6; }
- as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
- ;;
-esac
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
-$as_echo "${lt_sysroot:-no}" >&6; }
-
-
-
-
-
-# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then :
- enableval=$enable_libtool_lock;
-fi
-
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- case `/usr/bin/file conftest.$ac_objext` in
- *ELF-32*)
- HPUX_IA64_MODE="32"
- ;;
- *ELF-64*)
- HPUX_IA64_MODE="64"
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-*-*-irix6*)
- # Find out which ABI we are using.
- echo '#line '$LINENO' "configure"' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- if test "$lt_cv_prog_gnu_ld" = yes; then
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -melf32bsmip"
- ;;
- *N32*)
- LD="${LD-ld} -melf32bmipn32"
- ;;
- *64-bit*)
- LD="${LD-ld} -melf64bmip"
- ;;
- esac
- else
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -32"
- ;;
- *N32*)
- LD="${LD-ld} -n32"
- ;;
- *64-bit*)
- LD="${LD-ld} -64"
- ;;
- esac
- fi
- fi
- rm -rf conftest*
- ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- case `/usr/bin/file conftest.o` in
- *32-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_i386_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_i386"
- ;;
- ppc64-*linux*|powerpc64-*linux*)
- LD="${LD-ld} -m elf32ppclinux"
- ;;
- s390x-*linux*)
- LD="${LD-ld} -m elf_s390"
- ;;
- sparc64-*linux*)
- LD="${LD-ld} -m elf32_sparc"
- ;;
- esac
- ;;
- *64-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_x86_64_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_x86_64"
- ;;
- ppc*-*linux*|powerpc*-*linux*)
- LD="${LD-ld} -m elf64ppc"
- ;;
- s390*-*linux*|s390*-*tpf*)
- LD="${LD-ld} -m elf64_s390"
- ;;
- sparc*-*linux*)
- LD="${LD-ld} -m elf64_sparc"
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-
-*-*-sco3.2v5*)
- # On SCO OpenServer 5, we need -belf to get full-featured binaries.
- SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -belf"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
-$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if ${lt_cv_cc_needs_belf+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- lt_cv_cc_needs_belf=yes
-else
- lt_cv_cc_needs_belf=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
-$as_echo "$lt_cv_cc_needs_belf" >&6; }
- if test x"$lt_cv_cc_needs_belf" != x"yes"; then
- # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
- CFLAGS="$SAVE_CFLAGS"
- fi
- ;;
-sparc*-*solaris*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- case `/usr/bin/file conftest.o` in
- *64-bit*)
- case $lt_cv_prog_gnu_ld in
- yes*) LD="${LD-ld} -m elf64_sparc" ;;
- *)
- if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
- LD="${LD-ld} -64"
- fi
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-esac
-
-need_locks="$enable_libtool_lock"
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
-set dummy ${ac_tool_prefix}mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$MANIFEST_TOOL"; then
- ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
-if test -n "$MANIFEST_TOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
-$as_echo "$MANIFEST_TOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
- ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
- # Extract the first word of "mt", so it can be a program name with args.
-set dummy mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_MANIFEST_TOOL"; then
- ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
-if test -n "$ac_ct_MANIFEST_TOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
-$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_MANIFEST_TOOL" = x; then
- MANIFEST_TOOL=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
- fi
-else
- MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
-fi
-
-test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
-$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
-if ${lt_cv_path_mainfest_tool+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_path_mainfest_tool=no
- echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
- $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
- cat conftest.err >&5
- if $GREP 'Manifest Tool' conftest.out > /dev/null; then
- lt_cv_path_mainfest_tool=yes
- fi
- rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
-$as_echo "$lt_cv_path_mainfest_tool" >&6; }
-if test "x$lt_cv_path_mainfest_tool" != xyes; then
- MANIFEST_TOOL=:
-fi
-
-
-
-
-
-
- case $host_os in
- rhapsody* | darwin*)
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DSYMUTIL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$DSYMUTIL"; then
- ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-DSYMUTIL=$ac_cv_prog_DSYMUTIL
-if test -n "$DSYMUTIL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
-$as_echo "$DSYMUTIL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DSYMUTIL"; then
- ac_ct_DSYMUTIL=$DSYMUTIL
- # Extract the first word of "dsymutil", so it can be a program name with args.
-set dummy dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_DSYMUTIL"; then
- ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
-if test -n "$ac_ct_DSYMUTIL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
-$as_echo "$ac_ct_DSYMUTIL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_DSYMUTIL" = x; then
- DSYMUTIL=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- DSYMUTIL=$ac_ct_DSYMUTIL
- fi
-else
- DSYMUTIL="$ac_cv_prog_DSYMUTIL"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
-set dummy ${ac_tool_prefix}nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_NMEDIT+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$NMEDIT"; then
- ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-NMEDIT=$ac_cv_prog_NMEDIT
-if test -n "$NMEDIT"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
-$as_echo "$NMEDIT" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_NMEDIT"; then
- ac_ct_NMEDIT=$NMEDIT
- # Extract the first word of "nmedit", so it can be a program name with args.
-set dummy nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_NMEDIT"; then
- ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_NMEDIT="nmedit"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
-if test -n "$ac_ct_NMEDIT"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
-$as_echo "$ac_ct_NMEDIT" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_NMEDIT" = x; then
- NMEDIT=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- NMEDIT=$ac_ct_NMEDIT
- fi
-else
- NMEDIT="$ac_cv_prog_NMEDIT"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
-set dummy ${ac_tool_prefix}lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_LIPO+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$LIPO"; then
- ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-LIPO=$ac_cv_prog_LIPO
-if test -n "$LIPO"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
-$as_echo "$LIPO" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_LIPO"; then
- ac_ct_LIPO=$LIPO
- # Extract the first word of "lipo", so it can be a program name with args.
-set dummy lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_LIPO"; then
- ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_LIPO="lipo"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
-if test -n "$ac_ct_LIPO"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
-$as_echo "$ac_ct_LIPO" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_LIPO" = x; then
- LIPO=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- LIPO=$ac_ct_LIPO
- fi
-else
- LIPO="$ac_cv_prog_LIPO"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$OTOOL"; then
- ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL=$ac_cv_prog_OTOOL
-if test -n "$OTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
-$as_echo "$OTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL"; then
- ac_ct_OTOOL=$OTOOL
- # Extract the first word of "otool", so it can be a program name with args.
-set dummy otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_OTOOL"; then
- ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_OTOOL="otool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
-if test -n "$ac_ct_OTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
-$as_echo "$ac_ct_OTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_OTOOL" = x; then
- OTOOL=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- OTOOL=$ac_ct_OTOOL
- fi
-else
- OTOOL="$ac_cv_prog_OTOOL"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL64+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$OTOOL64"; then
- ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL64=$ac_cv_prog_OTOOL64
-if test -n "$OTOOL64"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
-$as_echo "$OTOOL64" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL64"; then
- ac_ct_OTOOL64=$OTOOL64
- # Extract the first word of "otool64", so it can be a program name with args.
-set dummy otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_OTOOL64"; then
- ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_OTOOL64="otool64"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
-if test -n "$ac_ct_OTOOL64"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
-$as_echo "$ac_ct_OTOOL64" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_OTOOL64" = x; then
- OTOOL64=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- OTOOL64=$ac_ct_OTOOL64
- fi
-else
- OTOOL64="$ac_cv_prog_OTOOL64"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
-$as_echo_n "checking for -single_module linker flag... " >&6; }
-if ${lt_cv_apple_cc_single_mod+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_apple_cc_single_mod=no
- if test -z "${LT_MULTI_MODULE}"; then
- # By default we will add the -single_module flag. You can override
- # by either setting the environment variable LT_MULTI_MODULE
- # non-empty at configure time, or by adding -multi_module to the
- # link flags.
- rm -rf libconftest.dylib*
- echo "int foo(void){return 1;}" > conftest.c
- echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
--dynamiclib -Wl,-single_module conftest.c" >&5
- $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
- -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
- _lt_result=$?
- if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
- lt_cv_apple_cc_single_mod=yes
- else
- cat conftest.err >&5
- fi
- rm -rf libconftest.dylib*
- rm -f conftest.*
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
-$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
-$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if ${lt_cv_ld_exported_symbols_list+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ld_exported_symbols_list=no
- save_LDFLAGS=$LDFLAGS
- echo "_main" > conftest.sym
- LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- lt_cv_ld_exported_symbols_list=yes
-else
- lt_cv_ld_exported_symbols_list=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
-$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
-$as_echo_n "checking for -force_load linker flag... " >&6; }
-if ${lt_cv_ld_force_load+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ld_force_load=no
- cat > conftest.c << _LT_EOF
-int forced_loaded() { return 2;}
-_LT_EOF
- echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
- $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
- echo "$AR cru libconftest.a conftest.o" >&5
- $AR cru libconftest.a conftest.o 2>&5
- echo "$RANLIB libconftest.a" >&5
- $RANLIB libconftest.a 2>&5
- cat > conftest.c << _LT_EOF
-int main() { return 0;}
-_LT_EOF
- echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
- $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
- _lt_result=$?
- if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
- lt_cv_ld_force_load=yes
- else
- cat conftest.err >&5
- fi
- rm -f conftest.err libconftest.a conftest conftest.c
- rm -rf conftest.dSYM
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
-$as_echo "$lt_cv_ld_force_load" >&6; }
- case $host_os in
- rhapsody* | darwin1.[012])
- _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
- darwin1.*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- darwin*) # darwin 5.x on
- # if running on 10.5 or later, the deployment target defaults
- # to the OS version, if on x86, and 10.4, the deployment
- # target defaults to 10.4. Don't you love it?
- case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
- 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- 10.[012]*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- 10.*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- esac
- ;;
- esac
- if test "$lt_cv_apple_cc_single_mod" = "yes"; then
- _lt_dar_single_mod='$single_module'
- fi
- if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
- _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
- else
- _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
- fi
- if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
- _lt_dsymutil='~$DSYMUTIL $lib || :'
- else
- _lt_dsymutil=
- fi
- ;;
- esac
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
- if ${ac_cv_prog_CPP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Double quotes because CPP needs to be expanded
- for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
- do
- ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
- break
-fi
-
- done
- ac_cv_prog_CPP=$CPP
-
-fi
- CPP=$ac_cv_prog_CPP
-else
- ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_header_stdc=yes
-else
- ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then :
- :
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- return 2;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
- inttypes.h stdint.h unistd.h
-do :
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_header in dlfcn.h
-do :
- ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
-"
-if test "x$ac_cv_header_dlfcn_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_DLFCN_H 1
-_ACEOF
-
-fi
-
-done
-
-
-
-
-
-# Set options
-
-
-
- enable_dlopen=no
-
-
- enable_win32_dll=no
-
-
- # Check whether --enable-shared was given.
-if test "${enable_shared+set}" = set; then :
- enableval=$enable_shared; p=${PACKAGE-default}
- case $enableval in
- yes) enable_shared=yes ;;
- no) enable_shared=no ;;
- *)
- enable_shared=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_shared=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_shared=yes
-fi
-
-
-
-
-
-
-
-
-
- # Check whether --enable-static was given.
-if test "${enable_static+set}" = set; then :
- enableval=$enable_static; p=${PACKAGE-default}
- case $enableval in
- yes) enable_static=yes ;;
- no) enable_static=no ;;
- *)
- enable_static=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_static=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_static=yes
-fi
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-pic was given.
-if test "${with_pic+set}" = set; then :
- withval=$with_pic; pic_mode="$withval"
-else
- pic_mode=default
-fi
-
-
-test -z "$pic_mode" && pic_mode=default
-
-
-
-
-
-
-
- # Check whether --enable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then :
- enableval=$enable_fast_install; p=${PACKAGE-default}
- case $enableval in
- yes) enable_fast_install=yes ;;
- no) enable_fast_install=no ;;
- *)
- enable_fast_install=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_fast_install=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_fast_install=yes
-fi
-
-
-
-
-
-
-
-
-
-
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-test -z "$LN_S" && LN_S="ln -s"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
-$as_echo_n "checking for objdir... " >&6; }
-if ${lt_cv_objdir+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
- lt_cv_objdir=.libs
-else
- # MS-DOS does not allow filenames that begin with a dot.
- lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
-$as_echo "$lt_cv_objdir" >&6; }
-objdir=$lt_cv_objdir
-
-
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define LT_OBJDIR "$lt_cv_objdir/"
-_ACEOF
-
-
-
-
-case $host_os in
-aix3*)
- # AIX sometimes has problems with the GCC collect2 program. For some
- # reason, if we set the COLLECT_NAMES environment variable, the problems
- # vanish in a puff of smoke.
- if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
- fi
- ;;
-esac
-
-# Global variables:
-ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$LD" && LD=ld
-test -z "$ac_objext" && ac_objext=o
-
-for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
-
-
-# Only perform the check for file, if the check method requires it
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-case $deplibs_check_method in
-file_magic*)
- if test "$file_magic_cmd" = '$MAGIC_CMD'; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
-$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $MAGIC_CMD in
-[\\/*] | ?:[\\/]*)
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- ;;
-*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
- for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/${ac_tool_prefix}file; then
- lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
- if test -n "$file_magic_test_file"; then
- case $deplibs_check_method in
- "file_magic "*)
- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- $EGREP "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
- fi ;;
- esac
- fi
- break
- fi
- done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
- ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-
-
-if test -z "$lt_cv_path_MAGIC_CMD"; then
- if test -n "$ac_tool_prefix"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
-$as_echo_n "checking for file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $MAGIC_CMD in
-[\\/*] | ?:[\\/]*)
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- ;;
-*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
- for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/file; then
- lt_cv_path_MAGIC_CMD="$ac_dir/file"
- if test -n "$file_magic_test_file"; then
- case $deplibs_check_method in
- "file_magic "*)
- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- $EGREP "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
- fi ;;
- esac
- fi
- break
- fi
- done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
- ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- else
- MAGIC_CMD=:
- fi
-fi
-
- fi
- ;;
-esac
-
-# Use C for the default configuration in the libtool script
-
-lt_save_CC="$CC"
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-objext=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-# Save the default compiler, since it gets overwritten when the other
-# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
-compiler_DEFAULT=$CC
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$RM conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$RM -r conftest*
-
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-if test -n "$compiler"; then
-
-lt_prog_compiler_no_builtin_flag=
-
-if test "$GCC" = yes; then
- case $cc_basename in
- nvcc*)
- lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
- *)
- lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
- esac
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_rtti_exceptions=no
- ac_outfile=conftest.$ac_objext
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="-fno-rtti -fno-exceptions"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_rtti_exceptions=yes
- fi
- fi
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
-
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
- lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
-else
- :
-fi
-
-fi
-
-
-
-
-
-
- lt_prog_compiler_wl=
-lt_prog_compiler_pic=
-lt_prog_compiler_static=
-
-
- if test "$GCC" = yes; then
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_static='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static='-Bstatic'
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- lt_prog_compiler_pic='-fPIC'
- ;;
- m68k)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
- ;;
- esac
- ;;
-
- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
-
- mingw* | cygwin* | pw32* | os2* | cegcc*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- # Although the cygwin gcc ignores -fPIC, still need this for old-style
- # (--disable-auto-import) libraries
- lt_prog_compiler_pic='-DDLL_EXPORT'
- ;;
-
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- lt_prog_compiler_pic='-fno-common'
- ;;
-
- haiku*)
- # PIC is the default for Haiku.
- # The "-static" flag exists, but is broken.
- lt_prog_compiler_static=
- ;;
-
- hpux*)
- # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
- # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
- # sets the default TLS model and affects inlining.
- case $host_cpu in
- hppa*64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic='-fPIC'
- ;;
- esac
- ;;
-
- interix[3-9]*)
- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- # Instead, we relocate shared libraries at runtime.
- ;;
-
- msdosdjgpp*)
- # Just because we use GCC doesn't mean we suddenly get shared libraries
- # on systems that don't support them.
- lt_prog_compiler_can_build_shared=no
- enable_shared=no
- ;;
-
- *nto* | *qnx*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- lt_prog_compiler_pic='-fPIC -shared'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- lt_prog_compiler_pic=-Kconform_pic
- fi
- ;;
-
- *)
- lt_prog_compiler_pic='-fPIC'
- ;;
- esac
-
- case $cc_basename in
- nvcc*) # Cuda Compiler Driver 2.2
- lt_prog_compiler_wl='-Xlinker '
- lt_prog_compiler_pic='-Xcompiler -fPIC'
- ;;
- esac
- else
- # PORTME Check for flag to pass linker flags through the system compiler.
- case $host_os in
- aix*)
- lt_prog_compiler_wl='-Wl,'
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static='-Bstatic'
- else
- lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
-
- mingw* | cygwin* | pw32* | os2* | cegcc*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- lt_prog_compiler_pic='-DDLL_EXPORT'
- ;;
-
- hpux9* | hpux10* | hpux11*)
- lt_prog_compiler_wl='-Wl,'
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic='+Z'
- ;;
- esac
- # Is there a better lt_prog_compiler_static that works with the bundled CC?
- lt_prog_compiler_static='${wl}-a ${wl}archive'
- ;;
-
- irix5* | irix6* | nonstopux*)
- lt_prog_compiler_wl='-Wl,'
- # PIC (with -KPIC) is the default.
- lt_prog_compiler_static='-non_shared'
- ;;
-
- linux* | k*bsd*-gnu | kopensolaris*-gnu)
- case $cc_basename in
- # old Intel for x86_64 which still supported -KPIC.
- ecc*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-static'
- ;;
- # icc used to be incompatible with GCC.
- # ICC 10 doesn't accept -KPIC any more.
- icc* | ifort*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-fPIC'
- lt_prog_compiler_static='-static'
- ;;
- # Lahey Fortran 8.1.
- lf95*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='--shared'
- lt_prog_compiler_static='--static'
- ;;
- nagfor*)
- # NAG Fortran compiler
- lt_prog_compiler_wl='-Wl,-Wl,,'
- lt_prog_compiler_pic='-PIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
- pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
- # Portland Group compilers (*not* the Pentium gcc compiler,
- # which looks to be a dead project)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-fpic'
- lt_prog_compiler_static='-Bstatic'
- ;;
- ccc*)
- lt_prog_compiler_wl='-Wl,'
- # All Alpha code is PIC.
- lt_prog_compiler_static='-non_shared'
- ;;
- xl* | bgxl* | bgf* | mpixl*)
- # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-qpic'
- lt_prog_compiler_static='-qstaticlink'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ F* | *Sun*Fortran*)
- # Sun Fortran 8.3 passes all unrecognized flags to the linker
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- lt_prog_compiler_wl=''
- ;;
- *Sun\ C*)
- # Sun C 5.9
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- lt_prog_compiler_wl='-Wl,'
- ;;
- esac
- ;;
- esac
- ;;
-
- newsos6)
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- *nto* | *qnx*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- lt_prog_compiler_pic='-fPIC -shared'
- ;;
-
- osf3* | osf4* | osf5*)
- lt_prog_compiler_wl='-Wl,'
- # All OSF/1 code is PIC.
- lt_prog_compiler_static='-non_shared'
- ;;
-
- rdos*)
- lt_prog_compiler_static='-non_shared'
- ;;
-
- solaris*)
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- case $cc_basename in
- f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
- lt_prog_compiler_wl='-Qoption ld ';;
- *)
- lt_prog_compiler_wl='-Wl,';;
- esac
- ;;
-
- sunos4*)
- lt_prog_compiler_wl='-Qoption ld '
- lt_prog_compiler_pic='-PIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- sysv4 | sysv4.2uw2* | sysv4.3*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec ;then
- lt_prog_compiler_pic='-Kconform_pic'
- lt_prog_compiler_static='-Bstatic'
- fi
- ;;
-
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- unicos*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_can_build_shared=no
- ;;
-
- uts4*)
- lt_prog_compiler_pic='-pic'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- *)
- lt_prog_compiler_can_build_shared=no
- ;;
- esac
- fi
-
-case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- lt_prog_compiler_pic=
- ;;
- *)
- lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
- ;;
-esac
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
-if ${lt_cv_prog_compiler_pic+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
-$as_echo "$lt_cv_prog_compiler_pic" >&6; }
-lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if ${lt_cv_prog_compiler_pic_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_pic_works=no
- ac_outfile=conftest.$ac_objext
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_pic_works=yes
- fi
- fi
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
-$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
- case $lt_prog_compiler_pic in
- "" | " "*) ;;
- *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
- esac
-else
- lt_prog_compiler_pic=
- lt_prog_compiler_can_build_shared=no
-fi
-
-fi
-
-
-
-
-
-
-
-
-
-
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if ${lt_cv_prog_compiler_static_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_static_works=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
- echo "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_static_works=yes
- fi
- else
- lt_cv_prog_compiler_static_works=yes
- fi
- fi
- $RM -r conftest*
- LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
-$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_static_works" = xyes; then
- :
-else
- lt_prog_compiler_static=
-fi
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_c_o=no
- $RM -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o=yes
- fi
- fi
- chmod u+w . 2>&5
- $RM conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
- $RM out/* && rmdir out
- cd ..
- $RM -r conftest
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_c_o=no
- $RM -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o=yes
- fi
- fi
- chmod u+w . 2>&5
- $RM conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
- $RM out/* && rmdir out
- cd ..
- $RM -r conftest
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
- # do not overwrite the value of need_locks provided by the user
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
-$as_echo_n "checking if we can lock with hard links... " >&6; }
- hard_links=yes
- $RM conftest*
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- touch conftest.a
- ln conftest.a conftest.b 2>&5 || hard_links=no
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
-$as_echo "$hard_links" >&6; }
- if test "$hard_links" = no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
- need_locks=warn
- fi
-else
- need_locks=no
-fi
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
-
- runpath_var=
- allow_undefined_flag=
- always_export_symbols=no
- archive_cmds=
- archive_expsym_cmds=
- compiler_needs_object=no
- enable_shared_with_static_runtimes=no
- export_dynamic_flag_spec=
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- hardcode_automatic=no
- hardcode_direct=no
- hardcode_direct_absolute=no
- hardcode_libdir_flag_spec=
- hardcode_libdir_flag_spec_ld=
- hardcode_libdir_separator=
- hardcode_minus_L=no
- hardcode_shlibpath_var=unsupported
- inherit_rpath=no
- link_all_deplibs=unknown
- module_cmds=
- module_expsym_cmds=
- old_archive_from_new_cmds=
- old_archive_from_expsyms_cmds=
- thread_safe_flag_spec=
- whole_archive_flag_spec=
- # include_expsyms should be a list of space-separated symbols to be *always*
- # included in the symbol list
- include_expsyms=
- # exclude_expsyms can be an extended regexp of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
- exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
- # platforms (ab)use it in PIC code, but their linkers get confused if
- # the symbol is explicitly referenced. Since portable code cannot
- # rely on this symbol name, it's probably fine to never include it in
- # preloaded symbol tables.
- # Exclude shared library initialization/finalization symbols.
- extract_expsyms_cmds=
-
- case $host_os in
- cygwin* | mingw* | pw32* | cegcc*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- if test "$GCC" != yes; then
- with_gnu_ld=no
- fi
- ;;
- interix*)
- # we just hope/assume this is gcc and not c89 (= MSVC++)
- with_gnu_ld=yes
- ;;
- openbsd*)
- with_gnu_ld=no
- ;;
- esac
-
- ld_shlibs=yes
-
- # On some targets, GNU ld is compatible enough with the native linker
- # that we're better off using the native interface for both.
- lt_use_gnu_ld_interface=no
- if test "$with_gnu_ld" = yes; then
- case $host_os in
- aix*)
- # The AIX port of GNU ld has always aspired to compatibility
- # with the native linker. However, as the warning in the GNU ld
- # block says, versions before 2.19.5* couldn't really create working
- # shared libraries, regardless of the interface used.
- case `$LD -v 2>&1` in
- *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
- *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
- *\ \(GNU\ Binutils\)\ [3-9]*) ;;
- *)
- lt_use_gnu_ld_interface=yes
- ;;
- esac
- ;;
- *)
- lt_use_gnu_ld_interface=yes
- ;;
- esac
- fi
-
- if test "$lt_use_gnu_ld_interface" = yes; then
- # If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
-
- # Set some defaults for GNU ld with shared library support. These
- # are reset later if shared libraries are not supported. Putting them
- # here allows them to be overridden if necessary.
- runpath_var=LD_RUN_PATH
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- export_dynamic_flag_spec='${wl}--export-dynamic'
- # ancient GNU ld didn't support --whole-archive et. al.
- if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
- whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- whole_archive_flag_spec=
- fi
- supports_anon_versioning=no
- case `$LD -v 2>&1` in
- *GNU\ gold*) supports_anon_versioning=yes ;;
- *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
- *\ 2.11.*) ;; # other 2.11 versions
- *) supports_anon_versioning=yes ;;
- esac
-
- # See if GNU ld supports shared libraries.
- case $host_os in
- aix[3-9]*)
- # On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
- ld_shlibs=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.19, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support. If you
-*** really care for shared libraries, you may want to install binutils
-*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
-*** You will then need to restart the configuration process.
-
-_LT_EOF
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds=''
- ;;
- m68k)
- archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- ;;
- esac
- ;;
-
- beos*)
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- allow_undefined_flag=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
-
- cygwin* | mingw* | pw32* | cegcc*)
- # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
- # as there is no search path for DLLs.
- hardcode_libdir_flag_spec='-L$libdir'
- export_dynamic_flag_spec='${wl}--export-all-symbols'
- allow_undefined_flag=unsupported
- always_export_symbols=no
- enable_shared_with_static_runtimes=yes
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
- exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
-
- if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- ld_shlibs=no
- fi
- ;;
-
- haiku*)
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- link_all_deplibs=yes
- ;;
-
- interix[3-9]*)
- hardcode_direct=no
- hardcode_shlibpath_var=no
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- export_dynamic_flag_spec='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
-
- gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
- tmp_diet=no
- if test "$host_os" = linux-dietlibc; then
- case $cc_basename in
- diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
- esac
- fi
- if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
- && test "$tmp_diet" = no
- then
- tmp_addflag=' $pic_flag'
- tmp_sharedflag='-shared'
- case $cc_basename,$host_cpu in
- pgcc*) # Portland Group C compiler
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag'
- ;;
- pgf77* | pgf90* | pgf95* | pgfortran*)
- # Portland Group f77 and f90 compilers
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag -Mnomain' ;;
- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
- tmp_addflag=' -i_dynamic' ;;
- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
- tmp_addflag=' -i_dynamic -nofor_main' ;;
- ifc* | ifort*) # Intel Fortran compiler
- tmp_addflag=' -nofor_main' ;;
- lf95*) # Lahey Fortran 8.1
- whole_archive_flag_spec=
- tmp_sharedflag='--shared' ;;
- xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
- tmp_sharedflag='-qmkshrobj'
- tmp_addflag= ;;
- nvcc*) # Cuda Compiler Driver 2.2
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- compiler_needs_object=yes
- ;;
- esac
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*) # Sun C 5.9
- whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- compiler_needs_object=yes
- tmp_sharedflag='-G' ;;
- *Sun\ F*) # Sun Fortran 8.3
- tmp_sharedflag='-G' ;;
- esac
- archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
- if test "x$supports_anon_versioning" = xyes; then
- archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- fi
-
- case $cc_basename in
- xlf* | bgf* | bgxlf* | mpixlf*)
- # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
- whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
- hardcode_libdir_flag_spec=
- hardcode_libdir_flag_spec_ld='-rpath $libdir'
- archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
- if test "x$supports_anon_versioning" = xyes; then
- archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
- fi
- ;;
- esac
- else
- ld_shlibs=no
- fi
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
- wlarc=
- else
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- fi
- ;;
-
- solaris*)
- if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
- ld_shlibs=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
- case `$LD -v 2>&1` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
- ld_shlibs=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- ;;
- *)
- # For security reasons, it is highly recommended that you always
- # use absolute paths for naming shared libraries, and exclude the
- # DT_RUNPATH tag from executables and libraries. But doing so
- # requires that you compile everything twice, which is a pain.
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
- esac
- ;;
-
- sunos4*)
- archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- wlarc=
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- *)
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
- esac
-
- if test "$ld_shlibs" = no; then
- runpath_var=
- hardcode_libdir_flag_spec=
- export_dynamic_flag_spec=
- whole_archive_flag_spec=
- fi
- else
- # PORTME fill in a description of your system's linker (not GNU ld)
- case $host_os in
- aix3*)
- allow_undefined_flag=unsupported
- always_export_symbols=yes
- archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
- # Note: this linker hardcodes the directories in LIBPATH if there
- # are no directories specified by -L.
- hardcode_minus_L=yes
- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
- # Neither direct hardcoding nor static linking is supported with a
- # broken collect2.
- hardcode_direct=unsupported
- fi
- ;;
-
- aix[4-9]*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- # Also, AIX nm treats weak defined symbols like other global
- # defined symbols, whereas GNU nm marks them as "W".
- if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
- export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- else
- export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- fi
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
- for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- aix_use_runtimelinking=yes
- break
- fi
- done
- ;;
- esac
-
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
-
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- archive_cmds=''
- hardcode_direct=yes
- hardcode_direct_absolute=yes
- hardcode_libdir_separator=':'
- link_all_deplibs=yes
- file_list_spec='${wl}-f,'
-
- if test "$GCC" = yes; then
- case $host_os in aix4.[012]|aix4.[012].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" &&
- strings "$collect2name" | $GREP resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- :
- else
- # We have old collect2
- hardcode_direct=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- hardcode_minus_L=yes
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_libdir_separator=
- fi
- ;;
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
-
- export_dynamic_flag_spec='${wl}-bexpall'
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- always_export_symbols=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- allow_undefined_flag='-berok'
- # Determine the default libpath from the value encoded in an
- # empty executable.
- if test "${lt_cv_aix_libpath+set}" = set; then
- aix_libpath=$lt_cv_aix_libpath
-else
- if ${lt_cv_aix_libpath_+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
- lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\([^ ]*\) *$/\1/
- p
- }
- }'
- lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- # Check for a 64-bit object if we didn't find anything.
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_="/usr/lib:/lib"
- fi
-
-fi
-
- aix_libpath=$lt_cv_aix_libpath_
-fi
-
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
- allow_undefined_flag="-z nodefs"
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an
- # empty executable.
- if test "${lt_cv_aix_libpath+set}" = set; then
- aix_libpath=$lt_cv_aix_libpath
-else
- if ${lt_cv_aix_libpath_+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
- lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\([^ ]*\) *$/\1/
- p
- }
- }'
- lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- # Check for a 64-bit object if we didn't find anything.
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_="/usr/lib:/lib"
- fi
-
-fi
-
- aix_libpath=$lt_cv_aix_libpath_
-fi
-
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- no_undefined_flag=' ${wl}-bernotok'
- allow_undefined_flag=' ${wl}-berok'
- if test "$with_gnu_ld" = yes; then
- # We only use this code for GNU lds that support --whole-archive.
- whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
- else
- # Exported symbols can be pulled into shared objects from archives
- whole_archive_flag_spec='$convenience'
- fi
- archive_cmds_need_lc=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds=''
- ;;
- m68k)
- archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- ;;
- esac
- ;;
-
- bsdi[45]*)
- export_dynamic_flag_spec=-rdynamic
- ;;
-
- cygwin* | mingw* | pw32* | cegcc*)
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- case $cc_basename in
- cl*)
- # Native MSVC
- hardcode_libdir_flag_spec=' '
- allow_undefined_flag=unsupported
- always_export_symbols=yes
- file_list_spec='@'
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
- archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
- else
- sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
- fi~
- $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
- linknames='
- # The linker will not automatically build a static lib if we build a DLL.
- # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
- enable_shared_with_static_runtimes=yes
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
- # Don't use ranlib
- old_postinstall_cmds='chmod 644 $oldlib'
- postlink_cmds='lt_outputfile="@OUTPUT@"~
- lt_tool_outputfile="@TOOL_OUTPUT@"~
- case $lt_outputfile in
- *.exe|*.EXE) ;;
- *)
- lt_outputfile="$lt_outputfile.exe"
- lt_tool_outputfile="$lt_tool_outputfile.exe"
- ;;
- esac~
- if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
- $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
- $RM "$lt_outputfile.manifest";
- fi'
- ;;
- *)
- # Assume MSVC wrapper
- hardcode_libdir_flag_spec=' '
- allow_undefined_flag=unsupported
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
- # The linker will automatically build a .lib file if we build a DLL.
- old_archive_from_new_cmds='true'
- # FIXME: Should let the user specify the lib program.
- old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
- enable_shared_with_static_runtimes=yes
- ;;
- esac
- ;;
-
- darwin* | rhapsody*)
-
-
- archive_cmds_need_lc=no
- hardcode_direct=no
- hardcode_automatic=yes
- hardcode_shlibpath_var=unsupported
- if test "$lt_cv_ld_force_load" = "yes"; then
- whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
- else
- whole_archive_flag_spec=''
- fi
- link_all_deplibs=yes
- allow_undefined_flag="$_lt_dar_allow_undefined"
- case $cc_basename in
- ifort*) _lt_dar_can_shared=yes ;;
- *) _lt_dar_can_shared=$GCC ;;
- esac
- if test "$_lt_dar_can_shared" = "yes"; then
- output_verbose_link_cmd=func_echo_all
- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-
- else
- ld_shlibs=no
- fi
-
- ;;
-
- dgux*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_shlibpath_var=no
- ;;
-
- freebsd1*)
- ld_shlibs=no
- ;;
-
- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
- # support. Future versions do this automatically, but an explicit c++rt0.o
- # does not break anything, and helps significantly (at the cost of a little
- # extra space).
- freebsd2.2*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes
- hardcode_minus_L=yes
- hardcode_shlibpath_var=no
- ;;
-
- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | dragonfly*)
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- hpux9*)
- if test "$GCC" = yes; then
- archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- fi
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_direct=yes
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- export_dynamic_flag_spec='${wl}-E'
- ;;
-
- hpux10*)
- if test "$GCC" = yes && test "$with_gnu_ld" = no; then
- archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_flag_spec_ld='+b $libdir'
- hardcode_libdir_separator=:
- hardcode_direct=yes
- hardcode_direct_absolute=yes
- export_dynamic_flag_spec='${wl}-E'
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- fi
- ;;
-
- hpux11*)
- if test "$GCC" = yes && test "$with_gnu_ld" = no; then
- case $host_cpu in
- hppa*64*)
- archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- else
- case $host_cpu in
- hppa*64*)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
-
- # Older versions of the 11.00 compiler do not understand -b yet
- # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
-$as_echo_n "checking if $CC understands -b... " >&6; }
-if ${lt_cv_prog_compiler__b+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler__b=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS -b"
- echo "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler__b=yes
- fi
- else
- lt_cv_prog_compiler__b=yes
- fi
- fi
- $RM -r conftest*
- LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
-$as_echo "$lt_cv_prog_compiler__b" >&6; }
-
-if test x"$lt_cv_prog_compiler__b" = xyes; then
- archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-else
- archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-fi
-
- ;;
- esac
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
-
- case $host_cpu in
- hppa*64*|ia64*)
- hardcode_direct=no
- hardcode_shlibpath_var=no
- ;;
- *)
- hardcode_direct=yes
- hardcode_direct_absolute=yes
- export_dynamic_flag_spec='${wl}-E'
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- ;;
- esac
- fi
- ;;
-
- irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- # Try to use the -exported_symbol ld option, if it does not
- # work, assume that -exports_file does not work either and
- # implicitly export all symbols.
- # This should be the same for all languages, so no per-tag cache variable.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
-$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
-if ${lt_cv_irix_exported_symbol+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-int foo (void) { return 0; }
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- lt_cv_irix_exported_symbol=yes
-else
- lt_cv_irix_exported_symbol=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS="$save_LDFLAGS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
-$as_echo "$lt_cv_irix_exported_symbol" >&6; }
- if test "$lt_cv_irix_exported_symbol" = yes; then
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
- fi
- else
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
- fi
- archive_cmds_need_lc='no'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- inherit_rpath=yes
- link_all_deplibs=yes
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
- else
- archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
- fi
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- newsos6)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_shlibpath_var=no
- ;;
-
- *nto* | *qnx*)
- ;;
-
- openbsd*)
- if test -f /usr/libexec/ld.so; then
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- hardcode_direct_absolute=yes
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- export_dynamic_flag_spec='${wl}-E'
- else
- case $host_os in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-R$libdir'
- ;;
- *)
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- ;;
- esac
- fi
- else
- ld_shlibs=no
- fi
- ;;
-
- os2*)
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- allow_undefined_flag=unsupported
- archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
- ;;
-
- osf3*)
- if test "$GCC" = yes; then
- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- fi
- archive_cmds_need_lc='no'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- ;;
-
- osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- else
- allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
- $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
-
- # Both c and cxx compiler support -rpath directly
- hardcode_libdir_flag_spec='-rpath $libdir'
- fi
- archive_cmds_need_lc='no'
- hardcode_libdir_separator=:
- ;;
-
- solaris*)
- no_undefined_flag=' -z defs'
- if test "$GCC" = yes; then
- wlarc='${wl}'
- archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
- else
- case `$CC -V 2>&1` in
- *"Compilers 5.0"*)
- wlarc=''
- archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
- ;;
- *)
- wlarc='${wl}'
- archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
- ;;
- esac
- fi
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_shlibpath_var=no
- case $host_os in
- solaris2.[0-5] | solaris2.[0-5].*) ;;
- *)
- # The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'. GCC discards it without `$wl',
- # but is careful enough not to reorder.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- if test "$GCC" = yes; then
- whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
- else
- whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
- fi
- ;;
- esac
- link_all_deplibs=yes
- ;;
-
- sunos4*)
- if test "x$host_vendor" = xsequent; then
- # Use $CC to link under sequent, because it throws in some extra .o
- # files that make .init and .fini sections work.
- archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
- fi
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_direct=yes
- hardcode_minus_L=yes
- hardcode_shlibpath_var=no
- ;;
-
- sysv4)
- case $host_vendor in
- sni)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes # is this really true???
- ;;
- siemens)
- ## LD is ld it makes a PLAMLIB
- ## CC just makes a GrossModule.
- archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- reload_cmds='$CC -r -o $output$reload_objs'
- hardcode_direct=no
- ;;
- motorola)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=no #Motorola manual says yes, but my tests say they lie
- ;;
- esac
- runpath_var='LD_RUN_PATH'
- hardcode_shlibpath_var=no
- ;;
-
- sysv4.3*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var=no
- export_dynamic_flag_spec='-Bexport'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var=no
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- ld_shlibs=yes
- fi
- ;;
-
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
- no_undefined_flag='${wl}-z,text'
- archive_cmds_need_lc=no
- hardcode_shlibpath_var=no
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- no_undefined_flag='${wl}-z,text'
- allow_undefined_flag='${wl}-z,nodefs'
- archive_cmds_need_lc=no
- hardcode_shlibpath_var=no
- hardcode_libdir_flag_spec='${wl}-R,$libdir'
- hardcode_libdir_separator=':'
- link_all_deplibs=yes
- export_dynamic_flag_spec='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- uts4*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_shlibpath_var=no
- ;;
-
- *)
- ld_shlibs=no
- ;;
- esac
-
- if test x$host_vendor = xsni; then
- case $host in
- sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- export_dynamic_flag_spec='${wl}-Blargedynsym'
- ;;
- esac
- fi
- fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
-$as_echo "$ld_shlibs" >&6; }
-test "$ld_shlibs" = no && can_build_shared=no
-
-with_gnu_ld=$with_gnu_ld
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc" in
-x|xyes)
- # Assume -lc should be added
- archive_cmds_need_lc=yes
-
- if test "$enable_shared" = yes && test "$GCC" = yes; then
- case $archive_cmds in
- *'~'*)
- # FIXME: we may have to deal with multi-command sequences.
- ;;
- '$CC '*)
- # Test whether the compiler implicitly links with -lc since on some
- # systems, -lgcc has to come before -lc. If gcc already passes -lc
- # to ld, don't add -lc before -lgcc.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
-$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if ${lt_cv_archive_cmds_need_lc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- $RM conftest*
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$lt_prog_compiler_wl
- pic_flag=$lt_prog_compiler_pic
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$allow_undefined_flag
- allow_undefined_flag=
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
- (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- then
- lt_cv_archive_cmds_need_lc=no
- else
- lt_cv_archive_cmds_need_lc=yes
- fi
- allow_undefined_flag=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
-$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
- archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
- ;;
- esac
- fi
- ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
-$as_echo_n "checking dynamic linker characteristics... " >&6; }
-
-if test "$GCC" = yes; then
- case $host_os in
- darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
- *) lt_awk_arg="/^libraries:/" ;;
- esac
- case $host_os in
- mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;;
- *) lt_sed_strip_eq="s,=/,/,g" ;;
- esac
- lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
- case $lt_search_path_spec in
- *\;*)
- # if the path contains ";" then we assume it to be the separator
- # otherwise default to the standard path separator (i.e. ":") - it is
- # assumed that no part of a normal pathname contains ";" but that should
- # okay in the real world where ";" in dirpaths is itself problematic.
- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
- ;;
- *)
- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
- ;;
- esac
- # Ok, now we have the path, separated by spaces, we can step through it
- # and add multilib dir if necessary.
- lt_tmp_lt_search_path_spec=
- lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
- for lt_sys_path in $lt_search_path_spec; do
- if test -d "$lt_sys_path/$lt_multi_os_dir"; then
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
- else
- test -d "$lt_sys_path" && \
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
- fi
- done
- lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
-BEGIN {RS=" "; FS="/|\n";} {
- lt_foo="";
- lt_count=0;
- for (lt_i = NF; lt_i > 0; lt_i--) {
- if ($lt_i != "" && $lt_i != ".") {
- if ($lt_i == "..") {
- lt_count++;
- } else {
- if (lt_count == 0) {
- lt_foo="/" $lt_i lt_foo;
- } else {
- lt_count--;
- }
- }
- }
- }
- if (lt_foo != "") { lt_freq[lt_foo]++; }
- if (lt_freq[lt_foo] == 1) { print lt_foo; }
-}'`
- # AWK program above erroneously prepends '/' to C:/dos/paths
- # for these hosts.
- case $host_os in
- mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
- $SED 's,/\([A-Za-z]:\),\1,g'` ;;
- esac
- sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
-else
- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
- shlibpath_var=LIBPATH
-
- # AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
-
-aix[4-9]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
- # AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- else
- # With GCC up to 2.95.x, collect2 would create an import file
- # for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
- # development snapshots of GCC prior to 3.0.
- case $host_os in
- aix4 | aix4.[01] | aix4.[01].*)
- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
- echo ' yes '
- echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
- :
- else
- can_build_shared=no
- fi
- ;;
- esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
- # soname into executable. Probably we can add versioning support to
- # collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
- # instead of lib<name>.a to let people know that these are not
- # typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
- # We preserve .a as extension for shared libraries through AIX4.2
- # and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
- shlibpath_var=LIBPATH
- fi
- ;;
-
-amigaos*)
- case $host_cpu in
- powerpc)
- # Since July 2007 AmigaOS4 officially supports .so libraries.
- # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- ;;
- m68k)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
- ;;
- esac
- ;;
-
-beos*)
- library_names_spec='${libname}${shared_ext}'
- dynamic_linker="$host_os ld.so"
- shlibpath_var=LIBRARY_PATH
- ;;
-
-bsdi[45]*)
- version_type=linux
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
- # the default ld.so.conf also contains /usr/contrib/lib and
- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
- # libtool to hard-code these into programs
- ;;
-
-cygwin* | mingw* | pw32* | cegcc*)
- version_type=windows
- shrext_cmds=".dll"
- need_version=no
- need_lib_prefix=no
-
- case $GCC,$cc_basename in
- yes,*)
- # gcc
- library_names_spec='$libname.dll.a'
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname~
- chmod a+x \$dldir/$dlname~
- if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
- eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
- fi'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $RM \$dlpath'
- shlibpath_overrides_runpath=yes
-
- case $host_os in
- cygwin*)
- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-
- sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
- ;;
- mingw* | cegcc*)
- # MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- ;;
- pw32*)
- # pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- ;;
- esac
- dynamic_linker='Win32 ld.exe'
- ;;
-
- *,cl*)
- # Native MSVC
- libname_spec='$name'
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- library_names_spec='${libname}.dll.lib'
-
- case $build_os in
- mingw*)
- sys_lib_search_path_spec=
- lt_save_ifs=$IFS
- IFS=';'
- for lt_path in $LIB
- do
- IFS=$lt_save_ifs
- # Let DOS variable expansion print the short 8.3 style file name.
- lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
- sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
- done
- IFS=$lt_save_ifs
- # Convert to MSYS style.
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
- ;;
- cygwin*)
- # Convert to unix form, then to dos form, then back to unix form
- # but this time dos style (no spaces!) so that the unix form looks
- # like /cygdrive/c/PROGRA~1:/cygdr...
- sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
- sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
- sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- ;;
- *)
- sys_lib_search_path_spec="$LIB"
- if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
- # It is most probably a Windows format PATH.
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- # FIXME: find the short name or the path components, as spaces are
- # common. (e.g. "Program Files" -> "PROGRA~1")
- ;;
- esac
-
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $RM \$dlpath'
- shlibpath_overrides_runpath=yes
- dynamic_linker='Win32 link.exe'
- ;;
-
- *)
- # Assume MSVC wrapper
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
- dynamic_linker='Win32 ld.exe'
- ;;
- esac
- # FIXME: first we should search . and the directory the executable is in
- shlibpath_var=PATH
- ;;
-
-darwin* | rhapsody*)
- dynamic_linker="$host_os dyld"
- version_type=darwin
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
- shlibpath_overrides_runpath=yes
- shlibpath_var=DYLD_LIBRARY_PATH
- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-
- sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
- ;;
-
-dgux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-freebsd1*)
- dynamic_linker=no
- ;;
-
-freebsd* | dragonfly*)
- # DragonFly does not have aout. When/if they implement a new
- # versioning mechanism, adjust this.
- if test -x /usr/bin/objformat; then
- objformat=`/usr/bin/objformat`
- else
- case $host_os in
- freebsd[123]*) objformat=aout ;;
- *) objformat=elf ;;
- esac
- fi
- version_type=freebsd-$objformat
- case $version_type in
- freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- need_version=no
- need_lib_prefix=no
- ;;
- freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
- need_version=yes
- ;;
- esac
- shlibpath_var=LD_LIBRARY_PATH
- case $host_os in
- freebsd2*)
- shlibpath_overrides_runpath=yes
- ;;
- freebsd3.[01]* | freebsdelf3.[01]*)
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
- freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
- *) # from 4.6 on, and DragonFly
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- esac
- ;;
-
-gnu*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- ;;
-
-haiku*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- dynamic_linker="$host_os runtime_loader"
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
- hardcode_into_libs=yes
- ;;
-
-hpux9* | hpux10* | hpux11*)
- # Give a soname corresponding to the major version so that dld.sl refuses to
- # link against other versions.
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- case $host_cpu in
- ia64*)
- shrext_cmds='.so'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.so"
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
- else
- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
- fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
- shrext_cmds='.sl'
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=SHLIB_PATH
- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
- esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
- postinstall_cmds='chmod 555 $lib'
- # or fails outright, so override atomically:
- install_override_mode=555
- ;;
-
-interix[3-9]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $host_os in
- nonstopux*) version_type=nonstopux ;;
- *)
- if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
- else
- version_type=irix
- fi ;;
- esac
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
- case $host_os in
- irix5* | nonstopux*)
- libsuff= shlibsuff=
- ;;
- *)
- case $LD in # libtool.m4 will add one of these switches to LD
- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
- libsuff= shlibsuff= libmagic=32-bit;;
- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
- libsuff=32 shlibsuff=N32 libmagic=N32;;
- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
- libsuff=64 shlibsuff=64 libmagic=64-bit;;
- *) libsuff= shlibsuff= libmagic=never-match;;
- esac
- ;;
- esac
- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
- hardcode_into_libs=yes
- ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
- dynamic_linker=no
- ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
-
- # Some binutils ld are patched to set DT_RUNPATH
- if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_shlibpath_overrides_runpath=no
- save_LDFLAGS=$LDFLAGS
- save_libdir=$libdir
- eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
- LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
- lt_cv_shlibpath_overrides_runpath=yes
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS=$save_LDFLAGS
- libdir=$save_libdir
-
-fi
-
- shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
-
- # This implies no fast_install, which is unacceptable.
- # Some rework will be needed to allow for fast_install
- # before this can be enabled.
- hardcode_into_libs=yes
-
- # Append ld.so.conf contents to the search path
- if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
- fi
-
- # We used to test for /lib/ld.so.1 and disable shared libraries on
- # powerpc, because MkLinux only supported shared libraries with the
- # GNU dynamic linker. Since this was broken with cross compilers,
- # most powerpc-linux boxes support dynamic linking these days and
- # people can always --disable-shared, the test was removed, and we
- # assume the GNU/Linux dynamic linker is in use.
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-netbsd*)
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- dynamic_linker='NetBSD (a.out) ld.so'
- else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='NetBSD ld.elf_so'
- fi
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
-
-newsos6)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-*nto* | *qnx*)
- version_type=qnx
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='ldqnx.so'
- ;;
-
-openbsd*)
- version_type=sunos
- sys_lib_dlsearch_path_spec="/usr/lib"
- need_lib_prefix=no
- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
- case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
- esac
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[89] | openbsd2.[89].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
- else
- shlibpath_overrides_runpath=yes
- fi
- ;;
-
-os2*)
- libname_spec='$name'
- shrext_cmds=".dll"
- need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
- dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
- ;;
-
-osf3* | osf4* | osf5*)
- version_type=osf
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
- ;;
-
-rdos*)
- dynamic_linker=no
- ;;
-
-solaris*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- # ldd complains unless libraries are executable
- postinstall_cmds='chmod +x $lib'
- ;;
-
-sunos4*)
- version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- fi
- need_version=yes
- ;;
-
-sysv4 | sysv4.3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- case $host_vendor in
- sni)
- shlibpath_overrides_runpath=no
- need_lib_prefix=no
- runpath_var=LD_RUN_PATH
- ;;
- siemens)
- need_lib_prefix=no
- ;;
- motorola)
- need_lib_prefix=no
- need_version=no
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
- ;;
- esac
- ;;
-
-sysv4*MP*)
- if test -d /usr/nec ;then
- version_type=linux
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
- shlibpath_var=LD_LIBRARY_PATH
- fi
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- version_type=freebsd-elf
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- if test "$with_gnu_ld" = yes; then
- sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
- else
- sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
- case $host_os in
- sco3.2v5*)
- sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
- ;;
- esac
- fi
- sys_lib_dlsearch_path_spec='/usr/lib'
- ;;
-
-tpf*)
- # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-uts4*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-*)
- dynamic_linker=no
- ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
-$as_echo "$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
- sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
- sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
-$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
-hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" ||
- test -n "$runpath_var" ||
- test "X$hardcode_automatic" = "Xyes" ; then
-
- # We can hardcode non-existent directories.
- if test "$hardcode_direct" != no &&
- # If the only mechanism to avoid hardcoding is shlibpath_var, we
- # have to relink, otherwise we might link with an installed library
- # when we should be linking with a yet-to-be-installed one
- ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
- test "$hardcode_minus_L" != no; then
- # Linking always hardcodes the temporary library directory.
- hardcode_action=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- hardcode_action=immediate
- fi
-else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- hardcode_action=unsupported
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
-$as_echo "$hardcode_action" >&6; }
-
-if test "$hardcode_action" = relink ||
- test "$inherit_rpath" = yes; then
- # Fast installation is not supported
- enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
- # Fast installation is not necessary
- enable_fast_install=needless
-fi
-
-
-
-
-
-
- if test "x$enable_dlopen" != xyes; then
- enable_dlopen=unknown
- enable_dlopen_self=unknown
- enable_dlopen_self_static=unknown
-else
- lt_cv_dlopen=no
- lt_cv_dlopen_libs=
-
- case $host_os in
- beos*)
- lt_cv_dlopen="load_add_on"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
- ;;
-
- mingw* | pw32* | cegcc*)
- lt_cv_dlopen="LoadLibrary"
- lt_cv_dlopen_libs=
- ;;
-
- cygwin*)
- lt_cv_dlopen="dlopen"
- lt_cv_dlopen_libs=
- ;;
-
- darwin*)
- # if libdl is installed we need to link against it
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dl_dlopen=yes
-else
- ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-
- lt_cv_dlopen="dyld"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
-
-fi
-
- ;;
-
- *)
- ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = xyes; then :
- lt_cv_dlopen="shl_load"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
-$as_echo_n "checking for shl_load in -ldld... " >&6; }
-if ${ac_cv_lib_dld_shl_load+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load ();
-int
-main ()
-{
-return shl_load ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dld_shl_load=yes
-else
- ac_cv_lib_dld_shl_load=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
-$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
- lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
-else
- ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dl_dlopen=yes
-else
- ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
-$as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if ${ac_cv_lib_svld_dlopen+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsvld $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_svld_dlopen=yes
-else
- ac_cv_lib_svld_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
-$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
-$as_echo_n "checking for dld_link in -ldld... " >&6; }
-if ${ac_cv_lib_dld_dld_link+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dld_link ();
-int
-main ()
-{
-return dld_link ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dld_dld_link=yes
-else
- ac_cv_lib_dld_dld_link=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
-$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
- lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
- ;;
- esac
-
- if test "x$lt_cv_dlopen" != xno; then
- enable_dlopen=yes
- else
- enable_dlopen=no
- fi
-
- case $lt_cv_dlopen in
- dlopen)
- save_CPPFLAGS="$CPPFLAGS"
- test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
- save_LDFLAGS="$LDFLAGS"
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
- save_LIBS="$LIBS"
- LIBS="$lt_cv_dlopen_libs $LIBS"
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
-$as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- lt_cv_dlopen_self=cross
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
- correspondingly for the symbols needed. */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
-
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else
- {
- if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- else puts (dlerror ());
- }
- /* dlclose (self); */
- }
- else
- puts (dlerror ());
-
- return status;
-}
-_LT_EOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) >&5 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
- x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
- x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
- esac
- else :
- # compilation failed
- lt_cv_dlopen_self=no
- fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
-$as_echo "$lt_cv_dlopen_self" >&6; }
-
- if test "x$lt_cv_dlopen_self" = xyes; then
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
-$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self_static+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- lt_cv_dlopen_self_static=cross
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
- correspondingly for the symbols needed. */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
-
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else
- {
- if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- else puts (dlerror ());
- }
- /* dlclose (self); */
- }
- else
- puts (dlerror ());
-
- return status;
-}
-_LT_EOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) >&5 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
- x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
- x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
- esac
- else :
- # compilation failed
- lt_cv_dlopen_self_static=no
- fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
-$as_echo "$lt_cv_dlopen_self_static" >&6; }
- fi
-
- CPPFLAGS="$save_CPPFLAGS"
- LDFLAGS="$save_LDFLAGS"
- LIBS="$save_LIBS"
- ;;
- esac
-
- case $lt_cv_dlopen_self in
- yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
- *) enable_dlopen_self=unknown ;;
- esac
-
- case $lt_cv_dlopen_self_static in
- yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
- *) enable_dlopen_self_static=unknown ;;
- esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-striplib=
-old_striplib=
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
-$as_echo_n "checking whether stripping libraries is possible... " >&6; }
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
- test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-# FIXME - insert some real tests, host_os isn't really good enough
- case $host_os in
- darwin*)
- if test -n "$STRIP" ; then
- striplib="$STRIP -x"
- old_striplib="$STRIP -S"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- fi
- ;;
- *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- ;;
- esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
- # Report which library types will actually be built
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
-$as_echo_n "checking if libtool supports shared libraries... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
-$as_echo "$can_build_shared" >&6; }
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
-$as_echo_n "checking whether to build shared libraries... " >&6; }
- test "$can_build_shared" = "no" && enable_shared=no
-
- # On AIX, shared libraries and static libraries use the same namespace, and
- # are all built from PIC.
- case $host_os in
- aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
-
- aix[4-9]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
- esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
-$as_echo "$enable_shared" >&6; }
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
-$as_echo_n "checking whether to build static libraries... " >&6; }
- # Make sure either enable_shared or enable_static is yes.
- test "$enable_shared" = yes || enable_static=yes
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
-$as_echo "$enable_static" >&6; }
-
-
-
-
-fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC="$lt_save_CC"
-
-
-
-
-
-
-
-
-
-
-
-
-
- ac_config_commands="$ac_config_commands libtool"
-
-
-
-
-# Only expand once:
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
-$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
- # Check whether --enable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then :
- enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
-else
- USE_MAINTAINER_MODE=no
-fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
-$as_echo "$USE_MAINTAINER_MODE" >&6; }
- if test $USE_MAINTAINER_MODE = yes; then
- MAINTAINER_MODE_TRUE=
- MAINTAINER_MODE_FALSE='#'
-else
- MAINTAINER_MODE_TRUE='#'
- MAINTAINER_MODE_FALSE=
-fi
-
- MAINT=$MAINTAINER_MODE_TRUE
-
-
-
-for ac_header in sys/mman.h
-do :
- ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_SYS_MMAN_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_func in mmap
-do :
- ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_MMAP 1
-_ACEOF
-
-fi
-done
-
-
-ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
- libffi_header_sys_mman_h=yes
-else
- libffi_header_sys_mman_h=no
-fi
-
-
-ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
- libffi_func_mmap=yes
-else
- libffi_func_mmap=no
-fi
-
-if test "$libffi_header_sys_mman_h" != yes \
- || test "$libffi_func_mmap" != yes; then
- ac_cv_func_mmap_file=no
- ac_cv_func_mmap_dev_zero=no
- ac_cv_func_mmap_anon=no
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether read-only mmap of a plain file works" >&5
-$as_echo_n "checking whether read-only mmap of a plain file works... " >&6; }
-if ${ac_cv_func_mmap_file+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Add a system to this blacklist if
- # mmap(0, stat_size, PROT_READ, MAP_PRIVATE, fd, 0) doesn't return a
- # memory area containing the same data that you'd get if you applied
- # read() to the same fd. The only system known to have a problem here
- # is VMS, where text files have record structure.
- case "$host_os" in
- vms* | ultrix*)
- ac_cv_func_mmap_file=no ;;
- *)
- ac_cv_func_mmap_file=yes;;
- esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_file" >&5
-$as_echo "$ac_cv_func_mmap_file" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap from /dev/zero works" >&5
-$as_echo_n "checking whether mmap from /dev/zero works... " >&6; }
-if ${ac_cv_func_mmap_dev_zero+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Add a system to this blacklist if it has mmap() but /dev/zero
- # does not exist, or if mmapping /dev/zero does not give anonymous
- # zeroed pages with both the following properties:
- # 1. If you map N consecutive pages in with one call, and then
- # unmap any subset of those pages, the pages that were not
- # explicitly unmapped remain accessible.
- # 2. If you map two adjacent blocks of memory and then unmap them
- # both at once, they must both go away.
- # Systems known to be in this category are Windows (all variants),
- # VMS, and Darwin.
- case "$host_os" in
- vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00)
- ac_cv_func_mmap_dev_zero=no ;;
- *)
- ac_cv_func_mmap_dev_zero=yes;;
- esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_dev_zero" >&5
-$as_echo "$ac_cv_func_mmap_dev_zero" >&6; }
-
- # Unlike /dev/zero, the MAP_ANON(YMOUS) defines can be probed for.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANON(YMOUS)" >&5
-$as_echo_n "checking for MAP_ANON(YMOUS)... " >&6; }
-if ${ac_cv_decl_map_anon+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <unistd.h>
-
-#ifndef MAP_ANONYMOUS
-#define MAP_ANONYMOUS MAP_ANON
-#endif
-
-int
-main ()
-{
-int n = MAP_ANONYMOUS;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_decl_map_anon=yes
-else
- ac_cv_decl_map_anon=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_decl_map_anon" >&5
-$as_echo "$ac_cv_decl_map_anon" >&6; }
-
- if test $ac_cv_decl_map_anon = no; then
- ac_cv_func_mmap_anon=no
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap with MAP_ANON(YMOUS) works" >&5
-$as_echo_n "checking whether mmap with MAP_ANON(YMOUS) works... " >&6; }
-if ${ac_cv_func_mmap_anon+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Add a system to this blacklist if it has mmap() and MAP_ANON or
- # MAP_ANONYMOUS, but using mmap(..., MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
- # doesn't give anonymous zeroed pages with the same properties listed
- # above for use of /dev/zero.
- # Systems known to be in this category are Windows, VMS, and SCO Unix.
- case "$host_os" in
- vms* | cygwin* | pe | mingw* | sco* | udk* )
- ac_cv_func_mmap_anon=no ;;
- *)
- ac_cv_func_mmap_anon=yes;;
- esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_anon" >&5
-$as_echo "$ac_cv_func_mmap_anon" >&6; }
- fi
-fi
-
-if test $ac_cv_func_mmap_file = yes; then
-
-$as_echo "#define HAVE_MMAP_FILE 1" >>confdefs.h
-
-fi
-if test $ac_cv_func_mmap_dev_zero = yes; then
-
-$as_echo "#define HAVE_MMAP_DEV_ZERO 1" >>confdefs.h
-
-fi
-if test $ac_cv_func_mmap_anon = yes; then
-
-$as_echo "#define HAVE_MMAP_ANON 1" >>confdefs.h
-
-fi
-
-
- if test -d $srcdir/testsuite; then
- TESTSUBDIR_TRUE=
- TESTSUBDIR_FALSE='#'
-else
- TESTSUBDIR_TRUE='#'
- TESTSUBDIR_FALSE=
-fi
-
-
-TARGETDIR="unknown"
-case "$host" in
- alpha*-*-*)
- TARGET=ALPHA; TARGETDIR=alpha;
- # Support 128-bit long double, changeable via command-line switch.
- HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
- ;;
-
- arm*-*-*)
- TARGET=ARM; TARGETDIR=arm
- ;;
-
- amd64-*-freebsd* | amd64-*-openbsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- amd64-*-freebsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- avr32*-*-*)
- TARGET=AVR32; TARGETDIR=avr32
- ;;
-
- cris-*-*)
- TARGET=LIBFFI_CRIS; TARGETDIR=cris
- ;;
-
- frv-*-*)
- TARGET=FRV; TARGETDIR=frv
- ;;
-
- hppa*-*-linux* | parisc*-*-linux*)
- TARGET=PA_LINUX; TARGETDIR=pa
- ;;
- hppa*64-*-hpux*)
- TARGET=PA64_HPUX; TARGETDIR=pa
- ;;
- hppa*-*-hpux*)
- TARGET=PA_HPUX; TARGETDIR=pa
- ;;
-
- i?86-*-freebsd* | i?86-*-openbsd*)
- TARGET=X86_FREEBSD; TARGETDIR=x86
- ;;
- i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2* | i?86-*-interix*)
- TARGET=X86_WIN32; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
- i?86-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
- i?86-*-solaris2.1[0-9]*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
- i?86-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- ia64*-*-*)
- TARGET=IA64; TARGETDIR=ia64
- ;;
-
- m32r*-*-*)
- TARGET=M32R; TARGETDIR=m32r
- ;;
-
- m68k-*-*)
- TARGET=M68K; TARGETDIR=m68k
- ;;
-
- mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
- TARGET=MIPS; TARGETDIR=mips
- ;;
- mips*-*-linux*)
- # Support 128-bit long double for NewABI.
- HAVE_LONG_DOUBLE='defined(__mips64)'
- TARGET=MIPS; TARGETDIR=mips
- ;;
-
- moxie-*-*)
- TARGET=MOXIE; TARGETDIR=moxie
- ;;
-
- powerpc*-*-linux* | powerpc-*-sysv*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-beos*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-darwin*)
- TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
- ;;
- powerpc-*-aix* | rs6000-*-aix*)
- TARGET=POWERPC_AIX; TARGETDIR=powerpc
- ;;
- powerpc-*-freebsd*)
- TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
- ;;
- powerpc64-*-freebsd*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc*-*-rtems*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
-
- s390-*-* | s390x-*-*)
- TARGET=S390; TARGETDIR=s390
- ;;
-
- sh-*-* | sh[34]*-*-*)
- TARGET=SH; TARGETDIR=sh
- ;;
- sh64-*-* | sh5*-*-*)
- TARGET=SH64; TARGETDIR=sh64
- ;;
-
- sparc*-*-*)
- TARGET=SPARC; TARGETDIR=sparc
- ;;
-
- x86_64-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
-
- x86_64-*-cygwin* | x86_64-*-mingw*)
- TARGET=X86_WIN64; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
-
- x86_64-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-esac
-
-
-
-
-if test $TARGETDIR = unknown; then
- as_fn_error $? "\"libffi has not been ported to $host.\"" "$LINENO" 5
-fi
-
- if test x$TARGET = xMIPS; then
- MIPS_TRUE=
- MIPS_FALSE='#'
-else
- MIPS_TRUE='#'
- MIPS_FALSE=
-fi
-
- if test x$TARGET = xSPARC; then
- SPARC_TRUE=
- SPARC_FALSE='#'
-else
- SPARC_TRUE='#'
- SPARC_FALSE=
-fi
-
- if test x$TARGET = xX86; then
- X86_TRUE=
- X86_FALSE='#'
-else
- X86_TRUE='#'
- X86_FALSE=
-fi
-
- if test x$TARGET = xX86_FREEBSD; then
- X86_FREEBSD_TRUE=
- X86_FREEBSD_FALSE='#'
-else
- X86_FREEBSD_TRUE='#'
- X86_FREEBSD_FALSE=
-fi
-
- if test x$TARGET = xX86_WIN32; then
- X86_WIN32_TRUE=
- X86_WIN32_FALSE='#'
-else
- X86_WIN32_TRUE='#'
- X86_WIN32_FALSE=
-fi
-
- if test x$TARGET = xX86_WIN64; then
- X86_WIN64_TRUE=
- X86_WIN64_FALSE='#'
-else
- X86_WIN64_TRUE='#'
- X86_WIN64_FALSE=
-fi
-
- if test x$TARGET = xX86_DARWIN; then
- X86_DARWIN_TRUE=
- X86_DARWIN_FALSE='#'
-else
- X86_DARWIN_TRUE='#'
- X86_DARWIN_FALSE=
-fi
-
- if test x$TARGET = xALPHA; then
- ALPHA_TRUE=
- ALPHA_FALSE='#'
-else
- ALPHA_TRUE='#'
- ALPHA_FALSE=
-fi
-
- if test x$TARGET = xIA64; then
- IA64_TRUE=
- IA64_FALSE='#'
-else
- IA64_TRUE='#'
- IA64_FALSE=
-fi
-
- if test x$TARGET = xM32R; then
- M32R_TRUE=
- M32R_FALSE='#'
-else
- M32R_TRUE='#'
- M32R_FALSE=
-fi
-
- if test x$TARGET = xM68K; then
- M68K_TRUE=
- M68K_FALSE='#'
-else
- M68K_TRUE='#'
- M68K_FALSE=
-fi
-
- if test x$TARGET = xMOXIE; then
- MOXIE_TRUE=
- MOXIE_FALSE='#'
-else
- MOXIE_TRUE='#'
- MOXIE_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC; then
- POWERPC_TRUE=
- POWERPC_FALSE='#'
-else
- POWERPC_TRUE='#'
- POWERPC_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_AIX; then
- POWERPC_AIX_TRUE=
- POWERPC_AIX_FALSE='#'
-else
- POWERPC_AIX_TRUE='#'
- POWERPC_AIX_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_DARWIN; then
- POWERPC_DARWIN_TRUE=
- POWERPC_DARWIN_FALSE='#'
-else
- POWERPC_DARWIN_TRUE='#'
- POWERPC_DARWIN_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_FREEBSD; then
- POWERPC_FREEBSD_TRUE=
- POWERPC_FREEBSD_FALSE='#'
-else
- POWERPC_FREEBSD_TRUE='#'
- POWERPC_FREEBSD_FALSE=
-fi
-
- if test x$TARGET = xARM; then
- ARM_TRUE=
- ARM_FALSE='#'
-else
- ARM_TRUE='#'
- ARM_FALSE=
-fi
-
- if test x$TARGET = xAVR32; then
- AVR32_TRUE=
- AVR32_FALSE='#'
-else
- AVR32_TRUE='#'
- AVR32_FALSE=
-fi
-
- if test x$TARGET = xLIBFFI_CRIS; then
- LIBFFI_CRIS_TRUE=
- LIBFFI_CRIS_FALSE='#'
-else
- LIBFFI_CRIS_TRUE='#'
- LIBFFI_CRIS_FALSE=
-fi
-
- if test x$TARGET = xFRV; then
- FRV_TRUE=
- FRV_FALSE='#'
-else
- FRV_TRUE='#'
- FRV_FALSE=
-fi
-
- if test x$TARGET = xS390; then
- S390_TRUE=
- S390_FALSE='#'
-else
- S390_TRUE='#'
- S390_FALSE=
-fi
-
- if test x$TARGET = xX86_64; then
- X86_64_TRUE=
- X86_64_FALSE='#'
-else
- X86_64_TRUE='#'
- X86_64_FALSE=
-fi
-
- if test x$TARGET = xSH; then
- SH_TRUE=
- SH_FALSE='#'
-else
- SH_TRUE='#'
- SH_FALSE=
-fi
-
- if test x$TARGET = xSH64; then
- SH64_TRUE=
- SH64_FALSE='#'
-else
- SH64_TRUE='#'
- SH64_FALSE=
-fi
-
- if test x$TARGET = xPA_LINUX; then
- PA_LINUX_TRUE=
- PA_LINUX_FALSE='#'
-else
- PA_LINUX_TRUE='#'
- PA_LINUX_FALSE=
-fi
-
- if test x$TARGET = xPA_HPUX; then
- PA_HPUX_TRUE=
- PA_HPUX_FALSE='#'
-else
- PA_HPUX_TRUE='#'
- PA_HPUX_FALSE=
-fi
-
- if test x$TARGET = xPA64_HPUX; then
- PA64_HPUX_TRUE=
- PA64_HPUX_FALSE='#'
-else
- PA64_HPUX_TRUE='#'
- PA64_HPUX_FALSE=
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_header_stdc=yes
-else
- ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then :
- :
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- return 2;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-for ac_func in memcpy
-do :
- ac_fn_c_check_func "$LINENO" "memcpy" "ac_cv_func_memcpy"
-if test "x$ac_cv_func_memcpy" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_MEMCPY 1
-_ACEOF
-
-fi
-done
-
-ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-if test "x$ac_cv_type_size_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define size_t unsigned int
-_ACEOF
-
-fi
-
-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
-# for constant arguments. Useless!
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
-$as_echo_n "checking for working alloca.h... " >&6; }
-if ${ac_cv_working_alloca_h+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <alloca.h>
-int
-main ()
-{
-char *p = (char *) alloca (2 * sizeof (int));
- if (p) return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_working_alloca_h=yes
-else
- ac_cv_working_alloca_h=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
-$as_echo "$ac_cv_working_alloca_h" >&6; }
-if test $ac_cv_working_alloca_h = yes; then
-
-$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
-$as_echo_n "checking for alloca... " >&6; }
-if ${ac_cv_func_alloca_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# ifdef _MSC_VER
-# include <malloc.h>
-# define alloca _alloca
-# else
-# ifdef HAVE_ALLOCA_H
-# include <alloca.h>
-# else
-# ifdef _AIX
- #pragma alloca
-# else
-# ifndef alloca /* predefined by HP cc +Olibcalls */
-void *alloca (size_t);
-# endif
-# endif
-# endif
-# endif
-#endif
-
-int
-main ()
-{
-char *p = (char *) alloca (1);
- if (p) return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_func_alloca_works=yes
-else
- ac_cv_func_alloca_works=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
-$as_echo "$ac_cv_func_alloca_works" >&6; }
-
-if test $ac_cv_func_alloca_works = yes; then
-
-$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
-
-else
- # The SVR3 libPW and SVR4 libucb both contain incompatible functions
-# that cause trouble. Some versions do not even contain alloca or
-# contain a buggy version. If you still want to use their alloca,
-# use ar to extract alloca.o from them instead of compiling alloca.c.
-
-ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
-
-$as_echo "#define C_ALLOCA 1" >>confdefs.h
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
-$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
-if ${ac_cv_os_cray+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#if defined CRAY && ! defined CRAY2
-webecray
-#else
-wenotbecray
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "webecray" >/dev/null 2>&1; then :
- ac_cv_os_cray=yes
-else
- ac_cv_os_cray=no
-fi
-rm -f conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5
-$as_echo "$ac_cv_os_cray" >&6; }
-if test $ac_cv_os_cray = yes; then
- for ac_func in _getb67 GETB67 getb67; do
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-
-cat >>confdefs.h <<_ACEOF
-#define CRAY_STACKSEG_END $ac_func
-_ACEOF
-
- break
-fi
-
- done
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
-$as_echo_n "checking stack direction for C alloca... " >&6; }
-if ${ac_cv_c_stack_direction+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- ac_cv_c_stack_direction=0
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
-int
-find_stack_direction ()
-{
- static char *addr = 0;
- auto char dummy;
- if (addr == 0)
- {
- addr = &dummy;
- return find_stack_direction ();
- }
- else
- return (&dummy > addr) ? 1 : -1;
-}
-
-int
-main ()
-{
- return find_stack_direction () < 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_c_stack_direction=1
-else
- ac_cv_c_stack_direction=-1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
-$as_echo "$ac_cv_c_stack_direction" >&6; }
-cat >>confdefs.h <<_ACEOF
-#define STACK_DIRECTION $ac_cv_c_stack_direction
-_ACEOF
-
-
-fi
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of double" >&5
-$as_echo_n "checking size of double... " >&6; }
-if ${ac_cv_sizeof_double+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (double))" "ac_cv_sizeof_double" "$ac_includes_default"; then :
-
-else
- if test "$ac_cv_type_double" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (double)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_double=0
- fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_double" >&5
-$as_echo "$ac_cv_sizeof_double" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_DOUBLE $ac_cv_sizeof_double
-_ACEOF
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long double" >&5
-$as_echo_n "checking size of long double... " >&6; }
-if ${ac_cv_sizeof_long_double+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long double))" "ac_cv_sizeof_long_double" "$ac_includes_default"; then :
-
-else
- if test "$ac_cv_type_long_double" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (long double)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_long_double=0
- fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_double" >&5
-$as_echo "$ac_cv_sizeof_long_double" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_LONG_DOUBLE $ac_cv_sizeof_long_double
-_ACEOF
-
-
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
- HAVE_LONG_DOUBLE=0
- if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
- if test $ac_cv_sizeof_long_double != 0; then
- HAVE_LONG_DOUBLE=1
-
-$as_echo "#define HAVE_LONG_DOUBLE 1" >>confdefs.h
-
- fi
- fi
-fi
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
-$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if ${ac_cv_c_bigendian+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_c_bigendian=unknown
- # See if we're dealing with a universal compiler.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifndef __APPLE_CC__
- not a universal capable compiler
- #endif
- typedef int dummy;
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
- # Check for potential -arch flags. It is not universal unless
- # there are at least two -arch flags with different values.
- ac_arch=
- ac_prev=
- for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
- if test -n "$ac_prev"; then
- case $ac_word in
- i?86 | x86_64 | ppc | ppc64)
- if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
- ac_arch=$ac_word
- else
- ac_cv_c_bigendian=universal
- break
- fi
- ;;
- esac
- ac_prev=
- elif test "x$ac_word" = "x-arch"; then
- ac_prev=arch
- fi
- done
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- if test $ac_cv_c_bigendian = unknown; then
- # See if sys/param.h defines the BYTE_ORDER macro.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
- #include <sys/param.h>
-
-int
-main ()
-{
-#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
- && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
- && LITTLE_ENDIAN)
- bogus endian macros
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- # It does; now see whether it defined to BIG_ENDIAN or not.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
- #include <sys/param.h>
-
-int
-main ()
-{
-#if BYTE_ORDER != BIG_ENDIAN
- not big endian
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_c_bigendian=yes
-else
- ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- if test $ac_cv_c_bigendian = unknown; then
- # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <limits.h>
-
-int
-main ()
-{
-#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
- bogus endian macros
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- # It does; now see whether it defined to _BIG_ENDIAN or not.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <limits.h>
-
-int
-main ()
-{
-#ifndef _BIG_ENDIAN
- not big endian
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_c_bigendian=yes
-else
- ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- if test $ac_cv_c_bigendian = unknown; then
- # Compile a test program.
- if test "$cross_compiling" = yes; then :
- # Try to guess by grepping values from an object file.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-short int ascii_mm[] =
- { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
- short int ascii_ii[] =
- { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
- int use_ascii (int i) {
- return ascii_mm[i] + ascii_ii[i];
- }
- short int ebcdic_ii[] =
- { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
- short int ebcdic_mm[] =
- { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
- int use_ebcdic (int i) {
- return ebcdic_mm[i] + ebcdic_ii[i];
- }
- extern int foo;
-
-int
-main ()
-{
-return use_ascii (foo) == use_ebcdic (foo);
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
- ac_cv_c_bigendian=yes
- fi
- if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
- if test "$ac_cv_c_bigendian" = unknown; then
- ac_cv_c_bigendian=no
- else
- # finding both strings is unlikely to happen, but who knows?
- ac_cv_c_bigendian=unknown
- fi
- fi
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-
- /* Are we little or big endian? From Harbison&Steele. */
- union
- {
- long int l;
- char c[sizeof (long int)];
- } u;
- u.l = 1;
- return u.c[sizeof (long int) - 1] == 1;
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_c_bigendian=no
-else
- ac_cv_c_bigendian=yes
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
-$as_echo "$ac_cv_c_bigendian" >&6; }
- case $ac_cv_c_bigendian in #(
- yes)
- $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
-;; #(
- no)
- ;; #(
- universal)
-
-$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
-
- ;; #(
- *)
- as_fn_error $? "unknown endianness
- presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
- esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .cfi pseudo-op support" >&5
-$as_echo_n "checking assembler .cfi pseudo-op support... " >&6; }
-if ${gcc_cv_as_cfi_pseudo_op+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- gcc_cv_as_cfi_pseudo_op=unknown
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".cfi_startproc\n\t.cfi_endproc");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- gcc_cv_as_cfi_pseudo_op=yes
-else
- gcc_cv_as_cfi_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_cfi_pseudo_op" >&5
-$as_echo "$gcc_cv_as_cfi_pseudo_op" >&6; }
- if test "x$gcc_cv_as_cfi_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_CFI_PSEUDO_OP 1" >>confdefs.h
-
- fi
-
-
-if test x$TARGET = xSPARC; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler and linker support unaligned pc related relocs" >&5
-$as_echo_n "checking assembler and linker support unaligned pc related relocs... " >&6; }
-if ${libffi_cv_as_sparc_ua_pcrel+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- save_CFLAGS="$CFLAGS"
- save_LDFLAGS="$LDFLAGS"
- CFLAGS="$CFLAGS -fpic"
- LDFLAGS="$LDFLAGS -shared"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- libffi_cv_as_sparc_ua_pcrel=yes
-else
- libffi_cv_as_sparc_ua_pcrel=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- CFLAGS="$save_CFLAGS"
- LDFLAGS="$save_LDFLAGS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_sparc_ua_pcrel" >&5
-$as_echo "$libffi_cv_as_sparc_ua_pcrel" >&6; }
- if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
-
-$as_echo "#define HAVE_AS_SPARC_UA_PCREL 1" >>confdefs.h
-
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .register pseudo-op support" >&5
-$as_echo_n "checking assembler .register pseudo-op support... " >&6; }
-if ${libffi_cv_as_register_pseudo_op+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_register_pseudo_op=unknown
- # Check if we have .register
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".register %g2, #scratch");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- libffi_cv_as_register_pseudo_op=yes
-else
- libffi_cv_as_register_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_register_pseudo_op" >&5
-$as_echo "$libffi_cv_as_register_pseudo_op" >&6; }
- if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_REGISTER_PSEUDO_OP 1" >>confdefs.h
-
- fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports pc related relocs" >&5
-$as_echo_n "checking assembler supports pc related relocs... " >&6; }
-if ${libffi_cv_as_x86_pcrel+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_x86_pcrel=no
- echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
- if $CC $CFLAGS -c conftest.s > /dev/null; then
- libffi_cv_as_x86_pcrel=yes
- fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_x86_pcrel" >&5
-$as_echo "$libffi_cv_as_x86_pcrel" >&6; }
- if test "x$libffi_cv_as_x86_pcrel" = xyes; then
-
-$as_echo "#define HAVE_AS_X86_PCREL 1" >>confdefs.h
-
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .ascii pseudo-op support" >&5
-$as_echo_n "checking assembler .ascii pseudo-op support... " >&6; }
-if ${libffi_cv_as_ascii_pseudo_op+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_ascii_pseudo_op=unknown
- # Check if we have .ascii
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".ascii \\"string\\"");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- libffi_cv_as_ascii_pseudo_op=yes
-else
- libffi_cv_as_ascii_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_ascii_pseudo_op" >&5
-$as_echo "$libffi_cv_as_ascii_pseudo_op" >&6; }
- if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_ASCII_PSEUDO_OP 1" >>confdefs.h
-
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .string pseudo-op support" >&5
-$as_echo_n "checking assembler .string pseudo-op support... " >&6; }
-if ${libffi_cv_as_string_pseudo_op+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_string_pseudo_op=unknown
- # Check if we have .string
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".string \\"string\\"");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- libffi_cv_as_string_pseudo_op=yes
-else
- libffi_cv_as_string_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_string_pseudo_op" >&5
-$as_echo "$libffi_cv_as_string_pseudo_op" >&6; }
- if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_STRING_PSEUDO_OP 1" >>confdefs.h
-
- fi
-fi
-
-if test x$TARGET = xX86_WIN64; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ prefix in compiled symbols" >&5
-$as_echo_n "checking for _ prefix in compiled symbols... " >&6; }
-if ${lt_cv_sys_symbol_underscore+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_sys_symbol_underscore=no
- cat > conftest.$ac_ext <<_LT_EOF
-void nm_test_func(){}
-int main(){nm_test_func;return 0;}
-_LT_EOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- # Now try to grab the symbols.
- ac_nlist=conftest.nm
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist\""; } >&5
- (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s "$ac_nlist"; then
- # See whether the symbols have a leading underscore.
- if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then
- lt_cv_sys_symbol_underscore=yes
- else
- if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then
- :
- else
- echo "configure: cannot find nm_test_func in $ac_nlist" >&5
- fi
- fi
- else
- echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&5
- fi
- else
- echo "configure: failed program was:" >&5
- cat conftest.c >&5
- fi
- rm -rf conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_symbol_underscore" >&5
-$as_echo "$lt_cv_sys_symbol_underscore" >&6; }
- sys_symbol_underscore=$lt_cv_sys_symbol_underscore
-
-
- if test "x$sys_symbol_underscore" = xyes; then
-
-$as_echo "#define SYMBOL_UNDERSCORE 1" >>confdefs.h
-
- fi
-fi
-
-case "$target" in
- *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
-
-$as_echo "#define FFI_MMAP_EXEC_WRIT 1" >>confdefs.h
-
- ;;
-esac
-
-if test x$TARGET = xX86_64; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports unwind section type" >&5
-$as_echo_n "checking assembler supports unwind section type... " >&6; }
-if ${libffi_cv_as_x86_64_unwind_section_type+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_x86_64_unwind_section_type=yes
- echo '.section .eh_frame,"a",@unwind' > conftest.s
- if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
- libffi_cv_as_x86_64_unwind_section_type=no
- fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_x86_64_unwind_section_type" >&5
-$as_echo "$libffi_cv_as_x86_64_unwind_section_type" >&6; }
- if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
-
-$as_echo "#define HAVE_AS_X86_64_UNWIND_SECTION_TYPE 1" >>confdefs.h
-
- fi
-fi
-
-if test "x$GCC" = "xyes"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether .eh_frame section should be read-only" >&5
-$as_echo_n "checking whether .eh_frame section should be read-only... " >&6; }
-if ${libffi_cv_ro_eh_frame+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_ro_eh_frame=no
- echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
- if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
- if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- elif grep '.section.*eh_frame.*#alloc' conftest.c \
- | grep -v '#write' > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- fi
- fi
- rm -f conftest.*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_ro_eh_frame" >&5
-$as_echo "$libffi_cv_ro_eh_frame" >&6; }
- if test "x$libffi_cv_ro_eh_frame" = xyes; then
-
-$as_echo "#define HAVE_RO_EH_FRAME 1" >>confdefs.h
-
-
-$as_echo "#define EH_FRAME_FLAGS \"a\"" >>confdefs.h
-
- else
-
-$as_echo "#define EH_FRAME_FLAGS \"aw\"" >>confdefs.h
-
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __attribute__((visibility(\"hidden\")))" >&5
-$as_echo_n "checking for __attribute__((visibility(\"hidden\")))... " >&6; }
-if ${libffi_cv_hidden_visibility_attribute+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1 ; }' > conftest.c
- libffi_cv_hidden_visibility_attribute=no
- if { ac_try='${CC-cc} -Werror -S conftest.c -o conftest.s 1>&5'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- if grep '\.hidden.*foo' conftest.s >/dev/null; then
- libffi_cv_hidden_visibility_attribute=yes
- fi
- fi
- rm -f conftest.*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_hidden_visibility_attribute" >&5
-$as_echo "$libffi_cv_hidden_visibility_attribute" >&6; }
- if test $libffi_cv_hidden_visibility_attribute = yes; then
-
-$as_echo "#define HAVE_HIDDEN_VISIBILITY_ATTRIBUTE 1" >>confdefs.h
-
- fi
-fi
-
-
-
-
-
-
-
-
-# Check whether --enable-debug was given.
-if test "${enable_debug+set}" = set; then :
- enableval=$enable_debug; if test "$enable_debug" = "yes"; then
-
-$as_echo "#define FFI_DEBUG 1" >>confdefs.h
-
- fi
-fi
-
- if test "$enable_debug" = "yes"; then
- FFI_DEBUG_TRUE=
- FFI_DEBUG_FALSE='#'
-else
- FFI_DEBUG_TRUE='#'
- FFI_DEBUG_FALSE=
-fi
-
-
-# Check whether --enable-structs was given.
-if test "${enable_structs+set}" = set; then :
- enableval=$enable_structs; if test "$enable_structs" = "no"; then
-
-$as_echo "#define FFI_NO_STRUCTS 1" >>confdefs.h
-
- fi
-fi
-
-
-# Check whether --enable-raw-api was given.
-if test "${enable_raw_api+set}" = set; then :
- enableval=$enable_raw_api; if test "$enable_raw_api" = "no"; then
-
-$as_echo "#define FFI_NO_RAW_API 1" >>confdefs.h
-
- fi
-fi
-
-
-# Check whether --enable-purify-safety was given.
-if test "${enable_purify_safety+set}" = set; then :
- enableval=$enable_purify_safety; if test "$enable_purify_safety" = "yes"; then
-
-$as_echo "#define USING_PURIFY 1" >>confdefs.h
-
- fi
-fi
-
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- toolexecdir='$(exec_prefix)/$(target_alias)'
- toolexeclibdir='$(toolexecdir)/lib'
- else
- toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
- toolexeclibdir='$(libdir)'
- fi
- multi_os_directory=`$CC -print-multi-os-directory`
- case $multi_os_directory in
- .) ;; # Avoid trailing /.
- *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
- esac
-
-
-fi
-
-if test "${multilib}" = "yes"; then
- multilib_arg="--enable-multilib"
-else
- multilib_arg=
-fi
-
-ac_config_commands="$ac_config_commands include"
-
-ac_config_commands="$ac_config_commands src"
-
-
-ac_config_links="$ac_config_links include/ffitarget.h:src/$TARGETDIR/ffitarget.h"
-
-
-ac_config_files="$ac_config_files include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc"
-
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems. If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
- for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
-
- (set) 2>&1 |
- case $as_nl`(ac_space=' '; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- # `set' does not quote correctly, so add quotes: double-quote
- # substitution turns \\\\ into \\, and sed turns \\ into \.
- sed -n \
- "s/'/'\\\\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- ;; #(
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-) |
- sed '
- /^ac_cv_env_/b end
- t clear
- :clear
- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
- t end
- s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
- if test -w "$cache_file"; then
- if test "x$cache_file" != "x/dev/null"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
- if test ! -f "$cache_file" || test -h "$cache_file"; then
- cat confcache >"$cache_file"
- else
- case $cache_file in #(
- */* | ?:*)
- mv -f confcache "$cache_file"$$ &&
- mv -f "$cache_file"$$ "$cache_file" ;; #(
- *)
- mv -f confcache "$cache_file" ;;
- esac
- fi
- fi
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
- fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-U=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
- # 1. Remove the extension, and $U if already installed.
- ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
- ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
- # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
- # will be set to the directory where LIBOBJS objects are built.
- as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
- as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
- if test -n "$EXEEXT"; then
- am__EXEEXT_TRUE=
- am__EXEEXT_FALSE='#'
-else
- am__EXEEXT_TRUE='#'
- am__EXEEXT_FALSE=
-fi
-
-if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
- as_fn_error $? "conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
- as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCCAS_TRUE}" && test -z "${am__fastdepCCAS_FALSE}"; then
- as_fn_error $? "conditional \"am__fastdepCCAS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
- as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${TESTSUBDIR_TRUE}" && test -z "${TESTSUBDIR_FALSE}"; then
- as_fn_error $? "conditional \"TESTSUBDIR\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MIPS_TRUE}" && test -z "${MIPS_FALSE}"; then
- as_fn_error $? "conditional \"MIPS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SPARC_TRUE}" && test -z "${SPARC_FALSE}"; then
- as_fn_error $? "conditional \"SPARC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_TRUE}" && test -z "${X86_FALSE}"; then
- as_fn_error $? "conditional \"X86\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_FREEBSD_TRUE}" && test -z "${X86_FREEBSD_FALSE}"; then
- as_fn_error $? "conditional \"X86_FREEBSD\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_WIN32_TRUE}" && test -z "${X86_WIN32_FALSE}"; then
- as_fn_error $? "conditional \"X86_WIN32\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_WIN64_TRUE}" && test -z "${X86_WIN64_FALSE}"; then
- as_fn_error $? "conditional \"X86_WIN64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_DARWIN_TRUE}" && test -z "${X86_DARWIN_FALSE}"; then
- as_fn_error $? "conditional \"X86_DARWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${ALPHA_TRUE}" && test -z "${ALPHA_FALSE}"; then
- as_fn_error $? "conditional \"ALPHA\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${IA64_TRUE}" && test -z "${IA64_FALSE}"; then
- as_fn_error $? "conditional \"IA64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${M32R_TRUE}" && test -z "${M32R_FALSE}"; then
- as_fn_error $? "conditional \"M32R\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${M68K_TRUE}" && test -z "${M68K_FALSE}"; then
- as_fn_error $? "conditional \"M68K\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MOXIE_TRUE}" && test -z "${MOXIE_FALSE}"; then
- as_fn_error $? "conditional \"MOXIE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_TRUE}" && test -z "${POWERPC_FALSE}"; then
- as_fn_error $? "conditional \"POWERPC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_AIX_TRUE}" && test -z "${POWERPC_AIX_FALSE}"; then
- as_fn_error $? "conditional \"POWERPC_AIX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_DARWIN_TRUE}" && test -z "${POWERPC_DARWIN_FALSE}"; then
- as_fn_error $? "conditional \"POWERPC_DARWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_FREEBSD_TRUE}" && test -z "${POWERPC_FREEBSD_FALSE}"; then
- as_fn_error $? "conditional \"POWERPC_FREEBSD\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${ARM_TRUE}" && test -z "${ARM_FALSE}"; then
- as_fn_error $? "conditional \"ARM\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${AVR32_TRUE}" && test -z "${AVR32_FALSE}"; then
- as_fn_error $? "conditional \"AVR32\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${LIBFFI_CRIS_TRUE}" && test -z "${LIBFFI_CRIS_FALSE}"; then
- as_fn_error $? "conditional \"LIBFFI_CRIS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${FRV_TRUE}" && test -z "${FRV_FALSE}"; then
- as_fn_error $? "conditional \"FRV\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${S390_TRUE}" && test -z "${S390_FALSE}"; then
- as_fn_error $? "conditional \"S390\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_64_TRUE}" && test -z "${X86_64_FALSE}"; then
- as_fn_error $? "conditional \"X86_64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SH_TRUE}" && test -z "${SH_FALSE}"; then
- as_fn_error $? "conditional \"SH\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SH64_TRUE}" && test -z "${SH64_FALSE}"; then
- as_fn_error $? "conditional \"SH64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA_LINUX_TRUE}" && test -z "${PA_LINUX_FALSE}"; then
- as_fn_error $? "conditional \"PA_LINUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA_HPUX_TRUE}" && test -z "${PA_HPUX_FALSE}"; then
- as_fn_error $? "conditional \"PA_HPUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA64_HPUX_TRUE}" && test -z "${PA64_HPUX_FALSE}"; then
- as_fn_error $? "conditional \"PA64_HPUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-if test -z "${FFI_DEBUG_TRUE}" && test -z "${FFI_DEBUG_FALSE}"; then
- as_fn_error $? "conditional \"FFI_DEBUG\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-: "${CONFIG_STATUS=./config.status}"
-ac_write_fail=0
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in #(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- fi
- $as_echo "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} # as_fn_error
-
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} # as_fn_exit
-
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
-
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -p'
- fi
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in #(
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by libffi $as_me 3.0.11-rc2, which was
-generated by GNU Autoconf 2.68. Invocation command line was
-
- CONFIG_FILES = $CONFIG_FILES
- CONFIG_HEADERS = $CONFIG_HEADERS
- CONFIG_LINKS = $CONFIG_LINKS
- CONFIG_COMMANDS = $CONFIG_COMMANDS
- $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-case $ac_config_headers in *"
-"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
-esac
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-config_links="$ac_config_links"
-config_commands="$ac_config_commands"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration. Unless the files
-and actions are specified as TAGs, all are instantiated by default.
-
-Usage: $0 [OPTION]... [TAG]...
-
- -h, --help print this help, then exit
- -V, --version print version number and configuration settings, then exit
- --config print configuration, then exit
- -q, --quiet, --silent
- do not print progress messages
- -d, --debug don't remove temporary files
- --recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
- --header=FILE[:TEMPLATE]
- instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration links:
-$config_links
-
-Configuration commands:
-$config_commands
-
-Report bugs to <http://github.com/atgreen/libffi/issues>."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-ac_cs_version="\\
-libffi config.status 3.0.11-rc2
-configured by $0, generated by GNU Autoconf 2.68,
- with options \\"\$ac_cs_config\\"
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-INSTALL='$INSTALL'
-MKDIR_P='$MKDIR_P'
-AWK='$AWK'
-test -n "\$AWK" || AWK=awk
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
-ac_need_defaults=:
-while test $# != 0
-do
- case $1 in
- --*=?*)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
- ac_shift=:
- ;;
- --*=)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=
- ac_shift=:
- ;;
- *)
- ac_option=$1
- ac_optarg=$2
- ac_shift=shift
- ;;
- esac
-
- case $ac_option in
- # Handling of the options.
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- ac_cs_recheck=: ;;
- --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
- $as_echo "$ac_cs_version"; exit ;;
- --config | --confi | --conf | --con | --co | --c )
- $as_echo "$ac_cs_config"; exit ;;
- --debug | --debu | --deb | --de | --d | -d )
- debug=: ;;
- --file | --fil | --fi | --f )
- $ac_shift
- case $ac_optarg in
- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
- '') as_fn_error $? "missing file argument" ;;
- esac
- as_fn_append CONFIG_FILES " '$ac_optarg'"
- ac_need_defaults=false;;
- --header | --heade | --head | --hea )
- $ac_shift
- case $ac_optarg in
- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- as_fn_append CONFIG_HEADERS " '$ac_optarg'"
- ac_need_defaults=false;;
- --he | --h)
- # Conflict between --help and --header
- as_fn_error $? "ambiguous option: \`$1'
-Try \`$0 --help' for more information.";;
- --help | --hel | -h )
- $as_echo "$ac_cs_usage"; exit ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil | --si | --s)
- ac_cs_silent=: ;;
-
- # This is an error.
- -*) as_fn_error $? "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
-
- *) as_fn_append ac_config_targets " $1"
- ac_need_defaults=false ;;
-
- esac
- shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
- exec 6>/dev/null
- ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-if \$ac_cs_recheck; then
- set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
- shift
- \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
- CONFIG_SHELL='$SHELL'
- export CONFIG_SHELL
- exec "\$@"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
- $as_echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-#
-# INIT-COMMANDS
-#
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-sed_quote_subst='$sed_quote_subst'
-double_quote_subst='$double_quote_subst'
-delay_variable_subst='$delay_variable_subst'
-macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
-macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
-enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
-enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
-pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
-enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
-SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
-ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
-host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
-host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
-host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
-build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
-build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
-build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
-SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
-Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
-GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
-EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
-FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
-LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
-NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
-LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
-max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
-ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
-exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
-lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
-lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
-lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
-reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
-reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
-OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
-deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
-file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
-file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
-want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
-DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
-sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
-AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
-AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
-archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
-STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
-RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
-old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
-lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
-CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
-CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
-compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
-GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
-nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
-lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
-objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
-MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
-lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
-need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
-MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
-DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
-NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
-LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
-OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
-libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
-shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
-extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
-enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
-export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
-whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
-compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
-old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
-archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
-module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
-allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
-no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_ld='`$ECHO "$hardcode_libdir_flag_spec_ld" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
-hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
-hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
-hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
-hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
-hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
-inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
-link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
-always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
-export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
-exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
-include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
-prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
-postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
-file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
-variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
-need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
-version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
-runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
-libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
-library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
-soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
-install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
-postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
-finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
-hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
-sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
-sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
-enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
-old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
-striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
-
-LTCC='$LTCC'
-LTCFLAGS='$LTCFLAGS'
-compiler='$compiler_DEFAULT'
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
- eval 'cat <<_LTECHO_EOF
-\$1
-_LTECHO_EOF'
-}
-
-# Quote evaled strings.
-for var in SHELL \
-ECHO \
-SED \
-GREP \
-EGREP \
-FGREP \
-LD \
-NM \
-LN_S \
-lt_SP2NL \
-lt_NL2SP \
-reload_flag \
-OBJDUMP \
-deplibs_check_method \
-file_magic_cmd \
-file_magic_glob \
-want_nocaseglob \
-DLLTOOL \
-sharedlib_from_linklib_cmd \
-AR \
-AR_FLAGS \
-archiver_list_spec \
-STRIP \
-RANLIB \
-CC \
-CFLAGS \
-compiler \
-lt_cv_sys_global_symbol_pipe \
-lt_cv_sys_global_symbol_to_cdecl \
-lt_cv_sys_global_symbol_to_c_name_address \
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
-nm_file_list_spec \
-lt_prog_compiler_no_builtin_flag \
-lt_prog_compiler_pic \
-lt_prog_compiler_wl \
-lt_prog_compiler_static \
-lt_cv_prog_compiler_c_o \
-need_locks \
-MANIFEST_TOOL \
-DSYMUTIL \
-NMEDIT \
-LIPO \
-OTOOL \
-OTOOL64 \
-shrext_cmds \
-export_dynamic_flag_spec \
-whole_archive_flag_spec \
-compiler_needs_object \
-with_gnu_ld \
-allow_undefined_flag \
-no_undefined_flag \
-hardcode_libdir_flag_spec \
-hardcode_libdir_flag_spec_ld \
-hardcode_libdir_separator \
-exclude_expsyms \
-include_expsyms \
-file_list_spec \
-variables_saved_for_relink \
-libname_spec \
-library_names_spec \
-soname_spec \
-install_override_mode \
-finish_eval \
-old_striplib \
-striplib; do
- case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
- *[\\\\\\\`\\"\\\$]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
- ;;
- *)
- eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
- ;;
- esac
-done
-
-# Double-quote double-evaled strings.
-for var in reload_cmds \
-old_postinstall_cmds \
-old_postuninstall_cmds \
-old_archive_cmds \
-extract_expsyms_cmds \
-old_archive_from_new_cmds \
-old_archive_from_expsyms_cmds \
-archive_cmds \
-archive_expsym_cmds \
-module_cmds \
-module_expsym_cmds \
-export_symbols_cmds \
-prelink_cmds \
-postlink_cmds \
-postinstall_cmds \
-postuninstall_cmds \
-finish_cmds \
-sys_lib_search_path_spec \
-sys_lib_dlsearch_path_spec; do
- case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
- *[\\\\\\\`\\"\\\$]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
- ;;
- *)
- eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
- ;;
- esac
-done
-
-ac_aux_dir='$ac_aux_dir'
-xsi_shell='$xsi_shell'
-lt_shell_append='$lt_shell_append'
-
-# See if we are running on zsh, and set the options which allow our
-# commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
-fi
-
-
- PACKAGE='$PACKAGE'
- VERSION='$VERSION'
- TIMESTAMP='$TIMESTAMP'
- RM='$RM'
- ofile='$ofile'
-
-
-
-TARGETDIR="$TARGETDIR"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
- case $ac_config_target in
- "fficonfig.h") CONFIG_HEADERS="$CONFIG_HEADERS fficonfig.h" ;;
- "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
- "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
- "include") CONFIG_COMMANDS="$CONFIG_COMMANDS include" ;;
- "src") CONFIG_COMMANDS="$CONFIG_COMMANDS src" ;;
- "include/ffitarget.h") CONFIG_LINKS="$CONFIG_LINKS include/ffitarget.h:src/$TARGETDIR/ffitarget.h" ;;
- "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
- "include/ffi.h") CONFIG_FILES="$CONFIG_FILES include/ffi.h" ;;
- "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- "testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;;
- "man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;;
- "libffi.pc") CONFIG_FILES="$CONFIG_FILES libffi.pc" ;;
-
- *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
- esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used. Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
- test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
- test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
- test "${CONFIG_LINKS+set}" = set || CONFIG_LINKS=$config_links
- test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience. Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
- tmp= ac_tmp=
- trap 'exit_status=$?
- : "${ac_tmp:=$tmp}"
- { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
-' 0
- trap 'as_fn_exit 1' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
- tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
- test -d "$tmp"
-} ||
-{
- tmp=./conf$$-$RANDOM
- (umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-ac_tmp=$tmp
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
- eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
- ac_cs_awk_cr='\\r'
-else
- ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
-_ACEOF
-
-
-{
- echo "cat >conf$$subs.awk <<_ACEOF" &&
- echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
- echo "_ACEOF"
-} >conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
- . ./conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-
- ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
- if test $ac_delim_n = $ac_delim_num; then
- break
- elif $ac_last_try; then
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\)..*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\)..*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^""]/{
- N
- s/\n//
-}
-' >>$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
- for (key in S) S_is_set[key] = 1
- FS = ""
-
-}
-{
- line = $ 0
- nfields = split(line, field, "@")
- substed = 0
- len = length(field[1])
- for (i = 2; i < nfields; i++) {
- key = field[i]
- keylen = length(key)
- if (S_is_set[key]) {
- value = S[key]
- line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
- len += length(value) + length(field[++i])
- substed = 1
- } else
- len += 1 + keylen
- }
-
- print line
-}
-
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
- sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
- cat
-fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
- || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
-# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
-h
-s///
-s/^/:/
-s/[ ]*$/:/
-s/:\$(srcdir):/:/g
-s/:\${srcdir}:/:/g
-s/:@srcdir@:/:/g
-s/^:*//
-s/:*$//
-x
-s/\(=[ ]*\).*/\1/
-G
-s/\n//
-s/^[^=]*=[ ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
-
-# Set up the scripts for CONFIG_HEADERS section.
-# No need to generate them if there are no CONFIG_HEADERS.
-# This happens for instance with `./config.status Makefile'.
-if test -n "$CONFIG_HEADERS"; then
-cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
-BEGIN {
-_ACEOF
-
-# Transform confdefs.h into an awk script `defines.awk', embedded as
-# here-document in config.status, that substitutes the proper values into
-# config.h.in to produce config.h.
-
-# Create a delimiter string that does not exist in confdefs.h, to ease
-# handling of long lines.
-ac_delim='%!_!# '
-for ac_last_try in false false :; do
- ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
- if test -z "$ac_tt"; then
- break
- elif $ac_last_try; then
- as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-
-# For the awk script, D is an array of macro values keyed by name,
-# likewise P contains macro parameters if any. Preserve backslash
-# newline sequences.
-
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-sed -n '
-s/.\{148\}/&'"$ac_delim"'/g
-t rset
-:rset
-s/^[ ]*#[ ]*define[ ][ ]*/ /
-t def
-d
-:def
-s/\\$//
-t bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3"/p
-s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
-d
-:bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3\\\\\\n"\\/p
-t cont
-s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
-t cont
-d
-:cont
-n
-s/.\{148\}/&'"$ac_delim"'/g
-t clear
-:clear
-s/\\$//
-t bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/"/p
-d
-:bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
-b cont
-' <confdefs.h | sed '
-s/'"$ac_delim"'/"\\\
-"/g' >>$CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- for (key in D) D_is_set[key] = 1
- FS = ""
-}
-/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
- line = \$ 0
- split(line, arg, " ")
- if (arg[1] == "#") {
- defundef = arg[2]
- mac1 = arg[3]
- } else {
- defundef = substr(arg[1], 2)
- mac1 = arg[2]
- }
- split(mac1, mac2, "(") #)
- macro = mac2[1]
- prefix = substr(line, 1, index(line, defundef) - 1)
- if (D_is_set[macro]) {
- # Preserve the white space surrounding the "#".
- print prefix "define", macro P[macro] D[macro]
- next
- } else {
- # Replace #undef with comments. This is necessary, for example,
- # in the case of _POSIX_SOURCE, which is predefined and required
- # on some systems where configure will not decide to define it.
- if (defundef == "undef") {
- print "/*", prefix defundef, macro, "*/"
- next
- }
- }
-}
-{ print }
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
- as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
-fi # test -n "$CONFIG_HEADERS"
-
-
-eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :L $CONFIG_LINKS :C $CONFIG_COMMANDS"
-shift
-for ac_tag
-do
- case $ac_tag in
- :[FHLC]) ac_mode=$ac_tag; continue;;
- esac
- case $ac_mode$ac_tag in
- :[FHL]*:*);;
- :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
- :[FH]-) ac_tag=-:-;;
- :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
- esac
- ac_save_IFS=$IFS
- IFS=:
- set x $ac_tag
- IFS=$ac_save_IFS
- shift
- ac_file=$1
- shift
-
- case $ac_mode in
- :L) ac_source=$1;;
- :[FH])
- ac_file_inputs=
- for ac_f
- do
- case $ac_f in
- -) ac_f="$ac_tmp/stdin";;
- *) # Look for the file first in the build tree, then in the source tree
- # (if the path is not absolute). The absolute path cannot be DOS-style,
- # because $ac_f cannot contain `:'.
- test -f "$ac_f" ||
- case $ac_f in
- [\\/$]*) false;;
- *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
- esac ||
- as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
- esac
- case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
- as_fn_append ac_file_inputs " '$ac_f'"
- done
-
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- configure_input='Generated from '`
- $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
- `' by configure.'
- if test x"$ac_file" != x-; then
- configure_input="$ac_file. $configure_input"
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
- fi
- # Neutralize special characters interpreted by sed in replacement strings.
- case $configure_input in #(
- *\&* | *\|* | *\\* )
- ac_sed_conf_input=`$as_echo "$configure_input" |
- sed 's/[\\\\&|]/\\\\&/g'`;; #(
- *) ac_sed_conf_input=$configure_input;;
- esac
-
- case $ac_tag in
- *:-:* | *:-) cat >"$ac_tmp/stdin" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
- esac
- ;;
- esac
-
- ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- as_dir="$ac_dir"; as_fn_mkdir_p
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
- case $ac_mode in
- :F)
- #
- # CONFIG_FILE
- #
-
- case $INSTALL in
- [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
- *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
- esac
- ac_MKDIR_P=$MKDIR_P
- case $MKDIR_P in
- [\\/$]* | ?:[\\/]* ) ;;
- */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
- esac
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
- p
- q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- ac_datarootdir_hack='
- s&@datadir@&$datadir&g
- s&@docdir@&$docdir&g
- s&@infodir@&$infodir&g
- s&@localedir@&$localedir&g
- s&@mandir@&$mandir&g
- s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-s&@INSTALL@&$ac_INSTALL&;t t
-s&@MKDIR_P@&$ac_MKDIR_P&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
- >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
- { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
- { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
- "$ac_tmp/out"`; test -z "$ac_out"; } &&
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined" >&2;}
-
- rm -f "$ac_tmp/stdin"
- case $ac_file in
- -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
- *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
- esac \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- ;;
- :H)
- #
- # CONFIG_HEADER
- #
- if test x"$ac_file" != x-; then
- {
- $as_echo "/* $configure_input */" \
- && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
- } >"$ac_tmp/config.h" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
- else
- rm -f "$ac_file"
- mv "$ac_tmp/config.h" "$ac_file" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- fi
- else
- $as_echo "/* $configure_input */" \
- && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
- || as_fn_error $? "could not create -" "$LINENO" 5
- fi
-# Compute "$ac_file"'s index in $config_headers.
-_am_arg="$ac_file"
-_am_stamp_count=1
-for _am_header in $config_headers :; do
- case $_am_header in
- $_am_arg | $_am_arg:* )
- break ;;
- * )
- _am_stamp_count=`expr $_am_stamp_count + 1` ;;
- esac
-done
-echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
-$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$_am_arg" : 'X\(//\)[^/]' \| \
- X"$_am_arg" : 'X\(//\)$' \| \
- X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$_am_arg" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`/stamp-h$_am_stamp_count
- ;;
- :L)
- #
- # CONFIG_LINK
- #
-
- if test "$ac_source" = "$ac_file" && test "$srcdir" = '.'; then
- :
- else
- # Prefer the file from the source tree if names are identical.
- if test "$ac_source" = "$ac_file" || test ! -r "$ac_source"; then
- ac_source=$srcdir/$ac_source
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: linking $ac_source to $ac_file" >&5
-$as_echo "$as_me: linking $ac_source to $ac_file" >&6;}
-
- if test ! -r "$ac_source"; then
- as_fn_error $? "$ac_source: file not found" "$LINENO" 5
- fi
- rm -f "$ac_file"
-
- # Try a relative symlink, then a hard link, then a copy.
- case $ac_source in
- [\\/$]* | ?:[\\/]* ) ac_rel_source=$ac_source ;;
- *) ac_rel_source=$ac_top_build_prefix$ac_source ;;
- esac
- ln -s "$ac_rel_source" "$ac_file" 2>/dev/null ||
- ln "$ac_source" "$ac_file" 2>/dev/null ||
- cp -p "$ac_source" "$ac_file" ||
- as_fn_error $? "cannot link or copy $ac_source to $ac_file" "$LINENO" 5
- fi
- ;;
- :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-$as_echo "$as_me: executing $ac_file commands" >&6;}
- ;;
- esac
-
-
- case $ac_file$ac_mode in
- "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
- # Autoconf 2.62 quotes --file arguments for eval, but not when files
- # are listed without --file. Let's play safe and only enable the eval
- # if we detect the quoting.
- case $CONFIG_FILES in
- *\'*) eval set x "$CONFIG_FILES" ;;
- *) set x $CONFIG_FILES ;;
- esac
- shift
- for mf
- do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # Grep'ing the whole file is not good either: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
- dirpart=`$as_dirname -- "$mf" ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$mf" : 'X\(//\)[^/]' \| \
- X"$mf" : 'X\(//\)$' \| \
- X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$mf" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`$as_dirname -- "$file" ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$file" : 'X\(//\)[^/]' \| \
- X"$file" : 'X\(//\)$' \| \
- X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- as_dir=$dirpart/$fdir; as_fn_mkdir_p
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
- done
-}
- ;;
- "libtool":C)
-
- # See if we are running on zsh, and set the options which allow our
- # commands through without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
-
- cfgfile="${ofile}T"
- trap "$RM \"$cfgfile\"; exit 1" 1 2 15
- $RM "$cfgfile"
-
- cat <<_LT_EOF >> "$cfgfile"
-#! $SHELL
-
-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-# Inc.
-# Written by Gordon Matzigkeit, 1996
-#
-# This file is part of GNU Libtool.
-#
-# GNU Libtool is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
-#
-# GNU Libtool is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING. If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-
-# The names of the tagged configurations supported by this script.
-available_tags=""
-
-# ### BEGIN LIBTOOL CONFIG
-
-# Which release of libtool.m4 was used?
-macro_version=$macro_version
-macro_revision=$macro_revision
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# What type of objects to build.
-pic_mode=$pic_mode
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# An echo program that protects backslashes.
-ECHO=$lt_ECHO
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# A sed program that does not truncate output.
-SED=$lt_SED
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="\$SED -e 1s/^X//"
-
-# A grep program that handles long lines.
-GREP=$lt_GREP
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# A literal string matcher.
-FGREP=$lt_FGREP
-
-# A BSD- or MS-compatible name lister.
-NM=$lt_NM
-
-# Whether we need soft or hard links.
-LN_S=$lt_LN_S
-
-# What is the maximum length of a command?
-max_cmd_len=$max_cmd_len
-
-# Object file suffix (normally "o").
-objext=$ac_objext
-
-# Executable file suffix (normally "").
-exeext=$exeext
-
-# whether the shell understands "unset".
-lt_unset=$lt_unset
-
-# turn spaces into newlines.
-SP2NL=$lt_lt_SP2NL
-
-# turn newlines into spaces.
-NL2SP=$lt_lt_NL2SP
-
-# convert \$build file names to \$host format.
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-
-# convert \$build files to toolchain format.
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-
-# An object symbol dumper.
-OBJDUMP=$lt_OBJDUMP
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method = "file_magic".
-file_magic_cmd=$lt_file_magic_cmd
-
-# How to find potential files when deplibs_check_method = "file_magic".
-file_magic_glob=$lt_file_magic_glob
-
-# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
-want_nocaseglob=$lt_want_nocaseglob
-
-# DLL creation program.
-DLLTOOL=$lt_DLLTOOL
-
-# Command to associate shared and link libraries.
-sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
-
-# The archiver.
-AR=$lt_AR
-
-# Flags to create an archive.
-AR_FLAGS=$lt_AR_FLAGS
-
-# How to feed a file listing to the archiver.
-archiver_list_spec=$lt_archiver_list_spec
-
-# A symbol stripping program.
-STRIP=$lt_STRIP
-
-# Commands used to install an old-style archive.
-RANLIB=$lt_RANLIB
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Whether to use a lock for old archive extraction.
-lock_old_archive_extraction=$lock_old_archive_extraction
-
-# A C compiler.
-LTCC=$lt_CC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_CFLAGS
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration.
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair.
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# Transform the output of nm in a C name address pair when lib prefix is needed.
-global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
-
-# Specify filename containing input files for \$NM.
-nm_file_list_spec=$lt_nm_file_list_spec
-
-# The root where to search for dependent libraries,and in which our libraries should be installed.
-lt_sysroot=$lt_sysroot
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# Used to examine libraries when file_magic_cmd begins with "file".
-MAGIC_CMD=$MAGIC_CMD
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Manifest tool.
-MANIFEST_TOOL=$lt_MANIFEST_TOOL
-
-# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
-DSYMUTIL=$lt_DSYMUTIL
-
-# Tool to change global to local symbols on Mac OS X.
-NMEDIT=$lt_NMEDIT
-
-# Tool to manipulate fat objects and archives on Mac OS X.
-LIPO=$lt_LIPO
-
-# ldd/readelf like tool for Mach-O binaries on Mac OS X.
-OTOOL=$lt_OTOOL
-
-# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
-OTOOL64=$lt_OTOOL64
-
-# Old archive suffix (normally "a").
-libext=$libext
-
-# Shared library suffix (normally ".so").
-shrext_cmds=$lt_shrext_cmds
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at link time.
-variables_saved_for_relink=$lt_variables_saved_for_relink
-
-# Do we need the "lib" prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Library versioning type.
-version_type=$version_type
-
-# Shared library runtime path variable.
-runpath_var=$runpath_var
-
-# Shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Permission mode override for installation of shared libraries.
-install_override_mode=$lt_install_override_mode
-
-# Command to use after installation of a shared archive.
-postinstall_cmds=$lt_postinstall_cmds
-
-# Command to use after uninstallation of a shared archive.
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# As "finish_cmds", except a single script fragment to be evaled but
-# not shown.
-finish_eval=$lt_finish_eval
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Compile-time system search path for libraries.
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries.
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-
-# The linker used to build libraries.
-LD=$lt_LD
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# Commands used to build an old-style archive.
-old_archive_cmds=$lt_old_archive_cmds
-
-# A language specific compiler.
-CC=$lt_compiler
-
-# Is the compiler the GNU compiler?
-with_gcc=$GCC
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc
-
-# Whether or not to disallow shared libs when runtime libs are static.
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec
-
-# Whether the compiler copes with passing no objects directly.
-compiler_needs_object=$lt_compiler_needs_object
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
-
-# Commands used to build a shared archive.
-archive_cmds=$lt_archive_cmds
-archive_expsym_cmds=$lt_archive_expsym_cmds
-
-# Commands used to build a loadable module if different from building
-# a shared archive.
-module_cmds=$lt_module_cmds
-module_expsym_cmds=$lt_module_expsym_cmds
-
-# Whether we are building with GNU ld or not.
-with_gnu_ld=$lt_with_gnu_ld
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag
-
-# Flag that enforces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
-
-# If ld is used when linking, flag to hardcode \$libdir into a binary
-# during linking. This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
-
-# Whether we need a single "-rpath" flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary.
-hardcode_direct=$hardcode_direct
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary and the resulting library dependency is
-# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
-# library is relocated.
-hardcode_direct_absolute=$hardcode_direct_absolute
-
-# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
-# into the resulting binary.
-hardcode_minus_L=$hardcode_minus_L
-
-# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
-# into the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var
-
-# Set to "yes" if building a shared library automatically hardcodes DIR
-# into the library and all subsequent libraries and executables linked
-# against it.
-hardcode_automatic=$hardcode_automatic
-
-# Set to yes if linker adds runtime paths of dependent libraries
-# to runtime path list.
-inherit_rpath=$inherit_rpath
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs
-
-# Set to "yes" if exported symbols are required.
-always_export_symbols=$always_export_symbols
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms
-
-# Commands necessary for linking programs (against libraries) with templates.
-prelink_cmds=$lt_prelink_cmds
-
-# Commands necessary for finishing linking programs.
-postlink_cmds=$lt_postlink_cmds
-
-# Specify filename containing input files.
-file_list_spec=$lt_file_list_spec
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action
-
-# ### END LIBTOOL CONFIG
-
-_LT_EOF
-
- case $host_os in
- aix3*)
- cat <<\_LT_EOF >> "$cfgfile"
-# AIX sometimes has problems with the GCC collect2 program. For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
-fi
-_LT_EOF
- ;;
- esac
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-
- # We use sed instead of cat because bash on DJGPP gets confused if
- # if finds mixed CR/LF and LF-only lines. Since sed operates in
- # text mode, it properly converts lines to CR/LF. This bash problem
- # is reportedly fixed, but why not run on old versions too?
- sed '$q' "$ltmain" >> "$cfgfile" \
- || (rm -f "$cfgfile"; exit 1)
-
- if test x"$xsi_shell" = xyes; then
- sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
-func_dirname ()\
-{\
-\ case ${1} in\
-\ */*) func_dirname_result="${1%/*}${2}" ;;\
-\ * ) func_dirname_result="${3}" ;;\
-\ esac\
-} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_basename ()$/,/^} # func_basename /c\
-func_basename ()\
-{\
-\ func_basename_result="${1##*/}"\
-} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
-func_dirname_and_basename ()\
-{\
-\ case ${1} in\
-\ */*) func_dirname_result="${1%/*}${2}" ;;\
-\ * ) func_dirname_result="${3}" ;;\
-\ esac\
-\ func_basename_result="${1##*/}"\
-} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
-func_stripname ()\
-{\
-\ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
-\ # positional parameters, so assign one to ordinary parameter first.\
-\ func_stripname_result=${3}\
-\ func_stripname_result=${func_stripname_result#"${1}"}\
-\ func_stripname_result=${func_stripname_result%"${2}"}\
-} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
-func_split_long_opt ()\
-{\
-\ func_split_long_opt_name=${1%%=*}\
-\ func_split_long_opt_arg=${1#*=}\
-} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
-func_split_short_opt ()\
-{\
-\ func_split_short_opt_arg=${1#??}\
-\ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
-} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
-func_lo2o ()\
-{\
-\ case ${1} in\
-\ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
-\ *) func_lo2o_result=${1} ;;\
-\ esac\
-} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_xform ()$/,/^} # func_xform /c\
-func_xform ()\
-{\
- func_xform_result=${1%.*}.lo\
-} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_arith ()$/,/^} # func_arith /c\
-func_arith ()\
-{\
- func_arith_result=$(( $* ))\
-} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_len ()$/,/^} # func_len /c\
-func_len ()\
-{\
- func_len_result=${#1}\
-} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-fi
-
-if test x"$lt_shell_append" = xyes; then
- sed -e '/^func_append ()$/,/^} # func_append /c\
-func_append ()\
-{\
- eval "${1}+=\\${2}"\
-} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
-func_append_quoted ()\
-{\
-\ func_quote_for_eval "${2}"\
-\ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
-} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- # Save a `func_append' function call where possible by direct use of '+='
- sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
- test 0 -eq $? || _lt_function_replace_fail=:
-else
- # Save a `func_append' function call even when '+=' is not available
- sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
- test 0 -eq $? || _lt_function_replace_fail=:
-fi
-
-if test x"$_lt_function_replace_fail" = x":"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
-$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
-fi
-
-
- mv -f "$cfgfile" "$ofile" ||
- (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
- chmod +x "$ofile"
-
- ;;
- "include":C) test -d include || mkdir include ;;
- "src":C)
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
- ;;
-
- esac
-done # for ac_tag
-
-
-as_fn_exit 0
-_ACEOF
-ac_clean_files=$ac_clean_files_save
-
-test $ac_write_fail = 0 ||
- as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded. So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status. When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
- ac_cs_success=:
- ac_config_status_args=
- test "$silent" = yes &&
- ac_config_status_args="$ac_config_status_args --quiet"
- exec 5>/dev/null
- $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
- exec 5>>config.log
- # Use ||, not &&, to avoid exiting from the if with $? = 1, which
- # would make configure fail if this is the last instruction.
- $ac_cs_success || as_fn_exit 1
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
-
diff --git a/.pc/ppc64-darwin/configure.ac b/.pc/ppc64-darwin/configure.ac
deleted file mode 100644
index 448aacb..0000000
--- a/.pc/ppc64-darwin/configure.ac
+++ /dev/null
@@ -1,491 +0,0 @@
-dnl Process this with autoconf to create configure
-
-AC_PREREQ(2.63)
-
-AC_INIT([libffi], [3.0.11-rc2], [http://github.com/atgreen/libffi/issues])
-AC_CONFIG_HEADERS([fficonfig.h])
-
-AC_CANONICAL_SYSTEM
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-AM_INIT_AUTOMAKE
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-# Also save and restore CFLAGS, since AC_PROG_CC will come up with
-# defaults of its own if none are provided.
-
-m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS])
-m4_define([_AC_ARG_VAR_PRECIOUS],[])
-save_CFLAGS=$CFLAGS
-AC_PROG_CC
-CFLAGS=$save_CFLAGS
-m4_undefine([_AC_ARG_VAR_PRECIOUS])
-m4_rename([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
-
-AC_SUBST(CFLAGS)
-
-AM_PROG_AS
-AM_PROG_CC_C_O
-AC_PROG_LIBTOOL
-AC_CONFIG_MACRO_DIR([m4])
-
-AM_MAINTAINER_MODE
-
-AC_CHECK_HEADERS(sys/mman.h)
-AC_CHECK_FUNCS(mmap)
-AC_FUNC_MMAP_BLACKLIST
-
-dnl The -no-testsuite modules omit the test subdir.
-AM_CONDITIONAL(TESTSUBDIR, test -d $srcdir/testsuite)
-
-TARGETDIR="unknown"
-case "$host" in
- alpha*-*-*)
- TARGET=ALPHA; TARGETDIR=alpha;
- # Support 128-bit long double, changeable via command-line switch.
- HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
- ;;
-
- arm*-*-*)
- TARGET=ARM; TARGETDIR=arm
- ;;
-
- amd64-*-freebsd* | amd64-*-openbsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- amd64-*-freebsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- avr32*-*-*)
- TARGET=AVR32; TARGETDIR=avr32
- ;;
-
- cris-*-*)
- TARGET=LIBFFI_CRIS; TARGETDIR=cris
- ;;
-
- frv-*-*)
- TARGET=FRV; TARGETDIR=frv
- ;;
-
- hppa*-*-linux* | parisc*-*-linux*)
- TARGET=PA_LINUX; TARGETDIR=pa
- ;;
- hppa*64-*-hpux*)
- TARGET=PA64_HPUX; TARGETDIR=pa
- ;;
- hppa*-*-hpux*)
- TARGET=PA_HPUX; TARGETDIR=pa
- ;;
-
- i?86-*-freebsd* | i?86-*-openbsd*)
- TARGET=X86_FREEBSD; TARGETDIR=x86
- ;;
- i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2* | i?86-*-interix*)
- TARGET=X86_WIN32; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
- i?86-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
- i?86-*-solaris2.1[[0-9]]*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
- i?86-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- ia64*-*-*)
- TARGET=IA64; TARGETDIR=ia64
- ;;
-
- m32r*-*-*)
- TARGET=M32R; TARGETDIR=m32r
- ;;
-
- m68k-*-*)
- TARGET=M68K; TARGETDIR=m68k
- ;;
-
- mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
- TARGET=MIPS; TARGETDIR=mips
- ;;
- mips*-*-linux*)
- # Support 128-bit long double for NewABI.
- HAVE_LONG_DOUBLE='defined(__mips64)'
- TARGET=MIPS; TARGETDIR=mips
- ;;
-
- moxie-*-*)
- TARGET=MOXIE; TARGETDIR=moxie
- ;;
-
- powerpc*-*-linux* | powerpc-*-sysv*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-beos*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-darwin*)
- TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
- ;;
- powerpc-*-aix* | rs6000-*-aix*)
- TARGET=POWERPC_AIX; TARGETDIR=powerpc
- ;;
- powerpc-*-freebsd*)
- TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
- ;;
- powerpc64-*-freebsd*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc*-*-rtems*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
-
- s390-*-* | s390x-*-*)
- TARGET=S390; TARGETDIR=s390
- ;;
-
- sh-*-* | sh[[34]]*-*-*)
- TARGET=SH; TARGETDIR=sh
- ;;
- sh64-*-* | sh5*-*-*)
- TARGET=SH64; TARGETDIR=sh64
- ;;
-
- sparc*-*-*)
- TARGET=SPARC; TARGETDIR=sparc
- ;;
-
- x86_64-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
-
- x86_64-*-cygwin* | x86_64-*-mingw*)
- TARGET=X86_WIN64; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
-
- x86_64-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-esac
-
-AC_SUBST(AM_RUNTESTFLAGS)
-AC_SUBST(AM_LTLDFLAGS)
-
-if test $TARGETDIR = unknown; then
- AC_MSG_ERROR(["libffi has not been ported to $host."])
-fi
-
-AM_CONDITIONAL(MIPS, test x$TARGET = xMIPS)
-AM_CONDITIONAL(SPARC, test x$TARGET = xSPARC)
-AM_CONDITIONAL(X86, test x$TARGET = xX86)
-AM_CONDITIONAL(X86_FREEBSD, test x$TARGET = xX86_FREEBSD)
-AM_CONDITIONAL(X86_WIN32, test x$TARGET = xX86_WIN32)
-AM_CONDITIONAL(X86_WIN64, test x$TARGET = xX86_WIN64)
-AM_CONDITIONAL(X86_DARWIN, test x$TARGET = xX86_DARWIN)
-AM_CONDITIONAL(ALPHA, test x$TARGET = xALPHA)
-AM_CONDITIONAL(IA64, test x$TARGET = xIA64)
-AM_CONDITIONAL(M32R, test x$TARGET = xM32R)
-AM_CONDITIONAL(M68K, test x$TARGET = xM68K)
-AM_CONDITIONAL(MOXIE, test x$TARGET = xMOXIE)
-AM_CONDITIONAL(POWERPC, test x$TARGET = xPOWERPC)
-AM_CONDITIONAL(POWERPC_AIX, test x$TARGET = xPOWERPC_AIX)
-AM_CONDITIONAL(POWERPC_DARWIN, test x$TARGET = xPOWERPC_DARWIN)
-AM_CONDITIONAL(POWERPC_FREEBSD, test x$TARGET = xPOWERPC_FREEBSD)
-AM_CONDITIONAL(ARM, test x$TARGET = xARM)
-AM_CONDITIONAL(AVR32, test x$TARGET = xAVR32)
-AM_CONDITIONAL(LIBFFI_CRIS, test x$TARGET = xLIBFFI_CRIS)
-AM_CONDITIONAL(FRV, test x$TARGET = xFRV)
-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)
-AM_CONDITIONAL(PA_LINUX, test x$TARGET = xPA_LINUX)
-AM_CONDITIONAL(PA_HPUX, test x$TARGET = xPA_HPUX)
-AM_CONDITIONAL(PA64_HPUX, test x$TARGET = xPA64_HPUX)
-
-AC_HEADER_STDC
-AC_CHECK_FUNCS(memcpy)
-AC_FUNC_ALLOCA
-
-AC_CHECK_SIZEOF(double)
-AC_CHECK_SIZEOF(long double)
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
- HAVE_LONG_DOUBLE=0
- if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
- if test $ac_cv_sizeof_long_double != 0; then
- HAVE_LONG_DOUBLE=1
- AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the long double type and it is bigger than a double])
- fi
- fi
-fi
-AC_SUBST(HAVE_LONG_DOUBLE)
-
-AC_C_BIGENDIAN
-
-GCC_AS_CFI_PSEUDO_OP
-
-if test x$TARGET = xSPARC; then
- AC_CACHE_CHECK([assembler and linker support unaligned pc related relocs],
- libffi_cv_as_sparc_ua_pcrel, [
- save_CFLAGS="$CFLAGS"
- save_LDFLAGS="$LDFLAGS"
- CFLAGS="$CFLAGS -fpic"
- LDFLAGS="$LDFLAGS -shared"
- AC_TRY_LINK([asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");],,
- [libffi_cv_as_sparc_ua_pcrel=yes],
- [libffi_cv_as_sparc_ua_pcrel=no])
- CFLAGS="$save_CFLAGS"
- LDFLAGS="$save_LDFLAGS"])
- if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
- AC_DEFINE(HAVE_AS_SPARC_UA_PCREL, 1,
- [Define if your assembler and linker support unaligned PC relative relocs.])
- fi
-
- AC_CACHE_CHECK([assembler .register pseudo-op support],
- libffi_cv_as_register_pseudo_op, [
- libffi_cv_as_register_pseudo_op=unknown
- # Check if we have .register
- AC_TRY_COMPILE([asm (".register %g2, #scratch");],,
- [libffi_cv_as_register_pseudo_op=yes],
- [libffi_cv_as_register_pseudo_op=no])
- ])
- if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
- AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP, 1,
- [Define if your assembler supports .register.])
- fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
- AC_CACHE_CHECK([assembler supports pc related relocs],
- libffi_cv_as_x86_pcrel, [
- libffi_cv_as_x86_pcrel=no
- echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
- if $CC $CFLAGS -c conftest.s > /dev/null; then
- libffi_cv_as_x86_pcrel=yes
- fi
- ])
- if test "x$libffi_cv_as_x86_pcrel" = xyes; then
- AC_DEFINE(HAVE_AS_X86_PCREL, 1,
- [Define if your assembler supports PC relative relocs.])
- fi
-
- AC_CACHE_CHECK([assembler .ascii pseudo-op support],
- libffi_cv_as_ascii_pseudo_op, [
- libffi_cv_as_ascii_pseudo_op=unknown
- # Check if we have .ascii
- AC_TRY_COMPILE([asm (".ascii \\"string\\"");],,
- [libffi_cv_as_ascii_pseudo_op=yes],
- [libffi_cv_as_ascii_pseudo_op=no])
- ])
- if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
- AC_DEFINE(HAVE_AS_ASCII_PSEUDO_OP, 1,
- [Define if your assembler supports .ascii.])
- fi
-
- AC_CACHE_CHECK([assembler .string pseudo-op support],
- libffi_cv_as_string_pseudo_op, [
- libffi_cv_as_string_pseudo_op=unknown
- # Check if we have .string
- AC_TRY_COMPILE([asm (".string \\"string\\"");],,
- [libffi_cv_as_string_pseudo_op=yes],
- [libffi_cv_as_string_pseudo_op=no])
- ])
- if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
- AC_DEFINE(HAVE_AS_STRING_PSEUDO_OP, 1,
- [Define if your assembler supports .string.])
- fi
-fi
-
-if test x$TARGET = xX86_WIN64; then
- LT_SYS_SYMBOL_USCORE
- if test "x$sys_symbol_underscore" = xyes; then
- AC_DEFINE(SYMBOL_UNDERSCORE, 1, [Define if symbols are underscored.])
- fi
-fi
-
-
-FFI_EXEC_TRAMPOLINE_TABLE=0
-case "$target" in
- *arm*-apple-darwin*)
- FFI_EXEC_TRAMPOLINE_TABLE=1
- AC_DEFINE(FFI_EXEC_TRAMPOLINE_TABLE, 1,
- [Cannot use PROT_EXEC on this target, so, we revert to
- alternative means])
- ;;
- *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
- AC_DEFINE(FFI_MMAP_EXEC_WRIT, 1,
- [Cannot use malloc on this target, so, we revert to
- alternative means])
- ;;
-esac
-AM_CONDITIONAL(FFI_EXEC_TRAMPOLINE_TABLE, test x$FFI_EXEC_TRAMPOLINE_TABLE = x1)
-AC_SUBST(FFI_EXEC_TRAMPOLINE_TABLE)
-
-if test x$TARGET = xX86_64; then
- AC_CACHE_CHECK([assembler supports unwind section type],
- libffi_cv_as_x86_64_unwind_section_type, [
- libffi_cv_as_x86_64_unwind_section_type=yes
- echo '.section .eh_frame,"a",@unwind' > conftest.s
- if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
- libffi_cv_as_x86_64_unwind_section_type=no
- fi
- ])
- if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
- AC_DEFINE(HAVE_AS_X86_64_UNWIND_SECTION_TYPE, 1,
- [Define if your assembler supports unwind section type.])
- fi
-fi
-
-if test "x$GCC" = "xyes"; then
- AC_CACHE_CHECK([whether .eh_frame section should be read-only],
- libffi_cv_ro_eh_frame, [
- libffi_cv_ro_eh_frame=no
- echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
- if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
- if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- elif grep '.section.*eh_frame.*#alloc' conftest.c \
- | grep -v '#write' > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- fi
- fi
- rm -f conftest.*
- ])
- if test "x$libffi_cv_ro_eh_frame" = xyes; then
- AC_DEFINE(HAVE_RO_EH_FRAME, 1,
- [Define if .eh_frame sections should be read-only.])
- AC_DEFINE(EH_FRAME_FLAGS, "a",
- [Define to the flags needed for the .section .eh_frame directive. ])
- else
- AC_DEFINE(EH_FRAME_FLAGS, "aw",
- [Define to the flags needed for the .section .eh_frame directive. ])
- fi
-
- AC_CACHE_CHECK([for __attribute__((visibility("hidden")))],
- libffi_cv_hidden_visibility_attribute, [
- echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1 ; }' > conftest.c
- libffi_cv_hidden_visibility_attribute=no
- if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
- if grep '\.hidden.*foo' conftest.s >/dev/null; then
- libffi_cv_hidden_visibility_attribute=yes
- fi
- fi
- rm -f conftest.*
- ])
- if test $libffi_cv_hidden_visibility_attribute = yes; then
- AC_DEFINE(HAVE_HIDDEN_VISIBILITY_ATTRIBUTE, 1,
- [Define if __attribute__((visibility("hidden"))) is supported.])
- fi
-fi
-
-AH_BOTTOM([
-#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
-])
-
-AC_SUBST(TARGET)
-AC_SUBST(TARGETDIR)
-
-AC_SUBST(SHELL)
-
-AC_ARG_ENABLE(debug,
-[ --enable-debug debugging mode],
- if test "$enable_debug" = "yes"; then
- AC_DEFINE(FFI_DEBUG, 1, [Define this if you want extra debugging.])
- fi)
-AM_CONDITIONAL(FFI_DEBUG, test "$enable_debug" = "yes")
-
-AC_ARG_ENABLE(structs,
-[ --disable-structs omit code for struct support],
- if test "$enable_structs" = "no"; then
- AC_DEFINE(FFI_NO_STRUCTS, 1, [Define this is you do not want support for aggregate types.])
- fi)
-
-AC_ARG_ENABLE(raw-api,
-[ --disable-raw-api make the raw api unavailable],
- if test "$enable_raw_api" = "no"; then
- AC_DEFINE(FFI_NO_RAW_API, 1, [Define this is you do not want support for the raw API.])
- fi)
-
-AC_ARG_ENABLE(purify-safety,
-[ --enable-purify-safety purify-safe mode],
- if test "$enable_purify_safety" = "yes"; then
- AC_DEFINE(USING_PURIFY, 1, [Define this if you are using Purify and want to suppress spurious messages.])
- fi)
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- toolexecdir='$(exec_prefix)/$(target_alias)'
- toolexeclibdir='$(toolexecdir)/lib'
- else
- toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
- toolexeclibdir='$(libdir)'
- fi
- multi_os_directory=`$CC -print-multi-os-directory`
- case $multi_os_directory in
- .) ;; # Avoid trailing /.
- *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
- esac
- AC_SUBST(toolexecdir)
- AC_SUBST(toolexeclibdir)
-fi
-
-if test "${multilib}" = "yes"; then
- multilib_arg="--enable-multilib"
-else
- multilib_arg=
-fi
-
-AC_CONFIG_COMMANDS(include, [test -d include || mkdir include])
-AC_CONFIG_COMMANDS(src, [
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
-], [TARGETDIR="$TARGETDIR"])
-
-AC_CONFIG_LINKS(include/ffitarget.h:src/$TARGETDIR/ffitarget.h)
-
-AC_CONFIG_FILES(include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc)
-
-AC_OUTPUT
diff --git a/.pc/remove-debug-code/.timestamp b/.pc/remove-debug-code/.timestamp
deleted file mode 100644
index e69de29..0000000
--- a/.pc/remove-debug-code/.timestamp
+++ /dev/null
diff --git a/.pc/remove-debug-code/ChangeLog b/.pc/remove-debug-code/ChangeLog
deleted file mode 100644
index 588d0bb..0000000
--- a/.pc/remove-debug-code/ChangeLog
+++ /dev/null
@@ -1,4702 +0,0 @@
-2012-02-10 Kai Tietz <ktietz@redhat.com>
-
- * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
- windows target.
- * configure: Regenerated.
-
-2012-02-08 Kai Tietz <ktietz@redhat.com>
-
- * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
- also FFI_THISCALL.
- * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
- (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
- (ffi_prep_closure_loc): Add FFI_THISCALL support.
- * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
- * src/x86/win32.S (ffi_closure_THISCALL): New closure code
- for thiscall-calling convention.
- * testsuite/libffi.call/closure_thiscall.c: New test.
-
-2012-01-28 Kai Tietz <ktietz@redhat.com>
-
- * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
- argument to prototype for specify calling-convention.
- (ffi_call): Add support for stdcall/thiscall convention.
- (ffi_prep_args): Likewise.
- (ffi_raw_call): Likewise.
- * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
- FFI_FASTCALL.
- * src/x86/win32.S (_ffi_call_win32): Add support for
- fastcall/thiscall calling-convention calls.
- * testsuite/libffi.call/fastthis1_win32.c: New test.
- * testsuite/libffi.call/fastthis2_win32.c: New test.
- * testsuite/libffi.call/fastthis3_win32.c: New test.
- * testsuite/libffi.call/strlen2_win32.c: New test.
- * testsuite/libffi.call/many2_win32.c: New test.
- * testsuite/libffi.call/struct1_win32.c: New test.
- * testsuite/libffi.call/struct2_win32.c: New test.
-
-2012-01-23 Andreas Schwab <schwab@linux-m68k.org>
-
- * src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
- mc68000. Test for __HAVE_68881__ in addition to __MC68881__.
-
-2012-01-19 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/48496
- * src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
-
-2012-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (i?86-*-*): Set TARGET to X86_64.
- * configure: Regenerate.
-
-2011-12-07 Andrew Pinski <apinski@cavium.com>
-
- PR libffi/50051
- * src/mips/n32.S: Add ".set mips4".
-
-2011-11-21 Andreas Tobler <andreast@fgznet.ch>
-
- * configure: Regenerate.
-
-2011-11-12 Petr Salinger <Petr.Salinger@seznam.cz>
-
- * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Fix kfreebsd support.
- * configure: Rebuilt.
-
-2011-11-12 Timothy Wall <twall@users.sf.net>
-
- * src/arm/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV): Max
- alignment of 4 for wince on ARM.
-
-2011-11-12 Kyle Moffett <Kyle.D.Moffett@boeing.com>
- Anthony Green <green@moxielogic.com>
-
- * src/ppc/sysv.S, src/ppc/ffi.c: Remove use of ppc string
- instructions (not available on some cores, like the PPC440).
-
-2011-11-12 Kimura Wataru <kimuraw@i.nifty.jp>
-
- * m4/ax_enable_builddir: Change from string comparison to numeric
- comparison for wc output.
- * configure.ac: Enable FFI_MMAP_EXEC_WRIT for darwin11 aka Mac OS
- X 10.7.
- * configure: Rebuilt.
-
-2011-11-10 Richard Henderson <rth@redhat.com>
-
- * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
- * configure, aclocal.m4: Rebuild.
-
-2011-09-04 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/49594
- * src/powerpc/darwin_closure.S (stubs): Make the stub binding
- helper reference track the architecture pointer size.
-
-2011-08-25 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
- instructions.
- * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
-
-2011-07-11 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46660
- * testsuite/libffi.call/cls_double_va.c: xfail dg-output on
- mips-sgi-irix6*.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
- PRId8 instead of %hhu, %hhd.
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
- PRIu8): Define.
- [__sgi__] (PRId8, PRIu8): Define.
-
-2011-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
- Define.
- Use them to handle ELF vs. ECOFF differences.
- [__osf__] (_GLOBAL__F_ffi_call_osf): Define.
-
-2011-03-30 Timothy Wall <twall@users.sf.net>
-
- * src/powerpc/darwin.S: Fix unknown FDE encoding.
- * src/powerpc/darwin_closure.S: ditto.
-
-2011-02-25 Anthony Green <green@moxielogic.com>
-
- * src/powerpc/ffi.c (ffi_prep_closure_loc): Allow for more
- 32-bit ABIs.
-
-2011-02-15 Anthony Green <green@moxielogic.com>
-
- * m4/ax_cc_maxopt.m4: Don't -malign-double or use -ffast-math.
- * configure: Rebuilt.
-
-2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2011-02-13 Anthony Green <green@moxielogic.com>
-
- * include/ffi_common.h (UNLIKELY, LIKELY): Define.
- * src/x86/ffi64.c (UNLIKELY, LIKELY): Remove definition.
- * src/prep_cif.c (UNLIKELY, LIKELY): Remove definition.
-
- * src/prep_cif.c (initialize_aggregate): Convert assertion into
- FFI_BAD_TYPEDEF return. Initialize arg size and alignment to 0.
-
- * src/pa/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
- just return FFI_BAD_ABI when things are wrong.
- * src/arm/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/powerpc/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/mips/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/ia64/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/avr32/ffi.c (ffi_prep_closure_loc): Ditto.
-
-2011-02-11 Anthony Green <green@moxielogic.com>
-
- * src/sparc/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
- just return FFI_BAD_ABI when things are wrong.
-
-2011-02-09 Stuart Shelton <srcshelton@gmail.com>
-
- http://bugs.gentoo.org/show_bug.cgi?id=286911
- * src/mips/ffitarget.h: Clean up error messages.
- * src/java_raw_api.c (ffi_java_translate_args): Cast raw arg to
- ffi_raw*.
- * include/ffi.h.in: Add pragma for SGI compiler.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * configure.ac: Add powerpc64-*-darwin* support.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * README: Mention Interix.
-
-2011-02-09 Jonathan Callen <abcd@gentoo.org>
-
- * configure.ac: Add Interix to win32/cygwin/mingw case.
- * configure: Ditto.
- * src/closures.c: Treat Interix like Cygwin, instead of as a
- generic win32.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * testsuite/libffi.call/err_bad_typedef.c: Remove xfail.
- * testsuite/libffi.call/err_bad_abi.c: Remove xfail.
- * src/x86/ffi64.c (UNLIKELY, LIKELY): Define.
- (ffi_prep_closure_loc): Check for bad ABI.
- * src/prep_cif.c (UNLIKELY, LIKELY): Define.
- (initialize_aggregate): Check for bad types.
-
-2011-02-09 Landon Fuller <landonf@plausible.coop>
-
- * Makefile.am (EXTRA_DIST): Add build-ios.sh, src/arm/gentramp.sh,
- src/arm/trampoline.S.
- (nodist_libffi_la_SOURCES): Add src/arc/trampoline.S.
- * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Define.
- * src/arm/ffi.c (ffi_trampoline_table)
- (ffi_closure_trampoline_table_page, ffi_trampoline_table_entry)
- (FFI_TRAMPOLINE_CODELOC_CONFIG, FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET)
- (FFI_TRAMPOLINE_COUNT, ffi_trampoline_lock, ffi_trampoline_tables)
- (ffi_trampoline_table_alloc, ffi_closure_alloc, ffi_closure_free):
- Define for FFI_EXEC_TRAMPOLINE_TABLE case (iOS).
- (ffi_prep_closure_loc): Handl FFI_EXEC_TRAMPOLINE_TABLE case
- separately.
- * src/arm/sysv.S: Handle Apple iOS host.
- * src/closures.c: Handle FFI_EXEC_TRAMPOLINE_TABLE case.
- * build-ios.sh: New file.
- * fficonfig.h.in, configure, Makefile.in: Rebuilt.
- * README: Mention ARM iOS.
-
-2011-02-08 Oren Held <orenhe@il.ibm.com>
-
- * src/dlmalloc.c (_STRUCT_MALLINFO): Define in order to avoid
- redefinition of mallinfo on HP-UX.
-
-2011-02-08 Ginn Chen <ginn.chen@oracle.com>
-
- * src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
- aggregate return ABI. Flush cache.
- (ffi_prep_closure_loc): Flush cache.
-
-2011-02-11 Anthony Green <green@moxielogic.com>
-
- From Tom Honermann <tom.honermann@oracle.com>:
- * src/powerpc/aix.S (ffi_call_AIX): Support for xlc toolchain on
- AIX. Declare .ffi_prep_args. Insert nops after branch
- instructions so that the AIX linker can insert TOC reload
- instructions.
- * src/powerpc/aix_closure.S: Declare .ffi_closure_helper_DARWIN.
-
-2011-02-08 Ed <ed@kdtc.net>
-
- * src/powerpc/asm.h: Fix grammar nit in comment.
-
-2011-02-08 Uli Link <ul.mcamafia@linkitup.de>
-
- * include/ffi.h.in (FFI_64_BIT_MAX): Define and use.
-
-2011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46661
- * testsuite/libffi.call/cls_pointer.c (main): Cast void * to
- uintptr_t first.
- * testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
-
-2011-02-08 Rafael Avila de Espindola <respindola@mozilla.com>
-
- * configure.ac: Fix x86 test for pc related relocs.
- * configure: Rebuilt.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
- Handle case when CPU variant does not have long double support.
- * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
- and cores with soft floating point.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * configure.ac: Add mips*-*-rtems* support.
- * configure: Regenerate.
- * src/mips/ffitarget.h: Ensure needed constants are available
- for targets which do not have sgidefs.h.
-
-2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR target/40125
- * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
- * configure: Regenerate.
-
-2010-12-18 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/29152
- PR libffi/42378
- * src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
- (FFI_TRAMPOLINE_SIZE): Update for Darwin64.
- * src/powerpc/darwin.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
- backslashes.
- (libffi_cv_as_string_pseudo_op): Likewise.
- * configure: Regenerate.
-
-2010-12-03 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
- (ffi_closure_VFP): Same.
- (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
- directive.
-
-2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
- (PRIuPTR): Define.
-
-2010-11-29 Richard Henderson <rth@redhat.com>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
- (.eh_frame): Use FDE_ENCODING.
- (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
-
-2010-11-22 Jacek Caban <jacek@codeweavers.com>
-
- * configure.ac: Check for symbol underscores on mingw-w64.
- * configure: Rebuilt.
- * src/x86/win64.S: Correctly access extern symbols in respect to
- underscores.
-
-2010-11-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp: Rename ...
- * testsuite/lib/libffi.exp: ... to this.
- * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
- * libffi/testsuite/libffi.special/special.exp: Likewise.
-
-2010-10-28 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
- code, new parameter, and return value. Update comments.
- (ffi_prep_cif_machdep): Add case for VFP struct return values. Add
- call to layout_vfp_args().
- (ffi_call_SYSV): Update declaration.
- (ffi_call_VFP): New declaration.
- (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
- when ABI is FFI_VFP.
- (ffi_closure_VFP): New declaration.
- (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
- ffi_prep_incoming_args_SYSV().
- (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
- case handling.
- (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
- construction under VFP hard-float.
- (rec_vfp_type_p): New function.
- (vfp_type_p): Same.
- (place_vfp_arg): Same.
- (layout_vfp_args): Same.
- * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
- based on __ARM_PCS_VFP.
- (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
- fields.
- (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
- (FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
- * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
- direct call. Move function pointer load upwards.
- (ffi_call_VFP): New function.
- (ffi_closure_VFP): Same.
-
- * testsuite/lib/libffi-dg.exp (check-flags): New function.
- (dg-skip-if): New function.
- * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
- and compiler options include -mfloat-abi=hard.
- * testsuite/libffi.call/cls_longdouble_va.c: Same.
-
-2010-10-01 Jakub Jelinek <jakub@redhat.com>
-
- PR libffi/45677
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
- a multiple of 8.
- * testsuite/libffi.call/many2.c: New test.
-
-2010-08-20 Mark Wielaard <mjw@redhat.com>
-
- * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
- returns NULL.
-
-2010-08-09 Andreas Tobler <andreast@fgznet.ch>
-
- * configure.ac: Add target powerpc64-*-freebsd*.
- * configure: Regenerate.
- * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
- -mlong-double-128 only to linux targets.
- * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
- * testsuite/libffi.call/cls_longdouble.c: Likewise.
- * testsuite/libffi.call/huge_struct.c: Likewise.
-
-2010-08-05 Dan Witte <dwitte@mozilla.com>
-
- * Makefile.am: Pass FFI_DEBUG define to msvcc.sh for linking to the
- debug CRT when --enable-debug is given.
- * configure.ac: Define it.
- * msvcc.sh: Translate -g and -DFFI_DEBUG appropriately.
-
-2010-08-04 Dan Witte <dwitte@mozilla.com>
-
- * src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64
- platforms.
- * src/x86/ffi.c: Remove redundant ifdef checks.
- * src/prep_cif.c: Push stack space computation into src/x86/ffi.c
- for X86_ANY so return value space doesn't get added twice.
-
-2010-08-03 Neil Rashbrooke <neil@parkwaycc.co.uk>
-
- * msvcc.sh: Don't pass -safeseh to ml64 because behavior is buggy.
-
-2010-07-22 Dan Witte <dwitte@mozilla.com>
-
- * src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
- * src/prep_cif.c: Fix ABI assertion.
- * src/cris/ffi.c: Ditto.
-
-2010-07-10 Evan Phoenix <evan@fallingsnow.net>
-
- * src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
-
-2010-07-07 Dan Horák <dan@danny.cz>
-
- * include/ffi.h.in: Protect #define with #ifndef.
- * src/powerpc/ffitarget.h: Ditto.
- * src/s390/ffitarget.h: Ditto.
- * src/sparc/ffitarget.h: Ditto.
-
-2010-07-07 Neil Roberts <neil@linux.intel.com>
-
- * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
- 16-bytes.
-
-2010-07-02 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
- * Makefile.in: Regenerated.
-
-2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
- output, too.
- (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
- (libffi_cv_as_string_pseudo_op): Check for .string.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
-
-2010-05-11 Dan Witte <dwitte@mozilla.com>
-
- * doc/libffi.tex: Document previous change.
-
-2010-05-11 Makoto Kato <m_kato@ga2.so-net.ne.jp>
-
- * src/x86/ffi.c (ffi_call): Don't copy structs passed by value.
-
-2010-05-05 Michael Kohler <michaelkohler@live.com>
-
- * src/dlmalloc.c (dlfree): Fix spelling.
- * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
- * configure.ac: Ditto.
- * configure: Rebuilt.
-
-2010-04-13 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Build with -W3 instead of -Wall.
- * src/powerpc/ffi_darwin.c: Remove build warnings.
- * src/x86/ffi.c: Ditto.
- * src/x86/ffitarget.h: Ditto.
-
-2010-04-12 Dan Witte <dwitte@mozilla.com>
- Walter Meinl <wuno@lsvw.de>
-
- * configure.ac: Add OS/2 support.
- * configure: Rebuilt.
- * src/closures.c: Ditto.
- * src/dlmalloc.c: Ditto.
- * src/x86/win32.S: Ditto.
-
-2010-04-07 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
-
-2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2010-03-30 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Disable build warnings.
- * README (tested): Clarify windows build procedure.
-
-2010-03-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * libffi/src/x86/unix64.S (.eh_frame)
- [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
-
-2010-03-14 Matthias Klose <doko@ubuntu.com>
-
- * src/x86/ffi64.c: Fix typo in comment.
- * src/x86/ffi.c: Use /* ... */ comment style.
-
-2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/libffi.texi (The Closure API): Fix typo.
- * doc/libffi.info: Remove.
-
-2010-02-15 Matthias Klose <doko@ubuntu.com>
-
- * src/arm/sysv.S (__ARM_ARCH__): Define for processor
- __ARM_ARCH_7EM__.
-
-2010-01-15 Anthony Green <green@redhat.com>
-
- * README: Add notes on building with Microsoft Visual C++.
-
-2010-01-15 Daniel Witte <dwitte@mozilla.com>
-
- * msvcc.sh: New file.
-
- * src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
- * src/x86/ffi.c: Tweak function declaration and remove excess
- parens.
- * include/ffi.h.in: Add __declspec(align(8)) to typedef struct
- ffi_closure.
-
- * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
- function ffi_call_win32 on X86_WIN32.
- * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
- (ffi_call_STDCALL): Remove.
-
- * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
- to ffi_prep_cif_machdep for x86.
- * src/x86/ffi.c (ffi_prep_cif_machdep): To here.
-
-2010-01-15 Oliver Kiddle <okiddle@yahoo.co.uk>
-
- * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
- Sun Studio compiler compatibility.
-
-2010-01-12 Conrad Irwin <conrad.irwin@gmail.com>
-
- * doc/libffi.texi: Add closure example.
-
-2010-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40701
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
- PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
- * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
- alpha*-dec-osf*.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/return_ll1.c: Likewise.
- * testsuite/libffi.call/stret_medium2.c: Likewise.
- * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
- MAP_FAILED to char *.
-
-2010-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
-
-2009-12-31 Anthony Green <green@redhat.com>
-
- * README: Update for libffi 3.0.9.
-
-2009-12-27 Matthias Klose <doko@ubuntu.com>
-
- * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
- appropriate.
- * configure: Rebuilt.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
- avr32*-*-*.
- * testsuite/libffi.call/cls_double_va.c: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
- and inttypes.h.
- * testsuite/libffi.special/unwindtest.cc: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-openbsd*.
- * configure: Rebuilt.
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
- openbsd programs with -lpthread.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
- mips*-*-* and arm*-*-*.
- * testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c,
- testsuite/libffi.call/stret_medium2.c,
- testsuite/libffi.call/stret_medium.c,
- testsuite/libffi.call/stret_large.c,
- testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
-
-2009-12-31 Kay Tietz <ktietz70@googlemail.com>
-
- * testsuite/libffi.call/ffitest.h,
- testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
- definitions.
-
-2009-12-31 Carlo Bramini <carlo.bramix@libero.it>
-
- * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
- * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
-
-2009-12-31 Anthony Green <green@redhat.com>
- Blake Chaffin.
-
- * testsuite/libffi.call/huge_struct.c: New test case from Blake
- Chaffin @ Apple.
-
-2009-12-28 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
- local variables.
- (aix_adjust_aggregate_sizes): New function.
- (ffi_prep_cif_machdep): Call it.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
- * configure: Regenerate.
- * fficonfig.h.in: Likewise.
- * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
- Solaris/x86.
-
-2009-12-26 Andreas Schwab <schwab@linux-m68k.org>
-
- * 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.
-
-2009-12-25 Matthias Klose <doko@ubuntu.com>
-
- * man/ffi_call.3: Fix #include in examples.
- * doc/libffi.texi: Add dircategory.
-
-2009-12-25 Frank Everdij <f.p.x.everdij@tudelft.nl>
-
- * include/ffi.h.in: Placed '__GNUC__' ifdef around
- '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
- IRIX MIPSPro c99.
- * include/ffi_common.h: Added '__sgi' define to non
- '__attribute__((__mode__()))' integer typedefs.
- * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
- ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
- (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
- FFI_LONGDOUBLE support and alignment(N32 only).
- * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
- fixed non '__attribute__((__mode__()))' integer typedefs.
- * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
- since they are Linux/GNU Assembler specific.
-
-2009-12-25 Bradley Smith <brad@brad-smith.co.uk>
-
- * configure.ac, Makefile.am, src/avr32/ffi.c,
- src/avr32/ffitarget.h,
- src/avr32/sysv.S: Add AVR32 port.
- * configure, Makefile.in: Rebuilt.
-
-2009-12-21 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
- * configure: Regenerate.
-
-2009-12-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
- type on HP-UX.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
- double' arguments.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40700
- * src/closures.c [X86_64 && __sun__ && __svr4__]
- (FFI_MMAP_EXEC_WRIT): Define.
-
-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.
-
-2009-12-07 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
- typo.
-
-2009-12-05 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
- code.
- * src/powerpc/aix_closure.S: Same.
-
-2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
- linux64_closure.S.
-
-2009-12-04 Uros Bizjak <ubizjak@gmail.com>
-
- 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.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
- pfr for long double split between fpr13 and stack.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
- fparg_count twice for long double.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- PR libffi/42243
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03 Uros Bizjak <ubizjak@gmail.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
- Remove xfails for x86 linux targets.
-
-2009-12-02 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
- case.
-
-2009-12-01 David Edelsohn <edelsohn@gnu.org>
-
- * 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.
-
-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.
-
-2009-11-02 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/41908
- * testsuite/libffi.call/testclosure.c: New test.
-
-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.
-
-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.
-
-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.
-
-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.
-
-2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.am (install-html, install-pdf): Remove.
- * Makefile.in: Regenerate.
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2011-08-22 Jasper Lievisse Adriaanse <jasper@openbsd.org>
-
- * configure.ac: Add OpenBSD/hppa and OpenBSD/powerpc support.
- * configure: Rebuilt.
-
-2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24 Dave Korn <dave.korn.cygwin@gmail.com>
-
- 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.
-
-2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
-
- 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.
-
-2009-07-01 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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 "".)
-
-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.
-
-2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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.
-
-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.
-
-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.
-
-2009-06-16 Andrew Haley <aph@redhat.com>
-
- * configure.ac (TARGETDIR): Add missing blank lines.
- * configure: Regenerate.
-
-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.
-
-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.
-
-2009-06-12 Andrew Haley <aph@redhat.com>
-
- * Makefile.am: Remove info_TEXINFOS.
-
-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-11 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * 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.
-
-2009-06-09 Andrew Haley <aph@redhat.com>
-
- * src/x86/freebsd.S: Add missing file.
-
-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).
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * README: Import from libffi 3.0.8.
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Add xfails.
- * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
- * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
- * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
- * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
- * testsuite/libffi.call/stret_medium.c: Likewise.
- * testsuite/libffi.call/stret_large2.c: Likewise.
- * testsuite/libffi.call/stret_large.c: Likewise.
-
-2008-12-26 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_align_longdouble.c,
- testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
- failures on x86_64 cygwin/mingw.
-
-2008-12-22 Timothy Wall <twall@users.sf.net>
-
- * 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_loc_fn0.c,
- testsuite/libffi.call/closure_stdcall.c,
- testsuite/libffi.call/cls_align_pointer.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
- pointer to integer (intptr_t).
- * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_dbls_struct.c,
- testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c,
- testsuite/libffi.call/err_bad_abi.c: Clean up failures from
- compiler warnings.
-
-2008-03-04 Anthony Green <green@redhat.com>
- Blake Chaffin
- hos@tamanegi.org
-
- * testsuite/libffi.call/cls_align_longdouble_split2.c
- testsuite/libffi.call/cls_align_longdouble_split.c
- testsuite/libffi.call/cls_dbls_struct.c
- testsuite/libffi.call/cls_double_va.c
- testsuite/libffi.call/cls_longdouble.c
- testsuite/libffi.call/cls_longdouble_va.c
- testsuite/libffi.call/cls_pointer.c
- testsuite/libffi.call/cls_pointer_stack.c
- testsuite/libffi.call/err_bad_abi.c
- testsuite/libffi.call/err_bad_typedef.c
- testsuite/libffi.call/stret_large2.c
- testsuite/libffi.call/stret_large.c
- testsuite/libffi.call/stret_medium2.c
- testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
- libffi.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
- stdcall changes.
-
-2008-02-26 Anthony Green <green@redhat.com>
- Thomas Heller <theller@ctypes.org>
-
- * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
- comment.
-
-2008-02-03 Timothy Wall <twall@users.sf.net>
-
- * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
- offset based on code pointer, not data pointer.
-
-2008-01-31 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
- closures.
- * src/x86/ffitarget.h: Increase size of trampoline for stdcall
- closures.
- * src/x86/win32.S: Add assembly for stdcall closure.
- * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Change void (*)() to void (*)(void).
- * src/x86/ffi.c: Likewise.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ppc_closure.S: Insert licence header.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/m68k/sysv.S: Likewise.
-
- * src/sh64/ffi.c: Change void (*)() to void (*)(void).
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/m32r/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi64.c: Likewise.
- * src/alpha/ffi.c: Likewise.
- * src/alpha/osf.S: Likewise.
- * src/frv/ffi.c: Likewise.
- * src/s390/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/pa/hpux32.S: Likewise.
- * src/ia64/unix.S: Likewise.
- * src/ia64/ffi.c: Likewise.
- * src/sparc/ffi.c: Likewise.
- * src/mips/ffi.c: Likewise.
- * src/sh/ffi.c: Likewise.
-
-2008-02-15 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
- Define (conditionally), and use it to include cachectl.h.
- (ffi_prep_closure_loc): Fix cache flushing.
- * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- include/ffi.h.in,
- src/arm/ffitarget.h,
- src/arm/ffi.c,
- src/arm/sysv.S,
- src/powerpc/ffitarget.h,
- src/closures.c,
- src/sh64/ffitarget.h,
- src/sh64/ffi.c,
- src/sh64/sysv.S,
- src/types.c,
- src/x86/ffi64.c,
- src/x86/ffitarget.h,
- src/x86/win32.S,
- src/x86/darwin.S,
- src/x86/ffi.c,
- src/x86/sysv.S,
- src/x86/unix64.S,
- src/alpha/ffitarget.h,
- src/alpha/ffi.c,
- src/alpha/osf.S,
- src/m68k/ffitarget.h,
- src/frv/ffitarget.h,
- src/frv/ffi.c,
- src/s390/ffitarget.h,
- src/s390/sysv.S,
- src/cris/ffitarget.h,
- src/pa/linux.S,
- src/pa/ffitarget.h,
- src/pa/ffi.c,
- src/raw_api.c,
- src/ia64/ffitarget.h,
- src/ia64/unix.S,
- src/ia64/ffi.c,
- src/ia64/ia64_flags.h,
- src/java_raw_api.c,
- src/debug.c,
- src/sparc/v9.S,
- src/sparc/ffitarget.h,
- src/sparc/ffi.c,
- src/sparc/v8.S,
- src/mips/ffitarget.h,
- src/mips/n32.S,
- src/mips/o32.S,
- src/mips/ffi.c,
- src/prep_cif.c,
- src/sh/ffitarget.h,
- src/sh/ffi.c,
- src/sh/sysv.S: Update license text.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * src/x86/win32.S (_ffi_closure_STDCALL): New function.
- (.eh_frame): Add FDE for it.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * configure.ac: Also check if assembler supports pc-relative
- relocs on X86_WIN32 targets.
- * configure: Regenerate.
- * src/x86/win32.S (ffi_prep_args): Declare extern, not global.
- (_ffi_call_SYSV): Add missing function type symbol .def and
- add EH markup labels.
- (_ffi_call_STDCALL): Likewise.
- (_ffi_closure_SYSV): Likewise.
- (_ffi_closure_raw_SYSV): Likewise.
- (.eh_frame): Add hand-crafted EH data.
-
-2009-04-09 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
- version 3 of the GNU General Public License and to point readers
- at the COPYING3 file and the FSF's license web page.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-12-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libffi/26048
- * configure.ac (HAVE_AS_X86_PCREL): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
- RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
- RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
- * src/x86/unix64.S (.Lstore_table): Move to .text section.
- (.Lload_table): Likewise.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
- signed/unsigned int8/16 return values.
- * src/sparc/v8.S (ffi_call_v8): Likewise.
- (ffi_closure_v8): Likewise.
-
-2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
- Steve Ellcey <sje@cup.hp.com>
-
- * configure: Regenerate for new libtool.
- * Makefile.in: Ditto.
- * include/Makefile.in: Ditto.
- * aclocal.m4: Ditto.
-
-2008-08-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
- FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
- Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
- Adjust copyright notice.
- * src/powerpc/ffi.c: Add two new flags to indicate if we have one
- register or two register to use for FFI_SYSV structs.
- (ffi_prep_cif_machdep): Pass the right register flag introduced above.
- (ffi_closure_helper_SYSV): Fix the return type for
- FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
- Adjust copyright notice.
-
-2008-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
- int.
-
-2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2008-06-07 Joseph Myers <joseph@codesourcery.com>
-
- * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
- powerpc-*-beos*): Remove.
- * configure: Regenerate.
-
-2008-05-09 Julian Brown <julian@codesourcery.com>
-
- * Makefile.am (LTLDFLAGS): New.
- (libffi_la_LDFLAGS): Use above.
- * Makefile.in: Regenerate.
-
-2008-04-18 Paolo Bonzini <bonzini@gnu.org>
-
- PR bootstrap/35457
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2008-03-26 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add .note.GNU-stack on Linux.
- * src/sh64/sysv.S: Likewise.
-
-2008-03-26 Daniel Jacobowitz <dan@debian.org>
-
- * src/arm/sysv.S: Fix ARM comment marker.
-
-2008-03-26 Jakub Jelinek <jakub@redhat.com>
-
- * src/alpha/osf.S: Add .note.GNU-stack on Linux.
- * src/s390/sysv.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
- * src/x86/unix64.S: Likewise.
- * src/x86/sysv.S: Likewise.
- * src/sparc/v8.S: Likewise.
- * src/sparc/v9.S: Likewise.
- * src/m68k/sysv.S: Likewise.
- * src/arm/sysv.S: Likewise.
-
-2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * aclocal.m4: Regenerate.
- * configure: Likewise.
- * Makefile.in: Likewise.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2008-02-12 Bjoern Koenig <bkoenig@alpha-tierchen.de>
- Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-freebsd* target.
- * configure: Regenerate.
-
-2008-01-30 H.J. Lu <hongjiu.lu@intel.com>
-
- PR libffi/34612
- * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
- returning struct.
-
- * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
- tests.
-
-2008-01-24 David Edelsohn <edelsohn@gnu.org>
-
- * configure: Regenerate.
-
-2008-01-06 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
-
-2008-01-05 Andreas Tobler <a.tobler@schweiz.org>
-
- PR testsuite/32843
- * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
- signed/unsigned int8/16 for X86_DARWIN.
- Updated copyright info.
- Handle one and two byte structs with special cif->flags.
- * src/x86/ffitarget.h: Add special types for one and two byte structs.
- Updated copyright info.
- * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
- sysv.S
- Remove code to pop args from the stack after call.
- Special-case signed/unsigned for int8/16, one and two byte structs.
- (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
- FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
- FFI_TYPE_SINT32.
- Updated copyright info.
-
-2007-12-08 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_call_N32): Replace dadd with ADDU, dsub with
- SUBU, add with ADDU and use smaller code sequences.
-
-2007-12-07 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
- type.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
- defined.
- (ffi_java_raw): New typedef.
- (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
- ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
- ffi_java_raw.
- (ffi_java_raw_closure) : Same.
- (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
- parameter types.
- * src/java_raw_api.c (ffi_java_raw_size): Replace FFI_SIZEOF_ARG with
- FFI_SIZEOF_JAVA_RAW.
- (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
- Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
- sizeof(ffi_java_raw) for alignment calculations.
- (ffi_java_ptrarray_to_raw): Same.
- (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
- if FFI_SIZEOF_JAVA_RAW == 4.
- (ffi_java_raw_to_rvalue): Same.
- (ffi_java_raw_call): Change type of raw to ffi_java_raw.
- (ffi_java_translate_args): Same.
- (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
- parameter types.
- * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
- pointer values.
-
-2007-12-01 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/31937
- * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
- Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
- * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
- set the NUM_FPR_ARG_REGISTERS according to.
- Add support for potential soft-float support under hard-float
- architecture.
- (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
- FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
- to the FFI_LINUX_SOFT_FLOAT ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Make sure not to store float/double
- on archs where __NO_FPRS__ is true.
- Add FFI_TYPE_UINT128 support.
- * src/powerpc/sysv.S: Add support for soft-float long-double-128.
- Adjust copyright notice.
-
-2007-11-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
- * include/ffi_common.h: ... here.
- Update copyright.
-
-2007-11-17 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
- * testsuite/libffi.call/return_ldl.c: New test.
-
-2007-09-04 <aph@redhat.com>
-
- * src/arm/sysv.S (UNWIND): New.
- (Whole file): Conditionally compile unwinder directives.
- * src/arm/sysv.S: Add unwinder directives.
-
- * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
- Only treat r0 as a struct address if we're actually returning a
- struct by address.
- Only copy the bytes that are actually within a struct.
- (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
- is returned in r0, not passed by address.
- (ffi_call): Allocate a word-sized temporary for the case where
- a composite is returned in r0.
- (ffi_prep_incoming_args_SYSV): Align as necessary.
-
-2007-08-05 Steven Newbury <s_j_newbury@yahoo.co.uk>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
- directly using the sys_cacheflush syscall.
-
-2007-07-27 Andrew Haley <aph@redhat.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
-
-2007-09-03 Maciej W. Rozycki <macro@linux-mips.org>
-
- * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure: Likewise.
-
-2007-08-24 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/return_sl.c: New test.
-
-2007-08-10 David Daney <ddaney@avtrex.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/nested_struct5.c,
- testsuite/libffi.call/cls_double.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/nested_struct.c,
- testsuite/libffi.call/cls_2byte.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_sint16.c,
- testsuite/libffi.call/cls_align_uint32.c,
- testsuite/libffi.call/cls_20byte.c,
- testsuite/libffi.call/cls_float.c,
- testsuite/libffi.call/nested_struct2.c,
- testsuite/libffi.call/cls_5_1_byte.c,
- testsuite/libffi.call/nested_struct4.c,
- testsuite/libffi.call/cls_24byte.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: Remove xfail for mips64*-*-*.
-
-2007-08-10 David Daney <ddaney@avtrex.com>
-
- 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.
-
-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*.
- * 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.
-
-2006-12-13 Andreas Tobler <a.tobler@schweiz.org>
-
- * aclocal.m4: Regenerate with aclocal -I .. as written in the
- Makefile.am.
-
-2006-10-31 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
- (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
- Darwin.
- * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
- * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10 Paolo Bonzini <bonzini@gnu.org>
- Sandro Tolaini <tolaini@libero.it>
-
- * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
- conditional.
- * configure: Regenerated.
- * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
- (EXTRA_DIST): Add src/x86/darwin.S.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
- X86_WIN32, and additionally align stack to 16 bytes.
- * src/x86/darwin.S: New, based on sysv.S.
- * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12 David Daney <ddaney@avtrex.com>
-
- PR libffi/23935
- * include/Makefile.am: Install both ffi.h and ffitarget.h in
- $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
- * aclocal.m4: Regenerated for automake 1.9.6.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
-2006-08-17 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h: Remove lint directives.
- * include/ffi.h.in: Likewise.
-
-2006-07-25 Torsten Schoenfeld <kaffeetisch@gmx.de>
-
- * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
- for 32-bit architectures.
- * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
- xfail remains for mips64.
-
-2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
-
- * Makefile.am: Add install-html target. Add install-html to .PHONY
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
- stack slot.
-
-2006-04-22 Andreas Tobler <a.tobler@schweiz.ch>
-
- * README: Remove notice about 'Crazy Comments'.
- * src/debug.c: Remove lint directives. Cleanup white spaces.
- * src/java_raw_api.c: Likewise.
- * src/prep_cif.c: Likewise.
- * src/raw_api.c: Likewise.
- * src/ffitest.c: Delete. No longer needed, all test cases migrated
- to the testsuite.
- * src/arm/ffi.c: Remove lint directives.
- * src/m32r/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/sh/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/pa/hpux32.S: Correct unwind offset calculation for
- ffi_closure_pa32.
- * src/pa/linux.S: Likewise.
-
-2006-04-12 James E Wilson <wilson@specifix.com>
-
- PR libgcj/26483
- * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
- (hfa_type_load): Call stf_spill.
- (hfa_type_store): Call ldf_fill.
- (ffi_call): Adjust calls to above routines. Add local temps for
- macro result.
-
-2006-04-10 Matthias Klose <doko@debian.org>
-
- * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
- directory names containing underscores.
-
-2006-04-07 James E Wilson <wilson@specifix.com>
-
- * testsuite/libffi.call/float4.c: New testcase.
-
-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.
-
-2006-03-24 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Default
- for 32-bit using IBM extended double format. Fix FFI_LAST_ABI.
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
- FFI_TYPE_LONGDOUBLE.
- (ffi_prep_args64): Assert using IBM extended double.
- (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
- Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
- (ffi_call): Handle FFI_LINUX.
- (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
- gpr3 return pointer as for struct return. Handle FFI_LINUX
- FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf"
- unnecessarily.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
- for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table.
- Don't use r6 as pointer to results, instead use sp offset. Don't
- make a special call to load lr with case table address, instead
- use offset from previous call.
- * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
- return.
-
-2006-03-15 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
- passed with FP registers correctly.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S: Likewise.
-
-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.
-
-2006-02-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
- -O2, -O3, -Os and the warning flags -W -Wall.
- * testsuite/libffi.special/special.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
- unused parameter unused for gcc or else do nothing.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
- * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
- * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
- * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
- * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
- * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
- * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
- * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
- * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
- void* to avoid compiler warning.
- (main): Likewise.
- (cls_struct_align_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
- * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
- * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
- userdata unused.
- (cls_ret_schar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
- userdata unused.
- (cls_ret_sint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
- userdata unused.
- (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn): Mark cif and
- userdata unused.
- (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
- userdata unused.
- (cls_ret_uint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
- userdata unused.
- (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
- * testsuite/libffi.call/float1.c (main): Remove unused variable i.
- Cleanup white spaces.
- * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
- * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
- cif and userdata unused.
- * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
- Likewise.
- * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
- formatters to silence gcc.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct4.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct6.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
- * testsuite/libffi.call/problem1.c (stub): Likewise.
- * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
- gcc.
- * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
- in the last commit for this test case in the test case itself.
- * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
- unused.
- * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
- * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
- * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
- * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
- * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
- * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Fix register numbers in the FDE for
- ffi_closure_SYSV.
-
-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.
-
-2006-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
- and cast integer to void * if needed. Update the pointer to
- the FP register saved area correctly.
-
-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.
-
-2006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/return_dbl.c: New test case.
- * testsuite/libffi.call/return_dbl1.c: Likewise.
- * testsuite/libffi.call/return_dbl2.c: Likewise.
- * testsuite/libffi.call/return_fl.c: Likewise.
- * testsuite/libffi.call/return_fl1.c: Likewise.
- * testsuite/libffi.call/return_fl2.c: Likewise.
- * testsuite/libffi.call/return_fl3.c: Likewise.
- * testsuite/libffi.call/closure_fn6.c: Likewise.
-
- * 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.
-
-2006-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.ac: Enable libffi for sparc64-*-freebsd*.
- * configure: Rebuilt.
-
-2006-01-18 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
- instead do the shifting inline.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
- shift count unconditionally. Simplify load sequences for 1, 2, 3, 4
- and 8 byte structs, for the remaining struct sizes don't call
- __lshrdi3, instead do the shifting inline.
-
-2005-12-07 Thiemo Seufer <ths@networkno.de>
-
- * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
- missing parentheses.
- * src/mips/o32.S (ffi_call_O32): Code formatting. Define
- and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
- (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
- A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
- V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
- FA_0_0_OFF2.
- * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
- endianness bugs.
- (ffi_prep_closure): Improve trampoline instruction scheduling.
- (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c: Formatting.
- (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
- (ffi_prep_args64): Likewise.
-
-2005-09-30 Geoffrey Keating <geoffk@apple.com>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
- darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26 Tom Tromey <tromey@redhat.com>
-
- * 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.
-
-2005-08-25 Alan Modra <amodra@bigpond.net.au>
-
- PR target/23404
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
- homed fp args.
- (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11 Jakub Jelinek <jakub@redhat.com>
-
- * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
- (AH_BOTTOM): Add FFI_HIDDEN definition.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * src/powerpc/ffi.c (hidden): Remove.
- (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
- ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
- .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
- * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
- add FFI_HIDDEN to its prototype.
- (ffi_closure_SYSV_inner): New.
- * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
- * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10 Alfred M. Szmidt <ams@gnu.org>
-
- PR libffi/21819:
- * configure: Rebuilt.
- * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
- DW_CFA_offset_extended_sf rather than
- DW_CFA_GNU_negative_offset_extended.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
-
- * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
- on sh3.
- (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
- * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
- partially on register.
- (ffi_closure_helper_SYSV): Likewise.
- (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_call): Handle small structures correctly.
- Remove empty line.
- * src/sh64/ffi.c (simple_type): Remove.
- (return_type): Handle small structures correctly.
- (ffi_prep_args): Likewise.
- (ffi_call): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
- Emit position independent code if PIC and remove wrong datalabel
- prefixes from EH data.
-
-2005-07-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure.ac: Add POWERPC_FREEBSD rules.
- * configure: Regenerate.
- * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
- (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
- * src/powerpc/ffi.c: Add flags to handle small structure returns
- in ffi_call_SYSV.
- (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
- Aka FFI_SYSV.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Add return types for small structures.
- * src/powerpc/sysv.S: Add bits to handle small structures for
- final SYSV 4 ABI.
-
-2005-07-10 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_5_1_byte.c: New test file.
- * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05 Randolph Chung <tausq@debian.org>
-
- * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
- as FFI_TYPE_SMALL_STRUCT3. Break out handling for 5-7 byte
- structures. Kill compilation warnings.
- (ffi_closure_inner_LINUX): Print return values as hex in debug
- message. Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
- Properly handle 5-7 byte structure returns.
- * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
- (FFI_TYPE_SMALL_STRUCT2): Remove.
- (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
- (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
- * src/pa/linux.S: Mark source file as using PA1.1 assembly.
- (checksmst1, checksmst2): Remove.
- (checksmst3): Optimize handling of 3-byte struct returns.
- (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libgcj/21943
- * src/mips/n32.S: Enforce PIC code.
- * src/mips/o32.S: Likewise.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
- * configure: Regenerate.
-
-2005-06-01 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
- to call ffi_closure_helper_SYSV. Append @local instead.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
- Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
- * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
- * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
- include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-05-08 Richard Henderson <rth@redhat.com>
-
- PR libffi/21285
- * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04 Andreas Degert <ad@papyrus-gmbh.de>
- Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
- bit 11 of flags.
- (ffi_call): Mask return type field. Pass ssecount to ffi_call_unix64.
- (ffi_prep_closure): Set carry bit if sse-used flag set.
- * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
- Only load sse registers if ssecount non-zero.
- (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
- powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
- * configure: Regenerate.
-
-2005-04-20 Hans-Peter Nilsson <hp@axis.com>
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
- have Tcl8.3-compatible intermediate variable.
-
-2005-04-18 Simon Posnjak <simon.posnjak@siol.net>
- Hans-Peter Nilsson <hp@axis.com>
-
- * Makefile.am: Add CRIS support.
- * configure.ac: Likewise.
- * Makefile.in, configure, testsuite/Makefile.in,
- include/Makefile.in: Regenerate.
- * src/cris: New directory.
- * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
- * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
- \r?\n in output tests.
-
-2005-04-12 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-03-30 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30 Steve Ellcey <sje@cup.hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
- (ffi_sarg) Ditto.
- * src/ia64/unix.S (ffi_closure_unix): Extend gp
- to 64 bits in ILP32 mode.
- Load 64 bits even for short data.
-
-2005-03-23 Mike Stump <mrs@apple.com>
-
- * src/powerpc/darwin.S: Update for -m64 multilib.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21 Zack Weinberg <zack@codesourcery.com>
-
- * 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.
-
-2005-02-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
- odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR libffi/20104
- * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11 Janis Johnson <janis187@us.ibm.com>
-
- * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
- * testsuite/libffi.call/float.c: Ditto.
- * testsuite/libffi.call/float2.c: Ditto.
- * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * testsuite/libffi.special/special.exp (cxx_options): Add
- -shared-libgcc.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
- (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
- offset parameters with a type parameter; deduce size and structure
- alignment. Update all users.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
- (FFI_TYPE_LONGDOUBLE): Fix for ia64.
- * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
- into ffi_prep_closure.
- * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
- from scratch.
-
-2004-12-27 Richard Henderson <rth@redhat.com>
-
- * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25 Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
- (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
- (merge_classes): Check for it.
- (SSE_CLASS_P): New.
- (classify_argument): Pass byte_offset by value; perform all updates
- inside struct case.
- (examine_argument): Add classes argument; handle
- X86_64_COMPLEX_X87_CLASS.
- (ffi_prep_args): Merge into ...
- (ffi_call): ... here. Share stack frame with ffi_call_unix64.
- (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
- (ffi_fill_return_value): Remove.
- (ffi_prep_closure): Remove dead assert.
- (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
- Rewrite to use struct register_args instead of va_list. Create
- flags for handling structure returns.
- * src/x86/unix64.S: Remove dead strings.
- (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share
- stack frame with ffi_call. Handle structure returns properly.
- (float2sse, floatfloat2sse, double2sse): Remove.
- (sse2float, sse2double, sse2floatfloat): Remove.
- (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite
- to handle structure returns properly.
-
-2004-12-08 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
- PICFLAG.
- * Makefile.in: Regenerated.
-
-2004-12-02 Richard Sandiford <rsandifo@redhat.com>
-
- * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
- * configure, aclocal.m4, Makefile.in: Regenerate.
- * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-25 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool reversion.
-
-2004-11-24 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23 Richard Sandiford <rsandifo@redhat.com>
-
- * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
- of jal. Use an absolute encoding for the frame information.
-
-2004-11-23 Kelley Cook <kcook@gcc.gnu.org>
-
- * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS.
- * acinclude.m4: Delete logic for sincludes.
- * aclocal.m4, Makefile.in, configure: Regenerate.
- * include/Makefile: Likewise.
- * testsuite/Makefile: Likewise.
-
-2004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
- on a 8-byte boundary.
- * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
- long long values. Round stack allocation to a multiple of 8 bytes
- for ATPCS compatibility.
- * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
- names. Handle returning long long types. Add Thumb and interworking
- support. Improve soft-float code.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
- (libffi_exit): New function.
- (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR other/18138
- * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
- * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
- the function returning a structure pointed with R2.
- * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
- the structure return value if T bit set. Emit position
- independent code and EH data if PIC.
-
-2004-10-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * Makefile.am: Add m32r support.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * confiugre: Regenerate.
- * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
- (uint64, sint64, double, longdouble)
- * src/m32r: New directory.
- * src/m32r/ffi.c: New file.
- * src/m32r/sysv.S: Likewise.
- * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * testsuite/libffi.call/negint.c: New test case.
-
-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.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/many_win32.c: Remove whitespaces.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
- whitespaces.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Fix comments and identation.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
- (ffi_prep_args): Handle longdouble arguments.
- (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
- longdouble.
- (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
- * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
- values.
- * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
- * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/aix.S: Remove whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
- * src/powerpc/asm.h: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffitarget.h: Likewise.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
-
-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.in: Read configure.host.
- * 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 shouldn't 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.
-
-2004-08-24 David Daney <daney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
- to zero.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23 David Daney <daney@avtrex.com>
-
- PR libgcj/13141
- * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
- * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
- (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
- parameters and return types.
- (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
- (ffi_prep_closure): Ditto.
- (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
- alignment calculations.
- * src/mips/o32.S (ffi_closure_O32): Don't use floating point
- instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14 Casey Marshall <csm@gnu.org>
-
- * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
- contain `FFI_TYPE_UINT64' as return type for any 64-bit
- integer (O32 ABI only).
- (ffi_prep_closure): new function.
- (ffi_closure_mips_inner_O32): new function.
- * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
- `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
- * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
- 64 bit integers correctly.
- (ffi_closure_O32): new function.
- Added DWARF-2 unwind info for both functions.
-
-2004-08-10 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01 Robert Millan <robertmh@gnu.org>
-
- * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
- * configure: Regenerate.
-
-2004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
-
- * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
- and mmap() explicitly instead of relying on preset autoconf cache
- variables.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
- (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
- character on Darwin, use '\n\t' instead.
-
-2004-06-26 Matthias Klose <doko@debian.org>
-
- * libtool-version: Fix typo in revision/age.
-
-2004-06-17 Matthias Klose <doko@debian.org>
-
- * libtool-version: New.
- * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
- * Makefile.in: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * Makefile.am: Remove useless multilib rules.
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate with automake 1.8.5.
- * configure.ac: Remove useless multilib configury.
- * configure: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * .cvsignore: New file.
-
-2004-06-10 Jakub Jelinek <jakub@redhat.com>
-
- * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
- fp_done.
- (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
- changed from 8.
-
-2004-06-06 Sean McNeil <sean@mcneil.com>
-
- * configure.ac: Add x86_64-*-freebsd* support.
- * configure: Regenerate.
-
-2004-04-26 Joe Buck <jbuck@welsh-buck.org>
-
- Bug 15093
- * configure.ac: Test for existence of mmap and sys/mman.h before
- checking blacklist. Fix suggested by Jim Wilson.
- * configure: Regenerate.
-
-2004-04-26 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
- FDE location.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
- error. Reported by Thomas Heller <theller@python.net>.
- * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20 Matthias Klose <doko@debian.org>
-
- * src/pa/linux.S: Fix typo.
-
-2004-03-19 Matthias Klose <doko@debian.org>
-
- * Makefile.am: Update.
- * Makefile.in: Regenerate.
- * src/pa/ffi.h.in: Remove.
- * src/pa/ffitarget.h: New file.
-
-2004-02-10 Randolph Chung <tausq@debian.org>
-
- * Makefile.am: Add PA support.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * configure.ac: Add PA target.
- * configure: Regenerate.
- * src/pa/ffi.c: New file.
- * src/pa/ffi.h.in: Add PA support.
- * src/pa/linux.S: New file.
- * prep_cif.c: Add PA support.
-
-2004-03-16 Hosaka Yuji <hos@tamanegi.org>
-
- * src/types.c: Fix alignment size of X86_WIN32 case int64 and
- double.
- * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
- with ecif->cif->flags.
- (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
- with cif->flags.
- (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
- (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
- * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
- sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.in: Rename file to ...
- * configure.ac: ... this.
- * fficonfig.h.in: Regenerate.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2004-03-12 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Fix EH information so it corresponds to
- changes in EH format resulting from addition of linkonce support.
- * src/powerpc/darwin_closure.S: Likewise.
-
-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.
-
-2004-03-11 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
- arguments from fp registers only for the first 8 parameter slots.
- Don't convert a float parameter when passed in memory.
-
-2004-03-09 Hans-Peter Nilsson <hp@axis.com>
-
- * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
-
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
- ecif->cif->bytes to bytes.
- (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
- * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
- (ffi_closure_helper_LINUX64): Fix typo.
- * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
- for powerpc64-*-*.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
- long double function return and long double arg handling.
- (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
- Use "end_pfr" instead of "nf". Correct long double handling.
- Localise "temp".
- * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
- return value.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
- space for long double return value. Adjust stack frame and offsets.
- Load f2 long double return.
-
-2004-02-07 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
- when the structure return address is passed in %o0.
- (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
- (ffi_v9_layout_struct): Align the field following a nested structure
- on a word boundary. Use memmove instead of memcpy.
- (ffi_call): Update call to ffi_V9_return_struct.
- (ffi_prep_closure): Define 'ctx' only for V8.
- (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
- and ffi_closure_sparc_inner_v9.
- (ffi_closure_sparc_inner_v8): Return long doubles by reference.
- Always skip the structure return address. For structures and long
- doubles, copy the argument directly.
- (ffi_closure_sparc_inner_v9): Skip the structure return address only
- if required. Shift the maximum floating-point slot accordingly. For
- big structures, copy the argument directly; otherwise, left-justify the
- argument and call ffi_v9_layout_struct to lay out the structure on
- the stack.
- * src/sparc/v8.S: Undef STACKFRAME before defining it.
- (ffi_closure_v8): Pass the structure return address. Update call to
- ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
- Skip the 'unimp' insn when returning long doubles and structures.
- * src/sparc/v9.S: Undef STACKFRAME before defining it.
- (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
- FFI_TYPE_INT handling. Load structures both in integers and
- floating-point registers on return.
- * README: Update status of the SPARC port.
-
-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.
-
-2004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
-
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
- value as of type ffi_arg, not unsigned int.
-
-2004-01-21 Michael Ritzert <ritzert@t-online.de>
-
- * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
- of the LHS.
-
-2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
- Solaris.
-
-2004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
- to void *.
-
-2003-12-10 Richard Henderson <rth@redhat.com>
-
- * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
- size_t instead of int.
-
-2003-12-04 Hosaka Yuji <hos@tamanegi.org>
-
- * testsuite/libffi.call/many_win32.c: Include <float.h>.
- * testsuite/libffi.call/many_win32.c (main): Replace variable
- int i with unsigned long ul.
-
- * testsuite/libffi.call/cls_align_uint64.c: New test case.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02 Hosaka Yuji <hos@tamanegi.org>
-
- PR other/13221
- * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
- Align arguments to 32 bits.
-
-2003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR other/13221
- * testsuite/libffi.call/cls_multi_sshort.c: New test case.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-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.
-
-2003-11-21 Andreas Jaeger <aj@suse.de>
- Andreas Tobler <a.tobler@schweiz.ch>
-
- * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
- * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
- * Makefile.in: Rebuilt.
- * aclocal.m4: Likewise.
- * configure: Likewise.
- * fficonfig.h.in: Likewise.
- * testsuite/lib/libffi-dg.exp: Add include dir.
- * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
- for ffi_closure if available.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
- Add -lgcc_s to additional flags.
-
-2003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.in, include/Makefile.am: PR libgcj/11147, install
- the ffitarget.h header file in a gcc versioned and target
- dependent place.
- * configure: Regenerated.
- * Makefile.in, include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Print result and check
- with dg-output to make debugging easier.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
- static.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_9byte2.c: New test case.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_double.c: Do a check on the result.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/prep_cif.c (ffi_prep_cif): Move the validity check after
- the initialization.
-
-2003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
- FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
- __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-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
-
-2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
- _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
- Used when FFI_DEBUG = 1.
-
-2003-10-14 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
- and align.
-
-2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
- FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
- SPARC64. Cleanup whitespaces.
-
-2003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
- strongarm, xscale. Cleanup whitespaces.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Cleanup whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
- * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
- parameter stack.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
- according to the Darwin/AIX ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_DARWIN): Likewise.
- Remove the outgoing parameter stack logic. Simplify the evaluation
- of the different CASE types.
- (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
- statement in the trampoline code.
-
-2003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
- for the register size.
- (ffi_closure_helper_SYSV): Handle the structure return value
- address correctly.
- (ffi_closure_helper_SYSV): Return the appropriate type when
- the registers are used for the structure return value.
- * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
- the 64-bit return value. Update copyright years.
-
-2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
- srcdir for ffi_mips.h.
-
-2003-09-12 Alan Modra <amodra@bigpond.net.au>
-
- * src/prep_cif.c (initialize_aggregate): Include tail padding in
- structure size.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
- placement of float result.
- * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
- cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Merge identical SH and ARM
- typedefs, and add POWERPC64.
- * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
- struct split over gpr and rest.
- (ffi_prep_cif_machdep): Correct intarg_count for structures.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
- passing correctly.
-
-2003-09-09 Alan Modra <amodra@bigpond.net.au>
-
- * configure: Regenerate.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Remove build rules for ffitest.
- * Makefile.in: Rebuilt.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
- about implicit declaration of abort().
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
- * Makefile.in: Rebuilt.
- * configure.in: Add dejagnu test framework.
- * configure: Rebuilt.
-
- * testsuite/Makefile.am: New file.
- * testsuite/Makefile.in: Built
- * testsuite/lib/libffi-dg.exp: New file.
- * testsuite/config/default.exp: Likewise.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Likewise.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float1.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/many.c: Likewise.
- * testsuite/libffi.call/many_win32.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
- * testsuite/libffi.call/strlen.c: Likewise.
- * testsuite/libffi.call/strlen_win32.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
- * testsuite/libffi.call/struct2.c: Likewise.
- * testsuite/libffi.call/struct3.c: Likewise.
- * testsuite/libffi.call/struct4.c: Likewise.
- * testsuite/libffi.call/struct5.c: Likewise.
- * testsuite/libffi.call/struct6.c: Likewise.
- * testsuite/libffi.call/struct7.c: Likewise.
- * testsuite/libffi.call/struct8.c: Likewise.
- * testsuite/libffi.call/struct9.c: Likewise.
- * testsuite/libffi.special/special.exp: New file.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
- copyright years.
-
-2003-08-02 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
- structure passing.
- (ffi_closure_helper_LINUX64): Likewise.
- * src/powerpc/linux64.S: Remove code writing to parm save area.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
- address in lr from ffi_closure_helper_LINUX64 call to calculate
- table address. Optimize function tail.
-
-2003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/sparc/ffi.c: Handle all floating point registers.
- * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
-
- * README: Note that libffi is not part of GCC. Update the project
- URL and status.
-
-2003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
- Use C style comments.
-
-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
- should be read-only.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * include/ffi.h.in (EH_FRAME_FLAGS): Define.
- * src/alpha/osf.S: Use EH_FRAME_FLAGS.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
- * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
- if -fpic/-fPIC/-mrelocatable.
- * src/powerpc/powerpc_closure.S: Likewise.
- * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
- #write in .eh_frame flags.
- * src/sparc/v9.S: Likewise.
- * src/x86/unix64.S: Use EH_FRAME_FLAGS.
- * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
- * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
-
-2003-05-07 Jeff Sturm <jsturm@one-point.com>
-
- Fixes PR bootstrap/10656
- * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
- support for .register pseudo-op.
- * src/sparc/v8.S: Use it.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2003-04-18 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (POWERPC64): Define if 64-bit.
- (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
- Make it the default on POWERPC64.
- (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
- * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
- * configure: Rebuilt.
- * src/powerpc/ffi.c (hidden): Define.
- (ffi_prep_args_SYSV): Renamed from
- ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
- (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
- ASM_NEEDS_REGISTERS64): New.
- (ffi_prep_args64): New function.
- (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
- (ffi_call): Likewise.
- (ffi_prep_closure): Likewise.
- (flush_icache): Surround by #ifndef POWERPC64.
- (ffi_dblfl): New union type.
- (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
- (ffi_closure_helper_LINUX64): New function.
- * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
- __powerpc64__.
- * src/powerpc/sysv.S: Likewise.
- (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
- * src/powerpc/linux64.S: New file.
- * src/powerpc/linux64_closure.S: New file.
- * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
- src/powerpc/linux64_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
- * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
- closure_test_fn3): Fix result printing on big-endian 64-bit
- machines.
- (main): Print tst2_arg instead of uninitialized tst2_result.
-
- * src/ffitest.c (main): Hide what closure pointer really points to
- from the compiler.
-
-2003-04-16 Richard Earnshaw <rearnsha@arm.com>
-
- * configure.in (arm-*-netbsdelf*): Add configuration.
- (configure): Regenerated.
-
-2003-04-04 Loren J. Rittle <ljrittle@acm.org>
-
- * include/Makefile.in: Regenerate.
-
-2003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
-
- * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
- bit mode.
- * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
- Receive closure pointer through parameter, read args using
- __builtin_dwarf_cfa.
- (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12 Andreas Schwab <schwab@suse.de>
-
- * configure.in: Avoid trailing /. in toolexeclibdir.
- * configure: Rebuilt.
-
-2003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/powerpc/darwin_closure.S:
- Fix alignement bug, allocate 8 bytes for the result.
- * libffi/src/powerpc/aix_closure.S:
- Likewise.
- * libffi/src/powerpc/ffi_darwin.c:
- Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06 Jakub Jelinek <jakub@redhat.com>
-
- * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
- attribute.
-
-2003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
- Andreas Schwab <schwab@suse.de>
-
- * configure.in: Adjust command to source config-ml.in to account
- for changes to the libffi_basedir definition.
- (libffi_basedir): Remove ${srcdir} from value and include trailing
- slash if nonempty.
-
- * configure: Regenerate.
-
-2003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
- * src/x86/ffi64.c (ffi_prep_closure): New.
- (ffi_closure_UNIX64_inner): New.
- * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
- Remove USE_LIBDIR conditional.
- * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
- * Makefile.in, configure: Rebuilt.
-
-2003-01027 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
- * Makefile.in: Regenerate.
-
-2003-01-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
- unwind info.
-
-2003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Add unwind info.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
- (ffi_prep_cif_machdep): Likewise.
- * src/x86/unix64.S: Add unwind info.
-
-2003-01-14 Andreas Jaeger <aj@suse.de>
-
- * src/ffitest.c (main): Only use ffi_closures if those are
- supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/ffitest.c
- add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
- * libffi/src/powerpc/ffi.c
- fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c: Remove RCS version string.
- * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
- * src/ffitest.c (main): Use static storage for closure.
- * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
- * src/sparc/v8.S (ffi_closure_v8): New.
- * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10 Ranjit Mathew <rmathew@hotmail.com>
-
- * include/ffi.h.in: Added FFI_STDCALL ffi_type
- enumeration for X86_WIN32.
- * src/x86/win32.S: Added ffi_call_STDCALL function
- definition.
- * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
- switch cases for recognising FFI_STDCALL and
- calling ffi_call_STDCALL if target is X86_WIN32.
- * src/ffitest.c (my_stdcall_strlen/stdcall_many):
- stdcall versions of the "my_strlen" and "many"
- test functions (for X86_WIN32).
- Added test cases to test stdcall invocation using
- these functions.
-
-2002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26 Jim Wilson <wilson@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23 H.J. Lu <hjl@gnu.org>
-
- * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
- Include ../config/accross.m4.
- * aclocal.m4; Rebuild.
- * configure: Likewise.
-
-2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11 DJ Delorie <dj@redhat.com>
-
- * configure.in: Look for common files in the right place.
-
-2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
- raw data as _Jv_word values, not ffi_raw.
- (ffi_java_ptrarray_to_raw): Likewise.
- (ffi_java_rvalue_to_raw): New function.
- (ffi_java_raw_call): Call it.
- (ffi_java_raw_to_rvalue): New function.
- (ffi_java_translate_args): Call it.
- * src/ffitest.c (closure_test_fn): Interpret return value
- as ffi_arg, not int.
- * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
- FFI_TYPE_POINTER case.
- (ffi_closure_helper_SYSV): Likewise. Also, assume return
- values extended to word size.
-
-2002-10-02 Andreas Jaeger <aj@suse.de>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01 Bo Thorsen <bo@smetana.suse.de>
-
- * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
-
- * configure.in: Add s390x-*-linux-* target.
- * configure: Regenerate.
- * include/ffi.h.in: Define S390X for s390x targets.
- (FFI_CLOSURES): Define for s390/s390x.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
- * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
- * src/s390/ffi.c: Major rework of existing code. Add support for
- s390x targets. Add closure support.
- * src/s390/sysv.S: Likewise.
-
-2002-09-29 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: Fix typo.
-
-2002-09-28 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
- has defined __USER_LABEL_PREFIX__, then use it in CNAME.
- (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27 Bo Thorsen <bo@suse.de>
-
- * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * configure.in (sh[34]*-*-linux*): Add brackets.
- * configure: Regenerate.
-
-2002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * Makefile.am: Add SH support.
- * Makefile.in: Regenerate.
- * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
- * configure: Regenerate.
- * include/ffi.h.in: Add SH support.
- * src/sh/ffi.c: New file.
- * src/sh/sysv.S: New file.
- * src/types.c: Add SH support.
-
-2002-07-16 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi64.c: New file that adds x86-64 support.
- * src/x86/unix64.S: New file that handles argument setup for
- x86-64.
- * src/x86/sysv.S: Don't use this on x86-64.
- * src/x86/ffi.c: Don't use this on x86-64.
- Remove unused vars.
- * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
- for x86-64.
- * src/ffitest.c (struct6): New test that tests a special case in
- the x86-64 ABI.
- (struct7): Likewise.
- (struct8): Likewise.
- (struct9): Likewise.
- (closure_test_fn): Silence warning about this when it's not used.
- (main): Add the new tests.
- (main): Fix a couple of wrong casts and silence some compiler warnings.
- * include/ffi.h.in: Add x86-64 ABI definition.
- * fficonfig.h.in: Regenerate.
- * Makefile.am: Add x86-64 support.
- * configure.in: Likewise.
- * Makefile.in: Regenerate.
- * configure: Likewise.
-
-2002-06-24 Bo Thorsen <bo@suse.de>
-
- * src/types.c: Merge settings for similar architectures.
- Add x86-64 sizes and alignments.
-
-2002-06-23 Bo Thorsen <bo@suse.de>
-
- * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
- * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
- * src/mips/ffi.c (ffi_prep_args): Likewise.
- * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18 H.J. Lu (hjl@gnu.org)
-
- * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
- (libffi_la_SOURCES): Support MIPS_LINUX.
- (libffi_convenience_la_SOURCES): Likewise.
- * Makefile.in: Regenerated.
-
- * configure.in (mips64*-*): Skip.
- (mips*-*-linux*): New.
- * configure: Regenerated.
-
- * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
-
-2002-05-27 Roger Sayle <roger@eyesopen.com>
-
- * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
- fix formatting.
-
-2002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
- beginning of function (for older apple cc).
-
-2002-05-08 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
- script entry, and set LD to it when configuring multilibs.
- * configure: Rebuilt.
-
-2002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (sparc64-*-netbsd*): Add target.
- (sparc-*-netbsdelf*): Likewise.
- * configure: Regenerate.
-
-2002-04-28 David S. Miller <davem@redhat.com>
-
- * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
-
- * Makefile.am: Add Linux for S/390 support.
- * Makefile.in: Regenerate.
- * configure.in: Add Linux for S/390 support.
- * configure: Regenerate.
- * include/ffi.h.in: Add Linux for S/390 support.
- * src/s390/ffi.c: New file from libffi CVS tree.
- * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
- %r_disp32().
- * src/sparc/v8.S: Use it.
- * src/sparc/v9.S: Likewise.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2002-04-08 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
- correctly.
- * src/ia64/unix.S: Add unwind information. Fix comments.
- Save sp in a way that's compatible with unwind info.
- (ffi_call_unix): Correctly restore sp in all cases.
- * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08 Jakub Jelinek <jakub@redhat.com>
-
- * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (alpha*-*-netbsd*): Add target.
- * configure: Regenerate.
-
-2002-04-04 Jeff Sturm <jsturm@one-point.com>
-
- * src/sparc/v8.S: Add unwind info.
- * src/sparc/v9.S: Likewise.
-
-2002-03-30 Krister Walfridsson <cato@df.lth.se>
-
- * configure.in: Enable i*86-*-netbsdelf*.
- * configure: Rebuilt.
-
-2002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
-
- PR other/2620
- * src/mips/n32.s: Delete
- * src/mips/o32.s: Delete
-
-2002-03-21 Loren J. Rittle <ljrittle@acm.org>
-
- * configure.in: Enable alpha*-*-freebsd*.
- * configure: Rebuilt.
-
-2002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * Makefile.am: libfficonvenience -> libffi_convenience.
- * Makefile.in: Rebuilt.
-
- * Makefile.am: Define ffitest_OBJECTS.
- * Makefile.in: Rebuilt.
-
-2002-03-07 Andreas Tobler <toa@pop.agri.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
- (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
- (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
- * Makefile.in: Regenerate.
- * include/ffi.h.in: Add AIX and Darwin closure definitions.
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
- (flush_icache, flush_range): New functions.
- (ffi_closure_helper_DARWIN): New function.
- * src/powerpc/aix_closure.S: New file.
- * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add typedef for ffi_arg.
- * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21 Andreas Tobler <toa@pop.agri.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
- number of GPRs for floating-point arguments.
-
-2002-01-31 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Replace CHECK_SIZEOF and endian tests with
- cross-compiler friendly macros.
- * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
- macros.
-
-2002-01-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): New.
- * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
- (TARGET_SRC_POWERPC_AIX): New.
- (POWERPC_AIX): New stanza.
- * Makefile.in: Regenerate.
- * configure.in: Add AIX case.
- * configure: Regenerate.
- * include/ffi.h.in (ffi_abi): Add FFI_AIX.
- * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
- size. Fix "long double" support.
- (ffi_call): Add FFI_AIX case.
- * src/powerpc/aix.S: New.
-
-2001-10-09 John Hornkvist <john@toastedmarshmallow.com>
-
- Implement Darwin PowerPC ABI.
- * configure.in: Handle powerpc-*-darwin*.
- * Makefile.am: Set source files for POWERPC_DARWIN.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
- * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
- POWERPC_DARWIN.
- * src/powerpc/darwin.S: New file.
- * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .balign directive.
- Use C style comments.
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
- Fixes PR bootstrap/3563.
-
-2001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.in: Recognize sparc*-sun-* host.
- * configure: Regenerate.
-
-2001-06-06 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S: Add unwind info.
- * src/powerpc/sysv.S: Add unwind info.
- * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31 Jeff Sturm <jsturm@one-point.com>
-
- * configure.in: Fix AC_ARG_ENABLE usage.
- * configure: Rebuilt.
-
-2001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * configure.in: Remove warning about beta code.
- * configure: Rebuilt.
-
-2001-04-25 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/ia64/unix.S: Restore stack pointer when returning from
- ffi_closure_UNIX.
- * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18 Jim Wilson <wilson@redhat.com>
-
- * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
- to eliminate RAW DV.
-
-2001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
-
- * Makefile.am: Make a libtool convenience library.
- * Makefile.in: Rebuilt.
-
-2001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Use different syntax for subdirectory creation.
- * configure: Rebuilt.
-
-2001-03-27 Jon Beniston <jon@beniston.com>
-
- * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
- * configure: Rebuilt.
- * Makefile.am: Added X86_WIN32 target support.
- * Makefile.in: Rebuilt.
-
- * include/ffi.h.in: Added X86_WIN32 target support.
-
- * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
- * src/types.c: Added X86_WIN32 target support.
-
- * src/x86/win32.S: New file. Based on sysv.S, but with EH
- stuff removed and made to work with CygWin's gas.
-
-2001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Make target subdirectory in build dir.
- * Makefile.am: Override suffix based rules to specify correct output
- subdirectory.
- * Makefile.in: Rebuilt.
- * configure: Rebuilt.
-
-2001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
-
- * src/powerpc/ppc_closure.S: New file.
- * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
- involving long long and register pairs.
- (ffi_prep_closure): New function.
- (flush_icache): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * Makefile.in: Rebuilt.
- * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19 Tom Tromey <tromey@redhat.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02 Nick Clifton <nickc@redhat.com>
-
- * include/ffi.h.in: Remove RCS ident string.
- * include/ffi_mips.h: Remove RCS ident string.
- * src/debug.c: Remove RCS ident string.
- * src/ffitest.c: Remove RCS ident string.
- * src/prep_cif.c: Remove RCS ident string.
- * src/types.c: Remove RCS ident string.
- * src/alpha/ffi.c: Remove RCS ident string.
- * src/alpha/osf.S: Remove RCS ident string.
- * src/arm/ffi.c: Remove RCS ident string.
- * src/arm/sysv.S: Remove RCS ident string.
- * src/mips/ffi.c: Remove RCS ident string.
- * src/mips/n32.S: Remove RCS ident string.
- * src/mips/o32.S: Remove RCS ident string.
- * src/sparc/ffi.c: Remove RCS ident string.
- * src/sparc/v8.S: Remove RCS ident string.
- * src/sparc/v9.S: Remove RCS ident string.
- * src/x86/ffi.c: Remove RCS ident string.
- * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * include/ffi.h.in: Change sourceware.cygnus.com references to
- gcc.gnu.org.
-
-2000-12-09 Richard Henderson <rth@redhat.com>
-
- * src/alpha/ffi.c (ffi_call): Simplify struct return test.
- (ffi_closure_osf_inner): Index rather than increment avalue
- and arg_types. Give ffi_closure_osf the raw return value type.
- * src/alpha/osf.S (ffi_closure_osf): Handle return value type
- promotion.
-
-2000-12-07 Richard Henderson <rth@redhat.com>
-
- * src/raw_api.c (ffi_translate_args): Fix typo.
- (ffi_prep_closure): Likewise.
-
- * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
- FFI_TRAMPOLINE_SIZE.
- * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
- cif->bytes for new ffi_call_osf implementation.
- (ffi_prep_args): Absorb into ...
- (ffi_call): ... here. Do all stack allocation here and
- avoid a callback function.
- (ffi_prep_closure, ffi_closure_osf_inner): New.
- * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
- (ffi_closure_osf): New.
-
-2000-09-10 Alexandre Oliva <aoliva@redhat.com>
-
- * config.guess, config.sub, install-sh: Removed.
- * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
- * Makefile.in: Rebuilt.
-
- * acinclude.m4: Include libtool macros from the top level.
- * aclocal.m4, configure: Rebuilt.
-
-2000-08-22 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
- * configure: Rebuilt.
-
-2000-05-11 Scott Bambrough <scottb@netwinder.org>
-
- * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
- memory correctly. Use conditional instructions, not branches where
- possible.
-
-2000-05-04 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Match `arm*-*-linux-*'.
- From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (SUBDIRS): Define.
- (AM_MAKEFLAGS): Likewise.
- (Multilib support.): Add section.
- * Makefile.in: Rebuilt.
- * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
- New variables. Set for gcc using -print-multi-lib. Export them
- to libtool.
- (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
- * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
- for -shared links.
- (extra_compiler_flags_value, extra_compiler_flags): Check these
- for extra compiler options which need to be passed down in
- compiler_flags.
-
-2000-04-16 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
- Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
- * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
- Replace all void * sizeofs with sizeof(int).
- Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
- different than DOUBLE.
- Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
- (ffi_prep_args_v9): New function.
- (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
- (ffi_V9_return_struct): New function.
- (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
- 32bit code (not yet cross-arch calls).
- * src/sparc/v8.S: Add struct return delay nop.
- Handle long long.
- * src/sparc/v9.S: New file.
- * src/prep_cif.c (ffi_prep_cif): Return structure pointer
- is used on sparc64 only for structures larger than 32 bytes.
- Pass by reference for structures is done for structure arguments
- larger than 16 bytes.
- * src/ffitest.c (main): Use 64bit rint on sparc64.
- Run long long tests on sparc.
- * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
- sparc64.
- (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
- on sparc64.
- * configure.in (sparc-*-linux*): New supported target.
- (sparc64-*-linux*): Likewise.
- * configure: Rebuilt.
- * Makefile.am: Add v9.S to SPARC files.
- * Makefile.in: Likewise.
- (LINK): Surround $(CCLD) into double quotes, so that multilib
- compiles work correctly.
-
-2000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: (i*86-*-solaris*): New libffi target. Patch
- proposed by Bryce McKinlay.
-
-2000-03-20 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
-
- * config.guess, config.sub: Update from the gcc tree.
- Fix for PR libgcj/168.
-
-2000-03-03 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Fixed ia64 by hand.
-
- * configure: Rebuilt.
- * configure.in (--enable-multilib): New option.
- (libffi_basedir): New subst.
- (AC_OUTPUT): Added multilib code.
-
-2000-03-02 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
- directory name.
-
-2000-02-25 Hans Boehm <boehm@acm.org>
-
- * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
- files.
- * src/raw_api.c (ffi_translate_args): Fixed typo in argument
- list.
- (ffi_prep_raw_closure): Use ffi_translate_args, not
- ffi_closure_translate.
- * src/java_raw_api.c: New file.
- * src/ffitest.c (closure_test_fn): New function.
- (main): Define `rint' as long long on IA64. Added new test when
- FFI_CLOSURES is defined.
- * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
- (ffi_abi): Recognize IA64.
- (ffi_raw): Added `flt' field.
- Added "Java raw API" code.
- * configure.in: Recognize ia64.
- * Makefile.am (TARGET_SRC_IA64): New macro.
- (libffi_la_common_SOURCES): Added java_raw_api.c.
- (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01 Tom Tromey <tromey@cygnus.com>
-
- * include/ffi.h.in: Removed PACKAGE and VERSION defines and
- undefs.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
- * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
- Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
- * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09 Anthony Green <green@cygnus.com>
-
- * include/ffi.h.in: Try to work around messy header problem
- with PACKAGE and VERSION.
-
- * configure: Rebuilt.
- * configure.in: Change version to 2.00-beta.
-
- * fficonfig.h.in: Rebuilt.
- * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
- * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
-
- * src/x86/ffi.c (ffi_closure_SYSV): New function.
- (ffi_prep_incoming_args_SYSV): Ditto.
- (ffi_prep_closure): Ditto.
- (ffi_closure_raw_SYSV): Ditto.
- (ffi_prep_raw_closure): More ditto.
- (ffi_call_raw): Final ditto.
-
- * include/ffi.h.in: Add definitions for closure and raw API.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
- FFI_TYPE_UINT64.
-
- * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
- * src/raw_api.c: New file.
-
- * include/ffi.h.in (ffi_raw): New type.
- (UINT_ARG, SINT_ARG): New defines.
- (ffi_closure, ffi_raw_closure): New types.
- (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
- * configure.in: Add check for endianness and sizeof void*.
-
- * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
- instead of directly.
-
- * configure: Rebuilt.
-
-Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
-
- * configure.in: Add x86 and powerpc BeOS configurations.
- From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09 Anthony Green <green@cygnus.com>
-
- * configure.in: Add warning about this being beta code.
- Remove src/Makefile.am from the picture.
- * configure: Rebuilt.
-
- * Makefile.am: Move logic from src/Makefile.am. Add changes
- to support libffi as a target library.
- * Makefile.in: Rebuilt.
-
- * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
- Upgraded to new autoconf, automake, libtool.
-
- * README: Tweaks.
-
- * LICENSE: Update copyright date.
-
- * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29 Anthony Green <green@cygnus.com>
-
- * include/ChangeLog: Removed.
- * src/ChangeLog: Removed.
- * src/mips/ChangeLog: Removed.
- * src/sparc/ChangeLog: Remboved.
- * src/x86/ChangeLog: Removed.
-
- * ChangeLog.v1: Created.
diff --git a/.pc/remove-debug-code/Makefile.am b/.pc/remove-debug-code/Makefile.am
deleted file mode 100644
index 36db3f2..0000000
--- a/.pc/remove-debug-code/Makefile.am
+++ /dev/null
@@ -1,199 +0,0 @@
-## Process this with automake to create Makefile.in
-
-AUTOMAKE_OPTIONS = foreign subdir-objects
-
-SUBDIRS = include testsuite man
-
-EXTRA_DIST = LICENSE ChangeLog.v1 ChangeLog.libgcj configure.host \
- src/alpha/ffi.c src/alpha/osf.S src/alpha/ffitarget.h \
- src/arm/ffi.c src/arm/sysv.S src/arm/ffitarget.h \
- src/avr32/ffi.c src/avr32/sysv.S src/avr32/ffitarget.h \
- src/cris/ffi.c src/cris/sysv.S src/cris/ffitarget.h \
- src/ia64/ffi.c src/ia64/ffitarget.h src/ia64/ia64_flags.h \
- src/ia64/unix.S src/mips/ffi.c src/mips/n32.S src/mips/o32.S \
- src/mips/ffitarget.h src/m32r/ffi.c src/m32r/sysv.S \
- src/m32r/ffitarget.h src/m68k/ffi.c src/m68k/sysv.S \
- src/m68k/ffitarget.h src/powerpc/ffi.c src/powerpc/sysv.S \
- src/powerpc/linux64.S src/powerpc/linux64_closure.S \
- src/powerpc/ppc_closure.S src/powerpc/asm.h src/powerpc/aix.S \
- src/powerpc/darwin.S src/powerpc/aix_closure.S \
- src/powerpc/darwin_closure.S src/powerpc/ffi_darwin.c \
- src/powerpc/ffitarget.h src/s390/ffi.c src/s390/sysv.S \
- src/s390/ffitarget.h src/sh/ffi.c src/sh/sysv.S \
- src/sh/ffitarget.h src/sh64/ffi.c src/sh64/sysv.S \
- src/sh64/ffitarget.h src/sparc/v8.S src/sparc/v9.S \
- src/sparc/ffitarget.h src/sparc/ffi.c src/x86/darwin64.S \
- src/x86/ffi.c src/x86/sysv.S src/x86/win32.S src/x86/darwin.S \
- src/x86/win64.S src/x86/freebsd.S src/x86/ffi64.c \
- src/x86/unix64.S src/x86/ffitarget.h src/pa/ffitarget.h \
- src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S src/frv/ffi.c \
- src/frv/eabi.S src/frv/ffitarget.h src/dlmalloc.c \
- src/moxie/ffi.c src/moxie/eabi.S libtool-version \
- ChangeLog.libffi m4/libtool.m4 m4/lt~obsolete.m4 \
- m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4 build-ios.sh \
- m4/ltversion.m4 build-ios.sh src/arm/gentramp.sh src/debug.c \
- msvcc.sh
-
-
-info_TEXINFOS = doc/libffi.texi
-
-## ################################################################
-
-##
-## This section is for make and multilib madness.
-##
-
-# Work around what appears to be a GNU make bug handling MAKEFLAGS
-# values defined in terms of make variables, as is the case for CC and
-# friends when we are called from the top level Makefile.
-AM_MAKEFLAGS = \
- "AR_FLAGS=$(AR_FLAGS)" \
- "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
- "CFLAGS=$(CFLAGS)" \
- "CXXFLAGS=$(CXXFLAGS)" \
- "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
- "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
- "INSTALL=$(INSTALL)" \
- "INSTALL_DATA=$(INSTALL_DATA)" \
- "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
- "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
- "JC1FLAGS=$(JC1FLAGS)" \
- "LDFLAGS=$(LDFLAGS)" \
- "LIBCFLAGS=$(LIBCFLAGS)" \
- "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
- "MAKE=$(MAKE)" \
- "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
- "PICFLAG=$(PICFLAG)" \
- "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
- "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
- "SHELL=$(SHELL)" \
- "exec_prefix=$(exec_prefix)" \
- "infodir=$(infodir)" \
- "libdir=$(libdir)" \
- "mandir=$(mandir)" \
- "prefix=$(prefix)" \
- "AR=$(AR)" \
- "AS=$(AS)" \
- "CC=$(CC)" \
- "CXX=$(CXX)" \
- "LD=$(LD)" \
- "NM=$(NM)" \
- "RANLIB=$(RANLIB)" \
- "DESTDIR=$(DESTDIR)"
-
-MAKEOVERRIDES=
-
-ACLOCAL_AMFLAGS=$(ACLOCAL_AMFLAGS) -I m4
-
-lib_LTLIBRARIES = libffi.la
-noinst_LTLIBRARIES = libffi_convenience.la
-
-libffi_la_SOURCES = src/debug.c src/prep_cif.c src/types.c \
- src/raw_api.c src/java_raw_api.c src/closures.c
-
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = libffi.pc
-
-nodist_libffi_la_SOURCES =
-
-if MIPS
-nodist_libffi_la_SOURCES += src/mips/ffi.c src/mips/o32.S src/mips/n32.S
-endif
-if X86
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/sysv.S
-endif
-if X86_FREEBSD
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/freebsd.S
-endif
-if X86_WIN32
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/win32.S
-endif
-if X86_WIN64
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/win64.S
-endif
-if X86_DARWIN
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/darwin.S src/x86/ffi64.c src/x86/darwin64.S
-endif
-if SPARC
-nodist_libffi_la_SOURCES += src/sparc/ffi.c src/sparc/v8.S src/sparc/v9.S
-endif
-if ALPHA
-nodist_libffi_la_SOURCES += src/alpha/ffi.c src/alpha/osf.S
-endif
-if IA64
-nodist_libffi_la_SOURCES += src/ia64/ffi.c src/ia64/unix.S
-endif
-if M32R
-nodist_libffi_la_SOURCES += src/m32r/sysv.S src/m32r/ffi.c
-endif
-if M68K
-nodist_libffi_la_SOURCES += src/m68k/ffi.c src/m68k/sysv.S
-endif
-if POWERPC
-nodist_libffi_la_SOURCES += src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S src/powerpc/linux64.S src/powerpc/linux64_closure.S
-endif
-if POWERPC_AIX
-nodist_libffi_la_SOURCES += src/powerpc/ffi_darwin.c src/powerpc/aix.S src/powerpc/aix_closure.S
-endif
-if POWERPC_DARWIN
-nodist_libffi_la_SOURCES += src/powerpc/ffi_darwin.c src/powerpc/darwin.S src/powerpc/darwin_closure.S
-endif
-if POWERPC_FREEBSD
-nodist_libffi_la_SOURCES += src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S
-endif
-if ARM
-nodist_libffi_la_SOURCES += src/arm/sysv.S src/arm/ffi.c
-if FFI_EXEC_TRAMPOLINE_TABLE
-nodist_libffi_la_SOURCES += src/arm/trampoline.S
-endif
-endif
-if AVR32
-nodist_libffi_la_SOURCES += src/avr32/sysv.S src/avr32/ffi.c
-endif
-if LIBFFI_CRIS
-nodist_libffi_la_SOURCES += src/cris/sysv.S src/cris/ffi.c
-endif
-if FRV
-nodist_libffi_la_SOURCES += src/frv/eabi.S src/frv/ffi.c
-endif
-if MOXIE
-nodist_libffi_la_SOURCES += src/moxie/eabi.S src/moxie/ffi.c
-endif
-if S390
-nodist_libffi_la_SOURCES += src/s390/sysv.S src/s390/ffi.c
-endif
-if X86_64
-nodist_libffi_la_SOURCES += src/x86/ffi64.c src/x86/unix64.S src/x86/ffi.c src/x86/sysv.S
-endif
-if SH
-nodist_libffi_la_SOURCES += src/sh/sysv.S src/sh/ffi.c
-endif
-if SH64
-nodist_libffi_la_SOURCES += src/sh64/sysv.S src/sh64/ffi.c
-endif
-if PA_LINUX
-nodist_libffi_la_SOURCES += src/pa/linux.S src/pa/ffi.c
-endif
-if PA_HPUX
-nodist_libffi_la_SOURCES += src/pa/hpux32.S src/pa/ffi.c
-endif
-
-libffi_convenience_la_SOURCES = $(libffi_la_SOURCES)
-nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
-
-AM_CFLAGS = -g
-if FFI_DEBUG
-# Build debug. Define FFI_DEBUG on the commandline so that, when building with
-# MSVC, it can link against the debug CRT.
-AM_CFLAGS += -DFFI_DEBUG
-endif
-
-libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LTLDFLAGS) $(AM_LTLDFLAGS)
-
-AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
-AM_CCASFLAGS = $(AM_CPPFLAGS)
-
-# No install-html or install-pdf support in automake yet
-.PHONY: install-html install-pdf
-install-html:
-install-pdf:
diff --git a/.pc/remove-debug-code/Makefile.in b/.pc/remove-debug-code/Makefile.in
deleted file mode 100644
index 13c17d0..0000000
--- a/.pc/remove-debug-code/Makefile.in
+++ /dev/null
@@ -1,1833 +0,0 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-@MIPS_TRUE@am__append_1 = src/mips/ffi.c src/mips/o32.S src/mips/n32.S
-@X86_TRUE@am__append_2 = src/x86/ffi.c src/x86/sysv.S
-@X86_FREEBSD_TRUE@am__append_3 = src/x86/ffi.c src/x86/freebsd.S
-@X86_WIN32_TRUE@am__append_4 = src/x86/ffi.c src/x86/win32.S
-@X86_WIN64_TRUE@am__append_5 = src/x86/ffi.c src/x86/win64.S
-@X86_DARWIN_TRUE@am__append_6 = src/x86/ffi.c src/x86/darwin.S src/x86/ffi64.c src/x86/darwin64.S
-@SPARC_TRUE@am__append_7 = src/sparc/ffi.c src/sparc/v8.S src/sparc/v9.S
-@ALPHA_TRUE@am__append_8 = src/alpha/ffi.c src/alpha/osf.S
-@IA64_TRUE@am__append_9 = src/ia64/ffi.c src/ia64/unix.S
-@M32R_TRUE@am__append_10 = src/m32r/sysv.S src/m32r/ffi.c
-@M68K_TRUE@am__append_11 = src/m68k/ffi.c src/m68k/sysv.S
-@POWERPC_TRUE@am__append_12 = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S src/powerpc/linux64.S src/powerpc/linux64_closure.S
-@POWERPC_AIX_TRUE@am__append_13 = src/powerpc/ffi_darwin.c src/powerpc/aix.S src/powerpc/aix_closure.S
-@POWERPC_DARWIN_TRUE@am__append_14 = src/powerpc/ffi_darwin.c src/powerpc/darwin.S src/powerpc/darwin_closure.S
-@POWERPC_FREEBSD_TRUE@am__append_15 = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S
-@ARM_TRUE@am__append_16 = src/arm/sysv.S src/arm/ffi.c
-@ARM_TRUE@@FFI_EXEC_TRAMPOLINE_TABLE_TRUE@am__append_17 = src/arm/trampoline.S
-@AVR32_TRUE@am__append_18 = src/avr32/sysv.S src/avr32/ffi.c
-@LIBFFI_CRIS_TRUE@am__append_19 = src/cris/sysv.S src/cris/ffi.c
-@FRV_TRUE@am__append_20 = src/frv/eabi.S src/frv/ffi.c
-@MOXIE_TRUE@am__append_21 = src/moxie/eabi.S src/moxie/ffi.c
-@S390_TRUE@am__append_22 = src/s390/sysv.S src/s390/ffi.c
-@X86_64_TRUE@am__append_23 = src/x86/ffi64.c src/x86/unix64.S src/x86/ffi.c src/x86/sysv.S
-@SH_TRUE@am__append_24 = src/sh/sysv.S src/sh/ffi.c
-@SH64_TRUE@am__append_25 = src/sh64/sysv.S src/sh64/ffi.c
-@PA_LINUX_TRUE@am__append_26 = src/pa/linux.S src/pa/ffi.c
-@PA_HPUX_TRUE@am__append_27 = src/pa/hpux32.S src/pa/ffi.c
-# Build debug. Define FFI_DEBUG on the commandline so that, when building with
-# MSVC, it can link against the debug CRT.
-@FFI_DEBUG_TRUE@am__append_28 = -DFFI_DEBUG
-subdir = .
-DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in $(srcdir)/doc/stamp-vti \
- $(srcdir)/doc/version.texi $(srcdir)/fficonfig.h.in \
- $(srcdir)/libffi.pc.in $(top_srcdir)/configure ChangeLog \
- compile config.guess config.sub depcomp install-sh ltmain.sh \
- mdate-sh missing texinfo.tex
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
- $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
- configure.lineno config.status.lineno
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = fficonfig.h
-CONFIG_CLEAN_FILES = libffi.pc
-CONFIG_CLEAN_VPATH_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
- for p in $$list; do echo "$$p $$p"; done | \
- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
- if (++n[$$2] == $(am__install_max)) \
- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
- END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(infodir)" \
- "$(DESTDIR)$(pkgconfigdir)"
-LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES)
-libffi_la_LIBADD =
-am__dirstamp = $(am__leading_dot)dirstamp
-am_libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo src/types.lo \
- src/raw_api.lo src/java_raw_api.lo src/closures.lo
-@MIPS_TRUE@am__objects_1 = src/mips/ffi.lo src/mips/o32.lo \
-@MIPS_TRUE@ src/mips/n32.lo
-@X86_TRUE@am__objects_2 = src/x86/ffi.lo src/x86/sysv.lo
-@X86_FREEBSD_TRUE@am__objects_3 = src/x86/ffi.lo src/x86/freebsd.lo
-@X86_WIN32_TRUE@am__objects_4 = src/x86/ffi.lo src/x86/win32.lo
-@X86_WIN64_TRUE@am__objects_5 = src/x86/ffi.lo src/x86/win64.lo
-@X86_DARWIN_TRUE@am__objects_6 = src/x86/ffi.lo src/x86/darwin.lo \
-@X86_DARWIN_TRUE@ src/x86/ffi64.lo src/x86/darwin64.lo
-@SPARC_TRUE@am__objects_7 = src/sparc/ffi.lo src/sparc/v8.lo \
-@SPARC_TRUE@ src/sparc/v9.lo
-@ALPHA_TRUE@am__objects_8 = src/alpha/ffi.lo src/alpha/osf.lo
-@IA64_TRUE@am__objects_9 = src/ia64/ffi.lo src/ia64/unix.lo
-@M32R_TRUE@am__objects_10 = src/m32r/sysv.lo src/m32r/ffi.lo
-@M68K_TRUE@am__objects_11 = src/m68k/ffi.lo src/m68k/sysv.lo
-@POWERPC_TRUE@am__objects_12 = src/powerpc/ffi.lo src/powerpc/sysv.lo \
-@POWERPC_TRUE@ src/powerpc/ppc_closure.lo \
-@POWERPC_TRUE@ src/powerpc/linux64.lo \
-@POWERPC_TRUE@ src/powerpc/linux64_closure.lo
-@POWERPC_AIX_TRUE@am__objects_13 = src/powerpc/ffi_darwin.lo \
-@POWERPC_AIX_TRUE@ src/powerpc/aix.lo \
-@POWERPC_AIX_TRUE@ src/powerpc/aix_closure.lo
-@POWERPC_DARWIN_TRUE@am__objects_14 = src/powerpc/ffi_darwin.lo \
-@POWERPC_DARWIN_TRUE@ src/powerpc/darwin.lo \
-@POWERPC_DARWIN_TRUE@ src/powerpc/darwin_closure.lo
-@POWERPC_FREEBSD_TRUE@am__objects_15 = src/powerpc/ffi.lo \
-@POWERPC_FREEBSD_TRUE@ src/powerpc/sysv.lo \
-@POWERPC_FREEBSD_TRUE@ src/powerpc/ppc_closure.lo
-@ARM_TRUE@am__objects_16 = src/arm/sysv.lo src/arm/ffi.lo
-@ARM_TRUE@@FFI_EXEC_TRAMPOLINE_TABLE_TRUE@am__objects_17 = src/arm/trampoline.lo
-@AVR32_TRUE@am__objects_18 = src/avr32/sysv.lo src/avr32/ffi.lo
-@LIBFFI_CRIS_TRUE@am__objects_19 = src/cris/sysv.lo src/cris/ffi.lo
-@FRV_TRUE@am__objects_20 = src/frv/eabi.lo src/frv/ffi.lo
-@MOXIE_TRUE@am__objects_21 = src/moxie/eabi.lo src/moxie/ffi.lo
-@S390_TRUE@am__objects_22 = src/s390/sysv.lo src/s390/ffi.lo
-@X86_64_TRUE@am__objects_23 = src/x86/ffi64.lo src/x86/unix64.lo \
-@X86_64_TRUE@ src/x86/ffi.lo src/x86/sysv.lo
-@SH_TRUE@am__objects_24 = src/sh/sysv.lo src/sh/ffi.lo
-@SH64_TRUE@am__objects_25 = src/sh64/sysv.lo src/sh64/ffi.lo
-@PA_LINUX_TRUE@am__objects_26 = src/pa/linux.lo src/pa/ffi.lo
-@PA_HPUX_TRUE@am__objects_27 = src/pa/hpux32.lo src/pa/ffi.lo
-nodist_libffi_la_OBJECTS = $(am__objects_1) $(am__objects_2) \
- $(am__objects_3) $(am__objects_4) $(am__objects_5) \
- $(am__objects_6) $(am__objects_7) $(am__objects_8) \
- $(am__objects_9) $(am__objects_10) $(am__objects_11) \
- $(am__objects_12) $(am__objects_13) $(am__objects_14) \
- $(am__objects_15) $(am__objects_16) $(am__objects_17) \
- $(am__objects_18) $(am__objects_19) $(am__objects_20) \
- $(am__objects_21) $(am__objects_22) $(am__objects_23) \
- $(am__objects_24) $(am__objects_25) $(am__objects_26) \
- $(am__objects_27)
-libffi_la_OBJECTS = $(am_libffi_la_OBJECTS) \
- $(nodist_libffi_la_OBJECTS)
-libffi_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libffi_la_LDFLAGS) $(LDFLAGS) -o $@
-libffi_convenience_la_LIBADD =
-am__objects_28 = src/debug.lo src/prep_cif.lo src/types.lo \
- src/raw_api.lo src/java_raw_api.lo src/closures.lo
-am_libffi_convenience_la_OBJECTS = $(am__objects_28)
-am__objects_29 = $(am__objects_1) $(am__objects_2) $(am__objects_3) \
- $(am__objects_4) $(am__objects_5) $(am__objects_6) \
- $(am__objects_7) $(am__objects_8) $(am__objects_9) \
- $(am__objects_10) $(am__objects_11) $(am__objects_12) \
- $(am__objects_13) $(am__objects_14) $(am__objects_15) \
- $(am__objects_16) $(am__objects_17) $(am__objects_18) \
- $(am__objects_19) $(am__objects_20) $(am__objects_21) \
- $(am__objects_22) $(am__objects_23) $(am__objects_24) \
- $(am__objects_25) $(am__objects_26) $(am__objects_27)
-nodist_libffi_convenience_la_OBJECTS = $(am__objects_29)
-libffi_convenience_la_OBJECTS = $(am_libffi_convenience_la_OBJECTS) \
- $(nodist_libffi_convenience_la_OBJECTS)
-DEFAULT_INCLUDES = -I.@am__isrc@
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
-LTCPPASCOMPILE = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
-SOURCES = $(libffi_la_SOURCES) $(nodist_libffi_la_SOURCES) \
- $(libffi_convenience_la_SOURCES) \
- $(nodist_libffi_convenience_la_SOURCES)
-DIST_SOURCES = $(libffi_la_SOURCES) $(libffi_convenience_la_SOURCES)
-INFO_DEPS = $(srcdir)/doc/libffi.info
-am__TEXINFO_TEX_DIR = $(srcdir)
-DVIS = doc/libffi.dvi
-PDFS = doc/libffi.pdf
-PSS = doc/libffi.ps
-HTMLS = doc/libffi.html
-TEXINFOS = doc/libffi.texi
-TEXI2DVI = texi2dvi
-TEXI2PDF = $(TEXI2DVI) --pdf --batch
-MAKEINFOHTML = $(MAKEINFO) --html
-AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS)
-DVIPS = dvips
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-dvi-recursive install-exec-recursive \
- install-html-recursive install-info-recursive \
- install-pdf-recursive install-ps-recursive install-recursive \
- installcheck-recursive installdirs-recursive pdf-recursive \
- ps-recursive uninstall-recursive
-DATA = $(pkgconfig_DATA)
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
- distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
- distdir dist dist-all distcheck
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-distdir = $(PACKAGE)-$(VERSION)
-top_distdir = $(distdir)
-am__remove_distdir = \
- { test ! -d "$(distdir)" \
- || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
- && rm -fr "$(distdir)"; }; }
-am__relativize = \
- dir0=`pwd`; \
- sed_first='s,^\([^/]*\)/.*$$,\1,'; \
- sed_rest='s,^[^/]*/*,,'; \
- sed_last='s,^.*/\([^/]*\)$$,\1,'; \
- sed_butlast='s,/*[^/]*$$,,'; \
- while test -n "$$dir1"; do \
- first=`echo "$$dir1" | sed -e "$$sed_first"`; \
- if test "$$first" != "."; then \
- if test "$$first" = ".."; then \
- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
- else \
- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
- if test "$$first2" = "$$first"; then \
- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
- else \
- dir2="../$$dir2"; \
- fi; \
- dir0="$$dir0"/"$$first"; \
- fi; \
- fi; \
- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
- done; \
- reldir="$$dir2"
-DIST_ARCHIVES = $(distdir).tar.gz
-GZIP_ENV = --best
-distuninstallcheck_listfiles = find . -type f -print
-distcleancheck_listfiles = find . -type f -print
-ACLOCAL = @ACLOCAL@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AM_LTLDFLAGS = @AM_LTLDFLAGS@
-AM_RUNTESTFLAGS = @AM_RUNTESTFLAGS@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCAS = @CCAS@
-CCASDEPMODE = @CCASDEPMODE@
-CCASFLAGS = @CCASFLAGS@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FFI_EXEC_TRAMPOLINE_TABLE = @FFI_EXEC_TRAMPOLINE_TABLE@
-FGREP = @FGREP@
-GREP = @GREP@
-HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-TARGET = @TARGET@
-TARGETDIR = @TARGETDIR@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-toolexecdir = @toolexecdir@
-toolexeclibdir = @toolexeclibdir@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-AUTOMAKE_OPTIONS = foreign subdir-objects
-SUBDIRS = include testsuite man
-EXTRA_DIST = LICENSE ChangeLog.v1 ChangeLog.libgcj configure.host \
- src/alpha/ffi.c src/alpha/osf.S src/alpha/ffitarget.h \
- src/arm/ffi.c src/arm/sysv.S src/arm/ffitarget.h \
- src/avr32/ffi.c src/avr32/sysv.S src/avr32/ffitarget.h \
- src/cris/ffi.c src/cris/sysv.S src/cris/ffitarget.h \
- src/ia64/ffi.c src/ia64/ffitarget.h src/ia64/ia64_flags.h \
- src/ia64/unix.S src/mips/ffi.c src/mips/n32.S src/mips/o32.S \
- src/mips/ffitarget.h src/m32r/ffi.c src/m32r/sysv.S \
- src/m32r/ffitarget.h src/m68k/ffi.c src/m68k/sysv.S \
- src/m68k/ffitarget.h src/powerpc/ffi.c src/powerpc/sysv.S \
- src/powerpc/linux64.S src/powerpc/linux64_closure.S \
- src/powerpc/ppc_closure.S src/powerpc/asm.h src/powerpc/aix.S \
- src/powerpc/darwin.S src/powerpc/aix_closure.S \
- src/powerpc/darwin_closure.S src/powerpc/ffi_darwin.c \
- src/powerpc/ffitarget.h src/s390/ffi.c src/s390/sysv.S \
- src/s390/ffitarget.h src/sh/ffi.c src/sh/sysv.S \
- src/sh/ffitarget.h src/sh64/ffi.c src/sh64/sysv.S \
- src/sh64/ffitarget.h src/sparc/v8.S src/sparc/v9.S \
- src/sparc/ffitarget.h src/sparc/ffi.c src/x86/darwin64.S \
- src/x86/ffi.c src/x86/sysv.S src/x86/win32.S src/x86/darwin.S \
- src/x86/win64.S src/x86/freebsd.S src/x86/ffi64.c \
- src/x86/unix64.S src/x86/ffitarget.h src/pa/ffitarget.h \
- src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S src/frv/ffi.c \
- src/frv/eabi.S src/frv/ffitarget.h src/dlmalloc.c \
- src/moxie/ffi.c src/moxie/eabi.S libtool-version \
- ChangeLog.libffi m4/libtool.m4 m4/lt~obsolete.m4 \
- m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4 build-ios.sh \
- m4/ltversion.m4 build-ios.sh src/arm/gentramp.sh src/debug.c \
- msvcc.sh
-
-info_TEXINFOS = doc/libffi.texi
-
-# Work around what appears to be a GNU make bug handling MAKEFLAGS
-# values defined in terms of make variables, as is the case for CC and
-# friends when we are called from the top level Makefile.
-AM_MAKEFLAGS = \
- "AR_FLAGS=$(AR_FLAGS)" \
- "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
- "CFLAGS=$(CFLAGS)" \
- "CXXFLAGS=$(CXXFLAGS)" \
- "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
- "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
- "INSTALL=$(INSTALL)" \
- "INSTALL_DATA=$(INSTALL_DATA)" \
- "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
- "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
- "JC1FLAGS=$(JC1FLAGS)" \
- "LDFLAGS=$(LDFLAGS)" \
- "LIBCFLAGS=$(LIBCFLAGS)" \
- "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
- "MAKE=$(MAKE)" \
- "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
- "PICFLAG=$(PICFLAG)" \
- "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
- "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
- "SHELL=$(SHELL)" \
- "exec_prefix=$(exec_prefix)" \
- "infodir=$(infodir)" \
- "libdir=$(libdir)" \
- "mandir=$(mandir)" \
- "prefix=$(prefix)" \
- "AR=$(AR)" \
- "AS=$(AS)" \
- "CC=$(CC)" \
- "CXX=$(CXX)" \
- "LD=$(LD)" \
- "NM=$(NM)" \
- "RANLIB=$(RANLIB)" \
- "DESTDIR=$(DESTDIR)"
-
-MAKEOVERRIDES =
-ACLOCAL_AMFLAGS = $(ACLOCAL_AMFLAGS) -I m4
-lib_LTLIBRARIES = libffi.la
-noinst_LTLIBRARIES = libffi_convenience.la
-libffi_la_SOURCES = src/debug.c src/prep_cif.c src/types.c \
- src/raw_api.c src/java_raw_api.c src/closures.c
-
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = libffi.pc
-nodist_libffi_la_SOURCES = $(am__append_1) $(am__append_2) \
- $(am__append_3) $(am__append_4) $(am__append_5) \
- $(am__append_6) $(am__append_7) $(am__append_8) \
- $(am__append_9) $(am__append_10) $(am__append_11) \
- $(am__append_12) $(am__append_13) $(am__append_14) \
- $(am__append_15) $(am__append_16) $(am__append_17) \
- $(am__append_18) $(am__append_19) $(am__append_20) \
- $(am__append_21) $(am__append_22) $(am__append_23) \
- $(am__append_24) $(am__append_25) $(am__append_26) \
- $(am__append_27)
-libffi_convenience_la_SOURCES = $(libffi_la_SOURCES)
-nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
-AM_CFLAGS = -g $(am__append_28)
-libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LTLDFLAGS) $(AM_LTLDFLAGS)
-AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
-AM_CCASFLAGS = $(AM_CPPFLAGS)
-all: fficonfig.h
- $(MAKE) $(AM_MAKEFLAGS) all-recursive
-
-.SUFFIXES:
-.SUFFIXES: .S .c .dvi .lo .o .obj .ps
-am--refresh:
- @:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
- $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --foreign Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- echo ' $(SHELL) ./config.status'; \
- $(SHELL) ./config.status;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- $(SHELL) ./config.status --recheck
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- $(am__cd) $(srcdir) && $(AUTOCONF)
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
-$(am__aclocal_m4_deps):
-
-fficonfig.h: stamp-h1
- @if test ! -f $@; then \
- rm -f stamp-h1; \
- $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
- else :; fi
-
-stamp-h1: $(srcdir)/fficonfig.h.in $(top_builddir)/config.status
- @rm -f stamp-h1
- cd $(top_builddir) && $(SHELL) ./config.status fficonfig.h
-$(srcdir)/fficonfig.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
- rm -f stamp-h1
- touch $@
-
-distclean-hdr:
- -rm -f fficonfig.h stamp-h1
-libffi.pc: $(top_builddir)/config.status $(srcdir)/libffi.pc.in
- cd $(top_builddir) && $(SHELL) ./config.status $@
-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
- @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
- list2=; for p in $$list; do \
- if test -f $$p; then \
- list2="$$list2 $$p"; \
- else :; fi; \
- done; \
- test -z "$$list2" || { \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
- }
-
-uninstall-libLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
- done
-
-clean-libLTLIBRARIES:
- -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-
-clean-noinstLTLIBRARIES:
- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
- @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-src/$(am__dirstamp):
- @$(MKDIR_P) src
- @: > src/$(am__dirstamp)
-src/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/$(DEPDIR)
- @: > src/$(DEPDIR)/$(am__dirstamp)
-src/debug.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/prep_cif.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/types.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/raw_api.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/java_raw_api.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/closures.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/mips/$(am__dirstamp):
- @$(MKDIR_P) src/mips
- @: > src/mips/$(am__dirstamp)
-src/mips/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/mips/$(DEPDIR)
- @: > src/mips/$(DEPDIR)/$(am__dirstamp)
-src/mips/ffi.lo: src/mips/$(am__dirstamp) \
- src/mips/$(DEPDIR)/$(am__dirstamp)
-src/mips/o32.lo: src/mips/$(am__dirstamp) \
- src/mips/$(DEPDIR)/$(am__dirstamp)
-src/mips/n32.lo: src/mips/$(am__dirstamp) \
- src/mips/$(DEPDIR)/$(am__dirstamp)
-src/x86/$(am__dirstamp):
- @$(MKDIR_P) src/x86
- @: > src/x86/$(am__dirstamp)
-src/x86/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/x86/$(DEPDIR)
- @: > src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/ffi.lo: src/x86/$(am__dirstamp) \
- src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/sysv.lo: src/x86/$(am__dirstamp) \
- src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/freebsd.lo: src/x86/$(am__dirstamp) \
- src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/win32.lo: src/x86/$(am__dirstamp) \
- src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/win64.lo: src/x86/$(am__dirstamp) \
- src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/darwin.lo: src/x86/$(am__dirstamp) \
- src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/ffi64.lo: src/x86/$(am__dirstamp) \
- src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/darwin64.lo: src/x86/$(am__dirstamp) \
- src/x86/$(DEPDIR)/$(am__dirstamp)
-src/sparc/$(am__dirstamp):
- @$(MKDIR_P) src/sparc
- @: > src/sparc/$(am__dirstamp)
-src/sparc/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/sparc/$(DEPDIR)
- @: > src/sparc/$(DEPDIR)/$(am__dirstamp)
-src/sparc/ffi.lo: src/sparc/$(am__dirstamp) \
- src/sparc/$(DEPDIR)/$(am__dirstamp)
-src/sparc/v8.lo: src/sparc/$(am__dirstamp) \
- src/sparc/$(DEPDIR)/$(am__dirstamp)
-src/sparc/v9.lo: src/sparc/$(am__dirstamp) \
- src/sparc/$(DEPDIR)/$(am__dirstamp)
-src/alpha/$(am__dirstamp):
- @$(MKDIR_P) src/alpha
- @: > src/alpha/$(am__dirstamp)
-src/alpha/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/alpha/$(DEPDIR)
- @: > src/alpha/$(DEPDIR)/$(am__dirstamp)
-src/alpha/ffi.lo: src/alpha/$(am__dirstamp) \
- src/alpha/$(DEPDIR)/$(am__dirstamp)
-src/alpha/osf.lo: src/alpha/$(am__dirstamp) \
- src/alpha/$(DEPDIR)/$(am__dirstamp)
-src/ia64/$(am__dirstamp):
- @$(MKDIR_P) src/ia64
- @: > src/ia64/$(am__dirstamp)
-src/ia64/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/ia64/$(DEPDIR)
- @: > src/ia64/$(DEPDIR)/$(am__dirstamp)
-src/ia64/ffi.lo: src/ia64/$(am__dirstamp) \
- src/ia64/$(DEPDIR)/$(am__dirstamp)
-src/ia64/unix.lo: src/ia64/$(am__dirstamp) \
- src/ia64/$(DEPDIR)/$(am__dirstamp)
-src/m32r/$(am__dirstamp):
- @$(MKDIR_P) src/m32r
- @: > src/m32r/$(am__dirstamp)
-src/m32r/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/m32r/$(DEPDIR)
- @: > src/m32r/$(DEPDIR)/$(am__dirstamp)
-src/m32r/sysv.lo: src/m32r/$(am__dirstamp) \
- src/m32r/$(DEPDIR)/$(am__dirstamp)
-src/m32r/ffi.lo: src/m32r/$(am__dirstamp) \
- src/m32r/$(DEPDIR)/$(am__dirstamp)
-src/m68k/$(am__dirstamp):
- @$(MKDIR_P) src/m68k
- @: > src/m68k/$(am__dirstamp)
-src/m68k/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/m68k/$(DEPDIR)
- @: > src/m68k/$(DEPDIR)/$(am__dirstamp)
-src/m68k/ffi.lo: src/m68k/$(am__dirstamp) \
- src/m68k/$(DEPDIR)/$(am__dirstamp)
-src/m68k/sysv.lo: src/m68k/$(am__dirstamp) \
- src/m68k/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/$(am__dirstamp):
- @$(MKDIR_P) src/powerpc
- @: > src/powerpc/$(am__dirstamp)
-src/powerpc/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/powerpc/$(DEPDIR)
- @: > src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/ffi.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/sysv.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/ppc_closure.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/linux64.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/linux64_closure.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/ffi_darwin.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/aix.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/aix_closure.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/darwin.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/darwin_closure.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/arm/$(am__dirstamp):
- @$(MKDIR_P) src/arm
- @: > src/arm/$(am__dirstamp)
-src/arm/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/arm/$(DEPDIR)
- @: > src/arm/$(DEPDIR)/$(am__dirstamp)
-src/arm/sysv.lo: src/arm/$(am__dirstamp) \
- src/arm/$(DEPDIR)/$(am__dirstamp)
-src/arm/ffi.lo: src/arm/$(am__dirstamp) \
- src/arm/$(DEPDIR)/$(am__dirstamp)
-src/arm/trampoline.lo: src/arm/$(am__dirstamp) \
- src/arm/$(DEPDIR)/$(am__dirstamp)
-src/avr32/$(am__dirstamp):
- @$(MKDIR_P) src/avr32
- @: > src/avr32/$(am__dirstamp)
-src/avr32/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/avr32/$(DEPDIR)
- @: > src/avr32/$(DEPDIR)/$(am__dirstamp)
-src/avr32/sysv.lo: src/avr32/$(am__dirstamp) \
- src/avr32/$(DEPDIR)/$(am__dirstamp)
-src/avr32/ffi.lo: src/avr32/$(am__dirstamp) \
- src/avr32/$(DEPDIR)/$(am__dirstamp)
-src/cris/$(am__dirstamp):
- @$(MKDIR_P) src/cris
- @: > src/cris/$(am__dirstamp)
-src/cris/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/cris/$(DEPDIR)
- @: > src/cris/$(DEPDIR)/$(am__dirstamp)
-src/cris/sysv.lo: src/cris/$(am__dirstamp) \
- src/cris/$(DEPDIR)/$(am__dirstamp)
-src/cris/ffi.lo: src/cris/$(am__dirstamp) \
- src/cris/$(DEPDIR)/$(am__dirstamp)
-src/frv/$(am__dirstamp):
- @$(MKDIR_P) src/frv
- @: > src/frv/$(am__dirstamp)
-src/frv/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/frv/$(DEPDIR)
- @: > src/frv/$(DEPDIR)/$(am__dirstamp)
-src/frv/eabi.lo: src/frv/$(am__dirstamp) \
- src/frv/$(DEPDIR)/$(am__dirstamp)
-src/frv/ffi.lo: src/frv/$(am__dirstamp) \
- src/frv/$(DEPDIR)/$(am__dirstamp)
-src/moxie/$(am__dirstamp):
- @$(MKDIR_P) src/moxie
- @: > src/moxie/$(am__dirstamp)
-src/moxie/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/moxie/$(DEPDIR)
- @: > src/moxie/$(DEPDIR)/$(am__dirstamp)
-src/moxie/eabi.lo: src/moxie/$(am__dirstamp) \
- src/moxie/$(DEPDIR)/$(am__dirstamp)
-src/moxie/ffi.lo: src/moxie/$(am__dirstamp) \
- src/moxie/$(DEPDIR)/$(am__dirstamp)
-src/s390/$(am__dirstamp):
- @$(MKDIR_P) src/s390
- @: > src/s390/$(am__dirstamp)
-src/s390/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/s390/$(DEPDIR)
- @: > src/s390/$(DEPDIR)/$(am__dirstamp)
-src/s390/sysv.lo: src/s390/$(am__dirstamp) \
- src/s390/$(DEPDIR)/$(am__dirstamp)
-src/s390/ffi.lo: src/s390/$(am__dirstamp) \
- src/s390/$(DEPDIR)/$(am__dirstamp)
-src/x86/unix64.lo: src/x86/$(am__dirstamp) \
- src/x86/$(DEPDIR)/$(am__dirstamp)
-src/sh/$(am__dirstamp):
- @$(MKDIR_P) src/sh
- @: > src/sh/$(am__dirstamp)
-src/sh/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/sh/$(DEPDIR)
- @: > src/sh/$(DEPDIR)/$(am__dirstamp)
-src/sh/sysv.lo: src/sh/$(am__dirstamp) \
- src/sh/$(DEPDIR)/$(am__dirstamp)
-src/sh/ffi.lo: src/sh/$(am__dirstamp) src/sh/$(DEPDIR)/$(am__dirstamp)
-src/sh64/$(am__dirstamp):
- @$(MKDIR_P) src/sh64
- @: > src/sh64/$(am__dirstamp)
-src/sh64/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/sh64/$(DEPDIR)
- @: > src/sh64/$(DEPDIR)/$(am__dirstamp)
-src/sh64/sysv.lo: src/sh64/$(am__dirstamp) \
- src/sh64/$(DEPDIR)/$(am__dirstamp)
-src/sh64/ffi.lo: src/sh64/$(am__dirstamp) \
- src/sh64/$(DEPDIR)/$(am__dirstamp)
-src/pa/$(am__dirstamp):
- @$(MKDIR_P) src/pa
- @: > src/pa/$(am__dirstamp)
-src/pa/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/pa/$(DEPDIR)
- @: > src/pa/$(DEPDIR)/$(am__dirstamp)
-src/pa/linux.lo: src/pa/$(am__dirstamp) \
- src/pa/$(DEPDIR)/$(am__dirstamp)
-src/pa/ffi.lo: src/pa/$(am__dirstamp) src/pa/$(DEPDIR)/$(am__dirstamp)
-src/pa/hpux32.lo: src/pa/$(am__dirstamp) \
- src/pa/$(DEPDIR)/$(am__dirstamp)
-libffi.la: $(libffi_la_OBJECTS) $(libffi_la_DEPENDENCIES)
- $(libffi_la_LINK) -rpath $(libdir) $(libffi_la_OBJECTS) $(libffi_la_LIBADD) $(LIBS)
-libffi_convenience.la: $(libffi_convenience_la_OBJECTS) $(libffi_convenience_la_DEPENDENCIES)
- $(LINK) $(libffi_convenience_la_OBJECTS) $(libffi_convenience_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
- -rm -f src/alpha/ffi.$(OBJEXT)
- -rm -f src/alpha/ffi.lo
- -rm -f src/alpha/osf.$(OBJEXT)
- -rm -f src/alpha/osf.lo
- -rm -f src/arm/ffi.$(OBJEXT)
- -rm -f src/arm/ffi.lo
- -rm -f src/arm/sysv.$(OBJEXT)
- -rm -f src/arm/sysv.lo
- -rm -f src/arm/trampoline.$(OBJEXT)
- -rm -f src/arm/trampoline.lo
- -rm -f src/avr32/ffi.$(OBJEXT)
- -rm -f src/avr32/ffi.lo
- -rm -f src/avr32/sysv.$(OBJEXT)
- -rm -f src/avr32/sysv.lo
- -rm -f src/closures.$(OBJEXT)
- -rm -f src/closures.lo
- -rm -f src/cris/ffi.$(OBJEXT)
- -rm -f src/cris/ffi.lo
- -rm -f src/cris/sysv.$(OBJEXT)
- -rm -f src/cris/sysv.lo
- -rm -f src/debug.$(OBJEXT)
- -rm -f src/debug.lo
- -rm -f src/frv/eabi.$(OBJEXT)
- -rm -f src/frv/eabi.lo
- -rm -f src/frv/ffi.$(OBJEXT)
- -rm -f src/frv/ffi.lo
- -rm -f src/ia64/ffi.$(OBJEXT)
- -rm -f src/ia64/ffi.lo
- -rm -f src/ia64/unix.$(OBJEXT)
- -rm -f src/ia64/unix.lo
- -rm -f src/java_raw_api.$(OBJEXT)
- -rm -f src/java_raw_api.lo
- -rm -f src/m32r/ffi.$(OBJEXT)
- -rm -f src/m32r/ffi.lo
- -rm -f src/m32r/sysv.$(OBJEXT)
- -rm -f src/m32r/sysv.lo
- -rm -f src/m68k/ffi.$(OBJEXT)
- -rm -f src/m68k/ffi.lo
- -rm -f src/m68k/sysv.$(OBJEXT)
- -rm -f src/m68k/sysv.lo
- -rm -f src/mips/ffi.$(OBJEXT)
- -rm -f src/mips/ffi.lo
- -rm -f src/mips/n32.$(OBJEXT)
- -rm -f src/mips/n32.lo
- -rm -f src/mips/o32.$(OBJEXT)
- -rm -f src/mips/o32.lo
- -rm -f src/moxie/eabi.$(OBJEXT)
- -rm -f src/moxie/eabi.lo
- -rm -f src/moxie/ffi.$(OBJEXT)
- -rm -f src/moxie/ffi.lo
- -rm -f src/pa/ffi.$(OBJEXT)
- -rm -f src/pa/ffi.lo
- -rm -f src/pa/hpux32.$(OBJEXT)
- -rm -f src/pa/hpux32.lo
- -rm -f src/pa/linux.$(OBJEXT)
- -rm -f src/pa/linux.lo
- -rm -f src/powerpc/aix.$(OBJEXT)
- -rm -f src/powerpc/aix.lo
- -rm -f src/powerpc/aix_closure.$(OBJEXT)
- -rm -f src/powerpc/aix_closure.lo
- -rm -f src/powerpc/darwin.$(OBJEXT)
- -rm -f src/powerpc/darwin.lo
- -rm -f src/powerpc/darwin_closure.$(OBJEXT)
- -rm -f src/powerpc/darwin_closure.lo
- -rm -f src/powerpc/ffi.$(OBJEXT)
- -rm -f src/powerpc/ffi.lo
- -rm -f src/powerpc/ffi_darwin.$(OBJEXT)
- -rm -f src/powerpc/ffi_darwin.lo
- -rm -f src/powerpc/linux64.$(OBJEXT)
- -rm -f src/powerpc/linux64.lo
- -rm -f src/powerpc/linux64_closure.$(OBJEXT)
- -rm -f src/powerpc/linux64_closure.lo
- -rm -f src/powerpc/ppc_closure.$(OBJEXT)
- -rm -f src/powerpc/ppc_closure.lo
- -rm -f src/powerpc/sysv.$(OBJEXT)
- -rm -f src/powerpc/sysv.lo
- -rm -f src/prep_cif.$(OBJEXT)
- -rm -f src/prep_cif.lo
- -rm -f src/raw_api.$(OBJEXT)
- -rm -f src/raw_api.lo
- -rm -f src/s390/ffi.$(OBJEXT)
- -rm -f src/s390/ffi.lo
- -rm -f src/s390/sysv.$(OBJEXT)
- -rm -f src/s390/sysv.lo
- -rm -f src/sh/ffi.$(OBJEXT)
- -rm -f src/sh/ffi.lo
- -rm -f src/sh/sysv.$(OBJEXT)
- -rm -f src/sh/sysv.lo
- -rm -f src/sh64/ffi.$(OBJEXT)
- -rm -f src/sh64/ffi.lo
- -rm -f src/sh64/sysv.$(OBJEXT)
- -rm -f src/sh64/sysv.lo
- -rm -f src/sparc/ffi.$(OBJEXT)
- -rm -f src/sparc/ffi.lo
- -rm -f src/sparc/v8.$(OBJEXT)
- -rm -f src/sparc/v8.lo
- -rm -f src/sparc/v9.$(OBJEXT)
- -rm -f src/sparc/v9.lo
- -rm -f src/types.$(OBJEXT)
- -rm -f src/types.lo
- -rm -f src/x86/darwin.$(OBJEXT)
- -rm -f src/x86/darwin.lo
- -rm -f src/x86/darwin64.$(OBJEXT)
- -rm -f src/x86/darwin64.lo
- -rm -f src/x86/ffi.$(OBJEXT)
- -rm -f src/x86/ffi.lo
- -rm -f src/x86/ffi64.$(OBJEXT)
- -rm -f src/x86/ffi64.lo
- -rm -f src/x86/freebsd.$(OBJEXT)
- -rm -f src/x86/freebsd.lo
- -rm -f src/x86/sysv.$(OBJEXT)
- -rm -f src/x86/sysv.lo
- -rm -f src/x86/unix64.$(OBJEXT)
- -rm -f src/x86/unix64.lo
- -rm -f src/x86/win32.$(OBJEXT)
- -rm -f src/x86/win32.lo
- -rm -f src/x86/win64.$(OBJEXT)
- -rm -f src/x86/win64.lo
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/closures.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/debug.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/java_raw_api.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/prep_cif.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/raw_api.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/types.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/alpha/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/alpha/$(DEPDIR)/osf.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/trampoline.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/avr32/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/avr32/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/cris/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/cris/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/frv/$(DEPDIR)/eabi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/frv/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/ia64/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/ia64/$(DEPDIR)/unix.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/m32r/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/m32r/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/m68k/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/m68k/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/n32.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/o32.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/moxie/$(DEPDIR)/eabi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/moxie/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/hpux32.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/linux.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/aix.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/aix_closure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/darwin.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/darwin_closure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/ffi_darwin.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/linux64.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/linux64_closure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/ppc_closure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/s390/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/s390/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sh/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sh/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sh64/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sh64/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sparc/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sparc/$(DEPDIR)/v8.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sparc/$(DEPDIR)/v9.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/darwin.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/darwin64.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/ffi64.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/freebsd.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/unix64.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/win32.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/win64.Plo@am__quote@
-
-.S.o:
-@am__fastdepCCAS_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
-@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCCAS_FALSE@ $(CPPASCOMPILE) -c -o $@ $<
-
-.S.obj:
-@am__fastdepCCAS_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
-@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
-@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCCAS_FALSE@ $(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.S.lo:
-@am__fastdepCCAS_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
-@am__fastdepCCAS_TRUE@ $(LTCPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCCAS_FALSE@ $(LTCPPASCOMPILE) -c -o $@ $<
-
-.c.o:
-@am__fastdepCC_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
-@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
-@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
- -rm -rf src/.libs src/_libs
- -rm -rf src/alpha/.libs src/alpha/_libs
- -rm -rf src/arm/.libs src/arm/_libs
- -rm -rf src/avr32/.libs src/avr32/_libs
- -rm -rf src/cris/.libs src/cris/_libs
- -rm -rf src/frv/.libs src/frv/_libs
- -rm -rf src/ia64/.libs src/ia64/_libs
- -rm -rf src/m32r/.libs src/m32r/_libs
- -rm -rf src/m68k/.libs src/m68k/_libs
- -rm -rf src/mips/.libs src/mips/_libs
- -rm -rf src/moxie/.libs src/moxie/_libs
- -rm -rf src/pa/.libs src/pa/_libs
- -rm -rf src/powerpc/.libs src/powerpc/_libs
- -rm -rf src/s390/.libs src/s390/_libs
- -rm -rf src/sh/.libs src/sh/_libs
- -rm -rf src/sh64/.libs src/sh64/_libs
- -rm -rf src/sparc/.libs src/sparc/_libs
- -rm -rf src/x86/.libs src/x86/_libs
-
-distclean-libtool:
- -rm -f libtool config.lt
-doc/$(am__dirstamp):
- @$(MKDIR_P) doc
- @: > doc/$(am__dirstamp)
-
-$(srcdir)/doc/libffi.info: doc/libffi.texi $(srcdir)/doc/version.texi
- restore=: && backupdir="$(am__leading_dot)am$$$$" && \
- am__cwd=`pwd` && $(am__cd) $(srcdir) && \
- rm -rf $$backupdir && mkdir $$backupdir && \
- if ($(MAKEINFO) --version) >/dev/null 2>&1; then \
- for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \
- if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \
- done; \
- else :; fi && \
- cd "$$am__cwd"; \
- if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc \
- -o $@ $(srcdir)/doc/libffi.texi; \
- then \
- rc=0; \
- $(am__cd) $(srcdir); \
- else \
- rc=$$?; \
- $(am__cd) $(srcdir) && \
- $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
- fi; \
- rm -rf $$backupdir; exit $$rc
-
-doc/libffi.dvi: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
- TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
- MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \
- $(TEXI2DVI) -o $@ `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi
-
-doc/libffi.pdf: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
- TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
- MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \
- $(TEXI2PDF) -o $@ `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi
-
-doc/libffi.html: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
- rm -rf $(@:.html=.htp)
- if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc \
- -o $(@:.html=.htp) `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi; \
- then \
- rm -rf $@; \
- if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
- mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \
- else \
- if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
- rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \
- exit 1; \
- fi
-$(srcdir)/doc/version.texi: @MAINTAINER_MODE_TRUE@ $(srcdir)/doc/stamp-vti
-$(srcdir)/doc/stamp-vti: doc/libffi.texi $(top_srcdir)/configure
- test -f doc/$(am__dirstamp) || $(MAKE) $(AM_MAKEFLAGS) doc/$(am__dirstamp)
- @(dir=.; test -f ./doc/libffi.texi || dir=$(srcdir); \
- set `$(SHELL) $(srcdir)/mdate-sh $$dir/doc/libffi.texi`; \
- echo "@set UPDATED $$1 $$2 $$3"; \
- echo "@set UPDATED-MONTH $$2 $$3"; \
- echo "@set EDITION $(VERSION)"; \
- echo "@set VERSION $(VERSION)") > vti.tmp
- @cmp -s vti.tmp $(srcdir)/doc/version.texi \
- || (echo "Updating $(srcdir)/doc/version.texi"; \
- cp vti.tmp $(srcdir)/doc/version.texi)
- -@rm -f vti.tmp
- @cp $(srcdir)/doc/version.texi $@
-
-mostlyclean-vti:
- -rm -f vti.tmp
-
-maintainer-clean-vti:
-@MAINTAINER_MODE_TRUE@ -rm -f $(srcdir)/doc/stamp-vti $(srcdir)/doc/version.texi
-.dvi.ps:
- TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
- $(DVIPS) -o $@ $<
-
-uninstall-dvi-am:
- @$(NORMAL_UNINSTALL)
- @list='$(DVIS)'; test -n "$(dvidir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(dvidir)/$$f'"; \
- rm -f "$(DESTDIR)$(dvidir)/$$f"; \
- done
-
-uninstall-html-am:
- @$(NORMAL_UNINSTALL)
- @list='$(HTMLS)'; test -n "$(htmldir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " rm -rf '$(DESTDIR)$(htmldir)/$$f'"; \
- rm -rf "$(DESTDIR)$(htmldir)/$$f"; \
- done
-
-uninstall-info-am:
- @$(PRE_UNINSTALL)
- @if test -d '$(DESTDIR)$(infodir)' && \
- (install-info --version && \
- install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
- list='$(INFO_DEPS)'; \
- for file in $$list; do \
- relfile=`echo "$$file" | sed 's|^.*/||'`; \
- echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \
- if install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \
- then :; else test ! -f "$(DESTDIR)$(infodir)/$$relfile" || exit 1; fi; \
- done; \
- else :; fi
- @$(NORMAL_UNINSTALL)
- @list='$(INFO_DEPS)'; \
- for file in $$list; do \
- relfile=`echo "$$file" | sed 's|^.*/||'`; \
- relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \
- (if test -d "$(DESTDIR)$(infodir)" && cd "$(DESTDIR)$(infodir)"; then \
- echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \
- rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \
- else :; fi); \
- done
-
-uninstall-pdf-am:
- @$(NORMAL_UNINSTALL)
- @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(pdfdir)/$$f'"; \
- rm -f "$(DESTDIR)$(pdfdir)/$$f"; \
- done
-
-uninstall-ps-am:
- @$(NORMAL_UNINSTALL)
- @list='$(PSS)'; test -n "$(psdir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(psdir)/$$f'"; \
- rm -f "$(DESTDIR)$(psdir)/$$f"; \
- done
-
-dist-info: $(INFO_DEPS)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- list='$(INFO_DEPS)'; \
- for base in $$list; do \
- case $$base in \
- $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \
- esac; \
- if test -f $$base; then d=.; else d=$(srcdir); fi; \
- base_i=`echo "$$base" | sed 's|\.info$$||;s|$$|.i|'`; \
- for file in $$d/$$base $$d/$$base-[0-9] $$d/$$base-[0-9][0-9] $$d/$$base_i[0-9] $$d/$$base_i[0-9][0-9]; do \
- if test -f $$file; then \
- relfile=`expr "$$file" : "$$d/\(.*\)"`; \
- test -f "$(distdir)/$$relfile" || \
- cp -p $$file "$(distdir)/$$relfile"; \
- else :; fi; \
- done; \
- done
-
-mostlyclean-aminfo:
- -rm -rf libffi.aux libffi.cp libffi.cps libffi.fn libffi.ky libffi.log \
- libffi.pg libffi.tmp libffi.toc libffi.tp libffi.vr
-
-clean-aminfo:
- -test -z "doc/libffi.dvi doc/libffi.pdf doc/libffi.ps doc/libffi.html" \
- || rm -rf doc/libffi.dvi doc/libffi.pdf doc/libffi.ps doc/libffi.html
-
-maintainer-clean-aminfo:
- @list='$(INFO_DEPS)'; for i in $$list; do \
- i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \
- echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \
- rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \
- done
-install-pkgconfigDATA: $(pkgconfig_DATA)
- @$(NORMAL_INSTALL)
- test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)"
- @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- echo "$$d$$p"; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
- done
-
-uninstall-pkgconfigDATA:
- @$(NORMAL_UNINSTALL)
- @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
- test -n "$$files" || exit 0; \
- echo " ( cd '$(DESTDIR)$(pkgconfigdir)' && rm -f" $$files ")"; \
- cd "$(DESTDIR)$(pkgconfigdir)" && rm -f $$files
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) fficonfig.h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) fficonfig.h.in $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) fficonfig.h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) fficonfig.h.in $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- $(am__remove_distdir)
- test -d "$(distdir)" || mkdir "$(distdir)"
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d "$(distdir)/$$subdir" \
- || $(MKDIR_P) "$(distdir)/$$subdir" \
- || exit 1; \
- fi; \
- done
- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
- $(am__relativize); \
- new_distdir=$$reldir; \
- dir1=$$subdir; dir2="$(top_distdir)"; \
- $(am__relativize); \
- new_top_distdir=$$reldir; \
- echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
- echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
- ($(am__cd) $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$new_top_distdir" \
- distdir="$$new_distdir" \
- am__remove_distdir=: \
- am__skip_length_check=: \
- am__skip_mode_fix=: \
- distdir) \
- || exit 1; \
- fi; \
- done
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$(top_distdir)" distdir="$(distdir)" \
- dist-info
- -test -n "$(am__skip_mode_fix)" \
- || find "$(distdir)" -type d ! -perm -755 \
- -exec chmod u+rwx,go+rx {} \; -o \
- ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
- ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
- ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
- || chmod -R a+r "$(distdir)"
-dist-gzip: distdir
- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
- $(am__remove_distdir)
-
-dist-bzip2: distdir
- tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
- $(am__remove_distdir)
-
-dist-lzma: distdir
- tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
- $(am__remove_distdir)
-
-dist-xz: distdir
- tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
- $(am__remove_distdir)
-
-dist-tarZ: distdir
- tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
- $(am__remove_distdir)
-
-dist-shar: distdir
- shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
- $(am__remove_distdir)
-
-dist-zip: distdir
- -rm -f $(distdir).zip
- zip -rq $(distdir).zip $(distdir)
- $(am__remove_distdir)
-
-dist dist-all: distdir
- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
- $(am__remove_distdir)
-
-# This target untars the dist file and tries a VPATH configuration. Then
-# it guarantees that the distribution is self-contained by making another
-# tarfile.
-distcheck: dist
- case '$(DIST_ARCHIVES)' in \
- *.tar.gz*) \
- GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
- *.tar.bz2*) \
- bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
- *.tar.lzma*) \
- lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
- *.tar.xz*) \
- xz -dc $(distdir).tar.xz | $(am__untar) ;;\
- *.tar.Z*) \
- uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
- *.shar.gz*) \
- GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
- *.zip*) \
- unzip $(distdir).zip ;;\
- esac
- chmod -R a-w $(distdir); chmod a+w $(distdir)
- mkdir $(distdir)/_build
- mkdir $(distdir)/_inst
- chmod a-w $(distdir)
- test -d $(distdir)/_build || exit 0; \
- dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
- && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
- && am__cwd=`pwd` \
- && $(am__cd) $(distdir)/_build \
- && ../configure --srcdir=.. --prefix="$$dc_install_base" \
- $(DISTCHECK_CONFIGURE_FLAGS) \
- && $(MAKE) $(AM_MAKEFLAGS) \
- && $(MAKE) $(AM_MAKEFLAGS) dvi \
- && $(MAKE) $(AM_MAKEFLAGS) check \
- && $(MAKE) $(AM_MAKEFLAGS) install \
- && $(MAKE) $(AM_MAKEFLAGS) installcheck \
- && $(MAKE) $(AM_MAKEFLAGS) uninstall \
- && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
- distuninstallcheck \
- && chmod -R a-w "$$dc_install_base" \
- && ({ \
- (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
- distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
- } || { rm -rf "$$dc_destdir"; exit 1; }) \
- && rm -rf "$$dc_destdir" \
- && $(MAKE) $(AM_MAKEFLAGS) dist \
- && rm -rf $(DIST_ARCHIVES) \
- && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
- && cd "$$am__cwd" \
- || exit 1
- $(am__remove_distdir)
- @(echo "$(distdir) archives ready for distribution: "; \
- list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
- sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
-distuninstallcheck:
- @$(am__cd) '$(distuninstallcheck_dir)' \
- && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
- || { echo "ERROR: files left after uninstall:" ; \
- if test -n "$(DESTDIR)"; then \
- echo " (check DESTDIR support)"; \
- fi ; \
- $(distuninstallcheck_listfiles) ; \
- exit 1; } >&2
-distcleancheck: distclean
- @if test '$(srcdir)' = . ; then \
- echo "ERROR: distcleancheck can only run from a VPATH build" ; \
- exit 1 ; \
- fi
- @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
- || { echo "ERROR: files left in build directory after distclean:" ; \
- $(distcleancheck_listfiles) ; \
- exit 1; } >&2
-check-am: all-am
-check: check-recursive
-all-am: Makefile $(INFO_DEPS) $(LTLIBRARIES) $(DATA) fficonfig.h
-installdirs: installdirs-recursive
-installdirs-am:
- for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(infodir)" "$(DESTDIR)$(pkgconfigdir)"; do \
- test -z "$$dir" || $(MKDIR_P) "$$dir"; \
- done
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
- -rm -f doc/$(am__dirstamp)
- -rm -f src/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/$(am__dirstamp)
- -rm -f src/alpha/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/alpha/$(am__dirstamp)
- -rm -f src/arm/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/arm/$(am__dirstamp)
- -rm -f src/avr32/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/avr32/$(am__dirstamp)
- -rm -f src/cris/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/cris/$(am__dirstamp)
- -rm -f src/frv/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/frv/$(am__dirstamp)
- -rm -f src/ia64/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/ia64/$(am__dirstamp)
- -rm -f src/m32r/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/m32r/$(am__dirstamp)
- -rm -f src/m68k/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/m68k/$(am__dirstamp)
- -rm -f src/mips/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/mips/$(am__dirstamp)
- -rm -f src/moxie/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/moxie/$(am__dirstamp)
- -rm -f src/pa/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/pa/$(am__dirstamp)
- -rm -f src/powerpc/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/powerpc/$(am__dirstamp)
- -rm -f src/s390/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/s390/$(am__dirstamp)
- -rm -f src/sh/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/sh/$(am__dirstamp)
- -rm -f src/sh64/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/sh64/$(am__dirstamp)
- -rm -f src/sparc/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/sparc/$(am__dirstamp)
- -rm -f src/x86/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/x86/$(am__dirstamp)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-aminfo clean-generic clean-libLTLIBRARIES \
- clean-libtool clean-noinstLTLIBRARIES mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f $(am__CONFIG_DISTCLEAN_FILES)
- -rm -rf src/$(DEPDIR) src/alpha/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/x86/$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-hdr distclean-libtool distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am: $(DVIS)
-
-html: html-recursive
-
-html-am: $(HTMLS)
-
-info: info-recursive
-
-info-am: $(INFO_DEPS)
-
-install-data-am: install-info-am install-pkgconfigDATA
-
-install-dvi: install-dvi-recursive
-
-install-dvi-am: $(DVIS)
- @$(NORMAL_INSTALL)
- test -z "$(dvidir)" || $(MKDIR_P) "$(DESTDIR)$(dvidir)"
- @list='$(DVIS)'; test -n "$(dvidir)" || list=; \
- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- echo "$$d$$p"; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(dvidir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(dvidir)" || exit $$?; \
- done
-install-exec-am: install-libLTLIBRARIES
-
-install-html-am: $(HTMLS)
- @$(NORMAL_INSTALL)
- test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)"
- @list='$(HTMLS)'; list2=; test -n "$(htmldir)" || list=; \
- for p in $$list; do \
- if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \
- $(am__strip_dir) \
- if test -d "$$d$$p"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \
- $(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \
- echo " $(INSTALL_DATA) '$$d$$p'/* '$(DESTDIR)$(htmldir)/$$f'"; \
- $(INSTALL_DATA) "$$d$$p"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \
- else \
- list2="$$list2 $$d$$p"; \
- fi; \
- done; \
- test -z "$$list2" || { echo "$$list2" | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(htmldir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(htmldir)" || exit $$?; \
- done; }
-install-info: install-info-recursive
-
-install-info-am: $(INFO_DEPS)
- @$(NORMAL_INSTALL)
- test -z "$(infodir)" || $(MKDIR_P) "$(DESTDIR)$(infodir)"
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
- for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- esac; \
- if test -f $$file; then d=.; else d=$(srcdir); fi; \
- file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \
- for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \
- $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \
- if test -f $$ifile; then \
- echo "$$ifile"; \
- else : ; fi; \
- done; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(infodir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(infodir)" || exit $$?; done
- @$(POST_INSTALL)
- @if (install-info --version && \
- install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
- list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
- for file in $$list; do \
- relfile=`echo "$$file" | sed 's|^.*/||'`; \
- echo " install-info --info-dir='$(DESTDIR)$(infodir)' '$(DESTDIR)$(infodir)/$$relfile'";\
- install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$relfile" || :;\
- done; \
- else : ; fi
-install-man:
-
-install-pdf-am: $(PDFS)
- @$(NORMAL_INSTALL)
- test -z "$(pdfdir)" || $(MKDIR_P) "$(DESTDIR)$(pdfdir)"
- @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \
- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- echo "$$d$$p"; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pdfdir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(pdfdir)" || exit $$?; done
-install-ps: install-ps-recursive
-
-install-ps-am: $(PSS)
- @$(NORMAL_INSTALL)
- test -z "$(psdir)" || $(MKDIR_P) "$(DESTDIR)$(psdir)"
- @list='$(PSS)'; test -n "$(psdir)" || list=; \
- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- echo "$$d$$p"; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(psdir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(psdir)" || exit $$?; done
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f $(am__CONFIG_DISTCLEAN_FILES)
- -rm -rf $(top_srcdir)/autom4te.cache
- -rm -rf src/$(DEPDIR) src/alpha/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/x86/$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-aminfo \
- maintainer-clean-generic maintainer-clean-vti
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-aminfo mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool mostlyclean-vti
-
-pdf: pdf-recursive
-
-pdf-am: $(PDFS)
-
-ps: ps-recursive
-
-ps-am: $(PSS)
-
-uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \
- uninstall-libLTLIBRARIES uninstall-pdf-am \
- uninstall-pkgconfigDATA uninstall-ps-am
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
- ctags-recursive install-am install-strip tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
- all all-am am--refresh check check-am clean clean-aminfo \
- clean-generic clean-libLTLIBRARIES clean-libtool \
- clean-noinstLTLIBRARIES ctags ctags-recursive dist dist-all \
- dist-bzip2 dist-gzip dist-info dist-lzma dist-shar dist-tarZ \
- dist-xz dist-zip distcheck distclean distclean-compile \
- distclean-generic distclean-hdr distclean-libtool \
- distclean-tags distcleancheck distdir distuninstallcheck dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-dvi install-dvi-am \
- install-exec install-exec-am install-html install-html-am \
- install-info install-info-am install-libLTLIBRARIES \
- install-man install-pdf install-pdf-am install-pkgconfigDATA \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs installdirs-am maintainer-clean \
- maintainer-clean-aminfo maintainer-clean-generic \
- maintainer-clean-vti mostlyclean mostlyclean-aminfo \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- mostlyclean-vti pdf pdf-am ps ps-am tags tags-recursive \
- uninstall uninstall-am uninstall-dvi-am uninstall-html-am \
- uninstall-info-am uninstall-libLTLIBRARIES uninstall-pdf-am \
- uninstall-pkgconfigDATA uninstall-ps-am
-
-
-# No install-html or install-pdf support in automake yet
-.PHONY: install-html install-pdf
-install-html:
-install-pdf:
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/.pc/remove-debug-code/libtool-version b/.pc/remove-debug-code/libtool-version
deleted file mode 100644
index b8b80e0..0000000
--- a/.pc/remove-debug-code/libtool-version
+++ /dev/null
@@ -1,29 +0,0 @@
-# This file is used to maintain libtool version info for libffi. See
-# the libtool manual to understand the meaning of the fields. This is
-# a separate file so that version updates don't involve re-running
-# automake.
-#
-# Here are a set of rules to help you update your library version
-# information:
-#
-# 1. Start with version information of `0:0:0' for each libtool library.
-#
-# 2. Update the version information only immediately before a public
-# release of your software. More frequent updates are unnecessary,
-# and only guarantee that the current interface number gets larger
-# faster.
-#
-# 3. If the library source code has changed at all since the last
-# update, then increment revision (`c:r:a' becomes `c:r+1:a').
-#
-# 4. If any interfaces have been added, removed, or changed since the
-# last update, increment current, and set revision to 0.
-#
-# 5. If any interfaces have been added since the last public release,
-# then increment age.
-#
-# 6. If any interfaces have been removed since the last public
-# release, then set age to 0.
-#
-# CURRENT:REVISION:AGE
-5:10:0
diff --git a/.pc/sparc-abi-check/.timestamp b/.pc/sparc-abi-check/.timestamp
deleted file mode 100644
index e69de29..0000000
--- a/.pc/sparc-abi-check/.timestamp
+++ /dev/null
diff --git a/.pc/sparc-abi-check/ChangeLog b/.pc/sparc-abi-check/ChangeLog
deleted file mode 100644
index cc4f9f1..0000000
--- a/.pc/sparc-abi-check/ChangeLog
+++ /dev/null
@@ -1,4636 +0,0 @@
-2012-02-10 Kai Tietz <ktietz@redhat.com>
-
- * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
- windows target.
- * configure: Regenerated.
-
-2012-02-08 Kai Tietz <ktietz@redhat.com>
-
- * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
- also FFI_THISCALL.
- * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
- (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
- (ffi_prep_closure_loc): Add FFI_THISCALL support.
- * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
- * src/x86/win32.S (ffi_closure_THISCALL): New closure code
- for thiscall-calling convention.
- * testsuite/libffi.call/closure_thiscall.c: New test.
-
-2012-01-28 Kai Tietz <ktietz@redhat.com>
-
- * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
- argument to prototype for specify calling-convention.
- (ffi_call): Add support for stdcall/thiscall convention.
- (ffi_prep_args): Likewise.
- (ffi_raw_call): Likewise.
- * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
- FFI_FASTCALL.
- * src/x86/win32.S (_ffi_call_win32): Add support for
- fastcall/thiscall calling-convention calls.
- * testsuite/libffi.call/fastthis1_win32.c: New test.
- * testsuite/libffi.call/fastthis2_win32.c: New test.
- * testsuite/libffi.call/fastthis3_win32.c: New test.
- * testsuite/libffi.call/strlen2_win32.c: New test.
- * testsuite/libffi.call/many2_win32.c: New test.
- * testsuite/libffi.call/struct1_win32.c: New test.
- * testsuite/libffi.call/struct2_win32.c: New test.
-
-2012-01-23 Andreas Schwab <schwab@linux-m68k.org>
-
- * src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
- mc68000. Test for __HAVE_68881__ in addition to __MC68881__.
-
-2012-01-19 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/48496
- * src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
-
-2012-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (i?86-*-*): Set TARGET to X86_64.
- * configure: Regenerate.
-
-2011-12-07 Andrew Pinski <apinski@cavium.com>
-
- PR libffi/50051
- * src/mips/n32.S: Add ".set mips4".
-
-2011-11-21 Andreas Tobler <andreast@fgznet.ch>
-
- * configure: Regenerate.
-
-2011-11-10 Richard Henderson <rth@redhat.com>
-
- * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
- * configure, aclocal.m4: Rebuild.
-
-2011-09-04 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/49594
- * src/powerpc/darwin_closure.S (stubs): Make the stub binding
- helper reference track the architecture pointer size.
-
-2011-08-25 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
- instructions.
- * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
-
-2011-07-11 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46660
- * testsuite/libffi.call/cls_double_va.c: xfail dg-output on
- mips-sgi-irix6*.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
- PRId8 instead of %hhu, %hhd.
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
- PRIu8): Define.
- [__sgi__] (PRId8, PRIu8): Define.
-
-2011-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
- Define.
- Use them to handle ELF vs. ECOFF differences.
- [__osf__] (_GLOBAL__F_ffi_call_osf): Define.
-
-2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2011-02-09 Stuart Shelton <srcshelton@gmail.com>
-
- http://bugs.gentoo.org/show_bug.cgi?id=286911
- * src/mips/ffitarget.h: Clean up error messages.
- * src/java_raw_api.c (ffi_java_translate_args): Cast raw arg to
- ffi_raw*.
- * include/ffi.h.in: Add pragma for SGI compiler.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * configure.ac: Add powerpc64-*-darwin* support.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * README: Mention Interix.
-
-2011-02-09 Jonathan Callen <abcd@gentoo.org>
-
- * configure.ac: Add Interix to win32/cygwin/mingw case.
- * configure: Ditto.
- * src/closures.c: Treat Interix like Cygwin, instead of as a
- generic win32.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * testsuite/libffi.call/err_bad_typedef.c: Remove xfail.
- * testsuite/libffi.call/err_bad_abi.c: Remove xfail.
- * src/x86/ffi64.c (UNLIKELY, LIKELY): Define.
- (ffi_prep_closure_loc): Check for bad ABI.
- * src/prep_cif.c (UNLIKELY, LIKELY): Define.
- (initialize_aggregate): Check for bad types.
-
-2011-02-09 Landon Fuller <landonf@macports.org>
-
- * Makefile.am (EXTRA_DIST): Add build-ios.sh, src/arm/gentramp.sh,
- src/arm/trampoline.S.
- (nodist_libffi_la_SOURCES): Add src/arc/trampoline.S.
- * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Define.
- * src/arm/ffi.c (ffi_trampoline_table)
- (ffi_closure_trampoline_table_page, ffi_trampoline_table_entry)
- (FFI_TRAMPOLINE_CODELOC_CONFIG, FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET)
- (FFI_TRAMPOLINE_COUNT, ffi_trampoline_lock, ffi_trampoline_tables)
- (ffi_trampoline_table_alloc, ffi_closure_alloc, ffi_closure_free):
- Define for FFI_EXEC_TRAMPOLINE_TABLE case (iOS).
- (ffi_prep_closure_loc): Handl FFI_EXEC_TRAMPOLINE_TABLE case
- separately.
- * src/arm/sysv.S: Handle Apple iOS host.
- * src/closures.c: Handle FFI_EXEC_TRAMPOLINE_TABLE case.
- * build-ios.sh: New file.
- * fficonfig.h.in, configure, Makefile.in: Rebuilt.
- * README: Mention ARM iOS.
-
-2011-02-08 Oren Held <orenhe@il.ibm.com>
-
- * src/dlmalloc.c (_STRUCT_MALLINFO): Define in order to avoid
- redefinition of mallinfo on HP-UX.
-
-2011-02-08 Ginn Chen <ginn.chen@oracle.com>
-
- * src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
- aggregate return ABI. Flush cache.
- (ffi_prep_closure_loc): Flush cache.
-
-2011-02-11 Anthony Green <green@moxielogic.com>
-
- From Tom Honermann <tom.honermann@oracle.com>:
- * src/powerpc/aix.S (ffi_call_AIX): Support for xlc toolchain on
- AIX. Declare .ffi_prep_args. Insert nops after branch
- instructions so that the AIX linker can insert TOC reload
- instructions.
- * src/powerpc/aix_closure.S: Declare .ffi_closure_helper_DARWIN.
-
-2011-02-08 Ed <ed@kdtc.net>
-
- * src/powerpc/asm.h: Fix grammar nit in comment.
-
-2011-02-08 Uli Link <ul.mcamafia@linkitup.de>
-
- * include/ffi.h.in (FFI_64_BIT_MAX): Define and use.
-
-2011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46661
- * testsuite/libffi.call/cls_pointer.c (main): Cast void * to
- uintptr_t first.
- * testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
-
-2011-02-08 Rafael Avila de Espindola <respindola@mozilla.com>
-
- * configure.ac: Fix x86 test for pc related relocs.
- * configure: Rebuilt.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
- Handle case when CPU variant does not have long double support.
- * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
- and cores with soft floating point.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * configure.ac: Add mips*-*-rtems* support.
- * configure: Regenerate.
- * src/mips/ffitarget.h: Ensure needed constants are available
- for targets which do not have sgidefs.h.
-
-2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR target/40125
- * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
- * configure: Regenerate.
-
-2010-12-18 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/29152
- PR libffi/42378
- * src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
- (FFI_TRAMPOLINE_SIZE): Update for Darwin64.
- * src/powerpc/darwin.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
- backslashes.
- (libffi_cv_as_string_pseudo_op): Likewise.
- * configure: Regenerate.
-
-2010-12-03 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
- (ffi_closure_VFP): Same.
- (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
- directive.
-
-2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
- (PRIuPTR): Define.
-
-2010-11-29 Richard Henderson <rth@redhat.com>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
- (.eh_frame): Use FDE_ENCODING.
- (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
-
-2010-11-22 Jacek Caban <jacek@codeweavers.com>
-
- * configure.ac: Check for symbol underscores on mingw-w64.
- * configure: Rebuilt.
- * src/x86/win64.S: Correctly access extern symbols in respect to
- underscores.
-
-2010-11-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp: Rename ...
- * testsuite/lib/libffi.exp: ... to this.
- * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
- * libffi/testsuite/libffi.special/special.exp: Likewise.
-
-2010-10-28 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
- code, new parameter, and return value. Update comments.
- (ffi_prep_cif_machdep): Add case for VFP struct return values. Add
- call to layout_vfp_args().
- (ffi_call_SYSV): Update declaration.
- (ffi_call_VFP): New declaration.
- (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
- when ABI is FFI_VFP.
- (ffi_closure_VFP): New declaration.
- (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
- ffi_prep_incoming_args_SYSV().
- (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
- case handling.
- (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
- construction under VFP hard-float.
- (rec_vfp_type_p): New function.
- (vfp_type_p): Same.
- (place_vfp_arg): Same.
- (layout_vfp_args): Same.
- * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
- based on __ARM_PCS_VFP.
- (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
- fields.
- (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
- (FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
- * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
- direct call. Move function pointer load upwards.
- (ffi_call_VFP): New function.
- (ffi_closure_VFP): Same.
-
- * testsuite/lib/libffi-dg.exp (check-flags): New function.
- (dg-skip-if): New function.
- * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
- and compiler options include -mfloat-abi=hard.
- * testsuite/libffi.call/cls_longdouble_va.c: Same.
-
-2010-10-01 Jakub Jelinek <jakub@redhat.com>
-
- PR libffi/45677
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
- a multiple of 8.
- * testsuite/libffi.call/many2.c: New test.
-
-2010-08-20 Mark Wielaard <mjw@redhat.com>
-
- * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
- returns NULL.
-
-2010-08-09 Andreas Tobler <andreast@fgznet.ch>
-
- * configure.ac: Add target powerpc64-*-freebsd*.
- * configure: Regenerate.
- * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
- -mlong-double-128 only to linux targets.
- * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
- * testsuite/libffi.call/cls_longdouble.c: Likewise.
- * testsuite/libffi.call/huge_struct.c: Likewise.
-
-2010-08-05 Dan Witte <dwitte@mozilla.com>
-
- * Makefile.am: Pass FFI_DEBUG define to msvcc.sh for linking to the
- debug CRT when --enable-debug is given.
- * configure.ac: Define it.
- * msvcc.sh: Translate -g and -DFFI_DEBUG appropriately.
-
-2010-08-04 Dan Witte <dwitte@mozilla.com>
-
- * src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64
- platforms.
- * src/x86/ffi.c: Remove redundant ifdef checks.
- * src/prep_cif.c: Push stack space computation into src/x86/ffi.c
- for X86_ANY so return value space doesn't get added twice.
-
-2010-08-03 Neil Rashbrooke <neil@parkwaycc.co.uk>
-
- * msvcc.sh: Don't pass -safeseh to ml64 because behavior is buggy.
-
-2010-07-22 Dan Witte <dwitte@mozilla.com>
-
- * src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
- * src/prep_cif.c: Fix ABI assertion.
- * src/cris/ffi.c: Ditto.
-
-2010-07-10 Evan Phoenix <evan@fallingsnow.net>
-
- * src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
-
-2010-07-07 Dan Horák <dan@danny.cz>
-
- * include/ffi.h.in: Protect #define with #ifndef.
- * src/powerpc/ffitarget.h: Ditto.
- * src/s390/ffitarget.h: Ditto.
- * src/sparc/ffitarget.h: Ditto.
-
-2010-07-07 Neil Roberts <neil@linux.intel.com>
-
- * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
- 16-bytes.
-
-2010-07-02 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
- * Makefile.in: Regenerated.
-
-2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
- output, too.
- (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
- (libffi_cv_as_string_pseudo_op): Check for .string.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
-
-2010-05-11 Dan Witte <dwitte@mozilla.com>
-
- * doc/libffi.tex: Document previous change.
-
-2010-05-11 Makoto Kato <m_kato@ga2.so-net.ne.jp>
-
- * src/x86/ffi.c (ffi_call): Don't copy structs passed by value.
-
-2010-05-05 Michael Kohler <michaelkohler@live.com>
-
- * src/dlmalloc.c (dlfree): Fix spelling.
- * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
- * configure.ac: Ditto.
- * configure: Rebuilt.
-
-2010-04-13 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Build with -W3 instead of -Wall.
- * src/powerpc/ffi_darwin.c: Remove build warnings.
- * src/x86/ffi.c: Ditto.
- * src/x86/ffitarget.h: Ditto.
-
-2010-04-12 Dan Witte <dwitte@mozilla.com>
- Walter Meinl <wuno@lsvw.de>
-
- * configure.ac: Add OS/2 support.
- * configure: Rebuilt.
- * src/closures.c: Ditto.
- * src/dlmalloc.c: Ditto.
- * src/x86/win32.S: Ditto.
-
-2010-04-07 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
-
-2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2010-03-30 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Disable build warnings.
- * README (tested): Clarify windows build procedure.
-
-2010-03-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * libffi/src/x86/unix64.S (.eh_frame)
- [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
-
-2010-03-14 Matthias Klose <doko@ubuntu.com>
-
- * src/x86/ffi64.c: Fix typo in comment.
- * src/x86/ffi.c: Use /* ... */ comment style.
-
-2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/libffi.texi (The Closure API): Fix typo.
- * doc/libffi.info: Remove.
-
-2010-02-15 Matthias Klose <doko@ubuntu.com>
-
- * src/arm/sysv.S (__ARM_ARCH__): Define for processor
- __ARM_ARCH_7EM__.
-
-2010-01-15 Anthony Green <green@redhat.com>
-
- * README: Add notes on building with Microsoft Visual C++.
-
-2010-01-15 Daniel Witte <dwitte@mozilla.com>
-
- * msvcc.sh: New file.
-
- * src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
- * src/x86/ffi.c: Tweak function declaration and remove excess
- parens.
- * include/ffi.h.in: Add __declspec(align(8)) to typedef struct
- ffi_closure.
-
- * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
- function ffi_call_win32 on X86_WIN32.
- * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
- (ffi_call_STDCALL): Remove.
-
- * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
- to ffi_prep_cif_machdep for x86.
- * src/x86/ffi.c (ffi_prep_cif_machdep): To here.
-
-2010-01-15 Oliver Kiddle <okiddle@yahoo.co.uk>
-
- * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
- Sun Studio compiler compatibility.
-
-2010-01-12 Conrad Irwin <conrad.irwin@gmail.com>
-
- * doc/libffi.texi: Add closure example.
-
-2010-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40701
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
- PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
- * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
- alpha*-dec-osf*.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/return_ll1.c: Likewise.
- * testsuite/libffi.call/stret_medium2.c: Likewise.
- * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
- MAP_FAILED to char *.
-
-2010-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
-
-2009-12-31 Anthony Green <green@redhat.com>
-
- * README: Update for libffi 3.0.9.
-
-2009-12-27 Matthias Klose <doko@ubuntu.com>
-
- * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
- appropriate.
- * configure: Rebuilt.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
- avr32*-*-*.
- * testsuite/libffi.call/cls_double_va.c: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
- and inttypes.h.
- * testsuite/libffi.special/unwindtest.cc: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-openbsd*.
- * configure: Rebuilt.
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
- openbsd programs with -lpthread.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
- mips*-*-* and arm*-*-*.
- * testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c,
- testsuite/libffi.call/stret_medium2.c,
- testsuite/libffi.call/stret_medium.c,
- testsuite/libffi.call/stret_large.c,
- testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
-
-2009-12-31 Kay Tietz <ktietz70@googlemail.com>
-
- * testsuite/libffi.call/ffitest.h,
- testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
- definitions.
-
-2009-12-31 Carlo Bramini <carlo.bramix@libero.it>
-
- * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
- * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
-
-2009-12-31 Anthony Green <green@redhat.com>
- Blake Chaffin.
-
- * testsuite/libffi.call/huge_struct.c: New test case from Blake
- Chaffin @ Apple.
-
-2009-12-28 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
- local variables.
- (aix_adjust_aggregate_sizes): New function.
- (ffi_prep_cif_machdep): Call it.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
- * configure: Regenerate.
- * fficonfig.h.in: Likewise.
- * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
- Solaris/x86.
-
-2009-12-26 Andreas Schwab <schwab@linux-m68k.org>
-
- * 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.
-
-2009-12-25 Matthias Klose <doko@ubuntu.com>
-
- * man/ffi_call.3: Fix #include in examples.
- * doc/libffi.texi: Add dircategory.
-
-2009-12-25 Frank Everdij <f.p.x.everdij@tudelft.nl>
-
- * include/ffi.h.in: Placed '__GNUC__' ifdef around
- '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
- IRIX MIPSPro c99.
- * include/ffi_common.h: Added '__sgi' define to non
- '__attribute__((__mode__()))' integer typedefs.
- * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
- ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
- (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
- FFI_LONGDOUBLE support and alignment(N32 only).
- * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
- fixed non '__attribute__((__mode__()))' integer typedefs.
- * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
- since they are Linux/GNU Assembler specific.
-
-2009-12-25 Bradley Smith <brad@brad-smith.co.uk>
-
- * configure.ac, Makefile.am, src/avr32/ffi.c,
- src/avr32/ffitarget.h,
- src/avr32/sysv.S: Add AVR32 port.
- * configure, Makefile.in: Rebuilt.
-
-2009-12-21 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
- * configure: Regenerate.
-
-2009-12-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
- type on HP-UX.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
- double' arguments.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40700
- * src/closures.c [X86_64 && __sun__ && __svr4__]
- (FFI_MMAP_EXEC_WRIT): Define.
-
-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.
-
-2009-12-07 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
- typo.
-
-2009-12-05 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
- code.
- * src/powerpc/aix_closure.S: Same.
-
-2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
- linux64_closure.S.
-
-2009-12-04 Uros Bizjak <ubizjak@gmail.com>
-
- 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.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
- pfr for long double split between fpr13 and stack.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
- fparg_count twice for long double.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- PR libffi/42243
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03 Uros Bizjak <ubizjak@gmail.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
- Remove xfails for x86 linux targets.
-
-2009-12-02 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
- case.
-
-2009-12-01 David Edelsohn <edelsohn@gnu.org>
-
- * 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.
-
-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.
-
-2009-11-02 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/41908
- * testsuite/libffi.call/testclosure.c: New test.
-
-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.
-
-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.
-
-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.
-
-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.
-
-2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.am (install-html, install-pdf): Remove.
- * Makefile.in: Regenerate.
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24 Dave Korn <dave.korn.cygwin@gmail.com>
-
- 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.
-
-2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
-
- 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.
-
-2009-07-01 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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 "".)
-
-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.
-
-2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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.
-
-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.
-
-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.
-
-2009-06-16 Andrew Haley <aph@redhat.com>
-
- * configure.ac (TARGETDIR): Add missing blank lines.
- * configure: Regenerate.
-
-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.
-
-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.
-
-2009-06-12 Andrew Haley <aph@redhat.com>
-
- * Makefile.am: Remove info_TEXINFOS.
-
-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-11 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * 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.
-
-2009-06-09 Andrew Haley <aph@redhat.com>
-
- * src/x86/freebsd.S: Add missing file.
-
-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).
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * README: Import from libffi 3.0.8.
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Add xfails.
- * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
- * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
- * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
- * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
- * testsuite/libffi.call/stret_medium.c: Likewise.
- * testsuite/libffi.call/stret_large2.c: Likewise.
- * testsuite/libffi.call/stret_large.c: Likewise.
-
-2008-12-26 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_align_longdouble.c,
- testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
- failures on x86_64 cygwin/mingw.
-
-2008-12-22 Timothy Wall <twall@users.sf.net>
-
- * 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_loc_fn0.c,
- testsuite/libffi.call/closure_stdcall.c,
- testsuite/libffi.call/cls_align_pointer.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
- pointer to integer (intptr_t).
- * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_dbls_struct.c,
- testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c,
- testsuite/libffi.call/err_bad_abi.c: Clean up failures from
- compiler warnings.
-
-2008-03-04 Anthony Green <green@redhat.com>
- Blake Chaffin
- hos@tamanegi.org
-
- * testsuite/libffi.call/cls_align_longdouble_split2.c
- testsuite/libffi.call/cls_align_longdouble_split.c
- testsuite/libffi.call/cls_dbls_struct.c
- testsuite/libffi.call/cls_double_va.c
- testsuite/libffi.call/cls_longdouble.c
- testsuite/libffi.call/cls_longdouble_va.c
- testsuite/libffi.call/cls_pointer.c
- testsuite/libffi.call/cls_pointer_stack.c
- testsuite/libffi.call/err_bad_abi.c
- testsuite/libffi.call/err_bad_typedef.c
- testsuite/libffi.call/stret_large2.c
- testsuite/libffi.call/stret_large.c
- testsuite/libffi.call/stret_medium2.c
- testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
- libffi.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
- stdcall changes.
-
-2008-02-26 Anthony Green <green@redhat.com>
- Thomas Heller <theller@ctypes.org>
-
- * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
- comment.
-
-2008-02-03 Timothy Wall <twall@users.sf.net>
-
- * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
- offset based on code pointer, not data pointer.
-
-2008-01-31 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
- closures.
- * src/x86/ffitarget.h: Increase size of trampoline for stdcall
- closures.
- * src/x86/win32.S: Add assembly for stdcall closure.
- * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Change void (*)() to void (*)(void).
- * src/x86/ffi.c: Likewise.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ppc_closure.S: Insert licence header.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/m68k/sysv.S: Likewise.
-
- * src/sh64/ffi.c: Change void (*)() to void (*)(void).
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/m32r/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi64.c: Likewise.
- * src/alpha/ffi.c: Likewise.
- * src/alpha/osf.S: Likewise.
- * src/frv/ffi.c: Likewise.
- * src/s390/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/pa/hpux32.S: Likewise.
- * src/ia64/unix.S: Likewise.
- * src/ia64/ffi.c: Likewise.
- * src/sparc/ffi.c: Likewise.
- * src/mips/ffi.c: Likewise.
- * src/sh/ffi.c: Likewise.
-
-2008-02-15 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
- Define (conditionally), and use it to include cachectl.h.
- (ffi_prep_closure_loc): Fix cache flushing.
- * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- include/ffi.h.in,
- src/arm/ffitarget.h,
- src/arm/ffi.c,
- src/arm/sysv.S,
- src/powerpc/ffitarget.h,
- src/closures.c,
- src/sh64/ffitarget.h,
- src/sh64/ffi.c,
- src/sh64/sysv.S,
- src/types.c,
- src/x86/ffi64.c,
- src/x86/ffitarget.h,
- src/x86/win32.S,
- src/x86/darwin.S,
- src/x86/ffi.c,
- src/x86/sysv.S,
- src/x86/unix64.S,
- src/alpha/ffitarget.h,
- src/alpha/ffi.c,
- src/alpha/osf.S,
- src/m68k/ffitarget.h,
- src/frv/ffitarget.h,
- src/frv/ffi.c,
- src/s390/ffitarget.h,
- src/s390/sysv.S,
- src/cris/ffitarget.h,
- src/pa/linux.S,
- src/pa/ffitarget.h,
- src/pa/ffi.c,
- src/raw_api.c,
- src/ia64/ffitarget.h,
- src/ia64/unix.S,
- src/ia64/ffi.c,
- src/ia64/ia64_flags.h,
- src/java_raw_api.c,
- src/debug.c,
- src/sparc/v9.S,
- src/sparc/ffitarget.h,
- src/sparc/ffi.c,
- src/sparc/v8.S,
- src/mips/ffitarget.h,
- src/mips/n32.S,
- src/mips/o32.S,
- src/mips/ffi.c,
- src/prep_cif.c,
- src/sh/ffitarget.h,
- src/sh/ffi.c,
- src/sh/sysv.S: Update license text.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * src/x86/win32.S (_ffi_closure_STDCALL): New function.
- (.eh_frame): Add FDE for it.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * configure.ac: Also check if assembler supports pc-relative
- relocs on X86_WIN32 targets.
- * configure: Regenerate.
- * src/x86/win32.S (ffi_prep_args): Declare extern, not global.
- (_ffi_call_SYSV): Add missing function type symbol .def and
- add EH markup labels.
- (_ffi_call_STDCALL): Likewise.
- (_ffi_closure_SYSV): Likewise.
- (_ffi_closure_raw_SYSV): Likewise.
- (.eh_frame): Add hand-crafted EH data.
-
-2009-04-09 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
- version 3 of the GNU General Public License and to point readers
- at the COPYING3 file and the FSF's license web page.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-12-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libffi/26048
- * configure.ac (HAVE_AS_X86_PCREL): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
- RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
- RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
- * src/x86/unix64.S (.Lstore_table): Move to .text section.
- (.Lload_table): Likewise.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
- signed/unsigned int8/16 return values.
- * src/sparc/v8.S (ffi_call_v8): Likewise.
- (ffi_closure_v8): Likewise.
-
-2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
- Steve Ellcey <sje@cup.hp.com>
-
- * configure: Regenerate for new libtool.
- * Makefile.in: Ditto.
- * include/Makefile.in: Ditto.
- * aclocal.m4: Ditto.
-
-2008-08-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
- FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
- Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
- Adjust copyright notice.
- * src/powerpc/ffi.c: Add two new flags to indicate if we have one
- register or two register to use for FFI_SYSV structs.
- (ffi_prep_cif_machdep): Pass the right register flag introduced above.
- (ffi_closure_helper_SYSV): Fix the return type for
- FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
- Adjust copyright notice.
-
-2008-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
- int.
-
-2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2008-06-07 Joseph Myers <joseph@codesourcery.com>
-
- * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
- powerpc-*-beos*): Remove.
- * configure: Regenerate.
-
-2008-05-09 Julian Brown <julian@codesourcery.com>
-
- * Makefile.am (LTLDFLAGS): New.
- (libffi_la_LDFLAGS): Use above.
- * Makefile.in: Regenerate.
-
-2008-04-18 Paolo Bonzini <bonzini@gnu.org>
-
- PR bootstrap/35457
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2008-03-26 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add .note.GNU-stack on Linux.
- * src/sh64/sysv.S: Likewise.
-
-2008-03-26 Daniel Jacobowitz <dan@debian.org>
-
- * src/arm/sysv.S: Fix ARM comment marker.
-
-2008-03-26 Jakub Jelinek <jakub@redhat.com>
-
- * src/alpha/osf.S: Add .note.GNU-stack on Linux.
- * src/s390/sysv.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
- * src/x86/unix64.S: Likewise.
- * src/x86/sysv.S: Likewise.
- * src/sparc/v8.S: Likewise.
- * src/sparc/v9.S: Likewise.
- * src/m68k/sysv.S: Likewise.
- * src/arm/sysv.S: Likewise.
-
-2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * aclocal.m4: Regenerate.
- * configure: Likewise.
- * Makefile.in: Likewise.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2008-02-12 Bjoern Koenig <bkoenig@alpha-tierchen.de>
- Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-freebsd* target.
- * configure: Regenerate.
-
-2008-01-30 H.J. Lu <hongjiu.lu@intel.com>
-
- PR libffi/34612
- * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
- returning struct.
-
- * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
- tests.
-
-2008-01-24 David Edelsohn <edelsohn@gnu.org>
-
- * configure: Regenerate.
-
-2008-01-06 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
-
-2008-01-05 Andreas Tobler <a.tobler@schweiz.org>
-
- PR testsuite/32843
- * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
- signed/unsigned int8/16 for X86_DARWIN.
- Updated copyright info.
- Handle one and two byte structs with special cif->flags.
- * src/x86/ffitarget.h: Add special types for one and two byte structs.
- Updated copyright info.
- * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
- sysv.S
- Remove code to pop args from the stack after call.
- Special-case signed/unsigned for int8/16, one and two byte structs.
- (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
- FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
- FFI_TYPE_SINT32.
- Updated copyright info.
-
-2007-12-08 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_call_N32): Replace dadd with ADDU, dsub with
- SUBU, add with ADDU and use smaller code sequences.
-
-2007-12-07 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
- type.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
- defined.
- (ffi_java_raw): New typedef.
- (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
- ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
- ffi_java_raw.
- (ffi_java_raw_closure) : Same.
- (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
- parameter types.
- * src/java_raw_api.c (ffi_java_raw_size): Replace FFI_SIZEOF_ARG with
- FFI_SIZEOF_JAVA_RAW.
- (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
- Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
- sizeof(ffi_java_raw) for alignment calculations.
- (ffi_java_ptrarray_to_raw): Same.
- (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
- if FFI_SIZEOF_JAVA_RAW == 4.
- (ffi_java_raw_to_rvalue): Same.
- (ffi_java_raw_call): Change type of raw to ffi_java_raw.
- (ffi_java_translate_args): Same.
- (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
- parameter types.
- * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
- pointer values.
-
-2007-12-01 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/31937
- * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
- Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
- * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
- set the NUM_FPR_ARG_REGISTERS according to.
- Add support for potential soft-float support under hard-float
- architecture.
- (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
- FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
- to the FFI_LINUX_SOFT_FLOAT ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Make sure not to store float/double
- on archs where __NO_FPRS__ is true.
- Add FFI_TYPE_UINT128 support.
- * src/powerpc/sysv.S: Add support for soft-float long-double-128.
- Adjust copyright notice.
-
-2007-11-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
- * include/ffi_common.h: ... here.
- Update copyright.
-
-2007-11-17 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
- * testsuite/libffi.call/return_ldl.c: New test.
-
-2007-09-04 <aph@redhat.com>
-
- * src/arm/sysv.S (UNWIND): New.
- (Whole file): Conditionally compile unwinder directives.
- * src/arm/sysv.S: Add unwinder directives.
-
- * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
- Only treat r0 as a struct address if we're actually returning a
- struct by address.
- Only copy the bytes that are actually within a struct.
- (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
- is returned in r0, not passed by address.
- (ffi_call): Allocate a word-sized temporary for the case where
- a composite is returned in r0.
- (ffi_prep_incoming_args_SYSV): Align as necessary.
-
-2007-08-05 Steven Newbury <s_j_newbury@yahoo.co.uk>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
- directly using the sys_cacheflush syscall.
-
-2007-07-27 Andrew Haley <aph@redhat.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
-
-2007-09-03 Maciej W. Rozycki <macro@linux-mips.org>
-
- * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure: Likewise.
-
-2007-08-24 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/return_sl.c: New test.
-
-2007-08-10 David Daney <ddaney@avtrex.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/nested_struct5.c,
- testsuite/libffi.call/cls_double.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/nested_struct.c,
- testsuite/libffi.call/cls_2byte.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_sint16.c,
- testsuite/libffi.call/cls_align_uint32.c,
- testsuite/libffi.call/cls_20byte.c,
- testsuite/libffi.call/cls_float.c,
- testsuite/libffi.call/nested_struct2.c,
- testsuite/libffi.call/cls_5_1_byte.c,
- testsuite/libffi.call/nested_struct4.c,
- testsuite/libffi.call/cls_24byte.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: Remove xfail for mips64*-*-*.
-
-2007-08-10 David Daney <ddaney@avtrex.com>
-
- 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.
-
-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*.
- * 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.
-
-2006-12-13 Andreas Tobler <a.tobler@schweiz.org>
-
- * aclocal.m4: Regenerate with aclocal -I .. as written in the
- Makefile.am.
-
-2006-10-31 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
- (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
- Darwin.
- * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
- * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10 Paolo Bonzini <bonzini@gnu.org>
- Sandro Tolaini <tolaini@libero.it>
-
- * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
- conditional.
- * configure: Regenerated.
- * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
- (EXTRA_DIST): Add src/x86/darwin.S.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
- X86_WIN32, and additionally align stack to 16 bytes.
- * src/x86/darwin.S: New, based on sysv.S.
- * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12 David Daney <ddaney@avtrex.com>
-
- PR libffi/23935
- * include/Makefile.am: Install both ffi.h and ffitarget.h in
- $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
- * aclocal.m4: Regenerated for automake 1.9.6.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
-2006-08-17 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h: Remove lint directives.
- * include/ffi.h.in: Likewise.
-
-2006-07-25 Torsten Schoenfeld <kaffeetisch@gmx.de>
-
- * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
- for 32-bit architectures.
- * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
- xfail remains for mips64.
-
-2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
-
- * Makefile.am: Add install-html target. Add install-html to .PHONY
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
- stack slot.
-
-2006-04-22 Andreas Tobler <a.tobler@schweiz.ch>
-
- * README: Remove notice about 'Crazy Comments'.
- * src/debug.c: Remove lint directives. Cleanup white spaces.
- * src/java_raw_api.c: Likewise.
- * src/prep_cif.c: Likewise.
- * src/raw_api.c: Likewise.
- * src/ffitest.c: Delete. No longer needed, all test cases migrated
- to the testsuite.
- * src/arm/ffi.c: Remove lint directives.
- * src/m32r/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/sh/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/pa/hpux32.S: Correct unwind offset calculation for
- ffi_closure_pa32.
- * src/pa/linux.S: Likewise.
-
-2006-04-12 James E Wilson <wilson@specifix.com>
-
- PR libgcj/26483
- * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
- (hfa_type_load): Call stf_spill.
- (hfa_type_store): Call ldf_fill.
- (ffi_call): Adjust calls to above routines. Add local temps for
- macro result.
-
-2006-04-10 Matthias Klose <doko@debian.org>
-
- * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
- directory names containing underscores.
-
-2006-04-07 James E Wilson <wilson@specifix.com>
-
- * testsuite/libffi.call/float4.c: New testcase.
-
-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.
-
-2006-03-24 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Default
- for 32-bit using IBM extended double format. Fix FFI_LAST_ABI.
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
- FFI_TYPE_LONGDOUBLE.
- (ffi_prep_args64): Assert using IBM extended double.
- (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
- Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
- (ffi_call): Handle FFI_LINUX.
- (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
- gpr3 return pointer as for struct return. Handle FFI_LINUX
- FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf"
- unnecessarily.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
- for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table.
- Don't use r6 as pointer to results, instead use sp offset. Don't
- make a special call to load lr with case table address, instead
- use offset from previous call.
- * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
- return.
-
-2006-03-15 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
- passed with FP registers correctly.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S: Likewise.
-
-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.
-
-2006-02-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
- -O2, -O3, -Os and the warning flags -W -Wall.
- * testsuite/libffi.special/special.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
- unused parameter unused for gcc or else do nothing.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
- * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
- * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
- * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
- * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
- * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
- * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
- * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
- * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
- void* to avoid compiler warning.
- (main): Likewise.
- (cls_struct_align_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
- * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
- * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
- userdata unused.
- (cls_ret_schar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
- userdata unused.
- (cls_ret_sint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
- userdata unused.
- (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn): Mark cif and
- userdata unused.
- (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
- userdata unused.
- (cls_ret_uint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
- userdata unused.
- (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
- * testsuite/libffi.call/float1.c (main): Remove unused variable i.
- Cleanup white spaces.
- * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
- * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
- cif and userdata unused.
- * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
- Likewise.
- * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
- formatters to silence gcc.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct4.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct6.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
- * testsuite/libffi.call/problem1.c (stub): Likewise.
- * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
- gcc.
- * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
- in the last commit for this test case in the test case itself.
- * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
- unused.
- * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
- * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
- * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
- * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
- * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
- * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Fix register numbers in the FDE for
- ffi_closure_SYSV.
-
-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.
-
-2006-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
- and cast integer to void * if needed. Update the pointer to
- the FP register saved area correctly.
-
-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.
-
-2006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/return_dbl.c: New test case.
- * testsuite/libffi.call/return_dbl1.c: Likewise.
- * testsuite/libffi.call/return_dbl2.c: Likewise.
- * testsuite/libffi.call/return_fl.c: Likewise.
- * testsuite/libffi.call/return_fl1.c: Likewise.
- * testsuite/libffi.call/return_fl2.c: Likewise.
- * testsuite/libffi.call/return_fl3.c: Likewise.
- * testsuite/libffi.call/closure_fn6.c: Likewise.
-
- * 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.
-
-2006-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.ac: Enable libffi for sparc64-*-freebsd*.
- * configure: Rebuilt.
-
-2006-01-18 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
- instead do the shifting inline.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
- shift count unconditionally. Simplify load sequences for 1, 2, 3, 4
- and 8 byte structs, for the remaining struct sizes don't call
- __lshrdi3, instead do the shifting inline.
-
-2005-12-07 Thiemo Seufer <ths@networkno.de>
-
- * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
- missing parentheses.
- * src/mips/o32.S (ffi_call_O32): Code formatting. Define
- and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
- (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
- A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
- V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
- FA_0_0_OFF2.
- * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
- endianness bugs.
- (ffi_prep_closure): Improve trampoline instruction scheduling.
- (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c: Formatting.
- (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
- (ffi_prep_args64): Likewise.
-
-2005-09-30 Geoffrey Keating <geoffk@apple.com>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
- darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26 Tom Tromey <tromey@redhat.com>
-
- * 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.
-
-2005-08-25 Alan Modra <amodra@bigpond.net.au>
-
- PR target/23404
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
- homed fp args.
- (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11 Jakub Jelinek <jakub@redhat.com>
-
- * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
- (AH_BOTTOM): Add FFI_HIDDEN definition.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * src/powerpc/ffi.c (hidden): Remove.
- (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
- ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
- .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
- * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
- add FFI_HIDDEN to its prototype.
- (ffi_closure_SYSV_inner): New.
- * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
- * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10 Alfred M. Szmidt <ams@gnu.org>
-
- PR libffi/21819:
- * configure: Rebuilt.
- * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
- DW_CFA_offset_extended_sf rather than
- DW_CFA_GNU_negative_offset_extended.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
-
- * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
- on sh3.
- (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
- * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
- partially on register.
- (ffi_closure_helper_SYSV): Likewise.
- (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_call): Handle small structures correctly.
- Remove empty line.
- * src/sh64/ffi.c (simple_type): Remove.
- (return_type): Handle small structures correctly.
- (ffi_prep_args): Likewise.
- (ffi_call): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
- Emit position independent code if PIC and remove wrong datalabel
- prefixes from EH data.
-
-2005-07-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure.ac: Add POWERPC_FREEBSD rules.
- * configure: Regenerate.
- * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
- (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
- * src/powerpc/ffi.c: Add flags to handle small structure returns
- in ffi_call_SYSV.
- (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
- Aka FFI_SYSV.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Add return types for small structures.
- * src/powerpc/sysv.S: Add bits to handle small structures for
- final SYSV 4 ABI.
-
-2005-07-10 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_5_1_byte.c: New test file.
- * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05 Randolph Chung <tausq@debian.org>
-
- * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
- as FFI_TYPE_SMALL_STRUCT3. Break out handling for 5-7 byte
- structures. Kill compilation warnings.
- (ffi_closure_inner_LINUX): Print return values as hex in debug
- message. Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
- Properly handle 5-7 byte structure returns.
- * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
- (FFI_TYPE_SMALL_STRUCT2): Remove.
- (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
- (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
- * src/pa/linux.S: Mark source file as using PA1.1 assembly.
- (checksmst1, checksmst2): Remove.
- (checksmst3): Optimize handling of 3-byte struct returns.
- (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libgcj/21943
- * src/mips/n32.S: Enforce PIC code.
- * src/mips/o32.S: Likewise.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
- * configure: Regenerate.
-
-2005-06-01 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
- to call ffi_closure_helper_SYSV. Append @local instead.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
- Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
- * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
- * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
- include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-05-08 Richard Henderson <rth@redhat.com>
-
- PR libffi/21285
- * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04 Andreas Degert <ad@papyrus-gmbh.de>
- Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
- bit 11 of flags.
- (ffi_call): Mask return type field. Pass ssecount to ffi_call_unix64.
- (ffi_prep_closure): Set carry bit if sse-used flag set.
- * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
- Only load sse registers if ssecount non-zero.
- (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
- powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
- * configure: Regenerate.
-
-2005-04-20 Hans-Peter Nilsson <hp@axis.com>
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
- have Tcl8.3-compatible intermediate variable.
-
-2005-04-18 Simon Posnjak <simon.posnjak@siol.net>
- Hans-Peter Nilsson <hp@axis.com>
-
- * Makefile.am: Add CRIS support.
- * configure.ac: Likewise.
- * Makefile.in, configure, testsuite/Makefile.in,
- include/Makefile.in: Regenerate.
- * src/cris: New directory.
- * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
- * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
- \r?\n in output tests.
-
-2005-04-12 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-03-30 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30 Steve Ellcey <sje@cup.hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
- (ffi_sarg) Ditto.
- * src/ia64/unix.S (ffi_closure_unix): Extend gp
- to 64 bits in ILP32 mode.
- Load 64 bits even for short data.
-
-2005-03-23 Mike Stump <mrs@apple.com>
-
- * src/powerpc/darwin.S: Update for -m64 multilib.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21 Zack Weinberg <zack@codesourcery.com>
-
- * 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.
-
-2005-02-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
- odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR libffi/20104
- * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11 Janis Johnson <janis187@us.ibm.com>
-
- * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
- * testsuite/libffi.call/float.c: Ditto.
- * testsuite/libffi.call/float2.c: Ditto.
- * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * testsuite/libffi.special/special.exp (cxx_options): Add
- -shared-libgcc.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
- (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
- offset parameters with a type parameter; deduce size and structure
- alignment. Update all users.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
- (FFI_TYPE_LONGDOUBLE): Fix for ia64.
- * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
- into ffi_prep_closure.
- * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
- from scratch.
-
-2004-12-27 Richard Henderson <rth@redhat.com>
-
- * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25 Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
- (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
- (merge_classes): Check for it.
- (SSE_CLASS_P): New.
- (classify_argument): Pass byte_offset by value; perform all updates
- inside struct case.
- (examine_argument): Add classes argument; handle
- X86_64_COMPLEX_X87_CLASS.
- (ffi_prep_args): Merge into ...
- (ffi_call): ... here. Share stack frame with ffi_call_unix64.
- (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
- (ffi_fill_return_value): Remove.
- (ffi_prep_closure): Remove dead assert.
- (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
- Rewrite to use struct register_args instead of va_list. Create
- flags for handling structure returns.
- * src/x86/unix64.S: Remove dead strings.
- (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share
- stack frame with ffi_call. Handle structure returns properly.
- (float2sse, floatfloat2sse, double2sse): Remove.
- (sse2float, sse2double, sse2floatfloat): Remove.
- (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite
- to handle structure returns properly.
-
-2004-12-08 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
- PICFLAG.
- * Makefile.in: Regenerated.
-
-2004-12-02 Richard Sandiford <rsandifo@redhat.com>
-
- * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
- * configure, aclocal.m4, Makefile.in: Regenerate.
- * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-25 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool reversion.
-
-2004-11-24 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23 Richard Sandiford <rsandifo@redhat.com>
-
- * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
- of jal. Use an absolute encoding for the frame information.
-
-2004-11-23 Kelley Cook <kcook@gcc.gnu.org>
-
- * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS.
- * acinclude.m4: Delete logic for sincludes.
- * aclocal.m4, Makefile.in, configure: Regenerate.
- * include/Makefile: Likewise.
- * testsuite/Makefile: Likewise.
-
-2004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
- on a 8-byte boundary.
- * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
- long long values. Round stack allocation to a multiple of 8 bytes
- for ATPCS compatibility.
- * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
- names. Handle returning long long types. Add Thumb and interworking
- support. Improve soft-float code.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
- (libffi_exit): New function.
- (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR other/18138
- * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
- * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
- the function returning a structure pointed with R2.
- * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
- the structure return value if T bit set. Emit position
- independent code and EH data if PIC.
-
-2004-10-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * Makefile.am: Add m32r support.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * confiugre: Regenerate.
- * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
- (uint64, sint64, double, longdouble)
- * src/m32r: New directory.
- * src/m32r/ffi.c: New file.
- * src/m32r/sysv.S: Likewise.
- * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * testsuite/libffi.call/negint.c: New test case.
-
-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.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/many_win32.c: Remove whitespaces.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
- whitespaces.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Fix comments and identation.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
- (ffi_prep_args): Handle longdouble arguments.
- (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
- longdouble.
- (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
- * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
- values.
- * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
- * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/aix.S: Remove whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
- * src/powerpc/asm.h: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffitarget.h: Likewise.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
-
-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.in: Read configure.host.
- * 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 shouldn't 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.
-
-2004-08-24 David Daney <daney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
- to zero.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23 David Daney <daney@avtrex.com>
-
- PR libgcj/13141
- * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
- * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
- (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
- parameters and return types.
- (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
- (ffi_prep_closure): Ditto.
- (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
- alignment calculations.
- * src/mips/o32.S (ffi_closure_O32): Don't use floating point
- instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14 Casey Marshall <csm@gnu.org>
-
- * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
- contain `FFI_TYPE_UINT64' as return type for any 64-bit
- integer (O32 ABI only).
- (ffi_prep_closure): new function.
- (ffi_closure_mips_inner_O32): new function.
- * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
- `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
- * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
- 64 bit integers correctly.
- (ffi_closure_O32): new function.
- Added DWARF-2 unwind info for both functions.
-
-2004-08-10 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01 Robert Millan <robertmh@gnu.org>
-
- * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
- * configure: Regenerate.
-
-2004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
-
- * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
- and mmap() explicitly instead of relying on preset autoconf cache
- variables.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
- (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
- character on Darwin, use '\n\t' instead.
-
-2004-06-26 Matthias Klose <doko@debian.org>
-
- * libtool-version: Fix typo in revision/age.
-
-2004-06-17 Matthias Klose <doko@debian.org>
-
- * libtool-version: New.
- * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
- * Makefile.in: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * Makefile.am: Remove useless multilib rules.
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate with automake 1.8.5.
- * configure.ac: Remove useless multilib configury.
- * configure: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * .cvsignore: New file.
-
-2004-06-10 Jakub Jelinek <jakub@redhat.com>
-
- * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
- fp_done.
- (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
- changed from 8.
-
-2004-06-06 Sean McNeil <sean@mcneil.com>
-
- * configure.ac: Add x86_64-*-freebsd* support.
- * configure: Regenerate.
-
-2004-04-26 Joe Buck <jbuck@welsh-buck.org>
-
- Bug 15093
- * configure.ac: Test for existence of mmap and sys/mman.h before
- checking blacklist. Fix suggested by Jim Wilson.
- * configure: Regenerate.
-
-2004-04-26 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
- FDE location.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
- error. Reported by Thomas Heller <theller@python.net>.
- * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20 Matthias Klose <doko@debian.org>
-
- * src/pa/linux.S: Fix typo.
-
-2004-03-19 Matthias Klose <doko@debian.org>
-
- * Makefile.am: Update.
- * Makefile.in: Regenerate.
- * src/pa/ffi.h.in: Remove.
- * src/pa/ffitarget.h: New file.
-
-2004-02-10 Randolph Chung <tausq@debian.org>
-
- * Makefile.am: Add PA support.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * configure.ac: Add PA target.
- * configure: Regenerate.
- * src/pa/ffi.c: New file.
- * src/pa/ffi.h.in: Add PA support.
- * src/pa/linux.S: New file.
- * prep_cif.c: Add PA support.
-
-2004-03-16 Hosaka Yuji <hos@tamanegi.org>
-
- * src/types.c: Fix alignment size of X86_WIN32 case int64 and
- double.
- * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
- with ecif->cif->flags.
- (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
- with cif->flags.
- (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
- (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
- * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
- sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.in: Rename file to ...
- * configure.ac: ... this.
- * fficonfig.h.in: Regenerate.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2004-03-12 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Fix EH information so it corresponds to
- changes in EH format resulting from addition of linkonce support.
- * src/powerpc/darwin_closure.S: Likewise.
-
-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.
-
-2004-03-11 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
- arguments from fp registers only for the first 8 parameter slots.
- Don't convert a float parameter when passed in memory.
-
-2004-03-09 Hans-Peter Nilsson <hp@axis.com>
-
- * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
-
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
- ecif->cif->bytes to bytes.
- (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
- * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
- (ffi_closure_helper_LINUX64): Fix typo.
- * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
- for powerpc64-*-*.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
- long double function return and long double arg handling.
- (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
- Use "end_pfr" instead of "nf". Correct long double handling.
- Localise "temp".
- * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
- return value.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
- space for long double return value. Adjust stack frame and offsets.
- Load f2 long double return.
-
-2004-02-07 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
- when the structure return address is passed in %o0.
- (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
- (ffi_v9_layout_struct): Align the field following a nested structure
- on a word boundary. Use memmove instead of memcpy.
- (ffi_call): Update call to ffi_V9_return_struct.
- (ffi_prep_closure): Define 'ctx' only for V8.
- (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
- and ffi_closure_sparc_inner_v9.
- (ffi_closure_sparc_inner_v8): Return long doubles by reference.
- Always skip the structure return address. For structures and long
- doubles, copy the argument directly.
- (ffi_closure_sparc_inner_v9): Skip the structure return address only
- if required. Shift the maximum floating-point slot accordingly. For
- big structures, copy the argument directly; otherwise, left-justify the
- argument and call ffi_v9_layout_struct to lay out the structure on
- the stack.
- * src/sparc/v8.S: Undef STACKFRAME before defining it.
- (ffi_closure_v8): Pass the structure return address. Update call to
- ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
- Skip the 'unimp' insn when returning long doubles and structures.
- * src/sparc/v9.S: Undef STACKFRAME before defining it.
- (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
- FFI_TYPE_INT handling. Load structures both in integers and
- floating-point registers on return.
- * README: Update status of the SPARC port.
-
-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.
-
-2004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
-
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
- value as of type ffi_arg, not unsigned int.
-
-2004-01-21 Michael Ritzert <ritzert@t-online.de>
-
- * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
- of the LHS.
-
-2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
- Solaris.
-
-2004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
- to void *.
-
-2003-12-10 Richard Henderson <rth@redhat.com>
-
- * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
- size_t instead of int.
-
-2003-12-04 Hosaka Yuji <hos@tamanegi.org>
-
- * testsuite/libffi.call/many_win32.c: Include <float.h>.
- * testsuite/libffi.call/many_win32.c (main): Replace variable
- int i with unsigned long ul.
-
- * testsuite/libffi.call/cls_align_uint64.c: New test case.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02 Hosaka Yuji <hos@tamanegi.org>
-
- PR other/13221
- * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
- Align arguments to 32 bits.
-
-2003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR other/13221
- * testsuite/libffi.call/cls_multi_sshort.c: New test case.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-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.
-
-2003-11-21 Andreas Jaeger <aj@suse.de>
- Andreas Tobler <a.tobler@schweiz.ch>
-
- * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
- * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
- * Makefile.in: Rebuilt.
- * aclocal.m4: Likewise.
- * configure: Likewise.
- * fficonfig.h.in: Likewise.
- * testsuite/lib/libffi-dg.exp: Add include dir.
- * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
- for ffi_closure if available.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
- Add -lgcc_s to additional flags.
-
-2003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.in, include/Makefile.am: PR libgcj/11147, install
- the ffitarget.h header file in a gcc versioned and target
- dependent place.
- * configure: Regenerated.
- * Makefile.in, include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Print result and check
- with dg-output to make debugging easier.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
- static.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_9byte2.c: New test case.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_double.c: Do a check on the result.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/prep_cif.c (ffi_prep_cif): Move the validity check after
- the initialization.
-
-2003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
- FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
- __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-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
-
-2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
- _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
- Used when FFI_DEBUG = 1.
-
-2003-10-14 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
- and align.
-
-2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
- FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
- SPARC64. Cleanup whitespaces.
-
-2003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
- strongarm, xscale. Cleanup whitespaces.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Cleanup whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
- * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
- parameter stack.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
- according to the Darwin/AIX ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_DARWIN): Likewise.
- Remove the outgoing parameter stack logic. Simplify the evaluation
- of the different CASE types.
- (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
- statement in the trampoline code.
-
-2003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
- for the register size.
- (ffi_closure_helper_SYSV): Handle the structure return value
- address correctly.
- (ffi_closure_helper_SYSV): Return the appropriate type when
- the registers are used for the structure return value.
- * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
- the 64-bit return value. Update copyright years.
-
-2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
- srcdir for ffi_mips.h.
-
-2003-09-12 Alan Modra <amodra@bigpond.net.au>
-
- * src/prep_cif.c (initialize_aggregate): Include tail padding in
- structure size.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
- placement of float result.
- * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
- cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Merge identical SH and ARM
- typedefs, and add POWERPC64.
- * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
- struct split over gpr and rest.
- (ffi_prep_cif_machdep): Correct intarg_count for structures.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
- passing correctly.
-
-2003-09-09 Alan Modra <amodra@bigpond.net.au>
-
- * configure: Regenerate.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Remove build rules for ffitest.
- * Makefile.in: Rebuilt.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
- about implicit declaration of abort().
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
- * Makefile.in: Rebuilt.
- * configure.in: Add dejagnu test framework.
- * configure: Rebuilt.
-
- * testsuite/Makefile.am: New file.
- * testsuite/Makefile.in: Built
- * testsuite/lib/libffi-dg.exp: New file.
- * testsuite/config/default.exp: Likewise.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Likewise.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float1.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/many.c: Likewise.
- * testsuite/libffi.call/many_win32.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
- * testsuite/libffi.call/strlen.c: Likewise.
- * testsuite/libffi.call/strlen_win32.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
- * testsuite/libffi.call/struct2.c: Likewise.
- * testsuite/libffi.call/struct3.c: Likewise.
- * testsuite/libffi.call/struct4.c: Likewise.
- * testsuite/libffi.call/struct5.c: Likewise.
- * testsuite/libffi.call/struct6.c: Likewise.
- * testsuite/libffi.call/struct7.c: Likewise.
- * testsuite/libffi.call/struct8.c: Likewise.
- * testsuite/libffi.call/struct9.c: Likewise.
- * testsuite/libffi.special/special.exp: New file.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
- copyright years.
-
-2003-08-02 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
- structure passing.
- (ffi_closure_helper_LINUX64): Likewise.
- * src/powerpc/linux64.S: Remove code writing to parm save area.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
- address in lr from ffi_closure_helper_LINUX64 call to calculate
- table address. Optimize function tail.
-
-2003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/sparc/ffi.c: Handle all floating point registers.
- * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
-
- * README: Note that libffi is not part of GCC. Update the project
- URL and status.
-
-2003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
- Use C style comments.
-
-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
- should be read-only.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * include/ffi.h.in (EH_FRAME_FLAGS): Define.
- * src/alpha/osf.S: Use EH_FRAME_FLAGS.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
- * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
- if -fpic/-fPIC/-mrelocatable.
- * src/powerpc/powerpc_closure.S: Likewise.
- * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
- #write in .eh_frame flags.
- * src/sparc/v9.S: Likewise.
- * src/x86/unix64.S: Use EH_FRAME_FLAGS.
- * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
- * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
-
-2003-05-07 Jeff Sturm <jsturm@one-point.com>
-
- Fixes PR bootstrap/10656
- * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
- support for .register pseudo-op.
- * src/sparc/v8.S: Use it.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2003-04-18 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (POWERPC64): Define if 64-bit.
- (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
- Make it the default on POWERPC64.
- (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
- * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
- * configure: Rebuilt.
- * src/powerpc/ffi.c (hidden): Define.
- (ffi_prep_args_SYSV): Renamed from
- ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
- (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
- ASM_NEEDS_REGISTERS64): New.
- (ffi_prep_args64): New function.
- (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
- (ffi_call): Likewise.
- (ffi_prep_closure): Likewise.
- (flush_icache): Surround by #ifndef POWERPC64.
- (ffi_dblfl): New union type.
- (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
- (ffi_closure_helper_LINUX64): New function.
- * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
- __powerpc64__.
- * src/powerpc/sysv.S: Likewise.
- (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
- * src/powerpc/linux64.S: New file.
- * src/powerpc/linux64_closure.S: New file.
- * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
- src/powerpc/linux64_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
- * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
- closure_test_fn3): Fix result printing on big-endian 64-bit
- machines.
- (main): Print tst2_arg instead of uninitialized tst2_result.
-
- * src/ffitest.c (main): Hide what closure pointer really points to
- from the compiler.
-
-2003-04-16 Richard Earnshaw <rearnsha@arm.com>
-
- * configure.in (arm-*-netbsdelf*): Add configuration.
- (configure): Regenerated.
-
-2003-04-04 Loren J. Rittle <ljrittle@acm.org>
-
- * include/Makefile.in: Regenerate.
-
-2003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
-
- * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
- bit mode.
- * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
- Receive closure pointer through parameter, read args using
- __builtin_dwarf_cfa.
- (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12 Andreas Schwab <schwab@suse.de>
-
- * configure.in: Avoid trailing /. in toolexeclibdir.
- * configure: Rebuilt.
-
-2003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/powerpc/darwin_closure.S:
- Fix alignement bug, allocate 8 bytes for the result.
- * libffi/src/powerpc/aix_closure.S:
- Likewise.
- * libffi/src/powerpc/ffi_darwin.c:
- Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06 Jakub Jelinek <jakub@redhat.com>
-
- * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
- attribute.
-
-2003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
- Andreas Schwab <schwab@suse.de>
-
- * configure.in: Adjust command to source config-ml.in to account
- for changes to the libffi_basedir definition.
- (libffi_basedir): Remove ${srcdir} from value and include trailing
- slash if nonempty.
-
- * configure: Regenerate.
-
-2003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
- * src/x86/ffi64.c (ffi_prep_closure): New.
- (ffi_closure_UNIX64_inner): New.
- * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
- Remove USE_LIBDIR conditional.
- * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
- * Makefile.in, configure: Rebuilt.
-
-2003-01027 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
- * Makefile.in: Regenerate.
-
-2003-01-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
- unwind info.
-
-2003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Add unwind info.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
- (ffi_prep_cif_machdep): Likewise.
- * src/x86/unix64.S: Add unwind info.
-
-2003-01-14 Andreas Jaeger <aj@suse.de>
-
- * src/ffitest.c (main): Only use ffi_closures if those are
- supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/ffitest.c
- add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
- * libffi/src/powerpc/ffi.c
- fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c: Remove RCS version string.
- * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
- * src/ffitest.c (main): Use static storage for closure.
- * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
- * src/sparc/v8.S (ffi_closure_v8): New.
- * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10 Ranjit Mathew <rmathew@hotmail.com>
-
- * include/ffi.h.in: Added FFI_STDCALL ffi_type
- enumeration for X86_WIN32.
- * src/x86/win32.S: Added ffi_call_STDCALL function
- definition.
- * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
- switch cases for recognising FFI_STDCALL and
- calling ffi_call_STDCALL if target is X86_WIN32.
- * src/ffitest.c (my_stdcall_strlen/stdcall_many):
- stdcall versions of the "my_strlen" and "many"
- test functions (for X86_WIN32).
- Added test cases to test stdcall invocation using
- these functions.
-
-2002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26 Jim Wilson <wilson@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23 H.J. Lu <hjl@gnu.org>
-
- * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
- Include ../config/accross.m4.
- * aclocal.m4; Rebuild.
- * configure: Likewise.
-
-2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11 DJ Delorie <dj@redhat.com>
-
- * configure.in: Look for common files in the right place.
-
-2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
- raw data as _Jv_word values, not ffi_raw.
- (ffi_java_ptrarray_to_raw): Likewise.
- (ffi_java_rvalue_to_raw): New function.
- (ffi_java_raw_call): Call it.
- (ffi_java_raw_to_rvalue): New function.
- (ffi_java_translate_args): Call it.
- * src/ffitest.c (closure_test_fn): Interpret return value
- as ffi_arg, not int.
- * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
- FFI_TYPE_POINTER case.
- (ffi_closure_helper_SYSV): Likewise. Also, assume return
- values extended to word size.
-
-2002-10-02 Andreas Jaeger <aj@suse.de>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01 Bo Thorsen <bo@smetana.suse.de>
-
- * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
-
- * configure.in: Add s390x-*-linux-* target.
- * configure: Regenerate.
- * include/ffi.h.in: Define S390X for s390x targets.
- (FFI_CLOSURES): Define for s390/s390x.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
- * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
- * src/s390/ffi.c: Major rework of existing code. Add support for
- s390x targets. Add closure support.
- * src/s390/sysv.S: Likewise.
-
-2002-09-29 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: Fix typo.
-
-2002-09-28 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
- has defined __USER_LABEL_PREFIX__, then use it in CNAME.
- (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27 Bo Thorsen <bo@suse.de>
-
- * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * configure.in (sh[34]*-*-linux*): Add brackets.
- * configure: Regenerate.
-
-2002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * Makefile.am: Add SH support.
- * Makefile.in: Regenerate.
- * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
- * configure: Regenerate.
- * include/ffi.h.in: Add SH support.
- * src/sh/ffi.c: New file.
- * src/sh/sysv.S: New file.
- * src/types.c: Add SH support.
-
-2002-07-16 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi64.c: New file that adds x86-64 support.
- * src/x86/unix64.S: New file that handles argument setup for
- x86-64.
- * src/x86/sysv.S: Don't use this on x86-64.
- * src/x86/ffi.c: Don't use this on x86-64.
- Remove unused vars.
- * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
- for x86-64.
- * src/ffitest.c (struct6): New test that tests a special case in
- the x86-64 ABI.
- (struct7): Likewise.
- (struct8): Likewise.
- (struct9): Likewise.
- (closure_test_fn): Silence warning about this when it's not used.
- (main): Add the new tests.
- (main): Fix a couple of wrong casts and silence some compiler warnings.
- * include/ffi.h.in: Add x86-64 ABI definition.
- * fficonfig.h.in: Regenerate.
- * Makefile.am: Add x86-64 support.
- * configure.in: Likewise.
- * Makefile.in: Regenerate.
- * configure: Likewise.
-
-2002-06-24 Bo Thorsen <bo@suse.de>
-
- * src/types.c: Merge settings for similar architectures.
- Add x86-64 sizes and alignments.
-
-2002-06-23 Bo Thorsen <bo@suse.de>
-
- * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
- * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
- * src/mips/ffi.c (ffi_prep_args): Likewise.
- * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18 H.J. Lu (hjl@gnu.org)
-
- * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
- (libffi_la_SOURCES): Support MIPS_LINUX.
- (libffi_convenience_la_SOURCES): Likewise.
- * Makefile.in: Regenerated.
-
- * configure.in (mips64*-*): Skip.
- (mips*-*-linux*): New.
- * configure: Regenerated.
-
- * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
-
-2002-05-27 Roger Sayle <roger@eyesopen.com>
-
- * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
- fix formatting.
-
-2002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
- beginning of function (for older apple cc).
-
-2002-05-08 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
- script entry, and set LD to it when configuring multilibs.
- * configure: Rebuilt.
-
-2002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (sparc64-*-netbsd*): Add target.
- (sparc-*-netbsdelf*): Likewise.
- * configure: Regenerate.
-
-2002-04-28 David S. Miller <davem@redhat.com>
-
- * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
-
- * Makefile.am: Add Linux for S/390 support.
- * Makefile.in: Regenerate.
- * configure.in: Add Linux for S/390 support.
- * configure: Regenerate.
- * include/ffi.h.in: Add Linux for S/390 support.
- * src/s390/ffi.c: New file from libffi CVS tree.
- * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
- %r_disp32().
- * src/sparc/v8.S: Use it.
- * src/sparc/v9.S: Likewise.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2002-04-08 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
- correctly.
- * src/ia64/unix.S: Add unwind information. Fix comments.
- Save sp in a way that's compatible with unwind info.
- (ffi_call_unix): Correctly restore sp in all cases.
- * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08 Jakub Jelinek <jakub@redhat.com>
-
- * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (alpha*-*-netbsd*): Add target.
- * configure: Regenerate.
-
-2002-04-04 Jeff Sturm <jsturm@one-point.com>
-
- * src/sparc/v8.S: Add unwind info.
- * src/sparc/v9.S: Likewise.
-
-2002-03-30 Krister Walfridsson <cato@df.lth.se>
-
- * configure.in: Enable i*86-*-netbsdelf*.
- * configure: Rebuilt.
-
-2002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
-
- PR other/2620
- * src/mips/n32.s: Delete
- * src/mips/o32.s: Delete
-
-2002-03-21 Loren J. Rittle <ljrittle@acm.org>
-
- * configure.in: Enable alpha*-*-freebsd*.
- * configure: Rebuilt.
-
-2002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * Makefile.am: libfficonvenience -> libffi_convenience.
- * Makefile.in: Rebuilt.
-
- * Makefile.am: Define ffitest_OBJECTS.
- * Makefile.in: Rebuilt.
-
-2002-03-07 Andreas Tobler <toa@pop.agri.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
- (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
- (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
- * Makefile.in: Regenerate.
- * include/ffi.h.in: Add AIX and Darwin closure definitions.
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
- (flush_icache, flush_range): New functions.
- (ffi_closure_helper_DARWIN): New function.
- * src/powerpc/aix_closure.S: New file.
- * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add typedef for ffi_arg.
- * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21 Andreas Tobler <toa@pop.agri.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
- number of GPRs for floating-point arguments.
-
-2002-01-31 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Replace CHECK_SIZEOF and endian tests with
- cross-compiler friendly macros.
- * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
- macros.
-
-2002-01-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): New.
- * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
- (TARGET_SRC_POWERPC_AIX): New.
- (POWERPC_AIX): New stanza.
- * Makefile.in: Regenerate.
- * configure.in: Add AIX case.
- * configure: Regenerate.
- * include/ffi.h.in (ffi_abi): Add FFI_AIX.
- * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
- size. Fix "long double" support.
- (ffi_call): Add FFI_AIX case.
- * src/powerpc/aix.S: New.
-
-2001-10-09 John Hornkvist <john@toastedmarshmallow.com>
-
- Implement Darwin PowerPC ABI.
- * configure.in: Handle powerpc-*-darwin*.
- * Makefile.am: Set source files for POWERPC_DARWIN.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
- * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
- POWERPC_DARWIN.
- * src/powerpc/darwin.S: New file.
- * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .balign directive.
- Use C style comments.
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
- Fixes PR bootstrap/3563.
-
-2001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.in: Recognize sparc*-sun-* host.
- * configure: Regenerate.
-
-2001-06-06 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S: Add unwind info.
- * src/powerpc/sysv.S: Add unwind info.
- * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31 Jeff Sturm <jsturm@one-point.com>
-
- * configure.in: Fix AC_ARG_ENABLE usage.
- * configure: Rebuilt.
-
-2001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * configure.in: Remove warning about beta code.
- * configure: Rebuilt.
-
-2001-04-25 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/ia64/unix.S: Restore stack pointer when returning from
- ffi_closure_UNIX.
- * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18 Jim Wilson <wilson@redhat.com>
-
- * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
- to eliminate RAW DV.
-
-2001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
-
- * Makefile.am: Make a libtool convenience library.
- * Makefile.in: Rebuilt.
-
-2001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Use different syntax for subdirectory creation.
- * configure: Rebuilt.
-
-2001-03-27 Jon Beniston <jon@beniston.com>
-
- * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
- * configure: Rebuilt.
- * Makefile.am: Added X86_WIN32 target support.
- * Makefile.in: Rebuilt.
-
- * include/ffi.h.in: Added X86_WIN32 target support.
-
- * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
- * src/types.c: Added X86_WIN32 target support.
-
- * src/x86/win32.S: New file. Based on sysv.S, but with EH
- stuff removed and made to work with CygWin's gas.
-
-2001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Make target subdirectory in build dir.
- * Makefile.am: Override suffix based rules to specify correct output
- subdirectory.
- * Makefile.in: Rebuilt.
- * configure: Rebuilt.
-
-2001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
-
- * src/powerpc/ppc_closure.S: New file.
- * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
- involving long long and register pairs.
- (ffi_prep_closure): New function.
- (flush_icache): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * Makefile.in: Rebuilt.
- * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19 Tom Tromey <tromey@redhat.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02 Nick Clifton <nickc@redhat.com>
-
- * include/ffi.h.in: Remove RCS ident string.
- * include/ffi_mips.h: Remove RCS ident string.
- * src/debug.c: Remove RCS ident string.
- * src/ffitest.c: Remove RCS ident string.
- * src/prep_cif.c: Remove RCS ident string.
- * src/types.c: Remove RCS ident string.
- * src/alpha/ffi.c: Remove RCS ident string.
- * src/alpha/osf.S: Remove RCS ident string.
- * src/arm/ffi.c: Remove RCS ident string.
- * src/arm/sysv.S: Remove RCS ident string.
- * src/mips/ffi.c: Remove RCS ident string.
- * src/mips/n32.S: Remove RCS ident string.
- * src/mips/o32.S: Remove RCS ident string.
- * src/sparc/ffi.c: Remove RCS ident string.
- * src/sparc/v8.S: Remove RCS ident string.
- * src/sparc/v9.S: Remove RCS ident string.
- * src/x86/ffi.c: Remove RCS ident string.
- * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * include/ffi.h.in: Change sourceware.cygnus.com references to
- gcc.gnu.org.
-
-2000-12-09 Richard Henderson <rth@redhat.com>
-
- * src/alpha/ffi.c (ffi_call): Simplify struct return test.
- (ffi_closure_osf_inner): Index rather than increment avalue
- and arg_types. Give ffi_closure_osf the raw return value type.
- * src/alpha/osf.S (ffi_closure_osf): Handle return value type
- promotion.
-
-2000-12-07 Richard Henderson <rth@redhat.com>
-
- * src/raw_api.c (ffi_translate_args): Fix typo.
- (ffi_prep_closure): Likewise.
-
- * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
- FFI_TRAMPOLINE_SIZE.
- * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
- cif->bytes for new ffi_call_osf implementation.
- (ffi_prep_args): Absorb into ...
- (ffi_call): ... here. Do all stack allocation here and
- avoid a callback function.
- (ffi_prep_closure, ffi_closure_osf_inner): New.
- * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
- (ffi_closure_osf): New.
-
-2000-09-10 Alexandre Oliva <aoliva@redhat.com>
-
- * config.guess, config.sub, install-sh: Removed.
- * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
- * Makefile.in: Rebuilt.
-
- * acinclude.m4: Include libtool macros from the top level.
- * aclocal.m4, configure: Rebuilt.
-
-2000-08-22 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
- * configure: Rebuilt.
-
-2000-05-11 Scott Bambrough <scottb@netwinder.org>
-
- * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
- memory correctly. Use conditional instructions, not branches where
- possible.
-
-2000-05-04 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Match `arm*-*-linux-*'.
- From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (SUBDIRS): Define.
- (AM_MAKEFLAGS): Likewise.
- (Multilib support.): Add section.
- * Makefile.in: Rebuilt.
- * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
- New variables. Set for gcc using -print-multi-lib. Export them
- to libtool.
- (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
- * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
- for -shared links.
- (extra_compiler_flags_value, extra_compiler_flags): Check these
- for extra compiler options which need to be passed down in
- compiler_flags.
-
-2000-04-16 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
- Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
- * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
- Replace all void * sizeofs with sizeof(int).
- Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
- different than DOUBLE.
- Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
- (ffi_prep_args_v9): New function.
- (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
- (ffi_V9_return_struct): New function.
- (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
- 32bit code (not yet cross-arch calls).
- * src/sparc/v8.S: Add struct return delay nop.
- Handle long long.
- * src/sparc/v9.S: New file.
- * src/prep_cif.c (ffi_prep_cif): Return structure pointer
- is used on sparc64 only for structures larger than 32 bytes.
- Pass by reference for structures is done for structure arguments
- larger than 16 bytes.
- * src/ffitest.c (main): Use 64bit rint on sparc64.
- Run long long tests on sparc.
- * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
- sparc64.
- (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
- on sparc64.
- * configure.in (sparc-*-linux*): New supported target.
- (sparc64-*-linux*): Likewise.
- * configure: Rebuilt.
- * Makefile.am: Add v9.S to SPARC files.
- * Makefile.in: Likewise.
- (LINK): Surround $(CCLD) into double quotes, so that multilib
- compiles work correctly.
-
-2000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: (i*86-*-solaris*): New libffi target. Patch
- proposed by Bryce McKinlay.
-
-2000-03-20 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
-
- * config.guess, config.sub: Update from the gcc tree.
- Fix for PR libgcj/168.
-
-2000-03-03 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Fixed ia64 by hand.
-
- * configure: Rebuilt.
- * configure.in (--enable-multilib): New option.
- (libffi_basedir): New subst.
- (AC_OUTPUT): Added multilib code.
-
-2000-03-02 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
- directory name.
-
-2000-02-25 Hans Boehm <boehm@acm.org>
-
- * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
- files.
- * src/raw_api.c (ffi_translate_args): Fixed typo in argument
- list.
- (ffi_prep_raw_closure): Use ffi_translate_args, not
- ffi_closure_translate.
- * src/java_raw_api.c: New file.
- * src/ffitest.c (closure_test_fn): New function.
- (main): Define `rint' as long long on IA64. Added new test when
- FFI_CLOSURES is defined.
- * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
- (ffi_abi): Recognize IA64.
- (ffi_raw): Added `flt' field.
- Added "Java raw API" code.
- * configure.in: Recognize ia64.
- * Makefile.am (TARGET_SRC_IA64): New macro.
- (libffi_la_common_SOURCES): Added java_raw_api.c.
- (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01 Tom Tromey <tromey@cygnus.com>
-
- * include/ffi.h.in: Removed PACKAGE and VERSION defines and
- undefs.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
- * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
- Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
- * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09 Anthony Green <green@cygnus.com>
-
- * include/ffi.h.in: Try to work around messy header problem
- with PACKAGE and VERSION.
-
- * configure: Rebuilt.
- * configure.in: Change version to 2.00-beta.
-
- * fficonfig.h.in: Rebuilt.
- * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
- * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
-
- * src/x86/ffi.c (ffi_closure_SYSV): New function.
- (ffi_prep_incoming_args_SYSV): Ditto.
- (ffi_prep_closure): Ditto.
- (ffi_closure_raw_SYSV): Ditto.
- (ffi_prep_raw_closure): More ditto.
- (ffi_call_raw): Final ditto.
-
- * include/ffi.h.in: Add definitions for closure and raw API.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
- FFI_TYPE_UINT64.
-
- * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
- * src/raw_api.c: New file.
-
- * include/ffi.h.in (ffi_raw): New type.
- (UINT_ARG, SINT_ARG): New defines.
- (ffi_closure, ffi_raw_closure): New types.
- (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
- * configure.in: Add check for endianness and sizeof void*.
-
- * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
- instead of directly.
-
- * configure: Rebuilt.
-
-Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
-
- * configure.in: Add x86 and powerpc BeOS configurations.
- From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09 Anthony Green <green@cygnus.com>
-
- * configure.in: Add warning about this being beta code.
- Remove src/Makefile.am from the picture.
- * configure: Rebuilt.
-
- * Makefile.am: Move logic from src/Makefile.am. Add changes
- to support libffi as a target library.
- * Makefile.in: Rebuilt.
-
- * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
- Upgraded to new autoconf, automake, libtool.
-
- * README: Tweaks.
-
- * LICENSE: Update copyright date.
-
- * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29 Anthony Green <green@cygnus.com>
-
- * include/ChangeLog: Removed.
- * src/ChangeLog: Removed.
- * src/mips/ChangeLog: Removed.
- * src/sparc/ChangeLog: Remboved.
- * src/x86/ChangeLog: Removed.
-
- * ChangeLog.v1: Created.
diff --git a/.pc/sparc-abi-check/src/sparc/ffi.c b/.pc/sparc-abi-check/src/sparc/ffi.c
deleted file mode 100644
index f16701a..0000000
--- a/.pc/sparc-abi-check/src/sparc/ffi.c
+++ /dev/null
@@ -1,667 +0,0 @@
-/* -----------------------------------------------------------------------
- ffi.c - Copyright (c) 1996, 2003, 2004, 2007, 2008 Red Hat, Inc.
- Copyright (c) 2011 Anthony Green
-
- SPARC Foreign Function Interface
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
- ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#include <stdlib.h>
-
-
-/* ffi_prep_args is called by the assembly routine once stack space
- has been allocated for the function's arguments */
-
-void ffi_prep_args_v8(char *stack, extended_cif *ecif)
-{
- int i;
- void **p_argv;
- char *argp;
- ffi_type **p_arg;
-
- /* Skip 16 words for the window save area */
- argp = stack + 16*sizeof(int);
-
- /* This should only really be done when we are returning a structure,
- however, it's faster just to do it all the time...
-
- if ( ecif->cif->rtype->type == FFI_TYPE_STRUCT ) */
- *(int *) argp = (long)ecif->rvalue;
-
- /* And 1 word for the structure return value. */
- argp += sizeof(int);
-
-#ifdef USING_PURIFY
- /* Purify will probably complain in our assembly routine, unless we
- zero out this memory. */
-
- ((int*)argp)[0] = 0;
- ((int*)argp)[1] = 0;
- ((int*)argp)[2] = 0;
- ((int*)argp)[3] = 0;
- ((int*)argp)[4] = 0;
- ((int*)argp)[5] = 0;
-#endif
-
- p_argv = ecif->avalue;
-
- for (i = ecif->cif->nargs, p_arg = ecif->cif->arg_types; i; i--, p_arg++)
- {
- size_t z;
-
- if ((*p_arg)->type == FFI_TYPE_STRUCT
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- || (*p_arg)->type == FFI_TYPE_LONGDOUBLE
-#endif
- )
- {
- *(unsigned int *) argp = (unsigned long)(* p_argv);
- z = sizeof(int);
- }
- else
- {
- z = (*p_arg)->size;
- if (z < sizeof(int))
- {
- z = sizeof(int);
- switch ((*p_arg)->type)
- {
- case FFI_TYPE_SINT8:
- *(signed int *) argp = *(SINT8 *)(* p_argv);
- break;
-
- case FFI_TYPE_UINT8:
- *(unsigned int *) argp = *(UINT8 *)(* p_argv);
- break;
-
- case FFI_TYPE_SINT16:
- *(signed int *) argp = *(SINT16 *)(* p_argv);
- break;
-
- case FFI_TYPE_UINT16:
- *(unsigned int *) argp = *(UINT16 *)(* p_argv);
- break;
-
- default:
- FFI_ASSERT(0);
- }
- }
- else
- {
- memcpy(argp, *p_argv, z);
- }
- }
- p_argv++;
- argp += z;
- }
-
- return;
-}
-
-int ffi_prep_args_v9(char *stack, extended_cif *ecif)
-{
- int i, ret = 0;
- int tmp;
- void **p_argv;
- char *argp;
- ffi_type **p_arg;
-
- tmp = 0;
-
- /* Skip 16 words for the window save area */
- argp = stack + 16*sizeof(long long);
-
-#ifdef USING_PURIFY
- /* Purify will probably complain in our assembly routine, unless we
- zero out this memory. */
-
- ((long long*)argp)[0] = 0;
- ((long long*)argp)[1] = 0;
- ((long long*)argp)[2] = 0;
- ((long long*)argp)[3] = 0;
- ((long long*)argp)[4] = 0;
- ((long long*)argp)[5] = 0;
-#endif
-
- p_argv = ecif->avalue;
-
- if (ecif->cif->rtype->type == FFI_TYPE_STRUCT &&
- ecif->cif->rtype->size > 32)
- {
- *(unsigned long long *) argp = (unsigned long)ecif->rvalue;
- argp += sizeof(long long);
- tmp = 1;
- }
-
- for (i = 0, p_arg = ecif->cif->arg_types; i < ecif->cif->nargs;
- i++, p_arg++)
- {
- size_t z;
-
- z = (*p_arg)->size;
- switch ((*p_arg)->type)
- {
- case FFI_TYPE_STRUCT:
- if (z > 16)
- {
- /* For structures larger than 16 bytes we pass reference. */
- *(unsigned long long *) argp = (unsigned long)* p_argv;
- argp += sizeof(long long);
- tmp++;
- p_argv++;
- continue;
- }
- /* FALLTHROUGH */
- case FFI_TYPE_FLOAT:
- case FFI_TYPE_DOUBLE:
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- case FFI_TYPE_LONGDOUBLE:
-#endif
- ret = 1; /* We should promote into FP regs as well as integer. */
- break;
- }
- if (z < sizeof(long long))
- {
- switch ((*p_arg)->type)
- {
- case FFI_TYPE_SINT8:
- *(signed long long *) argp = *(SINT8 *)(* p_argv);
- break;
-
- case FFI_TYPE_UINT8:
- *(unsigned long long *) argp = *(UINT8 *)(* p_argv);
- break;
-
- case FFI_TYPE_SINT16:
- *(signed long long *) argp = *(SINT16 *)(* p_argv);
- break;
-
- case FFI_TYPE_UINT16:
- *(unsigned long long *) argp = *(UINT16 *)(* p_argv);
- break;
-
- case FFI_TYPE_SINT32:
- *(signed long long *) argp = *(SINT32 *)(* p_argv);
- break;
-
- case FFI_TYPE_UINT32:
- *(unsigned long long *) argp = *(UINT32 *)(* p_argv);
- break;
-
- case FFI_TYPE_FLOAT:
- *(float *) (argp + 4) = *(FLOAT32 *)(* p_argv); /* Right justify */
- break;
-
- case FFI_TYPE_STRUCT:
- memcpy(argp, *p_argv, z);
- break;
-
- default:
- FFI_ASSERT(0);
- }
- z = sizeof(long long);
- tmp++;
- }
- else if (z == sizeof(long long))
- {
- memcpy(argp, *p_argv, z);
- z = sizeof(long long);
- tmp++;
- }
- else
- {
- if ((tmp & 1) && (*p_arg)->alignment > 8)
- {
- tmp++;
- argp += sizeof(long long);
- }
- memcpy(argp, *p_argv, z);
- z = 2 * sizeof(long long);
- tmp += 2;
- }
- p_argv++;
- argp += z;
- }
-
- return ret;
-}
-
-/* Perform machine dependent cif processing */
-ffi_status ffi_prep_cif_machdep(ffi_cif *cif)
-{
- int wordsize;
-
- if (cif->abi != FFI_V9)
- {
- wordsize = 4;
-
- /* If we are returning a struct, this will already have been added.
- Otherwise we need to add it because it's always got to be there! */
-
- if (cif->rtype->type != FFI_TYPE_STRUCT)
- cif->bytes += wordsize;
-
- /* sparc call frames require that space is allocated for 6 args,
- even if they aren't used. Make that space if necessary. */
-
- if (cif->bytes < 4*6+4)
- cif->bytes = 4*6+4;
- }
- else
- {
- wordsize = 8;
-
- /* sparc call frames require that space is allocated for 6 args,
- even if they aren't used. Make that space if necessary. */
-
- if (cif->bytes < 8*6)
- cif->bytes = 8*6;
- }
-
- /* Adjust cif->bytes. to include 16 words for the window save area,
- and maybe the struct/union return pointer area, */
-
- cif->bytes += 16 * wordsize;
-
- /* The stack must be 2 word aligned, so round bytes up
- appropriately. */
-
- cif->bytes = ALIGN(cif->bytes, 2 * wordsize);
-
- /* Set the return type flag */
- switch (cif->rtype->type)
- {
- case FFI_TYPE_VOID:
- case FFI_TYPE_FLOAT:
- case FFI_TYPE_DOUBLE:
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- case FFI_TYPE_LONGDOUBLE:
-#endif
- cif->flags = cif->rtype->type;
- break;
-
- case FFI_TYPE_STRUCT:
- if (cif->abi == FFI_V9 && cif->rtype->size > 32)
- cif->flags = FFI_TYPE_VOID;
- else
- cif->flags = FFI_TYPE_STRUCT;
- break;
-
- case FFI_TYPE_SINT8:
- case FFI_TYPE_UINT8:
- case FFI_TYPE_SINT16:
- case FFI_TYPE_UINT16:
- if (cif->abi == FFI_V9)
- cif->flags = FFI_TYPE_INT;
- else
- cif->flags = cif->rtype->type;
- break;
-
- case FFI_TYPE_SINT64:
- case FFI_TYPE_UINT64:
- if (cif->abi == FFI_V9)
- cif->flags = FFI_TYPE_INT;
- else
- cif->flags = FFI_TYPE_SINT64;
- break;
-
- default:
- cif->flags = FFI_TYPE_INT;
- break;
- }
- return FFI_OK;
-}
-
-int ffi_v9_layout_struct(ffi_type *arg, int off, char *ret, char *intg, char *flt)
-{
- ffi_type **ptr = &arg->elements[0];
-
- while (*ptr != NULL)
- {
- if (off & ((*ptr)->alignment - 1))
- off = ALIGN(off, (*ptr)->alignment);
-
- switch ((*ptr)->type)
- {
- case FFI_TYPE_STRUCT:
- off = ffi_v9_layout_struct(*ptr, off, ret, intg, flt);
- off = ALIGN(off, FFI_SIZEOF_ARG);
- break;
- case FFI_TYPE_FLOAT:
- case FFI_TYPE_DOUBLE:
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- case FFI_TYPE_LONGDOUBLE:
-#endif
- memmove(ret + off, flt + off, (*ptr)->size);
- off += (*ptr)->size;
- break;
- default:
- memmove(ret + off, intg + off, (*ptr)->size);
- off += (*ptr)->size;
- break;
- }
- ptr++;
- }
- return off;
-}
-
-
-#ifdef SPARC64
-extern int ffi_call_v9(void *, extended_cif *, unsigned,
- unsigned, unsigned *, void (*fn)(void));
-#else
-extern int ffi_call_v8(void *, extended_cif *, unsigned,
- unsigned, unsigned *, void (*fn)(void));
-#endif
-
-void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
-{
- extended_cif ecif;
- void *rval = rvalue;
-
- ecif.cif = cif;
- ecif.avalue = avalue;
-
- /* If the return value is a struct and we don't have a return */
- /* value address then we need to make one */
-
- ecif.rvalue = rvalue;
- if (cif->rtype->type == FFI_TYPE_STRUCT)
- {
- if (cif->rtype->size <= 32)
- rval = alloca(64);
- else
- {
- rval = NULL;
- if (rvalue == NULL)
- ecif.rvalue = alloca(cif->rtype->size);
- }
- }
-
- switch (cif->abi)
- {
- case FFI_V8:
-#ifdef SPARC64
- /* We don't yet support calling 32bit code from 64bit */
- FFI_ASSERT(0);
-#else
- if (rvalue && (cif->rtype->type == FFI_TYPE_STRUCT
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- || cif->flags == FFI_TYPE_LONGDOUBLE
-#endif
- ))
- {
- /* For v8, we need an "unimp" with size of returning struct */
- /* behind "call", so we alloc some executable space for it. */
- /* l7 is used, we need to make sure v8.S doesn't use %l7. */
- unsigned int *call_struct = NULL;
- ffi_closure_alloc(32, &call_struct);
- if (call_struct)
- {
- unsigned long f = (unsigned long)fn;
- call_struct[0] = 0xae10001f; /* mov %i7, %l7 */
- call_struct[1] = 0xbe10000f; /* mov %o7, %i7 */
- call_struct[2] = 0x03000000 | f >> 10; /* sethi %hi(fn), %g1 */
- call_struct[3] = 0x9fc06000 | (f & 0x3ff); /* jmp %g1+%lo(fn), %o7 */
- call_struct[4] = 0x01000000; /* nop */
- if (cif->rtype->size < 0x7f)
- call_struct[5] = cif->rtype->size; /* unimp */
- else
- call_struct[5] = 0x01000000; /* nop */
- call_struct[6] = 0x81c7e008; /* ret */
- call_struct[7] = 0xbe100017; /* mov %l7, %i7 */
- asm volatile ("iflush %0; iflush %0+8; iflush %0+16; iflush %0+24" : :
- "r" (call_struct) : "memory");
- /* SPARC v8 requires 5 instructions for flush to be visible */
- asm volatile ("nop; nop; nop; nop; nop");
- ffi_call_v8(ffi_prep_args_v8, &ecif, cif->bytes,
- cif->flags, rvalue, call_struct);
- ffi_closure_free(call_struct);
- }
- else
- {
- ffi_call_v8(ffi_prep_args_v8, &ecif, cif->bytes,
- cif->flags, rvalue, fn);
- }
- }
- else
- {
- ffi_call_v8(ffi_prep_args_v8, &ecif, cif->bytes,
- cif->flags, rvalue, fn);
- }
-#endif
- break;
- case FFI_V9:
-#ifdef SPARC64
- ffi_call_v9(ffi_prep_args_v9, &ecif, cif->bytes,
- cif->flags, rval, fn);
- if (rvalue && rval && cif->rtype->type == FFI_TYPE_STRUCT)
- ffi_v9_layout_struct(cif->rtype, 0, (char *)rvalue, (char *)rval, ((char *)rval)+32);
-#else
- /* And vice versa */
- FFI_ASSERT(0);
-#endif
- break;
- default:
- FFI_ASSERT(0);
- break;
- }
-}
-
-
-#ifdef SPARC64
-extern void ffi_closure_v9(void);
-#else
-extern void ffi_closure_v8(void);
-#endif
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure* closure,
- ffi_cif* cif,
- void (*fun)(ffi_cif*, void*, void**, void*),
- void *user_data,
- void *codeloc)
-{
- unsigned int *tramp = (unsigned int *) &closure->tramp[0];
- unsigned long fn;
-#ifdef SPARC64
- /* Trampoline address is equal to the closure address. We take advantage
- of that to reduce the trampoline size by 8 bytes. */
- FFI_ASSERT (cif->abi == FFI_V9);
- fn = (unsigned long) ffi_closure_v9;
- tramp[0] = 0x83414000; /* rd %pc, %g1 */
- tramp[1] = 0xca586010; /* ldx [%g1+16], %g5 */
- tramp[2] = 0x81c14000; /* jmp %g5 */
- tramp[3] = 0x01000000; /* nop */
- *((unsigned long *) &tramp[4]) = fn;
-#else
- unsigned long ctx = (unsigned long) codeloc;
- FFI_ASSERT (cif->abi == FFI_V8);
- fn = (unsigned long) ffi_closure_v8;
- tramp[0] = 0x03000000 | fn >> 10; /* sethi %hi(fn), %g1 */
- tramp[1] = 0x05000000 | ctx >> 10; /* sethi %hi(ctx), %g2 */
- tramp[2] = 0x81c06000 | (fn & 0x3ff); /* jmp %g1+%lo(fn) */
- tramp[3] = 0x8410a000 | (ctx & 0x3ff);/* or %g2, %lo(ctx) */
-#endif
-
- closure->cif = cif;
- closure->fun = fun;
- closure->user_data = user_data;
-
- /* Flush the Icache. closure is 8 bytes aligned. */
-#ifdef SPARC64
- asm volatile ("flush %0; flush %0+8" : : "r" (closure) : "memory");
-#else
- asm volatile ("iflush %0; iflush %0+8" : : "r" (closure) : "memory");
- /* SPARC v8 requires 5 instructions for flush to be visible */
- asm volatile ("nop; nop; nop; nop; nop");
-#endif
-
- return FFI_OK;
-}
-
-int
-ffi_closure_sparc_inner_v8(ffi_closure *closure,
- void *rvalue, unsigned long *gpr, unsigned long *scratch)
-{
- ffi_cif *cif;
- ffi_type **arg_types;
- void **avalue;
- int i, argn;
-
- cif = closure->cif;
- arg_types = cif->arg_types;
- avalue = alloca(cif->nargs * sizeof(void *));
-
- /* Copy the caller's structure return address so that the closure
- returns the data directly to the caller. */
- if (cif->flags == FFI_TYPE_STRUCT
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- || cif->flags == FFI_TYPE_LONGDOUBLE
-#endif
- )
- rvalue = (void *) gpr[0];
-
- /* Always skip the structure return address. */
- argn = 1;
-
- /* Grab the addresses of the arguments from the stack frame. */
- for (i = 0; i < cif->nargs; i++)
- {
- if (arg_types[i]->type == FFI_TYPE_STRUCT
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- || arg_types[i]->type == FFI_TYPE_LONGDOUBLE
-#endif
- )
- {
- /* Straight copy of invisible reference. */
- avalue[i] = (void *)gpr[argn++];
- }
- else if ((arg_types[i]->type == FFI_TYPE_DOUBLE
- || arg_types[i]->type == FFI_TYPE_SINT64
- || arg_types[i]->type == FFI_TYPE_UINT64)
- /* gpr is 8-byte aligned. */
- && (argn % 2) != 0)
- {
- /* Align on a 8-byte boundary. */
- scratch[0] = gpr[argn];
- scratch[1] = gpr[argn+1];
- avalue[i] = scratch;
- scratch -= 2;
- argn += 2;
- }
- else
- {
- /* Always right-justify. */
- argn += ALIGN(arg_types[i]->size, FFI_SIZEOF_ARG) / FFI_SIZEOF_ARG;
- avalue[i] = ((char *) &gpr[argn]) - arg_types[i]->size;
- }
- }
-
- /* Invoke the closure. */
- (closure->fun) (cif, rvalue, avalue, closure->user_data);
-
- /* Tell ffi_closure_sparc how to perform return type promotions. */
- return cif->rtype->type;
-}
-
-int
-ffi_closure_sparc_inner_v9(ffi_closure *closure,
- void *rvalue, unsigned long *gpr, double *fpr)
-{
- ffi_cif *cif;
- ffi_type **arg_types;
- void **avalue;
- int i, argn, fp_slot_max;
-
- cif = closure->cif;
- arg_types = cif->arg_types;
- avalue = alloca(cif->nargs * sizeof(void *));
-
- /* Copy the caller's structure return address so that the closure
- returns the data directly to the caller. */
- if (cif->flags == FFI_TYPE_VOID
- && cif->rtype->type == FFI_TYPE_STRUCT)
- {
- rvalue = (void *) gpr[0];
- /* Skip the structure return address. */
- argn = 1;
- }
- else
- argn = 0;
-
- fp_slot_max = 16 - argn;
-
- /* Grab the addresses of the arguments from the stack frame. */
- for (i = 0; i < cif->nargs; i++)
- {
- if (arg_types[i]->type == FFI_TYPE_STRUCT)
- {
- if (arg_types[i]->size > 16)
- {
- /* Straight copy of invisible reference. */
- avalue[i] = (void *)gpr[argn++];
- }
- else
- {
- /* Left-justify. */
- ffi_v9_layout_struct(arg_types[i],
- 0,
- (char *) &gpr[argn],
- (char *) &gpr[argn],
- (char *) &fpr[argn]);
- avalue[i] = &gpr[argn];
- argn += ALIGN(arg_types[i]->size, FFI_SIZEOF_ARG) / FFI_SIZEOF_ARG;
- }
- }
- else
- {
- /* Right-justify. */
- argn += ALIGN(arg_types[i]->size, FFI_SIZEOF_ARG) / FFI_SIZEOF_ARG;
-
- /* Align on a 16-byte boundary. */
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- if (arg_types[i]->type == FFI_TYPE_LONGDOUBLE && (argn % 2) != 0)
- argn++;
-#endif
- if (i < fp_slot_max
- && (arg_types[i]->type == FFI_TYPE_FLOAT
- || arg_types[i]->type == FFI_TYPE_DOUBLE
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- || arg_types[i]->type == FFI_TYPE_LONGDOUBLE
-#endif
- ))
- avalue[i] = ((char *) &fpr[argn]) - arg_types[i]->size;
- else
- avalue[i] = ((char *) &gpr[argn]) - arg_types[i]->size;
- }
- }
-
- /* Invoke the closure. */
- (closure->fun) (cif, rvalue, avalue, closure->user_data);
-
- /* Tell ffi_closure_sparc how to perform return type promotions. */
- return cif->rtype->type;
-}
diff --git a/.pc/sparc-v8-aggregate-returns/.timestamp b/.pc/sparc-v8-aggregate-returns/.timestamp
deleted file mode 100644
index e69de29..0000000
--- a/.pc/sparc-v8-aggregate-returns/.timestamp
+++ /dev/null
diff --git a/.pc/sparc-v8-aggregate-returns/ChangeLog b/.pc/sparc-v8-aggregate-returns/ChangeLog
deleted file mode 100644
index 8e6fe96..0000000
--- a/.pc/sparc-v8-aggregate-returns/ChangeLog
+++ /dev/null
@@ -1,4573 +0,0 @@
-2012-02-10 Kai Tietz <ktietz@redhat.com>
-
- * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
- windows target.
- * configure: Regenerated.
-
-2012-02-08 Kai Tietz <ktietz@redhat.com>
-
- * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
- also FFI_THISCALL.
- * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
- (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
- (ffi_prep_closure_loc): Add FFI_THISCALL support.
- * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
- * src/x86/win32.S (ffi_closure_THISCALL): New closure code
- for thiscall-calling convention.
- * testsuite/libffi.call/closure_thiscall.c: New test.
-
-2012-01-28 Kai Tietz <ktietz@redhat.com>
-
- * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
- argument to prototype for specify calling-convention.
- (ffi_call): Add support for stdcall/thiscall convention.
- (ffi_prep_args): Likewise.
- (ffi_raw_call): Likewise.
- * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
- FFI_FASTCALL.
- * src/x86/win32.S (_ffi_call_win32): Add support for
- fastcall/thiscall calling-convention calls.
- * testsuite/libffi.call/fastthis1_win32.c: New test.
- * testsuite/libffi.call/fastthis2_win32.c: New test.
- * testsuite/libffi.call/fastthis3_win32.c: New test.
- * testsuite/libffi.call/strlen2_win32.c: New test.
- * testsuite/libffi.call/many2_win32.c: New test.
- * testsuite/libffi.call/struct1_win32.c: New test.
- * testsuite/libffi.call/struct2_win32.c: New test.
-
-2012-01-23 Andreas Schwab <schwab@linux-m68k.org>
-
- * src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
- mc68000. Test for __HAVE_68881__ in addition to __MC68881__.
-
-2012-01-19 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/48496
- * src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
-
-2012-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (i?86-*-*): Set TARGET to X86_64.
- * configure: Regenerate.
-
-2011-12-07 Andrew Pinski <apinski@cavium.com>
-
- PR libffi/50051
- * src/mips/n32.S: Add ".set mips4".
-
-2011-11-21 Andreas Tobler <andreast@fgznet.ch>
-
- * configure: Regenerate.
-
-2011-11-10 Richard Henderson <rth@redhat.com>
-
- * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
- * configure, aclocal.m4: Rebuild.
-
-2011-09-04 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/49594
- * src/powerpc/darwin_closure.S (stubs): Make the stub binding
- helper reference track the architecture pointer size.
-
-2011-08-25 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
- instructions.
- * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
-
-2011-07-11 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46660
- * testsuite/libffi.call/cls_double_va.c: xfail dg-output on
- mips-sgi-irix6*.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
- PRId8 instead of %hhu, %hhd.
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
- PRIu8): Define.
- [__sgi__] (PRId8, PRIu8): Define.
-
-2011-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
- Define.
- Use them to handle ELF vs. ECOFF differences.
- [__osf__] (_GLOBAL__F_ffi_call_osf): Define.
-
-2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2011-02-11 Anthony Green <green@moxielogic.com>
-
- From Tom Honermann <tom.honermann@oracle.com>:
- * src/powerpc/aix.S (ffi_call_AIX): Support for xlc toolchain on
- AIX. Declare .ffi_prep_args. Insert nops after branch
- instructions so that the AIX linker can insert TOC reload
- instructions.
- * src/powerpc/aix_closure.S: Declare .ffi_closure_helper_DARWIN.
-
-2011-02-08 Ed <ed@kdtc.net>
-
- * src/powerpc/asm.h: Fix grammar nit in comment.
-
-2011-02-08 Uli Link <ul.mcamafia@linkitup.de>
-
- * include/ffi.h.in (FFI_64_BIT_MAX): Define and use.
-
-2011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46661
- * testsuite/libffi.call/cls_pointer.c (main): Cast void * to
- uintptr_t first.
- * testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
-
-2011-02-08 Rafael Avila de Espindola <respindola@mozilla.com>
-
- * configure.ac: Fix x86 test for pc related relocs.
- * configure: Rebuilt.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
- Handle case when CPU variant does not have long double support.
- * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
- and cores with soft floating point.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * configure.ac: Add mips*-*-rtems* support.
- * configure: Regenerate.
- * src/mips/ffitarget.h: Ensure needed constants are available
- for targets which do not have sgidefs.h.
-
-2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR target/40125
- * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
- * configure: Regenerate.
-
-2010-12-18 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/29152
- PR libffi/42378
- * src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
- (FFI_TRAMPOLINE_SIZE): Update for Darwin64.
- * src/powerpc/darwin.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
- backslashes.
- (libffi_cv_as_string_pseudo_op): Likewise.
- * configure: Regenerate.
-
-2010-12-03 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
- (ffi_closure_VFP): Same.
- (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
- directive.
-
-2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
- (PRIuPTR): Define.
-
-2010-11-29 Richard Henderson <rth@redhat.com>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
- (.eh_frame): Use FDE_ENCODING.
- (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
-
-2010-11-22 Jacek Caban <jacek@codeweavers.com>
-
- * configure.ac: Check for symbol underscores on mingw-w64.
- * configure: Rebuilt.
- * src/x86/win64.S: Correctly access extern symbols in respect to
- underscores.
-
-2010-11-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp: Rename ...
- * testsuite/lib/libffi.exp: ... to this.
- * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
- * libffi/testsuite/libffi.special/special.exp: Likewise.
-
-2010-10-28 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
- code, new parameter, and return value. Update comments.
- (ffi_prep_cif_machdep): Add case for VFP struct return values. Add
- call to layout_vfp_args().
- (ffi_call_SYSV): Update declaration.
- (ffi_call_VFP): New declaration.
- (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
- when ABI is FFI_VFP.
- (ffi_closure_VFP): New declaration.
- (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
- ffi_prep_incoming_args_SYSV().
- (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
- case handling.
- (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
- construction under VFP hard-float.
- (rec_vfp_type_p): New function.
- (vfp_type_p): Same.
- (place_vfp_arg): Same.
- (layout_vfp_args): Same.
- * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
- based on __ARM_PCS_VFP.
- (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
- fields.
- (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
- (FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
- * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
- direct call. Move function pointer load upwards.
- (ffi_call_VFP): New function.
- (ffi_closure_VFP): Same.
-
- * testsuite/lib/libffi-dg.exp (check-flags): New function.
- (dg-skip-if): New function.
- * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
- and compiler options include -mfloat-abi=hard.
- * testsuite/libffi.call/cls_longdouble_va.c: Same.
-
-2010-10-01 Jakub Jelinek <jakub@redhat.com>
-
- PR libffi/45677
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
- a multiple of 8.
- * testsuite/libffi.call/many2.c: New test.
-
-2010-08-20 Mark Wielaard <mjw@redhat.com>
-
- * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
- returns NULL.
-
-2010-08-09 Andreas Tobler <andreast@fgznet.ch>
-
- * configure.ac: Add target powerpc64-*-freebsd*.
- * configure: Regenerate.
- * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
- -mlong-double-128 only to linux targets.
- * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
- * testsuite/libffi.call/cls_longdouble.c: Likewise.
- * testsuite/libffi.call/huge_struct.c: Likewise.
-
-2010-08-05 Dan Witte <dwitte@mozilla.com>
-
- * Makefile.am: Pass FFI_DEBUG define to msvcc.sh for linking to the
- debug CRT when --enable-debug is given.
- * configure.ac: Define it.
- * msvcc.sh: Translate -g and -DFFI_DEBUG appropriately.
-
-2010-08-04 Dan Witte <dwitte@mozilla.com>
-
- * src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64
- platforms.
- * src/x86/ffi.c: Remove redundant ifdef checks.
- * src/prep_cif.c: Push stack space computation into src/x86/ffi.c
- for X86_ANY so return value space doesn't get added twice.
-
-2010-08-03 Neil Rashbrooke <neil@parkwaycc.co.uk>
-
- * msvcc.sh: Don't pass -safeseh to ml64 because behavior is buggy.
-
-2010-07-22 Dan Witte <dwitte@mozilla.com>
-
- * src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
- * src/prep_cif.c: Fix ABI assertion.
- * src/cris/ffi.c: Ditto.
-
-2010-07-10 Evan Phoenix <evan@fallingsnow.net>
-
- * src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
-
-2010-07-07 Dan Horák <dan@danny.cz>
-
- * include/ffi.h.in: Protect #define with #ifndef.
- * src/powerpc/ffitarget.h: Ditto.
- * src/s390/ffitarget.h: Ditto.
- * src/sparc/ffitarget.h: Ditto.
-
-2010-07-07 Neil Roberts <neil@linux.intel.com>
-
- * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
- 16-bytes.
-
-2010-07-02 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
- * Makefile.in: Regenerated.
-
-2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
- output, too.
- (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
- (libffi_cv_as_string_pseudo_op): Check for .string.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
-
-2010-05-11 Dan Witte <dwitte@mozilla.com>
-
- * doc/libffi.tex: Document previous change.
-
-2010-05-11 Makoto Kato <m_kato@ga2.so-net.ne.jp>
-
- * src/x86/ffi.c (ffi_call): Don't copy structs passed by value.
-
-2010-05-05 Michael Kohler <michaelkohler@live.com>
-
- * src/dlmalloc.c (dlfree): Fix spelling.
- * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
- * configure.ac: Ditto.
- * configure: Rebuilt.
-
-2010-04-13 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Build with -W3 instead of -Wall.
- * src/powerpc/ffi_darwin.c: Remove build warnings.
- * src/x86/ffi.c: Ditto.
- * src/x86/ffitarget.h: Ditto.
-
-2010-04-12 Dan Witte <dwitte@mozilla.com>
- Walter Meinl <wuno@lsvw.de>
-
- * configure.ac: Add OS/2 support.
- * configure: Rebuilt.
- * src/closures.c: Ditto.
- * src/dlmalloc.c: Ditto.
- * src/x86/win32.S: Ditto.
-
-2010-04-07 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
-
-2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2010-03-30 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Disable build warnings.
- * README (tested): Clarify windows build procedure.
-
-2010-03-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * libffi/src/x86/unix64.S (.eh_frame)
- [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
-
-2010-03-14 Matthias Klose <doko@ubuntu.com>
-
- * src/x86/ffi64.c: Fix typo in comment.
- * src/x86/ffi.c: Use /* ... */ comment style.
-
-2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/libffi.texi (The Closure API): Fix typo.
- * doc/libffi.info: Remove.
-
-2010-02-15 Matthias Klose <doko@ubuntu.com>
-
- * src/arm/sysv.S (__ARM_ARCH__): Define for processor
- __ARM_ARCH_7EM__.
-
-2010-01-15 Anthony Green <green@redhat.com>
-
- * README: Add notes on building with Microsoft Visual C++.
-
-2010-01-15 Daniel Witte <dwitte@mozilla.com>
-
- * msvcc.sh: New file.
-
- * src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
- * src/x86/ffi.c: Tweak function declaration and remove excess
- parens.
- * include/ffi.h.in: Add __declspec(align(8)) to typedef struct
- ffi_closure.
-
- * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
- function ffi_call_win32 on X86_WIN32.
- * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
- (ffi_call_STDCALL): Remove.
-
- * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
- to ffi_prep_cif_machdep for x86.
- * src/x86/ffi.c (ffi_prep_cif_machdep): To here.
-
-2010-01-15 Oliver Kiddle <okiddle@yahoo.co.uk>
-
- * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
- Sun Studio compiler compatibility.
-
-2010-01-12 Conrad Irwin <conrad.irwin@gmail.com>
-
- * doc/libffi.texi: Add closure example.
-
-2010-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40701
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
- PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
- * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
- alpha*-dec-osf*.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/return_ll1.c: Likewise.
- * testsuite/libffi.call/stret_medium2.c: Likewise.
- * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
- MAP_FAILED to char *.
-
-2010-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
-
-2009-12-31 Anthony Green <green@redhat.com>
-
- * README: Update for libffi 3.0.9.
-
-2009-12-27 Matthias Klose <doko@ubuntu.com>
-
- * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
- appropriate.
- * configure: Rebuilt.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
- avr32*-*-*.
- * testsuite/libffi.call/cls_double_va.c: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
- and inttypes.h.
- * testsuite/libffi.special/unwindtest.cc: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-openbsd*.
- * configure: Rebuilt.
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
- openbsd programs with -lpthread.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
- mips*-*-* and arm*-*-*.
- * testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c,
- testsuite/libffi.call/stret_medium2.c,
- testsuite/libffi.call/stret_medium.c,
- testsuite/libffi.call/stret_large.c,
- testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
-
-2009-12-31 Kay Tietz <ktietz70@googlemail.com>
-
- * testsuite/libffi.call/ffitest.h,
- testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
- definitions.
-
-2009-12-31 Carlo Bramini <carlo.bramix@libero.it>
-
- * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
- * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
-
-2009-12-31 Anthony Green <green@redhat.com>
- Blake Chaffin.
-
- * testsuite/libffi.call/huge_struct.c: New test case from Blake
- Chaffin @ Apple.
-
-2009-12-28 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
- local variables.
- (aix_adjust_aggregate_sizes): New function.
- (ffi_prep_cif_machdep): Call it.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
- * configure: Regenerate.
- * fficonfig.h.in: Likewise.
- * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
- Solaris/x86.
-
-2009-12-26 Andreas Schwab <schwab@linux-m68k.org>
-
- * 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.
-
-2009-12-25 Matthias Klose <doko@ubuntu.com>
-
- * man/ffi_call.3: Fix #include in examples.
- * doc/libffi.texi: Add dircategory.
-
-2009-12-25 Frank Everdij <f.p.x.everdij@tudelft.nl>
-
- * include/ffi.h.in: Placed '__GNUC__' ifdef around
- '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
- IRIX MIPSPro c99.
- * include/ffi_common.h: Added '__sgi' define to non
- '__attribute__((__mode__()))' integer typedefs.
- * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
- ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
- (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
- FFI_LONGDOUBLE support and alignment(N32 only).
- * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
- fixed non '__attribute__((__mode__()))' integer typedefs.
- * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
- since they are Linux/GNU Assembler specific.
-
-2009-12-25 Bradley Smith <brad@brad-smith.co.uk>
-
- * configure.ac, Makefile.am, src/avr32/ffi.c,
- src/avr32/ffitarget.h,
- src/avr32/sysv.S: Add AVR32 port.
- * configure, Makefile.in: Rebuilt.
-
-2009-12-21 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
- * configure: Regenerate.
-
-2009-12-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
- type on HP-UX.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
- double' arguments.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40700
- * src/closures.c [X86_64 && __sun__ && __svr4__]
- (FFI_MMAP_EXEC_WRIT): Define.
-
-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.
-
-2009-12-07 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
- typo.
-
-2009-12-05 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
- code.
- * src/powerpc/aix_closure.S: Same.
-
-2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
- linux64_closure.S.
-
-2009-12-04 Uros Bizjak <ubizjak@gmail.com>
-
- 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.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
- pfr for long double split between fpr13 and stack.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
- fparg_count twice for long double.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- PR libffi/42243
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03 Uros Bizjak <ubizjak@gmail.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
- Remove xfails for x86 linux targets.
-
-2009-12-02 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
- case.
-
-2009-12-01 David Edelsohn <edelsohn@gnu.org>
-
- * 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.
-
-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.
-
-2009-11-02 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/41908
- * testsuite/libffi.call/testclosure.c: New test.
-
-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.
-
-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.
-
-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.
-
-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.
-
-2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.am (install-html, install-pdf): Remove.
- * Makefile.in: Regenerate.
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24 Dave Korn <dave.korn.cygwin@gmail.com>
-
- 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.
-
-2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
-
- 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.
-
-2009-07-01 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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 "".)
-
-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.
-
-2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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.
-
-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.
-
-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.
-
-2009-06-16 Andrew Haley <aph@redhat.com>
-
- * configure.ac (TARGETDIR): Add missing blank lines.
- * configure: Regenerate.
-
-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.
-
-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.
-
-2009-06-12 Andrew Haley <aph@redhat.com>
-
- * Makefile.am: Remove info_TEXINFOS.
-
-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-11 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * 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.
-
-2009-06-09 Andrew Haley <aph@redhat.com>
-
- * src/x86/freebsd.S: Add missing file.
-
-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).
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * README: Import from libffi 3.0.8.
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Add xfails.
- * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
- * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
- * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
- * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
- * testsuite/libffi.call/stret_medium.c: Likewise.
- * testsuite/libffi.call/stret_large2.c: Likewise.
- * testsuite/libffi.call/stret_large.c: Likewise.
-
-2008-12-26 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_align_longdouble.c,
- testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
- failures on x86_64 cygwin/mingw.
-
-2008-12-22 Timothy Wall <twall@users.sf.net>
-
- * 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_loc_fn0.c,
- testsuite/libffi.call/closure_stdcall.c,
- testsuite/libffi.call/cls_align_pointer.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
- pointer to integer (intptr_t).
- * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_dbls_struct.c,
- testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c,
- testsuite/libffi.call/err_bad_abi.c: Clean up failures from
- compiler warnings.
-
-2008-03-04 Anthony Green <green@redhat.com>
- Blake Chaffin
- hos@tamanegi.org
-
- * testsuite/libffi.call/cls_align_longdouble_split2.c
- testsuite/libffi.call/cls_align_longdouble_split.c
- testsuite/libffi.call/cls_dbls_struct.c
- testsuite/libffi.call/cls_double_va.c
- testsuite/libffi.call/cls_longdouble.c
- testsuite/libffi.call/cls_longdouble_va.c
- testsuite/libffi.call/cls_pointer.c
- testsuite/libffi.call/cls_pointer_stack.c
- testsuite/libffi.call/err_bad_abi.c
- testsuite/libffi.call/err_bad_typedef.c
- testsuite/libffi.call/stret_large2.c
- testsuite/libffi.call/stret_large.c
- testsuite/libffi.call/stret_medium2.c
- testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
- libffi.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
- stdcall changes.
-
-2008-02-26 Anthony Green <green@redhat.com>
- Thomas Heller <theller@ctypes.org>
-
- * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
- comment.
-
-2008-02-03 Timothy Wall <twall@users.sf.net>
-
- * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
- offset based on code pointer, not data pointer.
-
-2008-01-31 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
- closures.
- * src/x86/ffitarget.h: Increase size of trampoline for stdcall
- closures.
- * src/x86/win32.S: Add assembly for stdcall closure.
- * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Change void (*)() to void (*)(void).
- * src/x86/ffi.c: Likewise.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ppc_closure.S: Insert licence header.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/m68k/sysv.S: Likewise.
-
- * src/sh64/ffi.c: Change void (*)() to void (*)(void).
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/m32r/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi64.c: Likewise.
- * src/alpha/ffi.c: Likewise.
- * src/alpha/osf.S: Likewise.
- * src/frv/ffi.c: Likewise.
- * src/s390/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/pa/hpux32.S: Likewise.
- * src/ia64/unix.S: Likewise.
- * src/ia64/ffi.c: Likewise.
- * src/sparc/ffi.c: Likewise.
- * src/mips/ffi.c: Likewise.
- * src/sh/ffi.c: Likewise.
-
-2008-02-15 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
- Define (conditionally), and use it to include cachectl.h.
- (ffi_prep_closure_loc): Fix cache flushing.
- * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- include/ffi.h.in,
- src/arm/ffitarget.h,
- src/arm/ffi.c,
- src/arm/sysv.S,
- src/powerpc/ffitarget.h,
- src/closures.c,
- src/sh64/ffitarget.h,
- src/sh64/ffi.c,
- src/sh64/sysv.S,
- src/types.c,
- src/x86/ffi64.c,
- src/x86/ffitarget.h,
- src/x86/win32.S,
- src/x86/darwin.S,
- src/x86/ffi.c,
- src/x86/sysv.S,
- src/x86/unix64.S,
- src/alpha/ffitarget.h,
- src/alpha/ffi.c,
- src/alpha/osf.S,
- src/m68k/ffitarget.h,
- src/frv/ffitarget.h,
- src/frv/ffi.c,
- src/s390/ffitarget.h,
- src/s390/sysv.S,
- src/cris/ffitarget.h,
- src/pa/linux.S,
- src/pa/ffitarget.h,
- src/pa/ffi.c,
- src/raw_api.c,
- src/ia64/ffitarget.h,
- src/ia64/unix.S,
- src/ia64/ffi.c,
- src/ia64/ia64_flags.h,
- src/java_raw_api.c,
- src/debug.c,
- src/sparc/v9.S,
- src/sparc/ffitarget.h,
- src/sparc/ffi.c,
- src/sparc/v8.S,
- src/mips/ffitarget.h,
- src/mips/n32.S,
- src/mips/o32.S,
- src/mips/ffi.c,
- src/prep_cif.c,
- src/sh/ffitarget.h,
- src/sh/ffi.c,
- src/sh/sysv.S: Update license text.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * src/x86/win32.S (_ffi_closure_STDCALL): New function.
- (.eh_frame): Add FDE for it.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * configure.ac: Also check if assembler supports pc-relative
- relocs on X86_WIN32 targets.
- * configure: Regenerate.
- * src/x86/win32.S (ffi_prep_args): Declare extern, not global.
- (_ffi_call_SYSV): Add missing function type symbol .def and
- add EH markup labels.
- (_ffi_call_STDCALL): Likewise.
- (_ffi_closure_SYSV): Likewise.
- (_ffi_closure_raw_SYSV): Likewise.
- (.eh_frame): Add hand-crafted EH data.
-
-2009-04-09 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
- version 3 of the GNU General Public License and to point readers
- at the COPYING3 file and the FSF's license web page.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-12-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libffi/26048
- * configure.ac (HAVE_AS_X86_PCREL): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
- RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
- RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
- * src/x86/unix64.S (.Lstore_table): Move to .text section.
- (.Lload_table): Likewise.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
- signed/unsigned int8/16 return values.
- * src/sparc/v8.S (ffi_call_v8): Likewise.
- (ffi_closure_v8): Likewise.
-
-2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
- Steve Ellcey <sje@cup.hp.com>
-
- * configure: Regenerate for new libtool.
- * Makefile.in: Ditto.
- * include/Makefile.in: Ditto.
- * aclocal.m4: Ditto.
-
-2008-08-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
- FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
- Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
- Adjust copyright notice.
- * src/powerpc/ffi.c: Add two new flags to indicate if we have one
- register or two register to use for FFI_SYSV structs.
- (ffi_prep_cif_machdep): Pass the right register flag introduced above.
- (ffi_closure_helper_SYSV): Fix the return type for
- FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
- Adjust copyright notice.
-
-2008-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
- int.
-
-2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2008-06-07 Joseph Myers <joseph@codesourcery.com>
-
- * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
- powerpc-*-beos*): Remove.
- * configure: Regenerate.
-
-2008-05-09 Julian Brown <julian@codesourcery.com>
-
- * Makefile.am (LTLDFLAGS): New.
- (libffi_la_LDFLAGS): Use above.
- * Makefile.in: Regenerate.
-
-2008-04-18 Paolo Bonzini <bonzini@gnu.org>
-
- PR bootstrap/35457
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2008-03-26 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add .note.GNU-stack on Linux.
- * src/sh64/sysv.S: Likewise.
-
-2008-03-26 Daniel Jacobowitz <dan@debian.org>
-
- * src/arm/sysv.S: Fix ARM comment marker.
-
-2008-03-26 Jakub Jelinek <jakub@redhat.com>
-
- * src/alpha/osf.S: Add .note.GNU-stack on Linux.
- * src/s390/sysv.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
- * src/x86/unix64.S: Likewise.
- * src/x86/sysv.S: Likewise.
- * src/sparc/v8.S: Likewise.
- * src/sparc/v9.S: Likewise.
- * src/m68k/sysv.S: Likewise.
- * src/arm/sysv.S: Likewise.
-
-2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * aclocal.m4: Regenerate.
- * configure: Likewise.
- * Makefile.in: Likewise.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2008-02-12 Bjoern Koenig <bkoenig@alpha-tierchen.de>
- Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-freebsd* target.
- * configure: Regenerate.
-
-2008-01-30 H.J. Lu <hongjiu.lu@intel.com>
-
- PR libffi/34612
- * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
- returning struct.
-
- * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
- tests.
-
-2008-01-24 David Edelsohn <edelsohn@gnu.org>
-
- * configure: Regenerate.
-
-2008-01-06 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
-
-2008-01-05 Andreas Tobler <a.tobler@schweiz.org>
-
- PR testsuite/32843
- * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
- signed/unsigned int8/16 for X86_DARWIN.
- Updated copyright info.
- Handle one and two byte structs with special cif->flags.
- * src/x86/ffitarget.h: Add special types for one and two byte structs.
- Updated copyright info.
- * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
- sysv.S
- Remove code to pop args from the stack after call.
- Special-case signed/unsigned for int8/16, one and two byte structs.
- (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
- FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
- FFI_TYPE_SINT32.
- Updated copyright info.
-
-2007-12-08 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_call_N32): Replace dadd with ADDU, dsub with
- SUBU, add with ADDU and use smaller code sequences.
-
-2007-12-07 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
- type.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
- defined.
- (ffi_java_raw): New typedef.
- (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
- ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
- ffi_java_raw.
- (ffi_java_raw_closure) : Same.
- (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
- parameter types.
- * src/java_raw_api.c (ffi_java_raw_size): Replace FFI_SIZEOF_ARG with
- FFI_SIZEOF_JAVA_RAW.
- (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
- Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
- sizeof(ffi_java_raw) for alignment calculations.
- (ffi_java_ptrarray_to_raw): Same.
- (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
- if FFI_SIZEOF_JAVA_RAW == 4.
- (ffi_java_raw_to_rvalue): Same.
- (ffi_java_raw_call): Change type of raw to ffi_java_raw.
- (ffi_java_translate_args): Same.
- (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
- parameter types.
- * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
- pointer values.
-
-2007-12-01 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/31937
- * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
- Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
- * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
- set the NUM_FPR_ARG_REGISTERS according to.
- Add support for potential soft-float support under hard-float
- architecture.
- (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
- FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
- to the FFI_LINUX_SOFT_FLOAT ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Make sure not to store float/double
- on archs where __NO_FPRS__ is true.
- Add FFI_TYPE_UINT128 support.
- * src/powerpc/sysv.S: Add support for soft-float long-double-128.
- Adjust copyright notice.
-
-2007-11-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
- * include/ffi_common.h: ... here.
- Update copyright.
-
-2007-11-17 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
- * testsuite/libffi.call/return_ldl.c: New test.
-
-2007-09-04 <aph@redhat.com>
-
- * src/arm/sysv.S (UNWIND): New.
- (Whole file): Conditionally compile unwinder directives.
- * src/arm/sysv.S: Add unwinder directives.
-
- * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
- Only treat r0 as a struct address if we're actually returning a
- struct by address.
- Only copy the bytes that are actually within a struct.
- (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
- is returned in r0, not passed by address.
- (ffi_call): Allocate a word-sized temporary for the case where
- a composite is returned in r0.
- (ffi_prep_incoming_args_SYSV): Align as necessary.
-
-2007-08-05 Steven Newbury <s_j_newbury@yahoo.co.uk>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
- directly using the sys_cacheflush syscall.
-
-2007-07-27 Andrew Haley <aph@redhat.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
-
-2007-09-03 Maciej W. Rozycki <macro@linux-mips.org>
-
- * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure: Likewise.
-
-2007-08-24 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/return_sl.c: New test.
-
-2007-08-10 David Daney <ddaney@avtrex.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/nested_struct5.c,
- testsuite/libffi.call/cls_double.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/nested_struct.c,
- testsuite/libffi.call/cls_2byte.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_sint16.c,
- testsuite/libffi.call/cls_align_uint32.c,
- testsuite/libffi.call/cls_20byte.c,
- testsuite/libffi.call/cls_float.c,
- testsuite/libffi.call/nested_struct2.c,
- testsuite/libffi.call/cls_5_1_byte.c,
- testsuite/libffi.call/nested_struct4.c,
- testsuite/libffi.call/cls_24byte.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: Remove xfail for mips64*-*-*.
-
-2007-08-10 David Daney <ddaney@avtrex.com>
-
- 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.
-
-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*.
- * 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.
-
-2006-12-13 Andreas Tobler <a.tobler@schweiz.org>
-
- * aclocal.m4: Regenerate with aclocal -I .. as written in the
- Makefile.am.
-
-2006-10-31 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
- (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
- Darwin.
- * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
- * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10 Paolo Bonzini <bonzini@gnu.org>
- Sandro Tolaini <tolaini@libero.it>
-
- * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
- conditional.
- * configure: Regenerated.
- * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
- (EXTRA_DIST): Add src/x86/darwin.S.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
- X86_WIN32, and additionally align stack to 16 bytes.
- * src/x86/darwin.S: New, based on sysv.S.
- * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12 David Daney <ddaney@avtrex.com>
-
- PR libffi/23935
- * include/Makefile.am: Install both ffi.h and ffitarget.h in
- $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
- * aclocal.m4: Regenerated for automake 1.9.6.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
-2006-08-17 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h: Remove lint directives.
- * include/ffi.h.in: Likewise.
-
-2006-07-25 Torsten Schoenfeld <kaffeetisch@gmx.de>
-
- * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
- for 32-bit architectures.
- * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
- xfail remains for mips64.
-
-2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
-
- * Makefile.am: Add install-html target. Add install-html to .PHONY
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
- stack slot.
-
-2006-04-22 Andreas Tobler <a.tobler@schweiz.ch>
-
- * README: Remove notice about 'Crazy Comments'.
- * src/debug.c: Remove lint directives. Cleanup white spaces.
- * src/java_raw_api.c: Likewise.
- * src/prep_cif.c: Likewise.
- * src/raw_api.c: Likewise.
- * src/ffitest.c: Delete. No longer needed, all test cases migrated
- to the testsuite.
- * src/arm/ffi.c: Remove lint directives.
- * src/m32r/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/sh/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/pa/hpux32.S: Correct unwind offset calculation for
- ffi_closure_pa32.
- * src/pa/linux.S: Likewise.
-
-2006-04-12 James E Wilson <wilson@specifix.com>
-
- PR libgcj/26483
- * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
- (hfa_type_load): Call stf_spill.
- (hfa_type_store): Call ldf_fill.
- (ffi_call): Adjust calls to above routines. Add local temps for
- macro result.
-
-2006-04-10 Matthias Klose <doko@debian.org>
-
- * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
- directory names containing underscores.
-
-2006-04-07 James E Wilson <wilson@specifix.com>
-
- * testsuite/libffi.call/float4.c: New testcase.
-
-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.
-
-2006-03-24 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Default
- for 32-bit using IBM extended double format. Fix FFI_LAST_ABI.
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
- FFI_TYPE_LONGDOUBLE.
- (ffi_prep_args64): Assert using IBM extended double.
- (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
- Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
- (ffi_call): Handle FFI_LINUX.
- (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
- gpr3 return pointer as for struct return. Handle FFI_LINUX
- FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf"
- unnecessarily.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
- for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table.
- Don't use r6 as pointer to results, instead use sp offset. Don't
- make a special call to load lr with case table address, instead
- use offset from previous call.
- * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
- return.
-
-2006-03-15 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
- passed with FP registers correctly.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S: Likewise.
-
-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.
-
-2006-02-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
- -O2, -O3, -Os and the warning flags -W -Wall.
- * testsuite/libffi.special/special.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
- unused parameter unused for gcc or else do nothing.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
- * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
- * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
- * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
- * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
- * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
- * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
- * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
- * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
- void* to avoid compiler warning.
- (main): Likewise.
- (cls_struct_align_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
- * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
- * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
- userdata unused.
- (cls_ret_schar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
- userdata unused.
- (cls_ret_sint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
- userdata unused.
- (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn): Mark cif and
- userdata unused.
- (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
- userdata unused.
- (cls_ret_uint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
- userdata unused.
- (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
- * testsuite/libffi.call/float1.c (main): Remove unused variable i.
- Cleanup white spaces.
- * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
- * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
- cif and userdata unused.
- * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
- Likewise.
- * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
- formatters to silence gcc.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct4.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct6.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
- * testsuite/libffi.call/problem1.c (stub): Likewise.
- * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
- gcc.
- * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
- in the last commit for this test case in the test case itself.
- * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
- unused.
- * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
- * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
- * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
- * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
- * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
- * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Fix register numbers in the FDE for
- ffi_closure_SYSV.
-
-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.
-
-2006-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
- and cast integer to void * if needed. Update the pointer to
- the FP register saved area correctly.
-
-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.
-
-2006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/return_dbl.c: New test case.
- * testsuite/libffi.call/return_dbl1.c: Likewise.
- * testsuite/libffi.call/return_dbl2.c: Likewise.
- * testsuite/libffi.call/return_fl.c: Likewise.
- * testsuite/libffi.call/return_fl1.c: Likewise.
- * testsuite/libffi.call/return_fl2.c: Likewise.
- * testsuite/libffi.call/return_fl3.c: Likewise.
- * testsuite/libffi.call/closure_fn6.c: Likewise.
-
- * 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.
-
-2006-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.ac: Enable libffi for sparc64-*-freebsd*.
- * configure: Rebuilt.
-
-2006-01-18 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
- instead do the shifting inline.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
- shift count unconditionally. Simplify load sequences for 1, 2, 3, 4
- and 8 byte structs, for the remaining struct sizes don't call
- __lshrdi3, instead do the shifting inline.
-
-2005-12-07 Thiemo Seufer <ths@networkno.de>
-
- * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
- missing parentheses.
- * src/mips/o32.S (ffi_call_O32): Code formatting. Define
- and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
- (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
- A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
- V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
- FA_0_0_OFF2.
- * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
- endianness bugs.
- (ffi_prep_closure): Improve trampoline instruction scheduling.
- (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c: Formatting.
- (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
- (ffi_prep_args64): Likewise.
-
-2005-09-30 Geoffrey Keating <geoffk@apple.com>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
- darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26 Tom Tromey <tromey@redhat.com>
-
- * 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.
-
-2005-08-25 Alan Modra <amodra@bigpond.net.au>
-
- PR target/23404
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
- homed fp args.
- (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11 Jakub Jelinek <jakub@redhat.com>
-
- * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
- (AH_BOTTOM): Add FFI_HIDDEN definition.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * src/powerpc/ffi.c (hidden): Remove.
- (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
- ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
- .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
- * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
- add FFI_HIDDEN to its prototype.
- (ffi_closure_SYSV_inner): New.
- * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
- * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10 Alfred M. Szmidt <ams@gnu.org>
-
- PR libffi/21819:
- * configure: Rebuilt.
- * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
- DW_CFA_offset_extended_sf rather than
- DW_CFA_GNU_negative_offset_extended.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
-
- * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
- on sh3.
- (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
- * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
- partially on register.
- (ffi_closure_helper_SYSV): Likewise.
- (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_call): Handle small structures correctly.
- Remove empty line.
- * src/sh64/ffi.c (simple_type): Remove.
- (return_type): Handle small structures correctly.
- (ffi_prep_args): Likewise.
- (ffi_call): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
- Emit position independent code if PIC and remove wrong datalabel
- prefixes from EH data.
-
-2005-07-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure.ac: Add POWERPC_FREEBSD rules.
- * configure: Regenerate.
- * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
- (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
- * src/powerpc/ffi.c: Add flags to handle small structure returns
- in ffi_call_SYSV.
- (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
- Aka FFI_SYSV.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Add return types for small structures.
- * src/powerpc/sysv.S: Add bits to handle small structures for
- final SYSV 4 ABI.
-
-2005-07-10 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_5_1_byte.c: New test file.
- * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05 Randolph Chung <tausq@debian.org>
-
- * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
- as FFI_TYPE_SMALL_STRUCT3. Break out handling for 5-7 byte
- structures. Kill compilation warnings.
- (ffi_closure_inner_LINUX): Print return values as hex in debug
- message. Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
- Properly handle 5-7 byte structure returns.
- * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
- (FFI_TYPE_SMALL_STRUCT2): Remove.
- (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
- (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
- * src/pa/linux.S: Mark source file as using PA1.1 assembly.
- (checksmst1, checksmst2): Remove.
- (checksmst3): Optimize handling of 3-byte struct returns.
- (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libgcj/21943
- * src/mips/n32.S: Enforce PIC code.
- * src/mips/o32.S: Likewise.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
- * configure: Regenerate.
-
-2005-06-01 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
- to call ffi_closure_helper_SYSV. Append @local instead.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
- Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
- * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
- * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
- include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-05-08 Richard Henderson <rth@redhat.com>
-
- PR libffi/21285
- * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04 Andreas Degert <ad@papyrus-gmbh.de>
- Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
- bit 11 of flags.
- (ffi_call): Mask return type field. Pass ssecount to ffi_call_unix64.
- (ffi_prep_closure): Set carry bit if sse-used flag set.
- * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
- Only load sse registers if ssecount non-zero.
- (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
- powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
- * configure: Regenerate.
-
-2005-04-20 Hans-Peter Nilsson <hp@axis.com>
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
- have Tcl8.3-compatible intermediate variable.
-
-2005-04-18 Simon Posnjak <simon.posnjak@siol.net>
- Hans-Peter Nilsson <hp@axis.com>
-
- * Makefile.am: Add CRIS support.
- * configure.ac: Likewise.
- * Makefile.in, configure, testsuite/Makefile.in,
- include/Makefile.in: Regenerate.
- * src/cris: New directory.
- * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
- * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
- \r?\n in output tests.
-
-2005-04-12 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-03-30 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30 Steve Ellcey <sje@cup.hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
- (ffi_sarg) Ditto.
- * src/ia64/unix.S (ffi_closure_unix): Extend gp
- to 64 bits in ILP32 mode.
- Load 64 bits even for short data.
-
-2005-03-23 Mike Stump <mrs@apple.com>
-
- * src/powerpc/darwin.S: Update for -m64 multilib.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21 Zack Weinberg <zack@codesourcery.com>
-
- * 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.
-
-2005-02-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
- odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR libffi/20104
- * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11 Janis Johnson <janis187@us.ibm.com>
-
- * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
- * testsuite/libffi.call/float.c: Ditto.
- * testsuite/libffi.call/float2.c: Ditto.
- * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * testsuite/libffi.special/special.exp (cxx_options): Add
- -shared-libgcc.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
- (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
- offset parameters with a type parameter; deduce size and structure
- alignment. Update all users.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
- (FFI_TYPE_LONGDOUBLE): Fix for ia64.
- * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
- into ffi_prep_closure.
- * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
- from scratch.
-
-2004-12-27 Richard Henderson <rth@redhat.com>
-
- * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25 Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
- (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
- (merge_classes): Check for it.
- (SSE_CLASS_P): New.
- (classify_argument): Pass byte_offset by value; perform all updates
- inside struct case.
- (examine_argument): Add classes argument; handle
- X86_64_COMPLEX_X87_CLASS.
- (ffi_prep_args): Merge into ...
- (ffi_call): ... here. Share stack frame with ffi_call_unix64.
- (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
- (ffi_fill_return_value): Remove.
- (ffi_prep_closure): Remove dead assert.
- (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
- Rewrite to use struct register_args instead of va_list. Create
- flags for handling structure returns.
- * src/x86/unix64.S: Remove dead strings.
- (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share
- stack frame with ffi_call. Handle structure returns properly.
- (float2sse, floatfloat2sse, double2sse): Remove.
- (sse2float, sse2double, sse2floatfloat): Remove.
- (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite
- to handle structure returns properly.
-
-2004-12-08 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
- PICFLAG.
- * Makefile.in: Regenerated.
-
-2004-12-02 Richard Sandiford <rsandifo@redhat.com>
-
- * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
- * configure, aclocal.m4, Makefile.in: Regenerate.
- * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-25 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool reversion.
-
-2004-11-24 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23 Richard Sandiford <rsandifo@redhat.com>
-
- * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
- of jal. Use an absolute encoding for the frame information.
-
-2004-11-23 Kelley Cook <kcook@gcc.gnu.org>
-
- * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS.
- * acinclude.m4: Delete logic for sincludes.
- * aclocal.m4, Makefile.in, configure: Regenerate.
- * include/Makefile: Likewise.
- * testsuite/Makefile: Likewise.
-
-2004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
- on a 8-byte boundary.
- * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
- long long values. Round stack allocation to a multiple of 8 bytes
- for ATPCS compatibility.
- * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
- names. Handle returning long long types. Add Thumb and interworking
- support. Improve soft-float code.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
- (libffi_exit): New function.
- (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR other/18138
- * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
- * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
- the function returning a structure pointed with R2.
- * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
- the structure return value if T bit set. Emit position
- independent code and EH data if PIC.
-
-2004-10-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * Makefile.am: Add m32r support.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * confiugre: Regenerate.
- * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
- (uint64, sint64, double, longdouble)
- * src/m32r: New directory.
- * src/m32r/ffi.c: New file.
- * src/m32r/sysv.S: Likewise.
- * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * testsuite/libffi.call/negint.c: New test case.
-
-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.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/many_win32.c: Remove whitespaces.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
- whitespaces.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Fix comments and identation.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
- (ffi_prep_args): Handle longdouble arguments.
- (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
- longdouble.
- (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
- * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
- values.
- * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
- * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/aix.S: Remove whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
- * src/powerpc/asm.h: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffitarget.h: Likewise.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
-
-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.in: Read configure.host.
- * 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 shouldn't 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.
-
-2004-08-24 David Daney <daney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
- to zero.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23 David Daney <daney@avtrex.com>
-
- PR libgcj/13141
- * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
- * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
- (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
- parameters and return types.
- (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
- (ffi_prep_closure): Ditto.
- (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
- alignment calculations.
- * src/mips/o32.S (ffi_closure_O32): Don't use floating point
- instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14 Casey Marshall <csm@gnu.org>
-
- * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
- contain `FFI_TYPE_UINT64' as return type for any 64-bit
- integer (O32 ABI only).
- (ffi_prep_closure): new function.
- (ffi_closure_mips_inner_O32): new function.
- * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
- `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
- * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
- 64 bit integers correctly.
- (ffi_closure_O32): new function.
- Added DWARF-2 unwind info for both functions.
-
-2004-08-10 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01 Robert Millan <robertmh@gnu.org>
-
- * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
- * configure: Regenerate.
-
-2004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
-
- * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
- and mmap() explicitly instead of relying on preset autoconf cache
- variables.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
- (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
- character on Darwin, use '\n\t' instead.
-
-2004-06-26 Matthias Klose <doko@debian.org>
-
- * libtool-version: Fix typo in revision/age.
-
-2004-06-17 Matthias Klose <doko@debian.org>
-
- * libtool-version: New.
- * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
- * Makefile.in: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * Makefile.am: Remove useless multilib rules.
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate with automake 1.8.5.
- * configure.ac: Remove useless multilib configury.
- * configure: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * .cvsignore: New file.
-
-2004-06-10 Jakub Jelinek <jakub@redhat.com>
-
- * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
- fp_done.
- (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
- changed from 8.
-
-2004-06-06 Sean McNeil <sean@mcneil.com>
-
- * configure.ac: Add x86_64-*-freebsd* support.
- * configure: Regenerate.
-
-2004-04-26 Joe Buck <jbuck@welsh-buck.org>
-
- Bug 15093
- * configure.ac: Test for existence of mmap and sys/mman.h before
- checking blacklist. Fix suggested by Jim Wilson.
- * configure: Regenerate.
-
-2004-04-26 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
- FDE location.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
- error. Reported by Thomas Heller <theller@python.net>.
- * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20 Matthias Klose <doko@debian.org>
-
- * src/pa/linux.S: Fix typo.
-
-2004-03-19 Matthias Klose <doko@debian.org>
-
- * Makefile.am: Update.
- * Makefile.in: Regenerate.
- * src/pa/ffi.h.in: Remove.
- * src/pa/ffitarget.h: New file.
-
-2004-02-10 Randolph Chung <tausq@debian.org>
-
- * Makefile.am: Add PA support.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * configure.ac: Add PA target.
- * configure: Regenerate.
- * src/pa/ffi.c: New file.
- * src/pa/ffi.h.in: Add PA support.
- * src/pa/linux.S: New file.
- * prep_cif.c: Add PA support.
-
-2004-03-16 Hosaka Yuji <hos@tamanegi.org>
-
- * src/types.c: Fix alignment size of X86_WIN32 case int64 and
- double.
- * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
- with ecif->cif->flags.
- (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
- with cif->flags.
- (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
- (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
- * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
- sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.in: Rename file to ...
- * configure.ac: ... this.
- * fficonfig.h.in: Regenerate.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2004-03-12 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Fix EH information so it corresponds to
- changes in EH format resulting from addition of linkonce support.
- * src/powerpc/darwin_closure.S: Likewise.
-
-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.
-
-2004-03-11 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
- arguments from fp registers only for the first 8 parameter slots.
- Don't convert a float parameter when passed in memory.
-
-2004-03-09 Hans-Peter Nilsson <hp@axis.com>
-
- * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
-
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
- ecif->cif->bytes to bytes.
- (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
- * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
- (ffi_closure_helper_LINUX64): Fix typo.
- * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
- for powerpc64-*-*.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
- long double function return and long double arg handling.
- (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
- Use "end_pfr" instead of "nf". Correct long double handling.
- Localise "temp".
- * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
- return value.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
- space for long double return value. Adjust stack frame and offsets.
- Load f2 long double return.
-
-2004-02-07 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
- when the structure return address is passed in %o0.
- (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
- (ffi_v9_layout_struct): Align the field following a nested structure
- on a word boundary. Use memmove instead of memcpy.
- (ffi_call): Update call to ffi_V9_return_struct.
- (ffi_prep_closure): Define 'ctx' only for V8.
- (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
- and ffi_closure_sparc_inner_v9.
- (ffi_closure_sparc_inner_v8): Return long doubles by reference.
- Always skip the structure return address. For structures and long
- doubles, copy the argument directly.
- (ffi_closure_sparc_inner_v9): Skip the structure return address only
- if required. Shift the maximum floating-point slot accordingly. For
- big structures, copy the argument directly; otherwise, left-justify the
- argument and call ffi_v9_layout_struct to lay out the structure on
- the stack.
- * src/sparc/v8.S: Undef STACKFRAME before defining it.
- (ffi_closure_v8): Pass the structure return address. Update call to
- ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
- Skip the 'unimp' insn when returning long doubles and structures.
- * src/sparc/v9.S: Undef STACKFRAME before defining it.
- (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
- FFI_TYPE_INT handling. Load structures both in integers and
- floating-point registers on return.
- * README: Update status of the SPARC port.
-
-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.
-
-2004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
-
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
- value as of type ffi_arg, not unsigned int.
-
-2004-01-21 Michael Ritzert <ritzert@t-online.de>
-
- * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
- of the LHS.
-
-2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
- Solaris.
-
-2004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
- to void *.
-
-2003-12-10 Richard Henderson <rth@redhat.com>
-
- * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
- size_t instead of int.
-
-2003-12-04 Hosaka Yuji <hos@tamanegi.org>
-
- * testsuite/libffi.call/many_win32.c: Include <float.h>.
- * testsuite/libffi.call/many_win32.c (main): Replace variable
- int i with unsigned long ul.
-
- * testsuite/libffi.call/cls_align_uint64.c: New test case.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02 Hosaka Yuji <hos@tamanegi.org>
-
- PR other/13221
- * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
- Align arguments to 32 bits.
-
-2003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR other/13221
- * testsuite/libffi.call/cls_multi_sshort.c: New test case.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-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.
-
-2003-11-21 Andreas Jaeger <aj@suse.de>
- Andreas Tobler <a.tobler@schweiz.ch>
-
- * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
- * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
- * Makefile.in: Rebuilt.
- * aclocal.m4: Likewise.
- * configure: Likewise.
- * fficonfig.h.in: Likewise.
- * testsuite/lib/libffi-dg.exp: Add include dir.
- * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
- for ffi_closure if available.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
- Add -lgcc_s to additional flags.
-
-2003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.in, include/Makefile.am: PR libgcj/11147, install
- the ffitarget.h header file in a gcc versioned and target
- dependent place.
- * configure: Regenerated.
- * Makefile.in, include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Print result and check
- with dg-output to make debugging easier.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
- static.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_9byte2.c: New test case.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_double.c: Do a check on the result.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/prep_cif.c (ffi_prep_cif): Move the validity check after
- the initialization.
-
-2003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
- FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
- __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-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
-
-2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
- _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
- Used when FFI_DEBUG = 1.
-
-2003-10-14 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
- and align.
-
-2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
- FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
- SPARC64. Cleanup whitespaces.
-
-2003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
- strongarm, xscale. Cleanup whitespaces.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Cleanup whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
- * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
- parameter stack.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
- according to the Darwin/AIX ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_DARWIN): Likewise.
- Remove the outgoing parameter stack logic. Simplify the evaluation
- of the different CASE types.
- (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
- statement in the trampoline code.
-
-2003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
- for the register size.
- (ffi_closure_helper_SYSV): Handle the structure return value
- address correctly.
- (ffi_closure_helper_SYSV): Return the appropriate type when
- the registers are used for the structure return value.
- * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
- the 64-bit return value. Update copyright years.
-
-2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
- srcdir for ffi_mips.h.
-
-2003-09-12 Alan Modra <amodra@bigpond.net.au>
-
- * src/prep_cif.c (initialize_aggregate): Include tail padding in
- structure size.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
- placement of float result.
- * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
- cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Merge identical SH and ARM
- typedefs, and add POWERPC64.
- * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
- struct split over gpr and rest.
- (ffi_prep_cif_machdep): Correct intarg_count for structures.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
- passing correctly.
-
-2003-09-09 Alan Modra <amodra@bigpond.net.au>
-
- * configure: Regenerate.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Remove build rules for ffitest.
- * Makefile.in: Rebuilt.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
- about implicit declaration of abort().
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
- * Makefile.in: Rebuilt.
- * configure.in: Add dejagnu test framework.
- * configure: Rebuilt.
-
- * testsuite/Makefile.am: New file.
- * testsuite/Makefile.in: Built
- * testsuite/lib/libffi-dg.exp: New file.
- * testsuite/config/default.exp: Likewise.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Likewise.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float1.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/many.c: Likewise.
- * testsuite/libffi.call/many_win32.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
- * testsuite/libffi.call/strlen.c: Likewise.
- * testsuite/libffi.call/strlen_win32.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
- * testsuite/libffi.call/struct2.c: Likewise.
- * testsuite/libffi.call/struct3.c: Likewise.
- * testsuite/libffi.call/struct4.c: Likewise.
- * testsuite/libffi.call/struct5.c: Likewise.
- * testsuite/libffi.call/struct6.c: Likewise.
- * testsuite/libffi.call/struct7.c: Likewise.
- * testsuite/libffi.call/struct8.c: Likewise.
- * testsuite/libffi.call/struct9.c: Likewise.
- * testsuite/libffi.special/special.exp: New file.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
- copyright years.
-
-2003-08-02 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
- structure passing.
- (ffi_closure_helper_LINUX64): Likewise.
- * src/powerpc/linux64.S: Remove code writing to parm save area.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
- address in lr from ffi_closure_helper_LINUX64 call to calculate
- table address. Optimize function tail.
-
-2003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/sparc/ffi.c: Handle all floating point registers.
- * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
-
- * README: Note that libffi is not part of GCC. Update the project
- URL and status.
-
-2003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
- Use C style comments.
-
-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
- should be read-only.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * include/ffi.h.in (EH_FRAME_FLAGS): Define.
- * src/alpha/osf.S: Use EH_FRAME_FLAGS.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
- * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
- if -fpic/-fPIC/-mrelocatable.
- * src/powerpc/powerpc_closure.S: Likewise.
- * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
- #write in .eh_frame flags.
- * src/sparc/v9.S: Likewise.
- * src/x86/unix64.S: Use EH_FRAME_FLAGS.
- * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
- * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
-
-2003-05-07 Jeff Sturm <jsturm@one-point.com>
-
- Fixes PR bootstrap/10656
- * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
- support for .register pseudo-op.
- * src/sparc/v8.S: Use it.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2003-04-18 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (POWERPC64): Define if 64-bit.
- (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
- Make it the default on POWERPC64.
- (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
- * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
- * configure: Rebuilt.
- * src/powerpc/ffi.c (hidden): Define.
- (ffi_prep_args_SYSV): Renamed from
- ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
- (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
- ASM_NEEDS_REGISTERS64): New.
- (ffi_prep_args64): New function.
- (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
- (ffi_call): Likewise.
- (ffi_prep_closure): Likewise.
- (flush_icache): Surround by #ifndef POWERPC64.
- (ffi_dblfl): New union type.
- (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
- (ffi_closure_helper_LINUX64): New function.
- * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
- __powerpc64__.
- * src/powerpc/sysv.S: Likewise.
- (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
- * src/powerpc/linux64.S: New file.
- * src/powerpc/linux64_closure.S: New file.
- * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
- src/powerpc/linux64_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
- * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
- closure_test_fn3): Fix result printing on big-endian 64-bit
- machines.
- (main): Print tst2_arg instead of uninitialized tst2_result.
-
- * src/ffitest.c (main): Hide what closure pointer really points to
- from the compiler.
-
-2003-04-16 Richard Earnshaw <rearnsha@arm.com>
-
- * configure.in (arm-*-netbsdelf*): Add configuration.
- (configure): Regenerated.
-
-2003-04-04 Loren J. Rittle <ljrittle@acm.org>
-
- * include/Makefile.in: Regenerate.
-
-2003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
-
- * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
- bit mode.
- * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
- Receive closure pointer through parameter, read args using
- __builtin_dwarf_cfa.
- (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12 Andreas Schwab <schwab@suse.de>
-
- * configure.in: Avoid trailing /. in toolexeclibdir.
- * configure: Rebuilt.
-
-2003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/powerpc/darwin_closure.S:
- Fix alignement bug, allocate 8 bytes for the result.
- * libffi/src/powerpc/aix_closure.S:
- Likewise.
- * libffi/src/powerpc/ffi_darwin.c:
- Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06 Jakub Jelinek <jakub@redhat.com>
-
- * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
- attribute.
-
-2003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
- Andreas Schwab <schwab@suse.de>
-
- * configure.in: Adjust command to source config-ml.in to account
- for changes to the libffi_basedir definition.
- (libffi_basedir): Remove ${srcdir} from value and include trailing
- slash if nonempty.
-
- * configure: Regenerate.
-
-2003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
- * src/x86/ffi64.c (ffi_prep_closure): New.
- (ffi_closure_UNIX64_inner): New.
- * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
- Remove USE_LIBDIR conditional.
- * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
- * Makefile.in, configure: Rebuilt.
-
-2003-01027 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
- * Makefile.in: Regenerate.
-
-2003-01-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
- unwind info.
-
-2003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Add unwind info.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
- (ffi_prep_cif_machdep): Likewise.
- * src/x86/unix64.S: Add unwind info.
-
-2003-01-14 Andreas Jaeger <aj@suse.de>
-
- * src/ffitest.c (main): Only use ffi_closures if those are
- supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/ffitest.c
- add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
- * libffi/src/powerpc/ffi.c
- fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c: Remove RCS version string.
- * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
- * src/ffitest.c (main): Use static storage for closure.
- * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
- * src/sparc/v8.S (ffi_closure_v8): New.
- * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10 Ranjit Mathew <rmathew@hotmail.com>
-
- * include/ffi.h.in: Added FFI_STDCALL ffi_type
- enumeration for X86_WIN32.
- * src/x86/win32.S: Added ffi_call_STDCALL function
- definition.
- * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
- switch cases for recognising FFI_STDCALL and
- calling ffi_call_STDCALL if target is X86_WIN32.
- * src/ffitest.c (my_stdcall_strlen/stdcall_many):
- stdcall versions of the "my_strlen" and "many"
- test functions (for X86_WIN32).
- Added test cases to test stdcall invocation using
- these functions.
-
-2002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26 Jim Wilson <wilson@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23 H.J. Lu <hjl@gnu.org>
-
- * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
- Include ../config/accross.m4.
- * aclocal.m4; Rebuild.
- * configure: Likewise.
-
-2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11 DJ Delorie <dj@redhat.com>
-
- * configure.in: Look for common files in the right place.
-
-2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
- raw data as _Jv_word values, not ffi_raw.
- (ffi_java_ptrarray_to_raw): Likewise.
- (ffi_java_rvalue_to_raw): New function.
- (ffi_java_raw_call): Call it.
- (ffi_java_raw_to_rvalue): New function.
- (ffi_java_translate_args): Call it.
- * src/ffitest.c (closure_test_fn): Interpret return value
- as ffi_arg, not int.
- * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
- FFI_TYPE_POINTER case.
- (ffi_closure_helper_SYSV): Likewise. Also, assume return
- values extended to word size.
-
-2002-10-02 Andreas Jaeger <aj@suse.de>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01 Bo Thorsen <bo@smetana.suse.de>
-
- * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
-
- * configure.in: Add s390x-*-linux-* target.
- * configure: Regenerate.
- * include/ffi.h.in: Define S390X for s390x targets.
- (FFI_CLOSURES): Define for s390/s390x.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
- * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
- * src/s390/ffi.c: Major rework of existing code. Add support for
- s390x targets. Add closure support.
- * src/s390/sysv.S: Likewise.
-
-2002-09-29 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: Fix typo.
-
-2002-09-28 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
- has defined __USER_LABEL_PREFIX__, then use it in CNAME.
- (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27 Bo Thorsen <bo@suse.de>
-
- * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * configure.in (sh[34]*-*-linux*): Add brackets.
- * configure: Regenerate.
-
-2002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * Makefile.am: Add SH support.
- * Makefile.in: Regenerate.
- * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
- * configure: Regenerate.
- * include/ffi.h.in: Add SH support.
- * src/sh/ffi.c: New file.
- * src/sh/sysv.S: New file.
- * src/types.c: Add SH support.
-
-2002-07-16 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi64.c: New file that adds x86-64 support.
- * src/x86/unix64.S: New file that handles argument setup for
- x86-64.
- * src/x86/sysv.S: Don't use this on x86-64.
- * src/x86/ffi.c: Don't use this on x86-64.
- Remove unused vars.
- * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
- for x86-64.
- * src/ffitest.c (struct6): New test that tests a special case in
- the x86-64 ABI.
- (struct7): Likewise.
- (struct8): Likewise.
- (struct9): Likewise.
- (closure_test_fn): Silence warning about this when it's not used.
- (main): Add the new tests.
- (main): Fix a couple of wrong casts and silence some compiler warnings.
- * include/ffi.h.in: Add x86-64 ABI definition.
- * fficonfig.h.in: Regenerate.
- * Makefile.am: Add x86-64 support.
- * configure.in: Likewise.
- * Makefile.in: Regenerate.
- * configure: Likewise.
-
-2002-06-24 Bo Thorsen <bo@suse.de>
-
- * src/types.c: Merge settings for similar architectures.
- Add x86-64 sizes and alignments.
-
-2002-06-23 Bo Thorsen <bo@suse.de>
-
- * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
- * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
- * src/mips/ffi.c (ffi_prep_args): Likewise.
- * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18 H.J. Lu (hjl@gnu.org)
-
- * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
- (libffi_la_SOURCES): Support MIPS_LINUX.
- (libffi_convenience_la_SOURCES): Likewise.
- * Makefile.in: Regenerated.
-
- * configure.in (mips64*-*): Skip.
- (mips*-*-linux*): New.
- * configure: Regenerated.
-
- * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
-
-2002-05-27 Roger Sayle <roger@eyesopen.com>
-
- * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
- fix formatting.
-
-2002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
- beginning of function (for older apple cc).
-
-2002-05-08 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
- script entry, and set LD to it when configuring multilibs.
- * configure: Rebuilt.
-
-2002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (sparc64-*-netbsd*): Add target.
- (sparc-*-netbsdelf*): Likewise.
- * configure: Regenerate.
-
-2002-04-28 David S. Miller <davem@redhat.com>
-
- * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
-
- * Makefile.am: Add Linux for S/390 support.
- * Makefile.in: Regenerate.
- * configure.in: Add Linux for S/390 support.
- * configure: Regenerate.
- * include/ffi.h.in: Add Linux for S/390 support.
- * src/s390/ffi.c: New file from libffi CVS tree.
- * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
- %r_disp32().
- * src/sparc/v8.S: Use it.
- * src/sparc/v9.S: Likewise.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2002-04-08 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
- correctly.
- * src/ia64/unix.S: Add unwind information. Fix comments.
- Save sp in a way that's compatible with unwind info.
- (ffi_call_unix): Correctly restore sp in all cases.
- * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08 Jakub Jelinek <jakub@redhat.com>
-
- * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (alpha*-*-netbsd*): Add target.
- * configure: Regenerate.
-
-2002-04-04 Jeff Sturm <jsturm@one-point.com>
-
- * src/sparc/v8.S: Add unwind info.
- * src/sparc/v9.S: Likewise.
-
-2002-03-30 Krister Walfridsson <cato@df.lth.se>
-
- * configure.in: Enable i*86-*-netbsdelf*.
- * configure: Rebuilt.
-
-2002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
-
- PR other/2620
- * src/mips/n32.s: Delete
- * src/mips/o32.s: Delete
-
-2002-03-21 Loren J. Rittle <ljrittle@acm.org>
-
- * configure.in: Enable alpha*-*-freebsd*.
- * configure: Rebuilt.
-
-2002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * Makefile.am: libfficonvenience -> libffi_convenience.
- * Makefile.in: Rebuilt.
-
- * Makefile.am: Define ffitest_OBJECTS.
- * Makefile.in: Rebuilt.
-
-2002-03-07 Andreas Tobler <toa@pop.agri.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
- (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
- (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
- * Makefile.in: Regenerate.
- * include/ffi.h.in: Add AIX and Darwin closure definitions.
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
- (flush_icache, flush_range): New functions.
- (ffi_closure_helper_DARWIN): New function.
- * src/powerpc/aix_closure.S: New file.
- * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add typedef for ffi_arg.
- * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21 Andreas Tobler <toa@pop.agri.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
- number of GPRs for floating-point arguments.
-
-2002-01-31 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Replace CHECK_SIZEOF and endian tests with
- cross-compiler friendly macros.
- * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
- macros.
-
-2002-01-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): New.
- * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
- (TARGET_SRC_POWERPC_AIX): New.
- (POWERPC_AIX): New stanza.
- * Makefile.in: Regenerate.
- * configure.in: Add AIX case.
- * configure: Regenerate.
- * include/ffi.h.in (ffi_abi): Add FFI_AIX.
- * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
- size. Fix "long double" support.
- (ffi_call): Add FFI_AIX case.
- * src/powerpc/aix.S: New.
-
-2001-10-09 John Hornkvist <john@toastedmarshmallow.com>
-
- Implement Darwin PowerPC ABI.
- * configure.in: Handle powerpc-*-darwin*.
- * Makefile.am: Set source files for POWERPC_DARWIN.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
- * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
- POWERPC_DARWIN.
- * src/powerpc/darwin.S: New file.
- * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .balign directive.
- Use C style comments.
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
- Fixes PR bootstrap/3563.
-
-2001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.in: Recognize sparc*-sun-* host.
- * configure: Regenerate.
-
-2001-06-06 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S: Add unwind info.
- * src/powerpc/sysv.S: Add unwind info.
- * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31 Jeff Sturm <jsturm@one-point.com>
-
- * configure.in: Fix AC_ARG_ENABLE usage.
- * configure: Rebuilt.
-
-2001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * configure.in: Remove warning about beta code.
- * configure: Rebuilt.
-
-2001-04-25 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/ia64/unix.S: Restore stack pointer when returning from
- ffi_closure_UNIX.
- * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18 Jim Wilson <wilson@redhat.com>
-
- * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
- to eliminate RAW DV.
-
-2001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
-
- * Makefile.am: Make a libtool convenience library.
- * Makefile.in: Rebuilt.
-
-2001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Use different syntax for subdirectory creation.
- * configure: Rebuilt.
-
-2001-03-27 Jon Beniston <jon@beniston.com>
-
- * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
- * configure: Rebuilt.
- * Makefile.am: Added X86_WIN32 target support.
- * Makefile.in: Rebuilt.
-
- * include/ffi.h.in: Added X86_WIN32 target support.
-
- * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
- * src/types.c: Added X86_WIN32 target support.
-
- * src/x86/win32.S: New file. Based on sysv.S, but with EH
- stuff removed and made to work with CygWin's gas.
-
-2001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Make target subdirectory in build dir.
- * Makefile.am: Override suffix based rules to specify correct output
- subdirectory.
- * Makefile.in: Rebuilt.
- * configure: Rebuilt.
-
-2001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
-
- * src/powerpc/ppc_closure.S: New file.
- * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
- involving long long and register pairs.
- (ffi_prep_closure): New function.
- (flush_icache): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * Makefile.in: Rebuilt.
- * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19 Tom Tromey <tromey@redhat.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02 Nick Clifton <nickc@redhat.com>
-
- * include/ffi.h.in: Remove RCS ident string.
- * include/ffi_mips.h: Remove RCS ident string.
- * src/debug.c: Remove RCS ident string.
- * src/ffitest.c: Remove RCS ident string.
- * src/prep_cif.c: Remove RCS ident string.
- * src/types.c: Remove RCS ident string.
- * src/alpha/ffi.c: Remove RCS ident string.
- * src/alpha/osf.S: Remove RCS ident string.
- * src/arm/ffi.c: Remove RCS ident string.
- * src/arm/sysv.S: Remove RCS ident string.
- * src/mips/ffi.c: Remove RCS ident string.
- * src/mips/n32.S: Remove RCS ident string.
- * src/mips/o32.S: Remove RCS ident string.
- * src/sparc/ffi.c: Remove RCS ident string.
- * src/sparc/v8.S: Remove RCS ident string.
- * src/sparc/v9.S: Remove RCS ident string.
- * src/x86/ffi.c: Remove RCS ident string.
- * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * include/ffi.h.in: Change sourceware.cygnus.com references to
- gcc.gnu.org.
-
-2000-12-09 Richard Henderson <rth@redhat.com>
-
- * src/alpha/ffi.c (ffi_call): Simplify struct return test.
- (ffi_closure_osf_inner): Index rather than increment avalue
- and arg_types. Give ffi_closure_osf the raw return value type.
- * src/alpha/osf.S (ffi_closure_osf): Handle return value type
- promotion.
-
-2000-12-07 Richard Henderson <rth@redhat.com>
-
- * src/raw_api.c (ffi_translate_args): Fix typo.
- (ffi_prep_closure): Likewise.
-
- * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
- FFI_TRAMPOLINE_SIZE.
- * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
- cif->bytes for new ffi_call_osf implementation.
- (ffi_prep_args): Absorb into ...
- (ffi_call): ... here. Do all stack allocation here and
- avoid a callback function.
- (ffi_prep_closure, ffi_closure_osf_inner): New.
- * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
- (ffi_closure_osf): New.
-
-2000-09-10 Alexandre Oliva <aoliva@redhat.com>
-
- * config.guess, config.sub, install-sh: Removed.
- * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
- * Makefile.in: Rebuilt.
-
- * acinclude.m4: Include libtool macros from the top level.
- * aclocal.m4, configure: Rebuilt.
-
-2000-08-22 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
- * configure: Rebuilt.
-
-2000-05-11 Scott Bambrough <scottb@netwinder.org>
-
- * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
- memory correctly. Use conditional instructions, not branches where
- possible.
-
-2000-05-04 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Match `arm*-*-linux-*'.
- From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (SUBDIRS): Define.
- (AM_MAKEFLAGS): Likewise.
- (Multilib support.): Add section.
- * Makefile.in: Rebuilt.
- * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
- New variables. Set for gcc using -print-multi-lib. Export them
- to libtool.
- (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
- * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
- for -shared links.
- (extra_compiler_flags_value, extra_compiler_flags): Check these
- for extra compiler options which need to be passed down in
- compiler_flags.
-
-2000-04-16 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
- Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
- * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
- Replace all void * sizeofs with sizeof(int).
- Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
- different than DOUBLE.
- Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
- (ffi_prep_args_v9): New function.
- (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
- (ffi_V9_return_struct): New function.
- (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
- 32bit code (not yet cross-arch calls).
- * src/sparc/v8.S: Add struct return delay nop.
- Handle long long.
- * src/sparc/v9.S: New file.
- * src/prep_cif.c (ffi_prep_cif): Return structure pointer
- is used on sparc64 only for structures larger than 32 bytes.
- Pass by reference for structures is done for structure arguments
- larger than 16 bytes.
- * src/ffitest.c (main): Use 64bit rint on sparc64.
- Run long long tests on sparc.
- * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
- sparc64.
- (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
- on sparc64.
- * configure.in (sparc-*-linux*): New supported target.
- (sparc64-*-linux*): Likewise.
- * configure: Rebuilt.
- * Makefile.am: Add v9.S to SPARC files.
- * Makefile.in: Likewise.
- (LINK): Surround $(CCLD) into double quotes, so that multilib
- compiles work correctly.
-
-2000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: (i*86-*-solaris*): New libffi target. Patch
- proposed by Bryce McKinlay.
-
-2000-03-20 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
-
- * config.guess, config.sub: Update from the gcc tree.
- Fix for PR libgcj/168.
-
-2000-03-03 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Fixed ia64 by hand.
-
- * configure: Rebuilt.
- * configure.in (--enable-multilib): New option.
- (libffi_basedir): New subst.
- (AC_OUTPUT): Added multilib code.
-
-2000-03-02 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
- directory name.
-
-2000-02-25 Hans Boehm <boehm@acm.org>
-
- * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
- files.
- * src/raw_api.c (ffi_translate_args): Fixed typo in argument
- list.
- (ffi_prep_raw_closure): Use ffi_translate_args, not
- ffi_closure_translate.
- * src/java_raw_api.c: New file.
- * src/ffitest.c (closure_test_fn): New function.
- (main): Define `rint' as long long on IA64. Added new test when
- FFI_CLOSURES is defined.
- * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
- (ffi_abi): Recognize IA64.
- (ffi_raw): Added `flt' field.
- Added "Java raw API" code.
- * configure.in: Recognize ia64.
- * Makefile.am (TARGET_SRC_IA64): New macro.
- (libffi_la_common_SOURCES): Added java_raw_api.c.
- (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01 Tom Tromey <tromey@cygnus.com>
-
- * include/ffi.h.in: Removed PACKAGE and VERSION defines and
- undefs.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
- * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
- Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
- * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09 Anthony Green <green@cygnus.com>
-
- * include/ffi.h.in: Try to work around messy header problem
- with PACKAGE and VERSION.
-
- * configure: Rebuilt.
- * configure.in: Change version to 2.00-beta.
-
- * fficonfig.h.in: Rebuilt.
- * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
- * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
-
- * src/x86/ffi.c (ffi_closure_SYSV): New function.
- (ffi_prep_incoming_args_SYSV): Ditto.
- (ffi_prep_closure): Ditto.
- (ffi_closure_raw_SYSV): Ditto.
- (ffi_prep_raw_closure): More ditto.
- (ffi_call_raw): Final ditto.
-
- * include/ffi.h.in: Add definitions for closure and raw API.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
- FFI_TYPE_UINT64.
-
- * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
- * src/raw_api.c: New file.
-
- * include/ffi.h.in (ffi_raw): New type.
- (UINT_ARG, SINT_ARG): New defines.
- (ffi_closure, ffi_raw_closure): New types.
- (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
- * configure.in: Add check for endianness and sizeof void*.
-
- * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
- instead of directly.
-
- * configure: Rebuilt.
-
-Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
-
- * configure.in: Add x86 and powerpc BeOS configurations.
- From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09 Anthony Green <green@cygnus.com>
-
- * configure.in: Add warning about this being beta code.
- Remove src/Makefile.am from the picture.
- * configure: Rebuilt.
-
- * Makefile.am: Move logic from src/Makefile.am. Add changes
- to support libffi as a target library.
- * Makefile.in: Rebuilt.
-
- * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
- Upgraded to new autoconf, automake, libtool.
-
- * README: Tweaks.
-
- * LICENSE: Update copyright date.
-
- * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29 Anthony Green <green@cygnus.com>
-
- * include/ChangeLog: Removed.
- * src/ChangeLog: Removed.
- * src/mips/ChangeLog: Removed.
- * src/sparc/ChangeLog: Remboved.
- * src/x86/ChangeLog: Removed.
-
- * ChangeLog.v1: Created.
diff --git a/.pc/sparc-v8-aggregate-returns/src/sparc/ffi.c b/.pc/sparc-v8-aggregate-returns/src/sparc/ffi.c
deleted file mode 100644
index 1d01f59..0000000
--- a/.pc/sparc-v8-aggregate-returns/src/sparc/ffi.c
+++ /dev/null
@@ -1,625 +0,0 @@
-/* -----------------------------------------------------------------------
- ffi.c - Copyright (c) 1996, 2003, 2004, 2007, 2008 Red Hat, Inc.
-
- SPARC Foreign Function Interface
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
- ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#include <stdlib.h>
-
-
-/* ffi_prep_args is called by the assembly routine once stack space
- has been allocated for the function's arguments */
-
-void ffi_prep_args_v8(char *stack, extended_cif *ecif)
-{
- int i;
- void **p_argv;
- char *argp;
- ffi_type **p_arg;
-
- /* Skip 16 words for the window save area */
- argp = stack + 16*sizeof(int);
-
- /* This should only really be done when we are returning a structure,
- however, it's faster just to do it all the time...
-
- if ( ecif->cif->rtype->type == FFI_TYPE_STRUCT ) */
- *(int *) argp = (long)ecif->rvalue;
-
- /* And 1 word for the structure return value. */
- argp += sizeof(int);
-
-#ifdef USING_PURIFY
- /* Purify will probably complain in our assembly routine, unless we
- zero out this memory. */
-
- ((int*)argp)[0] = 0;
- ((int*)argp)[1] = 0;
- ((int*)argp)[2] = 0;
- ((int*)argp)[3] = 0;
- ((int*)argp)[4] = 0;
- ((int*)argp)[5] = 0;
-#endif
-
- p_argv = ecif->avalue;
-
- for (i = ecif->cif->nargs, p_arg = ecif->cif->arg_types; i; i--, p_arg++)
- {
- size_t z;
-
- if ((*p_arg)->type == FFI_TYPE_STRUCT
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- || (*p_arg)->type == FFI_TYPE_LONGDOUBLE
-#endif
- )
- {
- *(unsigned int *) argp = (unsigned long)(* p_argv);
- z = sizeof(int);
- }
- else
- {
- z = (*p_arg)->size;
- if (z < sizeof(int))
- {
- z = sizeof(int);
- switch ((*p_arg)->type)
- {
- case FFI_TYPE_SINT8:
- *(signed int *) argp = *(SINT8 *)(* p_argv);
- break;
-
- case FFI_TYPE_UINT8:
- *(unsigned int *) argp = *(UINT8 *)(* p_argv);
- break;
-
- case FFI_TYPE_SINT16:
- *(signed int *) argp = *(SINT16 *)(* p_argv);
- break;
-
- case FFI_TYPE_UINT16:
- *(unsigned int *) argp = *(UINT16 *)(* p_argv);
- break;
-
- default:
- FFI_ASSERT(0);
- }
- }
- else
- {
- memcpy(argp, *p_argv, z);
- }
- }
- p_argv++;
- argp += z;
- }
-
- return;
-}
-
-int ffi_prep_args_v9(char *stack, extended_cif *ecif)
-{
- int i, ret = 0;
- int tmp;
- void **p_argv;
- char *argp;
- ffi_type **p_arg;
-
- tmp = 0;
-
- /* Skip 16 words for the window save area */
- argp = stack + 16*sizeof(long long);
-
-#ifdef USING_PURIFY
- /* Purify will probably complain in our assembly routine, unless we
- zero out this memory. */
-
- ((long long*)argp)[0] = 0;
- ((long long*)argp)[1] = 0;
- ((long long*)argp)[2] = 0;
- ((long long*)argp)[3] = 0;
- ((long long*)argp)[4] = 0;
- ((long long*)argp)[5] = 0;
-#endif
-
- p_argv = ecif->avalue;
-
- if (ecif->cif->rtype->type == FFI_TYPE_STRUCT &&
- ecif->cif->rtype->size > 32)
- {
- *(unsigned long long *) argp = (unsigned long)ecif->rvalue;
- argp += sizeof(long long);
- tmp = 1;
- }
-
- for (i = 0, p_arg = ecif->cif->arg_types; i < ecif->cif->nargs;
- i++, p_arg++)
- {
- size_t z;
-
- z = (*p_arg)->size;
- switch ((*p_arg)->type)
- {
- case FFI_TYPE_STRUCT:
- if (z > 16)
- {
- /* For structures larger than 16 bytes we pass reference. */
- *(unsigned long long *) argp = (unsigned long)* p_argv;
- argp += sizeof(long long);
- tmp++;
- p_argv++;
- continue;
- }
- /* FALLTHROUGH */
- case FFI_TYPE_FLOAT:
- case FFI_TYPE_DOUBLE:
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- case FFI_TYPE_LONGDOUBLE:
-#endif
- ret = 1; /* We should promote into FP regs as well as integer. */
- break;
- }
- if (z < sizeof(long long))
- {
- switch ((*p_arg)->type)
- {
- case FFI_TYPE_SINT8:
- *(signed long long *) argp = *(SINT8 *)(* p_argv);
- break;
-
- case FFI_TYPE_UINT8:
- *(unsigned long long *) argp = *(UINT8 *)(* p_argv);
- break;
-
- case FFI_TYPE_SINT16:
- *(signed long long *) argp = *(SINT16 *)(* p_argv);
- break;
-
- case FFI_TYPE_UINT16:
- *(unsigned long long *) argp = *(UINT16 *)(* p_argv);
- break;
-
- case FFI_TYPE_SINT32:
- *(signed long long *) argp = *(SINT32 *)(* p_argv);
- break;
-
- case FFI_TYPE_UINT32:
- *(unsigned long long *) argp = *(UINT32 *)(* p_argv);
- break;
-
- case FFI_TYPE_FLOAT:
- *(float *) (argp + 4) = *(FLOAT32 *)(* p_argv); /* Right justify */
- break;
-
- case FFI_TYPE_STRUCT:
- memcpy(argp, *p_argv, z);
- break;
-
- default:
- FFI_ASSERT(0);
- }
- z = sizeof(long long);
- tmp++;
- }
- else if (z == sizeof(long long))
- {
- memcpy(argp, *p_argv, z);
- z = sizeof(long long);
- tmp++;
- }
- else
- {
- if ((tmp & 1) && (*p_arg)->alignment > 8)
- {
- tmp++;
- argp += sizeof(long long);
- }
- memcpy(argp, *p_argv, z);
- z = 2 * sizeof(long long);
- tmp += 2;
- }
- p_argv++;
- argp += z;
- }
-
- return ret;
-}
-
-/* Perform machine dependent cif processing */
-ffi_status ffi_prep_cif_machdep(ffi_cif *cif)
-{
- int wordsize;
-
- if (cif->abi != FFI_V9)
- {
- wordsize = 4;
-
- /* If we are returning a struct, this will already have been added.
- Otherwise we need to add it because it's always got to be there! */
-
- if (cif->rtype->type != FFI_TYPE_STRUCT)
- cif->bytes += wordsize;
-
- /* sparc call frames require that space is allocated for 6 args,
- even if they aren't used. Make that space if necessary. */
-
- if (cif->bytes < 4*6+4)
- cif->bytes = 4*6+4;
- }
- else
- {
- wordsize = 8;
-
- /* sparc call frames require that space is allocated for 6 args,
- even if they aren't used. Make that space if necessary. */
-
- if (cif->bytes < 8*6)
- cif->bytes = 8*6;
- }
-
- /* Adjust cif->bytes. to include 16 words for the window save area,
- and maybe the struct/union return pointer area, */
-
- cif->bytes += 16 * wordsize;
-
- /* The stack must be 2 word aligned, so round bytes up
- appropriately. */
-
- cif->bytes = ALIGN(cif->bytes, 2 * wordsize);
-
- /* Set the return type flag */
- switch (cif->rtype->type)
- {
- case FFI_TYPE_VOID:
- case FFI_TYPE_FLOAT:
- case FFI_TYPE_DOUBLE:
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- case FFI_TYPE_LONGDOUBLE:
-#endif
- cif->flags = cif->rtype->type;
- break;
-
- case FFI_TYPE_STRUCT:
- if (cif->abi == FFI_V9 && cif->rtype->size > 32)
- cif->flags = FFI_TYPE_VOID;
- else
- cif->flags = FFI_TYPE_STRUCT;
- break;
-
- case FFI_TYPE_SINT8:
- case FFI_TYPE_UINT8:
- case FFI_TYPE_SINT16:
- case FFI_TYPE_UINT16:
- if (cif->abi == FFI_V9)
- cif->flags = FFI_TYPE_INT;
- else
- cif->flags = cif->rtype->type;
- break;
-
- case FFI_TYPE_SINT64:
- case FFI_TYPE_UINT64:
- if (cif->abi == FFI_V9)
- cif->flags = FFI_TYPE_INT;
- else
- cif->flags = FFI_TYPE_SINT64;
- break;
-
- default:
- cif->flags = FFI_TYPE_INT;
- break;
- }
- return FFI_OK;
-}
-
-int ffi_v9_layout_struct(ffi_type *arg, int off, char *ret, char *intg, char *flt)
-{
- ffi_type **ptr = &arg->elements[0];
-
- while (*ptr != NULL)
- {
- if (off & ((*ptr)->alignment - 1))
- off = ALIGN(off, (*ptr)->alignment);
-
- switch ((*ptr)->type)
- {
- case FFI_TYPE_STRUCT:
- off = ffi_v9_layout_struct(*ptr, off, ret, intg, flt);
- off = ALIGN(off, FFI_SIZEOF_ARG);
- break;
- case FFI_TYPE_FLOAT:
- case FFI_TYPE_DOUBLE:
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- case FFI_TYPE_LONGDOUBLE:
-#endif
- memmove(ret + off, flt + off, (*ptr)->size);
- off += (*ptr)->size;
- break;
- default:
- memmove(ret + off, intg + off, (*ptr)->size);
- off += (*ptr)->size;
- break;
- }
- ptr++;
- }
- return off;
-}
-
-
-#ifdef SPARC64
-extern int ffi_call_v9(void *, extended_cif *, unsigned,
- unsigned, unsigned *, void (*fn)(void));
-#else
-extern int ffi_call_v8(void *, extended_cif *, unsigned,
- unsigned, unsigned *, void (*fn)(void));
-#endif
-
-void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
-{
- extended_cif ecif;
- void *rval = rvalue;
-
- ecif.cif = cif;
- ecif.avalue = avalue;
-
- /* If the return value is a struct and we don't have a return */
- /* value address then we need to make one */
-
- ecif.rvalue = rvalue;
- if (cif->rtype->type == FFI_TYPE_STRUCT)
- {
- if (cif->rtype->size <= 32)
- rval = alloca(64);
- else
- {
- rval = NULL;
- if (rvalue == NULL)
- ecif.rvalue = alloca(cif->rtype->size);
- }
- }
-
- switch (cif->abi)
- {
- case FFI_V8:
-#ifdef SPARC64
- /* We don't yet support calling 32bit code from 64bit */
- FFI_ASSERT(0);
-#else
- ffi_call_v8(ffi_prep_args_v8, &ecif, cif->bytes,
- cif->flags, rvalue, fn);
-#endif
- break;
- case FFI_V9:
-#ifdef SPARC64
- ffi_call_v9(ffi_prep_args_v9, &ecif, cif->bytes,
- cif->flags, rval, fn);
- if (rvalue && rval && cif->rtype->type == FFI_TYPE_STRUCT)
- ffi_v9_layout_struct(cif->rtype, 0, (char *)rvalue, (char *)rval, ((char *)rval)+32);
-#else
- /* And vice versa */
- FFI_ASSERT(0);
-#endif
- break;
- default:
- FFI_ASSERT(0);
- break;
- }
-
-}
-
-
-#ifdef SPARC64
-extern void ffi_closure_v9(void);
-#else
-extern void ffi_closure_v8(void);
-#endif
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure* closure,
- ffi_cif* cif,
- void (*fun)(ffi_cif*, void*, void**, void*),
- void *user_data,
- void *codeloc)
-{
- unsigned int *tramp = (unsigned int *) &closure->tramp[0];
- unsigned long fn;
-#ifdef SPARC64
- /* Trampoline address is equal to the closure address. We take advantage
- of that to reduce the trampoline size by 8 bytes. */
- FFI_ASSERT (cif->abi == FFI_V9);
- fn = (unsigned long) ffi_closure_v9;
- tramp[0] = 0x83414000; /* rd %pc, %g1 */
- tramp[1] = 0xca586010; /* ldx [%g1+16], %g5 */
- tramp[2] = 0x81c14000; /* jmp %g5 */
- tramp[3] = 0x01000000; /* nop */
- *((unsigned long *) &tramp[4]) = fn;
-#else
- unsigned long ctx = (unsigned long) codeloc;
- FFI_ASSERT (cif->abi == FFI_V8);
- fn = (unsigned long) ffi_closure_v8;
- tramp[0] = 0x03000000 | fn >> 10; /* sethi %hi(fn), %g1 */
- tramp[1] = 0x05000000 | ctx >> 10; /* sethi %hi(ctx), %g2 */
- tramp[2] = 0x81c06000 | (fn & 0x3ff); /* jmp %g1+%lo(fn) */
- tramp[3] = 0x8410a000 | (ctx & 0x3ff);/* or %g2, %lo(ctx) */
-#endif
-
- closure->cif = cif;
- closure->fun = fun;
- closure->user_data = user_data;
-
- /* Flush the Icache. FIXME: alignment isn't certain, assume 8 bytes */
-#ifdef SPARC64
- asm volatile ("flush %0" : : "r" (closure) : "memory");
- asm volatile ("flush %0" : : "r" (((char *) closure) + 8) : "memory");
-#else
- asm volatile ("iflush %0" : : "r" (closure) : "memory");
- asm volatile ("iflush %0" : : "r" (((char *) closure) + 8) : "memory");
-#endif
-
- return FFI_OK;
-}
-
-int
-ffi_closure_sparc_inner_v8(ffi_closure *closure,
- void *rvalue, unsigned long *gpr, unsigned long *scratch)
-{
- ffi_cif *cif;
- ffi_type **arg_types;
- void **avalue;
- int i, argn;
-
- cif = closure->cif;
- arg_types = cif->arg_types;
- avalue = alloca(cif->nargs * sizeof(void *));
-
- /* Copy the caller's structure return address so that the closure
- returns the data directly to the caller. */
- if (cif->flags == FFI_TYPE_STRUCT
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- || cif->flags == FFI_TYPE_LONGDOUBLE
-#endif
- )
- rvalue = (void *) gpr[0];
-
- /* Always skip the structure return address. */
- argn = 1;
-
- /* Grab the addresses of the arguments from the stack frame. */
- for (i = 0; i < cif->nargs; i++)
- {
- if (arg_types[i]->type == FFI_TYPE_STRUCT
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- || arg_types[i]->type == FFI_TYPE_LONGDOUBLE
-#endif
- )
- {
- /* Straight copy of invisible reference. */
- avalue[i] = (void *)gpr[argn++];
- }
- else if ((arg_types[i]->type == FFI_TYPE_DOUBLE
- || arg_types[i]->type == FFI_TYPE_SINT64
- || arg_types[i]->type == FFI_TYPE_UINT64)
- /* gpr is 8-byte aligned. */
- && (argn % 2) != 0)
- {
- /* Align on a 8-byte boundary. */
- scratch[0] = gpr[argn];
- scratch[1] = gpr[argn+1];
- avalue[i] = scratch;
- scratch -= 2;
- argn += 2;
- }
- else
- {
- /* Always right-justify. */
- argn += ALIGN(arg_types[i]->size, FFI_SIZEOF_ARG) / FFI_SIZEOF_ARG;
- avalue[i] = ((char *) &gpr[argn]) - arg_types[i]->size;
- }
- }
-
- /* Invoke the closure. */
- (closure->fun) (cif, rvalue, avalue, closure->user_data);
-
- /* Tell ffi_closure_sparc how to perform return type promotions. */
- return cif->rtype->type;
-}
-
-int
-ffi_closure_sparc_inner_v9(ffi_closure *closure,
- void *rvalue, unsigned long *gpr, double *fpr)
-{
- ffi_cif *cif;
- ffi_type **arg_types;
- void **avalue;
- int i, argn, fp_slot_max;
-
- cif = closure->cif;
- arg_types = cif->arg_types;
- avalue = alloca(cif->nargs * sizeof(void *));
-
- /* Copy the caller's structure return address so that the closure
- returns the data directly to the caller. */
- if (cif->flags == FFI_TYPE_VOID
- && cif->rtype->type == FFI_TYPE_STRUCT)
- {
- rvalue = (void *) gpr[0];
- /* Skip the structure return address. */
- argn = 1;
- }
- else
- argn = 0;
-
- fp_slot_max = 16 - argn;
-
- /* Grab the addresses of the arguments from the stack frame. */
- for (i = 0; i < cif->nargs; i++)
- {
- if (arg_types[i]->type == FFI_TYPE_STRUCT)
- {
- if (arg_types[i]->size > 16)
- {
- /* Straight copy of invisible reference. */
- avalue[i] = (void *)gpr[argn++];
- }
- else
- {
- /* Left-justify. */
- ffi_v9_layout_struct(arg_types[i],
- 0,
- (char *) &gpr[argn],
- (char *) &gpr[argn],
- (char *) &fpr[argn]);
- avalue[i] = &gpr[argn];
- argn += ALIGN(arg_types[i]->size, FFI_SIZEOF_ARG) / FFI_SIZEOF_ARG;
- }
- }
- else
- {
- /* Right-justify. */
- argn += ALIGN(arg_types[i]->size, FFI_SIZEOF_ARG) / FFI_SIZEOF_ARG;
-
- /* Align on a 16-byte boundary. */
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- if (arg_types[i]->type == FFI_TYPE_LONGDOUBLE && (argn % 2) != 0)
- argn++;
-#endif
- if (i < fp_slot_max
- && (arg_types[i]->type == FFI_TYPE_FLOAT
- || arg_types[i]->type == FFI_TYPE_DOUBLE
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- || arg_types[i]->type == FFI_TYPE_LONGDOUBLE
-#endif
- ))
- avalue[i] = ((char *) &fpr[argn]) - arg_types[i]->size;
- else
- avalue[i] = ((char *) &gpr[argn]) - arg_types[i]->size;
- }
- }
-
- /* Invoke the closure. */
- (closure->fun) (cif, rvalue, avalue, closure->user_data);
-
- /* Tell ffi_closure_sparc how to perform return type promotions. */
- return cif->rtype->type;
-}
diff --git a/.pc/stand-alone/LICENSE b/.pc/stand-alone/LICENSE
deleted file mode 100644
index f591795..0000000
--- a/.pc/stand-alone/LICENSE
+++ /dev/null
@@ -1,20 +0,0 @@
-libffi - Copyright (c) 1996-2003 Red Hat, Inc.
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-``Software''), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be included
-in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS
-OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL CYGNUS SOLUTIONS BE LIABLE FOR ANY CLAIM, DAMAGES OR
-OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-OTHER DEALINGS IN THE SOFTWARE.
diff --git a/.pc/stand-alone/Makefile.am b/.pc/stand-alone/Makefile.am
index 58c037d..23e002e 100644
--- a/.pc/stand-alone/Makefile.am
+++ b/.pc/stand-alone/Makefile.am
@@ -30,8 +30,7 @@ EXTRA_DIST = LICENSE ChangeLog.v1 ChangeLog.libgcj configure.host \
src/x86/ffi.c src/x86/sysv.S src/x86/win32.S src/x86/darwin.S \
src/x86/ffi64.c src/x86/unix64.S src/x86/ffitarget.h \
src/pa/ffitarget.h src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S \
- src/frv/ffi.c src/frv/eabi.S src/frv/ffitarget.h src/dlmalloc.c \
- src/moxie/ffi.c src/moxie/eabi.S
+ src/frv/ffi.c src/frv/eabi.S src/frv/ffitarget.h src/dlmalloc.c
## ################################################################
@@ -77,6 +76,9 @@ AM_MAKEFLAGS = \
"RANLIB=$(RANLIB)" \
"DESTDIR=$(DESTDIR)"
+# Subdir rules rely on $(FLAGS_TO_PASS)
+FLAGS_TO_PASS = $(AM_MAKEFLAGS)
+
MAKEOVERRIDES=
toolexeclib_LTLIBRARIES = libffi.la
@@ -144,9 +146,6 @@ endif
if FRV
nodist_libffi_la_SOURCES += src/frv/eabi.S src/frv/ffi.c
endif
-if MOXIE
-nodist_libffi_la_SOURCES += src/moxie/eabi.S src/moxie/ffi.c
-endif
if S390
nodist_libffi_la_SOURCES += src/s390/sysv.S src/s390/ffi.c
endif
diff --git a/.pc/debug-build/Makefile.in b/.pc/stand-alone/Makefile.in
index 3ac6d29..74ee537 100644
--- a/.pc/debug-build/Makefile.in
+++ b/.pc/stand-alone/Makefile.in
@@ -455,6 +455,9 @@ AM_MAKEFLAGS = \
"RANLIB=$(RANLIB)" \
"DESTDIR=$(DESTDIR)"
+
+# Subdir rules rely on $(FLAGS_TO_PASS)
+FLAGS_TO_PASS = $(AM_MAKEFLAGS)
MAKEOVERRIDES =
toolexeclib_LTLIBRARIES = libffi.la
noinst_LTLIBRARIES = libffi_convenience.la
diff --git a/.pc/stand-alone/README b/.pc/stand-alone/README
deleted file mode 100644
index 3e3ab3f..0000000
--- a/.pc/stand-alone/README
+++ /dev/null
@@ -1,324 +0,0 @@
-This directory contains the libffi package, which is not part of GCC but
-shipped with GCC as convenience.
-
-Status
-======
-
-libffi-3.0.9 was released on December 31, 2009. Check the libffi web
-page for updates: <URL:http://sourceware.org/libffi/>.
-
-
-What is libffi?
-===============
-
-Compilers for high level languages generate code that follow certain
-conventions. These conventions are necessary, in part, for separate
-compilation to work. One such convention is the "calling
-convention". The "calling convention" is essentially a set of
-assumptions made by the compiler about where function arguments will
-be found on entry to a function. A "calling convention" also specifies
-where the return value for a function is found.
-
-Some programs may not know at the time of compilation what arguments
-are to be passed to a function. For instance, an interpreter may be
-told at run-time about the number and types of arguments used to call
-a given function. Libffi can be used in such programs to provide a
-bridge from the interpreter program to compiled code.
-
-The libffi library provides a portable, high level programming
-interface to various calling conventions. This allows a programmer to
-call any function specified by a call interface description at run
-time.
-
-FFI stands for Foreign Function Interface. A foreign function
-interface is the popular name for the interface that allows code
-written in one language to call code written in another language. The
-libffi library really only provides the lowest, machine dependent
-layer of a fully featured foreign function interface. A layer must
-exist above libffi that handles type conversions for values passed
-between the two languages.
-
-
-Supported Platforms
-===================
-
-Libffi has been ported to many different platforms.
-For specific configuration details and testing status, please
-refer to the wiki page here:
-
- http://www.moxielogic.org/wiki/index.php?title=Libffi_3.0.9
-
-At the time of release, the following basic configurations have been
-tested:
-
-|--------------+------------------|
-| Architecture | Operating System |
-|--------------+------------------|
-| Alpha | Linux |
-| ARM | Linux |
-| AVR32 | Linux |
-| HPPA | HPUX |
-| IA-64 | Linux |
-| MIPS | IRIX |
-| MIPS | Linux |
-| MIPS64 | Linux |
-| PowerPC | Linux |
-| PowerPC | Mac OSX |
-| PowerPC | FreeBSD |
-| PowerPC64 | Linux |
-| S390 | Linux |
-| S390X | Linux |
-| SPARC | Linux |
-| SPARC | Solaris |
-| SPARC64 | Linux |
-| SPARC64 | FreeBSD |
-| X86 | FreeBSD |
-| X86 | kFreeBSD |
-| X86 | Linux |
-| X86 | Mac OSX |
-| X86 | OpenBSD |
-| X86 | OS/2 |
-| X86 | Solaris |
-| X86 | Windows/Cygwin |
-| X86 | Windows/MingW |
-| X86-64 | FreeBSD |
-| X86-64 | Linux |
-| X86-64 | OpenBSD |
-|--------------+------------------|
-
-Please send additional platform test results to
-libffi-discuss@sourceware.org and feel free to update the wiki page
-above.
-
-Installing libffi
-=================
-
-First you must configure the distribution for your particular
-system. Go to the directory you wish to build libffi in and run the
-"configure" program found in the root directory of the libffi source
-distribution.
-
-You may want to tell configure where to install the libffi library and
-header files. To do that, use the --prefix configure switch. Libffi
-will install under /usr/local by default.
-
-If you want to enable extra run-time debugging checks use the the
---enable-debug configure switch. This is useful when your program dies
-mysteriously while using libffi.
-
-Another useful configure switch is --enable-purify-safety. Using this
-will add some extra code which will suppress certain warnings when you
-are using Purify with libffi. Only use this switch when using
-Purify, as it will slow down the library.
-
-It's also possible to build libffi on Windows platforms with
-Microsoft's Visual C++ compiler. In this case, use the msvcc.sh
-wrapper script during configuration like so:
-
-path/to/configure --enable-shared --enable-static \
- CC=path/to/msvcc.sh LD=link \
- CPP=\"cl -nologo -EP\"
-
-Configure has many other options. Use "configure --help" to see them all.
-
-Once configure has finished, type "make". Note that you must be using
-GNU make. You can ftp GNU make from prep.ai.mit.edu:/pub/gnu.
-
-To ensure that libffi is working as advertised, type "make check".
-This will require that you have DejaGNU installed.
-
-To install the library and header files, type "make install".
-
-
-History
-=======
-
-See the ChangeLog files for details.
-
-3.0.10 ???-??-??
- Fix the N64 build on mips-sgi-irix6.5.
- Testsuite fixes for Tru64 Unix.
- Enable builds with Microsoft's compiler.
- Enable x86 builds with Sun's compiler.
-
-3.0.9 Dec-31-09
- Add AVR32 and win64 ports. Add ARM softfp support.
- Many fixes for AIX, Solaris, HP-UX, *BSD.
- Several PowerPC and x86-64 bug fixes.
- Build DLL for windows.
-
-3.0.8 Dec-19-08
- Add *BSD, BeOS, and PA-Linux support.
-
-3.0.7 Nov-11-08
- Fix for ppc FreeBSD.
- (thanks to Andreas Tobler)
-
-3.0.6 Jul-17-08
- Fix for closures on sh.
- Mark the sh/sh64 stack as non-executable.
- (both thanks to Kaz Kojima)
-
-3.0.5 Apr-3-08
- Fix libffi.pc file.
- Fix #define ARM for IcedTea users.
- Fix x86 closure bug.
-
-3.0.4 Feb-24-08
- Fix x86 OpenBSD configury.
-
-3.0.3 Feb-22-08
- Enable x86 OpenBSD thanks to Thomas Heller, and
- x86-64 FreeBSD thanks to Björn König and Andreas Tobler.
- Clean up test instruction in README.
-
-3.0.2 Feb-21-08
- Improved x86 FreeBSD support.
- Thanks to Björn König.
-
-3.0.1 Feb-15-08
- Fix instruction cache flushing bug on MIPS.
- Thanks to David Daney.
-
-3.0.0 Feb-15-08
- Many changes, mostly thanks to the GCC project.
- Cygnus Solutions is now Red Hat.
-
- [10 years go by...]
-
-1.20 Oct-5-98
- Raffaele Sena produces ARM port.
-
-1.19 Oct-5-98
- Fixed x86 long double and long long return support.
- m68k bug fixes from Andreas Schwab.
- Patch for DU assembler compatibility for the Alpha from Richard
- Henderson.
-
-1.18 Apr-17-98
- Bug fixes and MIPS configuration changes.
-
-1.17 Feb-24-98
- Bug fixes and m68k port from Andreas Schwab. PowerPC port from
- Geoffrey Keating. Various bug x86, Sparc and MIPS bug fixes.
-
-1.16 Feb-11-98
- Richard Henderson produces Alpha port.
-
-1.15 Dec-4-97
- Fixed an n32 ABI bug. New libtool, auto* support.
-
-1.14 May-13-97
- libtool is now used to generate shared and static libraries.
- Fixed a minor portability problem reported by Russ McManus
- <mcmanr@eq.gs.com>.
-
-1.13 Dec-2-96
- Added --enable-purify-safety to keep Purify from complaining
- about certain low level code.
- Sparc fix for calling functions with < 6 args.
- Linux x86 a.out fix.
-
-1.12 Nov-22-96
- Added missing ffi_type_void, needed for supporting void return
- types. Fixed test case for non MIPS machines. Cygnus Support
- is now Cygnus Solutions.
-
-1.11 Oct-30-96
- Added notes about GNU make.
-
-1.10 Oct-29-96
- Added configuration fix for non GNU compilers.
-
-1.09 Oct-29-96
- Added --enable-debug configure switch. Clean-ups based on LCLint
- feedback. ffi_mips.h is always installed. Many configuration
- fixes. Fixed ffitest.c for sparc builds.
-
-1.08 Oct-15-96
- Fixed n32 problem. Many clean-ups.
-
-1.07 Oct-14-96
- Gordon Irlam rewrites v8.S again. Bug fixes.
-
-1.06 Oct-14-96
- Gordon Irlam improved the sparc port.
-
-1.05 Oct-14-96
- Interface changes based on feedback.
-
-1.04 Oct-11-96
- Sparc port complete (modulo struct passing bug).
-
-1.03 Oct-10-96
- Passing struct args, and returning struct values works for
- all architectures/calling conventions. Expanded tests.
-
-1.02 Oct-9-96
- Added SGI n32 support. Fixed bugs in both o32 and Linux support.
- Added "make test".
-
-1.01 Oct-8-96
- Fixed float passing bug in mips version. Restructured some
- of the code. Builds cleanly with SGI tools.
-
-1.00 Oct-7-96
- First release. No public announcement.
-
-
-Authors & Credits
-=================
-
-libffi was originally written by Anthony Green <green@redhat.com>.
-
-The developers of the GNU Compiler Collection project have made
-innumerable valuable contributions. See the ChangeLog file for
-details.
-
-Some of the ideas behind libffi were inspired by Gianni Mariani's free
-gencall library for Silicon Graphics machines.
-
-The closure mechanism was designed and implemented by Kresten Krab
-Thorup.
-
-Major processor architecture ports were contributed by the following
-developers:
-
-alpha Richard Henderson
-arm Raffaele Sena
-cris Simon Posnjak, Hans-Peter Nilsson
-frv Anthony Green
-ia64 Hans Boehm
-m32r Kazuhiro Inaoka
-m68k Andreas Schwab
-mips Anthony Green, Casey Marshall
-mips64 David Daney
-pa Randolph Chung, Dave Anglin, Andreas Tobler
-powerpc Geoffrey Keating, Andreas Tobler,
- David Edelsohn, John Hornkvist
-powerpc64 Jakub Jelinek
-s390 Gerhard Tonn, Ulrich Weigand
-sh Kaz Kojima
-sh64 Kaz Kojima
-sparc Anthony Green, Gordon Irlam
-x86 Anthony Green, Jon Beniston
-x86-64 Bo Thorsen
-
-Jesper Skov and Andrew Haley both did more than their fair share of
-stepping through the code and tracking down bugs.
-
-Thanks also to Tom Tromey for bug fixes, documentation and
-configuration help.
-
-Thanks to Jim Blandy, who provided some useful feedback on the libffi
-interface.
-
-Andreas Tobler has done a tremendous amount of work on the testsuite.
-
-Alex Oliva solved the executable page problem for SElinux.
-
-The list above is almost certainly incomplete and inaccurate. I'm
-happy to make corrections or additions upon request.
-
-If you have a problem, or have found a bug, please send a note to
-green@redhat.com.
diff --git a/.pc/stand-alone/config.guess b/.pc/stand-alone/config.guess
new file mode 100755
index 0000000..dc84c68
--- /dev/null
+++ b/.pc/stand-alone/config.guess
@@ -0,0 +1,1501 @@
+#! /bin/sh
+# Attempt to guess a canonical system name.
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+# Free Software Foundation, Inc.
+
+timestamp='2009-11-20'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Originally written by Per Bothner. Please send patches (context
+# diff format) to <config-patches@gnu.org> and include a ChangeLog
+# entry.
+#
+# This script attempts to guess a canonical system name similar to
+# config.sub. If it succeeds, it prints the system name on stdout, and
+# exits with 0. Otherwise, it exits with 1.
+#
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION]
+
+Output the configuration name of the system \`$me' is run on.
+
+Operation modes:
+ -h, --help print this help, then exit
+ -t, --time-stamp print date of last modification, then exit
+ -v, --version print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.guess ($timestamp)
+
+Originally written by Per Bothner.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+ case $1 in
+ --time-stamp | --time* | -t )
+ echo "$timestamp" ; exit ;;
+ --version | -v )
+ echo "$version" ; exit ;;
+ --help | --h* | -h )
+ echo "$usage"; exit ;;
+ -- ) # Stop option processing
+ shift; break ;;
+ - ) # Use stdin as input.
+ break ;;
+ -* )
+ echo "$me: invalid option $1$help" >&2
+ exit 1 ;;
+ * )
+ break ;;
+ esac
+done
+
+if test $# != 0; then
+ echo "$me: too many arguments$help" >&2
+ exit 1
+fi
+
+trap 'exit 1' 1 2 15
+
+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+# compiler to aid in system detection is discouraged as it requires
+# temporary files to be created and, as you can see below, it is a
+# headache to deal with in a portable fashion.
+
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+
+# Portable tmp directory creation inspired by the Autoconf team.
+
+set_cc_for_build='
+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+: ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
+dummy=$tmp/dummy ;
+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
+case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,) echo "int x;" > $dummy.c ;
+ for c in cc gcc c89 c99 ; do
+ if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+ CC_FOR_BUILD="$c"; break ;
+ fi ;
+ done ;
+ if test x"$CC_FOR_BUILD" = x ; then
+ CC_FOR_BUILD=no_compiler_found ;
+ fi
+ ;;
+ ,,*) CC_FOR_BUILD=$CC ;;
+ ,*,*) CC_FOR_BUILD=$HOST_CC ;;
+esac ; set_cc_for_build= ;'
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# (ghazi@noc.rutgers.edu 1994-08-24)
+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+ PATH=$PATH:/.attbin ; export PATH
+fi
+
+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+# Note: order is significant - the case branches are not exclusive.
+
+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+ *:NetBSD:*:*)
+ # NetBSD (nbsd) targets should (where applicable) match one or
+ # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+ # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
+ # switched to ELF, *-*-netbsd* would select the old
+ # object file format. This provides both forward
+ # compatibility and a consistent mechanism for selecting the
+ # object file format.
+ #
+ # Note: NetBSD doesn't particularly care about the vendor
+ # portion of the name. We always set it to "unknown".
+ sysctl="sysctl -n hw.machine_arch"
+ UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
+ /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+ case "${UNAME_MACHINE_ARCH}" in
+ armeb) machine=armeb-unknown ;;
+ arm*) machine=arm-unknown ;;
+ sh3el) machine=shl-unknown ;;
+ sh3eb) machine=sh-unknown ;;
+ sh5el) machine=sh5le-unknown ;;
+ *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+ esac
+ # The Operating System including object format, if it has switched
+ # to ELF recently, or will in the future.
+ case "${UNAME_MACHINE_ARCH}" in
+ arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+ eval $set_cc_for_build
+ if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ELF__
+ then
+ # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+ # Return netbsd for either. FIX?
+ os=netbsd
+ else
+ os=netbsdelf
+ fi
+ ;;
+ *)
+ os=netbsd
+ ;;
+ esac
+ # The OS release
+ # Debian GNU/NetBSD machines have a different userland, and
+ # thus, need a distinct triplet. However, they do not need
+ # kernel version information, so it can be replaced with a
+ # suitable tag, in the style of linux-gnu.
+ case "${UNAME_VERSION}" in
+ Debian*)
+ release='-gnu'
+ ;;
+ *)
+ release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+ ;;
+ esac
+ # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+ # contains redundant information, the shorter form:
+ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+ echo "${machine}-${os}${release}"
+ exit ;;
+ *:OpenBSD:*:*)
+ UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+ echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+ exit ;;
+ *:ekkoBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+ exit ;;
+ *:SolidBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
+ exit ;;
+ macppc:MirBSD:*:*)
+ echo powerpc-unknown-mirbsd${UNAME_RELEASE}
+ exit ;;
+ *:MirBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+ exit ;;
+ alpha:OSF1:*:*)
+ case $UNAME_RELEASE in
+ *4.0)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+ ;;
+ *5.*)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+ ;;
+ esac
+ # According to Compaq, /usr/sbin/psrinfo has been available on
+ # OSF/1 and Tru64 systems produced since 1995. I hope that
+ # covers most systems running today. This code pipes the CPU
+ # types through head -n 1, so we only detect the type of CPU 0.
+ ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
+ case "$ALPHA_CPU_TYPE" in
+ "EV4 (21064)")
+ UNAME_MACHINE="alpha" ;;
+ "EV4.5 (21064)")
+ UNAME_MACHINE="alpha" ;;
+ "LCA4 (21066/21068)")
+ UNAME_MACHINE="alpha" ;;
+ "EV5 (21164)")
+ UNAME_MACHINE="alphaev5" ;;
+ "EV5.6 (21164A)")
+ UNAME_MACHINE="alphaev56" ;;
+ "EV5.6 (21164PC)")
+ UNAME_MACHINE="alphapca56" ;;
+ "EV5.7 (21164PC)")
+ UNAME_MACHINE="alphapca57" ;;
+ "EV6 (21264)")
+ UNAME_MACHINE="alphaev6" ;;
+ "EV6.7 (21264A)")
+ UNAME_MACHINE="alphaev67" ;;
+ "EV6.8CB (21264C)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.8AL (21264B)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.8CX (21264D)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.9A (21264/EV69A)")
+ UNAME_MACHINE="alphaev69" ;;
+ "EV7 (21364)")
+ UNAME_MACHINE="alphaev7" ;;
+ "EV7.9 (21364A)")
+ UNAME_MACHINE="alphaev79" ;;
+ esac
+ # A Pn.n version is a patched version.
+ # A Vn.n version is a released version.
+ # A Tn.n version is a released field test version.
+ # A Xn.n version is an unreleased experimental baselevel.
+ # 1.2 uses "1.2" for uname -r.
+ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ exit ;;
+ Alpha\ *:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX subsystem?
+ # Should we change UNAME_MACHINE based on the output of uname instead
+ # of the specific Alpha model?
+ echo alpha-pc-interix
+ exit ;;
+ 21064:Windows_NT:50:3)
+ echo alpha-dec-winnt3.5
+ exit ;;
+ Amiga*:UNIX_System_V:4.0:*)
+ echo m68k-unknown-sysv4
+ exit ;;
+ *:[Aa]miga[Oo][Ss]:*:*)
+ echo ${UNAME_MACHINE}-unknown-amigaos
+ exit ;;
+ *:[Mm]orph[Oo][Ss]:*:*)
+ echo ${UNAME_MACHINE}-unknown-morphos
+ exit ;;
+ *:OS/390:*:*)
+ echo i370-ibm-openedition
+ exit ;;
+ *:z/VM:*:*)
+ echo s390-ibm-zvmoe
+ exit ;;
+ *:OS400:*:*)
+ echo powerpc-ibm-os400
+ exit ;;
+ arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+ echo arm-acorn-riscix${UNAME_RELEASE}
+ exit ;;
+ arm:riscos:*:*|arm:RISCOS:*:*)
+ echo arm-unknown-riscos
+ exit ;;
+ SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+ echo hppa1.1-hitachi-hiuxmpp
+ exit ;;
+ Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+ # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
+ if test "`(/bin/universe) 2>/dev/null`" = att ; then
+ echo pyramid-pyramid-sysv3
+ else
+ echo pyramid-pyramid-bsd
+ fi
+ exit ;;
+ NILE*:*:*:dcosx)
+ echo pyramid-pyramid-svr4
+ exit ;;
+ DRS?6000:unix:4.0:6*)
+ echo sparc-icl-nx6
+ exit ;;
+ DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
+ case `/usr/bin/uname -p` in
+ sparc) echo sparc-icl-nx7; exit ;;
+ esac ;;
+ s390x:SunOS:*:*)
+ echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4H:SunOS:5.*:*)
+ echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+ echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
+ echo i386-pc-auroraux${UNAME_RELEASE}
+ exit ;;
+ i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
+ eval $set_cc_for_build
+ SUN_ARCH="i386"
+ # If there is a compiler, see if it is configured for 64-bit objects.
+ # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
+ # This test works for both compilers.
+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ SUN_ARCH="x86_64"
+ fi
+ fi
+ echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4*:SunOS:6*:*)
+ # According to config.sub, this is the proper way to canonicalize
+ # SunOS6. Hard to guess exactly what SunOS6 will be like, but
+ # it's likely to be more like Solaris than SunOS4.
+ echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4*:SunOS:*:*)
+ case "`/usr/bin/arch -k`" in
+ Series*|S4*)
+ UNAME_RELEASE=`uname -v`
+ ;;
+ esac
+ # Japanese Language versions have a version number like `4.1.3-JL'.
+ echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+ exit ;;
+ sun3*:SunOS:*:*)
+ echo m68k-sun-sunos${UNAME_RELEASE}
+ exit ;;
+ sun*:*:4.2BSD:*)
+ UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+ test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+ case "`/bin/arch`" in
+ sun3)
+ echo m68k-sun-sunos${UNAME_RELEASE}
+ ;;
+ sun4)
+ echo sparc-sun-sunos${UNAME_RELEASE}
+ ;;
+ esac
+ exit ;;
+ aushp:SunOS:*:*)
+ echo sparc-auspex-sunos${UNAME_RELEASE}
+ exit ;;
+ # The situation for MiNT is a little confusing. The machine name
+ # can be virtually everything (everything which is not
+ # "atarist" or "atariste" at least should have a processor
+ # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
+ # to the lowercase version "mint" (or "freemint"). Finally
+ # the system name "TOS" denotes a system which is actually not
+ # MiNT. But MiNT is downward compatible to TOS, so this should
+ # be no problem.
+ atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit ;;
+ atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit ;;
+ *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit ;;
+ milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+ echo m68k-milan-mint${UNAME_RELEASE}
+ exit ;;
+ hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+ echo m68k-hades-mint${UNAME_RELEASE}
+ exit ;;
+ *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+ echo m68k-unknown-mint${UNAME_RELEASE}
+ exit ;;
+ m68k:machten:*:*)
+ echo m68k-apple-machten${UNAME_RELEASE}
+ exit ;;
+ powerpc:machten:*:*)
+ echo powerpc-apple-machten${UNAME_RELEASE}
+ exit ;;
+ RISC*:Mach:*:*)
+ echo mips-dec-mach_bsd4.3
+ exit ;;
+ RISC*:ULTRIX:*:*)
+ echo mips-dec-ultrix${UNAME_RELEASE}
+ exit ;;
+ VAX*:ULTRIX*:*:*)
+ echo vax-dec-ultrix${UNAME_RELEASE}
+ exit ;;
+ 2020:CLIX:*:* | 2430:CLIX:*:*)
+ echo clipper-intergraph-clix${UNAME_RELEASE}
+ exit ;;
+ mips:*:*:UMIPS | mips:*:*:RISCos)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+#ifdef __cplusplus
+#include <stdio.h> /* for printf() prototype */
+ int main (int argc, char *argv[]) {
+#else
+ int main (argc, argv) int argc; char *argv[]; {
+#endif
+ #if defined (host_mips) && defined (MIPSEB)
+ #if defined (SYSTYPE_SYSV)
+ printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+ #endif
+ #if defined (SYSTYPE_SVR4)
+ printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+ #endif
+ #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
+ printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+ #endif
+ #endif
+ exit (-1);
+ }
+EOF
+ $CC_FOR_BUILD -o $dummy $dummy.c &&
+ dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+ SYSTEM_NAME=`$dummy $dummyarg` &&
+ { echo "$SYSTEM_NAME"; exit; }
+ echo mips-mips-riscos${UNAME_RELEASE}
+ exit ;;
+ Motorola:PowerMAX_OS:*:*)
+ echo powerpc-motorola-powermax
+ exit ;;
+ Motorola:*:4.3:PL8-*)
+ echo powerpc-harris-powermax
+ exit ;;
+ Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+ echo powerpc-harris-powermax
+ exit ;;
+ Night_Hawk:Power_UNIX:*:*)
+ echo powerpc-harris-powerunix
+ exit ;;
+ m88k:CX/UX:7*:*)
+ echo m88k-harris-cxux7
+ exit ;;
+ m88k:*:4*:R4*)
+ echo m88k-motorola-sysv4
+ exit ;;
+ m88k:*:3*:R3*)
+ echo m88k-motorola-sysv3
+ exit ;;
+ AViiON:dgux:*:*)
+ # DG/UX returns AViiON for all architectures
+ UNAME_PROCESSOR=`/usr/bin/uname -p`
+ if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+ then
+ if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+ [ ${TARGET_BINARY_INTERFACE}x = x ]
+ then
+ echo m88k-dg-dgux${UNAME_RELEASE}
+ else
+ echo m88k-dg-dguxbcs${UNAME_RELEASE}
+ fi
+ else
+ echo i586-dg-dgux${UNAME_RELEASE}
+ fi
+ exit ;;
+ M88*:DolphinOS:*:*) # DolphinOS (SVR3)
+ echo m88k-dolphin-sysv3
+ exit ;;
+ M88*:*:R3*:*)
+ # Delta 88k system running SVR3
+ echo m88k-motorola-sysv3
+ exit ;;
+ XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+ echo m88k-tektronix-sysv3
+ exit ;;
+ Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+ echo m68k-tektronix-bsd
+ exit ;;
+ *:IRIX*:*:*)
+ echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+ exit ;;
+ ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+ echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
+ exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
+ i*86:AIX:*:*)
+ echo i386-ibm-aix
+ exit ;;
+ ia64:AIX:*:*)
+ if [ -x /usr/bin/oslevel ] ; then
+ IBM_REV=`/usr/bin/oslevel`
+ else
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ fi
+ echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+ exit ;;
+ *:AIX:2:3)
+ if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include <sys/systemcfg.h>
+
+ main()
+ {
+ if (!__power_pc())
+ exit(1);
+ puts("powerpc-ibm-aix3.2.5");
+ exit(0);
+ }
+EOF
+ if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+ then
+ echo "$SYSTEM_NAME"
+ else
+ echo rs6000-ibm-aix3.2.5
+ fi
+ elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+ echo rs6000-ibm-aix3.2.4
+ else
+ echo rs6000-ibm-aix3.2
+ fi
+ exit ;;
+ *:AIX:*:[456])
+ IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+ if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+ IBM_ARCH=rs6000
+ else
+ IBM_ARCH=powerpc
+ fi
+ if [ -x /usr/bin/oslevel ] ; then
+ IBM_REV=`/usr/bin/oslevel`
+ else
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ fi
+ echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+ exit ;;
+ *:AIX:*:*)
+ echo rs6000-ibm-aix
+ exit ;;
+ ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+ echo romp-ibm-bsd4.4
+ exit ;;
+ ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
+ echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
+ exit ;; # report: romp-ibm BSD 4.3
+ *:BOSX:*:*)
+ echo rs6000-bull-bosx
+ exit ;;
+ DPX/2?00:B.O.S.:*:*)
+ echo m68k-bull-sysv3
+ exit ;;
+ 9000/[34]??:4.3bsd:1.*:*)
+ echo m68k-hp-bsd
+ exit ;;
+ hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+ echo m68k-hp-bsd4.4
+ exit ;;
+ 9000/[34678]??:HP-UX:*:*)
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+ case "${UNAME_MACHINE}" in
+ 9000/31? ) HP_ARCH=m68000 ;;
+ 9000/[34]?? ) HP_ARCH=m68k ;;
+ 9000/[678][0-9][0-9])
+ if [ -x /usr/bin/getconf ]; then
+ sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+ case "${sc_cpu_version}" in
+ 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+ 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+ 532) # CPU_PA_RISC2_0
+ case "${sc_kernel_bits}" in
+ 32) HP_ARCH="hppa2.0n" ;;
+ 64) HP_ARCH="hppa2.0w" ;;
+ '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
+ esac ;;
+ esac
+ fi
+ if [ "${HP_ARCH}" = "" ]; then
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+
+ #define _HPUX_SOURCE
+ #include <stdlib.h>
+ #include <unistd.h>
+
+ int main ()
+ {
+ #if defined(_SC_KERNEL_BITS)
+ long bits = sysconf(_SC_KERNEL_BITS);
+ #endif
+ long cpu = sysconf (_SC_CPU_VERSION);
+
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+ case CPU_PA_RISC2_0:
+ #if defined(_SC_KERNEL_BITS)
+ switch (bits)
+ {
+ case 64: puts ("hppa2.0w"); break;
+ case 32: puts ("hppa2.0n"); break;
+ default: puts ("hppa2.0"); break;
+ } break;
+ #else /* !defined(_SC_KERNEL_BITS) */
+ puts ("hppa2.0"); break;
+ #endif
+ default: puts ("hppa1.0"); break;
+ }
+ exit (0);
+ }
+EOF
+ (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+ test -z "$HP_ARCH" && HP_ARCH=hppa
+ fi ;;
+ esac
+ if [ ${HP_ARCH} = "hppa2.0w" ]
+ then
+ eval $set_cc_for_build
+
+ # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
+ # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
+ # generating 64-bit code. GNU and HP use different nomenclature:
+ #
+ # $ CC_FOR_BUILD=cc ./config.guess
+ # => hppa2.0w-hp-hpux11.23
+ # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
+ # => hppa64-hp-hpux11.23
+
+ if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+ grep -q __LP64__
+ then
+ HP_ARCH="hppa2.0w"
+ else
+ HP_ARCH="hppa64"
+ fi
+ fi
+ echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+ exit ;;
+ ia64:HP-UX:*:*)
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+ echo ia64-hp-hpux${HPUX_REV}
+ exit ;;
+ 3050*:HI-UX:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include <unistd.h>
+ int
+ main ()
+ {
+ long cpu = sysconf (_SC_CPU_VERSION);
+ /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+ true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
+ results, however. */
+ if (CPU_IS_PA_RISC (cpu))
+ {
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
+ case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
+ default: puts ("hppa-hitachi-hiuxwe2"); break;
+ }
+ }
+ else if (CPU_IS_HP_MC68K (cpu))
+ puts ("m68k-hitachi-hiuxwe2");
+ else puts ("unknown-hitachi-hiuxwe2");
+ exit (0);
+ }
+EOF
+ $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+ { echo "$SYSTEM_NAME"; exit; }
+ echo unknown-hitachi-hiuxwe2
+ exit ;;
+ 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+ echo hppa1.1-hp-bsd
+ exit ;;
+ 9000/8??:4.3bsd:*:*)
+ echo hppa1.0-hp-bsd
+ exit ;;
+ *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
+ echo hppa1.0-hp-mpeix
+ exit ;;
+ hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+ echo hppa1.1-hp-osf
+ exit ;;
+ hp8??:OSF1:*:*)
+ echo hppa1.0-hp-osf
+ exit ;;
+ i*86:OSF1:*:*)
+ if [ -x /usr/sbin/sysversion ] ; then
+ echo ${UNAME_MACHINE}-unknown-osf1mk
+ else
+ echo ${UNAME_MACHINE}-unknown-osf1
+ fi
+ exit ;;
+ parisc*:Lites*:*:*)
+ echo hppa1.1-hp-lites
+ exit ;;
+ C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+ echo c1-convex-bsd
+ exit ;;
+ C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+ if getsysinfo -f scalar_acc
+ then echo c32-convex-bsd
+ else echo c2-convex-bsd
+ fi
+ exit ;;
+ C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+ echo c34-convex-bsd
+ exit ;;
+ C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+ echo c38-convex-bsd
+ exit ;;
+ C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+ echo c4-convex-bsd
+ exit ;;
+ CRAY*Y-MP:*:*:*)
+ echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*[A-Z]90:*:*:*)
+ echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
+ -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*TS:*:*:*)
+ echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*T3E:*:*:*)
+ echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*SV1:*:*:*)
+ echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ *:UNICOS/mp:*:*)
+ echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+ FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit ;;
+ 5000:UNIX_System_V:4.*:*)
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit ;;
+ i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+ echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+ exit ;;
+ sparc*:BSD/OS:*:*)
+ echo sparc-unknown-bsdi${UNAME_RELEASE}
+ exit ;;
+ *:BSD/OS:*:*)
+ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+ exit ;;
+ *:FreeBSD:*:*)
+ case ${UNAME_MACHINE} in
+ pc98)
+ echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ amd64)
+ echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ *)
+ echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ esac
+ exit ;;
+ i*:CYGWIN*:*)
+ echo ${UNAME_MACHINE}-pc-cygwin
+ exit ;;
+ *:MINGW*:*)
+ echo ${UNAME_MACHINE}-pc-mingw32
+ exit ;;
+ i*:windows32*:*)
+ # uname -m includes "-pc" on this system.
+ echo ${UNAME_MACHINE}-mingw32
+ exit ;;
+ i*:PW*:*)
+ echo ${UNAME_MACHINE}-pc-pw32
+ exit ;;
+ *:Interix*:*)
+ case ${UNAME_MACHINE} in
+ x86)
+ echo i586-pc-interix${UNAME_RELEASE}
+ exit ;;
+ authenticamd | genuineintel | EM64T)
+ echo x86_64-unknown-interix${UNAME_RELEASE}
+ exit ;;
+ IA64)
+ echo ia64-unknown-interix${UNAME_RELEASE}
+ exit ;;
+ esac ;;
+ [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+ echo i${UNAME_MACHINE}-pc-mks
+ exit ;;
+ 8664:Windows_NT:*)
+ echo x86_64-pc-mks
+ exit ;;
+ i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX subsystem?
+ # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
+ # UNAME_MACHINE based on the output of uname instead of i386?
+ echo i586-pc-interix
+ exit ;;
+ i*:UWIN*:*)
+ echo ${UNAME_MACHINE}-pc-uwin
+ exit ;;
+ amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
+ echo x86_64-unknown-cygwin
+ exit ;;
+ p*:CYGWIN*:*)
+ echo powerpcle-unknown-cygwin
+ exit ;;
+ prep*:SunOS:5.*:*)
+ echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ *:GNU:*:*)
+ # the GNU system
+ echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+ exit ;;
+ *:GNU/*:*:*)
+ # other systems with GNU libc and userland
+ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+ exit ;;
+ i*86:Minix:*:*)
+ echo ${UNAME_MACHINE}-pc-minix
+ exit ;;
+ alpha:Linux:*:*)
+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+ EV5) UNAME_MACHINE=alphaev5 ;;
+ EV56) UNAME_MACHINE=alphaev56 ;;
+ PCA56) UNAME_MACHINE=alphapca56 ;;
+ PCA57) UNAME_MACHINE=alphapca56 ;;
+ EV6) UNAME_MACHINE=alphaev6 ;;
+ EV67) UNAME_MACHINE=alphaev67 ;;
+ EV68*) UNAME_MACHINE=alphaev68 ;;
+ esac
+ objdump --private-headers /bin/sh | grep -q ld.so.1
+ if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
+ echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+ exit ;;
+ arm*:Linux:*:*)
+ eval $set_cc_for_build
+ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ARM_EABI__
+ then
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ else
+ echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+ fi
+ exit ;;
+ avr32*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ cris:Linux:*:*)
+ echo cris-axis-linux-gnu
+ exit ;;
+ crisv32:Linux:*:*)
+ echo crisv32-axis-linux-gnu
+ exit ;;
+ frv:Linux:*:*)
+ echo frv-unknown-linux-gnu
+ exit ;;
+ i*86:Linux:*:*)
+ LIBC=gnu
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #ifdef __dietlibc__
+ LIBC=dietlibc
+ #endif
+EOF
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
+ echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+ exit ;;
+ ia64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ m32r*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ m68*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ mips:Linux:*:* | mips64:Linux:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #undef CPU
+ #undef ${UNAME_MACHINE}
+ #undef ${UNAME_MACHINE}el
+ #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+ CPU=${UNAME_MACHINE}el
+ #else
+ #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+ CPU=${UNAME_MACHINE}
+ #else
+ CPU=
+ #endif
+ #endif
+EOF
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+ ;;
+ or32:Linux:*:*)
+ echo or32-unknown-linux-gnu
+ exit ;;
+ padre:Linux:*:*)
+ echo sparc-unknown-linux-gnu
+ exit ;;
+ parisc64:Linux:*:* | hppa64:Linux:*:*)
+ echo hppa64-unknown-linux-gnu
+ exit ;;
+ parisc:Linux:*:* | hppa:Linux:*:*)
+ # Look for CPU level
+ case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+ PA7*) echo hppa1.1-unknown-linux-gnu ;;
+ PA8*) echo hppa2.0-unknown-linux-gnu ;;
+ *) echo hppa-unknown-linux-gnu ;;
+ esac
+ exit ;;
+ ppc64:Linux:*:*)
+ echo powerpc64-unknown-linux-gnu
+ exit ;;
+ ppc:Linux:*:*)
+ echo powerpc-unknown-linux-gnu
+ exit ;;
+ s390:Linux:*:* | s390x:Linux:*:*)
+ echo ${UNAME_MACHINE}-ibm-linux
+ exit ;;
+ sh64*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ sh*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ sparc:Linux:*:* | sparc64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ vax:Linux:*:*)
+ echo ${UNAME_MACHINE}-dec-linux-gnu
+ exit ;;
+ x86_64:Linux:*:*)
+ echo x86_64-unknown-linux-gnu
+ exit ;;
+ xtensa*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ i*86:DYNIX/ptx:4*:*)
+ # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+ # earlier versions are messed up and put the nodename in both
+ # sysname and nodename.
+ echo i386-sequent-sysv4
+ exit ;;
+ i*86:UNIX_SV:4.2MP:2.*)
+ # Unixware is an offshoot of SVR4, but it has its own version
+ # number series starting with 2...
+ # I am not positive that other SVR4 systems won't match this,
+ # I just have to hope. -- rms.
+ # Use sysv4.2uw... so that sysv4* matches it.
+ echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+ exit ;;
+ i*86:OS/2:*:*)
+ # If we were able to find `uname', then EMX Unix compatibility
+ # is probably installed.
+ echo ${UNAME_MACHINE}-pc-os2-emx
+ exit ;;
+ i*86:XTS-300:*:STOP)
+ echo ${UNAME_MACHINE}-unknown-stop
+ exit ;;
+ i*86:atheos:*:*)
+ echo ${UNAME_MACHINE}-unknown-atheos
+ exit ;;
+ i*86:syllable:*:*)
+ echo ${UNAME_MACHINE}-pc-syllable
+ exit ;;
+ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
+ echo i386-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ i*86:*DOS:*:*)
+ echo ${UNAME_MACHINE}-pc-msdosdjgpp
+ exit ;;
+ i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
+ UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+ if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+ echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+ else
+ echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+ fi
+ exit ;;
+ i*86:*:5:[678]*)
+ # UnixWare 7.x, OpenUNIX and OpenServer 6.
+ case `/bin/uname -X | grep "^Machine"` in
+ *486*) UNAME_MACHINE=i486 ;;
+ *Pentium) UNAME_MACHINE=i586 ;;
+ *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
+ esac
+ echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+ exit ;;
+ i*86:*:3.2:*)
+ if test -f /usr/options/cb.name; then
+ UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
+ echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+ elif /bin/uname -X 2>/dev/null >/dev/null ; then
+ UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
+ (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
+ (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
+ && UNAME_MACHINE=i586
+ (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
+ && UNAME_MACHINE=i686
+ (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
+ && UNAME_MACHINE=i686
+ echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+ else
+ echo ${UNAME_MACHINE}-pc-sysv32
+ fi
+ exit ;;
+ pc:*:*:*)
+ # Left here for compatibility:
+ # uname -m prints for DJGPP always 'pc', but it prints nothing about
+ # the processor, so we play safe by assuming i586.
+ # Note: whatever this is, it MUST be the same as what config.sub
+ # prints for the "djgpp" host, or else GDB configury will decide that
+ # this is a cross-build.
+ echo i586-pc-msdosdjgpp
+ exit ;;
+ Intel:Mach:3*:*)
+ echo i386-pc-mach3
+ exit ;;
+ paragon:*:*:*)
+ echo i860-intel-osf1
+ exit ;;
+ i860:*:4.*:*) # i860-SVR4
+ if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+ echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+ else # Add other i860-SVR4 vendors below as they are discovered.
+ echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
+ fi
+ exit ;;
+ mini*:CTIX:SYS*5:*)
+ # "miniframe"
+ echo m68010-convergent-sysv
+ exit ;;
+ mc68k:UNIX:SYSTEM5:3.51m)
+ echo m68k-convergent-sysv
+ exit ;;
+ M680?0:D-NIX:5.3:*)
+ echo m68k-diab-dnix
+ exit ;;
+ M68*:*:R3V[5678]*:*)
+ test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
+ 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
+ OS_REL=''
+ test -r /etc/.relid \
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+ 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4; exit; } ;;
+ NCR*:*:4.2:* | MPRAS*:*:4.2:*)
+ OS_REL='.3'
+ test -r /etc/.relid \
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+ m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
+ echo m68k-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ mc68030:UNIX_System_V:4.*:*)
+ echo m68k-atari-sysv4
+ exit ;;
+ TSUNAMI:LynxOS:2.*:*)
+ echo sparc-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ rs6000:LynxOS:2.*:*)
+ echo rs6000-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
+ echo powerpc-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ SM[BE]S:UNIX_SV:*:*)
+ echo mips-dde-sysv${UNAME_RELEASE}
+ exit ;;
+ RM*:ReliantUNIX-*:*:*)
+ echo mips-sni-sysv4
+ exit ;;
+ RM*:SINIX-*:*:*)
+ echo mips-sni-sysv4
+ exit ;;
+ *:SINIX-*:*:*)
+ if uname -p 2>/dev/null >/dev/null ; then
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ echo ${UNAME_MACHINE}-sni-sysv4
+ else
+ echo ns32k-sni-sysv
+ fi
+ exit ;;
+ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+ # says <Richard.M.Bartel@ccMail.Census.GOV>
+ echo i586-unisys-sysv4
+ exit ;;
+ *:UNIX_System_V:4*:FTX*)
+ # From Gerald Hewes <hewes@openmarket.com>.
+ # How about differentiating between stratus architectures? -djm
+ echo hppa1.1-stratus-sysv4
+ exit ;;
+ *:*:*:FTX*)
+ # From seanf@swdc.stratus.com.
+ echo i860-stratus-sysv4
+ exit ;;
+ i*86:VOS:*:*)
+ # From Paul.Green@stratus.com.
+ echo ${UNAME_MACHINE}-stratus-vos
+ exit ;;
+ *:VOS:*:*)
+ # From Paul.Green@stratus.com.
+ echo hppa1.1-stratus-vos
+ exit ;;
+ mc68*:A/UX:*:*)
+ echo m68k-apple-aux${UNAME_RELEASE}
+ exit ;;
+ news*:NEWS-OS:6*:*)
+ echo mips-sony-newsos6
+ exit ;;
+ R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+ if [ -d /usr/nec ]; then
+ echo mips-nec-sysv${UNAME_RELEASE}
+ else
+ echo mips-unknown-sysv${UNAME_RELEASE}
+ fi
+ exit ;;
+ BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
+ echo powerpc-be-beos
+ exit ;;
+ BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
+ echo powerpc-apple-beos
+ exit ;;
+ BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
+ echo i586-pc-beos
+ exit ;;
+ BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
+ echo i586-pc-haiku
+ exit ;;
+ SX-4:SUPER-UX:*:*)
+ echo sx4-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-5:SUPER-UX:*:*)
+ echo sx5-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-6:SUPER-UX:*:*)
+ echo sx6-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-7:SUPER-UX:*:*)
+ echo sx7-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-8:SUPER-UX:*:*)
+ echo sx8-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-8R:SUPER-UX:*:*)
+ echo sx8r-nec-superux${UNAME_RELEASE}
+ exit ;;
+ Power*:Rhapsody:*:*)
+ echo powerpc-apple-rhapsody${UNAME_RELEASE}
+ exit ;;
+ *:Rhapsody:*:*)
+ echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+ exit ;;
+ *:Darwin:*:*)
+ UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+ case $UNAME_PROCESSOR in
+ i386)
+ eval $set_cc_for_build
+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ UNAME_PROCESSOR="x86_64"
+ fi
+ fi ;;
+ unknown) UNAME_PROCESSOR=powerpc ;;
+ esac
+ echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+ exit ;;
+ *:procnto*:*:* | *:QNX:[0123456789]*:*)
+ UNAME_PROCESSOR=`uname -p`
+ if test "$UNAME_PROCESSOR" = "x86"; then
+ UNAME_PROCESSOR=i386
+ UNAME_MACHINE=pc
+ fi
+ echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+ exit ;;
+ *:QNX:*:4*)
+ echo i386-pc-qnx
+ exit ;;
+ NSE-?:NONSTOP_KERNEL:*:*)
+ echo nse-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+ NSR-?:NONSTOP_KERNEL:*:*)
+ echo nsr-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+ *:NonStop-UX:*:*)
+ echo mips-compaq-nonstopux
+ exit ;;
+ BS2000:POSIX*:*:*)
+ echo bs2000-siemens-sysv
+ exit ;;
+ DS/*:UNIX_System_V:*:*)
+ echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+ exit ;;
+ *:Plan9:*:*)
+ # "uname -m" is not consistent, so use $cputype instead. 386
+ # is converted to i386 for consistency with other x86
+ # operating systems.
+ if test "$cputype" = "386"; then
+ UNAME_MACHINE=i386
+ else
+ UNAME_MACHINE="$cputype"
+ fi
+ echo ${UNAME_MACHINE}-unknown-plan9
+ exit ;;
+ *:TOPS-10:*:*)
+ echo pdp10-unknown-tops10
+ exit ;;
+ *:TENEX:*:*)
+ echo pdp10-unknown-tenex
+ exit ;;
+ KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
+ echo pdp10-dec-tops20
+ exit ;;
+ XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
+ echo pdp10-xkl-tops20
+ exit ;;
+ *:TOPS-20:*:*)
+ echo pdp10-unknown-tops20
+ exit ;;
+ *:ITS:*:*)
+ echo pdp10-unknown-its
+ exit ;;
+ SEI:*:*:SEIUX)
+ echo mips-sei-seiux${UNAME_RELEASE}
+ exit ;;
+ *:DragonFly:*:*)
+ echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+ exit ;;
+ *:*VMS:*:*)
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ case "${UNAME_MACHINE}" in
+ A*) echo alpha-dec-vms ; exit ;;
+ I*) echo ia64-dec-vms ; exit ;;
+ V*) echo vax-dec-vms ; exit ;;
+ esac ;;
+ *:XENIX:*:SysV)
+ echo i386-pc-xenix
+ exit ;;
+ i*86:skyos:*:*)
+ echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+ exit ;;
+ i*86:rdos:*:*)
+ echo ${UNAME_MACHINE}-pc-rdos
+ exit ;;
+ i*86:AROS:*:*)
+ echo ${UNAME_MACHINE}-pc-aros
+ exit ;;
+esac
+
+#echo '(No uname command or uname output not recognized.)' 1>&2
+#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
+
+eval $set_cc_for_build
+cat >$dummy.c <<EOF
+#ifdef _SEQUENT_
+# include <sys/types.h>
+# include <sys/utsname.h>
+#endif
+main ()
+{
+#if defined (sony)
+#if defined (MIPSEB)
+ /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
+ I don't know.... */
+ printf ("mips-sony-bsd\n"); exit (0);
+#else
+#include <sys/param.h>
+ printf ("m68k-sony-newsos%s\n",
+#ifdef NEWSOS4
+ "4"
+#else
+ ""
+#endif
+ ); exit (0);
+#endif
+#endif
+
+#if defined (__arm) && defined (__acorn) && defined (__unix)
+ printf ("arm-acorn-riscix\n"); exit (0);
+#endif
+
+#if defined (hp300) && !defined (hpux)
+ printf ("m68k-hp-bsd\n"); exit (0);
+#endif
+
+#if defined (NeXT)
+#if !defined (__ARCHITECTURE__)
+#define __ARCHITECTURE__ "m68k"
+#endif
+ int version;
+ version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
+ if (version < 4)
+ printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
+ else
+ printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
+ exit (0);
+#endif
+
+#if defined (MULTIMAX) || defined (n16)
+#if defined (UMAXV)
+ printf ("ns32k-encore-sysv\n"); exit (0);
+#else
+#if defined (CMU)
+ printf ("ns32k-encore-mach\n"); exit (0);
+#else
+ printf ("ns32k-encore-bsd\n"); exit (0);
+#endif
+#endif
+#endif
+
+#if defined (__386BSD__)
+ printf ("i386-pc-bsd\n"); exit (0);
+#endif
+
+#if defined (sequent)
+#if defined (i386)
+ printf ("i386-sequent-dynix\n"); exit (0);
+#endif
+#if defined (ns32000)
+ printf ("ns32k-sequent-dynix\n"); exit (0);
+#endif
+#endif
+
+#if defined (_SEQUENT_)
+ struct utsname un;
+
+ uname(&un);
+
+ if (strncmp(un.version, "V2", 2) == 0) {
+ printf ("i386-sequent-ptx2\n"); exit (0);
+ }
+ if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
+ printf ("i386-sequent-ptx1\n"); exit (0);
+ }
+ printf ("i386-sequent-ptx\n"); exit (0);
+
+#endif
+
+#if defined (vax)
+# if !defined (ultrix)
+# include <sys/param.h>
+# if defined (BSD)
+# if BSD == 43
+ printf ("vax-dec-bsd4.3\n"); exit (0);
+# else
+# if BSD == 199006
+ printf ("vax-dec-bsd4.3reno\n"); exit (0);
+# else
+ printf ("vax-dec-bsd\n"); exit (0);
+# endif
+# endif
+# else
+ printf ("vax-dec-bsd\n"); exit (0);
+# endif
+# else
+ printf ("vax-dec-ultrix\n"); exit (0);
+# endif
+#endif
+
+#if defined (alliant) && defined (i860)
+ printf ("i860-alliant-bsd\n"); exit (0);
+#endif
+
+ exit (1);
+}
+EOF
+
+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
+ { echo "$SYSTEM_NAME"; exit; }
+
+# Apollos put the system type in the environment.
+
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
+
+# Convex versions that predate uname can use getsysinfo(1)
+
+if [ -x /usr/convex/getsysinfo ]
+then
+ case `getsysinfo -f cpu_type` in
+ c1*)
+ echo c1-convex-bsd
+ exit ;;
+ c2*)
+ if getsysinfo -f scalar_acc
+ then echo c32-convex-bsd
+ else echo c2-convex-bsd
+ fi
+ exit ;;
+ c34*)
+ echo c34-convex-bsd
+ exit ;;
+ c38*)
+ echo c38-convex-bsd
+ exit ;;
+ c4*)
+ echo c4-convex-bsd
+ exit ;;
+ esac
+fi
+
+cat >&2 <<EOF
+$0: unable to guess system type
+
+This script, last modified $timestamp, has failed to recognize
+the operating system you are using. It is advised that you
+download the most up to date version of the config scripts from
+
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+and
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+
+If the version you run ($0) is already up to date, please
+send the following data and any information you think might be
+pertinent to <config-patches@gnu.org> in order to provide the needed
+information to handle your system.
+
+config.guess timestamp = $timestamp
+
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
+
+hostinfo = `(hostinfo) 2>/dev/null`
+/bin/universe = `(/bin/universe) 2>/dev/null`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
+/bin/arch = `(/bin/arch) 2>/dev/null`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
+
+UNAME_MACHINE = ${UNAME_MACHINE}
+UNAME_RELEASE = ${UNAME_RELEASE}
+UNAME_SYSTEM = ${UNAME_SYSTEM}
+UNAME_VERSION = ${UNAME_VERSION}
+EOF
+
+exit 1
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/.pc/stand-alone/config.sub b/.pc/stand-alone/config.sub
new file mode 100755
index 0000000..2a55a50
--- /dev/null
+++ b/.pc/stand-alone/config.sub
@@ -0,0 +1,1705 @@
+#! /bin/sh
+# Configuration validation subroutine script.
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+# Free Software Foundation, Inc.
+
+timestamp='2009-11-20'
+
+# This file is (in principle) common to ALL GNU software.
+# The presence of a machine in this file suggests that SOME GNU software
+# can handle that machine. It does not imply ALL GNU software can.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Please send patches to <config-patches@gnu.org>. Submit a context
+# diff and a properly formatted GNU ChangeLog entry.
+#
+# Configuration subroutine to validate and canonicalize a configuration type.
+# Supply the specified configuration type as an argument.
+# If it is invalid, we print an error message on stderr and exit with code 1.
+# Otherwise, we print the canonical config type on stdout and succeed.
+
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+
+# This file is supposed to be the same for all GNU packages
+# and recognize all the CPU types, system types and aliases
+# that are meaningful with *any* GNU software.
+# Each package is responsible for reporting which valid configurations
+# it does not support. The user should be able to distinguish
+# a failure to support a valid configuration from a meaningless
+# configuration.
+
+# The goal of this file is to map all the various variations of a given
+# machine specification into a single specification in the form:
+# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or in some cases, the newer four-part form:
+# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# It is wrong to echo any other type of specification.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION] CPU-MFR-OPSYS
+ $0 [OPTION] ALIAS
+
+Canonicalize a configuration name.
+
+Operation modes:
+ -h, --help print this help, then exit
+ -t, --time-stamp print date of last modification, then exit
+ -v, --version print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.sub ($timestamp)
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+ case $1 in
+ --time-stamp | --time* | -t )
+ echo "$timestamp" ; exit ;;
+ --version | -v )
+ echo "$version" ; exit ;;
+ --help | --h* | -h )
+ echo "$usage"; exit ;;
+ -- ) # Stop option processing
+ shift; break ;;
+ - ) # Use stdin as input.
+ break ;;
+ -* )
+ echo "$me: invalid option $1$help"
+ exit 1 ;;
+
+ *local*)
+ # First pass through any local machine types.
+ echo $1
+ exit ;;
+
+ * )
+ break ;;
+ esac
+done
+
+case $# in
+ 0) echo "$me: missing argument$help" >&2
+ exit 1;;
+ 1) ;;
+ *) echo "$me: too many arguments$help" >&2
+ exit 1;;
+esac
+
+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
+# Here we must recognize all the valid KERNEL-OS combinations.
+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+case $maybe_os in
+ nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
+ uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
+ kopensolaris*-gnu* | \
+ storm-chaos* | os2-emx* | rtmk-nova*)
+ os=-$maybe_os
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+ ;;
+ *)
+ basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+ if [ $basic_machine != $1 ]
+ then os=`echo $1 | sed 's/.*-/-/'`
+ else os=; fi
+ ;;
+esac
+
+### Let's recognize common machines as not being operating systems so
+### that things like config.sub decstation-3100 work. We also
+### recognize some manufacturers as not being operating systems, so we
+### can provide default operating systems below.
+case $os in
+ -sun*os*)
+ # Prevent following clause from handling this invalid input.
+ ;;
+ -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
+ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
+ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
+ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+ -apple | -axis | -knuth | -cray | -microblaze)
+ os=
+ basic_machine=$1
+ ;;
+ -bluegene*)
+ os=-cnk
+ ;;
+ -sim | -cisco | -oki | -wec | -winbond)
+ os=
+ basic_machine=$1
+ ;;
+ -scout)
+ ;;
+ -wrs)
+ os=-vxworks
+ basic_machine=$1
+ ;;
+ -chorusos*)
+ os=-chorusos
+ basic_machine=$1
+ ;;
+ -chorusrdb)
+ os=-chorusrdb
+ basic_machine=$1
+ ;;
+ -hiux*)
+ os=-hiuxwe2
+ ;;
+ -sco6)
+ os=-sco5v6
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco5)
+ os=-sco3.2v5
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco4)
+ os=-sco3.2v4
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco3.2.[4-9]*)
+ os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco3.2v[4-9]*)
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco5v6*)
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco*)
+ os=-sco3.2v2
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -udk*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -isc)
+ os=-isc2.2
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -clix*)
+ basic_machine=clipper-intergraph
+ ;;
+ -isc*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -lynx*)
+ os=-lynxos
+ ;;
+ -ptx*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+ ;;
+ -windowsnt*)
+ os=`echo $os | sed -e 's/windowsnt/winnt/'`
+ ;;
+ -psos*)
+ os=-psos
+ ;;
+ -mint | -mint[0-9]*)
+ basic_machine=m68k-atari
+ os=-mint
+ ;;
+esac
+
+# Decode aliases for certain CPU-COMPANY combinations.
+case $basic_machine in
+ # Recognize the basic CPU types without company name.
+ # Some are omitted here because they have special meanings below.
+ 1750a | 580 \
+ | a29k \
+ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+ | am33_2.0 \
+ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
+ | bfin \
+ | c4x | clipper \
+ | d10v | d30v | dlx | dsp16xx \
+ | fido | fr30 | frv \
+ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+ | i370 | i860 | i960 | ia64 \
+ | ip2k | iq2000 \
+ | lm32 \
+ | m32c | m32r | m32rle | m68000 | m68k | m88k \
+ | maxq | mb | microblaze | mcore | mep | metag \
+ | mips | mipsbe | mipseb | mipsel | mipsle \
+ | mips16 \
+ | mips64 | mips64el \
+ | mips64octeon | mips64octeonel \
+ | mips64orion | mips64orionel \
+ | mips64r5900 | mips64r5900el \
+ | mips64vr | mips64vrel \
+ | mips64vr4100 | mips64vr4100el \
+ | mips64vr4300 | mips64vr4300el \
+ | mips64vr5000 | mips64vr5000el \
+ | mips64vr5900 | mips64vr5900el \
+ | mipsisa32 | mipsisa32el \
+ | mipsisa32r2 | mipsisa32r2el \
+ | mipsisa64 | mipsisa64el \
+ | mipsisa64r2 | mipsisa64r2el \
+ | mipsisa64sb1 | mipsisa64sb1el \
+ | mipsisa64sr71k | mipsisa64sr71kel \
+ | mipstx39 | mipstx39el \
+ | mn10200 | mn10300 \
+ | moxie \
+ | mt \
+ | msp430 \
+ | nios | nios2 \
+ | ns16k | ns32k \
+ | or32 \
+ | pdp10 | pdp11 | pj | pjl \
+ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
+ | pyramid \
+ | rx \
+ | score \
+ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+ | sh64 | sh64le \
+ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
+ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
+ | spu | strongarm \
+ | tahoe | thumb | tic4x | tic80 | tron \
+ | ubicom32 \
+ | v850 | v850e \
+ | we32k \
+ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
+ | z8k | z80)
+ basic_machine=$basic_machine-unknown
+ ;;
+ m6811 | m68hc11 | m6812 | m68hc12 | picochip)
+ # Motorola 68HC11/12.
+ basic_machine=$basic_machine-unknown
+ os=-none
+ ;;
+ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+ ;;
+ ms1)
+ basic_machine=mt-unknown
+ ;;
+
+ # We use `pc' rather than `unknown'
+ # because (1) that's what they normally are, and
+ # (2) the word "unknown" tends to confuse beginning users.
+ i*86 | x86_64)
+ basic_machine=$basic_machine-pc
+ ;;
+ # Object if more than one company name word.
+ *-*-*)
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+ exit 1
+ ;;
+ # Recognize the basic CPU types with company name.
+ 580-* \
+ | a29k-* \
+ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
+ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
+ | avr-* | avr32-* \
+ | bfin-* | bs2000-* \
+ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
+ | clipper-* | craynv-* | cydra-* \
+ | d10v-* | d30v-* | dlx-* \
+ | elxsi-* \
+ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
+ | h8300-* | h8500-* \
+ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+ | i*86-* | i860-* | i960-* | ia64-* \
+ | ip2k-* | iq2000-* \
+ | lm32-* \
+ | m32c-* | m32r-* | m32rle-* \
+ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
+ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+ | mips16-* \
+ | mips64-* | mips64el-* \
+ | mips64octeon-* | mips64octeonel-* \
+ | mips64orion-* | mips64orionel-* \
+ | mips64r5900-* | mips64r5900el-* \
+ | mips64vr-* | mips64vrel-* \
+ | mips64vr4100-* | mips64vr4100el-* \
+ | mips64vr4300-* | mips64vr4300el-* \
+ | mips64vr5000-* | mips64vr5000el-* \
+ | mips64vr5900-* | mips64vr5900el-* \
+ | mipsisa32-* | mipsisa32el-* \
+ | mipsisa32r2-* | mipsisa32r2el-* \
+ | mipsisa64-* | mipsisa64el-* \
+ | mipsisa64r2-* | mipsisa64r2el-* \
+ | mipsisa64sb1-* | mipsisa64sb1el-* \
+ | mipsisa64sr71k-* | mipsisa64sr71kel-* \
+ | mipstx39-* | mipstx39el-* \
+ | mmix-* \
+ | mt-* \
+ | msp430-* \
+ | nios-* | nios2-* \
+ | none-* | np1-* | ns16k-* | ns32k-* \
+ | orion-* \
+ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
+ | pyramid-* \
+ | romp-* | rs6000-* | rx-* \
+ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
+ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
+ | sparclite-* \
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
+ | tahoe-* | thumb-* \
+ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
+ | tron-* \
+ | ubicom32-* \
+ | v850-* | v850e-* | vax-* \
+ | we32k-* \
+ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
+ | xstormy16-* | xtensa*-* \
+ | ymp-* \
+ | z8k-* | z80-*)
+ ;;
+ # Recognize the basic CPU types without company name, with glob match.
+ xtensa*)
+ basic_machine=$basic_machine-unknown
+ ;;
+ # Recognize the various machine names and aliases which stand
+ # for a CPU type and a company and sometimes even an OS.
+ 386bsd)
+ basic_machine=i386-unknown
+ os=-bsd
+ ;;
+ 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
+ basic_machine=m68000-att
+ ;;
+ 3b*)
+ basic_machine=we32k-att
+ ;;
+ a29khif)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ abacus)
+ basic_machine=abacus-unknown
+ ;;
+ adobe68k)
+ basic_machine=m68010-adobe
+ os=-scout
+ ;;
+ alliant | fx80)
+ basic_machine=fx80-alliant
+ ;;
+ altos | altos3068)
+ basic_machine=m68k-altos
+ ;;
+ am29k)
+ basic_machine=a29k-none
+ os=-bsd
+ ;;
+ amd64)
+ basic_machine=x86_64-pc
+ ;;
+ amd64-*)
+ basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ amdahl)
+ basic_machine=580-amdahl
+ os=-sysv
+ ;;
+ amiga | amiga-*)
+ basic_machine=m68k-unknown
+ ;;
+ amigaos | amigados)
+ basic_machine=m68k-unknown
+ os=-amigaos
+ ;;
+ amigaunix | amix)
+ basic_machine=m68k-unknown
+ os=-sysv4
+ ;;
+ apollo68)
+ basic_machine=m68k-apollo
+ os=-sysv
+ ;;
+ apollo68bsd)
+ basic_machine=m68k-apollo
+ os=-bsd
+ ;;
+ aros)
+ basic_machine=i386-pc
+ os=-aros
+ ;;
+ aux)
+ basic_machine=m68k-apple
+ os=-aux
+ ;;
+ balance)
+ basic_machine=ns32k-sequent
+ os=-dynix
+ ;;
+ blackfin)
+ basic_machine=bfin-unknown
+ os=-linux
+ ;;
+ blackfin-*)
+ basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ bluegene*)
+ basic_machine=powerpc-ibm
+ os=-cnk
+ ;;
+ c90)
+ basic_machine=c90-cray
+ os=-unicos
+ ;;
+ cegcc)
+ basic_machine=arm-unknown
+ os=-cegcc
+ ;;
+ convex-c1)
+ basic_machine=c1-convex
+ os=-bsd
+ ;;
+ convex-c2)
+ basic_machine=c2-convex
+ os=-bsd
+ ;;
+ convex-c32)
+ basic_machine=c32-convex
+ os=-bsd
+ ;;
+ convex-c34)
+ basic_machine=c34-convex
+ os=-bsd
+ ;;
+ convex-c38)
+ basic_machine=c38-convex
+ os=-bsd
+ ;;
+ cray | j90)
+ basic_machine=j90-cray
+ os=-unicos
+ ;;
+ craynv)
+ basic_machine=craynv-cray
+ os=-unicosmp
+ ;;
+ cr16)
+ basic_machine=cr16-unknown
+ os=-elf
+ ;;
+ crds | unos)
+ basic_machine=m68k-crds
+ ;;
+ crisv32 | crisv32-* | etraxfs*)
+ basic_machine=crisv32-axis
+ ;;
+ cris | cris-* | etrax*)
+ basic_machine=cris-axis
+ ;;
+ crx)
+ basic_machine=crx-unknown
+ os=-elf
+ ;;
+ da30 | da30-*)
+ basic_machine=m68k-da30
+ ;;
+ decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
+ basic_machine=mips-dec
+ ;;
+ decsystem10* | dec10*)
+ basic_machine=pdp10-dec
+ os=-tops10
+ ;;
+ decsystem20* | dec20*)
+ basic_machine=pdp10-dec
+ os=-tops20
+ ;;
+ delta | 3300 | motorola-3300 | motorola-delta \
+ | 3300-motorola | delta-motorola)
+ basic_machine=m68k-motorola
+ ;;
+ delta88)
+ basic_machine=m88k-motorola
+ os=-sysv3
+ ;;
+ dicos)
+ basic_machine=i686-pc
+ os=-dicos
+ ;;
+ djgpp)
+ basic_machine=i586-pc
+ os=-msdosdjgpp
+ ;;
+ dpx20 | dpx20-*)
+ basic_machine=rs6000-bull
+ os=-bosx
+ ;;
+ dpx2* | dpx2*-bull)
+ basic_machine=m68k-bull
+ os=-sysv3
+ ;;
+ ebmon29k)
+ basic_machine=a29k-amd
+ os=-ebmon
+ ;;
+ elxsi)
+ basic_machine=elxsi-elxsi
+ os=-bsd
+ ;;
+ encore | umax | mmax)
+ basic_machine=ns32k-encore
+ ;;
+ es1800 | OSE68k | ose68k | ose | OSE)
+ basic_machine=m68k-ericsson
+ os=-ose
+ ;;
+ fx2800)
+ basic_machine=i860-alliant
+ ;;
+ genix)
+ basic_machine=ns32k-ns
+ ;;
+ gmicro)
+ basic_machine=tron-gmicro
+ os=-sysv
+ ;;
+ go32)
+ basic_machine=i386-pc
+ os=-go32
+ ;;
+ h3050r* | hiux*)
+ basic_machine=hppa1.1-hitachi
+ os=-hiuxwe2
+ ;;
+ h8300hms)
+ basic_machine=h8300-hitachi
+ os=-hms
+ ;;
+ h8300xray)
+ basic_machine=h8300-hitachi
+ os=-xray
+ ;;
+ h8500hms)
+ basic_machine=h8500-hitachi
+ os=-hms
+ ;;
+ harris)
+ basic_machine=m88k-harris
+ os=-sysv3
+ ;;
+ hp300-*)
+ basic_machine=m68k-hp
+ ;;
+ hp300bsd)
+ basic_machine=m68k-hp
+ os=-bsd
+ ;;
+ hp300hpux)
+ basic_machine=m68k-hp
+ os=-hpux
+ ;;
+ hp3k9[0-9][0-9] | hp9[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hp9k2[0-9][0-9] | hp9k31[0-9])
+ basic_machine=m68000-hp
+ ;;
+ hp9k3[2-9][0-9])
+ basic_machine=m68k-hp
+ ;;
+ hp9k6[0-9][0-9] | hp6[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hp9k7[0-79][0-9] | hp7[0-79][0-9])
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k78[0-9] | hp78[0-9])
+ # FIXME: really hppa2.0-hp
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
+ # FIXME: really hppa2.0-hp
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[0-9][13679] | hp8[0-9][13679])
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[0-9][0-9] | hp8[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hppa-next)
+ os=-nextstep3
+ ;;
+ hppaosf)
+ basic_machine=hppa1.1-hp
+ os=-osf
+ ;;
+ hppro)
+ basic_machine=hppa1.1-hp
+ os=-proelf
+ ;;
+ i370-ibm* | ibm*)
+ basic_machine=i370-ibm
+ ;;
+# I'm not sure what "Sysv32" means. Should this be sysv3.2?
+ i*86v32)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv32
+ ;;
+ i*86v4*)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv4
+ ;;
+ i*86v)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv
+ ;;
+ i*86sol2)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-solaris2
+ ;;
+ i386mach)
+ basic_machine=i386-mach
+ os=-mach
+ ;;
+ i386-vsta | vsta)
+ basic_machine=i386-unknown
+ os=-vsta
+ ;;
+ iris | iris4d)
+ basic_machine=mips-sgi
+ case $os in
+ -irix*)
+ ;;
+ *)
+ os=-irix4
+ ;;
+ esac
+ ;;
+ isi68 | isi)
+ basic_machine=m68k-isi
+ os=-sysv
+ ;;
+ m68knommu)
+ basic_machine=m68k-unknown
+ os=-linux
+ ;;
+ m68knommu-*)
+ basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ m88k-omron*)
+ basic_machine=m88k-omron
+ ;;
+ magnum | m3230)
+ basic_machine=mips-mips
+ os=-sysv
+ ;;
+ merlin)
+ basic_machine=ns32k-utek
+ os=-sysv
+ ;;
+ microblaze)
+ basic_machine=microblaze-xilinx
+ ;;
+ mingw32)
+ basic_machine=i386-pc
+ os=-mingw32
+ ;;
+ mingw32ce)
+ basic_machine=arm-unknown
+ os=-mingw32ce
+ ;;
+ miniframe)
+ basic_machine=m68000-convergent
+ ;;
+ *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
+ basic_machine=m68k-atari
+ os=-mint
+ ;;
+ mips3*-*)
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+ ;;
+ mips3*)
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+ ;;
+ monitor)
+ basic_machine=m68k-rom68k
+ os=-coff
+ ;;
+ morphos)
+ basic_machine=powerpc-unknown
+ os=-morphos
+ ;;
+ msdos)
+ basic_machine=i386-pc
+ os=-msdos
+ ;;
+ ms1-*)
+ basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
+ ;;
+ mvs)
+ basic_machine=i370-ibm
+ os=-mvs
+ ;;
+ ncr3000)
+ basic_machine=i486-ncr
+ os=-sysv4
+ ;;
+ netbsd386)
+ basic_machine=i386-unknown
+ os=-netbsd
+ ;;
+ netwinder)
+ basic_machine=armv4l-rebel
+ os=-linux
+ ;;
+ news | news700 | news800 | news900)
+ basic_machine=m68k-sony
+ os=-newsos
+ ;;
+ news1000)
+ basic_machine=m68030-sony
+ os=-newsos
+ ;;
+ news-3600 | risc-news)
+ basic_machine=mips-sony
+ os=-newsos
+ ;;
+ necv70)
+ basic_machine=v70-nec
+ os=-sysv
+ ;;
+ next | m*-next )
+ basic_machine=m68k-next
+ case $os in
+ -nextstep* )
+ ;;
+ -ns2*)
+ os=-nextstep2
+ ;;
+ *)
+ os=-nextstep3
+ ;;
+ esac
+ ;;
+ nh3000)
+ basic_machine=m68k-harris
+ os=-cxux
+ ;;
+ nh[45]000)
+ basic_machine=m88k-harris
+ os=-cxux
+ ;;
+ nindy960)
+ basic_machine=i960-intel
+ os=-nindy
+ ;;
+ mon960)
+ basic_machine=i960-intel
+ os=-mon960
+ ;;
+ nonstopux)
+ basic_machine=mips-compaq
+ os=-nonstopux
+ ;;
+ np1)
+ basic_machine=np1-gould
+ ;;
+ nsr-tandem)
+ basic_machine=nsr-tandem
+ ;;
+ op50n-* | op60c-*)
+ basic_machine=hppa1.1-oki
+ os=-proelf
+ ;;
+ openrisc | openrisc-*)
+ basic_machine=or32-unknown
+ ;;
+ os400)
+ basic_machine=powerpc-ibm
+ os=-os400
+ ;;
+ OSE68000 | ose68000)
+ basic_machine=m68000-ericsson
+ os=-ose
+ ;;
+ os68k)
+ basic_machine=m68k-none
+ os=-os68k
+ ;;
+ pa-hitachi)
+ basic_machine=hppa1.1-hitachi
+ os=-hiuxwe2
+ ;;
+ paragon)
+ basic_machine=i860-intel
+ os=-osf
+ ;;
+ parisc)
+ basic_machine=hppa-unknown
+ os=-linux
+ ;;
+ parisc-*)
+ basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ pbd)
+ basic_machine=sparc-tti
+ ;;
+ pbb)
+ basic_machine=m68k-tti
+ ;;
+ pc532 | pc532-*)
+ basic_machine=ns32k-pc532
+ ;;
+ pc98)
+ basic_machine=i386-pc
+ ;;
+ pc98-*)
+ basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentium | p5 | k5 | k6 | nexgen | viac3)
+ basic_machine=i586-pc
+ ;;
+ pentiumpro | p6 | 6x86 | athlon | athlon_*)
+ basic_machine=i686-pc
+ ;;
+ pentiumii | pentium2 | pentiumiii | pentium3)
+ basic_machine=i686-pc
+ ;;
+ pentium4)
+ basic_machine=i786-pc
+ ;;
+ pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
+ basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentiumpro-* | p6-* | 6x86-* | athlon-*)
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentium4-*)
+ basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pn)
+ basic_machine=pn-gould
+ ;;
+ power) basic_machine=power-ibm
+ ;;
+ ppc) basic_machine=powerpc-unknown
+ ;;
+ ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppcle | powerpclittle | ppc-le | powerpc-little)
+ basic_machine=powerpcle-unknown
+ ;;
+ ppcle-* | powerpclittle-*)
+ basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppc64) basic_machine=powerpc64-unknown
+ ;;
+ ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+ basic_machine=powerpc64le-unknown
+ ;;
+ ppc64le-* | powerpc64little-*)
+ basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ps2)
+ basic_machine=i386-ibm
+ ;;
+ pw32)
+ basic_machine=i586-unknown
+ os=-pw32
+ ;;
+ rdos)
+ basic_machine=i386-pc
+ os=-rdos
+ ;;
+ rom68k)
+ basic_machine=m68k-rom68k
+ os=-coff
+ ;;
+ rm[46]00)
+ basic_machine=mips-siemens
+ ;;
+ rtpc | rtpc-*)
+ basic_machine=romp-ibm
+ ;;
+ s390 | s390-*)
+ basic_machine=s390-ibm
+ ;;
+ s390x | s390x-*)
+ basic_machine=s390x-ibm
+ ;;
+ sa29200)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ sb1)
+ basic_machine=mipsisa64sb1-unknown
+ ;;
+ sb1el)
+ basic_machine=mipsisa64sb1el-unknown
+ ;;
+ sde)
+ basic_machine=mipsisa32-sde
+ os=-elf
+ ;;
+ sei)
+ basic_machine=mips-sei
+ os=-seiux
+ ;;
+ sequent)
+ basic_machine=i386-sequent
+ ;;
+ sh)
+ basic_machine=sh-hitachi
+ os=-hms
+ ;;
+ sh5el)
+ basic_machine=sh5le-unknown
+ ;;
+ sh64)
+ basic_machine=sh64-unknown
+ ;;
+ sparclite-wrs | simso-wrs)
+ basic_machine=sparclite-wrs
+ os=-vxworks
+ ;;
+ sps7)
+ basic_machine=m68k-bull
+ os=-sysv2
+ ;;
+ spur)
+ basic_machine=spur-unknown
+ ;;
+ st2000)
+ basic_machine=m68k-tandem
+ ;;
+ stratus)
+ basic_machine=i860-stratus
+ os=-sysv4
+ ;;
+ sun2)
+ basic_machine=m68000-sun
+ ;;
+ sun2os3)
+ basic_machine=m68000-sun
+ os=-sunos3
+ ;;
+ sun2os4)
+ basic_machine=m68000-sun
+ os=-sunos4
+ ;;
+ sun3os3)
+ basic_machine=m68k-sun
+ os=-sunos3
+ ;;
+ sun3os4)
+ basic_machine=m68k-sun
+ os=-sunos4
+ ;;
+ sun4os3)
+ basic_machine=sparc-sun
+ os=-sunos3
+ ;;
+ sun4os4)
+ basic_machine=sparc-sun
+ os=-sunos4
+ ;;
+ sun4sol2)
+ basic_machine=sparc-sun
+ os=-solaris2
+ ;;
+ sun3 | sun3-*)
+ basic_machine=m68k-sun
+ ;;
+ sun4)
+ basic_machine=sparc-sun
+ ;;
+ sun386 | sun386i | roadrunner)
+ basic_machine=i386-sun
+ ;;
+ sv1)
+ basic_machine=sv1-cray
+ os=-unicos
+ ;;
+ symmetry)
+ basic_machine=i386-sequent
+ os=-dynix
+ ;;
+ t3e)
+ basic_machine=alphaev5-cray
+ os=-unicos
+ ;;
+ t90)
+ basic_machine=t90-cray
+ os=-unicos
+ ;;
+ tic54x | c54x*)
+ basic_machine=tic54x-unknown
+ os=-coff
+ ;;
+ tic55x | c55x*)
+ basic_machine=tic55x-unknown
+ os=-coff
+ ;;
+ tic6x | c6x*)
+ basic_machine=tic6x-unknown
+ os=-coff
+ ;;
+ tile*)
+ basic_machine=tile-unknown
+ os=-linux-gnu
+ ;;
+ tx39)
+ basic_machine=mipstx39-unknown
+ ;;
+ tx39el)
+ basic_machine=mipstx39el-unknown
+ ;;
+ toad1)
+ basic_machine=pdp10-xkl
+ os=-tops20
+ ;;
+ tower | tower-32)
+ basic_machine=m68k-ncr
+ ;;
+ tpf)
+ basic_machine=s390x-ibm
+ os=-tpf
+ ;;
+ udi29k)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ ultra3)
+ basic_machine=a29k-nyu
+ os=-sym1
+ ;;
+ v810 | necv810)
+ basic_machine=v810-nec
+ os=-none
+ ;;
+ vaxv)
+ basic_machine=vax-dec
+ os=-sysv
+ ;;
+ vms)
+ basic_machine=vax-dec
+ os=-vms
+ ;;
+ vpp*|vx|vx-*)
+ basic_machine=f301-fujitsu
+ ;;
+ vxworks960)
+ basic_machine=i960-wrs
+ os=-vxworks
+ ;;
+ vxworks68)
+ basic_machine=m68k-wrs
+ os=-vxworks
+ ;;
+ vxworks29k)
+ basic_machine=a29k-wrs
+ os=-vxworks
+ ;;
+ w65*)
+ basic_machine=w65-wdc
+ os=-none
+ ;;
+ w89k-*)
+ basic_machine=hppa1.1-winbond
+ os=-proelf
+ ;;
+ xbox)
+ basic_machine=i686-pc
+ os=-mingw32
+ ;;
+ xps | xps100)
+ basic_machine=xps100-honeywell
+ ;;
+ ymp)
+ basic_machine=ymp-cray
+ os=-unicos
+ ;;
+ z8k-*-coff)
+ basic_machine=z8k-unknown
+ os=-sim
+ ;;
+ z80-*-coff)
+ basic_machine=z80-unknown
+ os=-sim
+ ;;
+ none)
+ basic_machine=none-none
+ os=-none
+ ;;
+
+# Here we handle the default manufacturer of certain CPU types. It is in
+# some cases the only manufacturer, in others, it is the most popular.
+ w89k)
+ basic_machine=hppa1.1-winbond
+ ;;
+ op50n)
+ basic_machine=hppa1.1-oki
+ ;;
+ op60c)
+ basic_machine=hppa1.1-oki
+ ;;
+ romp)
+ basic_machine=romp-ibm
+ ;;
+ mmix)
+ basic_machine=mmix-knuth
+ ;;
+ rs6000)
+ basic_machine=rs6000-ibm
+ ;;
+ vax)
+ basic_machine=vax-dec
+ ;;
+ pdp10)
+ # there are many clones, so DEC is not a safe bet
+ basic_machine=pdp10-unknown
+ ;;
+ pdp11)
+ basic_machine=pdp11-dec
+ ;;
+ we32k)
+ basic_machine=we32k-att
+ ;;
+ sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
+ basic_machine=sh-unknown
+ ;;
+ sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
+ basic_machine=sparc-sun
+ ;;
+ cydra)
+ basic_machine=cydra-cydrome
+ ;;
+ orion)
+ basic_machine=orion-highlevel
+ ;;
+ orion105)
+ basic_machine=clipper-highlevel
+ ;;
+ mac | mpw | mac-mpw)
+ basic_machine=m68k-apple
+ ;;
+ pmac | pmac-mpw)
+ basic_machine=powerpc-apple
+ ;;
+ *-unknown)
+ # Make sure to match an already-canonicalized machine name.
+ ;;
+ *)
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+
+# Here we canonicalize certain aliases for manufacturers.
+case $basic_machine in
+ *-digital*)
+ basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+ ;;
+ *-commodore*)
+ basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+ ;;
+ *)
+ ;;
+esac
+
+# Decode manufacturer-specific aliases for certain operating systems.
+
+if [ x"$os" != x"" ]
+then
+case $os in
+ # First match some system type aliases
+ # that might get confused with valid system types.
+ # -solaris* is a basic system type, with this one exception.
+ -auroraux)
+ os=-auroraux
+ ;;
+ -solaris1 | -solaris1.*)
+ os=`echo $os | sed -e 's|solaris1|sunos4|'`
+ ;;
+ -solaris)
+ os=-solaris2
+ ;;
+ -svr4*)
+ os=-sysv4
+ ;;
+ -unixware*)
+ os=-sysv4.2uw
+ ;;
+ -gnu/linux*)
+ os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+ ;;
+ # First accept the basic system types.
+ # The portable systems comes first.
+ # Each alternative MUST END IN A *, to match a version number.
+ # -sysv* is not here because it comes later, after sysvr4.
+ -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
+ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
+ | -sym* | -kopensolaris* \
+ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+ | -aos* | -aros* \
+ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
+ | -openbsd* | -solidbsd* \
+ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+ | -chorusos* | -chorusrdb* | -cegcc* \
+ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
+ | -uxpv* | -beos* | -mpeix* | -udk* \
+ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
+ # Remember, each alternative MUST END IN *, to match a version number.
+ ;;
+ -qnx*)
+ case $basic_machine in
+ x86-* | i*86-*)
+ ;;
+ *)
+ os=-nto$os
+ ;;
+ esac
+ ;;
+ -nto-qnx*)
+ ;;
+ -nto*)
+ os=`echo $os | sed -e 's|nto|nto-qnx|'`
+ ;;
+ -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
+ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
+ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+ ;;
+ -mac*)
+ os=`echo $os | sed -e 's|mac|macos|'`
+ ;;
+ -linux-dietlibc)
+ os=-linux-dietlibc
+ ;;
+ -linux*)
+ os=`echo $os | sed -e 's|linux|linux-gnu|'`
+ ;;
+ -sunos5*)
+ os=`echo $os | sed -e 's|sunos5|solaris2|'`
+ ;;
+ -sunos6*)
+ os=`echo $os | sed -e 's|sunos6|solaris3|'`
+ ;;
+ -opened*)
+ os=-openedition
+ ;;
+ -os400*)
+ os=-os400
+ ;;
+ -wince*)
+ os=-wince
+ ;;
+ -osfrose*)
+ os=-osfrose
+ ;;
+ -osf*)
+ os=-osf
+ ;;
+ -utek*)
+ os=-bsd
+ ;;
+ -dynix*)
+ os=-bsd
+ ;;
+ -acis*)
+ os=-aos
+ ;;
+ -atheos*)
+ os=-atheos
+ ;;
+ -syllable*)
+ os=-syllable
+ ;;
+ -386bsd)
+ os=-bsd
+ ;;
+ -ctix* | -uts*)
+ os=-sysv
+ ;;
+ -nova*)
+ os=-rtmk-nova
+ ;;
+ -ns2 )
+ os=-nextstep2
+ ;;
+ -nsk*)
+ os=-nsk
+ ;;
+ # Preserve the version number of sinix5.
+ -sinix5.*)
+ os=`echo $os | sed -e 's|sinix|sysv|'`
+ ;;
+ -sinix*)
+ os=-sysv4
+ ;;
+ -tpf*)
+ os=-tpf
+ ;;
+ -triton*)
+ os=-sysv3
+ ;;
+ -oss*)
+ os=-sysv3
+ ;;
+ -svr4)
+ os=-sysv4
+ ;;
+ -svr3)
+ os=-sysv3
+ ;;
+ -sysvr4)
+ os=-sysv4
+ ;;
+ # This must come after -sysvr4.
+ -sysv*)
+ ;;
+ -ose*)
+ os=-ose
+ ;;
+ -es1800*)
+ os=-ose
+ ;;
+ -xenix)
+ os=-xenix
+ ;;
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ os=-mint
+ ;;
+ -aros*)
+ os=-aros
+ ;;
+ -kaos*)
+ os=-kaos
+ ;;
+ -zvmoe)
+ os=-zvmoe
+ ;;
+ -dicos*)
+ os=-dicos
+ ;;
+ -none)
+ ;;
+ *)
+ # Get rid of the `-' at the beginning of $os.
+ os=`echo $os | sed 's/[^-]*-//'`
+ echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+else
+
+# Here we handle the default operating systems that come with various machines.
+# The value should be what the vendor currently ships out the door with their
+# machine or put another way, the most popular os provided with the machine.
+
+# Note that if you're going to try to match "-MANUFACTURER" here (say,
+# "-sun"), then you have to tell the case statement up towards the top
+# that MANUFACTURER isn't an operating system. Otherwise, code above
+# will signal an error saying that MANUFACTURER isn't an operating
+# system, and we'll never get to this point.
+
+case $basic_machine in
+ score-*)
+ os=-elf
+ ;;
+ spu-*)
+ os=-elf
+ ;;
+ *-acorn)
+ os=-riscix1.2
+ ;;
+ arm*-rebel)
+ os=-linux
+ ;;
+ arm*-semi)
+ os=-aout
+ ;;
+ c4x-* | tic4x-*)
+ os=-coff
+ ;;
+ # This must come before the *-dec entry.
+ pdp10-*)
+ os=-tops20
+ ;;
+ pdp11-*)
+ os=-none
+ ;;
+ *-dec | vax-*)
+ os=-ultrix4.2
+ ;;
+ m68*-apollo)
+ os=-domain
+ ;;
+ i386-sun)
+ os=-sunos4.0.2
+ ;;
+ m68000-sun)
+ os=-sunos3
+ # This also exists in the configure program, but was not the
+ # default.
+ # os=-sunos4
+ ;;
+ m68*-cisco)
+ os=-aout
+ ;;
+ mep-*)
+ os=-elf
+ ;;
+ mips*-cisco)
+ os=-elf
+ ;;
+ mips*-*)
+ os=-elf
+ ;;
+ or32-*)
+ os=-coff
+ ;;
+ *-tti) # must be before sparc entry or we get the wrong os.
+ os=-sysv3
+ ;;
+ sparc-* | *-sun)
+ os=-sunos4.1.1
+ ;;
+ *-be)
+ os=-beos
+ ;;
+ *-haiku)
+ os=-haiku
+ ;;
+ *-ibm)
+ os=-aix
+ ;;
+ *-knuth)
+ os=-mmixware
+ ;;
+ *-wec)
+ os=-proelf
+ ;;
+ *-winbond)
+ os=-proelf
+ ;;
+ *-oki)
+ os=-proelf
+ ;;
+ *-hp)
+ os=-hpux
+ ;;
+ *-hitachi)
+ os=-hiux
+ ;;
+ i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+ os=-sysv
+ ;;
+ *-cbm)
+ os=-amigaos
+ ;;
+ *-dg)
+ os=-dgux
+ ;;
+ *-dolphin)
+ os=-sysv3
+ ;;
+ m68k-ccur)
+ os=-rtu
+ ;;
+ m88k-omron*)
+ os=-luna
+ ;;
+ *-next )
+ os=-nextstep
+ ;;
+ *-sequent)
+ os=-ptx
+ ;;
+ *-crds)
+ os=-unos
+ ;;
+ *-ns)
+ os=-genix
+ ;;
+ i370-*)
+ os=-mvs
+ ;;
+ *-next)
+ os=-nextstep3
+ ;;
+ *-gould)
+ os=-sysv
+ ;;
+ *-highlevel)
+ os=-bsd
+ ;;
+ *-encore)
+ os=-bsd
+ ;;
+ *-sgi)
+ os=-irix
+ ;;
+ *-siemens)
+ os=-sysv4
+ ;;
+ *-masscomp)
+ os=-rtu
+ ;;
+ f30[01]-fujitsu | f700-fujitsu)
+ os=-uxpv
+ ;;
+ *-rom68k)
+ os=-coff
+ ;;
+ *-*bug)
+ os=-coff
+ ;;
+ *-apple)
+ os=-macos
+ ;;
+ *-atari*)
+ os=-mint
+ ;;
+ *)
+ os=-none
+ ;;
+esac
+fi
+
+# Here we handle the case where we know the os, and the CPU type, but not the
+# manufacturer. We pick the logical manufacturer.
+vendor=unknown
+case $basic_machine in
+ *-unknown)
+ case $os in
+ -riscix*)
+ vendor=acorn
+ ;;
+ -sunos*)
+ vendor=sun
+ ;;
+ -cnk*|-aix*)
+ vendor=ibm
+ ;;
+ -beos*)
+ vendor=be
+ ;;
+ -hpux*)
+ vendor=hp
+ ;;
+ -mpeix*)
+ vendor=hp
+ ;;
+ -hiux*)
+ vendor=hitachi
+ ;;
+ -unos*)
+ vendor=crds
+ ;;
+ -dgux*)
+ vendor=dg
+ ;;
+ -luna*)
+ vendor=omron
+ ;;
+ -genix*)
+ vendor=ns
+ ;;
+ -mvs* | -opened*)
+ vendor=ibm
+ ;;
+ -os400*)
+ vendor=ibm
+ ;;
+ -ptx*)
+ vendor=sequent
+ ;;
+ -tpf*)
+ vendor=ibm
+ ;;
+ -vxsim* | -vxworks* | -windiss*)
+ vendor=wrs
+ ;;
+ -aux*)
+ vendor=apple
+ ;;
+ -hms*)
+ vendor=hitachi
+ ;;
+ -mpw* | -macos*)
+ vendor=apple
+ ;;
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ vendor=atari
+ ;;
+ -vos*)
+ vendor=stratus
+ ;;
+ esac
+ basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+ ;;
+esac
+
+echo $basic_machine$os
+exit
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/.pc/stand-alone/configure b/.pc/stand-alone/configure
index 818a69e..1591495 100755
--- a/.pc/stand-alone/configure
+++ b/.pc/stand-alone/configure
@@ -11392,10 +11392,6 @@ case "$host" in
TARGET=MIPS; TARGETDIR=mips
;;
- moxie-*-*)
- TARGET=MOXIE; TARGETDIR=moxie
- ;;
-
powerpc*-*-linux* | powerpc-*-sysv*)
TARGET=POWERPC; TARGETDIR=powerpc
;;
diff --git a/.pc/stand-alone/configure.ac b/.pc/stand-alone/configure.ac
index c75697b..5036e25 100644
--- a/.pc/stand-alone/configure.ac
+++ b/.pc/stand-alone/configure.ac
@@ -123,10 +123,6 @@ case "$host" in
TARGET=MIPS; TARGETDIR=mips
;;
- moxie-*-*)
- TARGET=MOXIE; TARGETDIR=moxie
- ;;
-
powerpc*-*-linux* | powerpc-*-sysv*)
TARGET=POWERPC; TARGETDIR=powerpc
;;
diff --git a/.pc/autoconf-archive-update/include/Makefile.in b/.pc/stand-alone/include/Makefile.in
index d52ee67..781b9a8 100644
--- a/.pc/autoconf-archive-update/include/Makefile.in
+++ b/.pc/stand-alone/include/Makefile.in
@@ -37,16 +37,19 @@ host_triplet = @host@
target_triplet = @target@
subdir = include
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(srcdir)/ffi.h.in
+ $(srcdir)/ffi.h.in $(toollibffi_HEADERS)
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
+ $(top_srcdir)/../config/lead-dot.m4 \
+ $(top_srcdir)/../config/multi.m4 \
+ $(top_srcdir)/../config/override.m4 \
+ $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \
+ $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \
+ $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
+mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
CONFIG_HEADER = $(top_builddir)/fficonfig.h
CONFIG_CLEAN_FILES = ffi.h ffitarget.h
CONFIG_CLEAN_VPATH_FILES =
@@ -73,8 +76,8 @@ am__nobase_list = $(am__nobase_strip_setup); \
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__installdirs = "$(DESTDIR)$(includesdir)"
-HEADERS = $(nodist_includes_HEADERS)
+am__installdirs = "$(DESTDIR)$(toollibffidir)"
+HEADERS = $(toollibffi_HEADERS)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -99,7 +102,6 @@ CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
@@ -125,7 +127,6 @@ LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
@@ -153,7 +154,6 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
@@ -188,6 +188,7 @@ localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
+multi_basedir = @multi_basedir@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
@@ -210,8 +211,11 @@ top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = foreign
DISTCLEANFILES = ffitarget.h
EXTRA_DIST = ffi.h.in ffi_common.h
-includesdir = $(libdir)/@PACKAGE_NAME@-@PACKAGE_VERSION@/include
-nodist_includes_HEADERS = ffi.h ffitarget.h
+
+# Where generated headers like ffitarget.h get installed.
+gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
+toollibffidir := $(libdir)/gcc/$(target_alias)/$(gcc_version)/include
+toollibffi_HEADERS = ffi.h ffitarget.h
all: all-am
.SUFFIXES:
@@ -253,26 +257,26 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-install-nodist_includesHEADERS: $(nodist_includes_HEADERS)
+install-toollibffiHEADERS: $(toollibffi_HEADERS)
@$(NORMAL_INSTALL)
- test -z "$(includesdir)" || $(MKDIR_P) "$(DESTDIR)$(includesdir)"
- @list='$(nodist_includes_HEADERS)'; test -n "$(includesdir)" || list=; \
+ test -z "$(toollibffidir)" || $(MKDIR_P) "$(DESTDIR)$(toollibffidir)"
+ @list='$(toollibffi_HEADERS)'; test -n "$(toollibffidir)" || list=; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
- echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includesdir)'"; \
- $(INSTALL_HEADER) $$files "$(DESTDIR)$(includesdir)" || exit $$?; \
+ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(toollibffidir)'"; \
+ $(INSTALL_HEADER) $$files "$(DESTDIR)$(toollibffidir)" || exit $$?; \
done
-uninstall-nodist_includesHEADERS:
+uninstall-toollibffiHEADERS:
@$(NORMAL_UNINSTALL)
- @list='$(nodist_includes_HEADERS)'; test -n "$(includesdir)" || list=; \
+ @list='$(toollibffi_HEADERS)'; test -n "$(toollibffidir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
test -n "$$files" || exit 0; \
- echo " ( cd '$(DESTDIR)$(includesdir)' && rm -f" $$files ")"; \
- cd "$(DESTDIR)$(includesdir)" && rm -f $$files
+ echo " ( cd '$(DESTDIR)$(toollibffidir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(toollibffidir)" && rm -f $$files
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -360,7 +364,7 @@ check-am: all-am
check: check-am
all-am: Makefile $(HEADERS)
installdirs:
- for dir in "$(DESTDIR)$(includesdir)"; do \
+ for dir in "$(DESTDIR)$(toollibffidir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
@@ -409,7 +413,7 @@ info: info-am
info-am:
-install-data-am: install-nodist_includesHEADERS
+install-data-am: install-toollibffiHEADERS
install-dvi: install-dvi-am
@@ -453,7 +457,7 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-nodist_includesHEADERS
+uninstall-am: uninstall-toollibffiHEADERS
.MAKE: install-am install-strip
@@ -463,12 +467,13 @@ uninstall-am: uninstall-nodist_includesHEADERS
html-am info info-am install install-am install-data \
install-data-am install-dvi install-dvi-am install-exec \
install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-nodist_includesHEADERS \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am uninstall-nodist_includesHEADERS
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip \
+ install-toollibffiHEADERS installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am tags uninstall uninstall-am \
+ uninstall-toollibffiHEADERS
# Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/.pc/ungccify/m4/ax_cc_maxopt.m4 b/.pc/stand-alone/m4/ax_cc_maxopt.m4
index e69de29..e69de29 100644
--- a/.pc/ungccify/m4/ax_cc_maxopt.m4
+++ b/.pc/stand-alone/m4/ax_cc_maxopt.m4
diff --git a/.pc/ungccify/m4/ax_cflags_warn_all.m4 b/.pc/stand-alone/m4/ax_cflags_warn_all.m4
index e69de29..e69de29 100644
--- a/.pc/ungccify/m4/ax_cflags_warn_all.m4
+++ b/.pc/stand-alone/m4/ax_cflags_warn_all.m4
diff --git a/.pc/ungccify/m4/ax_check_compiler_flags.m4 b/.pc/stand-alone/m4/ax_check_compiler_flags.m4
index e69de29..e69de29 100644
--- a/.pc/ungccify/m4/ax_check_compiler_flags.m4
+++ b/.pc/stand-alone/m4/ax_check_compiler_flags.m4
diff --git a/.pc/ungccify/m4/ax_compiler_vendor.m4 b/.pc/stand-alone/m4/ax_compiler_vendor.m4
index e69de29..e69de29 100644
--- a/.pc/ungccify/m4/ax_compiler_vendor.m4
+++ b/.pc/stand-alone/m4/ax_compiler_vendor.m4
diff --git a/.pc/ungccify/m4/ax_configure_args.m4 b/.pc/stand-alone/m4/ax_configure_args.m4
index e69de29..e69de29 100644
--- a/.pc/ungccify/m4/ax_configure_args.m4
+++ b/.pc/stand-alone/m4/ax_configure_args.m4
diff --git a/.pc/ungccify/m4/ax_enable_builddir.m4 b/.pc/stand-alone/m4/ax_enable_builddir.m4
index e69de29..e69de29 100644
--- a/.pc/ungccify/m4/ax_enable_builddir.m4
+++ b/.pc/stand-alone/m4/ax_enable_builddir.m4
diff --git a/.pc/ungccify/m4/ax_gcc_archflag.m4 b/.pc/stand-alone/m4/ax_gcc_archflag.m4
index e69de29..e69de29 100644
--- a/.pc/ungccify/m4/ax_gcc_archflag.m4
+++ b/.pc/stand-alone/m4/ax_gcc_archflag.m4
diff --git a/.pc/ungccify/m4/ax_gcc_x86_cpuid.m4 b/.pc/stand-alone/m4/ax_gcc_x86_cpuid.m4
index e69de29..e69de29 100644
--- a/.pc/ungccify/m4/ax_gcc_x86_cpuid.m4
+++ b/.pc/stand-alone/m4/ax_gcc_x86_cpuid.m4
diff --git a/.pc/variadic/man/Makefile.am b/.pc/stand-alone/man/Makefile.am
index 2519277..2519277 100644
--- a/.pc/variadic/man/Makefile.am
+++ b/.pc/stand-alone/man/Makefile.am
diff --git a/.pc/autoconf-archive-update/man/Makefile.in b/.pc/stand-alone/man/Makefile.in
index 29eb211..79466b3 100644
--- a/.pc/autoconf-archive-update/man/Makefile.in
+++ b/.pc/stand-alone/man/Makefile.in
@@ -37,14 +37,17 @@ target_triplet = @target@
subdir = man
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
+ $(top_srcdir)/../config/lead-dot.m4 \
+ $(top_srcdir)/../config/multi.m4 \
+ $(top_srcdir)/../config/override.m4 \
+ $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \
+ $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \
+ $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
+mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
CONFIG_HEADER = $(top_builddir)/fficonfig.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
@@ -97,7 +100,6 @@ CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
@@ -123,7 +125,6 @@ LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
@@ -151,7 +152,6 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
@@ -186,6 +186,7 @@ localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
+multi_basedir = @multi_basedir@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
diff --git a/.pc/autoconf-archive-update/testsuite/Makefile.in b/.pc/stand-alone/testsuite/Makefile.in
index 9aa1ce5..fae969b 100644
--- a/.pc/autoconf-archive-update/testsuite/Makefile.in
+++ b/.pc/stand-alone/testsuite/Makefile.in
@@ -37,14 +37,17 @@ target_triplet = @target@
subdir = testsuite
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
+ $(top_srcdir)/../config/lead-dot.m4 \
+ $(top_srcdir)/../config/multi.m4 \
+ $(top_srcdir)/../config/override.m4 \
+ $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \
+ $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \
+ $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
+mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
CONFIG_HEADER = $(top_builddir)/fficonfig.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
@@ -74,7 +77,6 @@ CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
@@ -100,7 +102,6 @@ LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
@@ -128,7 +129,6 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
@@ -163,6 +163,7 @@ localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
+multi_basedir = @multi_basedir@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
@@ -194,70 +195,6 @@ RUNTEST = `if [ -f $(top_srcdir)/../dejagnu/runtest ] ; then \
else echo runtest; fi`
CLEANFILES = *.exe core* *.log *.sum
-EXTRA_DIST = libffi.special/special.exp \
-libffi.special/unwindtest_ffi_call.cc libffi.special/unwindtest.cc \
-libffi.special/ffitestcxx.h config/default.exp lib/target-libpath.exp \
-lib/libffi.exp lib/wrapper.exp libffi.call/float.c \
-libffi.call/cls_multi_schar.c libffi.call/float3.c \
-libffi.call/cls_3_1byte.c libffi.call/stret_large2.c \
-libffi.call/cls_5_1_byte.c libffi.call/stret_medium.c \
-libffi.call/promotion.c libffi.call/cls_dbls_struct.c \
-libffi.call/nested_struct.c libffi.call/closure_fn1.c \
-libffi.call/cls_4_1byte.c libffi.call/cls_float.c \
-libffi.call/cls_2byte.c libffi.call/closure_fn4.c \
-libffi.call/return_fl2.c libffi.call/nested_struct7.c \
-libffi.call/cls_uint.c libffi.call/cls_align_sint64.c \
-libffi.call/float1.c libffi.call/cls_19byte.c \
-libffi.call/nested_struct1.c libffi.call/cls_4byte.c \
-libffi.call/return_fl1.c libffi.call/cls_align_pointer.c \
-libffi.call/nested_struct4.c libffi.call/nested_struct3.c \
-libffi.call/struct7.c libffi.call/nested_struct9.c \
-libffi.call/cls_sshort.c libffi.call/cls_ulonglong.c \
-libffi.call/cls_pointer_stack.c libffi.call/cls_multi_uchar.c \
-libffi.call/testclosure.c libffi.call/cls_3byte1.c \
-libffi.call/struct6.c libffi.call/return_uc.c libffi.call/return_ll1.c \
-libffi.call/cls_ushort.c libffi.call/stret_medium2.c \
-libffi.call/cls_multi_ushortchar.c libffi.call/return_dbl2.c \
-libffi.call/closure_loc_fn0.c libffi.call/return_sc.c \
-libffi.call/nested_struct8.c libffi.call/cls_7_1_byte.c \
-libffi.call/return_ll.c libffi.call/cls_pointer.c \
-libffi.call/err_bad_abi.c libffi.call/return_dbl1.c \
-libffi.call/call.exp libffi.call/ffitest.h libffi.call/strlen.c \
-libffi.call/return_sl.c libffi.call/cls_1_1byte.c \
-libffi.call/struct1.c libffi.call/cls_64byte.c libffi.call/return_ul.c \
-libffi.call/cls_double.c libffi.call/many_win32.c \
-libffi.call/cls_16byte.c libffi.call/cls_align_double.c \
-libffi.call/cls_align_uint16.c libffi.call/cls_9byte1.c \
-libffi.call/cls_multi_sshortchar.c libffi.call/cls_multi_ushort.c \
-libffi.call/closure_stdcall.c libffi.call/return_fl.c \
-libffi.call/strlen_win32.c libffi.call/return_ldl.c \
-libffi.call/cls_align_float.c libffi.call/struct3.c \
-libffi.call/cls_uchar.c libffi.call/cls_sint.c libffi.call/float2.c \
-libffi.call/cls_align_longdouble_split.c \
-libffi.call/cls_longdouble_va.c libffi.call/cls_multi_sshort.c \
-libffi.call/stret_large.c libffi.call/cls_align_sint16.c \
-libffi.call/nested_struct6.c libffi.call/cls_5byte.c \
-libffi.call/return_dbl.c libffi.call/cls_20byte.c \
-libffi.call/cls_8byte.c libffi.call/pyobjc-tc.c \
-libffi.call/cls_24byte.c libffi.call/cls_align_longdouble_split2.c \
-libffi.call/cls_6_1_byte.c libffi.call/cls_schar.c \
-libffi.call/cls_18byte.c libffi.call/closure_fn3.c \
-libffi.call/err_bad_typedef.c libffi.call/closure_fn2.c \
-libffi.call/struct2.c libffi.call/cls_3byte2.c \
-libffi.call/cls_align_longdouble.c libffi.call/cls_20byte1.c \
-libffi.call/return_fl3.c libffi.call/cls_align_uint32.c \
-libffi.call/problem1.c libffi.call/float4.c \
-libffi.call/cls_align_uint64.c libffi.call/struct9.c \
-libffi.call/closure_fn5.c libffi.call/cls_align_sint32.c \
-libffi.call/closure_fn0.c libffi.call/closure_fn6.c \
-libffi.call/struct4.c libffi.call/nested_struct2.c \
-libffi.call/cls_6byte.c libffi.call/cls_7byte.c libffi.call/many.c \
-libffi.call/struct8.c libffi.call/negint.c libffi.call/struct5.c \
-libffi.call/cls_12byte.c libffi.call/cls_double_va.c \
-libffi.call/cls_longdouble.c libffi.call/cls_9byte2.c \
-libffi.call/nested_struct10.c libffi.call/nested_struct5.c \
-libffi.call/huge_struct.c
-
all: all-am
.SUFFIXES:
diff --git a/.pc/stdcall-x86-closure-fix/.timestamp b/.pc/stdcall-x86-closure-fix/.timestamp
deleted file mode 100644
index e69de29..0000000
--- a/.pc/stdcall-x86-closure-fix/.timestamp
+++ /dev/null
diff --git a/.pc/stdcall-x86-closure-fix/ChangeLog b/.pc/stdcall-x86-closure-fix/ChangeLog
deleted file mode 100644
index d88761e..0000000
--- a/.pc/stdcall-x86-closure-fix/ChangeLog
+++ /dev/null
@@ -1,4525 +0,0 @@
-2012-02-10 Kai Tietz <ktietz@redhat.com>
-
- * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
- windows target.
- * configure: Regenerated.
-
-2012-02-08 Kai Tietz <ktietz@redhat.com>
-
- * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
- also FFI_THISCALL.
- * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
- (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
- (ffi_prep_closure_loc): Add FFI_THISCALL support.
- * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
- * src/x86/win32.S (ffi_closure_THISCALL): New closure code
- for thiscall-calling convention.
- * testsuite/libffi.call/closure_thiscall.c: New test.
-
-2012-01-28 Kai Tietz <ktietz@redhat.com>
-
- * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
- argument to prototype for specify calling-convention.
- (ffi_call): Add support for stdcall/thiscall convention.
- (ffi_prep_args): Likewise.
- (ffi_raw_call): Likewise.
- * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
- FFI_FASTCALL.
- * src/x86/win32.S (_ffi_call_win32): Add support for
- fastcall/thiscall calling-convention calls.
- * testsuite/libffi.call/fastthis1_win32.c: New test.
- * testsuite/libffi.call/fastthis2_win32.c: New test.
- * testsuite/libffi.call/fastthis3_win32.c: New test.
- * testsuite/libffi.call/strlen2_win32.c: New test.
- * testsuite/libffi.call/many2_win32.c: New test.
- * testsuite/libffi.call/struct1_win32.c: New test.
- * testsuite/libffi.call/struct2_win32.c: New test.
-
-2012-01-23 Andreas Schwab <schwab@linux-m68k.org>
-
- * src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
- mc68000. Test for __HAVE_68881__ in addition to __MC68881__.
-
-2012-01-19 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/48496
- * src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
-
-2012-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (i?86-*-*): Set TARGET to X86_64.
- * configure: Regenerate.
-
-2011-12-07 Andrew Pinski <apinski@cavium.com>
-
- PR libffi/50051
- * src/mips/n32.S: Add ".set mips4".
-
-2011-11-21 Andreas Tobler <andreast@fgznet.ch>
-
- * configure: Regenerate.
-
-2011-11-10 Richard Henderson <rth@redhat.com>
-
- * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
- * configure, aclocal.m4: Rebuild.
-
-2011-09-04 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/49594
- * src/powerpc/darwin_closure.S (stubs): Make the stub binding
- helper reference track the architecture pointer size.
-
-2011-08-25 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
- instructions.
- * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
-
-2011-07-11 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46660
- * testsuite/libffi.call/cls_double_va.c: xfail dg-output on
- mips-sgi-irix6*.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
- PRId8 instead of %hhu, %hhd.
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
- PRIu8): Define.
- [__sgi__] (PRId8, PRIu8): Define.
-
-2011-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
- Define.
- Use them to handle ELF vs. ECOFF differences.
- [__osf__] (_GLOBAL__F_ffi_call_osf): Define.
-
-2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46661
- * testsuite/libffi.call/cls_pointer.c (main): Cast void * to
- uintptr_t first.
- * testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
- Handle case when CPU variant does not have long double support.
- * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
- and cores with soft floating point.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * configure.ac: Add mips*-*-rtems* support.
- * configure: Regenerate.
- * src/mips/ffitarget.h: Ensure needed constants are available
- for targets which do not have sgidefs.h.
-
-2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR target/40125
- * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
- * configure: Regenerate.
-
-2010-12-18 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/29152
- PR libffi/42378
- * src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
- (FFI_TRAMPOLINE_SIZE): Update for Darwin64.
- * src/powerpc/darwin.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
- backslashes.
- (libffi_cv_as_string_pseudo_op): Likewise.
- * configure: Regenerate.
-
-2010-12-03 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
- (ffi_closure_VFP): Same.
- (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
- directive.
-
-2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
- (PRIuPTR): Define.
-
-2010-11-29 Richard Henderson <rth@redhat.com>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
- (.eh_frame): Use FDE_ENCODING.
- (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
-
-2010-11-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp: Rename ...
- * testsuite/lib/libffi.exp: ... to this.
- * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
- * libffi/testsuite/libffi.special/special.exp: Likewise.
-
-2010-10-28 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
- code, new parameter, and return value. Update comments.
- (ffi_prep_cif_machdep): Add case for VFP struct return values. Add
- call to layout_vfp_args().
- (ffi_call_SYSV): Update declaration.
- (ffi_call_VFP): New declaration.
- (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
- when ABI is FFI_VFP.
- (ffi_closure_VFP): New declaration.
- (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
- ffi_prep_incoming_args_SYSV().
- (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
- case handling.
- (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
- construction under VFP hard-float.
- (rec_vfp_type_p): New function.
- (vfp_type_p): Same.
- (place_vfp_arg): Same.
- (layout_vfp_args): Same.
- * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
- based on __ARM_PCS_VFP.
- (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
- fields.
- (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
- (FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
- * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
- direct call. Move function pointer load upwards.
- (ffi_call_VFP): New function.
- (ffi_closure_VFP): Same.
-
- * testsuite/lib/libffi-dg.exp (check-flags): New function.
- (dg-skip-if): New function.
- * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
- and compiler options include -mfloat-abi=hard.
- * testsuite/libffi.call/cls_longdouble_va.c: Same.
-
-2010-10-01 Jakub Jelinek <jakub@redhat.com>
-
- PR libffi/45677
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
- a multiple of 8.
- * testsuite/libffi.call/many2.c: New test.
-
-2010-08-20 Mark Wielaard <mjw@redhat.com>
-
- * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
- returns NULL.
-
-2010-08-09 Andreas Tobler <andreast@fgznet.ch>
-
- * configure.ac: Add target powerpc64-*-freebsd*.
- * configure: Regenerate.
- * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
- -mlong-double-128 only to linux targets.
- * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
- * testsuite/libffi.call/cls_longdouble.c: Likewise.
- * testsuite/libffi.call/huge_struct.c: Likewise.
-
-2010-07-22 Dan Witte <dwitte@mozilla.com>
-
- * src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
- * src/prep_cif.c: Fix ABI assertion.
- * src/cris/ffi.c: Ditto.
-
-2010-07-10 Evan Phoenix <evan@fallingsnow.net>
-
- * src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
-
-2010-07-07 Dan Horák <dan@danny.cz>
-
- * include/ffi.h.in: Protect #define with #ifndef.
- * src/powerpc/ffitarget.h: Ditto.
- * src/s390/ffitarget.h: Ditto.
- * src/sparc/ffitarget.h: Ditto.
-
-2010-07-07 Neil Roberts <neil@linux.intel.com>
-
- * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
- 16-bytes.
-
-2010-07-02 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
- * Makefile.in: Regenerated.
-
-2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
- output, too.
- (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
- (libffi_cv_as_string_pseudo_op): Check for .string.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
-
-2010-05-11 Dan Witte <dwitte@mozilla.com>
-
- * doc/libffi.tex: Document previous change.
-
-2010-05-11 Makoto Kato <m_kato@ga2.so-net.ne.jp>
-
- * src/x86/ffi.c (ffi_call): Don't copy structs passed by value.
-
-2010-05-05 Michael Kohler <michaelkohler@live.com>
-
- * src/dlmalloc.c (dlfree): Fix spelling.
- * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
- * configure.ac: Ditto.
- * configure: Rebuilt.
-
-2010-04-13 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Build with -W3 instead of -Wall.
- * src/powerpc/ffi_darwin.c: Remove build warnings.
- * src/x86/ffi.c: Ditto.
- * src/x86/ffitarget.h: Ditto.
-
-2010-04-12 Dan Witte <dwitte@mozilla.com>
- Walter Meinl <wuno@lsvw.de>
-
- * configure.ac: Add OS/2 support.
- * configure: Rebuilt.
- * src/closures.c: Ditto.
- * src/dlmalloc.c: Ditto.
- * src/x86/win32.S: Ditto.
-
-2010-04-07 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
-
-2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2010-03-30 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Disable build warnings.
- * README (tested): Clarify windows build procedure.
-
-2010-03-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * libffi/src/x86/unix64.S (.eh_frame)
- [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
-
-2010-03-14 Matthias Klose <doko@ubuntu.com>
-
- * src/x86/ffi64.c: Fix typo in comment.
- * src/x86/ffi.c: Use /* ... */ comment style.
-
-2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/libffi.texi (The Closure API): Fix typo.
- * doc/libffi.info: Remove.
-
-2010-02-15 Matthias Klose <doko@ubuntu.com>
-
- * src/arm/sysv.S (__ARM_ARCH__): Define for processor
- __ARM_ARCH_7EM__.
-
-2010-01-15 Anthony Green <green@redhat.com>
-
- * README: Add notes on building with Microsoft Visual C++.
-
-2010-01-15 Daniel Witte <dwitte@mozilla.com>
-
- * msvcc.sh: New file.
-
- * src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
- * src/x86/ffi.c: Tweak function declaration and remove excess
- parens.
- * include/ffi.h.in: Add __declspec(align(8)) to typedef struct
- ffi_closure.
-
- * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
- function ffi_call_win32 on X86_WIN32.
- * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
- (ffi_call_STDCALL): Remove.
-
- * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
- to ffi_prep_cif_machdep for x86.
- * src/x86/ffi.c (ffi_prep_cif_machdep): To here.
-
-2010-01-15 Oliver Kiddle <okiddle@yahoo.co.uk>
-
- * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
- Sun Studio compiler compatibility.
-
-2010-01-12 Conrad Irwin <conrad.irwin@gmail.com>
-
- * doc/libffi.texi: Add closure example.
-
-2010-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40701
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
- PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
- * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
- alpha*-dec-osf*.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/return_ll1.c: Likewise.
- * testsuite/libffi.call/stret_medium2.c: Likewise.
- * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
- MAP_FAILED to char *.
-
-2010-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
-
-2009-12-31 Anthony Green <green@redhat.com>
-
- * README: Update for libffi 3.0.9.
-
-2009-12-27 Matthias Klose <doko@ubuntu.com>
-
- * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
- appropriate.
- * configure: Rebuilt.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
- avr32*-*-*.
- * testsuite/libffi.call/cls_double_va.c: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
- and inttypes.h.
- * testsuite/libffi.special/unwindtest.cc: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-openbsd*.
- * configure: Rebuilt.
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
- openbsd programs with -lpthread.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
- mips*-*-* and arm*-*-*.
- * testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c,
- testsuite/libffi.call/stret_medium2.c,
- testsuite/libffi.call/stret_medium.c,
- testsuite/libffi.call/stret_large.c,
- testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
-
-2009-12-31 Kay Tietz <ktietz70@googlemail.com>
-
- * testsuite/libffi.call/ffitest.h,
- testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
- definitions.
-
-2009-12-31 Carlo Bramini <carlo.bramix@libero.it>
-
- * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
- * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
-
-2009-12-31 Anthony Green <green@redhat.com>
- Blake Chaffin.
-
- * testsuite/libffi.call/huge_struct.c: New test case from Blake
- Chaffin @ Apple.
-
-2009-12-28 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
- local variables.
- (aix_adjust_aggregate_sizes): New function.
- (ffi_prep_cif_machdep): Call it.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
- * configure: Regenerate.
- * fficonfig.h.in: Likewise.
- * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
- Solaris/x86.
-
-2009-12-26 Andreas Schwab <schwab@linux-m68k.org>
-
- * 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.
-
-2009-12-25 Matthias Klose <doko@ubuntu.com>
-
- * man/ffi_call.3: Fix #include in examples.
- * doc/libffi.texi: Add dircategory.
-
-2009-12-25 Frank Everdij <f.p.x.everdij@tudelft.nl>
-
- * include/ffi.h.in: Placed '__GNUC__' ifdef around
- '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
- IRIX MIPSPro c99.
- * include/ffi_common.h: Added '__sgi' define to non
- '__attribute__((__mode__()))' integer typedefs.
- * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
- ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
- (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
- FFI_LONGDOUBLE support and alignment(N32 only).
- * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
- fixed non '__attribute__((__mode__()))' integer typedefs.
- * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
- since they are Linux/GNU Assembler specific.
-
-2009-12-25 Bradley Smith <brad@brad-smith.co.uk>
-
- * configure.ac, Makefile.am, src/avr32/ffi.c,
- src/avr32/ffitarget.h,
- src/avr32/sysv.S: Add AVR32 port.
- * configure, Makefile.in: Rebuilt.
-
-2009-12-21 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
- * configure: Regenerate.
-
-2009-12-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
- type on HP-UX.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
- double' arguments.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40700
- * src/closures.c [X86_64 && __sun__ && __svr4__]
- (FFI_MMAP_EXEC_WRIT): Define.
-
-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.
-
-2009-12-07 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
- typo.
-
-2009-12-05 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
- code.
- * src/powerpc/aix_closure.S: Same.
-
-2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
- linux64_closure.S.
-
-2009-12-04 Uros Bizjak <ubizjak@gmail.com>
-
- 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.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
- pfr for long double split between fpr13 and stack.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
- fparg_count twice for long double.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- PR libffi/42243
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03 Uros Bizjak <ubizjak@gmail.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
- Remove xfails for x86 linux targets.
-
-2009-12-02 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
- case.
-
-2009-12-01 David Edelsohn <edelsohn@gnu.org>
-
- * 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.
-
-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.
-
-2009-11-02 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/41908
- * testsuite/libffi.call/testclosure.c: New test.
-
-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.
-
-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.
-
-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.
-
-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.
-
-2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.am (install-html, install-pdf): Remove.
- * Makefile.in: Regenerate.
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24 Dave Korn <dave.korn.cygwin@gmail.com>
-
- 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.
-
-2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
-
- 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.
-
-2009-07-01 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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 "".)
-
-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.
-
-2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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.
-
-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.
-
-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.
-
-2009-06-16 Andrew Haley <aph@redhat.com>
-
- * configure.ac (TARGETDIR): Add missing blank lines.
- * configure: Regenerate.
-
-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.
-
-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.
-
-2009-06-12 Andrew Haley <aph@redhat.com>
-
- * Makefile.am: Remove info_TEXINFOS.
-
-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-11 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * 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.
-
-2009-06-09 Andrew Haley <aph@redhat.com>
-
- * src/x86/freebsd.S: Add missing file.
-
-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).
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * README: Import from libffi 3.0.8.
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Add xfails.
- * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
- * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
- * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
- * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
- * testsuite/libffi.call/stret_medium.c: Likewise.
- * testsuite/libffi.call/stret_large2.c: Likewise.
- * testsuite/libffi.call/stret_large.c: Likewise.
-
-2008-12-26 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_align_longdouble.c,
- testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
- failures on x86_64 cygwin/mingw.
-
-2008-12-22 Timothy Wall <twall@users.sf.net>
-
- * 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_loc_fn0.c,
- testsuite/libffi.call/closure_stdcall.c,
- testsuite/libffi.call/cls_align_pointer.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
- pointer to integer (intptr_t).
- * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_dbls_struct.c,
- testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c,
- testsuite/libffi.call/err_bad_abi.c: Clean up failures from
- compiler warnings.
-
-2008-03-04 Anthony Green <green@redhat.com>
- Blake Chaffin
- hos@tamanegi.org
-
- * testsuite/libffi.call/cls_align_longdouble_split2.c
- testsuite/libffi.call/cls_align_longdouble_split.c
- testsuite/libffi.call/cls_dbls_struct.c
- testsuite/libffi.call/cls_double_va.c
- testsuite/libffi.call/cls_longdouble.c
- testsuite/libffi.call/cls_longdouble_va.c
- testsuite/libffi.call/cls_pointer.c
- testsuite/libffi.call/cls_pointer_stack.c
- testsuite/libffi.call/err_bad_abi.c
- testsuite/libffi.call/err_bad_typedef.c
- testsuite/libffi.call/stret_large2.c
- testsuite/libffi.call/stret_large.c
- testsuite/libffi.call/stret_medium2.c
- testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
- libffi.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
- stdcall changes.
-
-2008-02-26 Anthony Green <green@redhat.com>
- Thomas Heller <theller@ctypes.org>
-
- * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
- comment.
-
-2008-02-03 Timothy Wall <twall@users.sf.net>
-
- * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
- offset based on code pointer, not data pointer.
-
-2008-01-31 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
- closures.
- * src/x86/ffitarget.h: Increase size of trampoline for stdcall
- closures.
- * src/x86/win32.S: Add assembly for stdcall closure.
- * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Change void (*)() to void (*)(void).
- * src/x86/ffi.c: Likewise.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ppc_closure.S: Insert licence header.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/m68k/sysv.S: Likewise.
-
- * src/sh64/ffi.c: Change void (*)() to void (*)(void).
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/m32r/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi64.c: Likewise.
- * src/alpha/ffi.c: Likewise.
- * src/alpha/osf.S: Likewise.
- * src/frv/ffi.c: Likewise.
- * src/s390/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/pa/hpux32.S: Likewise.
- * src/ia64/unix.S: Likewise.
- * src/ia64/ffi.c: Likewise.
- * src/sparc/ffi.c: Likewise.
- * src/mips/ffi.c: Likewise.
- * src/sh/ffi.c: Likewise.
-
-2008-02-15 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
- Define (conditionally), and use it to include cachectl.h.
- (ffi_prep_closure_loc): Fix cache flushing.
- * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- include/ffi.h.in,
- src/arm/ffitarget.h,
- src/arm/ffi.c,
- src/arm/sysv.S,
- src/powerpc/ffitarget.h,
- src/closures.c,
- src/sh64/ffitarget.h,
- src/sh64/ffi.c,
- src/sh64/sysv.S,
- src/types.c,
- src/x86/ffi64.c,
- src/x86/ffitarget.h,
- src/x86/win32.S,
- src/x86/darwin.S,
- src/x86/ffi.c,
- src/x86/sysv.S,
- src/x86/unix64.S,
- src/alpha/ffitarget.h,
- src/alpha/ffi.c,
- src/alpha/osf.S,
- src/m68k/ffitarget.h,
- src/frv/ffitarget.h,
- src/frv/ffi.c,
- src/s390/ffitarget.h,
- src/s390/sysv.S,
- src/cris/ffitarget.h,
- src/pa/linux.S,
- src/pa/ffitarget.h,
- src/pa/ffi.c,
- src/raw_api.c,
- src/ia64/ffitarget.h,
- src/ia64/unix.S,
- src/ia64/ffi.c,
- src/ia64/ia64_flags.h,
- src/java_raw_api.c,
- src/debug.c,
- src/sparc/v9.S,
- src/sparc/ffitarget.h,
- src/sparc/ffi.c,
- src/sparc/v8.S,
- src/mips/ffitarget.h,
- src/mips/n32.S,
- src/mips/o32.S,
- src/mips/ffi.c,
- src/prep_cif.c,
- src/sh/ffitarget.h,
- src/sh/ffi.c,
- src/sh/sysv.S: Update license text.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * src/x86/win32.S (_ffi_closure_STDCALL): New function.
- (.eh_frame): Add FDE for it.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * configure.ac: Also check if assembler supports pc-relative
- relocs on X86_WIN32 targets.
- * configure: Regenerate.
- * src/x86/win32.S (ffi_prep_args): Declare extern, not global.
- (_ffi_call_SYSV): Add missing function type symbol .def and
- add EH markup labels.
- (_ffi_call_STDCALL): Likewise.
- (_ffi_closure_SYSV): Likewise.
- (_ffi_closure_raw_SYSV): Likewise.
- (.eh_frame): Add hand-crafted EH data.
-
-2009-04-09 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
- version 3 of the GNU General Public License and to point readers
- at the COPYING3 file and the FSF's license web page.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-12-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libffi/26048
- * configure.ac (HAVE_AS_X86_PCREL): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
- RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
- RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
- * src/x86/unix64.S (.Lstore_table): Move to .text section.
- (.Lload_table): Likewise.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
- signed/unsigned int8/16 return values.
- * src/sparc/v8.S (ffi_call_v8): Likewise.
- (ffi_closure_v8): Likewise.
-
-2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
- Steve Ellcey <sje@cup.hp.com>
-
- * configure: Regenerate for new libtool.
- * Makefile.in: Ditto.
- * include/Makefile.in: Ditto.
- * aclocal.m4: Ditto.
-
-2008-08-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
- FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
- Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
- Adjust copyright notice.
- * src/powerpc/ffi.c: Add two new flags to indicate if we have one
- register or two register to use for FFI_SYSV structs.
- (ffi_prep_cif_machdep): Pass the right register flag introduced above.
- (ffi_closure_helper_SYSV): Fix the return type for
- FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
- Adjust copyright notice.
-
-2008-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
- int.
-
-2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2008-06-07 Joseph Myers <joseph@codesourcery.com>
-
- * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
- powerpc-*-beos*): Remove.
- * configure: Regenerate.
-
-2008-05-09 Julian Brown <julian@codesourcery.com>
-
- * Makefile.am (LTLDFLAGS): New.
- (libffi_la_LDFLAGS): Use above.
- * Makefile.in: Regenerate.
-
-2008-04-18 Paolo Bonzini <bonzini@gnu.org>
-
- PR bootstrap/35457
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2008-03-26 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add .note.GNU-stack on Linux.
- * src/sh64/sysv.S: Likewise.
-
-2008-03-26 Daniel Jacobowitz <dan@debian.org>
-
- * src/arm/sysv.S: Fix ARM comment marker.
-
-2008-03-26 Jakub Jelinek <jakub@redhat.com>
-
- * src/alpha/osf.S: Add .note.GNU-stack on Linux.
- * src/s390/sysv.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
- * src/x86/unix64.S: Likewise.
- * src/x86/sysv.S: Likewise.
- * src/sparc/v8.S: Likewise.
- * src/sparc/v9.S: Likewise.
- * src/m68k/sysv.S: Likewise.
- * src/arm/sysv.S: Likewise.
-
-2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * aclocal.m4: Regenerate.
- * configure: Likewise.
- * Makefile.in: Likewise.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2008-02-12 Bjoern Koenig <bkoenig@alpha-tierchen.de>
- Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-freebsd* target.
- * configure: Regenerate.
-
-2008-01-30 H.J. Lu <hongjiu.lu@intel.com>
-
- PR libffi/34612
- * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
- returning struct.
-
- * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
- tests.
-
-2008-01-24 David Edelsohn <edelsohn@gnu.org>
-
- * configure: Regenerate.
-
-2008-01-06 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
-
-2008-01-05 Andreas Tobler <a.tobler@schweiz.org>
-
- PR testsuite/32843
- * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
- signed/unsigned int8/16 for X86_DARWIN.
- Updated copyright info.
- Handle one and two byte structs with special cif->flags.
- * src/x86/ffitarget.h: Add special types for one and two byte structs.
- Updated copyright info.
- * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
- sysv.S
- Remove code to pop args from the stack after call.
- Special-case signed/unsigned for int8/16, one and two byte structs.
- (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
- FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
- FFI_TYPE_SINT32.
- Updated copyright info.
-
-2007-12-08 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_call_N32): Replace dadd with ADDU, dsub with
- SUBU, add with ADDU and use smaller code sequences.
-
-2007-12-07 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
- type.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
- defined.
- (ffi_java_raw): New typedef.
- (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
- ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
- ffi_java_raw.
- (ffi_java_raw_closure) : Same.
- (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
- parameter types.
- * src/java_raw_api.c (ffi_java_raw_size): Replace FFI_SIZEOF_ARG with
- FFI_SIZEOF_JAVA_RAW.
- (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
- Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
- sizeof(ffi_java_raw) for alignment calculations.
- (ffi_java_ptrarray_to_raw): Same.
- (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
- if FFI_SIZEOF_JAVA_RAW == 4.
- (ffi_java_raw_to_rvalue): Same.
- (ffi_java_raw_call): Change type of raw to ffi_java_raw.
- (ffi_java_translate_args): Same.
- (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
- parameter types.
- * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
- pointer values.
-
-2007-12-01 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/31937
- * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
- Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
- * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
- set the NUM_FPR_ARG_REGISTERS according to.
- Add support for potential soft-float support under hard-float
- architecture.
- (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
- FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
- to the FFI_LINUX_SOFT_FLOAT ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Make sure not to store float/double
- on archs where __NO_FPRS__ is true.
- Add FFI_TYPE_UINT128 support.
- * src/powerpc/sysv.S: Add support for soft-float long-double-128.
- Adjust copyright notice.
-
-2007-11-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
- * include/ffi_common.h: ... here.
- Update copyright.
-
-2007-11-17 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
- * testsuite/libffi.call/return_ldl.c: New test.
-
-2007-09-04 <aph@redhat.com>
-
- * src/arm/sysv.S (UNWIND): New.
- (Whole file): Conditionally compile unwinder directives.
- * src/arm/sysv.S: Add unwinder directives.
-
- * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
- Only treat r0 as a struct address if we're actually returning a
- struct by address.
- Only copy the bytes that are actually within a struct.
- (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
- is returned in r0, not passed by address.
- (ffi_call): Allocate a word-sized temporary for the case where
- a composite is returned in r0.
- (ffi_prep_incoming_args_SYSV): Align as necessary.
-
-2007-08-05 Steven Newbury <s_j_newbury@yahoo.co.uk>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
- directly using the sys_cacheflush syscall.
-
-2007-07-27 Andrew Haley <aph@redhat.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
-
-2007-09-03 Maciej W. Rozycki <macro@linux-mips.org>
-
- * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure: Likewise.
-
-2007-08-24 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/return_sl.c: New test.
-
-2007-08-10 David Daney <ddaney@avtrex.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/nested_struct5.c,
- testsuite/libffi.call/cls_double.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/nested_struct.c,
- testsuite/libffi.call/cls_2byte.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_sint16.c,
- testsuite/libffi.call/cls_align_uint32.c,
- testsuite/libffi.call/cls_20byte.c,
- testsuite/libffi.call/cls_float.c,
- testsuite/libffi.call/nested_struct2.c,
- testsuite/libffi.call/cls_5_1_byte.c,
- testsuite/libffi.call/nested_struct4.c,
- testsuite/libffi.call/cls_24byte.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: Remove xfail for mips64*-*-*.
-
-2007-08-10 David Daney <ddaney@avtrex.com>
-
- 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.
-
-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*.
- * 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.
-
-2006-12-13 Andreas Tobler <a.tobler@schweiz.org>
-
- * aclocal.m4: Regenerate with aclocal -I .. as written in the
- Makefile.am.
-
-2006-10-31 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
- (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
- Darwin.
- * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
- * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10 Paolo Bonzini <bonzini@gnu.org>
- Sandro Tolaini <tolaini@libero.it>
-
- * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
- conditional.
- * configure: Regenerated.
- * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
- (EXTRA_DIST): Add src/x86/darwin.S.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
- X86_WIN32, and additionally align stack to 16 bytes.
- * src/x86/darwin.S: New, based on sysv.S.
- * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12 David Daney <ddaney@avtrex.com>
-
- PR libffi/23935
- * include/Makefile.am: Install both ffi.h and ffitarget.h in
- $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
- * aclocal.m4: Regenerated for automake 1.9.6.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
-2006-08-17 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h: Remove lint directives.
- * include/ffi.h.in: Likewise.
-
-2006-07-25 Torsten Schoenfeld <kaffeetisch@gmx.de>
-
- * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
- for 32-bit architectures.
- * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
- xfail remains for mips64.
-
-2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
-
- * Makefile.am: Add install-html target. Add install-html to .PHONY
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
- stack slot.
-
-2006-04-22 Andreas Tobler <a.tobler@schweiz.ch>
-
- * README: Remove notice about 'Crazy Comments'.
- * src/debug.c: Remove lint directives. Cleanup white spaces.
- * src/java_raw_api.c: Likewise.
- * src/prep_cif.c: Likewise.
- * src/raw_api.c: Likewise.
- * src/ffitest.c: Delete. No longer needed, all test cases migrated
- to the testsuite.
- * src/arm/ffi.c: Remove lint directives.
- * src/m32r/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/sh/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/pa/hpux32.S: Correct unwind offset calculation for
- ffi_closure_pa32.
- * src/pa/linux.S: Likewise.
-
-2006-04-12 James E Wilson <wilson@specifix.com>
-
- PR libgcj/26483
- * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
- (hfa_type_load): Call stf_spill.
- (hfa_type_store): Call ldf_fill.
- (ffi_call): Adjust calls to above routines. Add local temps for
- macro result.
-
-2006-04-10 Matthias Klose <doko@debian.org>
-
- * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
- directory names containing underscores.
-
-2006-04-07 James E Wilson <wilson@specifix.com>
-
- * testsuite/libffi.call/float4.c: New testcase.
-
-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.
-
-2006-03-24 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Default
- for 32-bit using IBM extended double format. Fix FFI_LAST_ABI.
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
- FFI_TYPE_LONGDOUBLE.
- (ffi_prep_args64): Assert using IBM extended double.
- (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
- Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
- (ffi_call): Handle FFI_LINUX.
- (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
- gpr3 return pointer as for struct return. Handle FFI_LINUX
- FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf"
- unnecessarily.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
- for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table.
- Don't use r6 as pointer to results, instead use sp offset. Don't
- make a special call to load lr with case table address, instead
- use offset from previous call.
- * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
- return.
-
-2006-03-15 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
- passed with FP registers correctly.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S: Likewise.
-
-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.
-
-2006-02-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
- -O2, -O3, -Os and the warning flags -W -Wall.
- * testsuite/libffi.special/special.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
- unused parameter unused for gcc or else do nothing.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
- * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
- * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
- * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
- * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
- * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
- * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
- * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
- * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
- void* to avoid compiler warning.
- (main): Likewise.
- (cls_struct_align_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
- * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
- * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
- userdata unused.
- (cls_ret_schar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
- userdata unused.
- (cls_ret_sint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
- userdata unused.
- (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn): Mark cif and
- userdata unused.
- (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
- userdata unused.
- (cls_ret_uint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
- userdata unused.
- (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
- * testsuite/libffi.call/float1.c (main): Remove unused variable i.
- Cleanup white spaces.
- * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
- * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
- cif and userdata unused.
- * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
- Likewise.
- * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
- formatters to silence gcc.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct4.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct6.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
- * testsuite/libffi.call/problem1.c (stub): Likewise.
- * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
- gcc.
- * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
- in the last commit for this test case in the test case itself.
- * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
- unused.
- * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
- * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
- * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
- * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
- * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
- * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Fix register numbers in the FDE for
- ffi_closure_SYSV.
-
-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.
-
-2006-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
- and cast integer to void * if needed. Update the pointer to
- the FP register saved area correctly.
-
-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.
-
-2006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/return_dbl.c: New test case.
- * testsuite/libffi.call/return_dbl1.c: Likewise.
- * testsuite/libffi.call/return_dbl2.c: Likewise.
- * testsuite/libffi.call/return_fl.c: Likewise.
- * testsuite/libffi.call/return_fl1.c: Likewise.
- * testsuite/libffi.call/return_fl2.c: Likewise.
- * testsuite/libffi.call/return_fl3.c: Likewise.
- * testsuite/libffi.call/closure_fn6.c: Likewise.
-
- * 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.
-
-2006-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.ac: Enable libffi for sparc64-*-freebsd*.
- * configure: Rebuilt.
-
-2006-01-18 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
- instead do the shifting inline.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
- shift count unconditionally. Simplify load sequences for 1, 2, 3, 4
- and 8 byte structs, for the remaining struct sizes don't call
- __lshrdi3, instead do the shifting inline.
-
-2005-12-07 Thiemo Seufer <ths@networkno.de>
-
- * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
- missing parentheses.
- * src/mips/o32.S (ffi_call_O32): Code formatting. Define
- and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
- (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
- A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
- V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
- FA_0_0_OFF2.
- * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
- endianness bugs.
- (ffi_prep_closure): Improve trampoline instruction scheduling.
- (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c: Formatting.
- (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
- (ffi_prep_args64): Likewise.
-
-2005-09-30 Geoffrey Keating <geoffk@apple.com>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
- darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26 Tom Tromey <tromey@redhat.com>
-
- * 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.
-
-2005-08-25 Alan Modra <amodra@bigpond.net.au>
-
- PR target/23404
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
- homed fp args.
- (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11 Jakub Jelinek <jakub@redhat.com>
-
- * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
- (AH_BOTTOM): Add FFI_HIDDEN definition.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * src/powerpc/ffi.c (hidden): Remove.
- (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
- ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
- .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
- * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
- add FFI_HIDDEN to its prototype.
- (ffi_closure_SYSV_inner): New.
- * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
- * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10 Alfred M. Szmidt <ams@gnu.org>
-
- PR libffi/21819:
- * configure: Rebuilt.
- * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
- DW_CFA_offset_extended_sf rather than
- DW_CFA_GNU_negative_offset_extended.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
-
- * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
- on sh3.
- (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
- * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
- partially on register.
- (ffi_closure_helper_SYSV): Likewise.
- (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_call): Handle small structures correctly.
- Remove empty line.
- * src/sh64/ffi.c (simple_type): Remove.
- (return_type): Handle small structures correctly.
- (ffi_prep_args): Likewise.
- (ffi_call): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
- Emit position independent code if PIC and remove wrong datalabel
- prefixes from EH data.
-
-2005-07-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure.ac: Add POWERPC_FREEBSD rules.
- * configure: Regenerate.
- * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
- (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
- * src/powerpc/ffi.c: Add flags to handle small structure returns
- in ffi_call_SYSV.
- (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
- Aka FFI_SYSV.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Add return types for small structures.
- * src/powerpc/sysv.S: Add bits to handle small structures for
- final SYSV 4 ABI.
-
-2005-07-10 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_5_1_byte.c: New test file.
- * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05 Randolph Chung <tausq@debian.org>
-
- * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
- as FFI_TYPE_SMALL_STRUCT3. Break out handling for 5-7 byte
- structures. Kill compilation warnings.
- (ffi_closure_inner_LINUX): Print return values as hex in debug
- message. Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
- Properly handle 5-7 byte structure returns.
- * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
- (FFI_TYPE_SMALL_STRUCT2): Remove.
- (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
- (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
- * src/pa/linux.S: Mark source file as using PA1.1 assembly.
- (checksmst1, checksmst2): Remove.
- (checksmst3): Optimize handling of 3-byte struct returns.
- (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libgcj/21943
- * src/mips/n32.S: Enforce PIC code.
- * src/mips/o32.S: Likewise.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
- * configure: Regenerate.
-
-2005-06-01 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
- to call ffi_closure_helper_SYSV. Append @local instead.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
- Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
- * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
- * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
- include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-05-08 Richard Henderson <rth@redhat.com>
-
- PR libffi/21285
- * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04 Andreas Degert <ad@papyrus-gmbh.de>
- Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
- bit 11 of flags.
- (ffi_call): Mask return type field. Pass ssecount to ffi_call_unix64.
- (ffi_prep_closure): Set carry bit if sse-used flag set.
- * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
- Only load sse registers if ssecount non-zero.
- (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
- powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
- * configure: Regenerate.
-
-2005-04-20 Hans-Peter Nilsson <hp@axis.com>
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
- have Tcl8.3-compatible intermediate variable.
-
-2005-04-18 Simon Posnjak <simon.posnjak@siol.net>
- Hans-Peter Nilsson <hp@axis.com>
-
- * Makefile.am: Add CRIS support.
- * configure.ac: Likewise.
- * Makefile.in, configure, testsuite/Makefile.in,
- include/Makefile.in: Regenerate.
- * src/cris: New directory.
- * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
- * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
- \r?\n in output tests.
-
-2005-04-12 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-03-30 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30 Steve Ellcey <sje@cup.hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
- (ffi_sarg) Ditto.
- * src/ia64/unix.S (ffi_closure_unix): Extend gp
- to 64 bits in ILP32 mode.
- Load 64 bits even for short data.
-
-2005-03-23 Mike Stump <mrs@apple.com>
-
- * src/powerpc/darwin.S: Update for -m64 multilib.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21 Zack Weinberg <zack@codesourcery.com>
-
- * 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.
-
-2005-02-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
- odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR libffi/20104
- * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11 Janis Johnson <janis187@us.ibm.com>
-
- * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
- * testsuite/libffi.call/float.c: Ditto.
- * testsuite/libffi.call/float2.c: Ditto.
- * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * testsuite/libffi.special/special.exp (cxx_options): Add
- -shared-libgcc.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
- (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
- offset parameters with a type parameter; deduce size and structure
- alignment. Update all users.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
- (FFI_TYPE_LONGDOUBLE): Fix for ia64.
- * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
- into ffi_prep_closure.
- * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
- from scratch.
-
-2004-12-27 Richard Henderson <rth@redhat.com>
-
- * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25 Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
- (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
- (merge_classes): Check for it.
- (SSE_CLASS_P): New.
- (classify_argument): Pass byte_offset by value; perform all updates
- inside struct case.
- (examine_argument): Add classes argument; handle
- X86_64_COMPLEX_X87_CLASS.
- (ffi_prep_args): Merge into ...
- (ffi_call): ... here. Share stack frame with ffi_call_unix64.
- (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
- (ffi_fill_return_value): Remove.
- (ffi_prep_closure): Remove dead assert.
- (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
- Rewrite to use struct register_args instead of va_list. Create
- flags for handling structure returns.
- * src/x86/unix64.S: Remove dead strings.
- (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share
- stack frame with ffi_call. Handle structure returns properly.
- (float2sse, floatfloat2sse, double2sse): Remove.
- (sse2float, sse2double, sse2floatfloat): Remove.
- (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite
- to handle structure returns properly.
-
-2004-12-08 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
- PICFLAG.
- * Makefile.in: Regenerated.
-
-2004-12-02 Richard Sandiford <rsandifo@redhat.com>
-
- * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
- * configure, aclocal.m4, Makefile.in: Regenerate.
- * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-25 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool reversion.
-
-2004-11-24 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23 Richard Sandiford <rsandifo@redhat.com>
-
- * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
- of jal. Use an absolute encoding for the frame information.
-
-2004-11-23 Kelley Cook <kcook@gcc.gnu.org>
-
- * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS.
- * acinclude.m4: Delete logic for sincludes.
- * aclocal.m4, Makefile.in, configure: Regenerate.
- * include/Makefile: Likewise.
- * testsuite/Makefile: Likewise.
-
-2004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
- on a 8-byte boundary.
- * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
- long long values. Round stack allocation to a multiple of 8 bytes
- for ATPCS compatibility.
- * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
- names. Handle returning long long types. Add Thumb and interworking
- support. Improve soft-float code.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
- (libffi_exit): New function.
- (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR other/18138
- * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
- * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
- the function returning a structure pointed with R2.
- * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
- the structure return value if T bit set. Emit position
- independent code and EH data if PIC.
-
-2004-10-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * Makefile.am: Add m32r support.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * confiugre: Regenerate.
- * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
- (uint64, sint64, double, longdouble)
- * src/m32r: New directory.
- * src/m32r/ffi.c: New file.
- * src/m32r/sysv.S: Likewise.
- * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * testsuite/libffi.call/negint.c: New test case.
-
-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.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/many_win32.c: Remove whitespaces.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
- whitespaces.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Fix comments and identation.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
- (ffi_prep_args): Handle longdouble arguments.
- (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
- longdouble.
- (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
- * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
- values.
- * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
- * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/aix.S: Remove whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
- * src/powerpc/asm.h: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffitarget.h: Likewise.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
-
-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.in: Read configure.host.
- * 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 shouldn't 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.
-
-2004-08-24 David Daney <daney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
- to zero.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23 David Daney <daney@avtrex.com>
-
- PR libgcj/13141
- * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
- * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
- (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
- parameters and return types.
- (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
- (ffi_prep_closure): Ditto.
- (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
- alignment calculations.
- * src/mips/o32.S (ffi_closure_O32): Don't use floating point
- instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14 Casey Marshall <csm@gnu.org>
-
- * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
- contain `FFI_TYPE_UINT64' as return type for any 64-bit
- integer (O32 ABI only).
- (ffi_prep_closure): new function.
- (ffi_closure_mips_inner_O32): new function.
- * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
- `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
- * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
- 64 bit integers correctly.
- (ffi_closure_O32): new function.
- Added DWARF-2 unwind info for both functions.
-
-2004-08-10 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01 Robert Millan <robertmh@gnu.org>
-
- * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
- * configure: Regenerate.
-
-2004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
-
- * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
- and mmap() explicitly instead of relying on preset autoconf cache
- variables.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
- (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
- character on Darwin, use '\n\t' instead.
-
-2004-06-26 Matthias Klose <doko@debian.org>
-
- * libtool-version: Fix typo in revision/age.
-
-2004-06-17 Matthias Klose <doko@debian.org>
-
- * libtool-version: New.
- * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
- * Makefile.in: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * Makefile.am: Remove useless multilib rules.
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate with automake 1.8.5.
- * configure.ac: Remove useless multilib configury.
- * configure: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * .cvsignore: New file.
-
-2004-06-10 Jakub Jelinek <jakub@redhat.com>
-
- * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
- fp_done.
- (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
- changed from 8.
-
-2004-06-06 Sean McNeil <sean@mcneil.com>
-
- * configure.ac: Add x86_64-*-freebsd* support.
- * configure: Regenerate.
-
-2004-04-26 Joe Buck <jbuck@welsh-buck.org>
-
- Bug 15093
- * configure.ac: Test for existence of mmap and sys/mman.h before
- checking blacklist. Fix suggested by Jim Wilson.
- * configure: Regenerate.
-
-2004-04-26 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
- FDE location.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
- error. Reported by Thomas Heller <theller@python.net>.
- * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20 Matthias Klose <doko@debian.org>
-
- * src/pa/linux.S: Fix typo.
-
-2004-03-19 Matthias Klose <doko@debian.org>
-
- * Makefile.am: Update.
- * Makefile.in: Regenerate.
- * src/pa/ffi.h.in: Remove.
- * src/pa/ffitarget.h: New file.
-
-2004-02-10 Randolph Chung <tausq@debian.org>
-
- * Makefile.am: Add PA support.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * configure.ac: Add PA target.
- * configure: Regenerate.
- * src/pa/ffi.c: New file.
- * src/pa/ffi.h.in: Add PA support.
- * src/pa/linux.S: New file.
- * prep_cif.c: Add PA support.
-
-2004-03-16 Hosaka Yuji <hos@tamanegi.org>
-
- * src/types.c: Fix alignment size of X86_WIN32 case int64 and
- double.
- * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
- with ecif->cif->flags.
- (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
- with cif->flags.
- (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
- (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
- * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
- sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.in: Rename file to ...
- * configure.ac: ... this.
- * fficonfig.h.in: Regenerate.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2004-03-12 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Fix EH information so it corresponds to
- changes in EH format resulting from addition of linkonce support.
- * src/powerpc/darwin_closure.S: Likewise.
-
-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.
-
-2004-03-11 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
- arguments from fp registers only for the first 8 parameter slots.
- Don't convert a float parameter when passed in memory.
-
-2004-03-09 Hans-Peter Nilsson <hp@axis.com>
-
- * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
-
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
- ecif->cif->bytes to bytes.
- (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
- * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
- (ffi_closure_helper_LINUX64): Fix typo.
- * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
- for powerpc64-*-*.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
- long double function return and long double arg handling.
- (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
- Use "end_pfr" instead of "nf". Correct long double handling.
- Localise "temp".
- * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
- return value.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
- space for long double return value. Adjust stack frame and offsets.
- Load f2 long double return.
-
-2004-02-07 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
- when the structure return address is passed in %o0.
- (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
- (ffi_v9_layout_struct): Align the field following a nested structure
- on a word boundary. Use memmove instead of memcpy.
- (ffi_call): Update call to ffi_V9_return_struct.
- (ffi_prep_closure): Define 'ctx' only for V8.
- (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
- and ffi_closure_sparc_inner_v9.
- (ffi_closure_sparc_inner_v8): Return long doubles by reference.
- Always skip the structure return address. For structures and long
- doubles, copy the argument directly.
- (ffi_closure_sparc_inner_v9): Skip the structure return address only
- if required. Shift the maximum floating-point slot accordingly. For
- big structures, copy the argument directly; otherwise, left-justify the
- argument and call ffi_v9_layout_struct to lay out the structure on
- the stack.
- * src/sparc/v8.S: Undef STACKFRAME before defining it.
- (ffi_closure_v8): Pass the structure return address. Update call to
- ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
- Skip the 'unimp' insn when returning long doubles and structures.
- * src/sparc/v9.S: Undef STACKFRAME before defining it.
- (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
- FFI_TYPE_INT handling. Load structures both in integers and
- floating-point registers on return.
- * README: Update status of the SPARC port.
-
-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.
-
-2004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
-
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
- value as of type ffi_arg, not unsigned int.
-
-2004-01-21 Michael Ritzert <ritzert@t-online.de>
-
- * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
- of the LHS.
-
-2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
- Solaris.
-
-2004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
- to void *.
-
-2003-12-10 Richard Henderson <rth@redhat.com>
-
- * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
- size_t instead of int.
-
-2003-12-04 Hosaka Yuji <hos@tamanegi.org>
-
- * testsuite/libffi.call/many_win32.c: Include <float.h>.
- * testsuite/libffi.call/many_win32.c (main): Replace variable
- int i with unsigned long ul.
-
- * testsuite/libffi.call/cls_align_uint64.c: New test case.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02 Hosaka Yuji <hos@tamanegi.org>
-
- PR other/13221
- * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
- Align arguments to 32 bits.
-
-2003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR other/13221
- * testsuite/libffi.call/cls_multi_sshort.c: New test case.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-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.
-
-2003-11-21 Andreas Jaeger <aj@suse.de>
- Andreas Tobler <a.tobler@schweiz.ch>
-
- * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
- * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
- * Makefile.in: Rebuilt.
- * aclocal.m4: Likewise.
- * configure: Likewise.
- * fficonfig.h.in: Likewise.
- * testsuite/lib/libffi-dg.exp: Add include dir.
- * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
- for ffi_closure if available.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
- Add -lgcc_s to additional flags.
-
-2003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.in, include/Makefile.am: PR libgcj/11147, install
- the ffitarget.h header file in a gcc versioned and target
- dependent place.
- * configure: Regenerated.
- * Makefile.in, include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Print result and check
- with dg-output to make debugging easier.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
- static.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_9byte2.c: New test case.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_double.c: Do a check on the result.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/prep_cif.c (ffi_prep_cif): Move the validity check after
- the initialization.
-
-2003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
- FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
- __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-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
-
-2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
- _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
- Used when FFI_DEBUG = 1.
-
-2003-10-14 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
- and align.
-
-2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
- FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
- SPARC64. Cleanup whitespaces.
-
-2003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
- strongarm, xscale. Cleanup whitespaces.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Cleanup whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
- * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
- parameter stack.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
- according to the Darwin/AIX ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_DARWIN): Likewise.
- Remove the outgoing parameter stack logic. Simplify the evaluation
- of the different CASE types.
- (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
- statement in the trampoline code.
-
-2003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
- for the register size.
- (ffi_closure_helper_SYSV): Handle the structure return value
- address correctly.
- (ffi_closure_helper_SYSV): Return the appropriate type when
- the registers are used for the structure return value.
- * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
- the 64-bit return value. Update copyright years.
-
-2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
- srcdir for ffi_mips.h.
-
-2003-09-12 Alan Modra <amodra@bigpond.net.au>
-
- * src/prep_cif.c (initialize_aggregate): Include tail padding in
- structure size.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
- placement of float result.
- * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
- cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Merge identical SH and ARM
- typedefs, and add POWERPC64.
- * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
- struct split over gpr and rest.
- (ffi_prep_cif_machdep): Correct intarg_count for structures.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
- passing correctly.
-
-2003-09-09 Alan Modra <amodra@bigpond.net.au>
-
- * configure: Regenerate.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Remove build rules for ffitest.
- * Makefile.in: Rebuilt.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
- about implicit declaration of abort().
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
- * Makefile.in: Rebuilt.
- * configure.in: Add dejagnu test framework.
- * configure: Rebuilt.
-
- * testsuite/Makefile.am: New file.
- * testsuite/Makefile.in: Built
- * testsuite/lib/libffi-dg.exp: New file.
- * testsuite/config/default.exp: Likewise.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Likewise.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float1.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/many.c: Likewise.
- * testsuite/libffi.call/many_win32.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
- * testsuite/libffi.call/strlen.c: Likewise.
- * testsuite/libffi.call/strlen_win32.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
- * testsuite/libffi.call/struct2.c: Likewise.
- * testsuite/libffi.call/struct3.c: Likewise.
- * testsuite/libffi.call/struct4.c: Likewise.
- * testsuite/libffi.call/struct5.c: Likewise.
- * testsuite/libffi.call/struct6.c: Likewise.
- * testsuite/libffi.call/struct7.c: Likewise.
- * testsuite/libffi.call/struct8.c: Likewise.
- * testsuite/libffi.call/struct9.c: Likewise.
- * testsuite/libffi.special/special.exp: New file.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
- copyright years.
-
-2003-08-02 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
- structure passing.
- (ffi_closure_helper_LINUX64): Likewise.
- * src/powerpc/linux64.S: Remove code writing to parm save area.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
- address in lr from ffi_closure_helper_LINUX64 call to calculate
- table address. Optimize function tail.
-
-2003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/sparc/ffi.c: Handle all floating point registers.
- * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
-
- * README: Note that libffi is not part of GCC. Update the project
- URL and status.
-
-2003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
- Use C style comments.
-
-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
- should be read-only.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * include/ffi.h.in (EH_FRAME_FLAGS): Define.
- * src/alpha/osf.S: Use EH_FRAME_FLAGS.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
- * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
- if -fpic/-fPIC/-mrelocatable.
- * src/powerpc/powerpc_closure.S: Likewise.
- * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
- #write in .eh_frame flags.
- * src/sparc/v9.S: Likewise.
- * src/x86/unix64.S: Use EH_FRAME_FLAGS.
- * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
- * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
-
-2003-05-07 Jeff Sturm <jsturm@one-point.com>
-
- Fixes PR bootstrap/10656
- * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
- support for .register pseudo-op.
- * src/sparc/v8.S: Use it.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2003-04-18 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (POWERPC64): Define if 64-bit.
- (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
- Make it the default on POWERPC64.
- (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
- * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
- * configure: Rebuilt.
- * src/powerpc/ffi.c (hidden): Define.
- (ffi_prep_args_SYSV): Renamed from
- ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
- (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
- ASM_NEEDS_REGISTERS64): New.
- (ffi_prep_args64): New function.
- (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
- (ffi_call): Likewise.
- (ffi_prep_closure): Likewise.
- (flush_icache): Surround by #ifndef POWERPC64.
- (ffi_dblfl): New union type.
- (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
- (ffi_closure_helper_LINUX64): New function.
- * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
- __powerpc64__.
- * src/powerpc/sysv.S: Likewise.
- (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
- * src/powerpc/linux64.S: New file.
- * src/powerpc/linux64_closure.S: New file.
- * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
- src/powerpc/linux64_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
- * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
- closure_test_fn3): Fix result printing on big-endian 64-bit
- machines.
- (main): Print tst2_arg instead of uninitialized tst2_result.
-
- * src/ffitest.c (main): Hide what closure pointer really points to
- from the compiler.
-
-2003-04-16 Richard Earnshaw <rearnsha@arm.com>
-
- * configure.in (arm-*-netbsdelf*): Add configuration.
- (configure): Regenerated.
-
-2003-04-04 Loren J. Rittle <ljrittle@acm.org>
-
- * include/Makefile.in: Regenerate.
-
-2003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
-
- * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
- bit mode.
- * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
- Receive closure pointer through parameter, read args using
- __builtin_dwarf_cfa.
- (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12 Andreas Schwab <schwab@suse.de>
-
- * configure.in: Avoid trailing /. in toolexeclibdir.
- * configure: Rebuilt.
-
-2003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/powerpc/darwin_closure.S:
- Fix alignement bug, allocate 8 bytes for the result.
- * libffi/src/powerpc/aix_closure.S:
- Likewise.
- * libffi/src/powerpc/ffi_darwin.c:
- Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06 Jakub Jelinek <jakub@redhat.com>
-
- * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
- attribute.
-
-2003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
- Andreas Schwab <schwab@suse.de>
-
- * configure.in: Adjust command to source config-ml.in to account
- for changes to the libffi_basedir definition.
- (libffi_basedir): Remove ${srcdir} from value and include trailing
- slash if nonempty.
-
- * configure: Regenerate.
-
-2003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
- * src/x86/ffi64.c (ffi_prep_closure): New.
- (ffi_closure_UNIX64_inner): New.
- * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
- Remove USE_LIBDIR conditional.
- * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
- * Makefile.in, configure: Rebuilt.
-
-2003-01027 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
- * Makefile.in: Regenerate.
-
-2003-01-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
- unwind info.
-
-2003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Add unwind info.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
- (ffi_prep_cif_machdep): Likewise.
- * src/x86/unix64.S: Add unwind info.
-
-2003-01-14 Andreas Jaeger <aj@suse.de>
-
- * src/ffitest.c (main): Only use ffi_closures if those are
- supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/ffitest.c
- add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
- * libffi/src/powerpc/ffi.c
- fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c: Remove RCS version string.
- * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
- * src/ffitest.c (main): Use static storage for closure.
- * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
- * src/sparc/v8.S (ffi_closure_v8): New.
- * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10 Ranjit Mathew <rmathew@hotmail.com>
-
- * include/ffi.h.in: Added FFI_STDCALL ffi_type
- enumeration for X86_WIN32.
- * src/x86/win32.S: Added ffi_call_STDCALL function
- definition.
- * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
- switch cases for recognising FFI_STDCALL and
- calling ffi_call_STDCALL if target is X86_WIN32.
- * src/ffitest.c (my_stdcall_strlen/stdcall_many):
- stdcall versions of the "my_strlen" and "many"
- test functions (for X86_WIN32).
- Added test cases to test stdcall invocation using
- these functions.
-
-2002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26 Jim Wilson <wilson@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23 H.J. Lu <hjl@gnu.org>
-
- * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
- Include ../config/accross.m4.
- * aclocal.m4; Rebuild.
- * configure: Likewise.
-
-2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11 DJ Delorie <dj@redhat.com>
-
- * configure.in: Look for common files in the right place.
-
-2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
- raw data as _Jv_word values, not ffi_raw.
- (ffi_java_ptrarray_to_raw): Likewise.
- (ffi_java_rvalue_to_raw): New function.
- (ffi_java_raw_call): Call it.
- (ffi_java_raw_to_rvalue): New function.
- (ffi_java_translate_args): Call it.
- * src/ffitest.c (closure_test_fn): Interpret return value
- as ffi_arg, not int.
- * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
- FFI_TYPE_POINTER case.
- (ffi_closure_helper_SYSV): Likewise. Also, assume return
- values extended to word size.
-
-2002-10-02 Andreas Jaeger <aj@suse.de>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01 Bo Thorsen <bo@smetana.suse.de>
-
- * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
-
- * configure.in: Add s390x-*-linux-* target.
- * configure: Regenerate.
- * include/ffi.h.in: Define S390X for s390x targets.
- (FFI_CLOSURES): Define for s390/s390x.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
- * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
- * src/s390/ffi.c: Major rework of existing code. Add support for
- s390x targets. Add closure support.
- * src/s390/sysv.S: Likewise.
-
-2002-09-29 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: Fix typo.
-
-2002-09-28 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
- has defined __USER_LABEL_PREFIX__, then use it in CNAME.
- (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27 Bo Thorsen <bo@suse.de>
-
- * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * configure.in (sh[34]*-*-linux*): Add brackets.
- * configure: Regenerate.
-
-2002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * Makefile.am: Add SH support.
- * Makefile.in: Regenerate.
- * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
- * configure: Regenerate.
- * include/ffi.h.in: Add SH support.
- * src/sh/ffi.c: New file.
- * src/sh/sysv.S: New file.
- * src/types.c: Add SH support.
-
-2002-07-16 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi64.c: New file that adds x86-64 support.
- * src/x86/unix64.S: New file that handles argument setup for
- x86-64.
- * src/x86/sysv.S: Don't use this on x86-64.
- * src/x86/ffi.c: Don't use this on x86-64.
- Remove unused vars.
- * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
- for x86-64.
- * src/ffitest.c (struct6): New test that tests a special case in
- the x86-64 ABI.
- (struct7): Likewise.
- (struct8): Likewise.
- (struct9): Likewise.
- (closure_test_fn): Silence warning about this when it's not used.
- (main): Add the new tests.
- (main): Fix a couple of wrong casts and silence some compiler warnings.
- * include/ffi.h.in: Add x86-64 ABI definition.
- * fficonfig.h.in: Regenerate.
- * Makefile.am: Add x86-64 support.
- * configure.in: Likewise.
- * Makefile.in: Regenerate.
- * configure: Likewise.
-
-2002-06-24 Bo Thorsen <bo@suse.de>
-
- * src/types.c: Merge settings for similar architectures.
- Add x86-64 sizes and alignments.
-
-2002-06-23 Bo Thorsen <bo@suse.de>
-
- * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
- * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
- * src/mips/ffi.c (ffi_prep_args): Likewise.
- * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18 H.J. Lu (hjl@gnu.org)
-
- * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
- (libffi_la_SOURCES): Support MIPS_LINUX.
- (libffi_convenience_la_SOURCES): Likewise.
- * Makefile.in: Regenerated.
-
- * configure.in (mips64*-*): Skip.
- (mips*-*-linux*): New.
- * configure: Regenerated.
-
- * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
-
-2002-05-27 Roger Sayle <roger@eyesopen.com>
-
- * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
- fix formatting.
-
-2002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
- beginning of function (for older apple cc).
-
-2002-05-08 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
- script entry, and set LD to it when configuring multilibs.
- * configure: Rebuilt.
-
-2002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (sparc64-*-netbsd*): Add target.
- (sparc-*-netbsdelf*): Likewise.
- * configure: Regenerate.
-
-2002-04-28 David S. Miller <davem@redhat.com>
-
- * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
-
- * Makefile.am: Add Linux for S/390 support.
- * Makefile.in: Regenerate.
- * configure.in: Add Linux for S/390 support.
- * configure: Regenerate.
- * include/ffi.h.in: Add Linux for S/390 support.
- * src/s390/ffi.c: New file from libffi CVS tree.
- * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
- %r_disp32().
- * src/sparc/v8.S: Use it.
- * src/sparc/v9.S: Likewise.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2002-04-08 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
- correctly.
- * src/ia64/unix.S: Add unwind information. Fix comments.
- Save sp in a way that's compatible with unwind info.
- (ffi_call_unix): Correctly restore sp in all cases.
- * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08 Jakub Jelinek <jakub@redhat.com>
-
- * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (alpha*-*-netbsd*): Add target.
- * configure: Regenerate.
-
-2002-04-04 Jeff Sturm <jsturm@one-point.com>
-
- * src/sparc/v8.S: Add unwind info.
- * src/sparc/v9.S: Likewise.
-
-2002-03-30 Krister Walfridsson <cato@df.lth.se>
-
- * configure.in: Enable i*86-*-netbsdelf*.
- * configure: Rebuilt.
-
-2002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
-
- PR other/2620
- * src/mips/n32.s: Delete
- * src/mips/o32.s: Delete
-
-2002-03-21 Loren J. Rittle <ljrittle@acm.org>
-
- * configure.in: Enable alpha*-*-freebsd*.
- * configure: Rebuilt.
-
-2002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * Makefile.am: libfficonvenience -> libffi_convenience.
- * Makefile.in: Rebuilt.
-
- * Makefile.am: Define ffitest_OBJECTS.
- * Makefile.in: Rebuilt.
-
-2002-03-07 Andreas Tobler <toa@pop.agri.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
- (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
- (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
- * Makefile.in: Regenerate.
- * include/ffi.h.in: Add AIX and Darwin closure definitions.
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
- (flush_icache, flush_range): New functions.
- (ffi_closure_helper_DARWIN): New function.
- * src/powerpc/aix_closure.S: New file.
- * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add typedef for ffi_arg.
- * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21 Andreas Tobler <toa@pop.agri.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
- number of GPRs for floating-point arguments.
-
-2002-01-31 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Replace CHECK_SIZEOF and endian tests with
- cross-compiler friendly macros.
- * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
- macros.
-
-2002-01-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): New.
- * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
- (TARGET_SRC_POWERPC_AIX): New.
- (POWERPC_AIX): New stanza.
- * Makefile.in: Regenerate.
- * configure.in: Add AIX case.
- * configure: Regenerate.
- * include/ffi.h.in (ffi_abi): Add FFI_AIX.
- * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
- size. Fix "long double" support.
- (ffi_call): Add FFI_AIX case.
- * src/powerpc/aix.S: New.
-
-2001-10-09 John Hornkvist <john@toastedmarshmallow.com>
-
- Implement Darwin PowerPC ABI.
- * configure.in: Handle powerpc-*-darwin*.
- * Makefile.am: Set source files for POWERPC_DARWIN.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
- * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
- POWERPC_DARWIN.
- * src/powerpc/darwin.S: New file.
- * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .balign directive.
- Use C style comments.
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
- Fixes PR bootstrap/3563.
-
-2001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.in: Recognize sparc*-sun-* host.
- * configure: Regenerate.
-
-2001-06-06 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S: Add unwind info.
- * src/powerpc/sysv.S: Add unwind info.
- * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31 Jeff Sturm <jsturm@one-point.com>
-
- * configure.in: Fix AC_ARG_ENABLE usage.
- * configure: Rebuilt.
-
-2001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * configure.in: Remove warning about beta code.
- * configure: Rebuilt.
-
-2001-04-25 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/ia64/unix.S: Restore stack pointer when returning from
- ffi_closure_UNIX.
- * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18 Jim Wilson <wilson@redhat.com>
-
- * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
- to eliminate RAW DV.
-
-2001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
-
- * Makefile.am: Make a libtool convenience library.
- * Makefile.in: Rebuilt.
-
-2001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Use different syntax for subdirectory creation.
- * configure: Rebuilt.
-
-2001-03-27 Jon Beniston <jon@beniston.com>
-
- * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
- * configure: Rebuilt.
- * Makefile.am: Added X86_WIN32 target support.
- * Makefile.in: Rebuilt.
-
- * include/ffi.h.in: Added X86_WIN32 target support.
-
- * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
- * src/types.c: Added X86_WIN32 target support.
-
- * src/x86/win32.S: New file. Based on sysv.S, but with EH
- stuff removed and made to work with CygWin's gas.
-
-2001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Make target subdirectory in build dir.
- * Makefile.am: Override suffix based rules to specify correct output
- subdirectory.
- * Makefile.in: Rebuilt.
- * configure: Rebuilt.
-
-2001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
-
- * src/powerpc/ppc_closure.S: New file.
- * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
- involving long long and register pairs.
- (ffi_prep_closure): New function.
- (flush_icache): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * Makefile.in: Rebuilt.
- * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19 Tom Tromey <tromey@redhat.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02 Nick Clifton <nickc@redhat.com>
-
- * include/ffi.h.in: Remove RCS ident string.
- * include/ffi_mips.h: Remove RCS ident string.
- * src/debug.c: Remove RCS ident string.
- * src/ffitest.c: Remove RCS ident string.
- * src/prep_cif.c: Remove RCS ident string.
- * src/types.c: Remove RCS ident string.
- * src/alpha/ffi.c: Remove RCS ident string.
- * src/alpha/osf.S: Remove RCS ident string.
- * src/arm/ffi.c: Remove RCS ident string.
- * src/arm/sysv.S: Remove RCS ident string.
- * src/mips/ffi.c: Remove RCS ident string.
- * src/mips/n32.S: Remove RCS ident string.
- * src/mips/o32.S: Remove RCS ident string.
- * src/sparc/ffi.c: Remove RCS ident string.
- * src/sparc/v8.S: Remove RCS ident string.
- * src/sparc/v9.S: Remove RCS ident string.
- * src/x86/ffi.c: Remove RCS ident string.
- * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * include/ffi.h.in: Change sourceware.cygnus.com references to
- gcc.gnu.org.
-
-2000-12-09 Richard Henderson <rth@redhat.com>
-
- * src/alpha/ffi.c (ffi_call): Simplify struct return test.
- (ffi_closure_osf_inner): Index rather than increment avalue
- and arg_types. Give ffi_closure_osf the raw return value type.
- * src/alpha/osf.S (ffi_closure_osf): Handle return value type
- promotion.
-
-2000-12-07 Richard Henderson <rth@redhat.com>
-
- * src/raw_api.c (ffi_translate_args): Fix typo.
- (ffi_prep_closure): Likewise.
-
- * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
- FFI_TRAMPOLINE_SIZE.
- * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
- cif->bytes for new ffi_call_osf implementation.
- (ffi_prep_args): Absorb into ...
- (ffi_call): ... here. Do all stack allocation here and
- avoid a callback function.
- (ffi_prep_closure, ffi_closure_osf_inner): New.
- * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
- (ffi_closure_osf): New.
-
-2000-09-10 Alexandre Oliva <aoliva@redhat.com>
-
- * config.guess, config.sub, install-sh: Removed.
- * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
- * Makefile.in: Rebuilt.
-
- * acinclude.m4: Include libtool macros from the top level.
- * aclocal.m4, configure: Rebuilt.
-
-2000-08-22 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
- * configure: Rebuilt.
-
-2000-05-11 Scott Bambrough <scottb@netwinder.org>
-
- * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
- memory correctly. Use conditional instructions, not branches where
- possible.
-
-2000-05-04 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Match `arm*-*-linux-*'.
- From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (SUBDIRS): Define.
- (AM_MAKEFLAGS): Likewise.
- (Multilib support.): Add section.
- * Makefile.in: Rebuilt.
- * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
- New variables. Set for gcc using -print-multi-lib. Export them
- to libtool.
- (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
- * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
- for -shared links.
- (extra_compiler_flags_value, extra_compiler_flags): Check these
- for extra compiler options which need to be passed down in
- compiler_flags.
-
-2000-04-16 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
- Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
- * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
- Replace all void * sizeofs with sizeof(int).
- Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
- different than DOUBLE.
- Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
- (ffi_prep_args_v9): New function.
- (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
- (ffi_V9_return_struct): New function.
- (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
- 32bit code (not yet cross-arch calls).
- * src/sparc/v8.S: Add struct return delay nop.
- Handle long long.
- * src/sparc/v9.S: New file.
- * src/prep_cif.c (ffi_prep_cif): Return structure pointer
- is used on sparc64 only for structures larger than 32 bytes.
- Pass by reference for structures is done for structure arguments
- larger than 16 bytes.
- * src/ffitest.c (main): Use 64bit rint on sparc64.
- Run long long tests on sparc.
- * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
- sparc64.
- (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
- on sparc64.
- * configure.in (sparc-*-linux*): New supported target.
- (sparc64-*-linux*): Likewise.
- * configure: Rebuilt.
- * Makefile.am: Add v9.S to SPARC files.
- * Makefile.in: Likewise.
- (LINK): Surround $(CCLD) into double quotes, so that multilib
- compiles work correctly.
-
-2000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: (i*86-*-solaris*): New libffi target. Patch
- proposed by Bryce McKinlay.
-
-2000-03-20 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
-
- * config.guess, config.sub: Update from the gcc tree.
- Fix for PR libgcj/168.
-
-2000-03-03 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Fixed ia64 by hand.
-
- * configure: Rebuilt.
- * configure.in (--enable-multilib): New option.
- (libffi_basedir): New subst.
- (AC_OUTPUT): Added multilib code.
-
-2000-03-02 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
- directory name.
-
-2000-02-25 Hans Boehm <boehm@acm.org>
-
- * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
- files.
- * src/raw_api.c (ffi_translate_args): Fixed typo in argument
- list.
- (ffi_prep_raw_closure): Use ffi_translate_args, not
- ffi_closure_translate.
- * src/java_raw_api.c: New file.
- * src/ffitest.c (closure_test_fn): New function.
- (main): Define `rint' as long long on IA64. Added new test when
- FFI_CLOSURES is defined.
- * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
- (ffi_abi): Recognize IA64.
- (ffi_raw): Added `flt' field.
- Added "Java raw API" code.
- * configure.in: Recognize ia64.
- * Makefile.am (TARGET_SRC_IA64): New macro.
- (libffi_la_common_SOURCES): Added java_raw_api.c.
- (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01 Tom Tromey <tromey@cygnus.com>
-
- * include/ffi.h.in: Removed PACKAGE and VERSION defines and
- undefs.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
- * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
- Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
- * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09 Anthony Green <green@cygnus.com>
-
- * include/ffi.h.in: Try to work around messy header problem
- with PACKAGE and VERSION.
-
- * configure: Rebuilt.
- * configure.in: Change version to 2.00-beta.
-
- * fficonfig.h.in: Rebuilt.
- * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
- * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
-
- * src/x86/ffi.c (ffi_closure_SYSV): New function.
- (ffi_prep_incoming_args_SYSV): Ditto.
- (ffi_prep_closure): Ditto.
- (ffi_closure_raw_SYSV): Ditto.
- (ffi_prep_raw_closure): More ditto.
- (ffi_call_raw): Final ditto.
-
- * include/ffi.h.in: Add definitions for closure and raw API.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
- FFI_TYPE_UINT64.
-
- * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
- * src/raw_api.c: New file.
-
- * include/ffi.h.in (ffi_raw): New type.
- (UINT_ARG, SINT_ARG): New defines.
- (ffi_closure, ffi_raw_closure): New types.
- (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
- * configure.in: Add check for endianness and sizeof void*.
-
- * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
- instead of directly.
-
- * configure: Rebuilt.
-
-Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
-
- * configure.in: Add x86 and powerpc BeOS configurations.
- From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09 Anthony Green <green@cygnus.com>
-
- * configure.in: Add warning about this being beta code.
- Remove src/Makefile.am from the picture.
- * configure: Rebuilt.
-
- * Makefile.am: Move logic from src/Makefile.am. Add changes
- to support libffi as a target library.
- * Makefile.in: Rebuilt.
-
- * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
- Upgraded to new autoconf, automake, libtool.
-
- * README: Tweaks.
-
- * LICENSE: Update copyright date.
-
- * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29 Anthony Green <green@cygnus.com>
-
- * include/ChangeLog: Removed.
- * src/ChangeLog: Removed.
- * src/mips/ChangeLog: Removed.
- * src/sparc/ChangeLog: Remboved.
- * src/x86/ChangeLog: Removed.
-
- * ChangeLog.v1: Created.
diff --git a/.pc/stdcall-x86-closure-fix/src/prep_cif.c b/.pc/stdcall-x86-closure-fix/src/prep_cif.c
deleted file mode 100644
index e83c928..0000000
--- a/.pc/stdcall-x86-closure-fix/src/prep_cif.c
+++ /dev/null
@@ -1,177 +0,0 @@
-/* -----------------------------------------------------------------------
- prep_cif.c - Copyright (c) 2012 Anthony Green
- Copyright (c) 1996, 1998, 2007 Red Hat, Inc.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
- ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-#include <stdlib.h>
-
-/* Round up to FFI_SIZEOF_ARG. */
-
-#define STACK_ARG_SIZE(x) ALIGN(x, FFI_SIZEOF_ARG)
-
-/* Perform machine independent initialization of aggregate type
- specifications. */
-
-static ffi_status initialize_aggregate(ffi_type *arg)
-{
- ffi_type **ptr;
-
- FFI_ASSERT(arg != NULL);
-
- FFI_ASSERT(arg->elements != NULL);
- FFI_ASSERT(arg->size == 0);
- FFI_ASSERT(arg->alignment == 0);
-
- ptr = &(arg->elements[0]);
-
- while ((*ptr) != NULL)
- {
- if (((*ptr)->size == 0) && (initialize_aggregate((*ptr)) != FFI_OK))
- return FFI_BAD_TYPEDEF;
-
- /* Perform a sanity check on the argument type */
- FFI_ASSERT_VALID_TYPE(*ptr);
-
- arg->size = ALIGN(arg->size, (*ptr)->alignment);
- arg->size += (*ptr)->size;
-
- arg->alignment = (arg->alignment > (*ptr)->alignment) ?
- arg->alignment : (*ptr)->alignment;
-
- ptr++;
- }
-
- /* Structure size includes tail padding. This is important for
- structures that fit in one register on ABIs like the PowerPC64
- Linux ABI that right justify small structs in a register.
- It's also needed for nested structure layout, for example
- struct A { long a; char b; }; struct B { struct A x; char y; };
- should find y at an offset of 2*sizeof(long) and result in a
- total size of 3*sizeof(long). */
- arg->size = ALIGN (arg->size, arg->alignment);
-
- if (arg->size == 0)
- return FFI_BAD_TYPEDEF;
- else
- return FFI_OK;
-}
-
-#ifndef __CRIS__
-/* The CRIS ABI specifies structure elements to have byte
- alignment only, so it completely overrides this functions,
- which assumes "natural" alignment and padding. */
-
-/* Perform machine independent ffi_cif preparation, then call
- machine dependent routine. */
-
-ffi_status ffi_prep_cif(ffi_cif *cif, ffi_abi abi, unsigned int nargs,
- ffi_type *rtype, ffi_type **atypes)
-{
- unsigned bytes = 0;
- unsigned int i;
- ffi_type **ptr;
-
- FFI_ASSERT(cif != NULL);
-#ifndef X86_WIN32
- FFI_ASSERT((abi > FFI_FIRST_ABI) && (abi <= FFI_DEFAULT_ABI));
-#else
- FFI_ASSERT(abi > FFI_FIRST_ABI && abi < FFI_LAST_ABI
- || abi == FFI_THISCALL);
-#endif
-
- cif->abi = abi;
- cif->arg_types = atypes;
- cif->nargs = nargs;
- cif->rtype = rtype;
-
- cif->flags = 0;
-
- /* Initialize the return type if necessary */
- if ((cif->rtype->size == 0) && (initialize_aggregate(cif->rtype) != FFI_OK))
- return FFI_BAD_TYPEDEF;
-
- /* Perform a sanity check on the return type */
- FFI_ASSERT_VALID_TYPE(cif->rtype);
-
- /* x86, x86-64 and s390 stack space allocation is handled in prep_machdep. */
-#if !defined M68K && !defined __i386__ && !defined __x86_64__ && !defined S390 && !defined PA
- /* Make space for the return structure pointer */
- if (cif->rtype->type == FFI_TYPE_STRUCT
-#ifdef SPARC
- && (cif->abi != FFI_V9 || cif->rtype->size > 32)
-#endif
- )
- bytes = STACK_ARG_SIZE(sizeof(void*));
-#endif
-
- for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++)
- {
-
- /* Initialize any uninitialized aggregate type definitions */
- if (((*ptr)->size == 0) && (initialize_aggregate((*ptr)) != FFI_OK))
- return FFI_BAD_TYPEDEF;
-
- /* Perform a sanity check on the argument type, do this
- check after the initialization. */
- FFI_ASSERT_VALID_TYPE(*ptr);
-
-#if !defined __i386__ && !defined __x86_64__ && !defined S390 && !defined PA
-#ifdef SPARC
- if (((*ptr)->type == FFI_TYPE_STRUCT
- && ((*ptr)->size > 16 || cif->abi != FFI_V9))
- || ((*ptr)->type == FFI_TYPE_LONGDOUBLE
- && cif->abi != FFI_V9))
- bytes += sizeof(void*);
- else
-#endif
- {
- /* Add any padding if necessary */
- if (((*ptr)->alignment - 1) & bytes)
- bytes = ALIGN(bytes, (*ptr)->alignment);
-
- bytes += STACK_ARG_SIZE((*ptr)->size);
- }
-#endif
- }
-
- cif->bytes = bytes;
-
- /* Perform machine dependent cif processing */
- return ffi_prep_cif_machdep(cif);
-}
-#endif /* not __CRIS__ */
-
-#if FFI_CLOSURES
-
-ffi_status
-ffi_prep_closure (ffi_closure* closure,
- ffi_cif* cif,
- void (*fun)(ffi_cif*,void*,void**,void*),
- void *user_data)
-{
- return ffi_prep_closure_loc (closure, cif, fun, user_data, closure);
-}
-
-#endif
diff --git a/.pc/stdcall-x86-closure-fix/src/x86/ffi.c b/.pc/stdcall-x86-closure-fix/src/x86/ffi.c
deleted file mode 100644
index 0e2f87e..0000000
--- a/.pc/stdcall-x86-closure-fix/src/x86/ffi.c
+++ /dev/null
@@ -1,813 +0,0 @@
-/* -----------------------------------------------------------------------
- ffi.c - Copyright (c) 1996, 1998, 1999, 2001, 2007, 2008 Red Hat, Inc.
- Copyright (c) 2002 Ranjit Mathew
- Copyright (c) 2002 Bo Thorsen
- Copyright (c) 2002 Roger Sayle
- Copyright (C) 2008, 2010 Free Software Foundation, Inc.
-
- x86 Foreign Function Interface
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
- ----------------------------------------------------------------------- */
-
-#if !defined(__x86_64__) || defined(_WIN64)
-
-#ifdef _WIN64
-#include <windows.h>
-#endif
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#include <stdlib.h>
-
-/* ffi_prep_args is called by the assembly routine once stack space
- has been allocated for the function's arguments */
-
-void ffi_prep_args(char *stack, extended_cif *ecif)
-{
- register unsigned int i;
- register void **p_argv;
- register char *argp;
- register ffi_type **p_arg;
-#ifdef X86_WIN32
- size_t p_stack_args[2];
- void *p_stack_data[2];
- char *argp2 = stack;
- int stack_args_count = 0;
- int cabi = ecif->cif->abi;
-#endif
-
- argp = stack;
-
- if (ecif->cif->flags == FFI_TYPE_STRUCT
-#ifdef X86_WIN64
- && (ecif->cif->rtype->size != 1 && ecif->cif->rtype->size != 2
- && ecif->cif->rtype->size != 4 && ecif->cif->rtype->size != 8)
-#endif
- )
- {
- *(void **) argp = ecif->rvalue;
-#ifdef X86_WIN32
- /* For fastcall/thiscall this is first register-passed
- argument. */
- if (cabi == FFI_THISCALL || cabi == FFI_FASTCALL)
- {
- p_stack_args[stack_args_count] = sizeof (void*);
- p_stack_data[stack_args_count] = argp;
- ++stack_args_count;
- }
-#endif
- argp += sizeof(void*);
- }
-
- p_argv = ecif->avalue;
-
- for (i = ecif->cif->nargs, p_arg = ecif->cif->arg_types;
- i != 0;
- i--, p_arg++)
- {
- size_t z;
-
- /* Align if necessary */
- if ((sizeof(void*) - 1) & (size_t) argp)
- argp = (char *) ALIGN(argp, sizeof(void*));
-
- z = (*p_arg)->size;
-#ifdef X86_WIN64
- if (z > sizeof(ffi_arg)
- || ((*p_arg)->type == FFI_TYPE_STRUCT
- && (z != 1 && z != 2 && z != 4 && z != 8))
-#if FFI_TYPE_DOUBLE != FFI_TYPE_LONGDOUBLE
- || ((*p_arg)->type == FFI_TYPE_LONGDOUBLE)
-#endif
- )
- {
- z = sizeof(ffi_arg);
- *(void **)argp = *p_argv;
- }
- else if ((*p_arg)->type == FFI_TYPE_FLOAT)
- {
- memcpy(argp, *p_argv, z);
- }
- else
-#endif
- if (z < sizeof(ffi_arg))
- {
- z = sizeof(ffi_arg);
- switch ((*p_arg)->type)
- {
- case FFI_TYPE_SINT8:
- *(ffi_sarg *) argp = (ffi_sarg)*(SINT8 *)(* p_argv);
- break;
-
- case FFI_TYPE_UINT8:
- *(ffi_arg *) argp = (ffi_arg)*(UINT8 *)(* p_argv);
- break;
-
- case FFI_TYPE_SINT16:
- *(ffi_sarg *) argp = (ffi_sarg)*(SINT16 *)(* p_argv);
- break;
-
- case FFI_TYPE_UINT16:
- *(ffi_arg *) argp = (ffi_arg)*(UINT16 *)(* p_argv);
- break;
-
- case FFI_TYPE_SINT32:
- *(ffi_sarg *) argp = (ffi_sarg)*(SINT32 *)(* p_argv);
- break;
-
- case FFI_TYPE_UINT32:
- *(ffi_arg *) argp = (ffi_arg)*(UINT32 *)(* p_argv);
- break;
-
- case FFI_TYPE_STRUCT:
- *(ffi_arg *) argp = *(ffi_arg *)(* p_argv);
- break;
-
- default:
- FFI_ASSERT(0);
- }
- }
- else
- {
- memcpy(argp, *p_argv, z);
- }
-
-#ifdef X86_WIN32
- /* For thiscall/fastcall convention register-passed arguments
- are the first two none-floating-point arguments with a size
- smaller or equal to sizeof (void*). */
- if ((cabi == FFI_THISCALL && stack_args_count < 1)
- || (cabi == FFI_FASTCALL && stack_args_count < 2))
- {
- if (z <= 4
- && ((*p_arg)->type != FFI_TYPE_FLOAT
- && (*p_arg)->type != FFI_TYPE_STRUCT))
- {
- p_stack_args[stack_args_count] = z;
- p_stack_data[stack_args_count] = argp;
- ++stack_args_count;
- }
- }
-#endif
- p_argv++;
-#ifdef X86_WIN64
- argp += (z + sizeof(void*) - 1) & ~(sizeof(void*) - 1);
-#else
- argp += z;
-#endif
- }
-
-#ifdef X86_WIN32
- /* We need to move the register-passed arguments for thiscall/fastcall
- on top of stack, so that those can be moved to registers ecx/edx by
- call-handler. */
- if (stack_args_count > 0)
- {
- size_t zz = (p_stack_args[0] + 3) & ~3;
- char *h;
-
- /* Move first argument to top-stack position. */
- if (p_stack_data[0] != argp2)
- {
- h = alloca (zz + 1);
- memcpy (h, p_stack_data[0], zz);
- memmove (argp2 + zz, argp2,
- (size_t) ((char *) p_stack_data[0] - (char*)argp2));
- memcpy (argp2, h, zz);
- }
-
- argp2 += zz;
- --stack_args_count;
- if (zz > 4)
- stack_args_count = 0;
-
- /* If we have a second argument, then move it on top
- after the first one. */
- if (stack_args_count > 0 && p_stack_data[1] != argp2)
- {
- zz = p_stack_args[1];
- zz = (zz + 3) & ~3;
- h = alloca (zz + 1);
- h = alloca (zz + 1);
- memcpy (h, p_stack_data[1], zz);
- memmove (argp2 + zz, argp2, (size_t) ((char*) p_stack_data[1] - (char*)argp2));
- memcpy (argp2, h, zz);
- }
- }
-#endif
- return;
-}
-
-/* Perform machine dependent cif processing */
-ffi_status ffi_prep_cif_machdep(ffi_cif *cif)
-{
- unsigned int i;
- ffi_type **ptr;
-
- /* Set the return type flag */
- switch (cif->rtype->type)
- {
- case FFI_TYPE_VOID:
-#if defined(X86) || defined (X86_WIN32) || defined(X86_FREEBSD) || defined(X86_DARWIN) || defined(X86_WIN64)
- case FFI_TYPE_UINT8:
- case FFI_TYPE_UINT16:
- case FFI_TYPE_SINT8:
- case FFI_TYPE_SINT16:
-#endif
-#ifdef X86_WIN64
- case FFI_TYPE_UINT32:
- case FFI_TYPE_SINT32:
-#endif
- case FFI_TYPE_SINT64:
- case FFI_TYPE_FLOAT:
- case FFI_TYPE_DOUBLE:
-#ifndef X86_WIN64
-#if FFI_TYPE_DOUBLE != FFI_TYPE_LONGDOUBLE
- case FFI_TYPE_LONGDOUBLE:
-#endif
-#endif
- cif->flags = (unsigned) cif->rtype->type;
- break;
-
- case FFI_TYPE_UINT64:
-#ifdef X86_WIN64
- case FFI_TYPE_POINTER:
-#endif
- cif->flags = FFI_TYPE_SINT64;
- break;
-
- case FFI_TYPE_STRUCT:
-#ifndef X86
- if (cif->rtype->size == 1)
- {
- cif->flags = FFI_TYPE_SMALL_STRUCT_1B; /* same as char size */
- }
- else if (cif->rtype->size == 2)
- {
- cif->flags = FFI_TYPE_SMALL_STRUCT_2B; /* same as short size */
- }
- else if (cif->rtype->size == 4)
- {
-#ifdef X86_WIN64
- cif->flags = FFI_TYPE_SMALL_STRUCT_4B;
-#else
- cif->flags = FFI_TYPE_INT; /* same as int type */
-#endif
- }
- else if (cif->rtype->size == 8)
- {
- cif->flags = FFI_TYPE_SINT64; /* same as int64 type */
- }
- else
-#endif
- {
- cif->flags = FFI_TYPE_STRUCT;
- /* allocate space for return value pointer */
- cif->bytes += ALIGN(sizeof(void*), FFI_SIZEOF_ARG);
- }
- break;
-
- default:
-#ifdef X86_WIN64
- cif->flags = FFI_TYPE_SINT64;
- break;
- case FFI_TYPE_INT:
- cif->flags = FFI_TYPE_SINT32;
-#else
- cif->flags = FFI_TYPE_INT;
-#endif
- break;
- }
-
- for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++)
- {
- if (((*ptr)->alignment - 1) & cif->bytes)
- cif->bytes = ALIGN(cif->bytes, (*ptr)->alignment);
- cif->bytes += ALIGN((*ptr)->size, FFI_SIZEOF_ARG);
- }
-
-#ifdef X86_WIN64
- /* ensure space for storing four registers */
- cif->bytes += 4 * sizeof(ffi_arg);
-#endif
-
-#ifdef X86_DARWIN
- cif->bytes = (cif->bytes + 15) & ~0xF;
-#endif
-
- return FFI_OK;
-}
-
-#ifdef X86_WIN64
-extern int
-ffi_call_win64(void (*)(char *, extended_cif *), extended_cif *,
- unsigned, unsigned, unsigned *, void (*fn)(void));
-#elif defined(X86_WIN32)
-extern void
-ffi_call_win32(void (*)(char *, extended_cif *), extended_cif *,
- unsigned, unsigned, unsigned, unsigned *, void (*fn)(void));
-#else
-extern void ffi_call_SYSV(void (*)(char *, extended_cif *), extended_cif *,
- unsigned, unsigned, unsigned *, void (*fn)(void));
-#endif
-
-void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
-{
- extended_cif ecif;
-
- ecif.cif = cif;
- ecif.avalue = avalue;
-
- /* If the return value is a struct and we don't have a return */
- /* value address then we need to make one */
-
-#ifdef X86_WIN64
- if (rvalue == NULL
- && cif->flags == FFI_TYPE_STRUCT
- && cif->rtype->size != 1 && cif->rtype->size != 2
- && cif->rtype->size != 4 && cif->rtype->size != 8)
- {
- ecif.rvalue = alloca((cif->rtype->size + 0xF) & ~0xF);
- }
-#else
- if (rvalue == NULL
- && cif->flags == FFI_TYPE_STRUCT)
- {
- ecif.rvalue = alloca(cif->rtype->size);
- }
-#endif
- else
- ecif.rvalue = rvalue;
-
-
- switch (cif->abi)
- {
-#ifdef X86_WIN64
- case FFI_WIN64:
- ffi_call_win64(ffi_prep_args, &ecif, cif->bytes,
- cif->flags, ecif.rvalue, fn);
- break;
-#elif defined(X86_WIN32)
- case FFI_SYSV:
- case FFI_STDCALL:
- ffi_call_win32(ffi_prep_args, &ecif, cif->abi, cif->bytes, cif->flags,
- ecif.rvalue, fn);
- break;
- case FFI_THISCALL:
- case FFI_FASTCALL:
- {
- unsigned int abi = cif->abi;
- unsigned int i, passed_regs = 0;
-
- if (cif->flags == FFI_TYPE_STRUCT)
- ++passed_regs;
-
- for (i=0; i < cif->nargs && passed_regs < 2;i++)
- {
- size_t sz;
-
- if (cif->arg_types[i]->type == FFI_TYPE_FLOAT
- || cif->arg_types[i]->type == FFI_TYPE_STRUCT)
- continue;
- sz = (cif->arg_types[i]->size + 3) & ~3;
- if (sz == 0 || sz > 4)
- continue;
- ++passed_regs;
- }
- if (passed_regs < 2 && abi == FFI_FASTCALL)
- abi = FFI_THISCALL;
- if (passed_regs < 1 && abi == FFI_THISCALL)
- abi = FFI_STDCALL;
- ffi_call_win32(ffi_prep_args, &ecif, abi, cif->bytes, cif->flags,
- ecif.rvalue, fn);
- }
- break;
-#else
- case FFI_SYSV:
- ffi_call_SYSV(ffi_prep_args, &ecif, cif->bytes, cif->flags, ecif.rvalue,
- fn);
- break;
-#endif
- default:
- FFI_ASSERT(0);
- break;
- }
-}
-
-
-/** private members **/
-
-/* The following __attribute__((regparm(1))) decorations will have no effect
- on MSVC - standard cdecl convention applies. */
-static void ffi_prep_incoming_args_SYSV (char *stack, void **ret,
- void** args, ffi_cif* cif);
-void FFI_HIDDEN ffi_closure_SYSV (ffi_closure *)
- __attribute__ ((regparm(1)));
-unsigned int FFI_HIDDEN ffi_closure_SYSV_inner (ffi_closure *, void **, void *)
- __attribute__ ((regparm(1)));
-void FFI_HIDDEN ffi_closure_raw_SYSV (ffi_raw_closure *)
- __attribute__ ((regparm(1)));
-#ifdef X86_WIN32
-void FFI_HIDDEN ffi_closure_STDCALL (ffi_closure *)
- __attribute__ ((regparm(1)));
-void FFI_HIDDEN ffi_closure_THISCALL (ffi_closure *)
- __attribute__ ((regparm(1)));
-#endif
-#ifdef X86_WIN64
-void FFI_HIDDEN ffi_closure_win64 (ffi_closure *);
-#endif
-
-/* This function is jumped to by the trampoline */
-
-#ifdef X86_WIN64
-void * FFI_HIDDEN
-ffi_closure_win64_inner (ffi_closure *closure, void *args) {
- ffi_cif *cif;
- void **arg_area;
- void *result;
- void *resp = &result;
-
- cif = closure->cif;
- arg_area = (void**) alloca (cif->nargs * sizeof (void*));
-
- /* this call will initialize ARG_AREA, such that each
- * element in that array points to the corresponding
- * value on the stack; and if the function returns
- * a structure, it will change RESP to point to the
- * structure return address. */
-
- ffi_prep_incoming_args_SYSV(args, &resp, arg_area, cif);
-
- (closure->fun) (cif, resp, arg_area, closure->user_data);
-
- /* The result is returned in rax. This does the right thing for
- result types except for floats; we have to 'mov xmm0, rax' in the
- caller to correct this.
- TODO: structure sizes of 3 5 6 7 are returned by reference, too!!!
- */
- return cif->rtype->size > sizeof(void *) ? resp : *(void **)resp;
-}
-
-#else
-unsigned int FFI_HIDDEN __attribute__ ((regparm(1)))
-ffi_closure_SYSV_inner (ffi_closure *closure, void **respp, void *args)
-{
- /* our various things... */
- ffi_cif *cif;
- void **arg_area;
-
- cif = closure->cif;
- arg_area = (void**) alloca (cif->nargs * sizeof (void*));
-
- /* this call will initialize ARG_AREA, such that each
- * element in that array points to the corresponding
- * value on the stack; and if the function returns
- * a structure, it will change RESP to point to the
- * structure return address. */
-
- ffi_prep_incoming_args_SYSV(args, respp, arg_area, cif);
-
- (closure->fun) (cif, *respp, arg_area, closure->user_data);
-
- return cif->flags;
-}
-#endif /* !X86_WIN64 */
-
-static void
-ffi_prep_incoming_args_SYSV(char *stack, void **rvalue, void **avalue,
- ffi_cif *cif)
-{
- register unsigned int i;
- register void **p_argv;
- register char *argp;
- register ffi_type **p_arg;
-
- argp = stack;
-
-#ifdef X86_WIN64
- if (cif->rtype->size > sizeof(ffi_arg)
- || (cif->flags == FFI_TYPE_STRUCT
- && (cif->rtype->size != 1 && cif->rtype->size != 2
- && cif->rtype->size != 4 && cif->rtype->size != 8))) {
- *rvalue = *(void **) argp;
- argp += sizeof(void *);
- }
-#else
- if ( cif->flags == FFI_TYPE_STRUCT ) {
- *rvalue = *(void **) argp;
- argp += sizeof(void *);
- }
-#endif
-
- p_argv = avalue;
-
- for (i = cif->nargs, p_arg = cif->arg_types; (i != 0); i--, p_arg++)
- {
- size_t z;
-
- /* Align if necessary */
- if ((sizeof(void*) - 1) & (size_t) argp) {
- argp = (char *) ALIGN(argp, sizeof(void*));
- }
-
-#ifdef X86_WIN64
- if ((*p_arg)->size > sizeof(ffi_arg)
- || ((*p_arg)->type == FFI_TYPE_STRUCT
- && ((*p_arg)->size != 1 && (*p_arg)->size != 2
- && (*p_arg)->size != 4 && (*p_arg)->size != 8)))
- {
- z = sizeof(void *);
- *p_argv = *(void **)argp;
- }
- else
-#endif
- {
- z = (*p_arg)->size;
-
- /* because we're little endian, this is what it turns into. */
-
- *p_argv = (void*) argp;
- }
-
- p_argv++;
-#ifdef X86_WIN64
- argp += (z + sizeof(void*) - 1) & ~(sizeof(void*) - 1);
-#else
- argp += z;
-#endif
- }
-
- return;
-}
-
-#define FFI_INIT_TRAMPOLINE_WIN64(TRAMP,FUN,CTX,MASK) \
-{ unsigned char *__tramp = (unsigned char*)(TRAMP); \
- void* __fun = (void*)(FUN); \
- void* __ctx = (void*)(CTX); \
- *(unsigned char*) &__tramp[0] = 0x41; \
- *(unsigned char*) &__tramp[1] = 0xbb; \
- *(unsigned int*) &__tramp[2] = MASK; /* mov $mask, %r11 */ \
- *(unsigned char*) &__tramp[6] = 0x48; \
- *(unsigned char*) &__tramp[7] = 0xb8; \
- *(void**) &__tramp[8] = __ctx; /* mov __ctx, %rax */ \
- *(unsigned char *) &__tramp[16] = 0x49; \
- *(unsigned char *) &__tramp[17] = 0xba; \
- *(void**) &__tramp[18] = __fun; /* mov __fun, %r10 */ \
- *(unsigned char *) &__tramp[26] = 0x41; \
- *(unsigned char *) &__tramp[27] = 0xff; \
- *(unsigned char *) &__tramp[28] = 0xe2; /* jmp %r10 */ \
- }
-
-/* How to make a trampoline. Derived from gcc/config/i386/i386.c. */
-
-#define FFI_INIT_TRAMPOLINE(TRAMP,FUN,CTX) \
-{ unsigned char *__tramp = (unsigned char*)(TRAMP); \
- unsigned int __fun = (unsigned int)(FUN); \
- unsigned int __ctx = (unsigned int)(CTX); \
- unsigned int __dis = __fun - (__ctx + 10); \
- *(unsigned char*) &__tramp[0] = 0xb8; \
- *(unsigned int*) &__tramp[1] = __ctx; /* movl __ctx, %eax */ \
- *(unsigned char *) &__tramp[5] = 0xe9; \
- *(unsigned int*) &__tramp[6] = __dis; /* jmp __fun */ \
- }
-
-#define FFI_INIT_TRAMPOLINE_THISCALL(TRAMP,FUN,CTX,SIZE) \
-{ unsigned char *__tramp = (unsigned char*)(TRAMP); \
- unsigned int __fun = (unsigned int)(FUN); \
- unsigned int __ctx = (unsigned int)(CTX); \
- unsigned int __dis = __fun - (__ctx + 22); \
- unsigned short __size = (unsigned short)(SIZE); \
- *(unsigned int *) &__tramp[0] = 0x8324048b; /* mov (%esp), %eax */ \
- *(unsigned int *) &__tramp[4] = 0x4c890cec; /* sub $12, %esp */ \
- *(unsigned int *) &__tramp[8] = 0x04890424; /* mov %ecx, 4(%esp) */ \
- *(unsigned char*) &__tramp[12] = 0x24; /* mov %eax, (%esp) */ \
- *(unsigned char*) &__tramp[13] = 0xb8; \
- *(unsigned int *) &__tramp[14] = __size; /* mov __size, %eax */ \
- *(unsigned int *) &__tramp[18] = 0x08244c8d; /* lea 8(%esp), %ecx */ \
- *(unsigned int *) &__tramp[22] = 0x4802e8c1; /* shr $2, %eax ; dec %eax */ \
- *(unsigned short*) &__tramp[26] = 0x0b74; /* jz 1f */ \
- *(unsigned int *) &__tramp[28] = 0x8908518b; /* 2b: mov 8(%ecx), %edx */ \
- *(unsigned int *) &__tramp[32] = 0x04c18311; /* mov %edx, (%ecx) ; add $4, %ecx */ \
- *(unsigned char*) &__tramp[36] = 0x48; /* dec %eax */ \
- *(unsigned short*) &__tramp[37] = 0xf575; /* jnz 2b ; 1f: */ \
- *(unsigned char*) &__tramp[39] = 0xb8; \
- *(unsigned int*) &__tramp[40] = __ctx; /* movl __ctx, %eax */ \
- *(unsigned char *) &__tramp[44] = 0xe8; \
- *(unsigned int*) &__tramp[45] = __dis; /* call __fun */ \
- *(unsigned char*) &__tramp[49] = 0xc2; /* ret */ \
- *(unsigned short*) &__tramp[50] = (__size + 8); /* ret (__size + 8) */ \
- }
-
-#define FFI_INIT_TRAMPOLINE_STDCALL(TRAMP,FUN,CTX,SIZE) \
-{ unsigned char *__tramp = (unsigned char*)(TRAMP); \
- unsigned int __fun = (unsigned int)(FUN); \
- unsigned int __ctx = (unsigned int)(CTX); \
- unsigned int __dis = __fun - (__ctx + 10); \
- unsigned short __size = (unsigned short)(SIZE); \
- *(unsigned char*) &__tramp[0] = 0xb8; \
- *(unsigned int*) &__tramp[1] = __ctx; /* movl __ctx, %eax */ \
- *(unsigned char *) &__tramp[5] = 0xe8; \
- *(unsigned int*) &__tramp[6] = __dis; /* call __fun */ \
- *(unsigned char *) &__tramp[10] = 0xc2; \
- *(unsigned short*) &__tramp[11] = __size; /* ret __size */ \
- }
-
-/* the cif must already be prep'ed */
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure* closure,
- ffi_cif* cif,
- void (*fun)(ffi_cif*,void*,void**,void*),
- void *user_data,
- void *codeloc)
-{
-#ifdef X86_WIN64
-#define ISFLOAT(IDX) (cif->arg_types[IDX]->type == FFI_TYPE_FLOAT || cif->arg_types[IDX]->type == FFI_TYPE_DOUBLE)
-#define FLAG(IDX) (cif->nargs>(IDX)&&ISFLOAT(IDX)?(1<<(IDX)):0)
- if (cif->abi == FFI_WIN64)
- {
- int mask = FLAG(0)|FLAG(1)|FLAG(2)|FLAG(3);
- FFI_INIT_TRAMPOLINE_WIN64 (&closure->tramp[0],
- &ffi_closure_win64,
- codeloc, mask);
- /* make sure we can execute here */
- }
-#else
- if (cif->abi == FFI_SYSV)
- {
- FFI_INIT_TRAMPOLINE (&closure->tramp[0],
- &ffi_closure_SYSV,
- (void*)codeloc);
- }
-#ifdef X86_WIN32
- else if (cif->abi == FFI_THISCALL)
- {
- FFI_INIT_TRAMPOLINE_THISCALL (&closure->tramp[0],
- &ffi_closure_THISCALL,
- (void*)codeloc,
- cif->bytes);
- }
- else if (cif->abi == FFI_STDCALL)
- {
- FFI_INIT_TRAMPOLINE_STDCALL (&closure->tramp[0],
- &ffi_closure_STDCALL,
- (void*)codeloc, cif->bytes);
- }
-#endif /* X86_WIN32 */
-#endif /* !X86_WIN64 */
- else
- {
- return FFI_BAD_ABI;
- }
-
- closure->cif = cif;
- closure->user_data = user_data;
- closure->fun = fun;
-
- return FFI_OK;
-}
-
-/* ------- Native raw API support -------------------------------- */
-
-#if !FFI_NO_RAW_API
-
-ffi_status
-ffi_prep_raw_closure_loc (ffi_raw_closure* closure,
- ffi_cif* cif,
- void (*fun)(ffi_cif*,void*,ffi_raw*,void*),
- void *user_data,
- void *codeloc)
-{
- int i;
-
- if (cif->abi != FFI_SYSV) {
- return FFI_BAD_ABI;
- }
-
- /* we currently don't support certain kinds of arguments for raw
- closures. This should be implemented by a separate assembly
- language routine, since it would require argument processing,
- something we don't do now for performance. */
-
- for (i = cif->nargs-1; i >= 0; i--)
- {
- FFI_ASSERT (cif->arg_types[i]->type != FFI_TYPE_STRUCT);
- FFI_ASSERT (cif->arg_types[i]->type != FFI_TYPE_LONGDOUBLE);
- }
-
-
- FFI_INIT_TRAMPOLINE (&closure->tramp[0], &ffi_closure_raw_SYSV,
- codeloc);
-
- closure->cif = cif;
- closure->user_data = user_data;
- closure->fun = fun;
-
- return FFI_OK;
-}
-
-static void
-ffi_prep_args_raw(char *stack, extended_cif *ecif)
-{
- memcpy (stack, ecif->avalue, ecif->cif->bytes);
-}
-
-/* we borrow this routine from libffi (it must be changed, though, to
- * actually call the function passed in the first argument. as of
- * libffi-1.20, this is not the case.)
- */
-
-void
-ffi_raw_call(ffi_cif *cif, void (*fn)(void), void *rvalue, ffi_raw *fake_avalue)
-{
- extended_cif ecif;
- void **avalue = (void **)fake_avalue;
-
- ecif.cif = cif;
- ecif.avalue = avalue;
-
- /* If the return value is a struct and we don't have a return */
- /* value address then we need to make one */
-
- if ((rvalue == NULL) &&
- (cif->rtype->type == FFI_TYPE_STRUCT))
- {
- ecif.rvalue = alloca(cif->rtype->size);
- }
- else
- ecif.rvalue = rvalue;
-
-
- switch (cif->abi)
- {
-#ifdef X86_WIN32
- case FFI_SYSV:
- case FFI_STDCALL:
- ffi_call_win32(ffi_prep_args, &ecif, cif->abi, cif->bytes, cif->flags,
- ecif.rvalue, fn);
- break;
- case FFI_THISCALL:
- case FFI_FASTCALL:
- {
- unsigned int abi = cif->abi;
- unsigned int i, passed_regs = 0;
-
- if (cif->flags == FFI_TYPE_STRUCT)
- ++passed_regs;
-
- for (i=0; i < cif->nargs && passed_regs < 2;i++)
- {
- size_t sz;
-
- if (cif->arg_types[i]->type == FFI_TYPE_FLOAT
- || cif->arg_types[i]->type == FFI_TYPE_STRUCT)
- continue;
- sz = (cif->arg_types[i]->size + 3) & ~3;
- if (sz == 0 || sz > 4)
- continue;
- ++passed_regs;
- }
- if (passed_regs < 2 && abi == FFI_FASTCALL)
- cif->abi = abi = FFI_THISCALL;
- if (passed_regs < 1 && abi == FFI_THISCALL)
- cif->abi = abi = FFI_STDCALL;
- ffi_call_win32(ffi_prep_args, &ecif, abi, cif->bytes, cif->flags,
- ecif.rvalue, fn);
- }
- break;
-#else
- case FFI_SYSV:
- ffi_call_SYSV(ffi_prep_args_raw, &ecif, cif->bytes, cif->flags,
- ecif.rvalue, fn);
- break;
-#endif
- default:
- FFI_ASSERT(0);
- break;
- }
-}
-
-#endif
-
-#endif /* !__x86_64__ || X86_WIN64 */
-
diff --git a/.pc/stdcall-x86-closure-fix/src/x86/ffitarget.h b/.pc/stdcall-x86-closure-fix/src/x86/ffitarget.h
deleted file mode 100644
index 8cce3a8..0000000
--- a/.pc/stdcall-x86-closure-fix/src/x86/ffitarget.h
+++ /dev/null
@@ -1,124 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
- ffitarget.h - Copyright (c) 2012 Anthony Green
- Copyright (c) 1996-2003, 2010 Red Hat, Inc.
- Copyright (C) 2008 Free Software Foundation, Inc.
-
- Target configuration macros for x86 and x86-64.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
-
- ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-/* ---- System specific configurations ----------------------------------- */
-
-#if defined (X86_64) && defined (__i386__)
-#undef X86_64
-#define X86
-#endif
-
-#ifdef X86_WIN64
-#define FFI_SIZEOF_ARG 8
-#define USE_BUILTIN_FFS 0 /* not yet implemented in mingw-64 */
-#endif
-
-/* ---- Generic type definitions ----------------------------------------- */
-
-#ifndef LIBFFI_ASM
-#ifdef X86_WIN64
-#ifdef _MSC_VER
-typedef unsigned __int64 ffi_arg;
-typedef __int64 ffi_sarg;
-#else
-typedef unsigned long long ffi_arg;
-typedef long long ffi_sarg;
-#endif
-#else
-typedef unsigned long ffi_arg;
-typedef signed long ffi_sarg;
-#endif
-
-typedef enum ffi_abi {
- FFI_FIRST_ABI = 0,
-
- /* ---- Intel x86 Win32 ---------- */
-#ifdef X86_WIN32
- FFI_SYSV,
- FFI_STDCALL,
- FFI_THISCALL,
- FFI_FASTCALL,
- FFI_LAST_ABI,
- /* TODO: Add fastcall support for the sake of completeness */
- FFI_DEFAULT_ABI = FFI_SYSV
-#endif
-
-#ifdef X86_WIN64
- FFI_WIN64,
- FFI_LAST_ABI,
- FFI_DEFAULT_ABI = FFI_WIN64
-#else
-
- /* ---- Intel x86 and AMD x86-64 - */
-#if !defined(X86_WIN32) && (defined(__i386__) || defined(__x86_64__) || defined(__i386) || defined(__amd64))
- FFI_SYSV,
- FFI_UNIX64, /* Unix variants all use the same ABI for x86-64 */
- FFI_LAST_ABI,
-#if defined(__i386__) || defined(__i386)
- FFI_DEFAULT_ABI = FFI_SYSV
-#else
- FFI_DEFAULT_ABI = FFI_UNIX64
-#endif
-#endif
-#endif /* X86_WIN64 */
-} ffi_abi;
-#endif
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#define FFI_TYPE_SMALL_STRUCT_1B (FFI_TYPE_LAST + 1)
-#define FFI_TYPE_SMALL_STRUCT_2B (FFI_TYPE_LAST + 2)
-#define FFI_TYPE_SMALL_STRUCT_4B (FFI_TYPE_LAST + 3)
-
-#if defined (X86_64) || (defined (__x86_64__) && defined (X86_DARWIN))
-#define FFI_TRAMPOLINE_SIZE 24
-#define FFI_NATIVE_RAW_API 0
-#else
-#ifdef X86_WIN32
-#define FFI_TRAMPOLINE_SIZE 52
-#else
-#ifdef X86_WIN64
-#define FFI_TRAMPOLINE_SIZE 29
-#define FFI_NATIVE_RAW_API 0
-#define FFI_NO_RAW_API 1
-#else
-#define FFI_TRAMPOLINE_SIZE 10
-#endif
-#endif
-#ifndef X86_WIN64
-#define FFI_NATIVE_RAW_API 1 /* x86 has native raw api support */
-#endif
-#endif
-
-#endif
-
diff --git a/.pc/ungccify/.timestamp b/.pc/ungccify/.timestamp
deleted file mode 100644
index e69de29..0000000
--- a/.pc/ungccify/.timestamp
+++ /dev/null
diff --git a/.pc/ungccify/Makefile.am b/.pc/ungccify/Makefile.am
deleted file mode 100644
index 073fb0d..0000000
--- a/.pc/ungccify/Makefile.am
+++ /dev/null
@@ -1,200 +0,0 @@
-## Process this with automake to create Makefile.in
-
-AUTOMAKE_OPTIONS = foreign subdir-objects
-
-SUBDIRS = include testsuite man
-
-EXTRA_DIST = LICENSE ChangeLog.v1 ChangeLog.libgcj configure.host \
- src/alpha/ffi.c src/alpha/osf.S src/alpha/ffitarget.h \
- src/arm/ffi.c src/arm/sysv.S src/arm/ffitarget.h \
- src/avr32/ffi.c src/avr32/sysv.S src/avr32/ffitarget.h \
- src/cris/ffi.c src/cris/sysv.S src/cris/ffitarget.h \
- src/ia64/ffi.c src/ia64/ffitarget.h src/ia64/ia64_flags.h \
- src/ia64/unix.S src/mips/ffi.c src/mips/n32.S src/mips/o32.S \
- src/mips/ffitarget.h src/m32r/ffi.c src/m32r/sysv.S \
- src/m32r/ffitarget.h src/m68k/ffi.c src/m68k/sysv.S \
- src/m68k/ffitarget.h src/powerpc/ffi.c src/powerpc/sysv.S \
- src/powerpc/linux64.S src/powerpc/linux64_closure.S \
- src/powerpc/ppc_closure.S src/powerpc/asm.h src/powerpc/aix.S \
- src/powerpc/darwin.S src/powerpc/aix_closure.S \
- src/powerpc/darwin_closure.S src/powerpc/ffi_darwin.c \
- src/powerpc/ffitarget.h src/s390/ffi.c src/s390/sysv.S \
- src/s390/ffitarget.h src/sh/ffi.c src/sh/sysv.S \
- src/sh/ffitarget.h src/sh64/ffi.c src/sh64/sysv.S \
- src/sh64/ffitarget.h src/sparc/v8.S src/sparc/v9.S \
- src/sparc/ffitarget.h src/sparc/ffi.c src/x86/darwin64.S \
- src/x86/ffi.c src/x86/sysv.S src/x86/win32.S src/x86/darwin.S \
- src/x86/win64.S src/x86/freebsd.S src/x86/ffi64.c \
- src/x86/unix64.S src/x86/ffitarget.h src/pa/ffitarget.h \
- src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S src/frv/ffi.c \
- src/frv/eabi.S src/frv/ffitarget.h src/dlmalloc.c \
- src/moxie/ffi.c src/moxie/eabi.S libtool-version \
- ChangeLog.libffi m4/libtool.m4 m4/lt~obsolete.m4 \
- m4/ltoptions.m4 m4/ltsugar.m4
- m4/ltversion.m4 build-ios.sh src/arm/gentramp.sh
-
-info_TEXINFOS = doc/libffi.texi
-
-## ################################################################
-
-##
-## This section is for make and multilib madness.
-##
-
-# Work around what appears to be a GNU make bug handling MAKEFLAGS
-# values defined in terms of make variables, as is the case for CC and
-# friends when we are called from the top level Makefile.
-AM_MAKEFLAGS = \
- "AR_FLAGS=$(AR_FLAGS)" \
- "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
- "CFLAGS=$(CFLAGS)" \
- "CXXFLAGS=$(CXXFLAGS)" \
- "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
- "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
- "INSTALL=$(INSTALL)" \
- "INSTALL_DATA=$(INSTALL_DATA)" \
- "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
- "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
- "JC1FLAGS=$(JC1FLAGS)" \
- "LDFLAGS=$(LDFLAGS)" \
- "LIBCFLAGS=$(LIBCFLAGS)" \
- "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
- "MAKE=$(MAKE)" \
- "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
- "PICFLAG=$(PICFLAG)" \
- "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
- "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
- "SHELL=$(SHELL)" \
- "exec_prefix=$(exec_prefix)" \
- "infodir=$(infodir)" \
- "libdir=$(libdir)" \
- "mandir=$(mandir)" \
- "prefix=$(prefix)" \
- "AR=$(AR)" \
- "AS=$(AS)" \
- "CC=$(CC)" \
- "CXX=$(CXX)" \
- "LD=$(LD)" \
- "NM=$(NM)" \
- "RANLIB=$(RANLIB)" \
- "DESTDIR=$(DESTDIR)"
-
-MAKEOVERRIDES=
-
-ACLOCAL_AMFLAGS=$(ACLOCAL_AMFLAGS) -I m4
-
-lib_LTLIBRARIES = libffi.la
-noinst_LTLIBRARIES = libffi_convenience.la
-
-libffi_la_SOURCES = src/debug.c src/prep_cif.c src/types.c \
- src/raw_api.c src/java_raw_api.c src/closures.c
-
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = libffi.pc
-
-nodist_libffi_la_SOURCES =
-
-if MIPS
-nodist_libffi_la_SOURCES += src/mips/ffi.c src/mips/o32.S src/mips/n32.S
-endif
-if X86
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/sysv.S
-endif
-if X86_FREEBSD
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/freebsd.S
-endif
-if X86_WIN32
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/win32.S
-endif
-if X86_WIN64
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/win64.S
-endif
-if X86_DARWIN
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/darwin.S src/x86/ffi64.c src/x86/darwin64.S
-endif
-if SPARC
-nodist_libffi_la_SOURCES += src/sparc/ffi.c src/sparc/v8.S src/sparc/v9.S
-endif
-if ALPHA
-nodist_libffi_la_SOURCES += src/alpha/ffi.c src/alpha/osf.S
-endif
-if IA64
-nodist_libffi_la_SOURCES += src/ia64/ffi.c src/ia64/unix.S
-endif
-if M32R
-nodist_libffi_la_SOURCES += src/m32r/sysv.S src/m32r/ffi.c
-endif
-if M68K
-nodist_libffi_la_SOURCES += src/m68k/ffi.c src/m68k/sysv.S
-endif
-if POWERPC
-nodist_libffi_la_SOURCES += src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S src/powerpc/linux64.S src/powerpc/linux64_closure.S
-endif
-if POWERPC_AIX
-nodist_libffi_la_SOURCES += src/powerpc/ffi_darwin.c src/powerpc/aix.S src/powerpc/aix_closure.S
-endif
-if POWERPC_DARWIN
-nodist_libffi_la_SOURCES += src/powerpc/ffi_darwin.c src/powerpc/darwin.S src/powerpc/darwin_closure.S
-endif
-if POWERPC_FREEBSD
-nodist_libffi_la_SOURCES += src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S
-endif
-if ARM
-nodist_libffi_la_SOURCES += src/arm/sysv.S src/arm/ffi.c
-if FFI_EXEC_TRAMPOLINE_TABLE
-nodist_libffi_la_SOURCES += src/arm/trampoline.S
-endif
-endif
-if AVR32
-nodist_libffi_la_SOURCES += src/avr32/sysv.S src/avr32/ffi.c
-endif
-if LIBFFI_CRIS
-nodist_libffi_la_SOURCES += src/cris/sysv.S src/cris/ffi.c
-endif
-if FRV
-nodist_libffi_la_SOURCES += src/frv/eabi.S src/frv/ffi.c
-endif
-if MOXIE
-nodist_libffi_la_SOURCES += src/moxie/eabi.S src/moxie/ffi.c
-endif
-if S390
-nodist_libffi_la_SOURCES += src/s390/sysv.S src/s390/ffi.c
-endif
-if X86_64
-nodist_libffi_la_SOURCES += src/x86/ffi64.c src/x86/unix64.S src/x86/ffi.c src/x86/sysv.S
-endif
-if SH
-nodist_libffi_la_SOURCES += src/sh/sysv.S src/sh/ffi.c
-endif
-if SH64
-nodist_libffi_la_SOURCES += src/sh64/sysv.S src/sh64/ffi.c
-endif
-if PA_LINUX
-nodist_libffi_la_SOURCES += src/pa/linux.S src/pa/ffi.c
-endif
-if PA_HPUX
-nodist_libffi_la_SOURCES += src/pa/hpux32.S src/pa/ffi.c
-endif
-
-libffi_convenience_la_SOURCES = $(libffi_la_SOURCES)
-nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
-
-AM_CFLAGS = -Wall -g -fexceptions
-if FFI_DEBUG
-# Build debug. Define FFI_DEBUG on the commandline so that, when building with
-# MSVC, it can link against the debug CRT.
-AM_CFLAGS += -DFFI_DEBUG
-else
-# Build opt.
-AM_CFLAGS += -O2
-endif
-
-libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LTLDFLAGS) $(AM_LTLDFLAGS)
-
-AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
-AM_CCASFLAGS = $(AM_CPPFLAGS)
-
-# No install-html or install-pdf support in automake yet
-.PHONY: install-html install-pdf
-install-html:
-install-pdf:
diff --git a/.pc/ungccify/Makefile.in b/.pc/ungccify/Makefile.in
deleted file mode 100644
index 09da764..0000000
--- a/.pc/ungccify/Makefile.in
+++ /dev/null
@@ -1,1834 +0,0 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-@MIPS_TRUE@am__append_1 = src/mips/ffi.c src/mips/o32.S src/mips/n32.S
-@X86_TRUE@am__append_2 = src/x86/ffi.c src/x86/sysv.S
-@X86_FREEBSD_TRUE@am__append_3 = src/x86/ffi.c src/x86/freebsd.S
-@X86_WIN32_TRUE@am__append_4 = src/x86/ffi.c src/x86/win32.S
-@X86_WIN64_TRUE@am__append_5 = src/x86/ffi.c src/x86/win64.S
-@X86_DARWIN_TRUE@am__append_6 = src/x86/ffi.c src/x86/darwin.S src/x86/ffi64.c src/x86/darwin64.S
-@SPARC_TRUE@am__append_7 = src/sparc/ffi.c src/sparc/v8.S src/sparc/v9.S
-@ALPHA_TRUE@am__append_8 = src/alpha/ffi.c src/alpha/osf.S
-@IA64_TRUE@am__append_9 = src/ia64/ffi.c src/ia64/unix.S
-@M32R_TRUE@am__append_10 = src/m32r/sysv.S src/m32r/ffi.c
-@M68K_TRUE@am__append_11 = src/m68k/ffi.c src/m68k/sysv.S
-@POWERPC_TRUE@am__append_12 = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S src/powerpc/linux64.S src/powerpc/linux64_closure.S
-@POWERPC_AIX_TRUE@am__append_13 = src/powerpc/ffi_darwin.c src/powerpc/aix.S src/powerpc/aix_closure.S
-@POWERPC_DARWIN_TRUE@am__append_14 = src/powerpc/ffi_darwin.c src/powerpc/darwin.S src/powerpc/darwin_closure.S
-@POWERPC_FREEBSD_TRUE@am__append_15 = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S
-@ARM_TRUE@am__append_16 = src/arm/sysv.S src/arm/ffi.c
-@ARM_TRUE@@FFI_EXEC_TRAMPOLINE_TABLE_TRUE@am__append_17 = src/arm/trampoline.S
-@AVR32_TRUE@am__append_18 = src/avr32/sysv.S src/avr32/ffi.c
-@LIBFFI_CRIS_TRUE@am__append_19 = src/cris/sysv.S src/cris/ffi.c
-@FRV_TRUE@am__append_20 = src/frv/eabi.S src/frv/ffi.c
-@MOXIE_TRUE@am__append_21 = src/moxie/eabi.S src/moxie/ffi.c
-@S390_TRUE@am__append_22 = src/s390/sysv.S src/s390/ffi.c
-@X86_64_TRUE@am__append_23 = src/x86/ffi64.c src/x86/unix64.S src/x86/ffi.c src/x86/sysv.S
-@SH_TRUE@am__append_24 = src/sh/sysv.S src/sh/ffi.c
-@SH64_TRUE@am__append_25 = src/sh64/sysv.S src/sh64/ffi.c
-@PA_LINUX_TRUE@am__append_26 = src/pa/linux.S src/pa/ffi.c
-@PA_HPUX_TRUE@am__append_27 = src/pa/hpux32.S src/pa/ffi.c
-# Build debug. Define FFI_DEBUG on the commandline so that, when building with
-# MSVC, it can link against the debug CRT.
-@FFI_DEBUG_TRUE@am__append_28 = -DFFI_DEBUG
-# Build opt.
-@FFI_DEBUG_FALSE@am__append_29 = -O2
-subdir = .
-DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in $(srcdir)/doc/stamp-vti \
- $(srcdir)/doc/version.texi $(srcdir)/fficonfig.h.in \
- $(srcdir)/libffi.pc.in $(top_srcdir)/configure ChangeLog \
- compile config.guess config.sub depcomp install-sh ltmain.sh \
- mdate-sh missing texinfo.tex
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
- $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
- configure.lineno config.status.lineno
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = fficonfig.h
-CONFIG_CLEAN_FILES = libffi.pc
-CONFIG_CLEAN_VPATH_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
- for p in $$list; do echo "$$p $$p"; done | \
- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
- if (++n[$$2] == $(am__install_max)) \
- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
- END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(infodir)" \
- "$(DESTDIR)$(pkgconfigdir)"
-LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES)
-libffi_la_LIBADD =
-am__dirstamp = $(am__leading_dot)dirstamp
-am_libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo src/types.lo \
- src/raw_api.lo src/java_raw_api.lo src/closures.lo
-@MIPS_TRUE@am__objects_1 = src/mips/ffi.lo src/mips/o32.lo \
-@MIPS_TRUE@ src/mips/n32.lo
-@X86_TRUE@am__objects_2 = src/x86/ffi.lo src/x86/sysv.lo
-@X86_FREEBSD_TRUE@am__objects_3 = src/x86/ffi.lo src/x86/freebsd.lo
-@X86_WIN32_TRUE@am__objects_4 = src/x86/ffi.lo src/x86/win32.lo
-@X86_WIN64_TRUE@am__objects_5 = src/x86/ffi.lo src/x86/win64.lo
-@X86_DARWIN_TRUE@am__objects_6 = src/x86/ffi.lo src/x86/darwin.lo \
-@X86_DARWIN_TRUE@ src/x86/ffi64.lo src/x86/darwin64.lo
-@SPARC_TRUE@am__objects_7 = src/sparc/ffi.lo src/sparc/v8.lo \
-@SPARC_TRUE@ src/sparc/v9.lo
-@ALPHA_TRUE@am__objects_8 = src/alpha/ffi.lo src/alpha/osf.lo
-@IA64_TRUE@am__objects_9 = src/ia64/ffi.lo src/ia64/unix.lo
-@M32R_TRUE@am__objects_10 = src/m32r/sysv.lo src/m32r/ffi.lo
-@M68K_TRUE@am__objects_11 = src/m68k/ffi.lo src/m68k/sysv.lo
-@POWERPC_TRUE@am__objects_12 = src/powerpc/ffi.lo src/powerpc/sysv.lo \
-@POWERPC_TRUE@ src/powerpc/ppc_closure.lo \
-@POWERPC_TRUE@ src/powerpc/linux64.lo \
-@POWERPC_TRUE@ src/powerpc/linux64_closure.lo
-@POWERPC_AIX_TRUE@am__objects_13 = src/powerpc/ffi_darwin.lo \
-@POWERPC_AIX_TRUE@ src/powerpc/aix.lo \
-@POWERPC_AIX_TRUE@ src/powerpc/aix_closure.lo
-@POWERPC_DARWIN_TRUE@am__objects_14 = src/powerpc/ffi_darwin.lo \
-@POWERPC_DARWIN_TRUE@ src/powerpc/darwin.lo \
-@POWERPC_DARWIN_TRUE@ src/powerpc/darwin_closure.lo
-@POWERPC_FREEBSD_TRUE@am__objects_15 = src/powerpc/ffi.lo \
-@POWERPC_FREEBSD_TRUE@ src/powerpc/sysv.lo \
-@POWERPC_FREEBSD_TRUE@ src/powerpc/ppc_closure.lo
-@ARM_TRUE@am__objects_16 = src/arm/sysv.lo src/arm/ffi.lo
-@ARM_TRUE@@FFI_EXEC_TRAMPOLINE_TABLE_TRUE@am__objects_17 = src/arm/trampoline.lo
-@AVR32_TRUE@am__objects_18 = src/avr32/sysv.lo src/avr32/ffi.lo
-@LIBFFI_CRIS_TRUE@am__objects_19 = src/cris/sysv.lo src/cris/ffi.lo
-@FRV_TRUE@am__objects_20 = src/frv/eabi.lo src/frv/ffi.lo
-@MOXIE_TRUE@am__objects_21 = src/moxie/eabi.lo src/moxie/ffi.lo
-@S390_TRUE@am__objects_22 = src/s390/sysv.lo src/s390/ffi.lo
-@X86_64_TRUE@am__objects_23 = src/x86/ffi64.lo src/x86/unix64.lo \
-@X86_64_TRUE@ src/x86/ffi.lo src/x86/sysv.lo
-@SH_TRUE@am__objects_24 = src/sh/sysv.lo src/sh/ffi.lo
-@SH64_TRUE@am__objects_25 = src/sh64/sysv.lo src/sh64/ffi.lo
-@PA_LINUX_TRUE@am__objects_26 = src/pa/linux.lo src/pa/ffi.lo
-@PA_HPUX_TRUE@am__objects_27 = src/pa/hpux32.lo src/pa/ffi.lo
-nodist_libffi_la_OBJECTS = $(am__objects_1) $(am__objects_2) \
- $(am__objects_3) $(am__objects_4) $(am__objects_5) \
- $(am__objects_6) $(am__objects_7) $(am__objects_8) \
- $(am__objects_9) $(am__objects_10) $(am__objects_11) \
- $(am__objects_12) $(am__objects_13) $(am__objects_14) \
- $(am__objects_15) $(am__objects_16) $(am__objects_17) \
- $(am__objects_18) $(am__objects_19) $(am__objects_20) \
- $(am__objects_21) $(am__objects_22) $(am__objects_23) \
- $(am__objects_24) $(am__objects_25) $(am__objects_26) \
- $(am__objects_27)
-libffi_la_OBJECTS = $(am_libffi_la_OBJECTS) \
- $(nodist_libffi_la_OBJECTS)
-libffi_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libffi_la_LDFLAGS) $(LDFLAGS) -o $@
-libffi_convenience_la_LIBADD =
-am__objects_28 = src/debug.lo src/prep_cif.lo src/types.lo \
- src/raw_api.lo src/java_raw_api.lo src/closures.lo
-am_libffi_convenience_la_OBJECTS = $(am__objects_28)
-am__objects_29 = $(am__objects_1) $(am__objects_2) $(am__objects_3) \
- $(am__objects_4) $(am__objects_5) $(am__objects_6) \
- $(am__objects_7) $(am__objects_8) $(am__objects_9) \
- $(am__objects_10) $(am__objects_11) $(am__objects_12) \
- $(am__objects_13) $(am__objects_14) $(am__objects_15) \
- $(am__objects_16) $(am__objects_17) $(am__objects_18) \
- $(am__objects_19) $(am__objects_20) $(am__objects_21) \
- $(am__objects_22) $(am__objects_23) $(am__objects_24) \
- $(am__objects_25) $(am__objects_26) $(am__objects_27)
-nodist_libffi_convenience_la_OBJECTS = $(am__objects_29)
-libffi_convenience_la_OBJECTS = $(am_libffi_convenience_la_OBJECTS) \
- $(nodist_libffi_convenience_la_OBJECTS)
-DEFAULT_INCLUDES = -I.@am__isrc@
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
-LTCPPASCOMPILE = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
-SOURCES = $(libffi_la_SOURCES) $(nodist_libffi_la_SOURCES) \
- $(libffi_convenience_la_SOURCES) \
- $(nodist_libffi_convenience_la_SOURCES)
-DIST_SOURCES = $(libffi_la_SOURCES) $(libffi_convenience_la_SOURCES)
-INFO_DEPS = $(srcdir)/doc/libffi.info
-am__TEXINFO_TEX_DIR = $(srcdir)
-DVIS = doc/libffi.dvi
-PDFS = doc/libffi.pdf
-PSS = doc/libffi.ps
-HTMLS = doc/libffi.html
-TEXINFOS = doc/libffi.texi
-TEXI2DVI = texi2dvi
-TEXI2PDF = $(TEXI2DVI) --pdf --batch
-MAKEINFOHTML = $(MAKEINFO) --html
-AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS)
-DVIPS = dvips
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-dvi-recursive install-exec-recursive \
- install-html-recursive install-info-recursive \
- install-pdf-recursive install-ps-recursive install-recursive \
- installcheck-recursive installdirs-recursive pdf-recursive \
- ps-recursive uninstall-recursive
-DATA = $(pkgconfig_DATA)
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
- distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
- distdir dist dist-all distcheck
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-distdir = $(PACKAGE)-$(VERSION)
-top_distdir = $(distdir)
-am__remove_distdir = \
- { test ! -d "$(distdir)" \
- || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
- && rm -fr "$(distdir)"; }; }
-am__relativize = \
- dir0=`pwd`; \
- sed_first='s,^\([^/]*\)/.*$$,\1,'; \
- sed_rest='s,^[^/]*/*,,'; \
- sed_last='s,^.*/\([^/]*\)$$,\1,'; \
- sed_butlast='s,/*[^/]*$$,,'; \
- while test -n "$$dir1"; do \
- first=`echo "$$dir1" | sed -e "$$sed_first"`; \
- if test "$$first" != "."; then \
- if test "$$first" = ".."; then \
- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
- else \
- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
- if test "$$first2" = "$$first"; then \
- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
- else \
- dir2="../$$dir2"; \
- fi; \
- dir0="$$dir0"/"$$first"; \
- fi; \
- fi; \
- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
- done; \
- reldir="$$dir2"
-DIST_ARCHIVES = $(distdir).tar.gz
-GZIP_ENV = --best
-distuninstallcheck_listfiles = find . -type f -print
-distcleancheck_listfiles = find . -type f -print
-ACLOCAL = @ACLOCAL@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AM_LTLDFLAGS = @AM_LTLDFLAGS@
-AM_RUNTESTFLAGS = @AM_RUNTESTFLAGS@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCAS = @CCAS@
-CCASDEPMODE = @CCASDEPMODE@
-CCASFLAGS = @CCASFLAGS@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FFI_EXEC_TRAMPOLINE_TABLE = @FFI_EXEC_TRAMPOLINE_TABLE@
-FGREP = @FGREP@
-GREP = @GREP@
-HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-TARGET = @TARGET@
-TARGETDIR = @TARGETDIR@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-toolexecdir = @toolexecdir@
-toolexeclibdir = @toolexeclibdir@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-AUTOMAKE_OPTIONS = foreign subdir-objects
-SUBDIRS = include testsuite man
-EXTRA_DIST = LICENSE ChangeLog.v1 ChangeLog.libgcj configure.host \
- src/alpha/ffi.c src/alpha/osf.S src/alpha/ffitarget.h \
- src/arm/ffi.c src/arm/sysv.S src/arm/ffitarget.h \
- src/avr32/ffi.c src/avr32/sysv.S src/avr32/ffitarget.h \
- src/cris/ffi.c src/cris/sysv.S src/cris/ffitarget.h \
- src/ia64/ffi.c src/ia64/ffitarget.h src/ia64/ia64_flags.h \
- src/ia64/unix.S src/mips/ffi.c src/mips/n32.S src/mips/o32.S \
- src/mips/ffitarget.h src/m32r/ffi.c src/m32r/sysv.S \
- src/m32r/ffitarget.h src/m68k/ffi.c src/m68k/sysv.S \
- src/m68k/ffitarget.h src/powerpc/ffi.c src/powerpc/sysv.S \
- src/powerpc/linux64.S src/powerpc/linux64_closure.S \
- src/powerpc/ppc_closure.S src/powerpc/asm.h src/powerpc/aix.S \
- src/powerpc/darwin.S src/powerpc/aix_closure.S \
- src/powerpc/darwin_closure.S src/powerpc/ffi_darwin.c \
- src/powerpc/ffitarget.h src/s390/ffi.c src/s390/sysv.S \
- src/s390/ffitarget.h src/sh/ffi.c src/sh/sysv.S \
- src/sh/ffitarget.h src/sh64/ffi.c src/sh64/sysv.S \
- src/sh64/ffitarget.h src/sparc/v8.S src/sparc/v9.S \
- src/sparc/ffitarget.h src/sparc/ffi.c src/x86/darwin64.S \
- src/x86/ffi.c src/x86/sysv.S src/x86/win32.S src/x86/darwin.S \
- src/x86/win64.S src/x86/freebsd.S src/x86/ffi64.c \
- src/x86/unix64.S src/x86/ffitarget.h src/pa/ffitarget.h \
- src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S src/frv/ffi.c \
- src/frv/eabi.S src/frv/ffitarget.h src/dlmalloc.c \
- src/moxie/ffi.c src/moxie/eabi.S libtool-version \
- ChangeLog.libffi m4/libtool.m4 m4/lt~obsolete.m4 \
- m4/ltoptions.m4 m4/ltsugar.m4
-
-info_TEXINFOS = doc/libffi.texi
-
-# Work around what appears to be a GNU make bug handling MAKEFLAGS
-# values defined in terms of make variables, as is the case for CC and
-# friends when we are called from the top level Makefile.
-AM_MAKEFLAGS = \
- "AR_FLAGS=$(AR_FLAGS)" \
- "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
- "CFLAGS=$(CFLAGS)" \
- "CXXFLAGS=$(CXXFLAGS)" \
- "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
- "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
- "INSTALL=$(INSTALL)" \
- "INSTALL_DATA=$(INSTALL_DATA)" \
- "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
- "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
- "JC1FLAGS=$(JC1FLAGS)" \
- "LDFLAGS=$(LDFLAGS)" \
- "LIBCFLAGS=$(LIBCFLAGS)" \
- "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
- "MAKE=$(MAKE)" \
- "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
- "PICFLAG=$(PICFLAG)" \
- "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
- "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
- "SHELL=$(SHELL)" \
- "exec_prefix=$(exec_prefix)" \
- "infodir=$(infodir)" \
- "libdir=$(libdir)" \
- "mandir=$(mandir)" \
- "prefix=$(prefix)" \
- "AR=$(AR)" \
- "AS=$(AS)" \
- "CC=$(CC)" \
- "CXX=$(CXX)" \
- "LD=$(LD)" \
- "NM=$(NM)" \
- "RANLIB=$(RANLIB)" \
- "DESTDIR=$(DESTDIR)"
-
-MAKEOVERRIDES =
-ACLOCAL_AMFLAGS = $(ACLOCAL_AMFLAGS) -I m4
-lib_LTLIBRARIES = libffi.la
-noinst_LTLIBRARIES = libffi_convenience.la
-libffi_la_SOURCES = src/debug.c src/prep_cif.c src/types.c \
- src/raw_api.c src/java_raw_api.c src/closures.c
-
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = libffi.pc
-nodist_libffi_la_SOURCES = $(am__append_1) $(am__append_2) \
- $(am__append_3) $(am__append_4) $(am__append_5) \
- $(am__append_6) $(am__append_7) $(am__append_8) \
- $(am__append_9) $(am__append_10) $(am__append_11) \
- $(am__append_12) $(am__append_13) $(am__append_14) \
- $(am__append_15) $(am__append_16) $(am__append_17) \
- $(am__append_18) $(am__append_19) $(am__append_20) \
- $(am__append_21) $(am__append_22) $(am__append_23) \
- $(am__append_24) $(am__append_25) $(am__append_26) \
- $(am__append_27)
-libffi_convenience_la_SOURCES = $(libffi_la_SOURCES)
-nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
-AM_CFLAGS = -Wall -g -fexceptions $(am__append_28) $(am__append_29)
-libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LTLDFLAGS) $(AM_LTLDFLAGS)
-AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
-AM_CCASFLAGS = $(AM_CPPFLAGS)
-all: fficonfig.h
- $(MAKE) $(AM_MAKEFLAGS) all-recursive
-
-.SUFFIXES:
-.SUFFIXES: .S .c .dvi .lo .o .obj .ps
-am--refresh:
- @:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
- $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --foreign Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- echo ' $(SHELL) ./config.status'; \
- $(SHELL) ./config.status;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- $(SHELL) ./config.status --recheck
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- $(am__cd) $(srcdir) && $(AUTOCONF)
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
-$(am__aclocal_m4_deps):
-
-fficonfig.h: stamp-h1
- @if test ! -f $@; then \
- rm -f stamp-h1; \
- $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
- else :; fi
-
-stamp-h1: $(srcdir)/fficonfig.h.in $(top_builddir)/config.status
- @rm -f stamp-h1
- cd $(top_builddir) && $(SHELL) ./config.status fficonfig.h
-$(srcdir)/fficonfig.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
- rm -f stamp-h1
- touch $@
-
-distclean-hdr:
- -rm -f fficonfig.h stamp-h1
-libffi.pc: $(top_builddir)/config.status $(srcdir)/libffi.pc.in
- cd $(top_builddir) && $(SHELL) ./config.status $@
-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
- @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
- list2=; for p in $$list; do \
- if test -f $$p; then \
- list2="$$list2 $$p"; \
- else :; fi; \
- done; \
- test -z "$$list2" || { \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
- }
-
-uninstall-libLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
- done
-
-clean-libLTLIBRARIES:
- -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-
-clean-noinstLTLIBRARIES:
- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
- @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-src/$(am__dirstamp):
- @$(MKDIR_P) src
- @: > src/$(am__dirstamp)
-src/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/$(DEPDIR)
- @: > src/$(DEPDIR)/$(am__dirstamp)
-src/debug.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/prep_cif.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/types.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/raw_api.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/java_raw_api.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/closures.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/mips/$(am__dirstamp):
- @$(MKDIR_P) src/mips
- @: > src/mips/$(am__dirstamp)
-src/mips/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/mips/$(DEPDIR)
- @: > src/mips/$(DEPDIR)/$(am__dirstamp)
-src/mips/ffi.lo: src/mips/$(am__dirstamp) \
- src/mips/$(DEPDIR)/$(am__dirstamp)
-src/mips/o32.lo: src/mips/$(am__dirstamp) \
- src/mips/$(DEPDIR)/$(am__dirstamp)
-src/mips/n32.lo: src/mips/$(am__dirstamp) \
- src/mips/$(DEPDIR)/$(am__dirstamp)
-src/x86/$(am__dirstamp):
- @$(MKDIR_P) src/x86
- @: > src/x86/$(am__dirstamp)
-src/x86/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/x86/$(DEPDIR)
- @: > src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/ffi.lo: src/x86/$(am__dirstamp) \
- src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/sysv.lo: src/x86/$(am__dirstamp) \
- src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/freebsd.lo: src/x86/$(am__dirstamp) \
- src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/win32.lo: src/x86/$(am__dirstamp) \
- src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/win64.lo: src/x86/$(am__dirstamp) \
- src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/darwin.lo: src/x86/$(am__dirstamp) \
- src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/ffi64.lo: src/x86/$(am__dirstamp) \
- src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/darwin64.lo: src/x86/$(am__dirstamp) \
- src/x86/$(DEPDIR)/$(am__dirstamp)
-src/sparc/$(am__dirstamp):
- @$(MKDIR_P) src/sparc
- @: > src/sparc/$(am__dirstamp)
-src/sparc/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/sparc/$(DEPDIR)
- @: > src/sparc/$(DEPDIR)/$(am__dirstamp)
-src/sparc/ffi.lo: src/sparc/$(am__dirstamp) \
- src/sparc/$(DEPDIR)/$(am__dirstamp)
-src/sparc/v8.lo: src/sparc/$(am__dirstamp) \
- src/sparc/$(DEPDIR)/$(am__dirstamp)
-src/sparc/v9.lo: src/sparc/$(am__dirstamp) \
- src/sparc/$(DEPDIR)/$(am__dirstamp)
-src/alpha/$(am__dirstamp):
- @$(MKDIR_P) src/alpha
- @: > src/alpha/$(am__dirstamp)
-src/alpha/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/alpha/$(DEPDIR)
- @: > src/alpha/$(DEPDIR)/$(am__dirstamp)
-src/alpha/ffi.lo: src/alpha/$(am__dirstamp) \
- src/alpha/$(DEPDIR)/$(am__dirstamp)
-src/alpha/osf.lo: src/alpha/$(am__dirstamp) \
- src/alpha/$(DEPDIR)/$(am__dirstamp)
-src/ia64/$(am__dirstamp):
- @$(MKDIR_P) src/ia64
- @: > src/ia64/$(am__dirstamp)
-src/ia64/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/ia64/$(DEPDIR)
- @: > src/ia64/$(DEPDIR)/$(am__dirstamp)
-src/ia64/ffi.lo: src/ia64/$(am__dirstamp) \
- src/ia64/$(DEPDIR)/$(am__dirstamp)
-src/ia64/unix.lo: src/ia64/$(am__dirstamp) \
- src/ia64/$(DEPDIR)/$(am__dirstamp)
-src/m32r/$(am__dirstamp):
- @$(MKDIR_P) src/m32r
- @: > src/m32r/$(am__dirstamp)
-src/m32r/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/m32r/$(DEPDIR)
- @: > src/m32r/$(DEPDIR)/$(am__dirstamp)
-src/m32r/sysv.lo: src/m32r/$(am__dirstamp) \
- src/m32r/$(DEPDIR)/$(am__dirstamp)
-src/m32r/ffi.lo: src/m32r/$(am__dirstamp) \
- src/m32r/$(DEPDIR)/$(am__dirstamp)
-src/m68k/$(am__dirstamp):
- @$(MKDIR_P) src/m68k
- @: > src/m68k/$(am__dirstamp)
-src/m68k/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/m68k/$(DEPDIR)
- @: > src/m68k/$(DEPDIR)/$(am__dirstamp)
-src/m68k/ffi.lo: src/m68k/$(am__dirstamp) \
- src/m68k/$(DEPDIR)/$(am__dirstamp)
-src/m68k/sysv.lo: src/m68k/$(am__dirstamp) \
- src/m68k/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/$(am__dirstamp):
- @$(MKDIR_P) src/powerpc
- @: > src/powerpc/$(am__dirstamp)
-src/powerpc/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/powerpc/$(DEPDIR)
- @: > src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/ffi.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/sysv.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/ppc_closure.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/linux64.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/linux64_closure.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/ffi_darwin.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/aix.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/aix_closure.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/darwin.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/darwin_closure.lo: src/powerpc/$(am__dirstamp) \
- src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/arm/$(am__dirstamp):
- @$(MKDIR_P) src/arm
- @: > src/arm/$(am__dirstamp)
-src/arm/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/arm/$(DEPDIR)
- @: > src/arm/$(DEPDIR)/$(am__dirstamp)
-src/arm/sysv.lo: src/arm/$(am__dirstamp) \
- src/arm/$(DEPDIR)/$(am__dirstamp)
-src/arm/ffi.lo: src/arm/$(am__dirstamp) \
- src/arm/$(DEPDIR)/$(am__dirstamp)
-src/arm/trampoline.lo: src/arm/$(am__dirstamp) \
- src/arm/$(DEPDIR)/$(am__dirstamp)
-src/avr32/$(am__dirstamp):
- @$(MKDIR_P) src/avr32
- @: > src/avr32/$(am__dirstamp)
-src/avr32/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/avr32/$(DEPDIR)
- @: > src/avr32/$(DEPDIR)/$(am__dirstamp)
-src/avr32/sysv.lo: src/avr32/$(am__dirstamp) \
- src/avr32/$(DEPDIR)/$(am__dirstamp)
-src/avr32/ffi.lo: src/avr32/$(am__dirstamp) \
- src/avr32/$(DEPDIR)/$(am__dirstamp)
-src/cris/$(am__dirstamp):
- @$(MKDIR_P) src/cris
- @: > src/cris/$(am__dirstamp)
-src/cris/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/cris/$(DEPDIR)
- @: > src/cris/$(DEPDIR)/$(am__dirstamp)
-src/cris/sysv.lo: src/cris/$(am__dirstamp) \
- src/cris/$(DEPDIR)/$(am__dirstamp)
-src/cris/ffi.lo: src/cris/$(am__dirstamp) \
- src/cris/$(DEPDIR)/$(am__dirstamp)
-src/frv/$(am__dirstamp):
- @$(MKDIR_P) src/frv
- @: > src/frv/$(am__dirstamp)
-src/frv/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/frv/$(DEPDIR)
- @: > src/frv/$(DEPDIR)/$(am__dirstamp)
-src/frv/eabi.lo: src/frv/$(am__dirstamp) \
- src/frv/$(DEPDIR)/$(am__dirstamp)
-src/frv/ffi.lo: src/frv/$(am__dirstamp) \
- src/frv/$(DEPDIR)/$(am__dirstamp)
-src/moxie/$(am__dirstamp):
- @$(MKDIR_P) src/moxie
- @: > src/moxie/$(am__dirstamp)
-src/moxie/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/moxie/$(DEPDIR)
- @: > src/moxie/$(DEPDIR)/$(am__dirstamp)
-src/moxie/eabi.lo: src/moxie/$(am__dirstamp) \
- src/moxie/$(DEPDIR)/$(am__dirstamp)
-src/moxie/ffi.lo: src/moxie/$(am__dirstamp) \
- src/moxie/$(DEPDIR)/$(am__dirstamp)
-src/s390/$(am__dirstamp):
- @$(MKDIR_P) src/s390
- @: > src/s390/$(am__dirstamp)
-src/s390/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/s390/$(DEPDIR)
- @: > src/s390/$(DEPDIR)/$(am__dirstamp)
-src/s390/sysv.lo: src/s390/$(am__dirstamp) \
- src/s390/$(DEPDIR)/$(am__dirstamp)
-src/s390/ffi.lo: src/s390/$(am__dirstamp) \
- src/s390/$(DEPDIR)/$(am__dirstamp)
-src/x86/unix64.lo: src/x86/$(am__dirstamp) \
- src/x86/$(DEPDIR)/$(am__dirstamp)
-src/sh/$(am__dirstamp):
- @$(MKDIR_P) src/sh
- @: > src/sh/$(am__dirstamp)
-src/sh/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/sh/$(DEPDIR)
- @: > src/sh/$(DEPDIR)/$(am__dirstamp)
-src/sh/sysv.lo: src/sh/$(am__dirstamp) \
- src/sh/$(DEPDIR)/$(am__dirstamp)
-src/sh/ffi.lo: src/sh/$(am__dirstamp) src/sh/$(DEPDIR)/$(am__dirstamp)
-src/sh64/$(am__dirstamp):
- @$(MKDIR_P) src/sh64
- @: > src/sh64/$(am__dirstamp)
-src/sh64/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/sh64/$(DEPDIR)
- @: > src/sh64/$(DEPDIR)/$(am__dirstamp)
-src/sh64/sysv.lo: src/sh64/$(am__dirstamp) \
- src/sh64/$(DEPDIR)/$(am__dirstamp)
-src/sh64/ffi.lo: src/sh64/$(am__dirstamp) \
- src/sh64/$(DEPDIR)/$(am__dirstamp)
-src/pa/$(am__dirstamp):
- @$(MKDIR_P) src/pa
- @: > src/pa/$(am__dirstamp)
-src/pa/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/pa/$(DEPDIR)
- @: > src/pa/$(DEPDIR)/$(am__dirstamp)
-src/pa/linux.lo: src/pa/$(am__dirstamp) \
- src/pa/$(DEPDIR)/$(am__dirstamp)
-src/pa/ffi.lo: src/pa/$(am__dirstamp) src/pa/$(DEPDIR)/$(am__dirstamp)
-src/pa/hpux32.lo: src/pa/$(am__dirstamp) \
- src/pa/$(DEPDIR)/$(am__dirstamp)
-libffi.la: $(libffi_la_OBJECTS) $(libffi_la_DEPENDENCIES)
- $(libffi_la_LINK) -rpath $(libdir) $(libffi_la_OBJECTS) $(libffi_la_LIBADD) $(LIBS)
-libffi_convenience.la: $(libffi_convenience_la_OBJECTS) $(libffi_convenience_la_DEPENDENCIES)
- $(LINK) $(libffi_convenience_la_OBJECTS) $(libffi_convenience_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
- -rm -f src/alpha/ffi.$(OBJEXT)
- -rm -f src/alpha/ffi.lo
- -rm -f src/alpha/osf.$(OBJEXT)
- -rm -f src/alpha/osf.lo
- -rm -f src/arm/ffi.$(OBJEXT)
- -rm -f src/arm/ffi.lo
- -rm -f src/arm/sysv.$(OBJEXT)
- -rm -f src/arm/sysv.lo
- -rm -f src/arm/trampoline.$(OBJEXT)
- -rm -f src/arm/trampoline.lo
- -rm -f src/avr32/ffi.$(OBJEXT)
- -rm -f src/avr32/ffi.lo
- -rm -f src/avr32/sysv.$(OBJEXT)
- -rm -f src/avr32/sysv.lo
- -rm -f src/closures.$(OBJEXT)
- -rm -f src/closures.lo
- -rm -f src/cris/ffi.$(OBJEXT)
- -rm -f src/cris/ffi.lo
- -rm -f src/cris/sysv.$(OBJEXT)
- -rm -f src/cris/sysv.lo
- -rm -f src/debug.$(OBJEXT)
- -rm -f src/debug.lo
- -rm -f src/frv/eabi.$(OBJEXT)
- -rm -f src/frv/eabi.lo
- -rm -f src/frv/ffi.$(OBJEXT)
- -rm -f src/frv/ffi.lo
- -rm -f src/ia64/ffi.$(OBJEXT)
- -rm -f src/ia64/ffi.lo
- -rm -f src/ia64/unix.$(OBJEXT)
- -rm -f src/ia64/unix.lo
- -rm -f src/java_raw_api.$(OBJEXT)
- -rm -f src/java_raw_api.lo
- -rm -f src/m32r/ffi.$(OBJEXT)
- -rm -f src/m32r/ffi.lo
- -rm -f src/m32r/sysv.$(OBJEXT)
- -rm -f src/m32r/sysv.lo
- -rm -f src/m68k/ffi.$(OBJEXT)
- -rm -f src/m68k/ffi.lo
- -rm -f src/m68k/sysv.$(OBJEXT)
- -rm -f src/m68k/sysv.lo
- -rm -f src/mips/ffi.$(OBJEXT)
- -rm -f src/mips/ffi.lo
- -rm -f src/mips/n32.$(OBJEXT)
- -rm -f src/mips/n32.lo
- -rm -f src/mips/o32.$(OBJEXT)
- -rm -f src/mips/o32.lo
- -rm -f src/moxie/eabi.$(OBJEXT)
- -rm -f src/moxie/eabi.lo
- -rm -f src/moxie/ffi.$(OBJEXT)
- -rm -f src/moxie/ffi.lo
- -rm -f src/pa/ffi.$(OBJEXT)
- -rm -f src/pa/ffi.lo
- -rm -f src/pa/hpux32.$(OBJEXT)
- -rm -f src/pa/hpux32.lo
- -rm -f src/pa/linux.$(OBJEXT)
- -rm -f src/pa/linux.lo
- -rm -f src/powerpc/aix.$(OBJEXT)
- -rm -f src/powerpc/aix.lo
- -rm -f src/powerpc/aix_closure.$(OBJEXT)
- -rm -f src/powerpc/aix_closure.lo
- -rm -f src/powerpc/darwin.$(OBJEXT)
- -rm -f src/powerpc/darwin.lo
- -rm -f src/powerpc/darwin_closure.$(OBJEXT)
- -rm -f src/powerpc/darwin_closure.lo
- -rm -f src/powerpc/ffi.$(OBJEXT)
- -rm -f src/powerpc/ffi.lo
- -rm -f src/powerpc/ffi_darwin.$(OBJEXT)
- -rm -f src/powerpc/ffi_darwin.lo
- -rm -f src/powerpc/linux64.$(OBJEXT)
- -rm -f src/powerpc/linux64.lo
- -rm -f src/powerpc/linux64_closure.$(OBJEXT)
- -rm -f src/powerpc/linux64_closure.lo
- -rm -f src/powerpc/ppc_closure.$(OBJEXT)
- -rm -f src/powerpc/ppc_closure.lo
- -rm -f src/powerpc/sysv.$(OBJEXT)
- -rm -f src/powerpc/sysv.lo
- -rm -f src/prep_cif.$(OBJEXT)
- -rm -f src/prep_cif.lo
- -rm -f src/raw_api.$(OBJEXT)
- -rm -f src/raw_api.lo
- -rm -f src/s390/ffi.$(OBJEXT)
- -rm -f src/s390/ffi.lo
- -rm -f src/s390/sysv.$(OBJEXT)
- -rm -f src/s390/sysv.lo
- -rm -f src/sh/ffi.$(OBJEXT)
- -rm -f src/sh/ffi.lo
- -rm -f src/sh/sysv.$(OBJEXT)
- -rm -f src/sh/sysv.lo
- -rm -f src/sh64/ffi.$(OBJEXT)
- -rm -f src/sh64/ffi.lo
- -rm -f src/sh64/sysv.$(OBJEXT)
- -rm -f src/sh64/sysv.lo
- -rm -f src/sparc/ffi.$(OBJEXT)
- -rm -f src/sparc/ffi.lo
- -rm -f src/sparc/v8.$(OBJEXT)
- -rm -f src/sparc/v8.lo
- -rm -f src/sparc/v9.$(OBJEXT)
- -rm -f src/sparc/v9.lo
- -rm -f src/types.$(OBJEXT)
- -rm -f src/types.lo
- -rm -f src/x86/darwin.$(OBJEXT)
- -rm -f src/x86/darwin.lo
- -rm -f src/x86/darwin64.$(OBJEXT)
- -rm -f src/x86/darwin64.lo
- -rm -f src/x86/ffi.$(OBJEXT)
- -rm -f src/x86/ffi.lo
- -rm -f src/x86/ffi64.$(OBJEXT)
- -rm -f src/x86/ffi64.lo
- -rm -f src/x86/freebsd.$(OBJEXT)
- -rm -f src/x86/freebsd.lo
- -rm -f src/x86/sysv.$(OBJEXT)
- -rm -f src/x86/sysv.lo
- -rm -f src/x86/unix64.$(OBJEXT)
- -rm -f src/x86/unix64.lo
- -rm -f src/x86/win32.$(OBJEXT)
- -rm -f src/x86/win32.lo
- -rm -f src/x86/win64.$(OBJEXT)
- -rm -f src/x86/win64.lo
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/closures.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/debug.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/java_raw_api.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/prep_cif.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/raw_api.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/types.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/alpha/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/alpha/$(DEPDIR)/osf.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/trampoline.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/avr32/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/avr32/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/cris/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/cris/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/frv/$(DEPDIR)/eabi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/frv/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/ia64/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/ia64/$(DEPDIR)/unix.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/m32r/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/m32r/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/m68k/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/m68k/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/n32.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/o32.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/moxie/$(DEPDIR)/eabi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/moxie/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/hpux32.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/linux.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/aix.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/aix_closure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/darwin.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/darwin_closure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/ffi_darwin.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/linux64.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/linux64_closure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/ppc_closure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/s390/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/s390/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sh/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sh/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sh64/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sh64/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sparc/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sparc/$(DEPDIR)/v8.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sparc/$(DEPDIR)/v9.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/darwin.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/darwin64.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/ffi64.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/freebsd.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/unix64.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/win32.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/win64.Plo@am__quote@
-
-.S.o:
-@am__fastdepCCAS_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
-@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCCAS_FALSE@ $(CPPASCOMPILE) -c -o $@ $<
-
-.S.obj:
-@am__fastdepCCAS_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
-@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
-@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCCAS_FALSE@ $(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.S.lo:
-@am__fastdepCCAS_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
-@am__fastdepCCAS_TRUE@ $(LTCPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCCAS_FALSE@ $(LTCPPASCOMPILE) -c -o $@ $<
-
-.c.o:
-@am__fastdepCC_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
-@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
-@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
- -rm -rf src/.libs src/_libs
- -rm -rf src/alpha/.libs src/alpha/_libs
- -rm -rf src/arm/.libs src/arm/_libs
- -rm -rf src/avr32/.libs src/avr32/_libs
- -rm -rf src/cris/.libs src/cris/_libs
- -rm -rf src/frv/.libs src/frv/_libs
- -rm -rf src/ia64/.libs src/ia64/_libs
- -rm -rf src/m32r/.libs src/m32r/_libs
- -rm -rf src/m68k/.libs src/m68k/_libs
- -rm -rf src/mips/.libs src/mips/_libs
- -rm -rf src/moxie/.libs src/moxie/_libs
- -rm -rf src/pa/.libs src/pa/_libs
- -rm -rf src/powerpc/.libs src/powerpc/_libs
- -rm -rf src/s390/.libs src/s390/_libs
- -rm -rf src/sh/.libs src/sh/_libs
- -rm -rf src/sh64/.libs src/sh64/_libs
- -rm -rf src/sparc/.libs src/sparc/_libs
- -rm -rf src/x86/.libs src/x86/_libs
-
-distclean-libtool:
- -rm -f libtool config.lt
-doc/$(am__dirstamp):
- @$(MKDIR_P) doc
- @: > doc/$(am__dirstamp)
-
-$(srcdir)/doc/libffi.info: doc/libffi.texi $(srcdir)/doc/version.texi
- restore=: && backupdir="$(am__leading_dot)am$$$$" && \
- am__cwd=`pwd` && $(am__cd) $(srcdir) && \
- rm -rf $$backupdir && mkdir $$backupdir && \
- if ($(MAKEINFO) --version) >/dev/null 2>&1; then \
- for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \
- if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \
- done; \
- else :; fi && \
- cd "$$am__cwd"; \
- if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc \
- -o $@ $(srcdir)/doc/libffi.texi; \
- then \
- rc=0; \
- $(am__cd) $(srcdir); \
- else \
- rc=$$?; \
- $(am__cd) $(srcdir) && \
- $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
- fi; \
- rm -rf $$backupdir; exit $$rc
-
-doc/libffi.dvi: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
- TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
- MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \
- $(TEXI2DVI) -o $@ `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi
-
-doc/libffi.pdf: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
- TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
- MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \
- $(TEXI2PDF) -o $@ `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi
-
-doc/libffi.html: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
- rm -rf $(@:.html=.htp)
- if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc \
- -o $(@:.html=.htp) `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi; \
- then \
- rm -rf $@; \
- if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
- mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \
- else \
- if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
- rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \
- exit 1; \
- fi
-$(srcdir)/doc/version.texi: @MAINTAINER_MODE_TRUE@ $(srcdir)/doc/stamp-vti
-$(srcdir)/doc/stamp-vti: doc/libffi.texi $(top_srcdir)/configure
- test -f doc/$(am__dirstamp) || $(MAKE) $(AM_MAKEFLAGS) doc/$(am__dirstamp)
- @(dir=.; test -f ./doc/libffi.texi || dir=$(srcdir); \
- set `$(SHELL) $(srcdir)/mdate-sh $$dir/doc/libffi.texi`; \
- echo "@set UPDATED $$1 $$2 $$3"; \
- echo "@set UPDATED-MONTH $$2 $$3"; \
- echo "@set EDITION $(VERSION)"; \
- echo "@set VERSION $(VERSION)") > vti.tmp
- @cmp -s vti.tmp $(srcdir)/doc/version.texi \
- || (echo "Updating $(srcdir)/doc/version.texi"; \
- cp vti.tmp $(srcdir)/doc/version.texi)
- -@rm -f vti.tmp
- @cp $(srcdir)/doc/version.texi $@
-
-mostlyclean-vti:
- -rm -f vti.tmp
-
-maintainer-clean-vti:
-@MAINTAINER_MODE_TRUE@ -rm -f $(srcdir)/doc/stamp-vti $(srcdir)/doc/version.texi
-.dvi.ps:
- TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
- $(DVIPS) -o $@ $<
-
-uninstall-dvi-am:
- @$(NORMAL_UNINSTALL)
- @list='$(DVIS)'; test -n "$(dvidir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(dvidir)/$$f'"; \
- rm -f "$(DESTDIR)$(dvidir)/$$f"; \
- done
-
-uninstall-html-am:
- @$(NORMAL_UNINSTALL)
- @list='$(HTMLS)'; test -n "$(htmldir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " rm -rf '$(DESTDIR)$(htmldir)/$$f'"; \
- rm -rf "$(DESTDIR)$(htmldir)/$$f"; \
- done
-
-uninstall-info-am:
- @$(PRE_UNINSTALL)
- @if test -d '$(DESTDIR)$(infodir)' && \
- (install-info --version && \
- install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
- list='$(INFO_DEPS)'; \
- for file in $$list; do \
- relfile=`echo "$$file" | sed 's|^.*/||'`; \
- echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \
- if install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \
- then :; else test ! -f "$(DESTDIR)$(infodir)/$$relfile" || exit 1; fi; \
- done; \
- else :; fi
- @$(NORMAL_UNINSTALL)
- @list='$(INFO_DEPS)'; \
- for file in $$list; do \
- relfile=`echo "$$file" | sed 's|^.*/||'`; \
- relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \
- (if test -d "$(DESTDIR)$(infodir)" && cd "$(DESTDIR)$(infodir)"; then \
- echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \
- rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \
- else :; fi); \
- done
-
-uninstall-pdf-am:
- @$(NORMAL_UNINSTALL)
- @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(pdfdir)/$$f'"; \
- rm -f "$(DESTDIR)$(pdfdir)/$$f"; \
- done
-
-uninstall-ps-am:
- @$(NORMAL_UNINSTALL)
- @list='$(PSS)'; test -n "$(psdir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(psdir)/$$f'"; \
- rm -f "$(DESTDIR)$(psdir)/$$f"; \
- done
-
-dist-info: $(INFO_DEPS)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- list='$(INFO_DEPS)'; \
- for base in $$list; do \
- case $$base in \
- $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \
- esac; \
- if test -f $$base; then d=.; else d=$(srcdir); fi; \
- base_i=`echo "$$base" | sed 's|\.info$$||;s|$$|.i|'`; \
- for file in $$d/$$base $$d/$$base-[0-9] $$d/$$base-[0-9][0-9] $$d/$$base_i[0-9] $$d/$$base_i[0-9][0-9]; do \
- if test -f $$file; then \
- relfile=`expr "$$file" : "$$d/\(.*\)"`; \
- test -f "$(distdir)/$$relfile" || \
- cp -p $$file "$(distdir)/$$relfile"; \
- else :; fi; \
- done; \
- done
-
-mostlyclean-aminfo:
- -rm -rf libffi.aux libffi.cp libffi.cps libffi.fn libffi.ky libffi.log \
- libffi.pg libffi.tmp libffi.toc libffi.tp libffi.vr
-
-clean-aminfo:
- -test -z "doc/libffi.dvi doc/libffi.pdf doc/libffi.ps doc/libffi.html" \
- || rm -rf doc/libffi.dvi doc/libffi.pdf doc/libffi.ps doc/libffi.html
-
-maintainer-clean-aminfo:
- @list='$(INFO_DEPS)'; for i in $$list; do \
- i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \
- echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \
- rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \
- done
-install-pkgconfigDATA: $(pkgconfig_DATA)
- @$(NORMAL_INSTALL)
- test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)"
- @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- echo "$$d$$p"; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
- done
-
-uninstall-pkgconfigDATA:
- @$(NORMAL_UNINSTALL)
- @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
- test -n "$$files" || exit 0; \
- echo " ( cd '$(DESTDIR)$(pkgconfigdir)' && rm -f" $$files ")"; \
- cd "$(DESTDIR)$(pkgconfigdir)" && rm -f $$files
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) fficonfig.h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) fficonfig.h.in $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) fficonfig.h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) fficonfig.h.in $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- $(am__remove_distdir)
- test -d "$(distdir)" || mkdir "$(distdir)"
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d "$(distdir)/$$subdir" \
- || $(MKDIR_P) "$(distdir)/$$subdir" \
- || exit 1; \
- fi; \
- done
- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
- $(am__relativize); \
- new_distdir=$$reldir; \
- dir1=$$subdir; dir2="$(top_distdir)"; \
- $(am__relativize); \
- new_top_distdir=$$reldir; \
- echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
- echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
- ($(am__cd) $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$new_top_distdir" \
- distdir="$$new_distdir" \
- am__remove_distdir=: \
- am__skip_length_check=: \
- am__skip_mode_fix=: \
- distdir) \
- || exit 1; \
- fi; \
- done
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$(top_distdir)" distdir="$(distdir)" \
- dist-info
- -test -n "$(am__skip_mode_fix)" \
- || find "$(distdir)" -type d ! -perm -755 \
- -exec chmod u+rwx,go+rx {} \; -o \
- ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
- ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
- ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
- || chmod -R a+r "$(distdir)"
-dist-gzip: distdir
- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
- $(am__remove_distdir)
-
-dist-bzip2: distdir
- tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
- $(am__remove_distdir)
-
-dist-lzma: distdir
- tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
- $(am__remove_distdir)
-
-dist-xz: distdir
- tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
- $(am__remove_distdir)
-
-dist-tarZ: distdir
- tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
- $(am__remove_distdir)
-
-dist-shar: distdir
- shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
- $(am__remove_distdir)
-
-dist-zip: distdir
- -rm -f $(distdir).zip
- zip -rq $(distdir).zip $(distdir)
- $(am__remove_distdir)
-
-dist dist-all: distdir
- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
- $(am__remove_distdir)
-
-# This target untars the dist file and tries a VPATH configuration. Then
-# it guarantees that the distribution is self-contained by making another
-# tarfile.
-distcheck: dist
- case '$(DIST_ARCHIVES)' in \
- *.tar.gz*) \
- GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
- *.tar.bz2*) \
- bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
- *.tar.lzma*) \
- lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
- *.tar.xz*) \
- xz -dc $(distdir).tar.xz | $(am__untar) ;;\
- *.tar.Z*) \
- uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
- *.shar.gz*) \
- GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
- *.zip*) \
- unzip $(distdir).zip ;;\
- esac
- chmod -R a-w $(distdir); chmod a+w $(distdir)
- mkdir $(distdir)/_build
- mkdir $(distdir)/_inst
- chmod a-w $(distdir)
- test -d $(distdir)/_build || exit 0; \
- dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
- && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
- && am__cwd=`pwd` \
- && $(am__cd) $(distdir)/_build \
- && ../configure --srcdir=.. --prefix="$$dc_install_base" \
- $(DISTCHECK_CONFIGURE_FLAGS) \
- && $(MAKE) $(AM_MAKEFLAGS) \
- && $(MAKE) $(AM_MAKEFLAGS) dvi \
- && $(MAKE) $(AM_MAKEFLAGS) check \
- && $(MAKE) $(AM_MAKEFLAGS) install \
- && $(MAKE) $(AM_MAKEFLAGS) installcheck \
- && $(MAKE) $(AM_MAKEFLAGS) uninstall \
- && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
- distuninstallcheck \
- && chmod -R a-w "$$dc_install_base" \
- && ({ \
- (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
- distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
- } || { rm -rf "$$dc_destdir"; exit 1; }) \
- && rm -rf "$$dc_destdir" \
- && $(MAKE) $(AM_MAKEFLAGS) dist \
- && rm -rf $(DIST_ARCHIVES) \
- && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
- && cd "$$am__cwd" \
- || exit 1
- $(am__remove_distdir)
- @(echo "$(distdir) archives ready for distribution: "; \
- list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
- sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
-distuninstallcheck:
- @$(am__cd) '$(distuninstallcheck_dir)' \
- && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
- || { echo "ERROR: files left after uninstall:" ; \
- if test -n "$(DESTDIR)"; then \
- echo " (check DESTDIR support)"; \
- fi ; \
- $(distuninstallcheck_listfiles) ; \
- exit 1; } >&2
-distcleancheck: distclean
- @if test '$(srcdir)' = . ; then \
- echo "ERROR: distcleancheck can only run from a VPATH build" ; \
- exit 1 ; \
- fi
- @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
- || { echo "ERROR: files left in build directory after distclean:" ; \
- $(distcleancheck_listfiles) ; \
- exit 1; } >&2
-check-am: all-am
-check: check-recursive
-all-am: Makefile $(INFO_DEPS) $(LTLIBRARIES) $(DATA) fficonfig.h
-installdirs: installdirs-recursive
-installdirs-am:
- for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(infodir)" "$(DESTDIR)$(pkgconfigdir)"; do \
- test -z "$$dir" || $(MKDIR_P) "$$dir"; \
- done
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
- -rm -f doc/$(am__dirstamp)
- -rm -f src/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/$(am__dirstamp)
- -rm -f src/alpha/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/alpha/$(am__dirstamp)
- -rm -f src/arm/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/arm/$(am__dirstamp)
- -rm -f src/avr32/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/avr32/$(am__dirstamp)
- -rm -f src/cris/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/cris/$(am__dirstamp)
- -rm -f src/frv/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/frv/$(am__dirstamp)
- -rm -f src/ia64/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/ia64/$(am__dirstamp)
- -rm -f src/m32r/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/m32r/$(am__dirstamp)
- -rm -f src/m68k/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/m68k/$(am__dirstamp)
- -rm -f src/mips/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/mips/$(am__dirstamp)
- -rm -f src/moxie/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/moxie/$(am__dirstamp)
- -rm -f src/pa/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/pa/$(am__dirstamp)
- -rm -f src/powerpc/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/powerpc/$(am__dirstamp)
- -rm -f src/s390/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/s390/$(am__dirstamp)
- -rm -f src/sh/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/sh/$(am__dirstamp)
- -rm -f src/sh64/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/sh64/$(am__dirstamp)
- -rm -f src/sparc/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/sparc/$(am__dirstamp)
- -rm -f src/x86/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/x86/$(am__dirstamp)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-aminfo clean-generic clean-libLTLIBRARIES \
- clean-libtool clean-noinstLTLIBRARIES mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f $(am__CONFIG_DISTCLEAN_FILES)
- -rm -rf src/$(DEPDIR) src/alpha/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/x86/$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-hdr distclean-libtool distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am: $(DVIS)
-
-html: html-recursive
-
-html-am: $(HTMLS)
-
-info: info-recursive
-
-info-am: $(INFO_DEPS)
-
-install-data-am: install-info-am install-pkgconfigDATA
-
-install-dvi: install-dvi-recursive
-
-install-dvi-am: $(DVIS)
- @$(NORMAL_INSTALL)
- test -z "$(dvidir)" || $(MKDIR_P) "$(DESTDIR)$(dvidir)"
- @list='$(DVIS)'; test -n "$(dvidir)" || list=; \
- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- echo "$$d$$p"; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(dvidir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(dvidir)" || exit $$?; \
- done
-install-exec-am: install-libLTLIBRARIES
-
-install-html-am: $(HTMLS)
- @$(NORMAL_INSTALL)
- test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)"
- @list='$(HTMLS)'; list2=; test -n "$(htmldir)" || list=; \
- for p in $$list; do \
- if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \
- $(am__strip_dir) \
- if test -d "$$d$$p"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \
- $(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \
- echo " $(INSTALL_DATA) '$$d$$p'/* '$(DESTDIR)$(htmldir)/$$f'"; \
- $(INSTALL_DATA) "$$d$$p"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \
- else \
- list2="$$list2 $$d$$p"; \
- fi; \
- done; \
- test -z "$$list2" || { echo "$$list2" | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(htmldir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(htmldir)" || exit $$?; \
- done; }
-install-info: install-info-recursive
-
-install-info-am: $(INFO_DEPS)
- @$(NORMAL_INSTALL)
- test -z "$(infodir)" || $(MKDIR_P) "$(DESTDIR)$(infodir)"
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
- for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- esac; \
- if test -f $$file; then d=.; else d=$(srcdir); fi; \
- file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \
- for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \
- $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \
- if test -f $$ifile; then \
- echo "$$ifile"; \
- else : ; fi; \
- done; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(infodir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(infodir)" || exit $$?; done
- @$(POST_INSTALL)
- @if (install-info --version && \
- install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
- list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
- for file in $$list; do \
- relfile=`echo "$$file" | sed 's|^.*/||'`; \
- echo " install-info --info-dir='$(DESTDIR)$(infodir)' '$(DESTDIR)$(infodir)/$$relfile'";\
- install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$relfile" || :;\
- done; \
- else : ; fi
-install-man:
-
-install-pdf-am: $(PDFS)
- @$(NORMAL_INSTALL)
- test -z "$(pdfdir)" || $(MKDIR_P) "$(DESTDIR)$(pdfdir)"
- @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \
- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- echo "$$d$$p"; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pdfdir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(pdfdir)" || exit $$?; done
-install-ps: install-ps-recursive
-
-install-ps-am: $(PSS)
- @$(NORMAL_INSTALL)
- test -z "$(psdir)" || $(MKDIR_P) "$(DESTDIR)$(psdir)"
- @list='$(PSS)'; test -n "$(psdir)" || list=; \
- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- echo "$$d$$p"; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(psdir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(psdir)" || exit $$?; done
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f $(am__CONFIG_DISTCLEAN_FILES)
- -rm -rf $(top_srcdir)/autom4te.cache
- -rm -rf src/$(DEPDIR) src/alpha/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/x86/$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-aminfo \
- maintainer-clean-generic maintainer-clean-vti
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-aminfo mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool mostlyclean-vti
-
-pdf: pdf-recursive
-
-pdf-am: $(PDFS)
-
-ps: ps-recursive
-
-ps-am: $(PSS)
-
-uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \
- uninstall-libLTLIBRARIES uninstall-pdf-am \
- uninstall-pkgconfigDATA uninstall-ps-am
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
- ctags-recursive install-am install-strip tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
- all all-am am--refresh check check-am clean clean-aminfo \
- clean-generic clean-libLTLIBRARIES clean-libtool \
- clean-noinstLTLIBRARIES ctags ctags-recursive dist dist-all \
- dist-bzip2 dist-gzip dist-info dist-lzma dist-shar dist-tarZ \
- dist-xz dist-zip distcheck distclean distclean-compile \
- distclean-generic distclean-hdr distclean-libtool \
- distclean-tags distcleancheck distdir distuninstallcheck dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-dvi install-dvi-am \
- install-exec install-exec-am install-html install-html-am \
- install-info install-info-am install-libLTLIBRARIES \
- install-man install-pdf install-pdf-am install-pkgconfigDATA \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs installdirs-am maintainer-clean \
- maintainer-clean-aminfo maintainer-clean-generic \
- maintainer-clean-vti mostlyclean mostlyclean-aminfo \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- mostlyclean-vti pdf pdf-am ps ps-am tags tags-recursive \
- uninstall uninstall-am uninstall-dvi-am uninstall-html-am \
- uninstall-info-am uninstall-libLTLIBRARIES uninstall-pdf-am \
- uninstall-pkgconfigDATA uninstall-ps-am
-
- m4/ltversion.m4 build-ios.sh src/arm/gentramp.sh
-
-# No install-html or install-pdf support in automake yet
-.PHONY: install-html install-pdf
-install-html:
-install-pdf:
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/.pc/ungccify/configure.ac b/.pc/ungccify/configure.ac
deleted file mode 100644
index ee8bd10..0000000
--- a/.pc/ungccify/configure.ac
+++ /dev/null
@@ -1,491 +0,0 @@
-dnl Process this with autoconf to create configure
-
-AC_PREREQ(2.63)
-
-AC_INIT([libffi], [3.0.11-rc2], [http://github.com/atgreen/libffi/issues])
-AC_CONFIG_HEADERS([fficonfig.h])
-
-AC_CANONICAL_SYSTEM
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-AM_INIT_AUTOMAKE
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-# Also save and restore CFLAGS, since AC_PROG_CC will come up with
-# defaults of its own if none are provided.
-
-m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS])
-m4_define([_AC_ARG_VAR_PRECIOUS],[])
-save_CFLAGS=$CFLAGS
-AC_PROG_CC
-CFLAGS=$save_CFLAGS
-m4_undefine([_AC_ARG_VAR_PRECIOUS])
-m4_rename([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
-
-AC_SUBST(CFLAGS)
-
-AM_PROG_AS
-AM_PROG_CC_C_O
-AC_PROG_LIBTOOL
-AC_CONFIG_MACRO_DIR([m4])
-
-AM_MAINTAINER_MODE
-
-AC_CHECK_HEADERS(sys/mman.h)
-AC_CHECK_FUNCS(mmap)
-AC_FUNC_MMAP_BLACKLIST
-
-dnl The -no-testsuite modules omit the test subdir.
-AM_CONDITIONAL(TESTSUBDIR, test -d $srcdir/testsuite)
-
-TARGETDIR="unknown"
-case "$host" in
- alpha*-*-*)
- TARGET=ALPHA; TARGETDIR=alpha;
- # Support 128-bit long double, changeable via command-line switch.
- HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
- ;;
-
- arm*-*-*)
- TARGET=ARM; TARGETDIR=arm
- ;;
-
- amd64-*-freebsd* | amd64-*-openbsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- amd64-*-freebsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- avr32*-*-*)
- TARGET=AVR32; TARGETDIR=avr32
- ;;
-
- cris-*-*)
- TARGET=LIBFFI_CRIS; TARGETDIR=cris
- ;;
-
- frv-*-*)
- TARGET=FRV; TARGETDIR=frv
- ;;
-
- hppa*-*-linux* | parisc*-*-linux*)
- TARGET=PA_LINUX; TARGETDIR=pa
- ;;
- hppa*64-*-hpux*)
- TARGET=PA64_HPUX; TARGETDIR=pa
- ;;
- hppa*-*-hpux*)
- TARGET=PA_HPUX; TARGETDIR=pa
- ;;
-
- i?86-*-freebsd* | i?86-*-openbsd*)
- TARGET=X86_FREEBSD; TARGETDIR=x86
- ;;
- i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2* | i?86-*-interix*)
- TARGET=X86_WIN32; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
- i?86-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
- i?86-*-solaris2.1[[0-9]]*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
- i?86-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- ia64*-*-*)
- TARGET=IA64; TARGETDIR=ia64
- ;;
-
- m32r*-*-*)
- TARGET=M32R; TARGETDIR=m32r
- ;;
-
- m68k-*-*)
- TARGET=M68K; TARGETDIR=m68k
- ;;
-
- mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
- TARGET=MIPS; TARGETDIR=mips
- ;;
- mips*-*-linux*)
- # Support 128-bit long double for NewABI.
- HAVE_LONG_DOUBLE='defined(__mips64)'
- TARGET=MIPS; TARGETDIR=mips
- ;;
-
- moxie-*-*)
- TARGET=MOXIE; TARGETDIR=moxie
- ;;
-
- powerpc*-*-linux* | powerpc-*-sysv*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-beos*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-darwin* | powerpc64-*-darwin*)
- TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
- ;;
- powerpc-*-aix* | rs6000-*-aix*)
- TARGET=POWERPC_AIX; TARGETDIR=powerpc
- ;;
- powerpc-*-freebsd*)
- TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
- ;;
- powerpc64-*-freebsd*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc*-*-rtems*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
-
- s390-*-* | s390x-*-*)
- TARGET=S390; TARGETDIR=s390
- ;;
-
- sh-*-* | sh[[34]]*-*-*)
- TARGET=SH; TARGETDIR=sh
- ;;
- sh64-*-* | sh5*-*-*)
- TARGET=SH64; TARGETDIR=sh64
- ;;
-
- sparc*-*-*)
- TARGET=SPARC; TARGETDIR=sparc
- ;;
-
- x86_64-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
-
- x86_64-*-cygwin* | x86_64-*-mingw*)
- TARGET=X86_WIN64; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
-
- x86_64-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-esac
-
-AC_SUBST(AM_RUNTESTFLAGS)
-AC_SUBST(AM_LTLDFLAGS)
-
-if test $TARGETDIR = unknown; then
- AC_MSG_ERROR(["libffi has not been ported to $host."])
-fi
-
-AM_CONDITIONAL(MIPS, test x$TARGET = xMIPS)
-AM_CONDITIONAL(SPARC, test x$TARGET = xSPARC)
-AM_CONDITIONAL(X86, test x$TARGET = xX86)
-AM_CONDITIONAL(X86_FREEBSD, test x$TARGET = xX86_FREEBSD)
-AM_CONDITIONAL(X86_WIN32, test x$TARGET = xX86_WIN32)
-AM_CONDITIONAL(X86_WIN64, test x$TARGET = xX86_WIN64)
-AM_CONDITIONAL(X86_DARWIN, test x$TARGET = xX86_DARWIN)
-AM_CONDITIONAL(ALPHA, test x$TARGET = xALPHA)
-AM_CONDITIONAL(IA64, test x$TARGET = xIA64)
-AM_CONDITIONAL(M32R, test x$TARGET = xM32R)
-AM_CONDITIONAL(M68K, test x$TARGET = xM68K)
-AM_CONDITIONAL(MOXIE, test x$TARGET = xMOXIE)
-AM_CONDITIONAL(POWERPC, test x$TARGET = xPOWERPC)
-AM_CONDITIONAL(POWERPC_AIX, test x$TARGET = xPOWERPC_AIX)
-AM_CONDITIONAL(POWERPC_DARWIN, test x$TARGET = xPOWERPC_DARWIN)
-AM_CONDITIONAL(POWERPC_FREEBSD, test x$TARGET = xPOWERPC_FREEBSD)
-AM_CONDITIONAL(ARM, test x$TARGET = xARM)
-AM_CONDITIONAL(AVR32, test x$TARGET = xAVR32)
-AM_CONDITIONAL(LIBFFI_CRIS, test x$TARGET = xLIBFFI_CRIS)
-AM_CONDITIONAL(FRV, test x$TARGET = xFRV)
-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)
-AM_CONDITIONAL(PA_LINUX, test x$TARGET = xPA_LINUX)
-AM_CONDITIONAL(PA_HPUX, test x$TARGET = xPA_HPUX)
-AM_CONDITIONAL(PA64_HPUX, test x$TARGET = xPA64_HPUX)
-
-AC_HEADER_STDC
-AC_CHECK_FUNCS(memcpy)
-AC_FUNC_ALLOCA
-
-AC_CHECK_SIZEOF(double)
-AC_CHECK_SIZEOF(long double)
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
- HAVE_LONG_DOUBLE=0
- if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
- if test $ac_cv_sizeof_long_double != 0; then
- HAVE_LONG_DOUBLE=1
- AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the long double type and it is bigger than a double])
- fi
- fi
-fi
-AC_SUBST(HAVE_LONG_DOUBLE)
-
-AC_C_BIGENDIAN
-
-GCC_AS_CFI_PSEUDO_OP
-
-if test x$TARGET = xSPARC; then
- AC_CACHE_CHECK([assembler and linker support unaligned pc related relocs],
- libffi_cv_as_sparc_ua_pcrel, [
- save_CFLAGS="$CFLAGS"
- save_LDFLAGS="$LDFLAGS"
- CFLAGS="$CFLAGS -fpic"
- LDFLAGS="$LDFLAGS -shared"
- AC_TRY_LINK([asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");],,
- [libffi_cv_as_sparc_ua_pcrel=yes],
- [libffi_cv_as_sparc_ua_pcrel=no])
- CFLAGS="$save_CFLAGS"
- LDFLAGS="$save_LDFLAGS"])
- if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
- AC_DEFINE(HAVE_AS_SPARC_UA_PCREL, 1,
- [Define if your assembler and linker support unaligned PC relative relocs.])
- fi
-
- AC_CACHE_CHECK([assembler .register pseudo-op support],
- libffi_cv_as_register_pseudo_op, [
- libffi_cv_as_register_pseudo_op=unknown
- # Check if we have .register
- AC_TRY_COMPILE([asm (".register %g2, #scratch");],,
- [libffi_cv_as_register_pseudo_op=yes],
- [libffi_cv_as_register_pseudo_op=no])
- ])
- if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
- AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP, 1,
- [Define if your assembler supports .register.])
- fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
- AC_CACHE_CHECK([assembler supports pc related relocs],
- libffi_cv_as_x86_pcrel, [
- libffi_cv_as_x86_pcrel=no
- echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
- if $CC $CFLAGS -c conftest.s > /dev/null; then
- libffi_cv_as_x86_pcrel=yes
- fi
- ])
- if test "x$libffi_cv_as_x86_pcrel" = xyes; then
- AC_DEFINE(HAVE_AS_X86_PCREL, 1,
- [Define if your assembler supports PC relative relocs.])
- fi
-
- AC_CACHE_CHECK([assembler .ascii pseudo-op support],
- libffi_cv_as_ascii_pseudo_op, [
- libffi_cv_as_ascii_pseudo_op=unknown
- # Check if we have .ascii
- AC_TRY_COMPILE([asm (".ascii \\"string\\"");],,
- [libffi_cv_as_ascii_pseudo_op=yes],
- [libffi_cv_as_ascii_pseudo_op=no])
- ])
- if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
- AC_DEFINE(HAVE_AS_ASCII_PSEUDO_OP, 1,
- [Define if your assembler supports .ascii.])
- fi
-
- AC_CACHE_CHECK([assembler .string pseudo-op support],
- libffi_cv_as_string_pseudo_op, [
- libffi_cv_as_string_pseudo_op=unknown
- # Check if we have .string
- AC_TRY_COMPILE([asm (".string \\"string\\"");],,
- [libffi_cv_as_string_pseudo_op=yes],
- [libffi_cv_as_string_pseudo_op=no])
- ])
- if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
- AC_DEFINE(HAVE_AS_STRING_PSEUDO_OP, 1,
- [Define if your assembler supports .string.])
- fi
-fi
-
-if test x$TARGET = xX86_WIN64; then
- LT_SYS_SYMBOL_USCORE
- if test "x$sys_symbol_underscore" = xyes; then
- AC_DEFINE(SYMBOL_UNDERSCORE, 1, [Define if symbols are underscored.])
- fi
-fi
-
-
-FFI_EXEC_TRAMPOLINE_TABLE=0
-case "$target" in
- *arm*-apple-darwin*)
- FFI_EXEC_TRAMPOLINE_TABLE=1
- AC_DEFINE(FFI_EXEC_TRAMPOLINE_TABLE, 1,
- [Cannot use PROT_EXEC on this target, so, we revert to
- alternative means])
- ;;
- *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
- AC_DEFINE(FFI_MMAP_EXEC_WRIT, 1,
- [Cannot use malloc on this target, so, we revert to
- alternative means])
- ;;
-esac
-AM_CONDITIONAL(FFI_EXEC_TRAMPOLINE_TABLE, test x$FFI_EXEC_TRAMPOLINE_TABLE = x1)
-AC_SUBST(FFI_EXEC_TRAMPOLINE_TABLE)
-
-if test x$TARGET = xX86_64; then
- AC_CACHE_CHECK([assembler supports unwind section type],
- libffi_cv_as_x86_64_unwind_section_type, [
- libffi_cv_as_x86_64_unwind_section_type=yes
- echo '.section .eh_frame,"a",@unwind' > conftest.s
- if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
- libffi_cv_as_x86_64_unwind_section_type=no
- fi
- ])
- if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
- AC_DEFINE(HAVE_AS_X86_64_UNWIND_SECTION_TYPE, 1,
- [Define if your assembler supports unwind section type.])
- fi
-fi
-
-if test "x$GCC" = "xyes"; then
- AC_CACHE_CHECK([whether .eh_frame section should be read-only],
- libffi_cv_ro_eh_frame, [
- libffi_cv_ro_eh_frame=no
- echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
- if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
- if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- elif grep '.section.*eh_frame.*#alloc' conftest.c \
- | grep -v '#write' > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- fi
- fi
- rm -f conftest.*
- ])
- if test "x$libffi_cv_ro_eh_frame" = xyes; then
- AC_DEFINE(HAVE_RO_EH_FRAME, 1,
- [Define if .eh_frame sections should be read-only.])
- AC_DEFINE(EH_FRAME_FLAGS, "a",
- [Define to the flags needed for the .section .eh_frame directive. ])
- else
- AC_DEFINE(EH_FRAME_FLAGS, "aw",
- [Define to the flags needed for the .section .eh_frame directive. ])
- fi
-
- AC_CACHE_CHECK([for __attribute__((visibility("hidden")))],
- libffi_cv_hidden_visibility_attribute, [
- echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1 ; }' > conftest.c
- libffi_cv_hidden_visibility_attribute=no
- if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
- if grep '\.hidden.*foo' conftest.s >/dev/null; then
- libffi_cv_hidden_visibility_attribute=yes
- fi
- fi
- rm -f conftest.*
- ])
- if test $libffi_cv_hidden_visibility_attribute = yes; then
- AC_DEFINE(HAVE_HIDDEN_VISIBILITY_ATTRIBUTE, 1,
- [Define if __attribute__((visibility("hidden"))) is supported.])
- fi
-fi
-
-AH_BOTTOM([
-#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
-])
-
-AC_SUBST(TARGET)
-AC_SUBST(TARGETDIR)
-
-AC_SUBST(SHELL)
-
-AC_ARG_ENABLE(debug,
-[ --enable-debug debugging mode],
- if test "$enable_debug" = "yes"; then
- AC_DEFINE(FFI_DEBUG, 1, [Define this if you want extra debugging.])
- fi)
-AM_CONDITIONAL(FFI_DEBUG, test "$enable_debug" = "yes")
-
-AC_ARG_ENABLE(structs,
-[ --disable-structs omit code for struct support],
- if test "$enable_structs" = "no"; then
- AC_DEFINE(FFI_NO_STRUCTS, 1, [Define this is you do not want support for aggregate types.])
- fi)
-
-AC_ARG_ENABLE(raw-api,
-[ --disable-raw-api make the raw api unavailable],
- if test "$enable_raw_api" = "no"; then
- AC_DEFINE(FFI_NO_RAW_API, 1, [Define this is you do not want support for the raw API.])
- fi)
-
-AC_ARG_ENABLE(purify-safety,
-[ --enable-purify-safety purify-safe mode],
- if test "$enable_purify_safety" = "yes"; then
- AC_DEFINE(USING_PURIFY, 1, [Define this if you are using Purify and want to suppress spurious messages.])
- fi)
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- toolexecdir='$(exec_prefix)/$(target_alias)'
- toolexeclibdir='$(toolexecdir)/lib'
- else
- toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
- toolexeclibdir='$(libdir)'
- fi
- multi_os_directory=`$CC -print-multi-os-directory`
- case $multi_os_directory in
- .) ;; # Avoid trailing /.
- *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
- esac
- AC_SUBST(toolexecdir)
- AC_SUBST(toolexeclibdir)
-fi
-
-if test "${multilib}" = "yes"; then
- multilib_arg="--enable-multilib"
-else
- multilib_arg=
-fi
-
-AC_CONFIG_COMMANDS(include, [test -d include || mkdir include])
-AC_CONFIG_COMMANDS(src, [
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
-], [TARGETDIR="$TARGETDIR"])
-
-AC_CONFIG_LINKS(include/ffitarget.h:src/$TARGETDIR/ffitarget.h)
-
-AC_CONFIG_FILES(include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc)
-
-AC_OUTPUT
diff --git a/.pc/unlikely/.timestamp b/.pc/unlikely/.timestamp
deleted file mode 100644
index e69de29..0000000
--- a/.pc/unlikely/.timestamp
+++ /dev/null
diff --git a/.pc/unlikely/ChangeLog b/.pc/unlikely/ChangeLog
deleted file mode 100644
index c2973ab..0000000
--- a/.pc/unlikely/ChangeLog
+++ /dev/null
@@ -1,4739 +0,0 @@
-2012-02-10 Kai Tietz <ktietz@redhat.com>
-
- * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
- windows target.
- * configure: Regenerated.
-
-2012-02-08 Kai Tietz <ktietz@redhat.com>
-
- * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
- also FFI_THISCALL.
- * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
- (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
- (ffi_prep_closure_loc): Add FFI_THISCALL support.
- * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
- * src/x86/win32.S (ffi_closure_THISCALL): New closure code
- for thiscall-calling convention.
- * testsuite/libffi.call/closure_thiscall.c: New test.
-
-2012-01-28 Kai Tietz <ktietz@redhat.com>
-
- * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
- argument to prototype for specify calling-convention.
- (ffi_call): Add support for stdcall/thiscall convention.
- (ffi_prep_args): Likewise.
- (ffi_raw_call): Likewise.
- * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
- FFI_FASTCALL.
- * src/x86/win32.S (_ffi_call_win32): Add support for
- fastcall/thiscall calling-convention calls.
- * testsuite/libffi.call/fastthis1_win32.c: New test.
- * testsuite/libffi.call/fastthis2_win32.c: New test.
- * testsuite/libffi.call/fastthis3_win32.c: New test.
- * testsuite/libffi.call/strlen2_win32.c: New test.
- * testsuite/libffi.call/many2_win32.c: New test.
- * testsuite/libffi.call/struct1_win32.c: New test.
- * testsuite/libffi.call/struct2_win32.c: New test.
-
-2012-01-23 Andreas Schwab <schwab@linux-m68k.org>
-
- * src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
- mc68000. Test for __HAVE_68881__ in addition to __MC68881__.
-
-2012-01-19 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/48496
- * src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
-
-2012-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (i?86-*-*): Set TARGET to X86_64.
- * configure: Regenerate.
-
-2011-12-07 Andrew Pinski <apinski@cavium.com>
-
- PR libffi/50051
- * src/mips/n32.S: Add ".set mips4".
-
-2011-11-21 Andreas Tobler <andreast@fgznet.ch>
-
- * configure: Regenerate.
-
-2011-11-12 David Gilbert <david.gilbert@linaro.org>
-
- * doc/libffi.texi, include/ffi.h.in, include/ffi_common.h,
- man/Makefile.am, man/ffi.3, man/ffi_prep_cif.3,
- man/ffi_prep_cif_var.3, src/arm/ffi.c, src/arm/ffitarget.h,
- src/cris/ffi.c, src/prep_cif.c,
- testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/float_va.c: Many changes to support variadic
- function calls.
-
-2011-11-12 Kyle Moffett <Kyle.D.Moffett@boeing.com>
-
- * src/powerpc/ffi.c, src/powerpc/ffitarget.h,
- src/powerpc/ppc_closure.S, src/powerpc/sysv.S: Many changes for
- softfloat powerpc variants.
-
-2011-11-12 Petr Salinger <Petr.Salinger@seznam.cz>
-
- * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Fix kfreebsd support.
- * configure: Rebuilt.
-
-2011-11-12 Timothy Wall <twall@users.sf.net>
-
- * src/arm/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV): Max
- alignment of 4 for wince on ARM.
-
-2011-11-12 Kyle Moffett <Kyle.D.Moffett@boeing.com>
- Anthony Green <green@moxielogic.com>
-
- * src/ppc/sysv.S, src/ppc/ffi.c: Remove use of ppc string
- instructions (not available on some cores, like the PPC440).
-
-2011-11-12 Kimura Wataru <kimuraw@i.nifty.jp>
-
- * m4/ax_enable_builddir: Change from string comparison to numeric
- comparison for wc output.
- * configure.ac: Enable FFI_MMAP_EXEC_WRIT for darwin11 aka Mac OS
- X 10.7.
- * configure: Rebuilt.
-
-2011-11-12 Anthony Green <green@moxielogic.com>
-
- * Makefile.am (AM_CCASFLAGS): Add -g option to build assembly
- files with debug info.
- * Makefile.in: Rebuilt.
-
-2011-11-12 Jasper Lievisse Adriaanse <jasper@openbsd.org>
-
- * README: Update list of supported OpenBSD systems.
-
-2011-11-12 Anthony Green <green@moxielogic.com>
-
- * libtool-version: Update.
- * Makefile.am (nodist_libffi_la_SOURCES): Add src/debug.c if
- FFI_DEBUG.
- (libffi_la_SOURCES): Remove src/debug.c
- (EXTRA_DIST): Add src/debug.c
- * Makefile.in: Rebuilt.
- * README: Update for 3.0.11.
-
-2011-11-10 Richard Henderson <rth@redhat.com>
-
- * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
- * configure, aclocal.m4: Rebuild.
-
-2011-09-04 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/49594
- * src/powerpc/darwin_closure.S (stubs): Make the stub binding
- helper reference track the architecture pointer size.
-
-2011-08-25 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
- instructions.
- * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
-
-2011-07-11 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46660
- * testsuite/libffi.call/cls_double_va.c: xfail dg-output on
- mips-sgi-irix6*.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
- PRId8 instead of %hhu, %hhd.
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
- PRIu8): Define.
- [__sgi__] (PRId8, PRIu8): Define.
-
-2011-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
- Define.
- Use them to handle ELF vs. ECOFF differences.
- [__osf__] (_GLOBAL__F_ffi_call_osf): Define.
-
-2011-03-30 Timothy Wall <twall@users.sf.net>
-
- * src/powerpc/darwin.S: Fix unknown FDE encoding.
- * src/powerpc/darwin_closure.S: ditto.
-
-2011-02-25 Anthony Green <green@moxielogic.com>
-
- * src/powerpc/ffi.c (ffi_prep_closure_loc): Allow for more
- 32-bit ABIs.
-
-2011-02-15 Anthony Green <green@moxielogic.com>
-
- * m4/ax_cc_maxopt.m4: Don't -malign-double or use -ffast-math.
- * configure: Rebuilt.
-
-2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2011-02-13 Anthony Green <green@moxielogic.com>
-
- * include/ffi_common.h (UNLIKELY, LIKELY): Define.
- * src/x86/ffi64.c (UNLIKELY, LIKELY): Remove definition.
- * src/prep_cif.c (UNLIKELY, LIKELY): Remove definition.
-
- * src/prep_cif.c (initialize_aggregate): Convert assertion into
- FFI_BAD_TYPEDEF return. Initialize arg size and alignment to 0.
-
- * src/pa/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
- just return FFI_BAD_ABI when things are wrong.
- * src/arm/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/powerpc/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/mips/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/ia64/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/avr32/ffi.c (ffi_prep_closure_loc): Ditto.
-
-2011-02-11 Anthony Green <green@moxielogic.com>
-
- * src/sparc/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
- just return FFI_BAD_ABI when things are wrong.
-
-2011-02-09 Stuart Shelton <srcshelton@gmail.com>
-
- http://bugs.gentoo.org/show_bug.cgi?id=286911
- * src/mips/ffitarget.h: Clean up error messages.
- * src/java_raw_api.c (ffi_java_translate_args): Cast raw arg to
- ffi_raw*.
- * include/ffi.h.in: Add pragma for SGI compiler.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * configure.ac: Add powerpc64-*-darwin* support.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * README: Mention Interix.
-
-2011-02-09 Jonathan Callen <abcd@gentoo.org>
-
- * configure.ac: Add Interix to win32/cygwin/mingw case.
- * configure: Ditto.
- * src/closures.c: Treat Interix like Cygwin, instead of as a
- generic win32.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * testsuite/libffi.call/err_bad_typedef.c: Remove xfail.
- * testsuite/libffi.call/err_bad_abi.c: Remove xfail.
- * src/x86/ffi64.c (UNLIKELY, LIKELY): Define.
- (ffi_prep_closure_loc): Check for bad ABI.
- * src/prep_cif.c (UNLIKELY, LIKELY): Define.
- (initialize_aggregate): Check for bad types.
-
-2011-02-09 Landon Fuller <landonf@plausible.coop>
-
- * Makefile.am (EXTRA_DIST): Add build-ios.sh, src/arm/gentramp.sh,
- src/arm/trampoline.S.
- (nodist_libffi_la_SOURCES): Add src/arc/trampoline.S.
- * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Define.
- * src/arm/ffi.c (ffi_trampoline_table)
- (ffi_closure_trampoline_table_page, ffi_trampoline_table_entry)
- (FFI_TRAMPOLINE_CODELOC_CONFIG, FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET)
- (FFI_TRAMPOLINE_COUNT, ffi_trampoline_lock, ffi_trampoline_tables)
- (ffi_trampoline_table_alloc, ffi_closure_alloc, ffi_closure_free):
- Define for FFI_EXEC_TRAMPOLINE_TABLE case (iOS).
- (ffi_prep_closure_loc): Handl FFI_EXEC_TRAMPOLINE_TABLE case
- separately.
- * src/arm/sysv.S: Handle Apple iOS host.
- * src/closures.c: Handle FFI_EXEC_TRAMPOLINE_TABLE case.
- * build-ios.sh: New file.
- * fficonfig.h.in, configure, Makefile.in: Rebuilt.
- * README: Mention ARM iOS.
-
-2011-02-08 Oren Held <orenhe@il.ibm.com>
-
- * src/dlmalloc.c (_STRUCT_MALLINFO): Define in order to avoid
- redefinition of mallinfo on HP-UX.
-
-2011-02-08 Ginn Chen <ginn.chen@oracle.com>
-
- * src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
- aggregate return ABI. Flush cache.
- (ffi_prep_closure_loc): Flush cache.
-
-2011-02-11 Anthony Green <green@moxielogic.com>
-
- From Tom Honermann <tom.honermann@oracle.com>:
- * src/powerpc/aix.S (ffi_call_AIX): Support for xlc toolchain on
- AIX. Declare .ffi_prep_args. Insert nops after branch
- instructions so that the AIX linker can insert TOC reload
- instructions.
- * src/powerpc/aix_closure.S: Declare .ffi_closure_helper_DARWIN.
-
-2011-02-08 Ed <ed@kdtc.net>
-
- * src/powerpc/asm.h: Fix grammar nit in comment.
-
-2011-02-08 Uli Link <ul.mcamafia@linkitup.de>
-
- * include/ffi.h.in (FFI_64_BIT_MAX): Define and use.
-
-2011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46661
- * testsuite/libffi.call/cls_pointer.c (main): Cast void * to
- uintptr_t first.
- * testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
-
-2011-02-08 Rafael Avila de Espindola <respindola@mozilla.com>
-
- * configure.ac: Fix x86 test for pc related relocs.
- * configure: Rebuilt.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
- Handle case when CPU variant does not have long double support.
- * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
- and cores with soft floating point.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * configure.ac: Add mips*-*-rtems* support.
- * configure: Regenerate.
- * src/mips/ffitarget.h: Ensure needed constants are available
- for targets which do not have sgidefs.h.
-
-2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR target/40125
- * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
- * configure: Regenerate.
-
-2010-12-18 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/29152
- PR libffi/42378
- * src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
- (FFI_TRAMPOLINE_SIZE): Update for Darwin64.
- * src/powerpc/darwin.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
- backslashes.
- (libffi_cv_as_string_pseudo_op): Likewise.
- * configure: Regenerate.
-
-2010-12-03 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
- (ffi_closure_VFP): Same.
- (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
- directive.
-
-2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
- (PRIuPTR): Define.
-
-2010-11-29 Richard Henderson <rth@redhat.com>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
- (.eh_frame): Use FDE_ENCODING.
- (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
-
-2010-11-22 Jacek Caban <jacek@codeweavers.com>
-
- * configure.ac: Check for symbol underscores on mingw-w64.
- * configure: Rebuilt.
- * src/x86/win64.S: Correctly access extern symbols in respect to
- underscores.
-
-2010-11-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp: Rename ...
- * testsuite/lib/libffi.exp: ... to this.
- * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
- * libffi/testsuite/libffi.special/special.exp: Likewise.
-
-2010-10-28 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
- code, new parameter, and return value. Update comments.
- (ffi_prep_cif_machdep): Add case for VFP struct return values. Add
- call to layout_vfp_args().
- (ffi_call_SYSV): Update declaration.
- (ffi_call_VFP): New declaration.
- (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
- when ABI is FFI_VFP.
- (ffi_closure_VFP): New declaration.
- (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
- ffi_prep_incoming_args_SYSV().
- (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
- case handling.
- (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
- construction under VFP hard-float.
- (rec_vfp_type_p): New function.
- (vfp_type_p): Same.
- (place_vfp_arg): Same.
- (layout_vfp_args): Same.
- * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
- based on __ARM_PCS_VFP.
- (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
- fields.
- (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
- (FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
- * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
- direct call. Move function pointer load upwards.
- (ffi_call_VFP): New function.
- (ffi_closure_VFP): Same.
-
- * testsuite/lib/libffi-dg.exp (check-flags): New function.
- (dg-skip-if): New function.
- * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
- and compiler options include -mfloat-abi=hard.
- * testsuite/libffi.call/cls_longdouble_va.c: Same.
-
-2010-10-01 Jakub Jelinek <jakub@redhat.com>
-
- PR libffi/45677
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
- a multiple of 8.
- * testsuite/libffi.call/many2.c: New test.
-
-2010-08-20 Mark Wielaard <mjw@redhat.com>
-
- * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
- returns NULL.
-
-2010-08-09 Andreas Tobler <andreast@fgznet.ch>
-
- * configure.ac: Add target powerpc64-*-freebsd*.
- * configure: Regenerate.
- * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
- -mlong-double-128 only to linux targets.
- * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
- * testsuite/libffi.call/cls_longdouble.c: Likewise.
- * testsuite/libffi.call/huge_struct.c: Likewise.
-
-2010-08-05 Dan Witte <dwitte@mozilla.com>
-
- * Makefile.am: Pass FFI_DEBUG define to msvcc.sh for linking to the
- debug CRT when --enable-debug is given.
- * configure.ac: Define it.
- * msvcc.sh: Translate -g and -DFFI_DEBUG appropriately.
-
-2010-08-04 Dan Witte <dwitte@mozilla.com>
-
- * src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64
- platforms.
- * src/x86/ffi.c: Remove redundant ifdef checks.
- * src/prep_cif.c: Push stack space computation into src/x86/ffi.c
- for X86_ANY so return value space doesn't get added twice.
-
-2010-08-03 Neil Rashbrooke <neil@parkwaycc.co.uk>
-
- * msvcc.sh: Don't pass -safeseh to ml64 because behavior is buggy.
-
-2010-07-22 Dan Witte <dwitte@mozilla.com>
-
- * src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
- * src/prep_cif.c: Fix ABI assertion.
- * src/cris/ffi.c: Ditto.
-
-2010-07-10 Evan Phoenix <evan@fallingsnow.net>
-
- * src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
-
-2010-07-07 Dan Horák <dan@danny.cz>
-
- * include/ffi.h.in: Protect #define with #ifndef.
- * src/powerpc/ffitarget.h: Ditto.
- * src/s390/ffitarget.h: Ditto.
- * src/sparc/ffitarget.h: Ditto.
-
-2010-07-07 Neil Roberts <neil@linux.intel.com>
-
- * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
- 16-bytes.
-
-2010-07-02 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
- * Makefile.in: Regenerated.
-
-2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
- output, too.
- (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
- (libffi_cv_as_string_pseudo_op): Check for .string.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
-
-2010-05-11 Dan Witte <dwitte@mozilla.com>
-
- * doc/libffi.tex: Document previous change.
-
-2010-05-11 Makoto Kato <m_kato@ga2.so-net.ne.jp>
-
- * src/x86/ffi.c (ffi_call): Don't copy structs passed by value.
-
-2010-05-05 Michael Kohler <michaelkohler@live.com>
-
- * src/dlmalloc.c (dlfree): Fix spelling.
- * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
- * configure.ac: Ditto.
- * configure: Rebuilt.
-
-2010-04-13 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Build with -W3 instead of -Wall.
- * src/powerpc/ffi_darwin.c: Remove build warnings.
- * src/x86/ffi.c: Ditto.
- * src/x86/ffitarget.h: Ditto.
-
-2010-04-12 Dan Witte <dwitte@mozilla.com>
- Walter Meinl <wuno@lsvw.de>
-
- * configure.ac: Add OS/2 support.
- * configure: Rebuilt.
- * src/closures.c: Ditto.
- * src/dlmalloc.c: Ditto.
- * src/x86/win32.S: Ditto.
-
-2010-04-07 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
-
-2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2010-03-30 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Disable build warnings.
- * README (tested): Clarify windows build procedure.
-
-2010-03-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * libffi/src/x86/unix64.S (.eh_frame)
- [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
-
-2010-03-14 Matthias Klose <doko@ubuntu.com>
-
- * src/x86/ffi64.c: Fix typo in comment.
- * src/x86/ffi.c: Use /* ... */ comment style.
-
-2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/libffi.texi (The Closure API): Fix typo.
- * doc/libffi.info: Remove.
-
-2010-02-15 Matthias Klose <doko@ubuntu.com>
-
- * src/arm/sysv.S (__ARM_ARCH__): Define for processor
- __ARM_ARCH_7EM__.
-
-2010-01-15 Anthony Green <green@redhat.com>
-
- * README: Add notes on building with Microsoft Visual C++.
-
-2010-01-15 Daniel Witte <dwitte@mozilla.com>
-
- * msvcc.sh: New file.
-
- * src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
- * src/x86/ffi.c: Tweak function declaration and remove excess
- parens.
- * include/ffi.h.in: Add __declspec(align(8)) to typedef struct
- ffi_closure.
-
- * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
- function ffi_call_win32 on X86_WIN32.
- * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
- (ffi_call_STDCALL): Remove.
-
- * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
- to ffi_prep_cif_machdep for x86.
- * src/x86/ffi.c (ffi_prep_cif_machdep): To here.
-
-2010-01-15 Oliver Kiddle <okiddle@yahoo.co.uk>
-
- * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
- Sun Studio compiler compatibility.
-
-2010-01-12 Conrad Irwin <conrad.irwin@gmail.com>
-
- * doc/libffi.texi: Add closure example.
-
-2010-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40701
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
- PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
- * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
- alpha*-dec-osf*.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/return_ll1.c: Likewise.
- * testsuite/libffi.call/stret_medium2.c: Likewise.
- * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
- MAP_FAILED to char *.
-
-2010-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
-
-2009-12-31 Anthony Green <green@redhat.com>
-
- * README: Update for libffi 3.0.9.
-
-2009-12-27 Matthias Klose <doko@ubuntu.com>
-
- * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
- appropriate.
- * configure: Rebuilt.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
- avr32*-*-*.
- * testsuite/libffi.call/cls_double_va.c: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
- and inttypes.h.
- * testsuite/libffi.special/unwindtest.cc: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-openbsd*.
- * configure: Rebuilt.
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
- openbsd programs with -lpthread.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
- mips*-*-* and arm*-*-*.
- * testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c,
- testsuite/libffi.call/stret_medium2.c,
- testsuite/libffi.call/stret_medium.c,
- testsuite/libffi.call/stret_large.c,
- testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
-
-2009-12-31 Kay Tietz <ktietz70@googlemail.com>
-
- * testsuite/libffi.call/ffitest.h,
- testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
- definitions.
-
-2009-12-31 Carlo Bramini <carlo.bramix@libero.it>
-
- * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
- * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
-
-2009-12-31 Anthony Green <green@redhat.com>
- Blake Chaffin.
-
- * testsuite/libffi.call/huge_struct.c: New test case from Blake
- Chaffin @ Apple.
-
-2009-12-28 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
- local variables.
- (aix_adjust_aggregate_sizes): New function.
- (ffi_prep_cif_machdep): Call it.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
- * configure: Regenerate.
- * fficonfig.h.in: Likewise.
- * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
- Solaris/x86.
-
-2009-12-26 Andreas Schwab <schwab@linux-m68k.org>
-
- * 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.
-
-2009-12-25 Matthias Klose <doko@ubuntu.com>
-
- * man/ffi_call.3: Fix #include in examples.
- * doc/libffi.texi: Add dircategory.
-
-2009-12-25 Frank Everdij <f.p.x.everdij@tudelft.nl>
-
- * include/ffi.h.in: Placed '__GNUC__' ifdef around
- '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
- IRIX MIPSPro c99.
- * include/ffi_common.h: Added '__sgi' define to non
- '__attribute__((__mode__()))' integer typedefs.
- * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
- ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
- (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
- FFI_LONGDOUBLE support and alignment(N32 only).
- * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
- fixed non '__attribute__((__mode__()))' integer typedefs.
- * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
- since they are Linux/GNU Assembler specific.
-
-2009-12-25 Bradley Smith <brad@brad-smith.co.uk>
-
- * configure.ac, Makefile.am, src/avr32/ffi.c,
- src/avr32/ffitarget.h,
- src/avr32/sysv.S: Add AVR32 port.
- * configure, Makefile.in: Rebuilt.
-
-2009-12-21 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
- * configure: Regenerate.
-
-2009-12-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
- type on HP-UX.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
- double' arguments.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40700
- * src/closures.c [X86_64 && __sun__ && __svr4__]
- (FFI_MMAP_EXEC_WRIT): Define.
-
-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.
-
-2009-12-07 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
- typo.
-
-2009-12-05 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
- code.
- * src/powerpc/aix_closure.S: Same.
-
-2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
- linux64_closure.S.
-
-2009-12-04 Uros Bizjak <ubizjak@gmail.com>
-
- 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.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
- pfr for long double split between fpr13 and stack.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
- fparg_count twice for long double.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- PR libffi/42243
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03 Uros Bizjak <ubizjak@gmail.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
- Remove xfails for x86 linux targets.
-
-2009-12-02 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
- case.
-
-2009-12-01 David Edelsohn <edelsohn@gnu.org>
-
- * 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.
-
-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.
-
-2009-11-02 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/41908
- * testsuite/libffi.call/testclosure.c: New test.
-
-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.
-
-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.
-
-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.
-
-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.
-
-2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.am (install-html, install-pdf): Remove.
- * Makefile.in: Regenerate.
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2011-08-22 Jasper Lievisse Adriaanse <jasper@openbsd.org>
-
- * configure.ac: Add OpenBSD/hppa and OpenBSD/powerpc support.
- * configure: Rebuilt.
-
-2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24 Dave Korn <dave.korn.cygwin@gmail.com>
-
- 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.
-
-2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
-
- 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.
-
-2009-07-01 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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 "".)
-
-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.
-
-2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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.
-
-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.
-
-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.
-
-2009-06-16 Andrew Haley <aph@redhat.com>
-
- * configure.ac (TARGETDIR): Add missing blank lines.
- * configure: Regenerate.
-
-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.
-
-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.
-
-2009-06-12 Andrew Haley <aph@redhat.com>
-
- * Makefile.am: Remove info_TEXINFOS.
-
-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-11 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * 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.
-
-2009-06-09 Andrew Haley <aph@redhat.com>
-
- * src/x86/freebsd.S: Add missing file.
-
-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).
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * README: Import from libffi 3.0.8.
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Add xfails.
- * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
- * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
- * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
- * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
- * testsuite/libffi.call/stret_medium.c: Likewise.
- * testsuite/libffi.call/stret_large2.c: Likewise.
- * testsuite/libffi.call/stret_large.c: Likewise.
-
-2008-12-26 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_align_longdouble.c,
- testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
- failures on x86_64 cygwin/mingw.
-
-2008-12-22 Timothy Wall <twall@users.sf.net>
-
- * 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_loc_fn0.c,
- testsuite/libffi.call/closure_stdcall.c,
- testsuite/libffi.call/cls_align_pointer.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
- pointer to integer (intptr_t).
- * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_dbls_struct.c,
- testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c,
- testsuite/libffi.call/err_bad_abi.c: Clean up failures from
- compiler warnings.
-
-2008-03-04 Anthony Green <green@redhat.com>
- Blake Chaffin
- hos@tamanegi.org
-
- * testsuite/libffi.call/cls_align_longdouble_split2.c
- testsuite/libffi.call/cls_align_longdouble_split.c
- testsuite/libffi.call/cls_dbls_struct.c
- testsuite/libffi.call/cls_double_va.c
- testsuite/libffi.call/cls_longdouble.c
- testsuite/libffi.call/cls_longdouble_va.c
- testsuite/libffi.call/cls_pointer.c
- testsuite/libffi.call/cls_pointer_stack.c
- testsuite/libffi.call/err_bad_abi.c
- testsuite/libffi.call/err_bad_typedef.c
- testsuite/libffi.call/stret_large2.c
- testsuite/libffi.call/stret_large.c
- testsuite/libffi.call/stret_medium2.c
- testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
- libffi.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
- stdcall changes.
-
-2008-02-26 Anthony Green <green@redhat.com>
- Thomas Heller <theller@ctypes.org>
-
- * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
- comment.
-
-2008-02-03 Timothy Wall <twall@users.sf.net>
-
- * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
- offset based on code pointer, not data pointer.
-
-2008-01-31 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
- closures.
- * src/x86/ffitarget.h: Increase size of trampoline for stdcall
- closures.
- * src/x86/win32.S: Add assembly for stdcall closure.
- * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Change void (*)() to void (*)(void).
- * src/x86/ffi.c: Likewise.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ppc_closure.S: Insert licence header.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/m68k/sysv.S: Likewise.
-
- * src/sh64/ffi.c: Change void (*)() to void (*)(void).
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/m32r/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi64.c: Likewise.
- * src/alpha/ffi.c: Likewise.
- * src/alpha/osf.S: Likewise.
- * src/frv/ffi.c: Likewise.
- * src/s390/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/pa/hpux32.S: Likewise.
- * src/ia64/unix.S: Likewise.
- * src/ia64/ffi.c: Likewise.
- * src/sparc/ffi.c: Likewise.
- * src/mips/ffi.c: Likewise.
- * src/sh/ffi.c: Likewise.
-
-2008-02-15 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
- Define (conditionally), and use it to include cachectl.h.
- (ffi_prep_closure_loc): Fix cache flushing.
- * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- include/ffi.h.in,
- src/arm/ffitarget.h,
- src/arm/ffi.c,
- src/arm/sysv.S,
- src/powerpc/ffitarget.h,
- src/closures.c,
- src/sh64/ffitarget.h,
- src/sh64/ffi.c,
- src/sh64/sysv.S,
- src/types.c,
- src/x86/ffi64.c,
- src/x86/ffitarget.h,
- src/x86/win32.S,
- src/x86/darwin.S,
- src/x86/ffi.c,
- src/x86/sysv.S,
- src/x86/unix64.S,
- src/alpha/ffitarget.h,
- src/alpha/ffi.c,
- src/alpha/osf.S,
- src/m68k/ffitarget.h,
- src/frv/ffitarget.h,
- src/frv/ffi.c,
- src/s390/ffitarget.h,
- src/s390/sysv.S,
- src/cris/ffitarget.h,
- src/pa/linux.S,
- src/pa/ffitarget.h,
- src/pa/ffi.c,
- src/raw_api.c,
- src/ia64/ffitarget.h,
- src/ia64/unix.S,
- src/ia64/ffi.c,
- src/ia64/ia64_flags.h,
- src/java_raw_api.c,
- src/debug.c,
- src/sparc/v9.S,
- src/sparc/ffitarget.h,
- src/sparc/ffi.c,
- src/sparc/v8.S,
- src/mips/ffitarget.h,
- src/mips/n32.S,
- src/mips/o32.S,
- src/mips/ffi.c,
- src/prep_cif.c,
- src/sh/ffitarget.h,
- src/sh/ffi.c,
- src/sh/sysv.S: Update license text.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * src/x86/win32.S (_ffi_closure_STDCALL): New function.
- (.eh_frame): Add FDE for it.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * configure.ac: Also check if assembler supports pc-relative
- relocs on X86_WIN32 targets.
- * configure: Regenerate.
- * src/x86/win32.S (ffi_prep_args): Declare extern, not global.
- (_ffi_call_SYSV): Add missing function type symbol .def and
- add EH markup labels.
- (_ffi_call_STDCALL): Likewise.
- (_ffi_closure_SYSV): Likewise.
- (_ffi_closure_raw_SYSV): Likewise.
- (.eh_frame): Add hand-crafted EH data.
-
-2009-04-09 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
- version 3 of the GNU General Public License and to point readers
- at the COPYING3 file and the FSF's license web page.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-12-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libffi/26048
- * configure.ac (HAVE_AS_X86_PCREL): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
- RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
- RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
- * src/x86/unix64.S (.Lstore_table): Move to .text section.
- (.Lload_table): Likewise.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
- signed/unsigned int8/16 return values.
- * src/sparc/v8.S (ffi_call_v8): Likewise.
- (ffi_closure_v8): Likewise.
-
-2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
- Steve Ellcey <sje@cup.hp.com>
-
- * configure: Regenerate for new libtool.
- * Makefile.in: Ditto.
- * include/Makefile.in: Ditto.
- * aclocal.m4: Ditto.
-
-2008-08-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
- FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
- Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
- Adjust copyright notice.
- * src/powerpc/ffi.c: Add two new flags to indicate if we have one
- register or two register to use for FFI_SYSV structs.
- (ffi_prep_cif_machdep): Pass the right register flag introduced above.
- (ffi_closure_helper_SYSV): Fix the return type for
- FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
- Adjust copyright notice.
-
-2008-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
- int.
-
-2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2008-06-07 Joseph Myers <joseph@codesourcery.com>
-
- * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
- powerpc-*-beos*): Remove.
- * configure: Regenerate.
-
-2008-05-09 Julian Brown <julian@codesourcery.com>
-
- * Makefile.am (LTLDFLAGS): New.
- (libffi_la_LDFLAGS): Use above.
- * Makefile.in: Regenerate.
-
-2008-04-18 Paolo Bonzini <bonzini@gnu.org>
-
- PR bootstrap/35457
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2008-03-26 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add .note.GNU-stack on Linux.
- * src/sh64/sysv.S: Likewise.
-
-2008-03-26 Daniel Jacobowitz <dan@debian.org>
-
- * src/arm/sysv.S: Fix ARM comment marker.
-
-2008-03-26 Jakub Jelinek <jakub@redhat.com>
-
- * src/alpha/osf.S: Add .note.GNU-stack on Linux.
- * src/s390/sysv.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
- * src/x86/unix64.S: Likewise.
- * src/x86/sysv.S: Likewise.
- * src/sparc/v8.S: Likewise.
- * src/sparc/v9.S: Likewise.
- * src/m68k/sysv.S: Likewise.
- * src/arm/sysv.S: Likewise.
-
-2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * aclocal.m4: Regenerate.
- * configure: Likewise.
- * Makefile.in: Likewise.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2008-02-12 Bjoern Koenig <bkoenig@alpha-tierchen.de>
- Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-freebsd* target.
- * configure: Regenerate.
-
-2008-01-30 H.J. Lu <hongjiu.lu@intel.com>
-
- PR libffi/34612
- * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
- returning struct.
-
- * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
- tests.
-
-2008-01-24 David Edelsohn <edelsohn@gnu.org>
-
- * configure: Regenerate.
-
-2008-01-06 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
-
-2008-01-05 Andreas Tobler <a.tobler@schweiz.org>
-
- PR testsuite/32843
- * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
- signed/unsigned int8/16 for X86_DARWIN.
- Updated copyright info.
- Handle one and two byte structs with special cif->flags.
- * src/x86/ffitarget.h: Add special types for one and two byte structs.
- Updated copyright info.
- * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
- sysv.S
- Remove code to pop args from the stack after call.
- Special-case signed/unsigned for int8/16, one and two byte structs.
- (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
- FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
- FFI_TYPE_SINT32.
- Updated copyright info.
-
-2007-12-08 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_call_N32): Replace dadd with ADDU, dsub with
- SUBU, add with ADDU and use smaller code sequences.
-
-2007-12-07 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
- type.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
- defined.
- (ffi_java_raw): New typedef.
- (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
- ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
- ffi_java_raw.
- (ffi_java_raw_closure) : Same.
- (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
- parameter types.
- * src/java_raw_api.c (ffi_java_raw_size): Replace FFI_SIZEOF_ARG with
- FFI_SIZEOF_JAVA_RAW.
- (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
- Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
- sizeof(ffi_java_raw) for alignment calculations.
- (ffi_java_ptrarray_to_raw): Same.
- (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
- if FFI_SIZEOF_JAVA_RAW == 4.
- (ffi_java_raw_to_rvalue): Same.
- (ffi_java_raw_call): Change type of raw to ffi_java_raw.
- (ffi_java_translate_args): Same.
- (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
- parameter types.
- * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
- pointer values.
-
-2007-12-01 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/31937
- * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
- Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
- * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
- set the NUM_FPR_ARG_REGISTERS according to.
- Add support for potential soft-float support under hard-float
- architecture.
- (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
- FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
- to the FFI_LINUX_SOFT_FLOAT ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Make sure not to store float/double
- on archs where __NO_FPRS__ is true.
- Add FFI_TYPE_UINT128 support.
- * src/powerpc/sysv.S: Add support for soft-float long-double-128.
- Adjust copyright notice.
-
-2007-11-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
- * include/ffi_common.h: ... here.
- Update copyright.
-
-2007-11-17 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
- * testsuite/libffi.call/return_ldl.c: New test.
-
-2007-09-04 <aph@redhat.com>
-
- * src/arm/sysv.S (UNWIND): New.
- (Whole file): Conditionally compile unwinder directives.
- * src/arm/sysv.S: Add unwinder directives.
-
- * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
- Only treat r0 as a struct address if we're actually returning a
- struct by address.
- Only copy the bytes that are actually within a struct.
- (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
- is returned in r0, not passed by address.
- (ffi_call): Allocate a word-sized temporary for the case where
- a composite is returned in r0.
- (ffi_prep_incoming_args_SYSV): Align as necessary.
-
-2007-08-05 Steven Newbury <s_j_newbury@yahoo.co.uk>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
- directly using the sys_cacheflush syscall.
-
-2007-07-27 Andrew Haley <aph@redhat.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
-
-2007-09-03 Maciej W. Rozycki <macro@linux-mips.org>
-
- * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure: Likewise.
-
-2007-08-24 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/return_sl.c: New test.
-
-2007-08-10 David Daney <ddaney@avtrex.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/nested_struct5.c,
- testsuite/libffi.call/cls_double.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/nested_struct.c,
- testsuite/libffi.call/cls_2byte.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_sint16.c,
- testsuite/libffi.call/cls_align_uint32.c,
- testsuite/libffi.call/cls_20byte.c,
- testsuite/libffi.call/cls_float.c,
- testsuite/libffi.call/nested_struct2.c,
- testsuite/libffi.call/cls_5_1_byte.c,
- testsuite/libffi.call/nested_struct4.c,
- testsuite/libffi.call/cls_24byte.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: Remove xfail for mips64*-*-*.
-
-2007-08-10 David Daney <ddaney@avtrex.com>
-
- 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.
-
-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*.
- * 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.
-
-2006-12-13 Andreas Tobler <a.tobler@schweiz.org>
-
- * aclocal.m4: Regenerate with aclocal -I .. as written in the
- Makefile.am.
-
-2006-10-31 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
- (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
- Darwin.
- * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
- * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10 Paolo Bonzini <bonzini@gnu.org>
- Sandro Tolaini <tolaini@libero.it>
-
- * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
- conditional.
- * configure: Regenerated.
- * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
- (EXTRA_DIST): Add src/x86/darwin.S.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
- X86_WIN32, and additionally align stack to 16 bytes.
- * src/x86/darwin.S: New, based on sysv.S.
- * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12 David Daney <ddaney@avtrex.com>
-
- PR libffi/23935
- * include/Makefile.am: Install both ffi.h and ffitarget.h in
- $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
- * aclocal.m4: Regenerated for automake 1.9.6.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
-2006-08-17 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h: Remove lint directives.
- * include/ffi.h.in: Likewise.
-
-2006-07-25 Torsten Schoenfeld <kaffeetisch@gmx.de>
-
- * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
- for 32-bit architectures.
- * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
- xfail remains for mips64.
-
-2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
-
- * Makefile.am: Add install-html target. Add install-html to .PHONY
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
- stack slot.
-
-2006-04-22 Andreas Tobler <a.tobler@schweiz.ch>
-
- * README: Remove notice about 'Crazy Comments'.
- * src/debug.c: Remove lint directives. Cleanup white spaces.
- * src/java_raw_api.c: Likewise.
- * src/prep_cif.c: Likewise.
- * src/raw_api.c: Likewise.
- * src/ffitest.c: Delete. No longer needed, all test cases migrated
- to the testsuite.
- * src/arm/ffi.c: Remove lint directives.
- * src/m32r/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/sh/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/pa/hpux32.S: Correct unwind offset calculation for
- ffi_closure_pa32.
- * src/pa/linux.S: Likewise.
-
-2006-04-12 James E Wilson <wilson@specifix.com>
-
- PR libgcj/26483
- * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
- (hfa_type_load): Call stf_spill.
- (hfa_type_store): Call ldf_fill.
- (ffi_call): Adjust calls to above routines. Add local temps for
- macro result.
-
-2006-04-10 Matthias Klose <doko@debian.org>
-
- * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
- directory names containing underscores.
-
-2006-04-07 James E Wilson <wilson@specifix.com>
-
- * testsuite/libffi.call/float4.c: New testcase.
-
-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.
-
-2006-03-24 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Default
- for 32-bit using IBM extended double format. Fix FFI_LAST_ABI.
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
- FFI_TYPE_LONGDOUBLE.
- (ffi_prep_args64): Assert using IBM extended double.
- (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
- Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
- (ffi_call): Handle FFI_LINUX.
- (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
- gpr3 return pointer as for struct return. Handle FFI_LINUX
- FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf"
- unnecessarily.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
- for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table.
- Don't use r6 as pointer to results, instead use sp offset. Don't
- make a special call to load lr with case table address, instead
- use offset from previous call.
- * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
- return.
-
-2006-03-15 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
- passed with FP registers correctly.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S: Likewise.
-
-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.
-
-2006-02-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
- -O2, -O3, -Os and the warning flags -W -Wall.
- * testsuite/libffi.special/special.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
- unused parameter unused for gcc or else do nothing.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
- * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
- * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
- * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
- * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
- * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
- * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
- * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
- * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
- void* to avoid compiler warning.
- (main): Likewise.
- (cls_struct_align_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
- * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
- * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
- userdata unused.
- (cls_ret_schar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
- userdata unused.
- (cls_ret_sint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
- userdata unused.
- (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn): Mark cif and
- userdata unused.
- (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
- userdata unused.
- (cls_ret_uint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
- userdata unused.
- (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
- * testsuite/libffi.call/float1.c (main): Remove unused variable i.
- Cleanup white spaces.
- * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
- * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
- cif and userdata unused.
- * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
- Likewise.
- * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
- formatters to silence gcc.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct4.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct6.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
- * testsuite/libffi.call/problem1.c (stub): Likewise.
- * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
- gcc.
- * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
- in the last commit for this test case in the test case itself.
- * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
- unused.
- * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
- * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
- * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
- * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
- * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
- * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Fix register numbers in the FDE for
- ffi_closure_SYSV.
-
-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.
-
-2006-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
- and cast integer to void * if needed. Update the pointer to
- the FP register saved area correctly.
-
-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.
-
-2006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/return_dbl.c: New test case.
- * testsuite/libffi.call/return_dbl1.c: Likewise.
- * testsuite/libffi.call/return_dbl2.c: Likewise.
- * testsuite/libffi.call/return_fl.c: Likewise.
- * testsuite/libffi.call/return_fl1.c: Likewise.
- * testsuite/libffi.call/return_fl2.c: Likewise.
- * testsuite/libffi.call/return_fl3.c: Likewise.
- * testsuite/libffi.call/closure_fn6.c: Likewise.
-
- * 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.
-
-2006-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.ac: Enable libffi for sparc64-*-freebsd*.
- * configure: Rebuilt.
-
-2006-01-18 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
- instead do the shifting inline.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
- shift count unconditionally. Simplify load sequences for 1, 2, 3, 4
- and 8 byte structs, for the remaining struct sizes don't call
- __lshrdi3, instead do the shifting inline.
-
-2005-12-07 Thiemo Seufer <ths@networkno.de>
-
- * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
- missing parentheses.
- * src/mips/o32.S (ffi_call_O32): Code formatting. Define
- and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
- (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
- A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
- V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
- FA_0_0_OFF2.
- * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
- endianness bugs.
- (ffi_prep_closure): Improve trampoline instruction scheduling.
- (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c: Formatting.
- (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
- (ffi_prep_args64): Likewise.
-
-2005-09-30 Geoffrey Keating <geoffk@apple.com>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
- darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26 Tom Tromey <tromey@redhat.com>
-
- * 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.
-
-2005-08-25 Alan Modra <amodra@bigpond.net.au>
-
- PR target/23404
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
- homed fp args.
- (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11 Jakub Jelinek <jakub@redhat.com>
-
- * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
- (AH_BOTTOM): Add FFI_HIDDEN definition.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * src/powerpc/ffi.c (hidden): Remove.
- (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
- ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
- .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
- * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
- add FFI_HIDDEN to its prototype.
- (ffi_closure_SYSV_inner): New.
- * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
- * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10 Alfred M. Szmidt <ams@gnu.org>
-
- PR libffi/21819:
- * configure: Rebuilt.
- * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
- DW_CFA_offset_extended_sf rather than
- DW_CFA_GNU_negative_offset_extended.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
-
- * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
- on sh3.
- (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
- * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
- partially on register.
- (ffi_closure_helper_SYSV): Likewise.
- (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_call): Handle small structures correctly.
- Remove empty line.
- * src/sh64/ffi.c (simple_type): Remove.
- (return_type): Handle small structures correctly.
- (ffi_prep_args): Likewise.
- (ffi_call): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
- Emit position independent code if PIC and remove wrong datalabel
- prefixes from EH data.
-
-2005-07-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure.ac: Add POWERPC_FREEBSD rules.
- * configure: Regenerate.
- * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
- (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
- * src/powerpc/ffi.c: Add flags to handle small structure returns
- in ffi_call_SYSV.
- (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
- Aka FFI_SYSV.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Add return types for small structures.
- * src/powerpc/sysv.S: Add bits to handle small structures for
- final SYSV 4 ABI.
-
-2005-07-10 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_5_1_byte.c: New test file.
- * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05 Randolph Chung <tausq@debian.org>
-
- * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
- as FFI_TYPE_SMALL_STRUCT3. Break out handling for 5-7 byte
- structures. Kill compilation warnings.
- (ffi_closure_inner_LINUX): Print return values as hex in debug
- message. Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
- Properly handle 5-7 byte structure returns.
- * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
- (FFI_TYPE_SMALL_STRUCT2): Remove.
- (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
- (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
- * src/pa/linux.S: Mark source file as using PA1.1 assembly.
- (checksmst1, checksmst2): Remove.
- (checksmst3): Optimize handling of 3-byte struct returns.
- (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libgcj/21943
- * src/mips/n32.S: Enforce PIC code.
- * src/mips/o32.S: Likewise.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
- * configure: Regenerate.
-
-2005-06-01 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
- to call ffi_closure_helper_SYSV. Append @local instead.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
- Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
- * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
- * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
- include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-05-08 Richard Henderson <rth@redhat.com>
-
- PR libffi/21285
- * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04 Andreas Degert <ad@papyrus-gmbh.de>
- Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
- bit 11 of flags.
- (ffi_call): Mask return type field. Pass ssecount to ffi_call_unix64.
- (ffi_prep_closure): Set carry bit if sse-used flag set.
- * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
- Only load sse registers if ssecount non-zero.
- (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
- powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
- * configure: Regenerate.
-
-2005-04-20 Hans-Peter Nilsson <hp@axis.com>
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
- have Tcl8.3-compatible intermediate variable.
-
-2005-04-18 Simon Posnjak <simon.posnjak@siol.net>
- Hans-Peter Nilsson <hp@axis.com>
-
- * Makefile.am: Add CRIS support.
- * configure.ac: Likewise.
- * Makefile.in, configure, testsuite/Makefile.in,
- include/Makefile.in: Regenerate.
- * src/cris: New directory.
- * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
- * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
- \r?\n in output tests.
-
-2005-04-12 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-03-30 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30 Steve Ellcey <sje@cup.hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
- (ffi_sarg) Ditto.
- * src/ia64/unix.S (ffi_closure_unix): Extend gp
- to 64 bits in ILP32 mode.
- Load 64 bits even for short data.
-
-2005-03-23 Mike Stump <mrs@apple.com>
-
- * src/powerpc/darwin.S: Update for -m64 multilib.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21 Zack Weinberg <zack@codesourcery.com>
-
- * 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.
-
-2005-02-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
- odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR libffi/20104
- * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11 Janis Johnson <janis187@us.ibm.com>
-
- * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
- * testsuite/libffi.call/float.c: Ditto.
- * testsuite/libffi.call/float2.c: Ditto.
- * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * testsuite/libffi.special/special.exp (cxx_options): Add
- -shared-libgcc.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
- (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
- offset parameters with a type parameter; deduce size and structure
- alignment. Update all users.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
- (FFI_TYPE_LONGDOUBLE): Fix for ia64.
- * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
- into ffi_prep_closure.
- * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
- from scratch.
-
-2004-12-27 Richard Henderson <rth@redhat.com>
-
- * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25 Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
- (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
- (merge_classes): Check for it.
- (SSE_CLASS_P): New.
- (classify_argument): Pass byte_offset by value; perform all updates
- inside struct case.
- (examine_argument): Add classes argument; handle
- X86_64_COMPLEX_X87_CLASS.
- (ffi_prep_args): Merge into ...
- (ffi_call): ... here. Share stack frame with ffi_call_unix64.
- (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
- (ffi_fill_return_value): Remove.
- (ffi_prep_closure): Remove dead assert.
- (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
- Rewrite to use struct register_args instead of va_list. Create
- flags for handling structure returns.
- * src/x86/unix64.S: Remove dead strings.
- (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share
- stack frame with ffi_call. Handle structure returns properly.
- (float2sse, floatfloat2sse, double2sse): Remove.
- (sse2float, sse2double, sse2floatfloat): Remove.
- (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite
- to handle structure returns properly.
-
-2004-12-08 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
- PICFLAG.
- * Makefile.in: Regenerated.
-
-2004-12-02 Richard Sandiford <rsandifo@redhat.com>
-
- * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
- * configure, aclocal.m4, Makefile.in: Regenerate.
- * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-25 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool reversion.
-
-2004-11-24 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23 Richard Sandiford <rsandifo@redhat.com>
-
- * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
- of jal. Use an absolute encoding for the frame information.
-
-2004-11-23 Kelley Cook <kcook@gcc.gnu.org>
-
- * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS.
- * acinclude.m4: Delete logic for sincludes.
- * aclocal.m4, Makefile.in, configure: Regenerate.
- * include/Makefile: Likewise.
- * testsuite/Makefile: Likewise.
-
-2004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
- on a 8-byte boundary.
- * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
- long long values. Round stack allocation to a multiple of 8 bytes
- for ATPCS compatibility.
- * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
- names. Handle returning long long types. Add Thumb and interworking
- support. Improve soft-float code.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
- (libffi_exit): New function.
- (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR other/18138
- * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
- * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
- the function returning a structure pointed with R2.
- * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
- the structure return value if T bit set. Emit position
- independent code and EH data if PIC.
-
-2004-10-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * Makefile.am: Add m32r support.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * confiugre: Regenerate.
- * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
- (uint64, sint64, double, longdouble)
- * src/m32r: New directory.
- * src/m32r/ffi.c: New file.
- * src/m32r/sysv.S: Likewise.
- * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * testsuite/libffi.call/negint.c: New test case.
-
-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.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/many_win32.c: Remove whitespaces.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
- whitespaces.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Fix comments and identation.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
- (ffi_prep_args): Handle longdouble arguments.
- (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
- longdouble.
- (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
- * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
- values.
- * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
- * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/aix.S: Remove whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
- * src/powerpc/asm.h: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffitarget.h: Likewise.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
-
-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.in: Read configure.host.
- * 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 shouldn't 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.
-
-2004-08-24 David Daney <daney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
- to zero.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23 David Daney <daney@avtrex.com>
-
- PR libgcj/13141
- * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
- * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
- (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
- parameters and return types.
- (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
- (ffi_prep_closure): Ditto.
- (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
- alignment calculations.
- * src/mips/o32.S (ffi_closure_O32): Don't use floating point
- instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14 Casey Marshall <csm@gnu.org>
-
- * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
- contain `FFI_TYPE_UINT64' as return type for any 64-bit
- integer (O32 ABI only).
- (ffi_prep_closure): new function.
- (ffi_closure_mips_inner_O32): new function.
- * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
- `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
- * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
- 64 bit integers correctly.
- (ffi_closure_O32): new function.
- Added DWARF-2 unwind info for both functions.
-
-2004-08-10 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01 Robert Millan <robertmh@gnu.org>
-
- * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
- * configure: Regenerate.
-
-2004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
-
- * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
- and mmap() explicitly instead of relying on preset autoconf cache
- variables.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
- (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
- character on Darwin, use '\n\t' instead.
-
-2004-06-26 Matthias Klose <doko@debian.org>
-
- * libtool-version: Fix typo in revision/age.
-
-2004-06-17 Matthias Klose <doko@debian.org>
-
- * libtool-version: New.
- * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
- * Makefile.in: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * Makefile.am: Remove useless multilib rules.
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate with automake 1.8.5.
- * configure.ac: Remove useless multilib configury.
- * configure: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * .cvsignore: New file.
-
-2004-06-10 Jakub Jelinek <jakub@redhat.com>
-
- * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
- fp_done.
- (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
- changed from 8.
-
-2004-06-06 Sean McNeil <sean@mcneil.com>
-
- * configure.ac: Add x86_64-*-freebsd* support.
- * configure: Regenerate.
-
-2004-04-26 Joe Buck <jbuck@welsh-buck.org>
-
- Bug 15093
- * configure.ac: Test for existence of mmap and sys/mman.h before
- checking blacklist. Fix suggested by Jim Wilson.
- * configure: Regenerate.
-
-2004-04-26 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
- FDE location.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
- error. Reported by Thomas Heller <theller@python.net>.
- * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20 Matthias Klose <doko@debian.org>
-
- * src/pa/linux.S: Fix typo.
-
-2004-03-19 Matthias Klose <doko@debian.org>
-
- * Makefile.am: Update.
- * Makefile.in: Regenerate.
- * src/pa/ffi.h.in: Remove.
- * src/pa/ffitarget.h: New file.
-
-2004-02-10 Randolph Chung <tausq@debian.org>
-
- * Makefile.am: Add PA support.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * configure.ac: Add PA target.
- * configure: Regenerate.
- * src/pa/ffi.c: New file.
- * src/pa/ffi.h.in: Add PA support.
- * src/pa/linux.S: New file.
- * prep_cif.c: Add PA support.
-
-2004-03-16 Hosaka Yuji <hos@tamanegi.org>
-
- * src/types.c: Fix alignment size of X86_WIN32 case int64 and
- double.
- * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
- with ecif->cif->flags.
- (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
- with cif->flags.
- (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
- (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
- * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
- sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.in: Rename file to ...
- * configure.ac: ... this.
- * fficonfig.h.in: Regenerate.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2004-03-12 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Fix EH information so it corresponds to
- changes in EH format resulting from addition of linkonce support.
- * src/powerpc/darwin_closure.S: Likewise.
-
-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.
-
-2004-03-11 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
- arguments from fp registers only for the first 8 parameter slots.
- Don't convert a float parameter when passed in memory.
-
-2004-03-09 Hans-Peter Nilsson <hp@axis.com>
-
- * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
-
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
- ecif->cif->bytes to bytes.
- (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
- * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
- (ffi_closure_helper_LINUX64): Fix typo.
- * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
- for powerpc64-*-*.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
- long double function return and long double arg handling.
- (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
- Use "end_pfr" instead of "nf". Correct long double handling.
- Localise "temp".
- * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
- return value.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
- space for long double return value. Adjust stack frame and offsets.
- Load f2 long double return.
-
-2004-02-07 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
- when the structure return address is passed in %o0.
- (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
- (ffi_v9_layout_struct): Align the field following a nested structure
- on a word boundary. Use memmove instead of memcpy.
- (ffi_call): Update call to ffi_V9_return_struct.
- (ffi_prep_closure): Define 'ctx' only for V8.
- (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
- and ffi_closure_sparc_inner_v9.
- (ffi_closure_sparc_inner_v8): Return long doubles by reference.
- Always skip the structure return address. For structures and long
- doubles, copy the argument directly.
- (ffi_closure_sparc_inner_v9): Skip the structure return address only
- if required. Shift the maximum floating-point slot accordingly. For
- big structures, copy the argument directly; otherwise, left-justify the
- argument and call ffi_v9_layout_struct to lay out the structure on
- the stack.
- * src/sparc/v8.S: Undef STACKFRAME before defining it.
- (ffi_closure_v8): Pass the structure return address. Update call to
- ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
- Skip the 'unimp' insn when returning long doubles and structures.
- * src/sparc/v9.S: Undef STACKFRAME before defining it.
- (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
- FFI_TYPE_INT handling. Load structures both in integers and
- floating-point registers on return.
- * README: Update status of the SPARC port.
-
-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.
-
-2004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
-
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
- value as of type ffi_arg, not unsigned int.
-
-2004-01-21 Michael Ritzert <ritzert@t-online.de>
-
- * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
- of the LHS.
-
-2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
- Solaris.
-
-2004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
- to void *.
-
-2003-12-10 Richard Henderson <rth@redhat.com>
-
- * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
- size_t instead of int.
-
-2003-12-04 Hosaka Yuji <hos@tamanegi.org>
-
- * testsuite/libffi.call/many_win32.c: Include <float.h>.
- * testsuite/libffi.call/many_win32.c (main): Replace variable
- int i with unsigned long ul.
-
- * testsuite/libffi.call/cls_align_uint64.c: New test case.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02 Hosaka Yuji <hos@tamanegi.org>
-
- PR other/13221
- * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
- Align arguments to 32 bits.
-
-2003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR other/13221
- * testsuite/libffi.call/cls_multi_sshort.c: New test case.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-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.
-
-2003-11-21 Andreas Jaeger <aj@suse.de>
- Andreas Tobler <a.tobler@schweiz.ch>
-
- * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
- * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
- * Makefile.in: Rebuilt.
- * aclocal.m4: Likewise.
- * configure: Likewise.
- * fficonfig.h.in: Likewise.
- * testsuite/lib/libffi-dg.exp: Add include dir.
- * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
- for ffi_closure if available.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
- Add -lgcc_s to additional flags.
-
-2003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.in, include/Makefile.am: PR libgcj/11147, install
- the ffitarget.h header file in a gcc versioned and target
- dependent place.
- * configure: Regenerated.
- * Makefile.in, include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Print result and check
- with dg-output to make debugging easier.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
- static.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_9byte2.c: New test case.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_double.c: Do a check on the result.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/prep_cif.c (ffi_prep_cif): Move the validity check after
- the initialization.
-
-2003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
- FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
- __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-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
-
-2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
- _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
- Used when FFI_DEBUG = 1.
-
-2003-10-14 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
- and align.
-
-2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
- FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
- SPARC64. Cleanup whitespaces.
-
-2003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
- strongarm, xscale. Cleanup whitespaces.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Cleanup whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
- * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
- parameter stack.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
- according to the Darwin/AIX ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_DARWIN): Likewise.
- Remove the outgoing parameter stack logic. Simplify the evaluation
- of the different CASE types.
- (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
- statement in the trampoline code.
-
-2003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
- for the register size.
- (ffi_closure_helper_SYSV): Handle the structure return value
- address correctly.
- (ffi_closure_helper_SYSV): Return the appropriate type when
- the registers are used for the structure return value.
- * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
- the 64-bit return value. Update copyright years.
-
-2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
- srcdir for ffi_mips.h.
-
-2003-09-12 Alan Modra <amodra@bigpond.net.au>
-
- * src/prep_cif.c (initialize_aggregate): Include tail padding in
- structure size.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
- placement of float result.
- * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
- cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Merge identical SH and ARM
- typedefs, and add POWERPC64.
- * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
- struct split over gpr and rest.
- (ffi_prep_cif_machdep): Correct intarg_count for structures.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
- passing correctly.
-
-2003-09-09 Alan Modra <amodra@bigpond.net.au>
-
- * configure: Regenerate.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Remove build rules for ffitest.
- * Makefile.in: Rebuilt.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
- about implicit declaration of abort().
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
- * Makefile.in: Rebuilt.
- * configure.in: Add dejagnu test framework.
- * configure: Rebuilt.
-
- * testsuite/Makefile.am: New file.
- * testsuite/Makefile.in: Built
- * testsuite/lib/libffi-dg.exp: New file.
- * testsuite/config/default.exp: Likewise.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Likewise.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float1.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/many.c: Likewise.
- * testsuite/libffi.call/many_win32.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
- * testsuite/libffi.call/strlen.c: Likewise.
- * testsuite/libffi.call/strlen_win32.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
- * testsuite/libffi.call/struct2.c: Likewise.
- * testsuite/libffi.call/struct3.c: Likewise.
- * testsuite/libffi.call/struct4.c: Likewise.
- * testsuite/libffi.call/struct5.c: Likewise.
- * testsuite/libffi.call/struct6.c: Likewise.
- * testsuite/libffi.call/struct7.c: Likewise.
- * testsuite/libffi.call/struct8.c: Likewise.
- * testsuite/libffi.call/struct9.c: Likewise.
- * testsuite/libffi.special/special.exp: New file.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
- copyright years.
-
-2003-08-02 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
- structure passing.
- (ffi_closure_helper_LINUX64): Likewise.
- * src/powerpc/linux64.S: Remove code writing to parm save area.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
- address in lr from ffi_closure_helper_LINUX64 call to calculate
- table address. Optimize function tail.
-
-2003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/sparc/ffi.c: Handle all floating point registers.
- * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
-
- * README: Note that libffi is not part of GCC. Update the project
- URL and status.
-
-2003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
- Use C style comments.
-
-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
- should be read-only.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * include/ffi.h.in (EH_FRAME_FLAGS): Define.
- * src/alpha/osf.S: Use EH_FRAME_FLAGS.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
- * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
- if -fpic/-fPIC/-mrelocatable.
- * src/powerpc/powerpc_closure.S: Likewise.
- * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
- #write in .eh_frame flags.
- * src/sparc/v9.S: Likewise.
- * src/x86/unix64.S: Use EH_FRAME_FLAGS.
- * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
- * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
-
-2003-05-07 Jeff Sturm <jsturm@one-point.com>
-
- Fixes PR bootstrap/10656
- * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
- support for .register pseudo-op.
- * src/sparc/v8.S: Use it.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2003-04-18 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (POWERPC64): Define if 64-bit.
- (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
- Make it the default on POWERPC64.
- (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
- * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
- * configure: Rebuilt.
- * src/powerpc/ffi.c (hidden): Define.
- (ffi_prep_args_SYSV): Renamed from
- ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
- (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
- ASM_NEEDS_REGISTERS64): New.
- (ffi_prep_args64): New function.
- (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
- (ffi_call): Likewise.
- (ffi_prep_closure): Likewise.
- (flush_icache): Surround by #ifndef POWERPC64.
- (ffi_dblfl): New union type.
- (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
- (ffi_closure_helper_LINUX64): New function.
- * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
- __powerpc64__.
- * src/powerpc/sysv.S: Likewise.
- (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
- * src/powerpc/linux64.S: New file.
- * src/powerpc/linux64_closure.S: New file.
- * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
- src/powerpc/linux64_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
- * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
- closure_test_fn3): Fix result printing on big-endian 64-bit
- machines.
- (main): Print tst2_arg instead of uninitialized tst2_result.
-
- * src/ffitest.c (main): Hide what closure pointer really points to
- from the compiler.
-
-2003-04-16 Richard Earnshaw <rearnsha@arm.com>
-
- * configure.in (arm-*-netbsdelf*): Add configuration.
- (configure): Regenerated.
-
-2003-04-04 Loren J. Rittle <ljrittle@acm.org>
-
- * include/Makefile.in: Regenerate.
-
-2003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
-
- * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
- bit mode.
- * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
- Receive closure pointer through parameter, read args using
- __builtin_dwarf_cfa.
- (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12 Andreas Schwab <schwab@suse.de>
-
- * configure.in: Avoid trailing /. in toolexeclibdir.
- * configure: Rebuilt.
-
-2003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/powerpc/darwin_closure.S:
- Fix alignement bug, allocate 8 bytes for the result.
- * libffi/src/powerpc/aix_closure.S:
- Likewise.
- * libffi/src/powerpc/ffi_darwin.c:
- Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06 Jakub Jelinek <jakub@redhat.com>
-
- * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
- attribute.
-
-2003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
- Andreas Schwab <schwab@suse.de>
-
- * configure.in: Adjust command to source config-ml.in to account
- for changes to the libffi_basedir definition.
- (libffi_basedir): Remove ${srcdir} from value and include trailing
- slash if nonempty.
-
- * configure: Regenerate.
-
-2003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
- * src/x86/ffi64.c (ffi_prep_closure): New.
- (ffi_closure_UNIX64_inner): New.
- * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
- Remove USE_LIBDIR conditional.
- * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
- * Makefile.in, configure: Rebuilt.
-
-2003-01027 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
- * Makefile.in: Regenerate.
-
-2003-01-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
- unwind info.
-
-2003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Add unwind info.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
- (ffi_prep_cif_machdep): Likewise.
- * src/x86/unix64.S: Add unwind info.
-
-2003-01-14 Andreas Jaeger <aj@suse.de>
-
- * src/ffitest.c (main): Only use ffi_closures if those are
- supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/ffitest.c
- add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
- * libffi/src/powerpc/ffi.c
- fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c: Remove RCS version string.
- * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
- * src/ffitest.c (main): Use static storage for closure.
- * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
- * src/sparc/v8.S (ffi_closure_v8): New.
- * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10 Ranjit Mathew <rmathew@hotmail.com>
-
- * include/ffi.h.in: Added FFI_STDCALL ffi_type
- enumeration for X86_WIN32.
- * src/x86/win32.S: Added ffi_call_STDCALL function
- definition.
- * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
- switch cases for recognising FFI_STDCALL and
- calling ffi_call_STDCALL if target is X86_WIN32.
- * src/ffitest.c (my_stdcall_strlen/stdcall_many):
- stdcall versions of the "my_strlen" and "many"
- test functions (for X86_WIN32).
- Added test cases to test stdcall invocation using
- these functions.
-
-2002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26 Jim Wilson <wilson@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23 H.J. Lu <hjl@gnu.org>
-
- * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
- Include ../config/accross.m4.
- * aclocal.m4; Rebuild.
- * configure: Likewise.
-
-2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11 DJ Delorie <dj@redhat.com>
-
- * configure.in: Look for common files in the right place.
-
-2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
- raw data as _Jv_word values, not ffi_raw.
- (ffi_java_ptrarray_to_raw): Likewise.
- (ffi_java_rvalue_to_raw): New function.
- (ffi_java_raw_call): Call it.
- (ffi_java_raw_to_rvalue): New function.
- (ffi_java_translate_args): Call it.
- * src/ffitest.c (closure_test_fn): Interpret return value
- as ffi_arg, not int.
- * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
- FFI_TYPE_POINTER case.
- (ffi_closure_helper_SYSV): Likewise. Also, assume return
- values extended to word size.
-
-2002-10-02 Andreas Jaeger <aj@suse.de>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01 Bo Thorsen <bo@smetana.suse.de>
-
- * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
-
- * configure.in: Add s390x-*-linux-* target.
- * configure: Regenerate.
- * include/ffi.h.in: Define S390X for s390x targets.
- (FFI_CLOSURES): Define for s390/s390x.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
- * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
- * src/s390/ffi.c: Major rework of existing code. Add support for
- s390x targets. Add closure support.
- * src/s390/sysv.S: Likewise.
-
-2002-09-29 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: Fix typo.
-
-2002-09-28 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
- has defined __USER_LABEL_PREFIX__, then use it in CNAME.
- (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27 Bo Thorsen <bo@suse.de>
-
- * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * configure.in (sh[34]*-*-linux*): Add brackets.
- * configure: Regenerate.
-
-2002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * Makefile.am: Add SH support.
- * Makefile.in: Regenerate.
- * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
- * configure: Regenerate.
- * include/ffi.h.in: Add SH support.
- * src/sh/ffi.c: New file.
- * src/sh/sysv.S: New file.
- * src/types.c: Add SH support.
-
-2002-07-16 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi64.c: New file that adds x86-64 support.
- * src/x86/unix64.S: New file that handles argument setup for
- x86-64.
- * src/x86/sysv.S: Don't use this on x86-64.
- * src/x86/ffi.c: Don't use this on x86-64.
- Remove unused vars.
- * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
- for x86-64.
- * src/ffitest.c (struct6): New test that tests a special case in
- the x86-64 ABI.
- (struct7): Likewise.
- (struct8): Likewise.
- (struct9): Likewise.
- (closure_test_fn): Silence warning about this when it's not used.
- (main): Add the new tests.
- (main): Fix a couple of wrong casts and silence some compiler warnings.
- * include/ffi.h.in: Add x86-64 ABI definition.
- * fficonfig.h.in: Regenerate.
- * Makefile.am: Add x86-64 support.
- * configure.in: Likewise.
- * Makefile.in: Regenerate.
- * configure: Likewise.
-
-2002-06-24 Bo Thorsen <bo@suse.de>
-
- * src/types.c: Merge settings for similar architectures.
- Add x86-64 sizes and alignments.
-
-2002-06-23 Bo Thorsen <bo@suse.de>
-
- * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
- * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
- * src/mips/ffi.c (ffi_prep_args): Likewise.
- * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18 H.J. Lu (hjl@gnu.org)
-
- * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
- (libffi_la_SOURCES): Support MIPS_LINUX.
- (libffi_convenience_la_SOURCES): Likewise.
- * Makefile.in: Regenerated.
-
- * configure.in (mips64*-*): Skip.
- (mips*-*-linux*): New.
- * configure: Regenerated.
-
- * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
-
-2002-05-27 Roger Sayle <roger@eyesopen.com>
-
- * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
- fix formatting.
-
-2002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
- beginning of function (for older apple cc).
-
-2002-05-08 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
- script entry, and set LD to it when configuring multilibs.
- * configure: Rebuilt.
-
-2002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (sparc64-*-netbsd*): Add target.
- (sparc-*-netbsdelf*): Likewise.
- * configure: Regenerate.
-
-2002-04-28 David S. Miller <davem@redhat.com>
-
- * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
-
- * Makefile.am: Add Linux for S/390 support.
- * Makefile.in: Regenerate.
- * configure.in: Add Linux for S/390 support.
- * configure: Regenerate.
- * include/ffi.h.in: Add Linux for S/390 support.
- * src/s390/ffi.c: New file from libffi CVS tree.
- * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
- %r_disp32().
- * src/sparc/v8.S: Use it.
- * src/sparc/v9.S: Likewise.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2002-04-08 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
- correctly.
- * src/ia64/unix.S: Add unwind information. Fix comments.
- Save sp in a way that's compatible with unwind info.
- (ffi_call_unix): Correctly restore sp in all cases.
- * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08 Jakub Jelinek <jakub@redhat.com>
-
- * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (alpha*-*-netbsd*): Add target.
- * configure: Regenerate.
-
-2002-04-04 Jeff Sturm <jsturm@one-point.com>
-
- * src/sparc/v8.S: Add unwind info.
- * src/sparc/v9.S: Likewise.
-
-2002-03-30 Krister Walfridsson <cato@df.lth.se>
-
- * configure.in: Enable i*86-*-netbsdelf*.
- * configure: Rebuilt.
-
-2002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
-
- PR other/2620
- * src/mips/n32.s: Delete
- * src/mips/o32.s: Delete
-
-2002-03-21 Loren J. Rittle <ljrittle@acm.org>
-
- * configure.in: Enable alpha*-*-freebsd*.
- * configure: Rebuilt.
-
-2002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * Makefile.am: libfficonvenience -> libffi_convenience.
- * Makefile.in: Rebuilt.
-
- * Makefile.am: Define ffitest_OBJECTS.
- * Makefile.in: Rebuilt.
-
-2002-03-07 Andreas Tobler <toa@pop.agri.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
- (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
- (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
- * Makefile.in: Regenerate.
- * include/ffi.h.in: Add AIX and Darwin closure definitions.
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
- (flush_icache, flush_range): New functions.
- (ffi_closure_helper_DARWIN): New function.
- * src/powerpc/aix_closure.S: New file.
- * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add typedef for ffi_arg.
- * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21 Andreas Tobler <toa@pop.agri.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
- number of GPRs for floating-point arguments.
-
-2002-01-31 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Replace CHECK_SIZEOF and endian tests with
- cross-compiler friendly macros.
- * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
- macros.
-
-2002-01-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): New.
- * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
- (TARGET_SRC_POWERPC_AIX): New.
- (POWERPC_AIX): New stanza.
- * Makefile.in: Regenerate.
- * configure.in: Add AIX case.
- * configure: Regenerate.
- * include/ffi.h.in (ffi_abi): Add FFI_AIX.
- * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
- size. Fix "long double" support.
- (ffi_call): Add FFI_AIX case.
- * src/powerpc/aix.S: New.
-
-2001-10-09 John Hornkvist <john@toastedmarshmallow.com>
-
- Implement Darwin PowerPC ABI.
- * configure.in: Handle powerpc-*-darwin*.
- * Makefile.am: Set source files for POWERPC_DARWIN.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
- * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
- POWERPC_DARWIN.
- * src/powerpc/darwin.S: New file.
- * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .balign directive.
- Use C style comments.
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
- Fixes PR bootstrap/3563.
-
-2001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.in: Recognize sparc*-sun-* host.
- * configure: Regenerate.
-
-2001-06-06 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S: Add unwind info.
- * src/powerpc/sysv.S: Add unwind info.
- * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31 Jeff Sturm <jsturm@one-point.com>
-
- * configure.in: Fix AC_ARG_ENABLE usage.
- * configure: Rebuilt.
-
-2001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * configure.in: Remove warning about beta code.
- * configure: Rebuilt.
-
-2001-04-25 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/ia64/unix.S: Restore stack pointer when returning from
- ffi_closure_UNIX.
- * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18 Jim Wilson <wilson@redhat.com>
-
- * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
- to eliminate RAW DV.
-
-2001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
-
- * Makefile.am: Make a libtool convenience library.
- * Makefile.in: Rebuilt.
-
-2001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Use different syntax for subdirectory creation.
- * configure: Rebuilt.
-
-2001-03-27 Jon Beniston <jon@beniston.com>
-
- * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
- * configure: Rebuilt.
- * Makefile.am: Added X86_WIN32 target support.
- * Makefile.in: Rebuilt.
-
- * include/ffi.h.in: Added X86_WIN32 target support.
-
- * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
- * src/types.c: Added X86_WIN32 target support.
-
- * src/x86/win32.S: New file. Based on sysv.S, but with EH
- stuff removed and made to work with CygWin's gas.
-
-2001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Make target subdirectory in build dir.
- * Makefile.am: Override suffix based rules to specify correct output
- subdirectory.
- * Makefile.in: Rebuilt.
- * configure: Rebuilt.
-
-2001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
-
- * src/powerpc/ppc_closure.S: New file.
- * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
- involving long long and register pairs.
- (ffi_prep_closure): New function.
- (flush_icache): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * Makefile.in: Rebuilt.
- * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19 Tom Tromey <tromey@redhat.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02 Nick Clifton <nickc@redhat.com>
-
- * include/ffi.h.in: Remove RCS ident string.
- * include/ffi_mips.h: Remove RCS ident string.
- * src/debug.c: Remove RCS ident string.
- * src/ffitest.c: Remove RCS ident string.
- * src/prep_cif.c: Remove RCS ident string.
- * src/types.c: Remove RCS ident string.
- * src/alpha/ffi.c: Remove RCS ident string.
- * src/alpha/osf.S: Remove RCS ident string.
- * src/arm/ffi.c: Remove RCS ident string.
- * src/arm/sysv.S: Remove RCS ident string.
- * src/mips/ffi.c: Remove RCS ident string.
- * src/mips/n32.S: Remove RCS ident string.
- * src/mips/o32.S: Remove RCS ident string.
- * src/sparc/ffi.c: Remove RCS ident string.
- * src/sparc/v8.S: Remove RCS ident string.
- * src/sparc/v9.S: Remove RCS ident string.
- * src/x86/ffi.c: Remove RCS ident string.
- * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * include/ffi.h.in: Change sourceware.cygnus.com references to
- gcc.gnu.org.
-
-2000-12-09 Richard Henderson <rth@redhat.com>
-
- * src/alpha/ffi.c (ffi_call): Simplify struct return test.
- (ffi_closure_osf_inner): Index rather than increment avalue
- and arg_types. Give ffi_closure_osf the raw return value type.
- * src/alpha/osf.S (ffi_closure_osf): Handle return value type
- promotion.
-
-2000-12-07 Richard Henderson <rth@redhat.com>
-
- * src/raw_api.c (ffi_translate_args): Fix typo.
- (ffi_prep_closure): Likewise.
-
- * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
- FFI_TRAMPOLINE_SIZE.
- * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
- cif->bytes for new ffi_call_osf implementation.
- (ffi_prep_args): Absorb into ...
- (ffi_call): ... here. Do all stack allocation here and
- avoid a callback function.
- (ffi_prep_closure, ffi_closure_osf_inner): New.
- * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
- (ffi_closure_osf): New.
-
-2000-09-10 Alexandre Oliva <aoliva@redhat.com>
-
- * config.guess, config.sub, install-sh: Removed.
- * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
- * Makefile.in: Rebuilt.
-
- * acinclude.m4: Include libtool macros from the top level.
- * aclocal.m4, configure: Rebuilt.
-
-2000-08-22 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
- * configure: Rebuilt.
-
-2000-05-11 Scott Bambrough <scottb@netwinder.org>
-
- * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
- memory correctly. Use conditional instructions, not branches where
- possible.
-
-2000-05-04 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Match `arm*-*-linux-*'.
- From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (SUBDIRS): Define.
- (AM_MAKEFLAGS): Likewise.
- (Multilib support.): Add section.
- * Makefile.in: Rebuilt.
- * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
- New variables. Set for gcc using -print-multi-lib. Export them
- to libtool.
- (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
- * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
- for -shared links.
- (extra_compiler_flags_value, extra_compiler_flags): Check these
- for extra compiler options which need to be passed down in
- compiler_flags.
-
-2000-04-16 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
- Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
- * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
- Replace all void * sizeofs with sizeof(int).
- Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
- different than DOUBLE.
- Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
- (ffi_prep_args_v9): New function.
- (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
- (ffi_V9_return_struct): New function.
- (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
- 32bit code (not yet cross-arch calls).
- * src/sparc/v8.S: Add struct return delay nop.
- Handle long long.
- * src/sparc/v9.S: New file.
- * src/prep_cif.c (ffi_prep_cif): Return structure pointer
- is used on sparc64 only for structures larger than 32 bytes.
- Pass by reference for structures is done for structure arguments
- larger than 16 bytes.
- * src/ffitest.c (main): Use 64bit rint on sparc64.
- Run long long tests on sparc.
- * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
- sparc64.
- (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
- on sparc64.
- * configure.in (sparc-*-linux*): New supported target.
- (sparc64-*-linux*): Likewise.
- * configure: Rebuilt.
- * Makefile.am: Add v9.S to SPARC files.
- * Makefile.in: Likewise.
- (LINK): Surround $(CCLD) into double quotes, so that multilib
- compiles work correctly.
-
-2000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: (i*86-*-solaris*): New libffi target. Patch
- proposed by Bryce McKinlay.
-
-2000-03-20 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
-
- * config.guess, config.sub: Update from the gcc tree.
- Fix for PR libgcj/168.
-
-2000-03-03 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Fixed ia64 by hand.
-
- * configure: Rebuilt.
- * configure.in (--enable-multilib): New option.
- (libffi_basedir): New subst.
- (AC_OUTPUT): Added multilib code.
-
-2000-03-02 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
- directory name.
-
-2000-02-25 Hans Boehm <boehm@acm.org>
-
- * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
- files.
- * src/raw_api.c (ffi_translate_args): Fixed typo in argument
- list.
- (ffi_prep_raw_closure): Use ffi_translate_args, not
- ffi_closure_translate.
- * src/java_raw_api.c: New file.
- * src/ffitest.c (closure_test_fn): New function.
- (main): Define `rint' as long long on IA64. Added new test when
- FFI_CLOSURES is defined.
- * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
- (ffi_abi): Recognize IA64.
- (ffi_raw): Added `flt' field.
- Added "Java raw API" code.
- * configure.in: Recognize ia64.
- * Makefile.am (TARGET_SRC_IA64): New macro.
- (libffi_la_common_SOURCES): Added java_raw_api.c.
- (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01 Tom Tromey <tromey@cygnus.com>
-
- * include/ffi.h.in: Removed PACKAGE and VERSION defines and
- undefs.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
- * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
- Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
- * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09 Anthony Green <green@cygnus.com>
-
- * include/ffi.h.in: Try to work around messy header problem
- with PACKAGE and VERSION.
-
- * configure: Rebuilt.
- * configure.in: Change version to 2.00-beta.
-
- * fficonfig.h.in: Rebuilt.
- * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
- * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
-
- * src/x86/ffi.c (ffi_closure_SYSV): New function.
- (ffi_prep_incoming_args_SYSV): Ditto.
- (ffi_prep_closure): Ditto.
- (ffi_closure_raw_SYSV): Ditto.
- (ffi_prep_raw_closure): More ditto.
- (ffi_call_raw): Final ditto.
-
- * include/ffi.h.in: Add definitions for closure and raw API.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
- FFI_TYPE_UINT64.
-
- * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
- * src/raw_api.c: New file.
-
- * include/ffi.h.in (ffi_raw): New type.
- (UINT_ARG, SINT_ARG): New defines.
- (ffi_closure, ffi_raw_closure): New types.
- (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
- * configure.in: Add check for endianness and sizeof void*.
-
- * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
- instead of directly.
-
- * configure: Rebuilt.
-
-Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
-
- * configure.in: Add x86 and powerpc BeOS configurations.
- From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09 Anthony Green <green@cygnus.com>
-
- * configure.in: Add warning about this being beta code.
- Remove src/Makefile.am from the picture.
- * configure: Rebuilt.
-
- * Makefile.am: Move logic from src/Makefile.am. Add changes
- to support libffi as a target library.
- * Makefile.in: Rebuilt.
-
- * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
- Upgraded to new autoconf, automake, libtool.
-
- * README: Tweaks.
-
- * LICENSE: Update copyright date.
-
- * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29 Anthony Green <green@cygnus.com>
-
- * include/ChangeLog: Removed.
- * src/ChangeLog: Removed.
- * src/mips/ChangeLog: Removed.
- * src/sparc/ChangeLog: Remboved.
- * src/x86/ChangeLog: Removed.
-
- * ChangeLog.v1: Created.
diff --git a/.pc/unlikely/include/ffi_common.h b/.pc/unlikely/include/ffi_common.h
deleted file mode 100644
index 919eec2..0000000
--- a/.pc/unlikely/include/ffi_common.h
+++ /dev/null
@@ -1,128 +0,0 @@
-/* -----------------------------------------------------------------------
- ffi_common.h - Copyright (C) 2011 Anthony Green
- Copyright (C) 2007 Free Software Foundation, Inc
- Copyright (c) 1996 Red Hat, Inc.
-
- Common internal definitions and macros. Only necessary for building
- libffi.
- ----------------------------------------------------------------------- */
-
-#ifndef FFI_COMMON_H
-#define FFI_COMMON_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <fficonfig.h>
-
-/* Do not move this. Some versions of AIX are very picky about where
- this is positioned. */
-#ifdef __GNUC__
-/* mingw64 defines this already in malloc.h. */
-#ifndef alloca
-# define alloca __builtin_alloca
-#endif
-# define MAYBE_UNUSED __attribute__((__unused__))
-#else
-# define MAYBE_UNUSED
-# if HAVE_ALLOCA_H
-# include <alloca.h>
-# else
-# ifdef _AIX
- #pragma alloca
-# else
-# ifndef alloca /* predefined by HP cc +Olibcalls */
-# ifdef _MSC_VER
-# define alloca _alloca
-# else
-char *alloca ();
-# endif
-# endif
-# endif
-# endif
-#endif
-
-/* Check for the existence of memcpy. */
-#if STDC_HEADERS
-# include <string.h>
-#else
-# ifndef HAVE_MEMCPY
-# define memcpy(d, s, n) bcopy ((s), (d), (n))
-# endif
-#endif
-
-#if defined(FFI_DEBUG)
-#include <stdio.h>
-#endif
-
-#ifdef FFI_DEBUG
-void ffi_assert(char *expr, char *file, int line);
-void ffi_stop_here(void);
-void ffi_type_test(ffi_type *a, char *file, int line);
-
-#define FFI_ASSERT(x) ((x) ? (void)0 : ffi_assert(#x, __FILE__,__LINE__))
-#define FFI_ASSERT_AT(x, f, l) ((x) ? 0 : ffi_assert(#x, (f), (l)))
-#define FFI_ASSERT_VALID_TYPE(x) ffi_type_test (x, __FILE__, __LINE__)
-#else
-#define FFI_ASSERT(x)
-#define FFI_ASSERT_AT(x, f, l)
-#define FFI_ASSERT_VALID_TYPE(x)
-#endif
-
-#define ALIGN(v, a) (((((size_t) (v))-1) | ((a)-1))+1)
-#define ALIGN_DOWN(v, a) (((size_t) (v)) & -a)
-
-/* Perform machine dependent cif processing */
-ffi_status ffi_prep_cif_machdep(ffi_cif *cif);
-ffi_status ffi_prep_cif_machdep_var(ffi_cif *cif,
- unsigned int nfixedargs, unsigned int ntotalargs);
-
-/* Extended cif, used in callback from assembly routine */
-typedef struct
-{
- ffi_cif *cif;
- void *rvalue;
- void **avalue;
-} extended_cif;
-
-/* Terse sized type definitions. */
-#if defined(_MSC_VER) || defined(__sgi)
-typedef unsigned char UINT8;
-typedef signed char SINT8;
-typedef unsigned short UINT16;
-typedef signed short SINT16;
-typedef unsigned int UINT32;
-typedef signed int SINT32;
-# ifdef _MSC_VER
-typedef unsigned __int64 UINT64;
-typedef signed __int64 SINT64;
-# else
-# include <inttypes.h>
-typedef uint64_t UINT64;
-typedef int64_t SINT64;
-# endif
-#else
-typedef unsigned int UINT8 __attribute__((__mode__(__QI__)));
-typedef signed int SINT8 __attribute__((__mode__(__QI__)));
-typedef unsigned int UINT16 __attribute__((__mode__(__HI__)));
-typedef signed int SINT16 __attribute__((__mode__(__HI__)));
-typedef unsigned int UINT32 __attribute__((__mode__(__SI__)));
-typedef signed int SINT32 __attribute__((__mode__(__SI__)));
-typedef unsigned int UINT64 __attribute__((__mode__(__DI__)));
-typedef signed int SINT64 __attribute__((__mode__(__DI__)));
-#endif
-
-typedef float FLOAT32;
-
-#ifndef __GNUC__
-#define __builtin_expect(x, expected_value) (x)
-#endif
-#define LIKELY(x) __builtin_expect((x),1)
-#define UNLIKELY(x) __builtin_expect((x),1)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/.pc/variadic/.timestamp b/.pc/variadic/.timestamp
deleted file mode 100644
index e69de29..0000000
--- a/.pc/variadic/.timestamp
+++ /dev/null
diff --git a/.pc/variadic/ChangeLog b/.pc/variadic/ChangeLog
deleted file mode 100644
index 22aa3dd..0000000
--- a/.pc/variadic/ChangeLog
+++ /dev/null
@@ -1,4728 +0,0 @@
-2012-02-10 Kai Tietz <ktietz@redhat.com>
-
- * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
- windows target.
- * configure: Regenerated.
-
-2012-02-08 Kai Tietz <ktietz@redhat.com>
-
- * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
- also FFI_THISCALL.
- * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
- (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
- (ffi_prep_closure_loc): Add FFI_THISCALL support.
- * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
- * src/x86/win32.S (ffi_closure_THISCALL): New closure code
- for thiscall-calling convention.
- * testsuite/libffi.call/closure_thiscall.c: New test.
-
-2012-01-28 Kai Tietz <ktietz@redhat.com>
-
- * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
- argument to prototype for specify calling-convention.
- (ffi_call): Add support for stdcall/thiscall convention.
- (ffi_prep_args): Likewise.
- (ffi_raw_call): Likewise.
- * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
- FFI_FASTCALL.
- * src/x86/win32.S (_ffi_call_win32): Add support for
- fastcall/thiscall calling-convention calls.
- * testsuite/libffi.call/fastthis1_win32.c: New test.
- * testsuite/libffi.call/fastthis2_win32.c: New test.
- * testsuite/libffi.call/fastthis3_win32.c: New test.
- * testsuite/libffi.call/strlen2_win32.c: New test.
- * testsuite/libffi.call/many2_win32.c: New test.
- * testsuite/libffi.call/struct1_win32.c: New test.
- * testsuite/libffi.call/struct2_win32.c: New test.
-
-2012-01-23 Andreas Schwab <schwab@linux-m68k.org>
-
- * src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
- mc68000. Test for __HAVE_68881__ in addition to __MC68881__.
-
-2012-01-19 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/48496
- * src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
-
-2012-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (i?86-*-*): Set TARGET to X86_64.
- * configure: Regenerate.
-
-2011-12-07 Andrew Pinski <apinski@cavium.com>
-
- PR libffi/50051
- * src/mips/n32.S: Add ".set mips4".
-
-2011-11-21 Andreas Tobler <andreast@fgznet.ch>
-
- * configure: Regenerate.
-
-2011-11-12 Kyle Moffett <Kyle.D.Moffett@boeing.com>
-
- * src/powerpc/ffi.c, src/powerpc/ffitarget.h,
- src/powerpc/ppc_closure.S, src/powerpc/sysv.S: Many changes for
- softfloat powerpc variants.
-
-2011-11-12 Petr Salinger <Petr.Salinger@seznam.cz>
-
- * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Fix kfreebsd support.
- * configure: Rebuilt.
-
-2011-11-12 Timothy Wall <twall@users.sf.net>
-
- * src/arm/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV): Max
- alignment of 4 for wince on ARM.
-
-2011-11-12 Kyle Moffett <Kyle.D.Moffett@boeing.com>
- Anthony Green <green@moxielogic.com>
-
- * src/ppc/sysv.S, src/ppc/ffi.c: Remove use of ppc string
- instructions (not available on some cores, like the PPC440).
-
-2011-11-12 Kimura Wataru <kimuraw@i.nifty.jp>
-
- * m4/ax_enable_builddir: Change from string comparison to numeric
- comparison for wc output.
- * configure.ac: Enable FFI_MMAP_EXEC_WRIT for darwin11 aka Mac OS
- X 10.7.
- * configure: Rebuilt.
-
-2011-11-12 Anthony Green <green@moxielogic.com>
-
- * Makefile.am (AM_CCASFLAGS): Add -g option to build assembly
- files with debug info.
- * Makefile.in: Rebuilt.
-
-2011-11-12 Jasper Lievisse Adriaanse <jasper@openbsd.org>
-
- * README: Update list of supported OpenBSD systems.
-
-2011-11-12 Anthony Green <green@moxielogic.com>
-
- * libtool-version: Update.
- * Makefile.am (nodist_libffi_la_SOURCES): Add src/debug.c if
- FFI_DEBUG.
- (libffi_la_SOURCES): Remove src/debug.c
- (EXTRA_DIST): Add src/debug.c
- * Makefile.in: Rebuilt.
- * README: Update for 3.0.11.
-
-2011-11-10 Richard Henderson <rth@redhat.com>
-
- * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
- * configure, aclocal.m4: Rebuild.
-
-2011-09-04 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/49594
- * src/powerpc/darwin_closure.S (stubs): Make the stub binding
- helper reference track the architecture pointer size.
-
-2011-08-25 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
- instructions.
- * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
-
-2011-07-11 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46660
- * testsuite/libffi.call/cls_double_va.c: xfail dg-output on
- mips-sgi-irix6*.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
- PRId8 instead of %hhu, %hhd.
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
- PRIu8): Define.
- [__sgi__] (PRId8, PRIu8): Define.
-
-2011-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
- Define.
- Use them to handle ELF vs. ECOFF differences.
- [__osf__] (_GLOBAL__F_ffi_call_osf): Define.
-
-2011-03-30 Timothy Wall <twall@users.sf.net>
-
- * src/powerpc/darwin.S: Fix unknown FDE encoding.
- * src/powerpc/darwin_closure.S: ditto.
-
-2011-02-25 Anthony Green <green@moxielogic.com>
-
- * src/powerpc/ffi.c (ffi_prep_closure_loc): Allow for more
- 32-bit ABIs.
-
-2011-02-15 Anthony Green <green@moxielogic.com>
-
- * m4/ax_cc_maxopt.m4: Don't -malign-double or use -ffast-math.
- * configure: Rebuilt.
-
-2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2011-02-13 Anthony Green <green@moxielogic.com>
-
- * include/ffi_common.h (UNLIKELY, LIKELY): Define.
- * src/x86/ffi64.c (UNLIKELY, LIKELY): Remove definition.
- * src/prep_cif.c (UNLIKELY, LIKELY): Remove definition.
-
- * src/prep_cif.c (initialize_aggregate): Convert assertion into
- FFI_BAD_TYPEDEF return. Initialize arg size and alignment to 0.
-
- * src/pa/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
- just return FFI_BAD_ABI when things are wrong.
- * src/arm/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/powerpc/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/mips/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/ia64/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/avr32/ffi.c (ffi_prep_closure_loc): Ditto.
-
-2011-02-11 Anthony Green <green@moxielogic.com>
-
- * src/sparc/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
- just return FFI_BAD_ABI when things are wrong.
-
-2011-02-09 Stuart Shelton <srcshelton@gmail.com>
-
- http://bugs.gentoo.org/show_bug.cgi?id=286911
- * src/mips/ffitarget.h: Clean up error messages.
- * src/java_raw_api.c (ffi_java_translate_args): Cast raw arg to
- ffi_raw*.
- * include/ffi.h.in: Add pragma for SGI compiler.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * configure.ac: Add powerpc64-*-darwin* support.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * README: Mention Interix.
-
-2011-02-09 Jonathan Callen <abcd@gentoo.org>
-
- * configure.ac: Add Interix to win32/cygwin/mingw case.
- * configure: Ditto.
- * src/closures.c: Treat Interix like Cygwin, instead of as a
- generic win32.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * testsuite/libffi.call/err_bad_typedef.c: Remove xfail.
- * testsuite/libffi.call/err_bad_abi.c: Remove xfail.
- * src/x86/ffi64.c (UNLIKELY, LIKELY): Define.
- (ffi_prep_closure_loc): Check for bad ABI.
- * src/prep_cif.c (UNLIKELY, LIKELY): Define.
- (initialize_aggregate): Check for bad types.
-
-2011-02-09 Landon Fuller <landonf@plausible.coop>
-
- * Makefile.am (EXTRA_DIST): Add build-ios.sh, src/arm/gentramp.sh,
- src/arm/trampoline.S.
- (nodist_libffi_la_SOURCES): Add src/arc/trampoline.S.
- * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Define.
- * src/arm/ffi.c (ffi_trampoline_table)
- (ffi_closure_trampoline_table_page, ffi_trampoline_table_entry)
- (FFI_TRAMPOLINE_CODELOC_CONFIG, FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET)
- (FFI_TRAMPOLINE_COUNT, ffi_trampoline_lock, ffi_trampoline_tables)
- (ffi_trampoline_table_alloc, ffi_closure_alloc, ffi_closure_free):
- Define for FFI_EXEC_TRAMPOLINE_TABLE case (iOS).
- (ffi_prep_closure_loc): Handl FFI_EXEC_TRAMPOLINE_TABLE case
- separately.
- * src/arm/sysv.S: Handle Apple iOS host.
- * src/closures.c: Handle FFI_EXEC_TRAMPOLINE_TABLE case.
- * build-ios.sh: New file.
- * fficonfig.h.in, configure, Makefile.in: Rebuilt.
- * README: Mention ARM iOS.
-
-2011-02-08 Oren Held <orenhe@il.ibm.com>
-
- * src/dlmalloc.c (_STRUCT_MALLINFO): Define in order to avoid
- redefinition of mallinfo on HP-UX.
-
-2011-02-08 Ginn Chen <ginn.chen@oracle.com>
-
- * src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
- aggregate return ABI. Flush cache.
- (ffi_prep_closure_loc): Flush cache.
-
-2011-02-11 Anthony Green <green@moxielogic.com>
-
- From Tom Honermann <tom.honermann@oracle.com>:
- * src/powerpc/aix.S (ffi_call_AIX): Support for xlc toolchain on
- AIX. Declare .ffi_prep_args. Insert nops after branch
- instructions so that the AIX linker can insert TOC reload
- instructions.
- * src/powerpc/aix_closure.S: Declare .ffi_closure_helper_DARWIN.
-
-2011-02-08 Ed <ed@kdtc.net>
-
- * src/powerpc/asm.h: Fix grammar nit in comment.
-
-2011-02-08 Uli Link <ul.mcamafia@linkitup.de>
-
- * include/ffi.h.in (FFI_64_BIT_MAX): Define and use.
-
-2011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46661
- * testsuite/libffi.call/cls_pointer.c (main): Cast void * to
- uintptr_t first.
- * testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
-
-2011-02-08 Rafael Avila de Espindola <respindola@mozilla.com>
-
- * configure.ac: Fix x86 test for pc related relocs.
- * configure: Rebuilt.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
- Handle case when CPU variant does not have long double support.
- * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
- and cores with soft floating point.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * configure.ac: Add mips*-*-rtems* support.
- * configure: Regenerate.
- * src/mips/ffitarget.h: Ensure needed constants are available
- for targets which do not have sgidefs.h.
-
-2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR target/40125
- * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
- * configure: Regenerate.
-
-2010-12-18 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/29152
- PR libffi/42378
- * src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
- (FFI_TRAMPOLINE_SIZE): Update for Darwin64.
- * src/powerpc/darwin.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
- backslashes.
- (libffi_cv_as_string_pseudo_op): Likewise.
- * configure: Regenerate.
-
-2010-12-03 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
- (ffi_closure_VFP): Same.
- (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
- directive.
-
-2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
- (PRIuPTR): Define.
-
-2010-11-29 Richard Henderson <rth@redhat.com>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
- (.eh_frame): Use FDE_ENCODING.
- (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
-
-2010-11-22 Jacek Caban <jacek@codeweavers.com>
-
- * configure.ac: Check for symbol underscores on mingw-w64.
- * configure: Rebuilt.
- * src/x86/win64.S: Correctly access extern symbols in respect to
- underscores.
-
-2010-11-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp: Rename ...
- * testsuite/lib/libffi.exp: ... to this.
- * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
- * libffi/testsuite/libffi.special/special.exp: Likewise.
-
-2010-10-28 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
- code, new parameter, and return value. Update comments.
- (ffi_prep_cif_machdep): Add case for VFP struct return values. Add
- call to layout_vfp_args().
- (ffi_call_SYSV): Update declaration.
- (ffi_call_VFP): New declaration.
- (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
- when ABI is FFI_VFP.
- (ffi_closure_VFP): New declaration.
- (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
- ffi_prep_incoming_args_SYSV().
- (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
- case handling.
- (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
- construction under VFP hard-float.
- (rec_vfp_type_p): New function.
- (vfp_type_p): Same.
- (place_vfp_arg): Same.
- (layout_vfp_args): Same.
- * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
- based on __ARM_PCS_VFP.
- (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
- fields.
- (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
- (FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
- * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
- direct call. Move function pointer load upwards.
- (ffi_call_VFP): New function.
- (ffi_closure_VFP): Same.
-
- * testsuite/lib/libffi-dg.exp (check-flags): New function.
- (dg-skip-if): New function.
- * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
- and compiler options include -mfloat-abi=hard.
- * testsuite/libffi.call/cls_longdouble_va.c: Same.
-
-2010-10-01 Jakub Jelinek <jakub@redhat.com>
-
- PR libffi/45677
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
- a multiple of 8.
- * testsuite/libffi.call/many2.c: New test.
-
-2010-08-20 Mark Wielaard <mjw@redhat.com>
-
- * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
- returns NULL.
-
-2010-08-09 Andreas Tobler <andreast@fgznet.ch>
-
- * configure.ac: Add target powerpc64-*-freebsd*.
- * configure: Regenerate.
- * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
- -mlong-double-128 only to linux targets.
- * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
- * testsuite/libffi.call/cls_longdouble.c: Likewise.
- * testsuite/libffi.call/huge_struct.c: Likewise.
-
-2010-08-05 Dan Witte <dwitte@mozilla.com>
-
- * Makefile.am: Pass FFI_DEBUG define to msvcc.sh for linking to the
- debug CRT when --enable-debug is given.
- * configure.ac: Define it.
- * msvcc.sh: Translate -g and -DFFI_DEBUG appropriately.
-
-2010-08-04 Dan Witte <dwitte@mozilla.com>
-
- * src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64
- platforms.
- * src/x86/ffi.c: Remove redundant ifdef checks.
- * src/prep_cif.c: Push stack space computation into src/x86/ffi.c
- for X86_ANY so return value space doesn't get added twice.
-
-2010-08-03 Neil Rashbrooke <neil@parkwaycc.co.uk>
-
- * msvcc.sh: Don't pass -safeseh to ml64 because behavior is buggy.
-
-2010-07-22 Dan Witte <dwitte@mozilla.com>
-
- * src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
- * src/prep_cif.c: Fix ABI assertion.
- * src/cris/ffi.c: Ditto.
-
-2010-07-10 Evan Phoenix <evan@fallingsnow.net>
-
- * src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
-
-2010-07-07 Dan Horák <dan@danny.cz>
-
- * include/ffi.h.in: Protect #define with #ifndef.
- * src/powerpc/ffitarget.h: Ditto.
- * src/s390/ffitarget.h: Ditto.
- * src/sparc/ffitarget.h: Ditto.
-
-2010-07-07 Neil Roberts <neil@linux.intel.com>
-
- * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
- 16-bytes.
-
-2010-07-02 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
- * Makefile.in: Regenerated.
-
-2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
- output, too.
- (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
- (libffi_cv_as_string_pseudo_op): Check for .string.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
-
-2010-05-11 Dan Witte <dwitte@mozilla.com>
-
- * doc/libffi.tex: Document previous change.
-
-2010-05-11 Makoto Kato <m_kato@ga2.so-net.ne.jp>
-
- * src/x86/ffi.c (ffi_call): Don't copy structs passed by value.
-
-2010-05-05 Michael Kohler <michaelkohler@live.com>
-
- * src/dlmalloc.c (dlfree): Fix spelling.
- * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
- * configure.ac: Ditto.
- * configure: Rebuilt.
-
-2010-04-13 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Build with -W3 instead of -Wall.
- * src/powerpc/ffi_darwin.c: Remove build warnings.
- * src/x86/ffi.c: Ditto.
- * src/x86/ffitarget.h: Ditto.
-
-2010-04-12 Dan Witte <dwitte@mozilla.com>
- Walter Meinl <wuno@lsvw.de>
-
- * configure.ac: Add OS/2 support.
- * configure: Rebuilt.
- * src/closures.c: Ditto.
- * src/dlmalloc.c: Ditto.
- * src/x86/win32.S: Ditto.
-
-2010-04-07 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
-
-2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2010-03-30 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Disable build warnings.
- * README (tested): Clarify windows build procedure.
-
-2010-03-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * libffi/src/x86/unix64.S (.eh_frame)
- [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
-
-2010-03-14 Matthias Klose <doko@ubuntu.com>
-
- * src/x86/ffi64.c: Fix typo in comment.
- * src/x86/ffi.c: Use /* ... */ comment style.
-
-2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/libffi.texi (The Closure API): Fix typo.
- * doc/libffi.info: Remove.
-
-2010-02-15 Matthias Klose <doko@ubuntu.com>
-
- * src/arm/sysv.S (__ARM_ARCH__): Define for processor
- __ARM_ARCH_7EM__.
-
-2010-01-15 Anthony Green <green@redhat.com>
-
- * README: Add notes on building with Microsoft Visual C++.
-
-2010-01-15 Daniel Witte <dwitte@mozilla.com>
-
- * msvcc.sh: New file.
-
- * src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
- * src/x86/ffi.c: Tweak function declaration and remove excess
- parens.
- * include/ffi.h.in: Add __declspec(align(8)) to typedef struct
- ffi_closure.
-
- * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
- function ffi_call_win32 on X86_WIN32.
- * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
- (ffi_call_STDCALL): Remove.
-
- * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
- to ffi_prep_cif_machdep for x86.
- * src/x86/ffi.c (ffi_prep_cif_machdep): To here.
-
-2010-01-15 Oliver Kiddle <okiddle@yahoo.co.uk>
-
- * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
- Sun Studio compiler compatibility.
-
-2010-01-12 Conrad Irwin <conrad.irwin@gmail.com>
-
- * doc/libffi.texi: Add closure example.
-
-2010-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40701
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
- PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
- * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
- alpha*-dec-osf*.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/return_ll1.c: Likewise.
- * testsuite/libffi.call/stret_medium2.c: Likewise.
- * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
- MAP_FAILED to char *.
-
-2010-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
-
-2009-12-31 Anthony Green <green@redhat.com>
-
- * README: Update for libffi 3.0.9.
-
-2009-12-27 Matthias Klose <doko@ubuntu.com>
-
- * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
- appropriate.
- * configure: Rebuilt.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
- avr32*-*-*.
- * testsuite/libffi.call/cls_double_va.c: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
- and inttypes.h.
- * testsuite/libffi.special/unwindtest.cc: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-openbsd*.
- * configure: Rebuilt.
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
- openbsd programs with -lpthread.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
- mips*-*-* and arm*-*-*.
- * testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c,
- testsuite/libffi.call/stret_medium2.c,
- testsuite/libffi.call/stret_medium.c,
- testsuite/libffi.call/stret_large.c,
- testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
-
-2009-12-31 Kay Tietz <ktietz70@googlemail.com>
-
- * testsuite/libffi.call/ffitest.h,
- testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
- definitions.
-
-2009-12-31 Carlo Bramini <carlo.bramix@libero.it>
-
- * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
- * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
-
-2009-12-31 Anthony Green <green@redhat.com>
- Blake Chaffin.
-
- * testsuite/libffi.call/huge_struct.c: New test case from Blake
- Chaffin @ Apple.
-
-2009-12-28 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
- local variables.
- (aix_adjust_aggregate_sizes): New function.
- (ffi_prep_cif_machdep): Call it.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
- * configure: Regenerate.
- * fficonfig.h.in: Likewise.
- * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
- Solaris/x86.
-
-2009-12-26 Andreas Schwab <schwab@linux-m68k.org>
-
- * 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.
-
-2009-12-25 Matthias Klose <doko@ubuntu.com>
-
- * man/ffi_call.3: Fix #include in examples.
- * doc/libffi.texi: Add dircategory.
-
-2009-12-25 Frank Everdij <f.p.x.everdij@tudelft.nl>
-
- * include/ffi.h.in: Placed '__GNUC__' ifdef around
- '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
- IRIX MIPSPro c99.
- * include/ffi_common.h: Added '__sgi' define to non
- '__attribute__((__mode__()))' integer typedefs.
- * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
- ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
- (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
- FFI_LONGDOUBLE support and alignment(N32 only).
- * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
- fixed non '__attribute__((__mode__()))' integer typedefs.
- * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
- since they are Linux/GNU Assembler specific.
-
-2009-12-25 Bradley Smith <brad@brad-smith.co.uk>
-
- * configure.ac, Makefile.am, src/avr32/ffi.c,
- src/avr32/ffitarget.h,
- src/avr32/sysv.S: Add AVR32 port.
- * configure, Makefile.in: Rebuilt.
-
-2009-12-21 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
- * configure: Regenerate.
-
-2009-12-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
- type on HP-UX.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
- double' arguments.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40700
- * src/closures.c [X86_64 && __sun__ && __svr4__]
- (FFI_MMAP_EXEC_WRIT): Define.
-
-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.
-
-2009-12-07 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
- typo.
-
-2009-12-05 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
- code.
- * src/powerpc/aix_closure.S: Same.
-
-2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
- linux64_closure.S.
-
-2009-12-04 Uros Bizjak <ubizjak@gmail.com>
-
- 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.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
- pfr for long double split between fpr13 and stack.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
- fparg_count twice for long double.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- PR libffi/42243
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03 Uros Bizjak <ubizjak@gmail.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
- Remove xfails for x86 linux targets.
-
-2009-12-02 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
- case.
-
-2009-12-01 David Edelsohn <edelsohn@gnu.org>
-
- * 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.
-
-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.
-
-2009-11-02 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/41908
- * testsuite/libffi.call/testclosure.c: New test.
-
-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.
-
-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.
-
-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.
-
-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.
-
-2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.am (install-html, install-pdf): Remove.
- * Makefile.in: Regenerate.
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2011-08-22 Jasper Lievisse Adriaanse <jasper@openbsd.org>
-
- * configure.ac: Add OpenBSD/hppa and OpenBSD/powerpc support.
- * configure: Rebuilt.
-
-2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24 Dave Korn <dave.korn.cygwin@gmail.com>
-
- 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.
-
-2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
-
- 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.
-
-2009-07-01 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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 "".)
-
-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.
-
-2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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.
-
-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.
-
-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.
-
-2009-06-16 Andrew Haley <aph@redhat.com>
-
- * configure.ac (TARGETDIR): Add missing blank lines.
- * configure: Regenerate.
-
-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.
-
-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.
-
-2009-06-12 Andrew Haley <aph@redhat.com>
-
- * Makefile.am: Remove info_TEXINFOS.
-
-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-11 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * 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.
-
-2009-06-09 Andrew Haley <aph@redhat.com>
-
- * src/x86/freebsd.S: Add missing file.
-
-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).
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * README: Import from libffi 3.0.8.
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Add xfails.
- * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
- * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
- * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
- * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
- * testsuite/libffi.call/stret_medium.c: Likewise.
- * testsuite/libffi.call/stret_large2.c: Likewise.
- * testsuite/libffi.call/stret_large.c: Likewise.
-
-2008-12-26 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_align_longdouble.c,
- testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
- failures on x86_64 cygwin/mingw.
-
-2008-12-22 Timothy Wall <twall@users.sf.net>
-
- * 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_loc_fn0.c,
- testsuite/libffi.call/closure_stdcall.c,
- testsuite/libffi.call/cls_align_pointer.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
- pointer to integer (intptr_t).
- * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_dbls_struct.c,
- testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c,
- testsuite/libffi.call/err_bad_abi.c: Clean up failures from
- compiler warnings.
-
-2008-03-04 Anthony Green <green@redhat.com>
- Blake Chaffin
- hos@tamanegi.org
-
- * testsuite/libffi.call/cls_align_longdouble_split2.c
- testsuite/libffi.call/cls_align_longdouble_split.c
- testsuite/libffi.call/cls_dbls_struct.c
- testsuite/libffi.call/cls_double_va.c
- testsuite/libffi.call/cls_longdouble.c
- testsuite/libffi.call/cls_longdouble_va.c
- testsuite/libffi.call/cls_pointer.c
- testsuite/libffi.call/cls_pointer_stack.c
- testsuite/libffi.call/err_bad_abi.c
- testsuite/libffi.call/err_bad_typedef.c
- testsuite/libffi.call/stret_large2.c
- testsuite/libffi.call/stret_large.c
- testsuite/libffi.call/stret_medium2.c
- testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
- libffi.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
- stdcall changes.
-
-2008-02-26 Anthony Green <green@redhat.com>
- Thomas Heller <theller@ctypes.org>
-
- * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
- comment.
-
-2008-02-03 Timothy Wall <twall@users.sf.net>
-
- * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
- offset based on code pointer, not data pointer.
-
-2008-01-31 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
- closures.
- * src/x86/ffitarget.h: Increase size of trampoline for stdcall
- closures.
- * src/x86/win32.S: Add assembly for stdcall closure.
- * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Change void (*)() to void (*)(void).
- * src/x86/ffi.c: Likewise.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ppc_closure.S: Insert licence header.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/m68k/sysv.S: Likewise.
-
- * src/sh64/ffi.c: Change void (*)() to void (*)(void).
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/m32r/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi64.c: Likewise.
- * src/alpha/ffi.c: Likewise.
- * src/alpha/osf.S: Likewise.
- * src/frv/ffi.c: Likewise.
- * src/s390/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/pa/hpux32.S: Likewise.
- * src/ia64/unix.S: Likewise.
- * src/ia64/ffi.c: Likewise.
- * src/sparc/ffi.c: Likewise.
- * src/mips/ffi.c: Likewise.
- * src/sh/ffi.c: Likewise.
-
-2008-02-15 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
- Define (conditionally), and use it to include cachectl.h.
- (ffi_prep_closure_loc): Fix cache flushing.
- * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- include/ffi.h.in,
- src/arm/ffitarget.h,
- src/arm/ffi.c,
- src/arm/sysv.S,
- src/powerpc/ffitarget.h,
- src/closures.c,
- src/sh64/ffitarget.h,
- src/sh64/ffi.c,
- src/sh64/sysv.S,
- src/types.c,
- src/x86/ffi64.c,
- src/x86/ffitarget.h,
- src/x86/win32.S,
- src/x86/darwin.S,
- src/x86/ffi.c,
- src/x86/sysv.S,
- src/x86/unix64.S,
- src/alpha/ffitarget.h,
- src/alpha/ffi.c,
- src/alpha/osf.S,
- src/m68k/ffitarget.h,
- src/frv/ffitarget.h,
- src/frv/ffi.c,
- src/s390/ffitarget.h,
- src/s390/sysv.S,
- src/cris/ffitarget.h,
- src/pa/linux.S,
- src/pa/ffitarget.h,
- src/pa/ffi.c,
- src/raw_api.c,
- src/ia64/ffitarget.h,
- src/ia64/unix.S,
- src/ia64/ffi.c,
- src/ia64/ia64_flags.h,
- src/java_raw_api.c,
- src/debug.c,
- src/sparc/v9.S,
- src/sparc/ffitarget.h,
- src/sparc/ffi.c,
- src/sparc/v8.S,
- src/mips/ffitarget.h,
- src/mips/n32.S,
- src/mips/o32.S,
- src/mips/ffi.c,
- src/prep_cif.c,
- src/sh/ffitarget.h,
- src/sh/ffi.c,
- src/sh/sysv.S: Update license text.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * src/x86/win32.S (_ffi_closure_STDCALL): New function.
- (.eh_frame): Add FDE for it.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * configure.ac: Also check if assembler supports pc-relative
- relocs on X86_WIN32 targets.
- * configure: Regenerate.
- * src/x86/win32.S (ffi_prep_args): Declare extern, not global.
- (_ffi_call_SYSV): Add missing function type symbol .def and
- add EH markup labels.
- (_ffi_call_STDCALL): Likewise.
- (_ffi_closure_SYSV): Likewise.
- (_ffi_closure_raw_SYSV): Likewise.
- (.eh_frame): Add hand-crafted EH data.
-
-2009-04-09 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
- version 3 of the GNU General Public License and to point readers
- at the COPYING3 file and the FSF's license web page.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-12-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libffi/26048
- * configure.ac (HAVE_AS_X86_PCREL): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
- RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
- RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
- * src/x86/unix64.S (.Lstore_table): Move to .text section.
- (.Lload_table): Likewise.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
- signed/unsigned int8/16 return values.
- * src/sparc/v8.S (ffi_call_v8): Likewise.
- (ffi_closure_v8): Likewise.
-
-2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
- Steve Ellcey <sje@cup.hp.com>
-
- * configure: Regenerate for new libtool.
- * Makefile.in: Ditto.
- * include/Makefile.in: Ditto.
- * aclocal.m4: Ditto.
-
-2008-08-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
- FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
- Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
- Adjust copyright notice.
- * src/powerpc/ffi.c: Add two new flags to indicate if we have one
- register or two register to use for FFI_SYSV structs.
- (ffi_prep_cif_machdep): Pass the right register flag introduced above.
- (ffi_closure_helper_SYSV): Fix the return type for
- FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
- Adjust copyright notice.
-
-2008-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
- int.
-
-2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2008-06-07 Joseph Myers <joseph@codesourcery.com>
-
- * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
- powerpc-*-beos*): Remove.
- * configure: Regenerate.
-
-2008-05-09 Julian Brown <julian@codesourcery.com>
-
- * Makefile.am (LTLDFLAGS): New.
- (libffi_la_LDFLAGS): Use above.
- * Makefile.in: Regenerate.
-
-2008-04-18 Paolo Bonzini <bonzini@gnu.org>
-
- PR bootstrap/35457
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2008-03-26 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add .note.GNU-stack on Linux.
- * src/sh64/sysv.S: Likewise.
-
-2008-03-26 Daniel Jacobowitz <dan@debian.org>
-
- * src/arm/sysv.S: Fix ARM comment marker.
-
-2008-03-26 Jakub Jelinek <jakub@redhat.com>
-
- * src/alpha/osf.S: Add .note.GNU-stack on Linux.
- * src/s390/sysv.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
- * src/x86/unix64.S: Likewise.
- * src/x86/sysv.S: Likewise.
- * src/sparc/v8.S: Likewise.
- * src/sparc/v9.S: Likewise.
- * src/m68k/sysv.S: Likewise.
- * src/arm/sysv.S: Likewise.
-
-2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * aclocal.m4: Regenerate.
- * configure: Likewise.
- * Makefile.in: Likewise.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2008-02-12 Bjoern Koenig <bkoenig@alpha-tierchen.de>
- Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-freebsd* target.
- * configure: Regenerate.
-
-2008-01-30 H.J. Lu <hongjiu.lu@intel.com>
-
- PR libffi/34612
- * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
- returning struct.
-
- * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
- tests.
-
-2008-01-24 David Edelsohn <edelsohn@gnu.org>
-
- * configure: Regenerate.
-
-2008-01-06 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
-
-2008-01-05 Andreas Tobler <a.tobler@schweiz.org>
-
- PR testsuite/32843
- * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
- signed/unsigned int8/16 for X86_DARWIN.
- Updated copyright info.
- Handle one and two byte structs with special cif->flags.
- * src/x86/ffitarget.h: Add special types for one and two byte structs.
- Updated copyright info.
- * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
- sysv.S
- Remove code to pop args from the stack after call.
- Special-case signed/unsigned for int8/16, one and two byte structs.
- (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
- FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
- FFI_TYPE_SINT32.
- Updated copyright info.
-
-2007-12-08 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_call_N32): Replace dadd with ADDU, dsub with
- SUBU, add with ADDU and use smaller code sequences.
-
-2007-12-07 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
- type.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
- defined.
- (ffi_java_raw): New typedef.
- (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
- ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
- ffi_java_raw.
- (ffi_java_raw_closure) : Same.
- (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
- parameter types.
- * src/java_raw_api.c (ffi_java_raw_size): Replace FFI_SIZEOF_ARG with
- FFI_SIZEOF_JAVA_RAW.
- (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
- Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
- sizeof(ffi_java_raw) for alignment calculations.
- (ffi_java_ptrarray_to_raw): Same.
- (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
- if FFI_SIZEOF_JAVA_RAW == 4.
- (ffi_java_raw_to_rvalue): Same.
- (ffi_java_raw_call): Change type of raw to ffi_java_raw.
- (ffi_java_translate_args): Same.
- (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
- parameter types.
- * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
- pointer values.
-
-2007-12-01 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/31937
- * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
- Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
- * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
- set the NUM_FPR_ARG_REGISTERS according to.
- Add support for potential soft-float support under hard-float
- architecture.
- (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
- FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
- to the FFI_LINUX_SOFT_FLOAT ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Make sure not to store float/double
- on archs where __NO_FPRS__ is true.
- Add FFI_TYPE_UINT128 support.
- * src/powerpc/sysv.S: Add support for soft-float long-double-128.
- Adjust copyright notice.
-
-2007-11-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
- * include/ffi_common.h: ... here.
- Update copyright.
-
-2007-11-17 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
- * testsuite/libffi.call/return_ldl.c: New test.
-
-2007-09-04 <aph@redhat.com>
-
- * src/arm/sysv.S (UNWIND): New.
- (Whole file): Conditionally compile unwinder directives.
- * src/arm/sysv.S: Add unwinder directives.
-
- * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
- Only treat r0 as a struct address if we're actually returning a
- struct by address.
- Only copy the bytes that are actually within a struct.
- (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
- is returned in r0, not passed by address.
- (ffi_call): Allocate a word-sized temporary for the case where
- a composite is returned in r0.
- (ffi_prep_incoming_args_SYSV): Align as necessary.
-
-2007-08-05 Steven Newbury <s_j_newbury@yahoo.co.uk>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
- directly using the sys_cacheflush syscall.
-
-2007-07-27 Andrew Haley <aph@redhat.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
-
-2007-09-03 Maciej W. Rozycki <macro@linux-mips.org>
-
- * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure: Likewise.
-
-2007-08-24 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/return_sl.c: New test.
-
-2007-08-10 David Daney <ddaney@avtrex.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/nested_struct5.c,
- testsuite/libffi.call/cls_double.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/nested_struct.c,
- testsuite/libffi.call/cls_2byte.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_sint16.c,
- testsuite/libffi.call/cls_align_uint32.c,
- testsuite/libffi.call/cls_20byte.c,
- testsuite/libffi.call/cls_float.c,
- testsuite/libffi.call/nested_struct2.c,
- testsuite/libffi.call/cls_5_1_byte.c,
- testsuite/libffi.call/nested_struct4.c,
- testsuite/libffi.call/cls_24byte.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: Remove xfail for mips64*-*-*.
-
-2007-08-10 David Daney <ddaney@avtrex.com>
-
- 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.
-
-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*.
- * 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.
-
-2006-12-13 Andreas Tobler <a.tobler@schweiz.org>
-
- * aclocal.m4: Regenerate with aclocal -I .. as written in the
- Makefile.am.
-
-2006-10-31 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
- (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
- Darwin.
- * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
- * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10 Paolo Bonzini <bonzini@gnu.org>
- Sandro Tolaini <tolaini@libero.it>
-
- * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
- conditional.
- * configure: Regenerated.
- * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
- (EXTRA_DIST): Add src/x86/darwin.S.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
- X86_WIN32, and additionally align stack to 16 bytes.
- * src/x86/darwin.S: New, based on sysv.S.
- * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12 David Daney <ddaney@avtrex.com>
-
- PR libffi/23935
- * include/Makefile.am: Install both ffi.h and ffitarget.h in
- $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
- * aclocal.m4: Regenerated for automake 1.9.6.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
-2006-08-17 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h: Remove lint directives.
- * include/ffi.h.in: Likewise.
-
-2006-07-25 Torsten Schoenfeld <kaffeetisch@gmx.de>
-
- * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
- for 32-bit architectures.
- * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
- xfail remains for mips64.
-
-2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
-
- * Makefile.am: Add install-html target. Add install-html to .PHONY
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
- stack slot.
-
-2006-04-22 Andreas Tobler <a.tobler@schweiz.ch>
-
- * README: Remove notice about 'Crazy Comments'.
- * src/debug.c: Remove lint directives. Cleanup white spaces.
- * src/java_raw_api.c: Likewise.
- * src/prep_cif.c: Likewise.
- * src/raw_api.c: Likewise.
- * src/ffitest.c: Delete. No longer needed, all test cases migrated
- to the testsuite.
- * src/arm/ffi.c: Remove lint directives.
- * src/m32r/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/sh/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/pa/hpux32.S: Correct unwind offset calculation for
- ffi_closure_pa32.
- * src/pa/linux.S: Likewise.
-
-2006-04-12 James E Wilson <wilson@specifix.com>
-
- PR libgcj/26483
- * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
- (hfa_type_load): Call stf_spill.
- (hfa_type_store): Call ldf_fill.
- (ffi_call): Adjust calls to above routines. Add local temps for
- macro result.
-
-2006-04-10 Matthias Klose <doko@debian.org>
-
- * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
- directory names containing underscores.
-
-2006-04-07 James E Wilson <wilson@specifix.com>
-
- * testsuite/libffi.call/float4.c: New testcase.
-
-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.
-
-2006-03-24 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Default
- for 32-bit using IBM extended double format. Fix FFI_LAST_ABI.
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
- FFI_TYPE_LONGDOUBLE.
- (ffi_prep_args64): Assert using IBM extended double.
- (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
- Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
- (ffi_call): Handle FFI_LINUX.
- (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
- gpr3 return pointer as for struct return. Handle FFI_LINUX
- FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf"
- unnecessarily.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
- for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table.
- Don't use r6 as pointer to results, instead use sp offset. Don't
- make a special call to load lr with case table address, instead
- use offset from previous call.
- * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
- return.
-
-2006-03-15 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
- passed with FP registers correctly.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S: Likewise.
-
-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.
-
-2006-02-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
- -O2, -O3, -Os and the warning flags -W -Wall.
- * testsuite/libffi.special/special.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
- unused parameter unused for gcc or else do nothing.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
- * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
- * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
- * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
- * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
- * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
- * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
- * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
- * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
- void* to avoid compiler warning.
- (main): Likewise.
- (cls_struct_align_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
- * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
- * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
- userdata unused.
- (cls_ret_schar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
- userdata unused.
- (cls_ret_sint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
- userdata unused.
- (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn): Mark cif and
- userdata unused.
- (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
- userdata unused.
- (cls_ret_uint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
- userdata unused.
- (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
- * testsuite/libffi.call/float1.c (main): Remove unused variable i.
- Cleanup white spaces.
- * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
- * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
- cif and userdata unused.
- * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
- Likewise.
- * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
- formatters to silence gcc.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct4.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct6.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
- * testsuite/libffi.call/problem1.c (stub): Likewise.
- * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
- gcc.
- * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
- in the last commit for this test case in the test case itself.
- * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
- unused.
- * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
- * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
- * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
- * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
- * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
- * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Fix register numbers in the FDE for
- ffi_closure_SYSV.
-
-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.
-
-2006-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
- and cast integer to void * if needed. Update the pointer to
- the FP register saved area correctly.
-
-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.
-
-2006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/return_dbl.c: New test case.
- * testsuite/libffi.call/return_dbl1.c: Likewise.
- * testsuite/libffi.call/return_dbl2.c: Likewise.
- * testsuite/libffi.call/return_fl.c: Likewise.
- * testsuite/libffi.call/return_fl1.c: Likewise.
- * testsuite/libffi.call/return_fl2.c: Likewise.
- * testsuite/libffi.call/return_fl3.c: Likewise.
- * testsuite/libffi.call/closure_fn6.c: Likewise.
-
- * 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.
-
-2006-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.ac: Enable libffi for sparc64-*-freebsd*.
- * configure: Rebuilt.
-
-2006-01-18 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
- instead do the shifting inline.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
- shift count unconditionally. Simplify load sequences for 1, 2, 3, 4
- and 8 byte structs, for the remaining struct sizes don't call
- __lshrdi3, instead do the shifting inline.
-
-2005-12-07 Thiemo Seufer <ths@networkno.de>
-
- * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
- missing parentheses.
- * src/mips/o32.S (ffi_call_O32): Code formatting. Define
- and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
- (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
- A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
- V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
- FA_0_0_OFF2.
- * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
- endianness bugs.
- (ffi_prep_closure): Improve trampoline instruction scheduling.
- (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c: Formatting.
- (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
- (ffi_prep_args64): Likewise.
-
-2005-09-30 Geoffrey Keating <geoffk@apple.com>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
- darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26 Tom Tromey <tromey@redhat.com>
-
- * 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.
-
-2005-08-25 Alan Modra <amodra@bigpond.net.au>
-
- PR target/23404
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
- homed fp args.
- (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11 Jakub Jelinek <jakub@redhat.com>
-
- * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
- (AH_BOTTOM): Add FFI_HIDDEN definition.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * src/powerpc/ffi.c (hidden): Remove.
- (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
- ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
- .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
- * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
- add FFI_HIDDEN to its prototype.
- (ffi_closure_SYSV_inner): New.
- * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
- * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10 Alfred M. Szmidt <ams@gnu.org>
-
- PR libffi/21819:
- * configure: Rebuilt.
- * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
- DW_CFA_offset_extended_sf rather than
- DW_CFA_GNU_negative_offset_extended.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
-
- * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
- on sh3.
- (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
- * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
- partially on register.
- (ffi_closure_helper_SYSV): Likewise.
- (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_call): Handle small structures correctly.
- Remove empty line.
- * src/sh64/ffi.c (simple_type): Remove.
- (return_type): Handle small structures correctly.
- (ffi_prep_args): Likewise.
- (ffi_call): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
- Emit position independent code if PIC and remove wrong datalabel
- prefixes from EH data.
-
-2005-07-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure.ac: Add POWERPC_FREEBSD rules.
- * configure: Regenerate.
- * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
- (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
- * src/powerpc/ffi.c: Add flags to handle small structure returns
- in ffi_call_SYSV.
- (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
- Aka FFI_SYSV.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Add return types for small structures.
- * src/powerpc/sysv.S: Add bits to handle small structures for
- final SYSV 4 ABI.
-
-2005-07-10 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_5_1_byte.c: New test file.
- * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05 Randolph Chung <tausq@debian.org>
-
- * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
- as FFI_TYPE_SMALL_STRUCT3. Break out handling for 5-7 byte
- structures. Kill compilation warnings.
- (ffi_closure_inner_LINUX): Print return values as hex in debug
- message. Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
- Properly handle 5-7 byte structure returns.
- * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
- (FFI_TYPE_SMALL_STRUCT2): Remove.
- (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
- (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
- * src/pa/linux.S: Mark source file as using PA1.1 assembly.
- (checksmst1, checksmst2): Remove.
- (checksmst3): Optimize handling of 3-byte struct returns.
- (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libgcj/21943
- * src/mips/n32.S: Enforce PIC code.
- * src/mips/o32.S: Likewise.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
- * configure: Regenerate.
-
-2005-06-01 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
- to call ffi_closure_helper_SYSV. Append @local instead.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
- Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
- * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
- * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
- include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-05-08 Richard Henderson <rth@redhat.com>
-
- PR libffi/21285
- * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04 Andreas Degert <ad@papyrus-gmbh.de>
- Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
- bit 11 of flags.
- (ffi_call): Mask return type field. Pass ssecount to ffi_call_unix64.
- (ffi_prep_closure): Set carry bit if sse-used flag set.
- * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
- Only load sse registers if ssecount non-zero.
- (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
- powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
- * configure: Regenerate.
-
-2005-04-20 Hans-Peter Nilsson <hp@axis.com>
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
- have Tcl8.3-compatible intermediate variable.
-
-2005-04-18 Simon Posnjak <simon.posnjak@siol.net>
- Hans-Peter Nilsson <hp@axis.com>
-
- * Makefile.am: Add CRIS support.
- * configure.ac: Likewise.
- * Makefile.in, configure, testsuite/Makefile.in,
- include/Makefile.in: Regenerate.
- * src/cris: New directory.
- * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
- * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
- \r?\n in output tests.
-
-2005-04-12 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-03-30 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30 Steve Ellcey <sje@cup.hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
- (ffi_sarg) Ditto.
- * src/ia64/unix.S (ffi_closure_unix): Extend gp
- to 64 bits in ILP32 mode.
- Load 64 bits even for short data.
-
-2005-03-23 Mike Stump <mrs@apple.com>
-
- * src/powerpc/darwin.S: Update for -m64 multilib.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21 Zack Weinberg <zack@codesourcery.com>
-
- * 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.
-
-2005-02-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
- odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR libffi/20104
- * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11 Janis Johnson <janis187@us.ibm.com>
-
- * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
- * testsuite/libffi.call/float.c: Ditto.
- * testsuite/libffi.call/float2.c: Ditto.
- * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * testsuite/libffi.special/special.exp (cxx_options): Add
- -shared-libgcc.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
- (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
- offset parameters with a type parameter; deduce size and structure
- alignment. Update all users.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
- (FFI_TYPE_LONGDOUBLE): Fix for ia64.
- * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
- into ffi_prep_closure.
- * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
- from scratch.
-
-2004-12-27 Richard Henderson <rth@redhat.com>
-
- * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25 Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
- (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
- (merge_classes): Check for it.
- (SSE_CLASS_P): New.
- (classify_argument): Pass byte_offset by value; perform all updates
- inside struct case.
- (examine_argument): Add classes argument; handle
- X86_64_COMPLEX_X87_CLASS.
- (ffi_prep_args): Merge into ...
- (ffi_call): ... here. Share stack frame with ffi_call_unix64.
- (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
- (ffi_fill_return_value): Remove.
- (ffi_prep_closure): Remove dead assert.
- (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
- Rewrite to use struct register_args instead of va_list. Create
- flags for handling structure returns.
- * src/x86/unix64.S: Remove dead strings.
- (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share
- stack frame with ffi_call. Handle structure returns properly.
- (float2sse, floatfloat2sse, double2sse): Remove.
- (sse2float, sse2double, sse2floatfloat): Remove.
- (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite
- to handle structure returns properly.
-
-2004-12-08 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
- PICFLAG.
- * Makefile.in: Regenerated.
-
-2004-12-02 Richard Sandiford <rsandifo@redhat.com>
-
- * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
- * configure, aclocal.m4, Makefile.in: Regenerate.
- * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-25 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool reversion.
-
-2004-11-24 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23 Richard Sandiford <rsandifo@redhat.com>
-
- * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
- of jal. Use an absolute encoding for the frame information.
-
-2004-11-23 Kelley Cook <kcook@gcc.gnu.org>
-
- * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS.
- * acinclude.m4: Delete logic for sincludes.
- * aclocal.m4, Makefile.in, configure: Regenerate.
- * include/Makefile: Likewise.
- * testsuite/Makefile: Likewise.
-
-2004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
- on a 8-byte boundary.
- * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
- long long values. Round stack allocation to a multiple of 8 bytes
- for ATPCS compatibility.
- * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
- names. Handle returning long long types. Add Thumb and interworking
- support. Improve soft-float code.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
- (libffi_exit): New function.
- (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR other/18138
- * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
- * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
- the function returning a structure pointed with R2.
- * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
- the structure return value if T bit set. Emit position
- independent code and EH data if PIC.
-
-2004-10-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * Makefile.am: Add m32r support.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * confiugre: Regenerate.
- * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
- (uint64, sint64, double, longdouble)
- * src/m32r: New directory.
- * src/m32r/ffi.c: New file.
- * src/m32r/sysv.S: Likewise.
- * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * testsuite/libffi.call/negint.c: New test case.
-
-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.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/many_win32.c: Remove whitespaces.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
- whitespaces.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Fix comments and identation.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
- (ffi_prep_args): Handle longdouble arguments.
- (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
- longdouble.
- (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
- * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
- values.
- * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
- * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/aix.S: Remove whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
- * src/powerpc/asm.h: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffitarget.h: Likewise.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
-
-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.in: Read configure.host.
- * 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 shouldn't 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.
-
-2004-08-24 David Daney <daney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
- to zero.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23 David Daney <daney@avtrex.com>
-
- PR libgcj/13141
- * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
- * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
- (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
- parameters and return types.
- (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
- (ffi_prep_closure): Ditto.
- (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
- alignment calculations.
- * src/mips/o32.S (ffi_closure_O32): Don't use floating point
- instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14 Casey Marshall <csm@gnu.org>
-
- * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
- contain `FFI_TYPE_UINT64' as return type for any 64-bit
- integer (O32 ABI only).
- (ffi_prep_closure): new function.
- (ffi_closure_mips_inner_O32): new function.
- * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
- `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
- * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
- 64 bit integers correctly.
- (ffi_closure_O32): new function.
- Added DWARF-2 unwind info for both functions.
-
-2004-08-10 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01 Robert Millan <robertmh@gnu.org>
-
- * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
- * configure: Regenerate.
-
-2004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
-
- * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
- and mmap() explicitly instead of relying on preset autoconf cache
- variables.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
- (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
- character on Darwin, use '\n\t' instead.
-
-2004-06-26 Matthias Klose <doko@debian.org>
-
- * libtool-version: Fix typo in revision/age.
-
-2004-06-17 Matthias Klose <doko@debian.org>
-
- * libtool-version: New.
- * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
- * Makefile.in: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * Makefile.am: Remove useless multilib rules.
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate with automake 1.8.5.
- * configure.ac: Remove useless multilib configury.
- * configure: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * .cvsignore: New file.
-
-2004-06-10 Jakub Jelinek <jakub@redhat.com>
-
- * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
- fp_done.
- (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
- changed from 8.
-
-2004-06-06 Sean McNeil <sean@mcneil.com>
-
- * configure.ac: Add x86_64-*-freebsd* support.
- * configure: Regenerate.
-
-2004-04-26 Joe Buck <jbuck@welsh-buck.org>
-
- Bug 15093
- * configure.ac: Test for existence of mmap and sys/mman.h before
- checking blacklist. Fix suggested by Jim Wilson.
- * configure: Regenerate.
-
-2004-04-26 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
- FDE location.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
- error. Reported by Thomas Heller <theller@python.net>.
- * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20 Matthias Klose <doko@debian.org>
-
- * src/pa/linux.S: Fix typo.
-
-2004-03-19 Matthias Klose <doko@debian.org>
-
- * Makefile.am: Update.
- * Makefile.in: Regenerate.
- * src/pa/ffi.h.in: Remove.
- * src/pa/ffitarget.h: New file.
-
-2004-02-10 Randolph Chung <tausq@debian.org>
-
- * Makefile.am: Add PA support.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * configure.ac: Add PA target.
- * configure: Regenerate.
- * src/pa/ffi.c: New file.
- * src/pa/ffi.h.in: Add PA support.
- * src/pa/linux.S: New file.
- * prep_cif.c: Add PA support.
-
-2004-03-16 Hosaka Yuji <hos@tamanegi.org>
-
- * src/types.c: Fix alignment size of X86_WIN32 case int64 and
- double.
- * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
- with ecif->cif->flags.
- (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
- with cif->flags.
- (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
- (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
- * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
- sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.in: Rename file to ...
- * configure.ac: ... this.
- * fficonfig.h.in: Regenerate.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2004-03-12 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Fix EH information so it corresponds to
- changes in EH format resulting from addition of linkonce support.
- * src/powerpc/darwin_closure.S: Likewise.
-
-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.
-
-2004-03-11 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
- arguments from fp registers only for the first 8 parameter slots.
- Don't convert a float parameter when passed in memory.
-
-2004-03-09 Hans-Peter Nilsson <hp@axis.com>
-
- * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
-
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
- ecif->cif->bytes to bytes.
- (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
- * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
- (ffi_closure_helper_LINUX64): Fix typo.
- * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
- for powerpc64-*-*.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
- long double function return and long double arg handling.
- (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
- Use "end_pfr" instead of "nf". Correct long double handling.
- Localise "temp".
- * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
- return value.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
- space for long double return value. Adjust stack frame and offsets.
- Load f2 long double return.
-
-2004-02-07 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
- when the structure return address is passed in %o0.
- (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
- (ffi_v9_layout_struct): Align the field following a nested structure
- on a word boundary. Use memmove instead of memcpy.
- (ffi_call): Update call to ffi_V9_return_struct.
- (ffi_prep_closure): Define 'ctx' only for V8.
- (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
- and ffi_closure_sparc_inner_v9.
- (ffi_closure_sparc_inner_v8): Return long doubles by reference.
- Always skip the structure return address. For structures and long
- doubles, copy the argument directly.
- (ffi_closure_sparc_inner_v9): Skip the structure return address only
- if required. Shift the maximum floating-point slot accordingly. For
- big structures, copy the argument directly; otherwise, left-justify the
- argument and call ffi_v9_layout_struct to lay out the structure on
- the stack.
- * src/sparc/v8.S: Undef STACKFRAME before defining it.
- (ffi_closure_v8): Pass the structure return address. Update call to
- ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
- Skip the 'unimp' insn when returning long doubles and structures.
- * src/sparc/v9.S: Undef STACKFRAME before defining it.
- (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
- FFI_TYPE_INT handling. Load structures both in integers and
- floating-point registers on return.
- * README: Update status of the SPARC port.
-
-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.
-
-2004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
-
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
- value as of type ffi_arg, not unsigned int.
-
-2004-01-21 Michael Ritzert <ritzert@t-online.de>
-
- * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
- of the LHS.
-
-2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
- Solaris.
-
-2004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
- to void *.
-
-2003-12-10 Richard Henderson <rth@redhat.com>
-
- * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
- size_t instead of int.
-
-2003-12-04 Hosaka Yuji <hos@tamanegi.org>
-
- * testsuite/libffi.call/many_win32.c: Include <float.h>.
- * testsuite/libffi.call/many_win32.c (main): Replace variable
- int i with unsigned long ul.
-
- * testsuite/libffi.call/cls_align_uint64.c: New test case.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02 Hosaka Yuji <hos@tamanegi.org>
-
- PR other/13221
- * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
- Align arguments to 32 bits.
-
-2003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR other/13221
- * testsuite/libffi.call/cls_multi_sshort.c: New test case.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-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.
-
-2003-11-21 Andreas Jaeger <aj@suse.de>
- Andreas Tobler <a.tobler@schweiz.ch>
-
- * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
- * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
- * Makefile.in: Rebuilt.
- * aclocal.m4: Likewise.
- * configure: Likewise.
- * fficonfig.h.in: Likewise.
- * testsuite/lib/libffi-dg.exp: Add include dir.
- * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
- for ffi_closure if available.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
- Add -lgcc_s to additional flags.
-
-2003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.in, include/Makefile.am: PR libgcj/11147, install
- the ffitarget.h header file in a gcc versioned and target
- dependent place.
- * configure: Regenerated.
- * Makefile.in, include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Print result and check
- with dg-output to make debugging easier.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
- static.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_9byte2.c: New test case.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_double.c: Do a check on the result.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/prep_cif.c (ffi_prep_cif): Move the validity check after
- the initialization.
-
-2003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
- FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
- __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-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
-
-2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
- _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
- Used when FFI_DEBUG = 1.
-
-2003-10-14 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
- and align.
-
-2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
- FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
- SPARC64. Cleanup whitespaces.
-
-2003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
- strongarm, xscale. Cleanup whitespaces.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Cleanup whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
- * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
- parameter stack.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
- according to the Darwin/AIX ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_DARWIN): Likewise.
- Remove the outgoing parameter stack logic. Simplify the evaluation
- of the different CASE types.
- (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
- statement in the trampoline code.
-
-2003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
- for the register size.
- (ffi_closure_helper_SYSV): Handle the structure return value
- address correctly.
- (ffi_closure_helper_SYSV): Return the appropriate type when
- the registers are used for the structure return value.
- * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
- the 64-bit return value. Update copyright years.
-
-2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
- srcdir for ffi_mips.h.
-
-2003-09-12 Alan Modra <amodra@bigpond.net.au>
-
- * src/prep_cif.c (initialize_aggregate): Include tail padding in
- structure size.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
- placement of float result.
- * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
- cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Merge identical SH and ARM
- typedefs, and add POWERPC64.
- * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
- struct split over gpr and rest.
- (ffi_prep_cif_machdep): Correct intarg_count for structures.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
- passing correctly.
-
-2003-09-09 Alan Modra <amodra@bigpond.net.au>
-
- * configure: Regenerate.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Remove build rules for ffitest.
- * Makefile.in: Rebuilt.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
- about implicit declaration of abort().
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
- * Makefile.in: Rebuilt.
- * configure.in: Add dejagnu test framework.
- * configure: Rebuilt.
-
- * testsuite/Makefile.am: New file.
- * testsuite/Makefile.in: Built
- * testsuite/lib/libffi-dg.exp: New file.
- * testsuite/config/default.exp: Likewise.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Likewise.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float1.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/many.c: Likewise.
- * testsuite/libffi.call/many_win32.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
- * testsuite/libffi.call/strlen.c: Likewise.
- * testsuite/libffi.call/strlen_win32.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
- * testsuite/libffi.call/struct2.c: Likewise.
- * testsuite/libffi.call/struct3.c: Likewise.
- * testsuite/libffi.call/struct4.c: Likewise.
- * testsuite/libffi.call/struct5.c: Likewise.
- * testsuite/libffi.call/struct6.c: Likewise.
- * testsuite/libffi.call/struct7.c: Likewise.
- * testsuite/libffi.call/struct8.c: Likewise.
- * testsuite/libffi.call/struct9.c: Likewise.
- * testsuite/libffi.special/special.exp: New file.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
- copyright years.
-
-2003-08-02 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
- structure passing.
- (ffi_closure_helper_LINUX64): Likewise.
- * src/powerpc/linux64.S: Remove code writing to parm save area.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
- address in lr from ffi_closure_helper_LINUX64 call to calculate
- table address. Optimize function tail.
-
-2003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/sparc/ffi.c: Handle all floating point registers.
- * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
-
- * README: Note that libffi is not part of GCC. Update the project
- URL and status.
-
-2003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
- Use C style comments.
-
-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
- should be read-only.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * include/ffi.h.in (EH_FRAME_FLAGS): Define.
- * src/alpha/osf.S: Use EH_FRAME_FLAGS.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
- * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
- if -fpic/-fPIC/-mrelocatable.
- * src/powerpc/powerpc_closure.S: Likewise.
- * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
- #write in .eh_frame flags.
- * src/sparc/v9.S: Likewise.
- * src/x86/unix64.S: Use EH_FRAME_FLAGS.
- * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
- * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
-
-2003-05-07 Jeff Sturm <jsturm@one-point.com>
-
- Fixes PR bootstrap/10656
- * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
- support for .register pseudo-op.
- * src/sparc/v8.S: Use it.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2003-04-18 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (POWERPC64): Define if 64-bit.
- (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
- Make it the default on POWERPC64.
- (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
- * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
- * configure: Rebuilt.
- * src/powerpc/ffi.c (hidden): Define.
- (ffi_prep_args_SYSV): Renamed from
- ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
- (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
- ASM_NEEDS_REGISTERS64): New.
- (ffi_prep_args64): New function.
- (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
- (ffi_call): Likewise.
- (ffi_prep_closure): Likewise.
- (flush_icache): Surround by #ifndef POWERPC64.
- (ffi_dblfl): New union type.
- (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
- (ffi_closure_helper_LINUX64): New function.
- * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
- __powerpc64__.
- * src/powerpc/sysv.S: Likewise.
- (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
- * src/powerpc/linux64.S: New file.
- * src/powerpc/linux64_closure.S: New file.
- * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
- src/powerpc/linux64_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
- * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
- closure_test_fn3): Fix result printing on big-endian 64-bit
- machines.
- (main): Print tst2_arg instead of uninitialized tst2_result.
-
- * src/ffitest.c (main): Hide what closure pointer really points to
- from the compiler.
-
-2003-04-16 Richard Earnshaw <rearnsha@arm.com>
-
- * configure.in (arm-*-netbsdelf*): Add configuration.
- (configure): Regenerated.
-
-2003-04-04 Loren J. Rittle <ljrittle@acm.org>
-
- * include/Makefile.in: Regenerate.
-
-2003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
-
- * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
- bit mode.
- * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
- Receive closure pointer through parameter, read args using
- __builtin_dwarf_cfa.
- (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12 Andreas Schwab <schwab@suse.de>
-
- * configure.in: Avoid trailing /. in toolexeclibdir.
- * configure: Rebuilt.
-
-2003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/powerpc/darwin_closure.S:
- Fix alignement bug, allocate 8 bytes for the result.
- * libffi/src/powerpc/aix_closure.S:
- Likewise.
- * libffi/src/powerpc/ffi_darwin.c:
- Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06 Jakub Jelinek <jakub@redhat.com>
-
- * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
- attribute.
-
-2003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
- Andreas Schwab <schwab@suse.de>
-
- * configure.in: Adjust command to source config-ml.in to account
- for changes to the libffi_basedir definition.
- (libffi_basedir): Remove ${srcdir} from value and include trailing
- slash if nonempty.
-
- * configure: Regenerate.
-
-2003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
- * src/x86/ffi64.c (ffi_prep_closure): New.
- (ffi_closure_UNIX64_inner): New.
- * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
- Remove USE_LIBDIR conditional.
- * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
- * Makefile.in, configure: Rebuilt.
-
-2003-01027 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
- * Makefile.in: Regenerate.
-
-2003-01-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
- unwind info.
-
-2003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Add unwind info.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
- (ffi_prep_cif_machdep): Likewise.
- * src/x86/unix64.S: Add unwind info.
-
-2003-01-14 Andreas Jaeger <aj@suse.de>
-
- * src/ffitest.c (main): Only use ffi_closures if those are
- supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/ffitest.c
- add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
- * libffi/src/powerpc/ffi.c
- fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c: Remove RCS version string.
- * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
- * src/ffitest.c (main): Use static storage for closure.
- * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
- * src/sparc/v8.S (ffi_closure_v8): New.
- * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10 Ranjit Mathew <rmathew@hotmail.com>
-
- * include/ffi.h.in: Added FFI_STDCALL ffi_type
- enumeration for X86_WIN32.
- * src/x86/win32.S: Added ffi_call_STDCALL function
- definition.
- * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
- switch cases for recognising FFI_STDCALL and
- calling ffi_call_STDCALL if target is X86_WIN32.
- * src/ffitest.c (my_stdcall_strlen/stdcall_many):
- stdcall versions of the "my_strlen" and "many"
- test functions (for X86_WIN32).
- Added test cases to test stdcall invocation using
- these functions.
-
-2002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26 Jim Wilson <wilson@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23 H.J. Lu <hjl@gnu.org>
-
- * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
- Include ../config/accross.m4.
- * aclocal.m4; Rebuild.
- * configure: Likewise.
-
-2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11 DJ Delorie <dj@redhat.com>
-
- * configure.in: Look for common files in the right place.
-
-2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
- raw data as _Jv_word values, not ffi_raw.
- (ffi_java_ptrarray_to_raw): Likewise.
- (ffi_java_rvalue_to_raw): New function.
- (ffi_java_raw_call): Call it.
- (ffi_java_raw_to_rvalue): New function.
- (ffi_java_translate_args): Call it.
- * src/ffitest.c (closure_test_fn): Interpret return value
- as ffi_arg, not int.
- * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
- FFI_TYPE_POINTER case.
- (ffi_closure_helper_SYSV): Likewise. Also, assume return
- values extended to word size.
-
-2002-10-02 Andreas Jaeger <aj@suse.de>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01 Bo Thorsen <bo@smetana.suse.de>
-
- * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
-
- * configure.in: Add s390x-*-linux-* target.
- * configure: Regenerate.
- * include/ffi.h.in: Define S390X for s390x targets.
- (FFI_CLOSURES): Define for s390/s390x.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
- * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
- * src/s390/ffi.c: Major rework of existing code. Add support for
- s390x targets. Add closure support.
- * src/s390/sysv.S: Likewise.
-
-2002-09-29 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: Fix typo.
-
-2002-09-28 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
- has defined __USER_LABEL_PREFIX__, then use it in CNAME.
- (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27 Bo Thorsen <bo@suse.de>
-
- * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * configure.in (sh[34]*-*-linux*): Add brackets.
- * configure: Regenerate.
-
-2002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * Makefile.am: Add SH support.
- * Makefile.in: Regenerate.
- * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
- * configure: Regenerate.
- * include/ffi.h.in: Add SH support.
- * src/sh/ffi.c: New file.
- * src/sh/sysv.S: New file.
- * src/types.c: Add SH support.
-
-2002-07-16 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi64.c: New file that adds x86-64 support.
- * src/x86/unix64.S: New file that handles argument setup for
- x86-64.
- * src/x86/sysv.S: Don't use this on x86-64.
- * src/x86/ffi.c: Don't use this on x86-64.
- Remove unused vars.
- * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
- for x86-64.
- * src/ffitest.c (struct6): New test that tests a special case in
- the x86-64 ABI.
- (struct7): Likewise.
- (struct8): Likewise.
- (struct9): Likewise.
- (closure_test_fn): Silence warning about this when it's not used.
- (main): Add the new tests.
- (main): Fix a couple of wrong casts and silence some compiler warnings.
- * include/ffi.h.in: Add x86-64 ABI definition.
- * fficonfig.h.in: Regenerate.
- * Makefile.am: Add x86-64 support.
- * configure.in: Likewise.
- * Makefile.in: Regenerate.
- * configure: Likewise.
-
-2002-06-24 Bo Thorsen <bo@suse.de>
-
- * src/types.c: Merge settings for similar architectures.
- Add x86-64 sizes and alignments.
-
-2002-06-23 Bo Thorsen <bo@suse.de>
-
- * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
- * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
- * src/mips/ffi.c (ffi_prep_args): Likewise.
- * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18 H.J. Lu (hjl@gnu.org)
-
- * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
- (libffi_la_SOURCES): Support MIPS_LINUX.
- (libffi_convenience_la_SOURCES): Likewise.
- * Makefile.in: Regenerated.
-
- * configure.in (mips64*-*): Skip.
- (mips*-*-linux*): New.
- * configure: Regenerated.
-
- * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
-
-2002-05-27 Roger Sayle <roger@eyesopen.com>
-
- * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
- fix formatting.
-
-2002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
- beginning of function (for older apple cc).
-
-2002-05-08 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
- script entry, and set LD to it when configuring multilibs.
- * configure: Rebuilt.
-
-2002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (sparc64-*-netbsd*): Add target.
- (sparc-*-netbsdelf*): Likewise.
- * configure: Regenerate.
-
-2002-04-28 David S. Miller <davem@redhat.com>
-
- * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
-
- * Makefile.am: Add Linux for S/390 support.
- * Makefile.in: Regenerate.
- * configure.in: Add Linux for S/390 support.
- * configure: Regenerate.
- * include/ffi.h.in: Add Linux for S/390 support.
- * src/s390/ffi.c: New file from libffi CVS tree.
- * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
- %r_disp32().
- * src/sparc/v8.S: Use it.
- * src/sparc/v9.S: Likewise.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2002-04-08 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
- correctly.
- * src/ia64/unix.S: Add unwind information. Fix comments.
- Save sp in a way that's compatible with unwind info.
- (ffi_call_unix): Correctly restore sp in all cases.
- * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08 Jakub Jelinek <jakub@redhat.com>
-
- * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (alpha*-*-netbsd*): Add target.
- * configure: Regenerate.
-
-2002-04-04 Jeff Sturm <jsturm@one-point.com>
-
- * src/sparc/v8.S: Add unwind info.
- * src/sparc/v9.S: Likewise.
-
-2002-03-30 Krister Walfridsson <cato@df.lth.se>
-
- * configure.in: Enable i*86-*-netbsdelf*.
- * configure: Rebuilt.
-
-2002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
-
- PR other/2620
- * src/mips/n32.s: Delete
- * src/mips/o32.s: Delete
-
-2002-03-21 Loren J. Rittle <ljrittle@acm.org>
-
- * configure.in: Enable alpha*-*-freebsd*.
- * configure: Rebuilt.
-
-2002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * Makefile.am: libfficonvenience -> libffi_convenience.
- * Makefile.in: Rebuilt.
-
- * Makefile.am: Define ffitest_OBJECTS.
- * Makefile.in: Rebuilt.
-
-2002-03-07 Andreas Tobler <toa@pop.agri.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
- (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
- (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
- * Makefile.in: Regenerate.
- * include/ffi.h.in: Add AIX and Darwin closure definitions.
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
- (flush_icache, flush_range): New functions.
- (ffi_closure_helper_DARWIN): New function.
- * src/powerpc/aix_closure.S: New file.
- * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add typedef for ffi_arg.
- * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21 Andreas Tobler <toa@pop.agri.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
- number of GPRs for floating-point arguments.
-
-2002-01-31 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Replace CHECK_SIZEOF and endian tests with
- cross-compiler friendly macros.
- * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
- macros.
-
-2002-01-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): New.
- * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
- (TARGET_SRC_POWERPC_AIX): New.
- (POWERPC_AIX): New stanza.
- * Makefile.in: Regenerate.
- * configure.in: Add AIX case.
- * configure: Regenerate.
- * include/ffi.h.in (ffi_abi): Add FFI_AIX.
- * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
- size. Fix "long double" support.
- (ffi_call): Add FFI_AIX case.
- * src/powerpc/aix.S: New.
-
-2001-10-09 John Hornkvist <john@toastedmarshmallow.com>
-
- Implement Darwin PowerPC ABI.
- * configure.in: Handle powerpc-*-darwin*.
- * Makefile.am: Set source files for POWERPC_DARWIN.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
- * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
- POWERPC_DARWIN.
- * src/powerpc/darwin.S: New file.
- * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .balign directive.
- Use C style comments.
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
- Fixes PR bootstrap/3563.
-
-2001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.in: Recognize sparc*-sun-* host.
- * configure: Regenerate.
-
-2001-06-06 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S: Add unwind info.
- * src/powerpc/sysv.S: Add unwind info.
- * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31 Jeff Sturm <jsturm@one-point.com>
-
- * configure.in: Fix AC_ARG_ENABLE usage.
- * configure: Rebuilt.
-
-2001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * configure.in: Remove warning about beta code.
- * configure: Rebuilt.
-
-2001-04-25 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/ia64/unix.S: Restore stack pointer when returning from
- ffi_closure_UNIX.
- * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18 Jim Wilson <wilson@redhat.com>
-
- * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
- to eliminate RAW DV.
-
-2001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
-
- * Makefile.am: Make a libtool convenience library.
- * Makefile.in: Rebuilt.
-
-2001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Use different syntax for subdirectory creation.
- * configure: Rebuilt.
-
-2001-03-27 Jon Beniston <jon@beniston.com>
-
- * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
- * configure: Rebuilt.
- * Makefile.am: Added X86_WIN32 target support.
- * Makefile.in: Rebuilt.
-
- * include/ffi.h.in: Added X86_WIN32 target support.
-
- * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
- * src/types.c: Added X86_WIN32 target support.
-
- * src/x86/win32.S: New file. Based on sysv.S, but with EH
- stuff removed and made to work with CygWin's gas.
-
-2001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Make target subdirectory in build dir.
- * Makefile.am: Override suffix based rules to specify correct output
- subdirectory.
- * Makefile.in: Rebuilt.
- * configure: Rebuilt.
-
-2001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
-
- * src/powerpc/ppc_closure.S: New file.
- * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
- involving long long and register pairs.
- (ffi_prep_closure): New function.
- (flush_icache): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * Makefile.in: Rebuilt.
- * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19 Tom Tromey <tromey@redhat.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02 Nick Clifton <nickc@redhat.com>
-
- * include/ffi.h.in: Remove RCS ident string.
- * include/ffi_mips.h: Remove RCS ident string.
- * src/debug.c: Remove RCS ident string.
- * src/ffitest.c: Remove RCS ident string.
- * src/prep_cif.c: Remove RCS ident string.
- * src/types.c: Remove RCS ident string.
- * src/alpha/ffi.c: Remove RCS ident string.
- * src/alpha/osf.S: Remove RCS ident string.
- * src/arm/ffi.c: Remove RCS ident string.
- * src/arm/sysv.S: Remove RCS ident string.
- * src/mips/ffi.c: Remove RCS ident string.
- * src/mips/n32.S: Remove RCS ident string.
- * src/mips/o32.S: Remove RCS ident string.
- * src/sparc/ffi.c: Remove RCS ident string.
- * src/sparc/v8.S: Remove RCS ident string.
- * src/sparc/v9.S: Remove RCS ident string.
- * src/x86/ffi.c: Remove RCS ident string.
- * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * include/ffi.h.in: Change sourceware.cygnus.com references to
- gcc.gnu.org.
-
-2000-12-09 Richard Henderson <rth@redhat.com>
-
- * src/alpha/ffi.c (ffi_call): Simplify struct return test.
- (ffi_closure_osf_inner): Index rather than increment avalue
- and arg_types. Give ffi_closure_osf the raw return value type.
- * src/alpha/osf.S (ffi_closure_osf): Handle return value type
- promotion.
-
-2000-12-07 Richard Henderson <rth@redhat.com>
-
- * src/raw_api.c (ffi_translate_args): Fix typo.
- (ffi_prep_closure): Likewise.
-
- * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
- FFI_TRAMPOLINE_SIZE.
- * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
- cif->bytes for new ffi_call_osf implementation.
- (ffi_prep_args): Absorb into ...
- (ffi_call): ... here. Do all stack allocation here and
- avoid a callback function.
- (ffi_prep_closure, ffi_closure_osf_inner): New.
- * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
- (ffi_closure_osf): New.
-
-2000-09-10 Alexandre Oliva <aoliva@redhat.com>
-
- * config.guess, config.sub, install-sh: Removed.
- * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
- * Makefile.in: Rebuilt.
-
- * acinclude.m4: Include libtool macros from the top level.
- * aclocal.m4, configure: Rebuilt.
-
-2000-08-22 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
- * configure: Rebuilt.
-
-2000-05-11 Scott Bambrough <scottb@netwinder.org>
-
- * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
- memory correctly. Use conditional instructions, not branches where
- possible.
-
-2000-05-04 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Match `arm*-*-linux-*'.
- From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (SUBDIRS): Define.
- (AM_MAKEFLAGS): Likewise.
- (Multilib support.): Add section.
- * Makefile.in: Rebuilt.
- * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
- New variables. Set for gcc using -print-multi-lib. Export them
- to libtool.
- (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
- * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
- for -shared links.
- (extra_compiler_flags_value, extra_compiler_flags): Check these
- for extra compiler options which need to be passed down in
- compiler_flags.
-
-2000-04-16 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
- Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
- * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
- Replace all void * sizeofs with sizeof(int).
- Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
- different than DOUBLE.
- Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
- (ffi_prep_args_v9): New function.
- (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
- (ffi_V9_return_struct): New function.
- (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
- 32bit code (not yet cross-arch calls).
- * src/sparc/v8.S: Add struct return delay nop.
- Handle long long.
- * src/sparc/v9.S: New file.
- * src/prep_cif.c (ffi_prep_cif): Return structure pointer
- is used on sparc64 only for structures larger than 32 bytes.
- Pass by reference for structures is done for structure arguments
- larger than 16 bytes.
- * src/ffitest.c (main): Use 64bit rint on sparc64.
- Run long long tests on sparc.
- * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
- sparc64.
- (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
- on sparc64.
- * configure.in (sparc-*-linux*): New supported target.
- (sparc64-*-linux*): Likewise.
- * configure: Rebuilt.
- * Makefile.am: Add v9.S to SPARC files.
- * Makefile.in: Likewise.
- (LINK): Surround $(CCLD) into double quotes, so that multilib
- compiles work correctly.
-
-2000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: (i*86-*-solaris*): New libffi target. Patch
- proposed by Bryce McKinlay.
-
-2000-03-20 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
-
- * config.guess, config.sub: Update from the gcc tree.
- Fix for PR libgcj/168.
-
-2000-03-03 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Fixed ia64 by hand.
-
- * configure: Rebuilt.
- * configure.in (--enable-multilib): New option.
- (libffi_basedir): New subst.
- (AC_OUTPUT): Added multilib code.
-
-2000-03-02 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
- directory name.
-
-2000-02-25 Hans Boehm <boehm@acm.org>
-
- * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
- files.
- * src/raw_api.c (ffi_translate_args): Fixed typo in argument
- list.
- (ffi_prep_raw_closure): Use ffi_translate_args, not
- ffi_closure_translate.
- * src/java_raw_api.c: New file.
- * src/ffitest.c (closure_test_fn): New function.
- (main): Define `rint' as long long on IA64. Added new test when
- FFI_CLOSURES is defined.
- * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
- (ffi_abi): Recognize IA64.
- (ffi_raw): Added `flt' field.
- Added "Java raw API" code.
- * configure.in: Recognize ia64.
- * Makefile.am (TARGET_SRC_IA64): New macro.
- (libffi_la_common_SOURCES): Added java_raw_api.c.
- (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01 Tom Tromey <tromey@cygnus.com>
-
- * include/ffi.h.in: Removed PACKAGE and VERSION defines and
- undefs.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
- * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
- Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
- * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09 Anthony Green <green@cygnus.com>
-
- * include/ffi.h.in: Try to work around messy header problem
- with PACKAGE and VERSION.
-
- * configure: Rebuilt.
- * configure.in: Change version to 2.00-beta.
-
- * fficonfig.h.in: Rebuilt.
- * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
- * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
-
- * src/x86/ffi.c (ffi_closure_SYSV): New function.
- (ffi_prep_incoming_args_SYSV): Ditto.
- (ffi_prep_closure): Ditto.
- (ffi_closure_raw_SYSV): Ditto.
- (ffi_prep_raw_closure): More ditto.
- (ffi_call_raw): Final ditto.
-
- * include/ffi.h.in: Add definitions for closure and raw API.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
- FFI_TYPE_UINT64.
-
- * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
- * src/raw_api.c: New file.
-
- * include/ffi.h.in (ffi_raw): New type.
- (UINT_ARG, SINT_ARG): New defines.
- (ffi_closure, ffi_raw_closure): New types.
- (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
- * configure.in: Add check for endianness and sizeof void*.
-
- * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
- instead of directly.
-
- * configure: Rebuilt.
-
-Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
-
- * configure.in: Add x86 and powerpc BeOS configurations.
- From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09 Anthony Green <green@cygnus.com>
-
- * configure.in: Add warning about this being beta code.
- Remove src/Makefile.am from the picture.
- * configure: Rebuilt.
-
- * Makefile.am: Move logic from src/Makefile.am. Add changes
- to support libffi as a target library.
- * Makefile.in: Rebuilt.
-
- * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
- Upgraded to new autoconf, automake, libtool.
-
- * README: Tweaks.
-
- * LICENSE: Update copyright date.
-
- * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29 Anthony Green <green@cygnus.com>
-
- * include/ChangeLog: Removed.
- * src/ChangeLog: Removed.
- * src/mips/ChangeLog: Removed.
- * src/sparc/ChangeLog: Remboved.
- * src/x86/ChangeLog: Removed.
-
- * ChangeLog.v1: Created.
diff --git a/.pc/variadic/doc/libffi.texi b/.pc/variadic/doc/libffi.texi
deleted file mode 100644
index 5cdd667..0000000
--- a/.pc/variadic/doc/libffi.texi
+++ /dev/null
@@ -1,600 +0,0 @@
-\input texinfo @c -*-texinfo-*-
-@c %**start of header
-@setfilename libffi.info
-@settitle libffi
-@setchapternewpage off
-@c %**end of header
-
-@c Merge the standard indexes into a single one.
-@syncodeindex fn cp
-@syncodeindex vr cp
-@syncodeindex ky cp
-@syncodeindex pg cp
-@syncodeindex tp cp
-
-@include version.texi
-
-@copying
-
-This manual is for Libffi, a portable foreign-function interface
-library.
-
-Copyright @copyright{} 2008, 2010 Red Hat, Inc.
-
-@quotation
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option) any
-later version. A copy of the license is included in the
-section entitled ``GNU General Public License''.
-
-@end quotation
-@end copying
-
-@dircategory Development
-@direntry
-* libffi: (libffi). Portable foreign-function interface library.
-@end direntry
-
-@titlepage
-@title Libffi
-@page
-@vskip 0pt plus 1filll
-@insertcopying
-@end titlepage
-
-
-@ifnottex
-@node Top
-@top libffi
-
-@insertcopying
-
-@menu
-* Introduction:: What is libffi?
-* Using libffi:: How to use libffi.
-* Missing Features:: Things libffi can't do.
-* Index:: Index.
-@end menu
-
-@end ifnottex
-
-
-@node Introduction
-@chapter What is libffi?
-
-Compilers for high level languages generate code that follow certain
-conventions. These conventions are necessary, in part, for separate
-compilation to work. One such convention is the @dfn{calling
-convention}. The calling convention is a set of assumptions made by
-the compiler about where function arguments will be found on entry to
-a function. A calling convention also specifies where the return
-value for a function is found. The calling convention is also
-sometimes called the @dfn{ABI} or @dfn{Application Binary Interface}.
-@cindex calling convention
-@cindex ABI
-@cindex Application Binary Interface
-
-Some programs may not know at the time of compilation what arguments
-are to be passed to a function. For instance, an interpreter may be
-told at run-time about the number and types of arguments used to call
-a given function. @samp{Libffi} can be used in such programs to
-provide a bridge from the interpreter program to compiled code.
-
-The @samp{libffi} library provides a portable, high level programming
-interface to various calling conventions. This allows a programmer to
-call any function specified by a call interface description at run
-time.
-
-@acronym{FFI} stands for Foreign Function Interface. A foreign
-function interface is the popular name for the interface that allows
-code written in one language to call code written in another language.
-The @samp{libffi} library really only provides the lowest, machine
-dependent layer of a fully featured foreign function interface. A
-layer must exist above @samp{libffi} that handles type conversions for
-values passed between the two languages.
-@cindex FFI
-@cindex Foreign Function Interface
-
-
-@node Using libffi
-@chapter Using libffi
-
-@menu
-* The Basics:: The basic libffi API.
-* Simple Example:: A simple example.
-* Types:: libffi type descriptions.
-* Multiple ABIs:: Different passing styles on one platform.
-* The Closure API:: Writing a generic function.
-* Closure Example:: A closure example.
-@end menu
-
-
-@node The Basics
-@section The Basics
-
-@samp{Libffi} assumes that you have a pointer to the function you wish
-to call and that you know the number and types of arguments to pass
-it, as well as the return type of the function.
-
-The first thing you must do is create an @code{ffi_cif} object that
-matches the signature of the function you wish to call. This is a
-separate step because it is common to make multiple calls using a
-single @code{ffi_cif}. The @dfn{cif} in @code{ffi_cif} stands for
-Call InterFace. To prepare a call interface object, use the function
-@code{ffi_prep_cif}.
-@cindex cif
-
-@findex ffi_prep_cif
-@defun ffi_status ffi_prep_cif (ffi_cif *@var{cif}, ffi_abi @var{abi}, unsigned int @var{nargs}, ffi_type *@var{rtype}, ffi_type **@var{argtypes})
-This initializes @var{cif} according to the given parameters.
-
-@var{abi} is the ABI to use; normally @code{FFI_DEFAULT_ABI} is what
-you want. @ref{Multiple ABIs} for more information.
-
-@var{nargs} is the number of arguments that this function accepts.
-@samp{libffi} does not yet handle varargs functions; see @ref{Missing
-Features} for more information.
-
-@var{rtype} is a pointer to an @code{ffi_type} structure that
-describes the return type of the function. @xref{Types}.
-
-@var{argtypes} is a vector of @code{ffi_type} pointers.
-@var{argtypes} must have @var{nargs} elements. If @var{nargs} is 0,
-this argument is ignored.
-
-@code{ffi_prep_cif} returns a @code{libffi} status code, of type
-@code{ffi_status}. This will be either @code{FFI_OK} if everything
-worked properly; @code{FFI_BAD_TYPEDEF} if one of the @code{ffi_type}
-objects is incorrect; or @code{FFI_BAD_ABI} if the @var{abi} parameter
-is invalid.
-@end defun
-
-
-To call a function using an initialized @code{ffi_cif}, use the
-@code{ffi_call} function:
-
-@findex ffi_call
-@defun void ffi_call (ffi_cif *@var{cif}, void *@var{fn}, void *@var{rvalue}, void **@var{avalues})
-This calls the function @var{fn} according to the description given in
-@var{cif}. @var{cif} must have already been prepared using
-@code{ffi_prep_cif}.
-
-@var{rvalue} is a pointer to a chunk of memory that will hold the
-result of the function call. This must be large enough to hold the
-result and must be suitably aligned; it is the caller's responsibility
-to ensure this. If @var{cif} declares that the function returns
-@code{void} (using @code{ffi_type_void}), then @var{rvalue} is
-ignored. If @var{rvalue} is @samp{NULL}, then the return value is
-discarded.
-
-@var{avalues} is a vector of @code{void *} pointers that point to the
-memory locations holding the argument values for a call. If @var{cif}
-declares that the function has no arguments (i.e., @var{nargs} was 0),
-then @var{avalues} is ignored. Note that argument values may be
-modified by the callee (for instance, structs passed by value); the
-burden of copying pass-by-value arguments is placed on the caller.
-@end defun
-
-
-@node Simple Example
-@section Simple Example
-
-Here is a trivial example that calls @code{puts} a few times.
-
-@example
-#include <stdio.h>
-#include <ffi.h>
-
-int main()
-@{
- ffi_cif cif;
- ffi_type *args[1];
- void *values[1];
- char *s;
- int rc;
-
- /* Initialize the argument info vectors */
- args[0] = &ffi_type_pointer;
- values[0] = &s;
-
- /* Initialize the cif */
- if (ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1,
- &ffi_type_uint, args) == FFI_OK)
- @{
- s = "Hello World!";
- ffi_call(&cif, puts, &rc, values);
- /* rc now holds the result of the call to puts */
-
- /* values holds a pointer to the function's arg, so to
- call puts() again all we need to do is change the
- value of s */
- s = "This is cool!";
- ffi_call(&cif, puts, &rc, values);
- @}
-
- return 0;
-@}
-@end example
-
-
-@node Types
-@section Types
-
-@menu
-* Primitive Types:: Built-in types.
-* Structures:: Structure types.
-* Type Example:: Structure type example.
-@end menu
-
-@node Primitive Types
-@subsection Primitive Types
-
-@code{Libffi} provides a number of built-in type descriptors that can
-be used to describe argument and return types:
-
-@table @code
-@item ffi_type_void
-@tindex ffi_type_void
-The type @code{void}. This cannot be used for argument types, only
-for return values.
-
-@item ffi_type_uint8
-@tindex ffi_type_uint8
-An unsigned, 8-bit integer type.
-
-@item ffi_type_sint8
-@tindex ffi_type_sint8
-A signed, 8-bit integer type.
-
-@item ffi_type_uint16
-@tindex ffi_type_uint16
-An unsigned, 16-bit integer type.
-
-@item ffi_type_sint16
-@tindex ffi_type_sint16
-A signed, 16-bit integer type.
-
-@item ffi_type_uint32
-@tindex ffi_type_uint32
-An unsigned, 32-bit integer type.
-
-@item ffi_type_sint32
-@tindex ffi_type_sint32
-A signed, 32-bit integer type.
-
-@item ffi_type_uint64
-@tindex ffi_type_uint64
-An unsigned, 64-bit integer type.
-
-@item ffi_type_sint64
-@tindex ffi_type_sint64
-A signed, 64-bit integer type.
-
-@item ffi_type_float
-@tindex ffi_type_float
-The C @code{float} type.
-
-@item ffi_type_double
-@tindex ffi_type_double
-The C @code{double} type.
-
-@item ffi_type_uchar
-@tindex ffi_type_uchar
-The C @code{unsigned char} type.
-
-@item ffi_type_schar
-@tindex ffi_type_schar
-The C @code{signed char} type. (Note that there is not an exact
-equivalent to the C @code{char} type in @code{libffi}; ordinarily you
-should either use @code{ffi_type_schar} or @code{ffi_type_uchar}
-depending on whether @code{char} is signed.)
-
-@item ffi_type_ushort
-@tindex ffi_type_ushort
-The C @code{unsigned short} type.
-
-@item ffi_type_sshort
-@tindex ffi_type_sshort
-The C @code{short} type.
-
-@item ffi_type_uint
-@tindex ffi_type_uint
-The C @code{unsigned int} type.
-
-@item ffi_type_sint
-@tindex ffi_type_sint
-The C @code{int} type.
-
-@item ffi_type_ulong
-@tindex ffi_type_ulong
-The C @code{unsigned long} type.
-
-@item ffi_type_slong
-@tindex ffi_type_slong
-The C @code{long} type.
-
-@item ffi_type_longdouble
-@tindex ffi_type_longdouble
-On platforms that have a C @code{long double} type, this is defined.
-On other platforms, it is not.
-
-@item ffi_type_pointer
-@tindex ffi_type_pointer
-A generic @code{void *} pointer. You should use this for all
-pointers, regardless of their real type.
-@end table
-
-Each of these is of type @code{ffi_type}, so you must take the address
-when passing to @code{ffi_prep_cif}.
-
-
-@node Structures
-@subsection Structures
-
-Although @samp{libffi} has no special support for unions or
-bit-fields, it is perfectly happy passing structures back and forth.
-You must first describe the structure to @samp{libffi} by creating a
-new @code{ffi_type} object for it.
-
-@tindex ffi_type
-@deftp ffi_type
-The @code{ffi_type} has the following members:
-@table @code
-@item size_t size
-This is set by @code{libffi}; you should initialize it to zero.
-
-@item unsigned short alignment
-This is set by @code{libffi}; you should initialize it to zero.
-
-@item unsigned short type
-For a structure, this should be set to @code{FFI_TYPE_STRUCT}.
-
-@item ffi_type **elements
-This is a @samp{NULL}-terminated array of pointers to @code{ffi_type}
-objects. There is one element per field of the struct.
-@end table
-@end deftp
-
-
-@node Type Example
-@subsection Type Example
-
-The following example initializes a @code{ffi_type} object
-representing the @code{tm} struct from Linux's @file{time.h}.
-
-Here is how the struct is defined:
-
-@example
-struct tm @{
- int tm_sec;
- int tm_min;
- int tm_hour;
- int tm_mday;
- int tm_mon;
- int tm_year;
- int tm_wday;
- int tm_yday;
- int tm_isdst;
- /* Those are for future use. */
- long int __tm_gmtoff__;
- __const char *__tm_zone__;
-@};
-@end example
-
-Here is the corresponding code to describe this struct to
-@code{libffi}:
-
-@example
- @{
- ffi_type tm_type;
- ffi_type *tm_type_elements[12];
- int i;
-
- tm_type.size = tm_type.alignment = 0;
- tm_type.elements = &tm_type_elements;
-
- for (i = 0; i < 9; i++)
- tm_type_elements[i] = &ffi_type_sint;
-
- tm_type_elements[9] = &ffi_type_slong;
- tm_type_elements[10] = &ffi_type_pointer;
- tm_type_elements[11] = NULL;
-
- /* tm_type can now be used to represent tm argument types and
- return types for ffi_prep_cif() */
- @}
-@end example
-
-
-@node Multiple ABIs
-@section Multiple ABIs
-
-A given platform may provide multiple different ABIs at once. For
-instance, the x86 platform has both @samp{stdcall} and @samp{fastcall}
-functions.
-
-@code{libffi} provides some support for this. However, this is
-necessarily platform-specific.
-
-@c FIXME: document the platforms
-
-@node The Closure API
-@section The Closure API
-
-@code{libffi} also provides a way to write a generic function -- a
-function that can accept and decode any combination of arguments.
-This can be useful when writing an interpreter, or to provide wrappers
-for arbitrary functions.
-
-This facility is called the @dfn{closure API}. Closures are not
-supported on all platforms; you can check the @code{FFI_CLOSURES}
-define to determine whether they are supported on the current
-platform.
-@cindex closures
-@cindex closure API
-@findex FFI_CLOSURES
-
-Because closures work by assembling a tiny function at runtime, they
-require special allocation on platforms that have a non-executable
-heap. Memory management for closures is handled by a pair of
-functions:
-
-@findex ffi_closure_alloc
-@defun void *ffi_closure_alloc (size_t @var{size}, void **@var{code})
-Allocate a chunk of memory holding @var{size} bytes. This returns a
-pointer to the writable address, and sets *@var{code} to the
-corresponding executable address.
-
-@var{size} should be sufficient to hold a @code{ffi_closure} object.
-@end defun
-
-@findex ffi_closure_free
-@defun void ffi_closure_free (void *@var{writable})
-Free memory allocated using @code{ffi_closure_alloc}. The argument is
-the writable address that was returned.
-@end defun
-
-
-Once you have allocated the memory for a closure, you must construct a
-@code{ffi_cif} describing the function call. Finally you can prepare
-the closure function:
-
-@findex ffi_prep_closure_loc
-@defun ffi_status ffi_prep_closure_loc (ffi_closure *@var{closure}, ffi_cif *@var{cif}, void (*@var{fun}) (ffi_cif *@var{cif}, void *@var{ret}, void **@var{args}, void *@var{user_data}), void *@var{user_data}, void *@var{codeloc})
-Prepare a closure function.
-
-@var{closure} is the address of a @code{ffi_closure} object; this is
-the writable address returned by @code{ffi_closure_alloc}.
-
-@var{cif} is the @code{ffi_cif} describing the function parameters.
-
-@var{user_data} is an arbitrary datum that is passed, uninterpreted,
-to your closure function.
-
-@var{codeloc} is the executable address returned by
-@code{ffi_closure_alloc}.
-
-@var{fun} is the function which will be called when the closure is
-invoked. It is called with the arguments:
-@table @var
-@item cif
-The @code{ffi_cif} passed to @code{ffi_prep_closure_loc}.
-
-@item ret
-A pointer to the memory used for the function's return value.
-@var{fun} must fill this, unless the function is declared as returning
-@code{void}.
-@c FIXME: is this NULL for void-returning functions?
-
-@item args
-A vector of pointers to memory holding the arguments to the function.
-
-@item user_data
-The same @var{user_data} that was passed to
-@code{ffi_prep_closure_loc}.
-@end table
-
-@code{ffi_prep_closure_loc} will return @code{FFI_OK} if everything
-went ok, and something else on error.
-@c FIXME: what?
-
-After calling @code{ffi_prep_closure_loc}, you can cast @var{codeloc}
-to the appropriate pointer-to-function type.
-@end defun
-
-You may see old code referring to @code{ffi_prep_closure}. This
-function is deprecated, as it cannot handle the need for separate
-writable and executable addresses.
-
-@node Closure Example
-@section Closure Example
-
-A trivial example that creates a new @code{puts} by binding
-@code{fputs} with @code{stdin}.
-
-@example
-#include <stdio.h>
-#include <ffi.h>
-
-/* Acts like puts with the file given at time of enclosure. */
-void puts_binding(ffi_cif *cif, unsigned int *ret, void* args[],
- FILE *stream)
-@{
- *ret = fputs(*(char **)args[0], stream);
-@}
-
-int main()
-@{
- ffi_cif cif;
- ffi_type *args[1];
- ffi_closure *closure;
-
- int (*bound_puts)(char *);
- int rc;
-
- /* Allocate closure and bound_puts */
- closure = ffi_closure_alloc(sizeof(ffi_closure), &bound_puts);
-
- if (closure)
- @{
- /* Initialize the argument info vectors */
- args[0] = &ffi_type_pointer;
-
- /* Initialize the cif */
- if (ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1,
- &ffi_type_uint, args) == FFI_OK)
- @{
- /* Initialize the closure, setting stream to stdout */
- if (ffi_prep_closure_loc(closure, &cif, puts_binding,
- stdout, bound_puts) == FFI_OK)
- @{
- rc = bound_puts("Hello World!");
- /* rc now holds the result of the call to fputs */
- @}
- @}
- @}
-
- /* Deallocate both closure, and bound_puts */
- ffi_closure_free(closure);
-
- return 0;
-@}
-
-@end example
-
-
-@node Missing Features
-@chapter Missing Features
-
-@code{libffi} is missing a few features. We welcome patches to add
-support for these.
-
-@itemize @bullet
-@item
-There is no support for calling varargs functions. This may work on
-some platforms, depending on how the ABI is defined, but it is not
-reliable.
-
-@item
-There is no support for bit fields in structures.
-
-@item
-The closure API is
-
-@c FIXME: ...
-
-@item
-The ``raw'' API is undocumented.
-@c argument promotion?
-@c unions?
-@c anything else?
-@end itemize
-
-
-@node Index
-@unnumbered Index
-
-@printindex cp
-
-@bye
diff --git a/.pc/variadic/include/ffi.h.in b/.pc/variadic/include/ffi.h.in
deleted file mode 100644
index f5a29b0..0000000
--- a/.pc/variadic/include/ffi.h.in
+++ /dev/null
@@ -1,427 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
- libffi @VERSION@ - Copyright (c) 2011 Anthony Green
- - Copyright (c) 1996-2003, 2007, 2008 Red Hat, Inc.
-
- Permission is hereby granted, free of charge, to any person
- obtaining a copy of this software and associated documentation
- files (the ``Software''), to deal in the Software without
- restriction, including without limitation the rights to use, copy,
- modify, merge, publish, distribute, sublicense, and/or sell copies
- of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
-
- ----------------------------------------------------------------------- */
-
-/* -------------------------------------------------------------------
- The basic API is described in the README file.
-
- The raw API is designed to bypass some of the argument packing
- and unpacking on architectures for which it can be avoided.
-
- The closure API allows interpreted functions to be packaged up
- inside a C function pointer, so that they can be called as C functions,
- with no understanding on the client side that they are interpreted.
- It can also be used in other cases in which it is necessary to package
- up a user specified parameter and a function pointer as a single
- function pointer.
-
- The closure API must be implemented in order to get its functionality,
- e.g. for use by gij. Routines are provided to emulate the raw API
- if the underlying platform doesn't allow faster implementation.
-
- More details on the raw and cloure API can be found in:
-
- http://gcc.gnu.org/ml/java/1999-q3/msg00138.html
-
- and
-
- http://gcc.gnu.org/ml/java/1999-q3/msg00174.html
- -------------------------------------------------------------------- */
-
-#ifndef LIBFFI_H
-#define LIBFFI_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Specify which architecture libffi is configured for. */
-#ifndef @TARGET@
-#define @TARGET@
-#endif
-
-/* ---- System configuration information --------------------------------- */
-
-#include <ffitarget.h>
-
-#ifndef LIBFFI_ASM
-
-#ifdef _MSC_VER
-#define __attribute__(X)
-#endif
-
-#include <stddef.h>
-#include <limits.h>
-
-/* LONG_LONG_MAX is not always defined (not if STRICT_ANSI, for example).
- But we can find it either under the correct ANSI name, or under GNU
- C's internal name. */
-
-#define FFI_64_BIT_MAX 9223372036854775807
-
-#ifdef LONG_LONG_MAX
-# define FFI_LONG_LONG_MAX LONG_LONG_MAX
-#else
-# ifdef LLONG_MAX
-# define FFI_LONG_LONG_MAX LLONG_MAX
-# ifdef _AIX52 /* or newer has C99 LLONG_MAX */
-# undef FFI_64_BIT_MAX
-# define FFI_64_BIT_MAX 9223372036854775807LL
-# endif /* _AIX52 or newer */
-# else
-# ifdef __GNUC__
-# define FFI_LONG_LONG_MAX __LONG_LONG_MAX__
-# endif
-# ifdef _AIX /* AIX 5.1 and earlier have LONGLONG_MAX */
-# ifndef __PPC64__
-# if defined (__IBMC__) || defined (__IBMCPP__)
-# define FFI_LONG_LONG_MAX LONGLONG_MAX
-# endif
-# endif /* __PPC64__ */
-# undef FFI_64_BIT_MAX
-# define FFI_64_BIT_MAX 9223372036854775807LL
-# endif
-# endif
-#endif
-
-/* The closure code assumes that this works on pointers, i.e. a size_t */
-/* can hold a pointer. */
-
-typedef struct _ffi_type
-{
- size_t size;
- unsigned short alignment;
- unsigned short type;
- struct _ffi_type **elements;
-} ffi_type;
-
-#ifndef LIBFFI_HIDE_BASIC_TYPES
-#if SCHAR_MAX == 127
-# define ffi_type_uchar ffi_type_uint8
-# define ffi_type_schar ffi_type_sint8
-#else
- #error "char size not supported"
-#endif
-
-#if SHRT_MAX == 32767
-# define ffi_type_ushort ffi_type_uint16
-# define ffi_type_sshort ffi_type_sint16
-#elif SHRT_MAX == 2147483647
-# define ffi_type_ushort ffi_type_uint32
-# define ffi_type_sshort ffi_type_sint32
-#else
- #error "short size not supported"
-#endif
-
-#if INT_MAX == 32767
-# define ffi_type_uint ffi_type_uint16
-# define ffi_type_sint ffi_type_sint16
-#elif INT_MAX == 2147483647
-# define ffi_type_uint ffi_type_uint32
-# define ffi_type_sint ffi_type_sint32
-#elif INT_MAX == 9223372036854775807
-# define ffi_type_uint ffi_type_uint64
-# define ffi_type_sint ffi_type_sint64
-#else
- #error "int size not supported"
-#endif
-
-#if LONG_MAX == 2147483647
-# if FFI_LONG_LONG_MAX != FFI_64_BIT_MAX
- #error "no 64-bit data type supported"
-# endif
-#elif LONG_MAX != FFI_64_BIT_MAX
- #error "long size not supported"
-#endif
-
-#if LONG_MAX == 2147483647
-# define ffi_type_ulong ffi_type_uint32
-# define ffi_type_slong ffi_type_sint32
-#elif LONG_MAX == FFI_64_BIT_MAX
-# define ffi_type_ulong ffi_type_uint64
-# define ffi_type_slong ffi_type_sint64
-#else
- #error "long size not supported"
-#endif
-
-/* These are defined in types.c */
-extern ffi_type ffi_type_void;
-extern ffi_type ffi_type_uint8;
-extern ffi_type ffi_type_sint8;
-extern ffi_type ffi_type_uint16;
-extern ffi_type ffi_type_sint16;
-extern ffi_type ffi_type_uint32;
-extern ffi_type ffi_type_sint32;
-extern ffi_type ffi_type_uint64;
-extern ffi_type ffi_type_sint64;
-extern ffi_type ffi_type_float;
-extern ffi_type ffi_type_double;
-extern ffi_type ffi_type_pointer;
-
-#if @HAVE_LONG_DOUBLE@
-extern ffi_type ffi_type_longdouble;
-#else
-#define ffi_type_longdouble ffi_type_double
-#endif
-#endif /* LIBFFI_HIDE_BASIC_TYPES */
-
-typedef enum {
- FFI_OK = 0,
- FFI_BAD_TYPEDEF,
- FFI_BAD_ABI
-} ffi_status;
-
-typedef unsigned FFI_TYPE;
-
-typedef struct {
- ffi_abi abi;
- unsigned nargs;
- ffi_type **arg_types;
- ffi_type *rtype;
- unsigned bytes;
- unsigned flags;
-#ifdef FFI_EXTRA_CIF_FIELDS
- FFI_EXTRA_CIF_FIELDS;
-#endif
-} ffi_cif;
-
-/* ---- Definitions for the raw API -------------------------------------- */
-
-#ifndef FFI_SIZEOF_ARG
-# if LONG_MAX == 2147483647
-# define FFI_SIZEOF_ARG 4
-# elif LONG_MAX == FFI_64_BIT_MAX
-# define FFI_SIZEOF_ARG 8
-# endif
-#endif
-
-#ifndef FFI_SIZEOF_JAVA_RAW
-# define FFI_SIZEOF_JAVA_RAW FFI_SIZEOF_ARG
-#endif
-
-typedef union {
- ffi_sarg sint;
- ffi_arg uint;
- float flt;
- char data[FFI_SIZEOF_ARG];
- void* ptr;
-} ffi_raw;
-
-#if FFI_SIZEOF_JAVA_RAW == 4 && FFI_SIZEOF_ARG == 8
-/* This is a special case for mips64/n32 ABI (and perhaps others) where
- sizeof(void *) is 4 and FFI_SIZEOF_ARG is 8. */
-typedef union {
- signed int sint;
- unsigned int uint;
- float flt;
- char data[FFI_SIZEOF_JAVA_RAW];
- void* ptr;
-} ffi_java_raw;
-#else
-typedef ffi_raw ffi_java_raw;
-#endif
-
-
-void ffi_raw_call (ffi_cif *cif,
- void (*fn)(void),
- void *rvalue,
- ffi_raw *avalue);
-
-void ffi_ptrarray_to_raw (ffi_cif *cif, void **args, ffi_raw *raw);
-void ffi_raw_to_ptrarray (ffi_cif *cif, ffi_raw *raw, void **args);
-size_t ffi_raw_size (ffi_cif *cif);
-
-/* This is analogous to the raw API, except it uses Java parameter */
-/* packing, even on 64-bit machines. I.e. on 64-bit machines */
-/* longs and doubles are followed by an empty 64-bit word. */
-
-void ffi_java_raw_call (ffi_cif *cif,
- void (*fn)(void),
- void *rvalue,
- ffi_java_raw *avalue);
-
-void ffi_java_ptrarray_to_raw (ffi_cif *cif, void **args, ffi_java_raw *raw);
-void ffi_java_raw_to_ptrarray (ffi_cif *cif, ffi_java_raw *raw, void **args);
-size_t ffi_java_raw_size (ffi_cif *cif);
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#if FFI_CLOSURES
-
-#ifdef _MSC_VER
-__declspec(align(8))
-#endif
-typedef struct {
- char tramp[FFI_TRAMPOLINE_SIZE];
- ffi_cif *cif;
- void (*fun)(ffi_cif*,void*,void**,void*);
- void *user_data;
-#ifdef __GNUC__
-} ffi_closure __attribute__((aligned (8)));
-#else
-} ffi_closure;
-# ifdef __sgi
-# pragma pack 0
-# endif
-#endif
-
-void *ffi_closure_alloc (size_t size, void **code);
-void ffi_closure_free (void *);
-
-ffi_status
-ffi_prep_closure (ffi_closure*,
- ffi_cif *,
- void (*fun)(ffi_cif*,void*,void**,void*),
- void *user_data);
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure*,
- ffi_cif *,
- void (*fun)(ffi_cif*,void*,void**,void*),
- void *user_data,
- void*codeloc);
-
-#ifdef __sgi
-# pragma pack 8
-#endif
-typedef struct {
- char tramp[FFI_TRAMPOLINE_SIZE];
-
- ffi_cif *cif;
-
-#if !FFI_NATIVE_RAW_API
-
- /* if this is enabled, then a raw closure has the same layout
- as a regular closure. We use this to install an intermediate
- handler to do the transaltion, void** -> ffi_raw*. */
-
- void (*translate_args)(ffi_cif*,void*,void**,void*);
- void *this_closure;
-
-#endif
-
- void (*fun)(ffi_cif*,void*,ffi_raw*,void*);
- void *user_data;
-
-} ffi_raw_closure;
-
-typedef struct {
- char tramp[FFI_TRAMPOLINE_SIZE];
-
- ffi_cif *cif;
-
-#if !FFI_NATIVE_RAW_API
-
- /* if this is enabled, then a raw closure has the same layout
- as a regular closure. We use this to install an intermediate
- handler to do the transaltion, void** -> ffi_raw*. */
-
- void (*translate_args)(ffi_cif*,void*,void**,void*);
- void *this_closure;
-
-#endif
-
- void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*);
- void *user_data;
-
-} ffi_java_raw_closure;
-
-ffi_status
-ffi_prep_raw_closure (ffi_raw_closure*,
- ffi_cif *cif,
- void (*fun)(ffi_cif*,void*,ffi_raw*,void*),
- void *user_data);
-
-ffi_status
-ffi_prep_raw_closure_loc (ffi_raw_closure*,
- ffi_cif *cif,
- void (*fun)(ffi_cif*,void*,ffi_raw*,void*),
- void *user_data,
- void *codeloc);
-
-ffi_status
-ffi_prep_java_raw_closure (ffi_java_raw_closure*,
- ffi_cif *cif,
- void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*),
- void *user_data);
-
-ffi_status
-ffi_prep_java_raw_closure_loc (ffi_java_raw_closure*,
- ffi_cif *cif,
- void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*),
- void *user_data,
- void *codeloc);
-
-#endif /* FFI_CLOSURES */
-
-/* ---- Public interface definition -------------------------------------- */
-
-ffi_status ffi_prep_cif(ffi_cif *cif,
- ffi_abi abi,
- unsigned int nargs,
- ffi_type *rtype,
- ffi_type **atypes);
-
-void ffi_call(ffi_cif *cif,
- void (*fn)(void),
- void *rvalue,
- void **avalue);
-
-/* Useful for eliminating compiler warnings */
-#define FFI_FN(f) ((void (*)(void))f)
-
-/* ---- Definitions shared with assembly code ---------------------------- */
-
-#endif
-
-/* If these change, update src/mips/ffitarget.h. */
-#define FFI_TYPE_VOID 0
-#define FFI_TYPE_INT 1
-#define FFI_TYPE_FLOAT 2
-#define FFI_TYPE_DOUBLE 3
-#if @HAVE_LONG_DOUBLE@
-#define FFI_TYPE_LONGDOUBLE 4
-#else
-#define FFI_TYPE_LONGDOUBLE FFI_TYPE_DOUBLE
-#endif
-#define FFI_TYPE_UINT8 5
-#define FFI_TYPE_SINT8 6
-#define FFI_TYPE_UINT16 7
-#define FFI_TYPE_SINT16 8
-#define FFI_TYPE_UINT32 9
-#define FFI_TYPE_SINT32 10
-#define FFI_TYPE_UINT64 11
-#define FFI_TYPE_SINT64 12
-#define FFI_TYPE_STRUCT 13
-#define FFI_TYPE_POINTER 14
-
-/* This should always refer to the last type code (for sanity checks) */
-#define FFI_TYPE_LAST FFI_TYPE_POINTER
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/.pc/variadic/include/ffi_common.h b/.pc/variadic/include/ffi_common.h
deleted file mode 100644
index d953762..0000000
--- a/.pc/variadic/include/ffi_common.h
+++ /dev/null
@@ -1,126 +0,0 @@
-/* -----------------------------------------------------------------------
- ffi_common.h - Copyright (C) 2011 Anthony Green
- Copyright (C) 2007 Free Software Foundation, Inc
- Copyright (c) 1996 Red Hat, Inc.
-
- Common internal definitions and macros. Only necessary for building
- libffi.
- ----------------------------------------------------------------------- */
-
-#ifndef FFI_COMMON_H
-#define FFI_COMMON_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <fficonfig.h>
-
-/* Do not move this. Some versions of AIX are very picky about where
- this is positioned. */
-#ifdef __GNUC__
-/* mingw64 defines this already in malloc.h. */
-#ifndef alloca
-# define alloca __builtin_alloca
-#endif
-# define MAYBE_UNUSED __attribute__((__unused__))
-#else
-# define MAYBE_UNUSED
-# if HAVE_ALLOCA_H
-# include <alloca.h>
-# else
-# ifdef _AIX
- #pragma alloca
-# else
-# ifndef alloca /* predefined by HP cc +Olibcalls */
-# ifdef _MSC_VER
-# define alloca _alloca
-# else
-char *alloca ();
-# endif
-# endif
-# endif
-# endif
-#endif
-
-/* Check for the existence of memcpy. */
-#if STDC_HEADERS
-# include <string.h>
-#else
-# ifndef HAVE_MEMCPY
-# define memcpy(d, s, n) bcopy ((s), (d), (n))
-# endif
-#endif
-
-#if defined(FFI_DEBUG)
-#include <stdio.h>
-#endif
-
-#ifdef FFI_DEBUG
-void ffi_assert(char *expr, char *file, int line);
-void ffi_stop_here(void);
-void ffi_type_test(ffi_type *a, char *file, int line);
-
-#define FFI_ASSERT(x) ((x) ? (void)0 : ffi_assert(#x, __FILE__,__LINE__))
-#define FFI_ASSERT_AT(x, f, l) ((x) ? 0 : ffi_assert(#x, (f), (l)))
-#define FFI_ASSERT_VALID_TYPE(x) ffi_type_test (x, __FILE__, __LINE__)
-#else
-#define FFI_ASSERT(x)
-#define FFI_ASSERT_AT(x, f, l)
-#define FFI_ASSERT_VALID_TYPE(x)
-#endif
-
-#define ALIGN(v, a) (((((size_t) (v))-1) | ((a)-1))+1)
-#define ALIGN_DOWN(v, a) (((size_t) (v)) & -a)
-
-/* Perform machine dependent cif processing */
-ffi_status ffi_prep_cif_machdep(ffi_cif *cif);
-
-/* Extended cif, used in callback from assembly routine */
-typedef struct
-{
- ffi_cif *cif;
- void *rvalue;
- void **avalue;
-} extended_cif;
-
-/* Terse sized type definitions. */
-#if defined(_MSC_VER) || defined(__sgi)
-typedef unsigned char UINT8;
-typedef signed char SINT8;
-typedef unsigned short UINT16;
-typedef signed short SINT16;
-typedef unsigned int UINT32;
-typedef signed int SINT32;
-# ifdef _MSC_VER
-typedef unsigned __int64 UINT64;
-typedef signed __int64 SINT64;
-# else
-# include <inttypes.h>
-typedef uint64_t UINT64;
-typedef int64_t SINT64;
-# endif
-#else
-typedef unsigned int UINT8 __attribute__((__mode__(__QI__)));
-typedef signed int SINT8 __attribute__((__mode__(__QI__)));
-typedef unsigned int UINT16 __attribute__((__mode__(__HI__)));
-typedef signed int SINT16 __attribute__((__mode__(__HI__)));
-typedef unsigned int UINT32 __attribute__((__mode__(__SI__)));
-typedef signed int SINT32 __attribute__((__mode__(__SI__)));
-typedef unsigned int UINT64 __attribute__((__mode__(__DI__)));
-typedef signed int SINT64 __attribute__((__mode__(__DI__)));
-#endif
-
-typedef float FLOAT32;
-
-#ifndef __GNUC__
-#define __builtin_expect(x, expected_value) (x)
-#endif
-#define LIKELY(x) __builtin_expect((x),1)
-#define UNLIKELY(x) __builtin_expect((x),1)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/.pc/variadic/man/ffi.3 b/.pc/variadic/man/ffi.3
deleted file mode 100644
index 18b5d5d..0000000
--- a/.pc/variadic/man/ffi.3
+++ /dev/null
@@ -1,31 +0,0 @@
-.Dd February 15, 2008
-.Dt FFI 3
-.Sh NAME
-.Nm FFI
-.Nd Foreign Function Interface
-.Sh LIBRARY
-libffi, -lffi
-.Sh SYNOPSIS
-.In ffi.h
-.Ft ffi_status
-.Fo ffi_prep_cif
-.Fa "ffi_cif *cif"
-.Fa "ffi_abi abi"
-.Fa "unsigned int nargs"
-.Fa "ffi_type *rtype"
-.Fa "ffi_type **atypes"
-.Fc
-.Ft void
-.Fo ffi_call
-.Fa "ffi_cif *cif"
-.Fa "void (*fn)(void)"
-.Fa "void *rvalue"
-.Fa "void **avalue"
-.Fc
-.Sh DESCRIPTION
-The foreign function interface provides a mechanism by which a function can
-generate a call to another function at runtime without requiring knowledge of
-the called function's interface at compile time.
-.Sh SEE ALSO
-.Xr ffi_prep_cif 3 ,
-.Xr ffi_call 3
diff --git a/.pc/variadic/man/ffi_prep_cif.3 b/.pc/variadic/man/ffi_prep_cif.3
deleted file mode 100644
index 9436b31..0000000
--- a/.pc/variadic/man/ffi_prep_cif.3
+++ /dev/null
@@ -1,66 +0,0 @@
-.Dd February 15, 2008
-.Dt ffi_prep_cif 3
-.Sh NAME
-.Nm ffi_prep_cif
-.Nd Prepare a
-.Nm ffi_cif
-structure for use with
-.Nm ffi_call
-.
-.Sh SYNOPSIS
-.In ffi.h
-.Ft ffi_status
-.Fo ffi_prep_cif
-.Fa "ffi_cif *cif"
-.Fa "ffi_abi abi"
-.Fa "unsigned int nargs"
-.Fa "ffi_type *rtype"
-.Fa "ffi_type **atypes"
-.Fc
-.Sh DESCRIPTION
-The
-.Nm ffi_prep_cif
-function prepares a
-.Nm ffi_cif
-structure for use with
-.Nm ffi_call
-.
-.Fa abi
-specifies a set of calling conventions to use.
-.Fa atypes
-is an array of
-.Fa nargs
-pointers to
-.Nm ffi_type
-structs that describe the data type, size and alignment of each argument.
-.Fa rtype
-points to an
-.Nm ffi_type
-that describes the data type, size and alignment of the
-return value.
-.Sh RETURN VALUES
-Upon successful completion,
-.Nm ffi_prep_cif
-returns
-.Nm FFI_OK .
-It will return
-.Nm FFI_BAD_TYPEDEF
-if
-.Fa cif
-is
-.Nm NULL
-or
-.Fa atypes
-or
-.Fa rtype
-is malformed. If
-.Fa abi
-does not refer to a valid ABI,
-.Nm FFI_BAD_ABI
-will be returned. Available ABIs are
-defined in
-.Nm <ffitarget.h>
-.
-.Sh SEE ALSO
-.Xr ffi 3 ,
-.Xr ffi_call 3
diff --git a/.pc/variadic/man/ffi_prep_cif_var.3 b/.pc/variadic/man/ffi_prep_cif_var.3
deleted file mode 100644
index e69de29..0000000
--- a/.pc/variadic/man/ffi_prep_cif_var.3
+++ /dev/null
diff --git a/.pc/variadic/src/arm/ffi.c b/.pc/variadic/src/arm/ffi.c
deleted file mode 100644
index fe199be..0000000
--- a/.pc/variadic/src/arm/ffi.c
+++ /dev/null
@@ -1,740 +0,0 @@
-/* -----------------------------------------------------------------------
- ffi.c - Copyright (c) 2011 Timothy Wall
- Copyright (c) 2011 Plausible Labs Cooperative, Inc.
- Copyright (c) 2011 Anthony Green
- Copyright (c) 2011 Free Software Foundation
- Copyright (c) 1998, 2008, 2011 Red Hat, Inc.
-
- ARM Foreign Function Interface
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
- ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#include <stdlib.h>
-
-/* Forward declares. */
-static int vfp_type_p (ffi_type *);
-static void layout_vfp_args (ffi_cif *);
-
-/* ffi_prep_args is called by the assembly routine once stack space
- has been allocated for the function's arguments
-
- The vfp_space parameter is the load area for VFP regs, the return
- value is cif->vfp_used (word bitset of VFP regs used for passing
- arguments). These are only used for the VFP hard-float ABI.
-*/
-int ffi_prep_args(char *stack, extended_cif *ecif, float *vfp_space)
-{
- register unsigned int i, vi = 0;
- register void **p_argv;
- register char *argp;
- register ffi_type **p_arg;
-
- argp = stack;
-
- if ( ecif->cif->flags == FFI_TYPE_STRUCT ) {
- *(void **) argp = ecif->rvalue;
- argp += 4;
- }
-
- p_argv = ecif->avalue;
-
- for (i = ecif->cif->nargs, p_arg = ecif->cif->arg_types;
- (i != 0);
- i--, p_arg++)
- {
- size_t z;
- size_t alignment;
-
- /* Allocated in VFP registers. */
- if (ecif->cif->abi == FFI_VFP
- && vi < ecif->cif->vfp_nargs && vfp_type_p (*p_arg))
- {
- float* vfp_slot = vfp_space + ecif->cif->vfp_args[vi++];
- if ((*p_arg)->type == FFI_TYPE_FLOAT)
- *((float*)vfp_slot) = *((float*)*p_argv);
- else if ((*p_arg)->type == FFI_TYPE_DOUBLE)
- *((double*)vfp_slot) = *((double*)*p_argv);
- else
- memcpy(vfp_slot, *p_argv, (*p_arg)->size);
- p_argv++;
- continue;
- }
-
- /* Align if necessary */
- alignment = (*p_arg)->alignment;
-#ifdef _WIN32_WCE
- if (alignment > 4)
- alignment = 4;
-#endif
- if ((alignment - 1) & (unsigned) argp) {
- argp = (char *) ALIGN(argp, alignment);
- }
-
- if ((*p_arg)->type == FFI_TYPE_STRUCT)
- argp = (char *) ALIGN(argp, 4);
-
- z = (*p_arg)->size;
- if (z < sizeof(int))
- {
- z = sizeof(int);
- switch ((*p_arg)->type)
- {
- case FFI_TYPE_SINT8:
- *(signed int *) argp = (signed int)*(SINT8 *)(* p_argv);
- break;
-
- case FFI_TYPE_UINT8:
- *(unsigned int *) argp = (unsigned int)*(UINT8 *)(* p_argv);
- break;
-
- case FFI_TYPE_SINT16:
- *(signed int *) argp = (signed int)*(SINT16 *)(* p_argv);
- break;
-
- case FFI_TYPE_UINT16:
- *(unsigned int *) argp = (unsigned int)*(UINT16 *)(* p_argv);
- break;
-
- case FFI_TYPE_STRUCT:
- memcpy(argp, *p_argv, (*p_arg)->size);
- break;
-
- default:
- FFI_ASSERT(0);
- }
- }
- else if (z == sizeof(int))
- {
- *(unsigned int *) argp = (unsigned int)*(UINT32 *)(* p_argv);
- }
- else
- {
- memcpy(argp, *p_argv, z);
- }
- p_argv++;
- argp += z;
- }
-
- /* Indicate the VFP registers used. */
- return ecif->cif->vfp_used;
-}
-
-/* Perform machine dependent cif processing */
-ffi_status ffi_prep_cif_machdep(ffi_cif *cif)
-{
- int type_code;
- /* Round the stack up to a multiple of 8 bytes. This isn't needed
- everywhere, but it is on some platforms, and it doesn't harm anything
- when it isn't needed. */
- cif->bytes = (cif->bytes + 7) & ~7;
-
- /* Set the return type flag */
- switch (cif->rtype->type)
- {
- case FFI_TYPE_VOID:
- case FFI_TYPE_FLOAT:
- case FFI_TYPE_DOUBLE:
- cif->flags = (unsigned) cif->rtype->type;
- break;
-
- case FFI_TYPE_SINT64:
- case FFI_TYPE_UINT64:
- cif->flags = (unsigned) FFI_TYPE_SINT64;
- break;
-
- case FFI_TYPE_STRUCT:
- if (cif->abi == FFI_VFP
- && (type_code = vfp_type_p (cif->rtype)) != 0)
- {
- /* A Composite Type passed in VFP registers, either
- FFI_TYPE_STRUCT_VFP_FLOAT or FFI_TYPE_STRUCT_VFP_DOUBLE. */
- cif->flags = (unsigned) type_code;
- }
- else if (cif->rtype->size <= 4)
- /* A Composite Type not larger than 4 bytes is returned in r0. */
- cif->flags = (unsigned)FFI_TYPE_INT;
- else
- /* A Composite Type larger than 4 bytes, or whose size cannot
- be determined statically ... is stored in memory at an
- address passed [in r0]. */
- cif->flags = (unsigned)FFI_TYPE_STRUCT;
- break;
-
- default:
- cif->flags = FFI_TYPE_INT;
- break;
- }
-
- /* Map out the register placements of VFP register args.
- The VFP hard-float calling conventions are slightly more sophisticated than
- the base calling conventions, so we do it here instead of in ffi_prep_args(). */
- if (cif->abi == FFI_VFP)
- layout_vfp_args (cif);
-
- return FFI_OK;
-}
-
-/* Prototypes for assembly functions, in sysv.S */
-extern void ffi_call_SYSV (void (*fn)(void), extended_cif *, unsigned, unsigned, unsigned *);
-extern void ffi_call_VFP (void (*fn)(void), extended_cif *, unsigned, unsigned, unsigned *);
-
-void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
-{
- extended_cif ecif;
-
- int small_struct = (cif->flags == FFI_TYPE_INT
- && cif->rtype->type == FFI_TYPE_STRUCT);
- int vfp_struct = (cif->flags == FFI_TYPE_STRUCT_VFP_FLOAT
- || cif->flags == FFI_TYPE_STRUCT_VFP_DOUBLE);
-
- ecif.cif = cif;
- ecif.avalue = avalue;
-
- unsigned int temp;
-
- /* If the return value is a struct and we don't have a return */
- /* value address then we need to make one */
-
- if ((rvalue == NULL) &&
- (cif->flags == FFI_TYPE_STRUCT))
- {
- ecif.rvalue = alloca(cif->rtype->size);
- }
- else if (small_struct)
- ecif.rvalue = &temp;
- else if (vfp_struct)
- {
- /* Largest case is double x 4. */
- ecif.rvalue = alloca(32);
- }
- else
- ecif.rvalue = rvalue;
-
- switch (cif->abi)
- {
- case FFI_SYSV:
- ffi_call_SYSV (fn, &ecif, cif->bytes, cif->flags, ecif.rvalue);
- break;
-
- case FFI_VFP:
- ffi_call_VFP (fn, &ecif, cif->bytes, cif->flags, ecif.rvalue);
- break;
-
- default:
- FFI_ASSERT(0);
- break;
- }
- if (small_struct)
- memcpy (rvalue, &temp, cif->rtype->size);
- else if (vfp_struct)
- memcpy (rvalue, ecif.rvalue, cif->rtype->size);
-}
-
-/** private members **/
-
-static void ffi_prep_incoming_args_SYSV (char *stack, void **ret,
- void** args, ffi_cif* cif, float *vfp_stack);
-
-void ffi_closure_SYSV (ffi_closure *);
-
-void ffi_closure_VFP (ffi_closure *);
-
-/* This function is jumped to by the trampoline */
-
-unsigned int
-ffi_closure_SYSV_inner (closure, respp, args, vfp_args)
- ffi_closure *closure;
- void **respp;
- void *args;
- void *vfp_args;
-{
- // our various things...
- ffi_cif *cif;
- void **arg_area;
-
- cif = closure->cif;
- arg_area = (void**) alloca (cif->nargs * sizeof (void*));
-
- /* this call will initialize ARG_AREA, such that each
- * element in that array points to the corresponding
- * value on the stack; and if the function returns
- * a structure, it will re-set RESP to point to the
- * structure return address. */
-
- ffi_prep_incoming_args_SYSV(args, respp, arg_area, cif, vfp_args);
-
- (closure->fun) (cif, *respp, arg_area, closure->user_data);
-
- return cif->flags;
-}
-
-/*@-exportheader@*/
-static void
-ffi_prep_incoming_args_SYSV(char *stack, void **rvalue,
- void **avalue, ffi_cif *cif,
- /* Used only under VFP hard-float ABI. */
- float *vfp_stack)
-/*@=exportheader@*/
-{
- register unsigned int i, vi = 0;
- register void **p_argv;
- register char *argp;
- register ffi_type **p_arg;
-
- argp = stack;
-
- if ( cif->flags == FFI_TYPE_STRUCT ) {
- *rvalue = *(void **) argp;
- argp += 4;
- }
-
- p_argv = avalue;
-
- for (i = cif->nargs, p_arg = cif->arg_types; (i != 0); i--, p_arg++)
- {
- size_t z;
- size_t alignment;
-
- if (cif->abi == FFI_VFP
- && vi < cif->vfp_nargs && vfp_type_p (*p_arg))
- {
- *p_argv++ = (void*)(vfp_stack + cif->vfp_args[vi++]);
- continue;
- }
-
- alignment = (*p_arg)->alignment;
- if (alignment < 4)
- alignment = 4;
-#ifdef _WIN32_WCE
- else
- if (alignment > 4)
- alignment = 4;
-#endif
- /* Align if necessary */
- if ((alignment - 1) & (unsigned) argp) {
- argp = (char *) ALIGN(argp, alignment);
- }
-
- z = (*p_arg)->size;
-
- /* because we're little endian, this is what it turns into. */
-
- *p_argv = (void*) argp;
-
- p_argv++;
- argp += z;
- }
-
- return;
-}
-
-/* How to make a trampoline. */
-
-extern unsigned int ffi_arm_trampoline[3];
-
-#if FFI_EXEC_TRAMPOLINE_TABLE
-
-#include <mach/mach.h>
-#include <pthread.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-extern void *ffi_closure_trampoline_table_page;
-
-typedef struct ffi_trampoline_table ffi_trampoline_table;
-typedef struct ffi_trampoline_table_entry ffi_trampoline_table_entry;
-
-struct ffi_trampoline_table {
- /* contigious writable and executable pages */
- vm_address_t config_page;
- vm_address_t trampoline_page;
-
- /* free list tracking */
- uint16_t free_count;
- ffi_trampoline_table_entry *free_list;
- ffi_trampoline_table_entry *free_list_pool;
-
- ffi_trampoline_table *prev;
- ffi_trampoline_table *next;
-};
-
-struct ffi_trampoline_table_entry {
- void *(*trampoline)();
- ffi_trampoline_table_entry *next;
-};
-
-/* Override the standard architecture trampoline size */
-// XXX TODO - Fix
-#undef FFI_TRAMPOLINE_SIZE
-#define FFI_TRAMPOLINE_SIZE 12
-
-/* The trampoline configuration is placed at 4080 bytes prior to the trampoline's entry point */
-#define FFI_TRAMPOLINE_CODELOC_CONFIG(codeloc) ((void **) (((uint8_t *) codeloc) - 4080));
-
-/* The first 16 bytes of the config page are unused, as they are unaddressable from the trampoline page. */
-#define FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET 16
-
-/* Total number of trampolines that fit in one trampoline table */
-#define FFI_TRAMPOLINE_COUNT ((PAGE_SIZE - FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET) / FFI_TRAMPOLINE_SIZE)
-
-static pthread_mutex_t ffi_trampoline_lock = PTHREAD_MUTEX_INITIALIZER;
-static ffi_trampoline_table *ffi_trampoline_tables = NULL;
-
-static ffi_trampoline_table *
-ffi_trampoline_table_alloc ()
-{
- ffi_trampoline_table *table = NULL;
-
- /* Loop until we can allocate two contigious pages */
- while (table == NULL) {
- vm_address_t config_page = 0x0;
- kern_return_t kt;
-
- /* Try to allocate two pages */
- kt = vm_allocate (mach_task_self (), &config_page, PAGE_SIZE*2, VM_FLAGS_ANYWHERE);
- if (kt != KERN_SUCCESS) {
- fprintf(stderr, "vm_allocate() failure: %d at %s:%d\n", kt, __FILE__, __LINE__);
- break;
- }
-
- /* Now drop the second half of the allocation to make room for the trampoline table */
- vm_address_t trampoline_page = config_page+PAGE_SIZE;
- kt = vm_deallocate (mach_task_self (), trampoline_page, PAGE_SIZE);
- if (kt != KERN_SUCCESS) {
- fprintf(stderr, "vm_deallocate() failure: %d at %s:%d\n", kt, __FILE__, __LINE__);
- break;
- }
-
- /* Remap the trampoline table to directly follow the config page */
- vm_prot_t cur_prot;
- vm_prot_t max_prot;
-
- kt = vm_remap (mach_task_self (), &trampoline_page, PAGE_SIZE, 0x0, FALSE, mach_task_self (), (vm_address_t) &ffi_closure_trampoline_table_page, FALSE, &cur_prot, &max_prot, VM_INHERIT_SHARE);
-
- /* If we lost access to the destination trampoline page, drop our config allocation mapping and retry */
- if (kt != KERN_SUCCESS) {
- /* Log unexpected failures */
- if (kt != KERN_NO_SPACE) {
- fprintf(stderr, "vm_remap() failure: %d at %s:%d\n", kt, __FILE__, __LINE__);
- }
-
- vm_deallocate (mach_task_self (), config_page, PAGE_SIZE);
- continue;
- }
-
- /* We have valid trampoline and config pages */
- table = calloc (1, sizeof(ffi_trampoline_table));
- table->free_count = FFI_TRAMPOLINE_COUNT;
- table->config_page = config_page;
- table->trampoline_page = trampoline_page;
-
- /* Create and initialize the free list */
- table->free_list_pool = calloc(FFI_TRAMPOLINE_COUNT, sizeof(ffi_trampoline_table_entry));
-
- uint16_t i;
- for (i = 0; i < table->free_count; i++) {
- ffi_trampoline_table_entry *entry = &table->free_list_pool[i];
- entry->trampoline = (void *) (table->trampoline_page + (i * FFI_TRAMPOLINE_SIZE));
-
- if (i < table->free_count - 1)
- entry->next = &table->free_list_pool[i+1];
- }
-
- table->free_list = table->free_list_pool;
- }
-
- return table;
-}
-
-void *
-ffi_closure_alloc (size_t size, void **code)
-{
- /* Create the closure */
- ffi_closure *closure = malloc(size);
- if (closure == NULL)
- return NULL;
-
- pthread_mutex_lock(&ffi_trampoline_lock);
-
- /* Check for an active trampoline table with available entries. */
- ffi_trampoline_table *table = ffi_trampoline_tables;
- if (table == NULL || table->free_list == NULL) {
- table = ffi_trampoline_table_alloc ();
- if (table == NULL) {
- free(closure);
- return NULL;
- }
-
- /* Insert the new table at the top of the list */
- table->next = ffi_trampoline_tables;
- if (table->next != NULL)
- table->next->prev = table;
-
- ffi_trampoline_tables = table;
- }
-
- /* Claim the free entry */
- ffi_trampoline_table_entry *entry = ffi_trampoline_tables->free_list;
- ffi_trampoline_tables->free_list = entry->next;
- ffi_trampoline_tables->free_count--;
- entry->next = NULL;
-
- pthread_mutex_unlock(&ffi_trampoline_lock);
-
- /* Initialize the return values */
- *code = entry->trampoline;
- closure->trampoline_table = table;
- closure->trampoline_table_entry = entry;
-
- return closure;
-}
-
-void
-ffi_closure_free (void *ptr)
-{
- ffi_closure *closure = ptr;
-
- pthread_mutex_lock(&ffi_trampoline_lock);
-
- /* Fetch the table and entry references */
- ffi_trampoline_table *table = closure->trampoline_table;
- ffi_trampoline_table_entry *entry = closure->trampoline_table_entry;
-
- /* Return the entry to the free list */
- entry->next = table->free_list;
- table->free_list = entry;
- table->free_count++;
-
- /* If all trampolines within this table are free, and at least one other table exists, deallocate
- * the table */
- if (table->free_count == FFI_TRAMPOLINE_COUNT && ffi_trampoline_tables != table) {
- /* Remove from the list */
- if (table->prev != NULL)
- table->prev->next = table->next;
-
- if (table->next != NULL)
- table->next->prev = table->prev;
-
- /* Deallocate pages */
- kern_return_t kt;
- kt = vm_deallocate (mach_task_self (), table->config_page, PAGE_SIZE);
- if (kt != KERN_SUCCESS)
- fprintf(stderr, "vm_deallocate() failure: %d at %s:%d\n", kt, __FILE__, __LINE__);
-
- kt = vm_deallocate (mach_task_self (), table->trampoline_page, PAGE_SIZE);
- if (kt != KERN_SUCCESS)
- fprintf(stderr, "vm_deallocate() failure: %d at %s:%d\n", kt, __FILE__, __LINE__);
-
- /* Deallocate free list */
- free (table->free_list_pool);
- free (table);
- } else if (ffi_trampoline_tables != table) {
- /* Otherwise, bump this table to the top of the list */
- table->prev = NULL;
- table->next = ffi_trampoline_tables;
- if (ffi_trampoline_tables != NULL)
- ffi_trampoline_tables->prev = table;
-
- ffi_trampoline_tables = table;
- }
-
- pthread_mutex_unlock (&ffi_trampoline_lock);
-
- /* Free the closure */
- free (closure);
-}
-
-#else
-
-#define FFI_INIT_TRAMPOLINE(TRAMP,FUN,CTX) \
-({ unsigned char *__tramp = (unsigned char*)(TRAMP); \
- unsigned int __fun = (unsigned int)(FUN); \
- unsigned int __ctx = (unsigned int)(CTX); \
- unsigned char *insns = (unsigned char *)(CTX); \
- memcpy (__tramp, ffi_arm_trampoline, sizeof ffi_arm_trampoline); \
- *(unsigned int*) &__tramp[12] = __ctx; \
- *(unsigned int*) &__tramp[16] = __fun; \
- __clear_cache((&__tramp[0]), (&__tramp[19])); /* Clear data mapping. */ \
- __clear_cache(insns, insns + 3 * sizeof (unsigned int)); \
- /* Clear instruction \
- mapping. */ \
- })
-
-#endif
-
-/* the cif must already be prep'ed */
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure* closure,
- ffi_cif* cif,
- void (*fun)(ffi_cif*,void*,void**,void*),
- void *user_data,
- void *codeloc)
-{
- void (*closure_func)(ffi_closure*) = NULL;
-
- if (cif->abi == FFI_SYSV)
- closure_func = &ffi_closure_SYSV;
- else if (cif->abi == FFI_VFP)
- closure_func = &ffi_closure_VFP;
- else
- return FFI_BAD_ABI;
-
-#if FFI_EXEC_TRAMPOLINE_TABLE
- void **config = FFI_TRAMPOLINE_CODELOC_CONFIG(codeloc);
- config[0] = closure;
- config[1] = closure_func;
-#else
- FFI_INIT_TRAMPOLINE (&closure->tramp[0], \
- closure_func, \
- codeloc);
-#endif
-
- closure->cif = cif;
- closure->user_data = user_data;
- closure->fun = fun;
-
- return FFI_OK;
-}
-
-/* Below are routines for VFP hard-float support. */
-
-static int rec_vfp_type_p (ffi_type *t, int *elt, int *elnum)
-{
- switch (t->type)
- {
- case FFI_TYPE_FLOAT:
- case FFI_TYPE_DOUBLE:
- *elt = (int) t->type;
- *elnum = 1;
- return 1;
-
- case FFI_TYPE_STRUCT_VFP_FLOAT:
- *elt = FFI_TYPE_FLOAT;
- *elnum = t->size / sizeof (float);
- return 1;
-
- case FFI_TYPE_STRUCT_VFP_DOUBLE:
- *elt = FFI_TYPE_DOUBLE;
- *elnum = t->size / sizeof (double);
- return 1;
-
- case FFI_TYPE_STRUCT:;
- {
- int base_elt = 0, total_elnum = 0;
- ffi_type **el = t->elements;
- while (*el)
- {
- int el_elt = 0, el_elnum = 0;
- if (! rec_vfp_type_p (*el, &el_elt, &el_elnum)
- || (base_elt && base_elt != el_elt)
- || total_elnum + el_elnum > 4)
- return 0;
- base_elt = el_elt;
- total_elnum += el_elnum;
- el++;
- }
- *elnum = total_elnum;
- *elt = base_elt;
- return 1;
- }
- default: ;
- }
- return 0;
-}
-
-static int vfp_type_p (ffi_type *t)
-{
- int elt, elnum;
- if (rec_vfp_type_p (t, &elt, &elnum))
- {
- if (t->type == FFI_TYPE_STRUCT)
- {
- if (elnum == 1)
- t->type = elt;
- else
- t->type = (elt == FFI_TYPE_FLOAT
- ? FFI_TYPE_STRUCT_VFP_FLOAT
- : FFI_TYPE_STRUCT_VFP_DOUBLE);
- }
- return (int) t->type;
- }
- return 0;
-}
-
-static void place_vfp_arg (ffi_cif *cif, ffi_type *t)
-{
- int reg = cif->vfp_reg_free;
- int nregs = t->size / sizeof (float);
- int align = ((t->type == FFI_TYPE_STRUCT_VFP_FLOAT
- || t->type == FFI_TYPE_FLOAT) ? 1 : 2);
- /* Align register number. */
- if ((reg & 1) && align == 2)
- reg++;
- while (reg + nregs <= 16)
- {
- int s, new_used = 0;
- for (s = reg; s < reg + nregs; s++)
- {
- new_used |= (1 << s);
- if (cif->vfp_used & (1 << s))
- {
- reg += align;
- goto next_reg;
- }
- }
- /* Found regs to allocate. */
- cif->vfp_used |= new_used;
- cif->vfp_args[cif->vfp_nargs++] = reg;
-
- /* Update vfp_reg_free. */
- if (cif->vfp_used & (1 << cif->vfp_reg_free))
- {
- reg += nregs;
- while (cif->vfp_used & (1 << reg))
- reg += 1;
- cif->vfp_reg_free = reg;
- }
- return;
- next_reg: ;
- }
-}
-
-static void layout_vfp_args (ffi_cif *cif)
-{
- int i;
- /* Init VFP fields */
- cif->vfp_used = 0;
- cif->vfp_nargs = 0;
- cif->vfp_reg_free = 0;
- memset (cif->vfp_args, -1, 16); /* Init to -1. */
-
- for (i = 0; i < cif->nargs; i++)
- {
- ffi_type *t = cif->arg_types[i];
- if (vfp_type_p (t))
- place_vfp_arg (cif, t);
- }
-}
diff --git a/.pc/variadic/src/arm/ffitarget.h b/.pc/variadic/src/arm/ffitarget.h
deleted file mode 100644
index ce25b23..0000000
--- a/.pc/variadic/src/arm/ffitarget.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
- ffitarget.h - Copyright (c) 1996-2003 Red Hat, Inc.
- Copyright (c) 2010 CodeSourcery
-
- Target configuration macros for ARM.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
-
- ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-#ifndef LIBFFI_ASM
-typedef unsigned long ffi_arg;
-typedef signed long ffi_sarg;
-
-typedef enum ffi_abi {
- FFI_FIRST_ABI = 0,
- FFI_SYSV,
- FFI_VFP,
- FFI_LAST_ABI,
-#ifdef __ARM_PCS_VFP
- FFI_DEFAULT_ABI = FFI_VFP,
-#else
- FFI_DEFAULT_ABI = FFI_SYSV,
-#endif
-} ffi_abi;
-#endif
-
-#define FFI_EXTRA_CIF_FIELDS \
- int vfp_used; \
- short vfp_reg_free, vfp_nargs; \
- signed char vfp_args[16] \
-
-/* Internally used. */
-#define FFI_TYPE_STRUCT_VFP_FLOAT (FFI_TYPE_LAST + 1)
-#define FFI_TYPE_STRUCT_VFP_DOUBLE (FFI_TYPE_LAST + 2)
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#define FFI_TRAMPOLINE_SIZE 20
-#define FFI_NATIVE_RAW_API 0
-
-#endif
-
diff --git a/.pc/variadic/src/cris/ffi.c b/.pc/variadic/src/cris/ffi.c
deleted file mode 100644
index f25d7b4..0000000
--- a/.pc/variadic/src/cris/ffi.c
+++ /dev/null
@@ -1,383 +0,0 @@
-/* -----------------------------------------------------------------------
- ffi.c - Copyright (c) 1998 Cygnus Solutions
- Copyright (c) 2004 Simon Posnjak
- Copyright (c) 2005 Axis Communications AB
- Copyright (C) 2007 Free Software Foundation, Inc.
-
- CRIS Foreign Function Interface
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS
- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- IN NO EVENT SHALL SIMON POSNJAK BE LIABLE FOR ANY CLAIM, DAMAGES OR
- OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- OTHER DEALINGS IN THE SOFTWARE.
- ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#define STACK_ARG_SIZE(x) ALIGN(x, FFI_SIZEOF_ARG)
-
-static ffi_status
-initialize_aggregate_packed_struct (ffi_type * arg)
-{
- ffi_type **ptr;
-
- FFI_ASSERT (arg != NULL);
-
- FFI_ASSERT (arg->elements != NULL);
- FFI_ASSERT (arg->size == 0);
- FFI_ASSERT (arg->alignment == 0);
-
- ptr = &(arg->elements[0]);
-
- while ((*ptr) != NULL)
- {
- if (((*ptr)->size == 0)
- && (initialize_aggregate_packed_struct ((*ptr)) != FFI_OK))
- return FFI_BAD_TYPEDEF;
-
- FFI_ASSERT (ffi_type_test ((*ptr)));
-
- arg->size += (*ptr)->size;
-
- arg->alignment = (arg->alignment > (*ptr)->alignment) ?
- arg->alignment : (*ptr)->alignment;
-
- ptr++;
- }
-
- if (arg->size == 0)
- return FFI_BAD_TYPEDEF;
- else
- return FFI_OK;
-}
-
-int
-ffi_prep_args (char *stack, extended_cif * ecif)
-{
- unsigned int i;
- unsigned int struct_count = 0;
- void **p_argv;
- char *argp;
- ffi_type **p_arg;
-
- argp = stack;
-
- p_argv = ecif->avalue;
-
- for (i = ecif->cif->nargs, p_arg = ecif->cif->arg_types;
- (i != 0); i--, p_arg++)
- {
- size_t z;
-
- switch ((*p_arg)->type)
- {
- case FFI_TYPE_STRUCT:
- {
- z = (*p_arg)->size;
- if (z <= 4)
- {
- memcpy (argp, *p_argv, z);
- z = 4;
- }
- else if (z <= 8)
- {
- memcpy (argp, *p_argv, z);
- z = 8;
- }
- else
- {
- unsigned int uiLocOnStack;
- z = sizeof (void *);
- uiLocOnStack = 4 * ecif->cif->nargs + struct_count;
- struct_count = struct_count + (*p_arg)->size;
- *(unsigned int *) argp =
- (unsigned int) (UINT32 *) (stack + uiLocOnStack);
- memcpy ((stack + uiLocOnStack), *p_argv, (*p_arg)->size);
- }
- break;
- }
- default:
- z = (*p_arg)->size;
- if (z < sizeof (int))
- {
- switch ((*p_arg)->type)
- {
- case FFI_TYPE_SINT8:
- *(signed int *) argp = (signed int) *(SINT8 *) (*p_argv);
- break;
-
- case FFI_TYPE_UINT8:
- *(unsigned int *) argp =
- (unsigned int) *(UINT8 *) (*p_argv);
- break;
-
- case FFI_TYPE_SINT16:
- *(signed int *) argp = (signed int) *(SINT16 *) (*p_argv);
- break;
-
- case FFI_TYPE_UINT16:
- *(unsigned int *) argp =
- (unsigned int) *(UINT16 *) (*p_argv);
- break;
-
- default:
- FFI_ASSERT (0);
- }
- z = sizeof (int);
- }
- else if (z == sizeof (int))
- *(unsigned int *) argp = (unsigned int) *(UINT32 *) (*p_argv);
- else
- memcpy (argp, *p_argv, z);
- break;
- }
- p_argv++;
- argp += z;
- }
-
- return (struct_count);
-}
-
-ffi_status
-ffi_prep_cif (ffi_cif * cif,
- ffi_abi abi, unsigned int nargs,
- ffi_type * rtype, ffi_type ** atypes)
-{
- unsigned bytes = 0;
- unsigned int i;
- ffi_type **ptr;
-
- FFI_ASSERT (cif != NULL);
- FFI_ASSERT (abi > FFI_FIRST_ABI && abi < FFI_LAST_ABI);
-
- cif->abi = abi;
- cif->arg_types = atypes;
- cif->nargs = nargs;
- cif->rtype = rtype;
-
- cif->flags = 0;
-
- if ((cif->rtype->size == 0)
- && (initialize_aggregate_packed_struct (cif->rtype) != FFI_OK))
- return FFI_BAD_TYPEDEF;
-
- FFI_ASSERT_VALID_TYPE (cif->rtype);
-
- for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++)
- {
- if (((*ptr)->size == 0)
- && (initialize_aggregate_packed_struct ((*ptr)) != FFI_OK))
- return FFI_BAD_TYPEDEF;
-
- FFI_ASSERT_VALID_TYPE (*ptr);
-
- if (((*ptr)->alignment - 1) & bytes)
- bytes = ALIGN (bytes, (*ptr)->alignment);
- if ((*ptr)->type == FFI_TYPE_STRUCT)
- {
- if ((*ptr)->size > 8)
- {
- bytes += (*ptr)->size;
- bytes += sizeof (void *);
- }
- else
- {
- if ((*ptr)->size > 4)
- bytes += 8;
- else
- bytes += 4;
- }
- }
- else
- bytes += STACK_ARG_SIZE ((*ptr)->size);
- }
-
- cif->bytes = bytes;
-
- return ffi_prep_cif_machdep (cif);
-}
-
-ffi_status
-ffi_prep_cif_machdep (ffi_cif * cif)
-{
- switch (cif->rtype->type)
- {
- case FFI_TYPE_VOID:
- case FFI_TYPE_STRUCT:
- case FFI_TYPE_FLOAT:
- case FFI_TYPE_DOUBLE:
- case FFI_TYPE_SINT64:
- case FFI_TYPE_UINT64:
- cif->flags = (unsigned) cif->rtype->type;
- break;
-
- default:
- cif->flags = FFI_TYPE_INT;
- break;
- }
-
- return FFI_OK;
-}
-
-extern void ffi_call_SYSV (int (*)(char *, extended_cif *),
- extended_cif *,
- unsigned, unsigned, unsigned *, void (*fn) ())
- __attribute__ ((__visibility__ ("hidden")));
-
-void
-ffi_call (ffi_cif * cif, void (*fn) (), void *rvalue, void **avalue)
-{
- extended_cif ecif;
-
- ecif.cif = cif;
- ecif.avalue = avalue;
-
- if ((rvalue == NULL) && (cif->rtype->type == FFI_TYPE_STRUCT))
- {
- ecif.rvalue = alloca (cif->rtype->size);
- }
- else
- ecif.rvalue = rvalue;
-
- switch (cif->abi)
- {
- case FFI_SYSV:
- ffi_call_SYSV (ffi_prep_args, &ecif, cif->bytes,
- cif->flags, ecif.rvalue, fn);
- break;
- default:
- FFI_ASSERT (0);
- break;
- }
-}
-
-/* Because the following variables are not exported outside libffi, we
- mark them hidden. */
-
-/* Assembly code for the jump stub. */
-extern const char ffi_cris_trampoline_template[]
- __attribute__ ((__visibility__ ("hidden")));
-
-/* Offset into ffi_cris_trampoline_template of where to put the
- ffi_prep_closure_inner function. */
-extern const int ffi_cris_trampoline_fn_offset
- __attribute__ ((__visibility__ ("hidden")));
-
-/* Offset into ffi_cris_trampoline_template of where to put the
- closure data. */
-extern const int ffi_cris_trampoline_closure_offset
- __attribute__ ((__visibility__ ("hidden")));
-
-/* This function is sibling-called (jumped to) by the closure
- trampoline. We get R10..R13 at PARAMS[0..3] and a copy of [SP] at
- PARAMS[4] to simplify handling of a straddling parameter. A copy
- of R9 is at PARAMS[5] and SP at PARAMS[6]. These parameters are
- put at the appropriate place in CLOSURE which is then executed and
- the return value is passed back to the caller. */
-
-static unsigned long long
-ffi_prep_closure_inner (void **params, ffi_closure* closure)
-{
- char *register_args = (char *) params;
- void *struct_ret = params[5];
- char *stack_args = params[6];
- char *ptr = register_args;
- ffi_cif *cif = closure->cif;
- ffi_type **arg_types = cif->arg_types;
-
- /* Max room needed is number of arguments as 64-bit values. */
- void **avalue = alloca (closure->cif->nargs * sizeof(void *));
- int i;
- int doing_regs;
- long long llret = 0;
-
- /* Find the address of each argument. */
- for (i = 0, doing_regs = 1; i < cif->nargs; i++)
- {
- /* Types up to and including 8 bytes go by-value. */
- if (arg_types[i]->size <= 4)
- {
- avalue[i] = ptr;
- ptr += 4;
- }
- else if (arg_types[i]->size <= 8)
- {
- avalue[i] = ptr;
- ptr += 8;
- }
- else
- {
- FFI_ASSERT (arg_types[i]->type == FFI_TYPE_STRUCT);
-
- /* Passed by-reference, so copy the pointer. */
- avalue[i] = *(void **) ptr;
- ptr += 4;
- }
-
- /* If we've handled more arguments than fit in registers, start
- looking at the those passed on the stack. Step over the
- first one if we had a straddling parameter. */
- if (doing_regs && ptr >= register_args + 4*4)
- {
- ptr = stack_args + ((ptr > register_args + 4*4) ? 4 : 0);
- doing_regs = 0;
- }
- }
-
- /* Invoke the closure. */
- (closure->fun) (cif,
-
- cif->rtype->type == FFI_TYPE_STRUCT
- /* The caller allocated space for the return
- structure, and passed a pointer to this space in
- R9. */
- ? struct_ret
-
- /* We take advantage of being able to ignore that
- the high part isn't set if the return value is
- not in R10:R11, but in R10 only. */
- : (void *) &llret,
-
- avalue, closure->user_data);
-
- return llret;
-}
-
-/* API function: Prepare the trampoline. */
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure* closure,
- ffi_cif* cif,
- void (*fun)(ffi_cif *, void *, void **, void*),
- void *user_data,
- void *codeloc)
-{
- void *innerfn = ffi_prep_closure_inner;
- FFI_ASSERT (cif->abi == FFI_SYSV);
- closure->cif = cif;
- closure->user_data = user_data;
- closure->fun = fun;
- memcpy (closure->tramp, ffi_cris_trampoline_template,
- FFI_CRIS_TRAMPOLINE_CODE_PART_SIZE);
- memcpy (closure->tramp + ffi_cris_trampoline_fn_offset,
- &innerfn, sizeof (void *));
- memcpy (closure->tramp + ffi_cris_trampoline_closure_offset,
- &codeloc, sizeof (void *));
-
- return FFI_OK;
-}
diff --git a/.pc/variadic/src/prep_cif.c b/.pc/variadic/src/prep_cif.c
deleted file mode 100644
index bf3f030..0000000
--- a/.pc/variadic/src/prep_cif.c
+++ /dev/null
@@ -1,182 +0,0 @@
-/* -----------------------------------------------------------------------
- prep_cif.c - Copyright (c) 2011, 2012 Anthony Green
- Copyright (c) 1996, 1998, 2007 Red Hat, Inc.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
- ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-#include <stdlib.h>
-
-/* Round up to FFI_SIZEOF_ARG. */
-
-#define STACK_ARG_SIZE(x) ALIGN(x, FFI_SIZEOF_ARG)
-
-/* Perform machine independent initialization of aggregate type
- specifications. */
-
-static ffi_status initialize_aggregate(ffi_type *arg)
-{
- ffi_type **ptr;
-
- if (UNLIKELY(arg == NULL || arg->elements == NULL))
- return FFI_BAD_TYPEDEF;
-
- arg->size = 0;
- arg->alignment = 0;
-
- ptr = &(arg->elements[0]);
-
- if (UNLIKELY(ptr == 0))
- return FFI_BAD_TYPEDEF;
-
- while ((*ptr) != NULL)
- {
- if (UNLIKELY(((*ptr)->size == 0)
- && (initialize_aggregate((*ptr)) != FFI_OK)))
- return FFI_BAD_TYPEDEF;
-
- /* Perform a sanity check on the argument type */
- FFI_ASSERT_VALID_TYPE(*ptr);
-
- arg->size = ALIGN(arg->size, (*ptr)->alignment);
- arg->size += (*ptr)->size;
-
- arg->alignment = (arg->alignment > (*ptr)->alignment) ?
- arg->alignment : (*ptr)->alignment;
-
- ptr++;
- }
-
- /* Structure size includes tail padding. This is important for
- structures that fit in one register on ABIs like the PowerPC64
- Linux ABI that right justify small structs in a register.
- It's also needed for nested structure layout, for example
- struct A { long a; char b; }; struct B { struct A x; char y; };
- should find y at an offset of 2*sizeof(long) and result in a
- total size of 3*sizeof(long). */
- arg->size = ALIGN (arg->size, arg->alignment);
-
- if (arg->size == 0)
- return FFI_BAD_TYPEDEF;
- else
- return FFI_OK;
-}
-
-#ifndef __CRIS__
-/* The CRIS ABI specifies structure elements to have byte
- alignment only, so it completely overrides this functions,
- which assumes "natural" alignment and padding. */
-
-/* Perform machine independent ffi_cif preparation, then call
- machine dependent routine. */
-
-ffi_status ffi_prep_cif(ffi_cif *cif, ffi_abi abi, unsigned int nargs,
- ffi_type *rtype, ffi_type **atypes)
-{
- unsigned bytes = 0;
- unsigned int i;
- ffi_type **ptr;
-
- FFI_ASSERT(cif != NULL);
-#ifndef X86_WIN32
- if (! (abi > FFI_FIRST_ABI) && (abi <= FFI_LAST_ABI))
- return FFI_BAD_ABI;
-#else
- if (! (abi > FFI_FIRST_ABI && abi < FFI_LAST_ABI || abi == FFI_THISCALL))
- return FFI_BAD_ABI;
-#endif
-
- cif->abi = abi;
- cif->arg_types = atypes;
- cif->nargs = nargs;
- cif->rtype = rtype;
-
- cif->flags = 0;
-
- /* Initialize the return type if necessary */
- if ((cif->rtype->size == 0) && (initialize_aggregate(cif->rtype) != FFI_OK))
- return FFI_BAD_TYPEDEF;
-
- /* Perform a sanity check on the return type */
- FFI_ASSERT_VALID_TYPE(cif->rtype);
-
- /* x86, x86-64 and s390 stack space allocation is handled in prep_machdep. */
-#if !defined M68K && !defined X86_ANY && !defined S390 && !defined PA
- /* Make space for the return structure pointer */
- if (cif->rtype->type == FFI_TYPE_STRUCT
-#ifdef SPARC
- && (cif->abi != FFI_V9 || cif->rtype->size > 32)
-#endif
- )
- bytes = STACK_ARG_SIZE(sizeof(void*));
-#endif
-
- for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++)
- {
-
- /* Initialize any uninitialized aggregate type definitions */
- if (((*ptr)->size == 0) && (initialize_aggregate((*ptr)) != FFI_OK))
- return FFI_BAD_TYPEDEF;
-
- /* Perform a sanity check on the argument type, do this
- check after the initialization. */
- FFI_ASSERT_VALID_TYPE(*ptr);
-
-#if !defined X86_ANY && !defined S390 && !defined PA
-#ifdef SPARC
- if (((*ptr)->type == FFI_TYPE_STRUCT
- && ((*ptr)->size > 16 || cif->abi != FFI_V9))
- || ((*ptr)->type == FFI_TYPE_LONGDOUBLE
- && cif->abi != FFI_V9))
- bytes += sizeof(void*);
- else
-#endif
- {
- /* Add any padding if necessary */
- if (((*ptr)->alignment - 1) & bytes)
- bytes = ALIGN(bytes, (*ptr)->alignment);
-
- bytes += STACK_ARG_SIZE((*ptr)->size);
- }
-#endif
- }
-
- cif->bytes = bytes;
-
- /* Perform machine dependent cif processing */
- return ffi_prep_cif_machdep(cif);
-}
-#endif /* not __CRIS__ */
-
-#if FFI_CLOSURES
-
-ffi_status
-ffi_prep_closure (ffi_closure* closure,
- ffi_cif* cif,
- void (*fun)(ffi_cif*,void*,void**,void*),
- void *user_data)
-{
- return ffi_prep_closure_loc (closure, cif, fun, user_data, closure);
-}
-
-#endif
diff --git a/.pc/variadic/testsuite/libffi.call/cls_double_va.c b/.pc/variadic/testsuite/libffi.call/cls_double_va.c
deleted file mode 100644
index e769caf..0000000
--- a/.pc/variadic/testsuite/libffi.call/cls_double_va.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Area: ffi_call, closure_call
- Purpose: Test doubles passed in variable argument lists.
- Limitations: none.
- PR: none.
- Originator: Blake Chaffin 6/6/2007 */
-
-/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
-/* { dg-output "" { xfail avr32*-*-* } } */
-/* { dg-output "" { xfail mips-sgi-irix6* } } PR libffi/46660 */
-/* { dg-skip-if "" arm*-*-* { "-mfloat-abi=hard" } { "" } } */
-
-#include "ffitest.h"
-
-static void
-cls_double_va_fn(ffi_cif* cif __UNUSED__, void* resp,
- void** args, void* userdata __UNUSED__)
-{
- char* format = *(char**)args[0];
- double doubleValue = *(double*)args[1];
-
- *(ffi_arg*)resp = printf(format, doubleValue);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args[3];
- ffi_type* arg_types[3];
-
- char* format = "%.1f\n";
- double doubleArg = 7;
- ffi_arg res = 0;
-
- arg_types[0] = &ffi_type_pointer;
- arg_types[1] = &ffi_type_double;
- arg_types[2] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &ffi_type_sint,
- arg_types) == FFI_OK);
-
- args[0] = &format;
- args[1] = &doubleArg;
- args[2] = NULL;
-
- ffi_call(&cif, FFI_FN(printf), &res, args);
- // { dg-output "7.0" }
- printf("res: %d\n", (int) res);
- // { dg-output "\nres: 4" }
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_double_va_fn, NULL, code) == FFI_OK);
-
- res = ((int(*)(char*, double))(code))(format, doubleArg);
- // { dg-output "\n7.0" }
- printf("res: %d\n", (int) res);
- // { dg-output "\nres: 4" }
-
- exit(0);
-}
diff --git a/.pc/variadic/testsuite/libffi.call/cls_longdouble_va.c b/.pc/variadic/testsuite/libffi.call/cls_longdouble_va.c
deleted file mode 100644
index 07780ed..0000000
--- a/.pc/variadic/testsuite/libffi.call/cls_longdouble_va.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Area: ffi_call, closure_call
- Purpose: Test long doubles passed in variable argument lists.
- Limitations: none.
- PR: none.
- Originator: Blake Chaffin 6/6/2007 */
-
-/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
-/* { dg-output "" { xfail avr32*-*-* x86_64-*-mingw* } } */
-/* { dg-output "" { xfail mips-sgi-irix6* } } PR libffi/46660 */
-/* { dg-skip-if "" arm*-*-* { "-mfloat-abi=hard" } { "" } } */
-
-#include "ffitest.h"
-
-static void
-cls_longdouble_va_fn(ffi_cif* cif __UNUSED__, void* resp,
- void** args, void* userdata __UNUSED__)
-{
- char* format = *(char**)args[0];
- long double ldValue = *(long double*)args[1];
-
- *(ffi_arg*)resp = printf(format, ldValue);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args[3];
- ffi_type* arg_types[3];
-
- char* format = "%.1Lf\n";
- long double ldArg = 7;
- ffi_arg res = 0;
-
- arg_types[0] = &ffi_type_pointer;
- arg_types[1] = &ffi_type_longdouble;
- arg_types[2] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &ffi_type_sint,
- arg_types) == FFI_OK);
-
- args[0] = &format;
- args[1] = &ldArg;
- args[2] = NULL;
-
- ffi_call(&cif, FFI_FN(printf), &res, args);
- // { dg-output "7.0" }
- printf("res: %d\n", (int) res);
- // { dg-output "\nres: 4" }
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_longdouble_va_fn, NULL, code) == FFI_OK);
-
- res = ((int(*)(char*, long double))(code))(format, ldArg);
- // { dg-output "\n7.0" }
- printf("res: %d\n", (int) res);
- // { dg-output "\nres: 4" }
-
- exit(0);
-}
diff --git a/.pc/variadic/testsuite/libffi.call/float_va.c b/.pc/variadic/testsuite/libffi.call/float_va.c
deleted file mode 100644
index e69de29..0000000
--- a/.pc/variadic/testsuite/libffi.call/float_va.c
+++ /dev/null
diff --git a/.pc/win64-struct-args/.timestamp b/.pc/win64-struct-args/.timestamp
deleted file mode 100644
index e69de29..0000000
--- a/.pc/win64-struct-args/.timestamp
+++ /dev/null
diff --git a/.pc/win64-struct-args/ChangeLog b/.pc/win64-struct-args/ChangeLog
deleted file mode 100644
index 30cdc30..0000000
--- a/.pc/win64-struct-args/ChangeLog
+++ /dev/null
@@ -1,4517 +0,0 @@
-2012-02-10 Kai Tietz <ktietz@redhat.com>
-
- * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
- windows target.
- * configure: Regenerated.
-
-2012-02-08 Kai Tietz <ktietz@redhat.com>
-
- * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
- also FFI_THISCALL.
- * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
- (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
- (ffi_prep_closure_loc): Add FFI_THISCALL support.
- * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
- * src/x86/win32.S (ffi_closure_THISCALL): New closure code
- for thiscall-calling convention.
- * testsuite/libffi.call/closure_thiscall.c: New test.
-
-2012-01-28 Kai Tietz <ktietz@redhat.com>
-
- * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
- argument to prototype for specify calling-convention.
- (ffi_call): Add support for stdcall/thiscall convention.
- (ffi_prep_args): Likewise.
- (ffi_raw_call): Likewise.
- * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
- FFI_FASTCALL.
- * src/x86/win32.S (_ffi_call_win32): Add support for
- fastcall/thiscall calling-convention calls.
- * testsuite/libffi.call/fastthis1_win32.c: New test.
- * testsuite/libffi.call/fastthis2_win32.c: New test.
- * testsuite/libffi.call/fastthis3_win32.c: New test.
- * testsuite/libffi.call/strlen2_win32.c: New test.
- * testsuite/libffi.call/many2_win32.c: New test.
- * testsuite/libffi.call/struct1_win32.c: New test.
- * testsuite/libffi.call/struct2_win32.c: New test.
-
-2012-01-23 Andreas Schwab <schwab@linux-m68k.org>
-
- * src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
- mc68000. Test for __HAVE_68881__ in addition to __MC68881__.
-
-2012-01-19 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/48496
- * src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
-
-2012-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (i?86-*-*): Set TARGET to X86_64.
- * configure: Regenerate.
-
-2011-12-07 Andrew Pinski <apinski@cavium.com>
-
- PR libffi/50051
- * src/mips/n32.S: Add ".set mips4".
-
-2011-11-21 Andreas Tobler <andreast@fgznet.ch>
-
- * configure: Regenerate.
-
-2011-11-10 Richard Henderson <rth@redhat.com>
-
- * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
- * configure, aclocal.m4: Rebuild.
-
-2011-09-04 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/49594
- * src/powerpc/darwin_closure.S (stubs): Make the stub binding
- helper reference track the architecture pointer size.
-
-2011-08-25 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
- instructions.
- * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
-
-2011-07-11 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46660
- * testsuite/libffi.call/cls_double_va.c: xfail dg-output on
- mips-sgi-irix6*.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
- PRId8 instead of %hhu, %hhd.
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
- PRIu8): Define.
- [__sgi__] (PRId8, PRIu8): Define.
-
-2011-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
- Define.
- Use them to handle ELF vs. ECOFF differences.
- [__osf__] (_GLOBAL__F_ffi_call_osf): Define.
-
-2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46661
- * testsuite/libffi.call/cls_pointer.c (main): Cast void * to
- uintptr_t first.
- * testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
- Handle case when CPU variant does not have long double support.
- * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
- and cores with soft floating point.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * configure.ac: Add mips*-*-rtems* support.
- * configure: Regenerate.
- * src/mips/ffitarget.h: Ensure needed constants are available
- for targets which do not have sgidefs.h.
-
-2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR target/40125
- * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
- * configure: Regenerate.
-
-2010-12-18 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/29152
- PR libffi/42378
- * src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
- (FFI_TRAMPOLINE_SIZE): Update for Darwin64.
- * src/powerpc/darwin.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
- backslashes.
- (libffi_cv_as_string_pseudo_op): Likewise.
- * configure: Regenerate.
-
-2010-12-03 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
- (ffi_closure_VFP): Same.
- (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
- directive.
-
-2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
- (PRIuPTR): Define.
-
-2010-11-29 Richard Henderson <rth@redhat.com>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
- (.eh_frame): Use FDE_ENCODING.
- (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
-
-2010-11-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp: Rename ...
- * testsuite/lib/libffi.exp: ... to this.
- * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
- * libffi/testsuite/libffi.special/special.exp: Likewise.
-
-2010-10-28 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
- code, new parameter, and return value. Update comments.
- (ffi_prep_cif_machdep): Add case for VFP struct return values. Add
- call to layout_vfp_args().
- (ffi_call_SYSV): Update declaration.
- (ffi_call_VFP): New declaration.
- (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
- when ABI is FFI_VFP.
- (ffi_closure_VFP): New declaration.
- (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
- ffi_prep_incoming_args_SYSV().
- (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
- case handling.
- (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
- construction under VFP hard-float.
- (rec_vfp_type_p): New function.
- (vfp_type_p): Same.
- (place_vfp_arg): Same.
- (layout_vfp_args): Same.
- * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
- based on __ARM_PCS_VFP.
- (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
- fields.
- (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
- (FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
- * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
- direct call. Move function pointer load upwards.
- (ffi_call_VFP): New function.
- (ffi_closure_VFP): Same.
-
- * testsuite/lib/libffi-dg.exp (check-flags): New function.
- (dg-skip-if): New function.
- * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
- and compiler options include -mfloat-abi=hard.
- * testsuite/libffi.call/cls_longdouble_va.c: Same.
-
-2010-10-01 Jakub Jelinek <jakub@redhat.com>
-
- PR libffi/45677
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
- a multiple of 8.
- * testsuite/libffi.call/many2.c: New test.
-
-2010-08-20 Mark Wielaard <mjw@redhat.com>
-
- * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
- returns NULL.
-
-2010-08-09 Andreas Tobler <andreast@fgznet.ch>
-
- * configure.ac: Add target powerpc64-*-freebsd*.
- * configure: Regenerate.
- * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
- -mlong-double-128 only to linux targets.
- * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
- * testsuite/libffi.call/cls_longdouble.c: Likewise.
- * testsuite/libffi.call/huge_struct.c: Likewise.
-
-2010-07-22 Dan Witte <dwitte@mozilla.com>
-
- * src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
- * src/prep_cif.c: Fix ABI assertion.
- * src/cris/ffi.c: Ditto.
-
-2010-07-10 Evan Phoenix <evan@fallingsnow.net>
-
- * src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
-
-2010-07-07 Dan Horák <dan@danny.cz>
-
- * include/ffi.h.in: Protect #define with #ifndef.
- * src/powerpc/ffitarget.h: Ditto.
- * src/s390/ffitarget.h: Ditto.
- * src/sparc/ffitarget.h: Ditto.
-
-2010-07-07 Neil Roberts <neil@linux.intel.com>
-
- * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
- 16-bytes.
-
-2010-07-02 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
- * Makefile.in: Regenerated.
-
-2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
- output, too.
- (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
- (libffi_cv_as_string_pseudo_op): Check for .string.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
-
-2010-05-05 Michael Kohler <michaelkohler@live.com>
-
- * src/dlmalloc.c (dlfree): Fix spelling.
- * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
- * configure.ac: Ditto.
- * configure: Rebuilt.
-
-2010-04-13 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Build with -W3 instead of -Wall.
- * src/powerpc/ffi_darwin.c: Remove build warnings.
- * src/x86/ffi.c: Ditto.
- * src/x86/ffitarget.h: Ditto.
-
-2010-04-12 Dan Witte <dwitte@mozilla.com>
- Walter Meinl <wuno@lsvw.de>
-
- * configure.ac: Add OS/2 support.
- * configure: Rebuilt.
- * src/closures.c: Ditto.
- * src/dlmalloc.c: Ditto.
- * src/x86/win32.S: Ditto.
-
-2010-04-07 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
-
-2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2010-03-30 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Disable build warnings.
- * README (tested): Clarify windows build procedure.
-
-2010-03-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * libffi/src/x86/unix64.S (.eh_frame)
- [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
-
-2010-03-14 Matthias Klose <doko@ubuntu.com>
-
- * src/x86/ffi64.c: Fix typo in comment.
- * src/x86/ffi.c: Use /* ... */ comment style.
-
-2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/libffi.texi (The Closure API): Fix typo.
- * doc/libffi.info: Remove.
-
-2010-02-15 Matthias Klose <doko@ubuntu.com>
-
- * src/arm/sysv.S (__ARM_ARCH__): Define for processor
- __ARM_ARCH_7EM__.
-
-2010-01-15 Anthony Green <green@redhat.com>
-
- * README: Add notes on building with Microsoft Visual C++.
-
-2010-01-15 Daniel Witte <dwitte@mozilla.com>
-
- * msvcc.sh: New file.
-
- * src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
- * src/x86/ffi.c: Tweak function declaration and remove excess
- parens.
- * include/ffi.h.in: Add __declspec(align(8)) to typedef struct
- ffi_closure.
-
- * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
- function ffi_call_win32 on X86_WIN32.
- * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
- (ffi_call_STDCALL): Remove.
-
- * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
- to ffi_prep_cif_machdep for x86.
- * src/x86/ffi.c (ffi_prep_cif_machdep): To here.
-
-2010-01-15 Oliver Kiddle <okiddle@yahoo.co.uk>
-
- * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
- Sun Studio compiler compatibility.
-
-2010-01-12 Conrad Irwin <conrad.irwin@gmail.com>
-
- * doc/libffi.texi: Add closure example.
-
-2010-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40701
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
- PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
- * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
- alpha*-dec-osf*.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/return_ll1.c: Likewise.
- * testsuite/libffi.call/stret_medium2.c: Likewise.
- * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
- MAP_FAILED to char *.
-
-2010-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
-
-2009-12-31 Anthony Green <green@redhat.com>
-
- * README: Update for libffi 3.0.9.
-
-2009-12-27 Matthias Klose <doko@ubuntu.com>
-
- * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
- appropriate.
- * configure: Rebuilt.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
- avr32*-*-*.
- * testsuite/libffi.call/cls_double_va.c: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
- and inttypes.h.
- * testsuite/libffi.special/unwindtest.cc: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-openbsd*.
- * configure: Rebuilt.
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
- openbsd programs with -lpthread.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
- mips*-*-* and arm*-*-*.
- * testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c,
- testsuite/libffi.call/stret_medium2.c,
- testsuite/libffi.call/stret_medium.c,
- testsuite/libffi.call/stret_large.c,
- testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
-
-2009-12-31 Kay Tietz <ktietz70@googlemail.com>
-
- * testsuite/libffi.call/ffitest.h,
- testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
- definitions.
-
-2009-12-31 Carlo Bramini <carlo.bramix@libero.it>
-
- * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
- * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
-
-2009-12-31 Anthony Green <green@redhat.com>
- Blake Chaffin.
-
- * testsuite/libffi.call/huge_struct.c: New test case from Blake
- Chaffin @ Apple.
-
-2009-12-28 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
- local variables.
- (aix_adjust_aggregate_sizes): New function.
- (ffi_prep_cif_machdep): Call it.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
- * configure: Regenerate.
- * fficonfig.h.in: Likewise.
- * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
- Solaris/x86.
-
-2009-12-26 Andreas Schwab <schwab@linux-m68k.org>
-
- * 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.
-
-2009-12-25 Matthias Klose <doko@ubuntu.com>
-
- * man/ffi_call.3: Fix #include in examples.
- * doc/libffi.texi: Add dircategory.
-
-2009-12-25 Frank Everdij <f.p.x.everdij@tudelft.nl>
-
- * include/ffi.h.in: Placed '__GNUC__' ifdef around
- '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
- IRIX MIPSPro c99.
- * include/ffi_common.h: Added '__sgi' define to non
- '__attribute__((__mode__()))' integer typedefs.
- * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
- ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
- (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
- FFI_LONGDOUBLE support and alignment(N32 only).
- * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
- fixed non '__attribute__((__mode__()))' integer typedefs.
- * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
- since they are Linux/GNU Assembler specific.
-
-2009-12-25 Bradley Smith <brad@brad-smith.co.uk>
-
- * configure.ac, Makefile.am, src/avr32/ffi.c,
- src/avr32/ffitarget.h,
- src/avr32/sysv.S: Add AVR32 port.
- * configure, Makefile.in: Rebuilt.
-
-2009-12-21 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
- * configure: Regenerate.
-
-2009-12-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
- type on HP-UX.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
- double' arguments.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40700
- * src/closures.c [X86_64 && __sun__ && __svr4__]
- (FFI_MMAP_EXEC_WRIT): Define.
-
-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.
-
-2009-12-07 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
- typo.
-
-2009-12-05 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
- code.
- * src/powerpc/aix_closure.S: Same.
-
-2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
- linux64_closure.S.
-
-2009-12-04 Uros Bizjak <ubizjak@gmail.com>
-
- 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.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
- pfr for long double split between fpr13 and stack.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
- fparg_count twice for long double.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- PR libffi/42243
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03 Uros Bizjak <ubizjak@gmail.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
- Remove xfails for x86 linux targets.
-
-2009-12-02 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
- case.
-
-2009-12-01 David Edelsohn <edelsohn@gnu.org>
-
- * 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.
-
-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.
-
-2009-11-02 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/41908
- * testsuite/libffi.call/testclosure.c: New test.
-
-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.
-
-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.
-
-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.
-
-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.
-
-2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.am (install-html, install-pdf): Remove.
- * Makefile.in: Regenerate.
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24 Dave Korn <dave.korn.cygwin@gmail.com>
-
- 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.
-
-2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
-
- 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.
-
-2009-07-01 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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 "".)
-
-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.
-
-2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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.
-
-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.
-
-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.
-
-2009-06-16 Andrew Haley <aph@redhat.com>
-
- * configure.ac (TARGETDIR): Add missing blank lines.
- * configure: Regenerate.
-
-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.
-
-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.
-
-2009-06-12 Andrew Haley <aph@redhat.com>
-
- * Makefile.am: Remove info_TEXINFOS.
-
-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-11 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * 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.
-
-2009-06-09 Andrew Haley <aph@redhat.com>
-
- * src/x86/freebsd.S: Add missing file.
-
-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).
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * README: Import from libffi 3.0.8.
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Add xfails.
- * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
- * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
- * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
- * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
- * testsuite/libffi.call/stret_medium.c: Likewise.
- * testsuite/libffi.call/stret_large2.c: Likewise.
- * testsuite/libffi.call/stret_large.c: Likewise.
-
-2008-12-26 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_align_longdouble.c,
- testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
- failures on x86_64 cygwin/mingw.
-
-2008-12-22 Timothy Wall <twall@users.sf.net>
-
- * 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_loc_fn0.c,
- testsuite/libffi.call/closure_stdcall.c,
- testsuite/libffi.call/cls_align_pointer.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
- pointer to integer (intptr_t).
- * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_dbls_struct.c,
- testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c,
- testsuite/libffi.call/err_bad_abi.c: Clean up failures from
- compiler warnings.
-
-2008-03-04 Anthony Green <green@redhat.com>
- Blake Chaffin
- hos@tamanegi.org
-
- * testsuite/libffi.call/cls_align_longdouble_split2.c
- testsuite/libffi.call/cls_align_longdouble_split.c
- testsuite/libffi.call/cls_dbls_struct.c
- testsuite/libffi.call/cls_double_va.c
- testsuite/libffi.call/cls_longdouble.c
- testsuite/libffi.call/cls_longdouble_va.c
- testsuite/libffi.call/cls_pointer.c
- testsuite/libffi.call/cls_pointer_stack.c
- testsuite/libffi.call/err_bad_abi.c
- testsuite/libffi.call/err_bad_typedef.c
- testsuite/libffi.call/stret_large2.c
- testsuite/libffi.call/stret_large.c
- testsuite/libffi.call/stret_medium2.c
- testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
- libffi.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
- stdcall changes.
-
-2008-02-26 Anthony Green <green@redhat.com>
- Thomas Heller <theller@ctypes.org>
-
- * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
- comment.
-
-2008-02-03 Timothy Wall <twall@users.sf.net>
-
- * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
- offset based on code pointer, not data pointer.
-
-2008-01-31 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
- closures.
- * src/x86/ffitarget.h: Increase size of trampoline for stdcall
- closures.
- * src/x86/win32.S: Add assembly for stdcall closure.
- * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Change void (*)() to void (*)(void).
- * src/x86/ffi.c: Likewise.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ppc_closure.S: Insert licence header.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/m68k/sysv.S: Likewise.
-
- * src/sh64/ffi.c: Change void (*)() to void (*)(void).
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/m32r/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi64.c: Likewise.
- * src/alpha/ffi.c: Likewise.
- * src/alpha/osf.S: Likewise.
- * src/frv/ffi.c: Likewise.
- * src/s390/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/pa/hpux32.S: Likewise.
- * src/ia64/unix.S: Likewise.
- * src/ia64/ffi.c: Likewise.
- * src/sparc/ffi.c: Likewise.
- * src/mips/ffi.c: Likewise.
- * src/sh/ffi.c: Likewise.
-
-2008-02-15 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
- Define (conditionally), and use it to include cachectl.h.
- (ffi_prep_closure_loc): Fix cache flushing.
- * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- include/ffi.h.in,
- src/arm/ffitarget.h,
- src/arm/ffi.c,
- src/arm/sysv.S,
- src/powerpc/ffitarget.h,
- src/closures.c,
- src/sh64/ffitarget.h,
- src/sh64/ffi.c,
- src/sh64/sysv.S,
- src/types.c,
- src/x86/ffi64.c,
- src/x86/ffitarget.h,
- src/x86/win32.S,
- src/x86/darwin.S,
- src/x86/ffi.c,
- src/x86/sysv.S,
- src/x86/unix64.S,
- src/alpha/ffitarget.h,
- src/alpha/ffi.c,
- src/alpha/osf.S,
- src/m68k/ffitarget.h,
- src/frv/ffitarget.h,
- src/frv/ffi.c,
- src/s390/ffitarget.h,
- src/s390/sysv.S,
- src/cris/ffitarget.h,
- src/pa/linux.S,
- src/pa/ffitarget.h,
- src/pa/ffi.c,
- src/raw_api.c,
- src/ia64/ffitarget.h,
- src/ia64/unix.S,
- src/ia64/ffi.c,
- src/ia64/ia64_flags.h,
- src/java_raw_api.c,
- src/debug.c,
- src/sparc/v9.S,
- src/sparc/ffitarget.h,
- src/sparc/ffi.c,
- src/sparc/v8.S,
- src/mips/ffitarget.h,
- src/mips/n32.S,
- src/mips/o32.S,
- src/mips/ffi.c,
- src/prep_cif.c,
- src/sh/ffitarget.h,
- src/sh/ffi.c,
- src/sh/sysv.S: Update license text.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * src/x86/win32.S (_ffi_closure_STDCALL): New function.
- (.eh_frame): Add FDE for it.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * configure.ac: Also check if assembler supports pc-relative
- relocs on X86_WIN32 targets.
- * configure: Regenerate.
- * src/x86/win32.S (ffi_prep_args): Declare extern, not global.
- (_ffi_call_SYSV): Add missing function type symbol .def and
- add EH markup labels.
- (_ffi_call_STDCALL): Likewise.
- (_ffi_closure_SYSV): Likewise.
- (_ffi_closure_raw_SYSV): Likewise.
- (.eh_frame): Add hand-crafted EH data.
-
-2009-04-09 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
- version 3 of the GNU General Public License and to point readers
- at the COPYING3 file and the FSF's license web page.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-12-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libffi/26048
- * configure.ac (HAVE_AS_X86_PCREL): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
- RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
- RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
- * src/x86/unix64.S (.Lstore_table): Move to .text section.
- (.Lload_table): Likewise.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
- signed/unsigned int8/16 return values.
- * src/sparc/v8.S (ffi_call_v8): Likewise.
- (ffi_closure_v8): Likewise.
-
-2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
- Steve Ellcey <sje@cup.hp.com>
-
- * configure: Regenerate for new libtool.
- * Makefile.in: Ditto.
- * include/Makefile.in: Ditto.
- * aclocal.m4: Ditto.
-
-2008-08-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
- FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
- Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
- Adjust copyright notice.
- * src/powerpc/ffi.c: Add two new flags to indicate if we have one
- register or two register to use for FFI_SYSV structs.
- (ffi_prep_cif_machdep): Pass the right register flag introduced above.
- (ffi_closure_helper_SYSV): Fix the return type for
- FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
- Adjust copyright notice.
-
-2008-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
- int.
-
-2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2008-06-07 Joseph Myers <joseph@codesourcery.com>
-
- * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
- powerpc-*-beos*): Remove.
- * configure: Regenerate.
-
-2008-05-09 Julian Brown <julian@codesourcery.com>
-
- * Makefile.am (LTLDFLAGS): New.
- (libffi_la_LDFLAGS): Use above.
- * Makefile.in: Regenerate.
-
-2008-04-18 Paolo Bonzini <bonzini@gnu.org>
-
- PR bootstrap/35457
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2008-03-26 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add .note.GNU-stack on Linux.
- * src/sh64/sysv.S: Likewise.
-
-2008-03-26 Daniel Jacobowitz <dan@debian.org>
-
- * src/arm/sysv.S: Fix ARM comment marker.
-
-2008-03-26 Jakub Jelinek <jakub@redhat.com>
-
- * src/alpha/osf.S: Add .note.GNU-stack on Linux.
- * src/s390/sysv.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
- * src/x86/unix64.S: Likewise.
- * src/x86/sysv.S: Likewise.
- * src/sparc/v8.S: Likewise.
- * src/sparc/v9.S: Likewise.
- * src/m68k/sysv.S: Likewise.
- * src/arm/sysv.S: Likewise.
-
-2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * aclocal.m4: Regenerate.
- * configure: Likewise.
- * Makefile.in: Likewise.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2008-02-12 Bjoern Koenig <bkoenig@alpha-tierchen.de>
- Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-freebsd* target.
- * configure: Regenerate.
-
-2008-01-30 H.J. Lu <hongjiu.lu@intel.com>
-
- PR libffi/34612
- * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
- returning struct.
-
- * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
- tests.
-
-2008-01-24 David Edelsohn <edelsohn@gnu.org>
-
- * configure: Regenerate.
-
-2008-01-06 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
-
-2008-01-05 Andreas Tobler <a.tobler@schweiz.org>
-
- PR testsuite/32843
- * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
- signed/unsigned int8/16 for X86_DARWIN.
- Updated copyright info.
- Handle one and two byte structs with special cif->flags.
- * src/x86/ffitarget.h: Add special types for one and two byte structs.
- Updated copyright info.
- * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
- sysv.S
- Remove code to pop args from the stack after call.
- Special-case signed/unsigned for int8/16, one and two byte structs.
- (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
- FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
- FFI_TYPE_SINT32.
- Updated copyright info.
-
-2007-12-08 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_call_N32): Replace dadd with ADDU, dsub with
- SUBU, add with ADDU and use smaller code sequences.
-
-2007-12-07 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
- type.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
- defined.
- (ffi_java_raw): New typedef.
- (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
- ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
- ffi_java_raw.
- (ffi_java_raw_closure) : Same.
- (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
- parameter types.
- * src/java_raw_api.c (ffi_java_raw_size): Replace FFI_SIZEOF_ARG with
- FFI_SIZEOF_JAVA_RAW.
- (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
- Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
- sizeof(ffi_java_raw) for alignment calculations.
- (ffi_java_ptrarray_to_raw): Same.
- (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
- if FFI_SIZEOF_JAVA_RAW == 4.
- (ffi_java_raw_to_rvalue): Same.
- (ffi_java_raw_call): Change type of raw to ffi_java_raw.
- (ffi_java_translate_args): Same.
- (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
- parameter types.
- * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
- pointer values.
-
-2007-12-01 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/31937
- * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
- Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
- * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
- set the NUM_FPR_ARG_REGISTERS according to.
- Add support for potential soft-float support under hard-float
- architecture.
- (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
- FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
- to the FFI_LINUX_SOFT_FLOAT ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Make sure not to store float/double
- on archs where __NO_FPRS__ is true.
- Add FFI_TYPE_UINT128 support.
- * src/powerpc/sysv.S: Add support for soft-float long-double-128.
- Adjust copyright notice.
-
-2007-11-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
- * include/ffi_common.h: ... here.
- Update copyright.
-
-2007-11-17 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
- * testsuite/libffi.call/return_ldl.c: New test.
-
-2007-09-04 <aph@redhat.com>
-
- * src/arm/sysv.S (UNWIND): New.
- (Whole file): Conditionally compile unwinder directives.
- * src/arm/sysv.S: Add unwinder directives.
-
- * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
- Only treat r0 as a struct address if we're actually returning a
- struct by address.
- Only copy the bytes that are actually within a struct.
- (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
- is returned in r0, not passed by address.
- (ffi_call): Allocate a word-sized temporary for the case where
- a composite is returned in r0.
- (ffi_prep_incoming_args_SYSV): Align as necessary.
-
-2007-08-05 Steven Newbury <s_j_newbury@yahoo.co.uk>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
- directly using the sys_cacheflush syscall.
-
-2007-07-27 Andrew Haley <aph@redhat.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
-
-2007-09-03 Maciej W. Rozycki <macro@linux-mips.org>
-
- * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure: Likewise.
-
-2007-08-24 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/return_sl.c: New test.
-
-2007-08-10 David Daney <ddaney@avtrex.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/nested_struct5.c,
- testsuite/libffi.call/cls_double.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/nested_struct.c,
- testsuite/libffi.call/cls_2byte.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_sint16.c,
- testsuite/libffi.call/cls_align_uint32.c,
- testsuite/libffi.call/cls_20byte.c,
- testsuite/libffi.call/cls_float.c,
- testsuite/libffi.call/nested_struct2.c,
- testsuite/libffi.call/cls_5_1_byte.c,
- testsuite/libffi.call/nested_struct4.c,
- testsuite/libffi.call/cls_24byte.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: Remove xfail for mips64*-*-*.
-
-2007-08-10 David Daney <ddaney@avtrex.com>
-
- 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.
-
-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*.
- * 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.
-
-2006-12-13 Andreas Tobler <a.tobler@schweiz.org>
-
- * aclocal.m4: Regenerate with aclocal -I .. as written in the
- Makefile.am.
-
-2006-10-31 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
- (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
- Darwin.
- * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
- * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10 Paolo Bonzini <bonzini@gnu.org>
- Sandro Tolaini <tolaini@libero.it>
-
- * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
- conditional.
- * configure: Regenerated.
- * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
- (EXTRA_DIST): Add src/x86/darwin.S.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
- X86_WIN32, and additionally align stack to 16 bytes.
- * src/x86/darwin.S: New, based on sysv.S.
- * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12 David Daney <ddaney@avtrex.com>
-
- PR libffi/23935
- * include/Makefile.am: Install both ffi.h and ffitarget.h in
- $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
- * aclocal.m4: Regenerated for automake 1.9.6.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
-2006-08-17 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h: Remove lint directives.
- * include/ffi.h.in: Likewise.
-
-2006-07-25 Torsten Schoenfeld <kaffeetisch@gmx.de>
-
- * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
- for 32-bit architectures.
- * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
- xfail remains for mips64.
-
-2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
-
- * Makefile.am: Add install-html target. Add install-html to .PHONY
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
- stack slot.
-
-2006-04-22 Andreas Tobler <a.tobler@schweiz.ch>
-
- * README: Remove notice about 'Crazy Comments'.
- * src/debug.c: Remove lint directives. Cleanup white spaces.
- * src/java_raw_api.c: Likewise.
- * src/prep_cif.c: Likewise.
- * src/raw_api.c: Likewise.
- * src/ffitest.c: Delete. No longer needed, all test cases migrated
- to the testsuite.
- * src/arm/ffi.c: Remove lint directives.
- * src/m32r/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/sh/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/pa/hpux32.S: Correct unwind offset calculation for
- ffi_closure_pa32.
- * src/pa/linux.S: Likewise.
-
-2006-04-12 James E Wilson <wilson@specifix.com>
-
- PR libgcj/26483
- * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
- (hfa_type_load): Call stf_spill.
- (hfa_type_store): Call ldf_fill.
- (ffi_call): Adjust calls to above routines. Add local temps for
- macro result.
-
-2006-04-10 Matthias Klose <doko@debian.org>
-
- * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
- directory names containing underscores.
-
-2006-04-07 James E Wilson <wilson@specifix.com>
-
- * testsuite/libffi.call/float4.c: New testcase.
-
-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.
-
-2006-03-24 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Default
- for 32-bit using IBM extended double format. Fix FFI_LAST_ABI.
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
- FFI_TYPE_LONGDOUBLE.
- (ffi_prep_args64): Assert using IBM extended double.
- (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
- Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
- (ffi_call): Handle FFI_LINUX.
- (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
- gpr3 return pointer as for struct return. Handle FFI_LINUX
- FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf"
- unnecessarily.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
- for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table.
- Don't use r6 as pointer to results, instead use sp offset. Don't
- make a special call to load lr with case table address, instead
- use offset from previous call.
- * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
- return.
-
-2006-03-15 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
- passed with FP registers correctly.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S: Likewise.
-
-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.
-
-2006-02-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
- -O2, -O3, -Os and the warning flags -W -Wall.
- * testsuite/libffi.special/special.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
- unused parameter unused for gcc or else do nothing.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
- * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
- * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
- * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
- * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
- * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
- * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
- * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
- * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
- void* to avoid compiler warning.
- (main): Likewise.
- (cls_struct_align_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
- * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
- * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
- userdata unused.
- (cls_ret_schar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
- userdata unused.
- (cls_ret_sint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
- userdata unused.
- (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn): Mark cif and
- userdata unused.
- (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
- userdata unused.
- (cls_ret_uint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
- userdata unused.
- (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
- * testsuite/libffi.call/float1.c (main): Remove unused variable i.
- Cleanup white spaces.
- * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
- * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
- cif and userdata unused.
- * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
- Likewise.
- * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
- formatters to silence gcc.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct4.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct6.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
- * testsuite/libffi.call/problem1.c (stub): Likewise.
- * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
- gcc.
- * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
- in the last commit for this test case in the test case itself.
- * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
- unused.
- * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
- * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
- * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
- * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
- * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
- * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Fix register numbers in the FDE for
- ffi_closure_SYSV.
-
-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.
-
-2006-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
- and cast integer to void * if needed. Update the pointer to
- the FP register saved area correctly.
-
-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.
-
-2006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/return_dbl.c: New test case.
- * testsuite/libffi.call/return_dbl1.c: Likewise.
- * testsuite/libffi.call/return_dbl2.c: Likewise.
- * testsuite/libffi.call/return_fl.c: Likewise.
- * testsuite/libffi.call/return_fl1.c: Likewise.
- * testsuite/libffi.call/return_fl2.c: Likewise.
- * testsuite/libffi.call/return_fl3.c: Likewise.
- * testsuite/libffi.call/closure_fn6.c: Likewise.
-
- * 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.
-
-2006-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.ac: Enable libffi for sparc64-*-freebsd*.
- * configure: Rebuilt.
-
-2006-01-18 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
- instead do the shifting inline.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
- shift count unconditionally. Simplify load sequences for 1, 2, 3, 4
- and 8 byte structs, for the remaining struct sizes don't call
- __lshrdi3, instead do the shifting inline.
-
-2005-12-07 Thiemo Seufer <ths@networkno.de>
-
- * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
- missing parentheses.
- * src/mips/o32.S (ffi_call_O32): Code formatting. Define
- and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
- (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
- A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
- V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
- FA_0_0_OFF2.
- * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
- endianness bugs.
- (ffi_prep_closure): Improve trampoline instruction scheduling.
- (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c: Formatting.
- (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
- (ffi_prep_args64): Likewise.
-
-2005-09-30 Geoffrey Keating <geoffk@apple.com>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
- darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26 Tom Tromey <tromey@redhat.com>
-
- * 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.
-
-2005-08-25 Alan Modra <amodra@bigpond.net.au>
-
- PR target/23404
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
- homed fp args.
- (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11 Jakub Jelinek <jakub@redhat.com>
-
- * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
- (AH_BOTTOM): Add FFI_HIDDEN definition.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * src/powerpc/ffi.c (hidden): Remove.
- (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
- ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
- .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
- * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
- add FFI_HIDDEN to its prototype.
- (ffi_closure_SYSV_inner): New.
- * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
- * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10 Alfred M. Szmidt <ams@gnu.org>
-
- PR libffi/21819:
- * configure: Rebuilt.
- * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
- DW_CFA_offset_extended_sf rather than
- DW_CFA_GNU_negative_offset_extended.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
-
- * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
- on sh3.
- (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
- * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
- partially on register.
- (ffi_closure_helper_SYSV): Likewise.
- (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_call): Handle small structures correctly.
- Remove empty line.
- * src/sh64/ffi.c (simple_type): Remove.
- (return_type): Handle small structures correctly.
- (ffi_prep_args): Likewise.
- (ffi_call): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
- Emit position independent code if PIC and remove wrong datalabel
- prefixes from EH data.
-
-2005-07-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure.ac: Add POWERPC_FREEBSD rules.
- * configure: Regenerate.
- * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
- (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
- * src/powerpc/ffi.c: Add flags to handle small structure returns
- in ffi_call_SYSV.
- (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
- Aka FFI_SYSV.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Add return types for small structures.
- * src/powerpc/sysv.S: Add bits to handle small structures for
- final SYSV 4 ABI.
-
-2005-07-10 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_5_1_byte.c: New test file.
- * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05 Randolph Chung <tausq@debian.org>
-
- * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
- as FFI_TYPE_SMALL_STRUCT3. Break out handling for 5-7 byte
- structures. Kill compilation warnings.
- (ffi_closure_inner_LINUX): Print return values as hex in debug
- message. Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
- Properly handle 5-7 byte structure returns.
- * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
- (FFI_TYPE_SMALL_STRUCT2): Remove.
- (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
- (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
- * src/pa/linux.S: Mark source file as using PA1.1 assembly.
- (checksmst1, checksmst2): Remove.
- (checksmst3): Optimize handling of 3-byte struct returns.
- (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libgcj/21943
- * src/mips/n32.S: Enforce PIC code.
- * src/mips/o32.S: Likewise.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
- * configure: Regenerate.
-
-2005-06-01 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
- to call ffi_closure_helper_SYSV. Append @local instead.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
- Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
- * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
- * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
- include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-05-08 Richard Henderson <rth@redhat.com>
-
- PR libffi/21285
- * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04 Andreas Degert <ad@papyrus-gmbh.de>
- Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
- bit 11 of flags.
- (ffi_call): Mask return type field. Pass ssecount to ffi_call_unix64.
- (ffi_prep_closure): Set carry bit if sse-used flag set.
- * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
- Only load sse registers if ssecount non-zero.
- (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
- powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
- * configure: Regenerate.
-
-2005-04-20 Hans-Peter Nilsson <hp@axis.com>
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
- have Tcl8.3-compatible intermediate variable.
-
-2005-04-18 Simon Posnjak <simon.posnjak@siol.net>
- Hans-Peter Nilsson <hp@axis.com>
-
- * Makefile.am: Add CRIS support.
- * configure.ac: Likewise.
- * Makefile.in, configure, testsuite/Makefile.in,
- include/Makefile.in: Regenerate.
- * src/cris: New directory.
- * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
- * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
- \r?\n in output tests.
-
-2005-04-12 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-03-30 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30 Steve Ellcey <sje@cup.hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
- (ffi_sarg) Ditto.
- * src/ia64/unix.S (ffi_closure_unix): Extend gp
- to 64 bits in ILP32 mode.
- Load 64 bits even for short data.
-
-2005-03-23 Mike Stump <mrs@apple.com>
-
- * src/powerpc/darwin.S: Update for -m64 multilib.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21 Zack Weinberg <zack@codesourcery.com>
-
- * 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.
-
-2005-02-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
- odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR libffi/20104
- * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11 Janis Johnson <janis187@us.ibm.com>
-
- * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
- * testsuite/libffi.call/float.c: Ditto.
- * testsuite/libffi.call/float2.c: Ditto.
- * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * testsuite/libffi.special/special.exp (cxx_options): Add
- -shared-libgcc.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
- (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
- offset parameters with a type parameter; deduce size and structure
- alignment. Update all users.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
- (FFI_TYPE_LONGDOUBLE): Fix for ia64.
- * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
- into ffi_prep_closure.
- * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
- from scratch.
-
-2004-12-27 Richard Henderson <rth@redhat.com>
-
- * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25 Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
- (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
- (merge_classes): Check for it.
- (SSE_CLASS_P): New.
- (classify_argument): Pass byte_offset by value; perform all updates
- inside struct case.
- (examine_argument): Add classes argument; handle
- X86_64_COMPLEX_X87_CLASS.
- (ffi_prep_args): Merge into ...
- (ffi_call): ... here. Share stack frame with ffi_call_unix64.
- (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
- (ffi_fill_return_value): Remove.
- (ffi_prep_closure): Remove dead assert.
- (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
- Rewrite to use struct register_args instead of va_list. Create
- flags for handling structure returns.
- * src/x86/unix64.S: Remove dead strings.
- (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share
- stack frame with ffi_call. Handle structure returns properly.
- (float2sse, floatfloat2sse, double2sse): Remove.
- (sse2float, sse2double, sse2floatfloat): Remove.
- (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite
- to handle structure returns properly.
-
-2004-12-08 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
- PICFLAG.
- * Makefile.in: Regenerated.
-
-2004-12-02 Richard Sandiford <rsandifo@redhat.com>
-
- * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
- * configure, aclocal.m4, Makefile.in: Regenerate.
- * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-25 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool reversion.
-
-2004-11-24 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23 Richard Sandiford <rsandifo@redhat.com>
-
- * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
- of jal. Use an absolute encoding for the frame information.
-
-2004-11-23 Kelley Cook <kcook@gcc.gnu.org>
-
- * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS.
- * acinclude.m4: Delete logic for sincludes.
- * aclocal.m4, Makefile.in, configure: Regenerate.
- * include/Makefile: Likewise.
- * testsuite/Makefile: Likewise.
-
-2004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
- on a 8-byte boundary.
- * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
- long long values. Round stack allocation to a multiple of 8 bytes
- for ATPCS compatibility.
- * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
- names. Handle returning long long types. Add Thumb and interworking
- support. Improve soft-float code.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
- (libffi_exit): New function.
- (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR other/18138
- * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
- * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
- the function returning a structure pointed with R2.
- * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
- the structure return value if T bit set. Emit position
- independent code and EH data if PIC.
-
-2004-10-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * Makefile.am: Add m32r support.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * confiugre: Regenerate.
- * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
- (uint64, sint64, double, longdouble)
- * src/m32r: New directory.
- * src/m32r/ffi.c: New file.
- * src/m32r/sysv.S: Likewise.
- * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * testsuite/libffi.call/negint.c: New test case.
-
-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.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/many_win32.c: Remove whitespaces.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
- whitespaces.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Fix comments and identation.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
- (ffi_prep_args): Handle longdouble arguments.
- (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
- longdouble.
- (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
- * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
- values.
- * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
- * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/aix.S: Remove whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
- * src/powerpc/asm.h: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffitarget.h: Likewise.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
-
-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.in: Read configure.host.
- * 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 shouldn't 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.
-
-2004-08-24 David Daney <daney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
- to zero.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23 David Daney <daney@avtrex.com>
-
- PR libgcj/13141
- * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
- * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
- (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
- parameters and return types.
- (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
- (ffi_prep_closure): Ditto.
- (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
- alignment calculations.
- * src/mips/o32.S (ffi_closure_O32): Don't use floating point
- instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14 Casey Marshall <csm@gnu.org>
-
- * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
- contain `FFI_TYPE_UINT64' as return type for any 64-bit
- integer (O32 ABI only).
- (ffi_prep_closure): new function.
- (ffi_closure_mips_inner_O32): new function.
- * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
- `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
- * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
- 64 bit integers correctly.
- (ffi_closure_O32): new function.
- Added DWARF-2 unwind info for both functions.
-
-2004-08-10 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01 Robert Millan <robertmh@gnu.org>
-
- * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
- * configure: Regenerate.
-
-2004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
-
- * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
- and mmap() explicitly instead of relying on preset autoconf cache
- variables.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
- (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
- character on Darwin, use '\n\t' instead.
-
-2004-06-26 Matthias Klose <doko@debian.org>
-
- * libtool-version: Fix typo in revision/age.
-
-2004-06-17 Matthias Klose <doko@debian.org>
-
- * libtool-version: New.
- * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
- * Makefile.in: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * Makefile.am: Remove useless multilib rules.
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate with automake 1.8.5.
- * configure.ac: Remove useless multilib configury.
- * configure: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * .cvsignore: New file.
-
-2004-06-10 Jakub Jelinek <jakub@redhat.com>
-
- * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
- fp_done.
- (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
- changed from 8.
-
-2004-06-06 Sean McNeil <sean@mcneil.com>
-
- * configure.ac: Add x86_64-*-freebsd* support.
- * configure: Regenerate.
-
-2004-04-26 Joe Buck <jbuck@welsh-buck.org>
-
- Bug 15093
- * configure.ac: Test for existence of mmap and sys/mman.h before
- checking blacklist. Fix suggested by Jim Wilson.
- * configure: Regenerate.
-
-2004-04-26 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
- FDE location.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
- error. Reported by Thomas Heller <theller@python.net>.
- * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20 Matthias Klose <doko@debian.org>
-
- * src/pa/linux.S: Fix typo.
-
-2004-03-19 Matthias Klose <doko@debian.org>
-
- * Makefile.am: Update.
- * Makefile.in: Regenerate.
- * src/pa/ffi.h.in: Remove.
- * src/pa/ffitarget.h: New file.
-
-2004-02-10 Randolph Chung <tausq@debian.org>
-
- * Makefile.am: Add PA support.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * configure.ac: Add PA target.
- * configure: Regenerate.
- * src/pa/ffi.c: New file.
- * src/pa/ffi.h.in: Add PA support.
- * src/pa/linux.S: New file.
- * prep_cif.c: Add PA support.
-
-2004-03-16 Hosaka Yuji <hos@tamanegi.org>
-
- * src/types.c: Fix alignment size of X86_WIN32 case int64 and
- double.
- * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
- with ecif->cif->flags.
- (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
- with cif->flags.
- (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
- (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
- * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
- sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.in: Rename file to ...
- * configure.ac: ... this.
- * fficonfig.h.in: Regenerate.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2004-03-12 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Fix EH information so it corresponds to
- changes in EH format resulting from addition of linkonce support.
- * src/powerpc/darwin_closure.S: Likewise.
-
-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.
-
-2004-03-11 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
- arguments from fp registers only for the first 8 parameter slots.
- Don't convert a float parameter when passed in memory.
-
-2004-03-09 Hans-Peter Nilsson <hp@axis.com>
-
- * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
-
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
- ecif->cif->bytes to bytes.
- (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
- * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
- (ffi_closure_helper_LINUX64): Fix typo.
- * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
- for powerpc64-*-*.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
- long double function return and long double arg handling.
- (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
- Use "end_pfr" instead of "nf". Correct long double handling.
- Localise "temp".
- * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
- return value.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
- space for long double return value. Adjust stack frame and offsets.
- Load f2 long double return.
-
-2004-02-07 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
- when the structure return address is passed in %o0.
- (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
- (ffi_v9_layout_struct): Align the field following a nested structure
- on a word boundary. Use memmove instead of memcpy.
- (ffi_call): Update call to ffi_V9_return_struct.
- (ffi_prep_closure): Define 'ctx' only for V8.
- (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
- and ffi_closure_sparc_inner_v9.
- (ffi_closure_sparc_inner_v8): Return long doubles by reference.
- Always skip the structure return address. For structures and long
- doubles, copy the argument directly.
- (ffi_closure_sparc_inner_v9): Skip the structure return address only
- if required. Shift the maximum floating-point slot accordingly. For
- big structures, copy the argument directly; otherwise, left-justify the
- argument and call ffi_v9_layout_struct to lay out the structure on
- the stack.
- * src/sparc/v8.S: Undef STACKFRAME before defining it.
- (ffi_closure_v8): Pass the structure return address. Update call to
- ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
- Skip the 'unimp' insn when returning long doubles and structures.
- * src/sparc/v9.S: Undef STACKFRAME before defining it.
- (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
- FFI_TYPE_INT handling. Load structures both in integers and
- floating-point registers on return.
- * README: Update status of the SPARC port.
-
-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.
-
-2004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
-
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
- value as of type ffi_arg, not unsigned int.
-
-2004-01-21 Michael Ritzert <ritzert@t-online.de>
-
- * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
- of the LHS.
-
-2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
- Solaris.
-
-2004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
- to void *.
-
-2003-12-10 Richard Henderson <rth@redhat.com>
-
- * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
- size_t instead of int.
-
-2003-12-04 Hosaka Yuji <hos@tamanegi.org>
-
- * testsuite/libffi.call/many_win32.c: Include <float.h>.
- * testsuite/libffi.call/many_win32.c (main): Replace variable
- int i with unsigned long ul.
-
- * testsuite/libffi.call/cls_align_uint64.c: New test case.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02 Hosaka Yuji <hos@tamanegi.org>
-
- PR other/13221
- * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
- Align arguments to 32 bits.
-
-2003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR other/13221
- * testsuite/libffi.call/cls_multi_sshort.c: New test case.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-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.
-
-2003-11-21 Andreas Jaeger <aj@suse.de>
- Andreas Tobler <a.tobler@schweiz.ch>
-
- * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
- * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
- * Makefile.in: Rebuilt.
- * aclocal.m4: Likewise.
- * configure: Likewise.
- * fficonfig.h.in: Likewise.
- * testsuite/lib/libffi-dg.exp: Add include dir.
- * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
- for ffi_closure if available.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
- Add -lgcc_s to additional flags.
-
-2003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.in, include/Makefile.am: PR libgcj/11147, install
- the ffitarget.h header file in a gcc versioned and target
- dependent place.
- * configure: Regenerated.
- * Makefile.in, include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Print result and check
- with dg-output to make debugging easier.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
- static.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_9byte2.c: New test case.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_double.c: Do a check on the result.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/prep_cif.c (ffi_prep_cif): Move the validity check after
- the initialization.
-
-2003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
- FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
- __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-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
-
-2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
- _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
- Used when FFI_DEBUG = 1.
-
-2003-10-14 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
- and align.
-
-2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
- FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
- SPARC64. Cleanup whitespaces.
-
-2003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
- strongarm, xscale. Cleanup whitespaces.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Cleanup whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
- * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
- parameter stack.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
- according to the Darwin/AIX ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_DARWIN): Likewise.
- Remove the outgoing parameter stack logic. Simplify the evaluation
- of the different CASE types.
- (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
- statement in the trampoline code.
-
-2003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
- for the register size.
- (ffi_closure_helper_SYSV): Handle the structure return value
- address correctly.
- (ffi_closure_helper_SYSV): Return the appropriate type when
- the registers are used for the structure return value.
- * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
- the 64-bit return value. Update copyright years.
-
-2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
- srcdir for ffi_mips.h.
-
-2003-09-12 Alan Modra <amodra@bigpond.net.au>
-
- * src/prep_cif.c (initialize_aggregate): Include tail padding in
- structure size.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
- placement of float result.
- * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
- cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Merge identical SH and ARM
- typedefs, and add POWERPC64.
- * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
- struct split over gpr and rest.
- (ffi_prep_cif_machdep): Correct intarg_count for structures.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
- passing correctly.
-
-2003-09-09 Alan Modra <amodra@bigpond.net.au>
-
- * configure: Regenerate.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Remove build rules for ffitest.
- * Makefile.in: Rebuilt.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
- about implicit declaration of abort().
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
- * Makefile.in: Rebuilt.
- * configure.in: Add dejagnu test framework.
- * configure: Rebuilt.
-
- * testsuite/Makefile.am: New file.
- * testsuite/Makefile.in: Built
- * testsuite/lib/libffi-dg.exp: New file.
- * testsuite/config/default.exp: Likewise.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Likewise.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float1.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/many.c: Likewise.
- * testsuite/libffi.call/many_win32.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
- * testsuite/libffi.call/strlen.c: Likewise.
- * testsuite/libffi.call/strlen_win32.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
- * testsuite/libffi.call/struct2.c: Likewise.
- * testsuite/libffi.call/struct3.c: Likewise.
- * testsuite/libffi.call/struct4.c: Likewise.
- * testsuite/libffi.call/struct5.c: Likewise.
- * testsuite/libffi.call/struct6.c: Likewise.
- * testsuite/libffi.call/struct7.c: Likewise.
- * testsuite/libffi.call/struct8.c: Likewise.
- * testsuite/libffi.call/struct9.c: Likewise.
- * testsuite/libffi.special/special.exp: New file.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
- copyright years.
-
-2003-08-02 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
- structure passing.
- (ffi_closure_helper_LINUX64): Likewise.
- * src/powerpc/linux64.S: Remove code writing to parm save area.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
- address in lr from ffi_closure_helper_LINUX64 call to calculate
- table address. Optimize function tail.
-
-2003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/sparc/ffi.c: Handle all floating point registers.
- * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
-
- * README: Note that libffi is not part of GCC. Update the project
- URL and status.
-
-2003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
- Use C style comments.
-
-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
- should be read-only.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * include/ffi.h.in (EH_FRAME_FLAGS): Define.
- * src/alpha/osf.S: Use EH_FRAME_FLAGS.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
- * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
- if -fpic/-fPIC/-mrelocatable.
- * src/powerpc/powerpc_closure.S: Likewise.
- * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
- #write in .eh_frame flags.
- * src/sparc/v9.S: Likewise.
- * src/x86/unix64.S: Use EH_FRAME_FLAGS.
- * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
- * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
-
-2003-05-07 Jeff Sturm <jsturm@one-point.com>
-
- Fixes PR bootstrap/10656
- * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
- support for .register pseudo-op.
- * src/sparc/v8.S: Use it.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2003-04-18 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (POWERPC64): Define if 64-bit.
- (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
- Make it the default on POWERPC64.
- (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
- * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
- * configure: Rebuilt.
- * src/powerpc/ffi.c (hidden): Define.
- (ffi_prep_args_SYSV): Renamed from
- ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
- (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
- ASM_NEEDS_REGISTERS64): New.
- (ffi_prep_args64): New function.
- (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
- (ffi_call): Likewise.
- (ffi_prep_closure): Likewise.
- (flush_icache): Surround by #ifndef POWERPC64.
- (ffi_dblfl): New union type.
- (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
- (ffi_closure_helper_LINUX64): New function.
- * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
- __powerpc64__.
- * src/powerpc/sysv.S: Likewise.
- (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
- * src/powerpc/linux64.S: New file.
- * src/powerpc/linux64_closure.S: New file.
- * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
- src/powerpc/linux64_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
- * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
- closure_test_fn3): Fix result printing on big-endian 64-bit
- machines.
- (main): Print tst2_arg instead of uninitialized tst2_result.
-
- * src/ffitest.c (main): Hide what closure pointer really points to
- from the compiler.
-
-2003-04-16 Richard Earnshaw <rearnsha@arm.com>
-
- * configure.in (arm-*-netbsdelf*): Add configuration.
- (configure): Regenerated.
-
-2003-04-04 Loren J. Rittle <ljrittle@acm.org>
-
- * include/Makefile.in: Regenerate.
-
-2003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
-
- * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
- bit mode.
- * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
- Receive closure pointer through parameter, read args using
- __builtin_dwarf_cfa.
- (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12 Andreas Schwab <schwab@suse.de>
-
- * configure.in: Avoid trailing /. in toolexeclibdir.
- * configure: Rebuilt.
-
-2003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/powerpc/darwin_closure.S:
- Fix alignement bug, allocate 8 bytes for the result.
- * libffi/src/powerpc/aix_closure.S:
- Likewise.
- * libffi/src/powerpc/ffi_darwin.c:
- Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06 Jakub Jelinek <jakub@redhat.com>
-
- * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
- attribute.
-
-2003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
- Andreas Schwab <schwab@suse.de>
-
- * configure.in: Adjust command to source config-ml.in to account
- for changes to the libffi_basedir definition.
- (libffi_basedir): Remove ${srcdir} from value and include trailing
- slash if nonempty.
-
- * configure: Regenerate.
-
-2003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
- * src/x86/ffi64.c (ffi_prep_closure): New.
- (ffi_closure_UNIX64_inner): New.
- * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
- Remove USE_LIBDIR conditional.
- * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
- * Makefile.in, configure: Rebuilt.
-
-2003-01027 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
- * Makefile.in: Regenerate.
-
-2003-01-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
- unwind info.
-
-2003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Add unwind info.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
- (ffi_prep_cif_machdep): Likewise.
- * src/x86/unix64.S: Add unwind info.
-
-2003-01-14 Andreas Jaeger <aj@suse.de>
-
- * src/ffitest.c (main): Only use ffi_closures if those are
- supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/ffitest.c
- add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
- * libffi/src/powerpc/ffi.c
- fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c: Remove RCS version string.
- * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
- * src/ffitest.c (main): Use static storage for closure.
- * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
- * src/sparc/v8.S (ffi_closure_v8): New.
- * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10 Ranjit Mathew <rmathew@hotmail.com>
-
- * include/ffi.h.in: Added FFI_STDCALL ffi_type
- enumeration for X86_WIN32.
- * src/x86/win32.S: Added ffi_call_STDCALL function
- definition.
- * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
- switch cases for recognising FFI_STDCALL and
- calling ffi_call_STDCALL if target is X86_WIN32.
- * src/ffitest.c (my_stdcall_strlen/stdcall_many):
- stdcall versions of the "my_strlen" and "many"
- test functions (for X86_WIN32).
- Added test cases to test stdcall invocation using
- these functions.
-
-2002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26 Jim Wilson <wilson@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23 H.J. Lu <hjl@gnu.org>
-
- * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
- Include ../config/accross.m4.
- * aclocal.m4; Rebuild.
- * configure: Likewise.
-
-2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11 DJ Delorie <dj@redhat.com>
-
- * configure.in: Look for common files in the right place.
-
-2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
- raw data as _Jv_word values, not ffi_raw.
- (ffi_java_ptrarray_to_raw): Likewise.
- (ffi_java_rvalue_to_raw): New function.
- (ffi_java_raw_call): Call it.
- (ffi_java_raw_to_rvalue): New function.
- (ffi_java_translate_args): Call it.
- * src/ffitest.c (closure_test_fn): Interpret return value
- as ffi_arg, not int.
- * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
- FFI_TYPE_POINTER case.
- (ffi_closure_helper_SYSV): Likewise. Also, assume return
- values extended to word size.
-
-2002-10-02 Andreas Jaeger <aj@suse.de>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01 Bo Thorsen <bo@smetana.suse.de>
-
- * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
-
- * configure.in: Add s390x-*-linux-* target.
- * configure: Regenerate.
- * include/ffi.h.in: Define S390X for s390x targets.
- (FFI_CLOSURES): Define for s390/s390x.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
- * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
- * src/s390/ffi.c: Major rework of existing code. Add support for
- s390x targets. Add closure support.
- * src/s390/sysv.S: Likewise.
-
-2002-09-29 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: Fix typo.
-
-2002-09-28 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
- has defined __USER_LABEL_PREFIX__, then use it in CNAME.
- (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27 Bo Thorsen <bo@suse.de>
-
- * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * configure.in (sh[34]*-*-linux*): Add brackets.
- * configure: Regenerate.
-
-2002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * Makefile.am: Add SH support.
- * Makefile.in: Regenerate.
- * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
- * configure: Regenerate.
- * include/ffi.h.in: Add SH support.
- * src/sh/ffi.c: New file.
- * src/sh/sysv.S: New file.
- * src/types.c: Add SH support.
-
-2002-07-16 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi64.c: New file that adds x86-64 support.
- * src/x86/unix64.S: New file that handles argument setup for
- x86-64.
- * src/x86/sysv.S: Don't use this on x86-64.
- * src/x86/ffi.c: Don't use this on x86-64.
- Remove unused vars.
- * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
- for x86-64.
- * src/ffitest.c (struct6): New test that tests a special case in
- the x86-64 ABI.
- (struct7): Likewise.
- (struct8): Likewise.
- (struct9): Likewise.
- (closure_test_fn): Silence warning about this when it's not used.
- (main): Add the new tests.
- (main): Fix a couple of wrong casts and silence some compiler warnings.
- * include/ffi.h.in: Add x86-64 ABI definition.
- * fficonfig.h.in: Regenerate.
- * Makefile.am: Add x86-64 support.
- * configure.in: Likewise.
- * Makefile.in: Regenerate.
- * configure: Likewise.
-
-2002-06-24 Bo Thorsen <bo@suse.de>
-
- * src/types.c: Merge settings for similar architectures.
- Add x86-64 sizes and alignments.
-
-2002-06-23 Bo Thorsen <bo@suse.de>
-
- * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
- * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
- * src/mips/ffi.c (ffi_prep_args): Likewise.
- * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18 H.J. Lu (hjl@gnu.org)
-
- * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
- (libffi_la_SOURCES): Support MIPS_LINUX.
- (libffi_convenience_la_SOURCES): Likewise.
- * Makefile.in: Regenerated.
-
- * configure.in (mips64*-*): Skip.
- (mips*-*-linux*): New.
- * configure: Regenerated.
-
- * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
-
-2002-05-27 Roger Sayle <roger@eyesopen.com>
-
- * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
- fix formatting.
-
-2002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
- beginning of function (for older apple cc).
-
-2002-05-08 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
- script entry, and set LD to it when configuring multilibs.
- * configure: Rebuilt.
-
-2002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (sparc64-*-netbsd*): Add target.
- (sparc-*-netbsdelf*): Likewise.
- * configure: Regenerate.
-
-2002-04-28 David S. Miller <davem@redhat.com>
-
- * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
-
- * Makefile.am: Add Linux for S/390 support.
- * Makefile.in: Regenerate.
- * configure.in: Add Linux for S/390 support.
- * configure: Regenerate.
- * include/ffi.h.in: Add Linux for S/390 support.
- * src/s390/ffi.c: New file from libffi CVS tree.
- * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
- %r_disp32().
- * src/sparc/v8.S: Use it.
- * src/sparc/v9.S: Likewise.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2002-04-08 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
- correctly.
- * src/ia64/unix.S: Add unwind information. Fix comments.
- Save sp in a way that's compatible with unwind info.
- (ffi_call_unix): Correctly restore sp in all cases.
- * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08 Jakub Jelinek <jakub@redhat.com>
-
- * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (alpha*-*-netbsd*): Add target.
- * configure: Regenerate.
-
-2002-04-04 Jeff Sturm <jsturm@one-point.com>
-
- * src/sparc/v8.S: Add unwind info.
- * src/sparc/v9.S: Likewise.
-
-2002-03-30 Krister Walfridsson <cato@df.lth.se>
-
- * configure.in: Enable i*86-*-netbsdelf*.
- * configure: Rebuilt.
-
-2002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
-
- PR other/2620
- * src/mips/n32.s: Delete
- * src/mips/o32.s: Delete
-
-2002-03-21 Loren J. Rittle <ljrittle@acm.org>
-
- * configure.in: Enable alpha*-*-freebsd*.
- * configure: Rebuilt.
-
-2002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * Makefile.am: libfficonvenience -> libffi_convenience.
- * Makefile.in: Rebuilt.
-
- * Makefile.am: Define ffitest_OBJECTS.
- * Makefile.in: Rebuilt.
-
-2002-03-07 Andreas Tobler <toa@pop.agri.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
- (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
- (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
- * Makefile.in: Regenerate.
- * include/ffi.h.in: Add AIX and Darwin closure definitions.
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
- (flush_icache, flush_range): New functions.
- (ffi_closure_helper_DARWIN): New function.
- * src/powerpc/aix_closure.S: New file.
- * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add typedef for ffi_arg.
- * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21 Andreas Tobler <toa@pop.agri.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
- number of GPRs for floating-point arguments.
-
-2002-01-31 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Replace CHECK_SIZEOF and endian tests with
- cross-compiler friendly macros.
- * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
- macros.
-
-2002-01-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): New.
- * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
- (TARGET_SRC_POWERPC_AIX): New.
- (POWERPC_AIX): New stanza.
- * Makefile.in: Regenerate.
- * configure.in: Add AIX case.
- * configure: Regenerate.
- * include/ffi.h.in (ffi_abi): Add FFI_AIX.
- * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
- size. Fix "long double" support.
- (ffi_call): Add FFI_AIX case.
- * src/powerpc/aix.S: New.
-
-2001-10-09 John Hornkvist <john@toastedmarshmallow.com>
-
- Implement Darwin PowerPC ABI.
- * configure.in: Handle powerpc-*-darwin*.
- * Makefile.am: Set source files for POWERPC_DARWIN.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
- * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
- POWERPC_DARWIN.
- * src/powerpc/darwin.S: New file.
- * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .balign directive.
- Use C style comments.
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
- Fixes PR bootstrap/3563.
-
-2001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.in: Recognize sparc*-sun-* host.
- * configure: Regenerate.
-
-2001-06-06 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S: Add unwind info.
- * src/powerpc/sysv.S: Add unwind info.
- * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31 Jeff Sturm <jsturm@one-point.com>
-
- * configure.in: Fix AC_ARG_ENABLE usage.
- * configure: Rebuilt.
-
-2001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * configure.in: Remove warning about beta code.
- * configure: Rebuilt.
-
-2001-04-25 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/ia64/unix.S: Restore stack pointer when returning from
- ffi_closure_UNIX.
- * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18 Jim Wilson <wilson@redhat.com>
-
- * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
- to eliminate RAW DV.
-
-2001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
-
- * Makefile.am: Make a libtool convenience library.
- * Makefile.in: Rebuilt.
-
-2001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Use different syntax for subdirectory creation.
- * configure: Rebuilt.
-
-2001-03-27 Jon Beniston <jon@beniston.com>
-
- * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
- * configure: Rebuilt.
- * Makefile.am: Added X86_WIN32 target support.
- * Makefile.in: Rebuilt.
-
- * include/ffi.h.in: Added X86_WIN32 target support.
-
- * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
- * src/types.c: Added X86_WIN32 target support.
-
- * src/x86/win32.S: New file. Based on sysv.S, but with EH
- stuff removed and made to work with CygWin's gas.
-
-2001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Make target subdirectory in build dir.
- * Makefile.am: Override suffix based rules to specify correct output
- subdirectory.
- * Makefile.in: Rebuilt.
- * configure: Rebuilt.
-
-2001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
-
- * src/powerpc/ppc_closure.S: New file.
- * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
- involving long long and register pairs.
- (ffi_prep_closure): New function.
- (flush_icache): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * Makefile.in: Rebuilt.
- * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19 Tom Tromey <tromey@redhat.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02 Nick Clifton <nickc@redhat.com>
-
- * include/ffi.h.in: Remove RCS ident string.
- * include/ffi_mips.h: Remove RCS ident string.
- * src/debug.c: Remove RCS ident string.
- * src/ffitest.c: Remove RCS ident string.
- * src/prep_cif.c: Remove RCS ident string.
- * src/types.c: Remove RCS ident string.
- * src/alpha/ffi.c: Remove RCS ident string.
- * src/alpha/osf.S: Remove RCS ident string.
- * src/arm/ffi.c: Remove RCS ident string.
- * src/arm/sysv.S: Remove RCS ident string.
- * src/mips/ffi.c: Remove RCS ident string.
- * src/mips/n32.S: Remove RCS ident string.
- * src/mips/o32.S: Remove RCS ident string.
- * src/sparc/ffi.c: Remove RCS ident string.
- * src/sparc/v8.S: Remove RCS ident string.
- * src/sparc/v9.S: Remove RCS ident string.
- * src/x86/ffi.c: Remove RCS ident string.
- * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * include/ffi.h.in: Change sourceware.cygnus.com references to
- gcc.gnu.org.
-
-2000-12-09 Richard Henderson <rth@redhat.com>
-
- * src/alpha/ffi.c (ffi_call): Simplify struct return test.
- (ffi_closure_osf_inner): Index rather than increment avalue
- and arg_types. Give ffi_closure_osf the raw return value type.
- * src/alpha/osf.S (ffi_closure_osf): Handle return value type
- promotion.
-
-2000-12-07 Richard Henderson <rth@redhat.com>
-
- * src/raw_api.c (ffi_translate_args): Fix typo.
- (ffi_prep_closure): Likewise.
-
- * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
- FFI_TRAMPOLINE_SIZE.
- * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
- cif->bytes for new ffi_call_osf implementation.
- (ffi_prep_args): Absorb into ...
- (ffi_call): ... here. Do all stack allocation here and
- avoid a callback function.
- (ffi_prep_closure, ffi_closure_osf_inner): New.
- * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
- (ffi_closure_osf): New.
-
-2000-09-10 Alexandre Oliva <aoliva@redhat.com>
-
- * config.guess, config.sub, install-sh: Removed.
- * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
- * Makefile.in: Rebuilt.
-
- * acinclude.m4: Include libtool macros from the top level.
- * aclocal.m4, configure: Rebuilt.
-
-2000-08-22 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
- * configure: Rebuilt.
-
-2000-05-11 Scott Bambrough <scottb@netwinder.org>
-
- * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
- memory correctly. Use conditional instructions, not branches where
- possible.
-
-2000-05-04 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Match `arm*-*-linux-*'.
- From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (SUBDIRS): Define.
- (AM_MAKEFLAGS): Likewise.
- (Multilib support.): Add section.
- * Makefile.in: Rebuilt.
- * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
- New variables. Set for gcc using -print-multi-lib. Export them
- to libtool.
- (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
- * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
- for -shared links.
- (extra_compiler_flags_value, extra_compiler_flags): Check these
- for extra compiler options which need to be passed down in
- compiler_flags.
-
-2000-04-16 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
- Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
- * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
- Replace all void * sizeofs with sizeof(int).
- Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
- different than DOUBLE.
- Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
- (ffi_prep_args_v9): New function.
- (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
- (ffi_V9_return_struct): New function.
- (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
- 32bit code (not yet cross-arch calls).
- * src/sparc/v8.S: Add struct return delay nop.
- Handle long long.
- * src/sparc/v9.S: New file.
- * src/prep_cif.c (ffi_prep_cif): Return structure pointer
- is used on sparc64 only for structures larger than 32 bytes.
- Pass by reference for structures is done for structure arguments
- larger than 16 bytes.
- * src/ffitest.c (main): Use 64bit rint on sparc64.
- Run long long tests on sparc.
- * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
- sparc64.
- (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
- on sparc64.
- * configure.in (sparc-*-linux*): New supported target.
- (sparc64-*-linux*): Likewise.
- * configure: Rebuilt.
- * Makefile.am: Add v9.S to SPARC files.
- * Makefile.in: Likewise.
- (LINK): Surround $(CCLD) into double quotes, so that multilib
- compiles work correctly.
-
-2000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: (i*86-*-solaris*): New libffi target. Patch
- proposed by Bryce McKinlay.
-
-2000-03-20 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
-
- * config.guess, config.sub: Update from the gcc tree.
- Fix for PR libgcj/168.
-
-2000-03-03 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Fixed ia64 by hand.
-
- * configure: Rebuilt.
- * configure.in (--enable-multilib): New option.
- (libffi_basedir): New subst.
- (AC_OUTPUT): Added multilib code.
-
-2000-03-02 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
- directory name.
-
-2000-02-25 Hans Boehm <boehm@acm.org>
-
- * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
- files.
- * src/raw_api.c (ffi_translate_args): Fixed typo in argument
- list.
- (ffi_prep_raw_closure): Use ffi_translate_args, not
- ffi_closure_translate.
- * src/java_raw_api.c: New file.
- * src/ffitest.c (closure_test_fn): New function.
- (main): Define `rint' as long long on IA64. Added new test when
- FFI_CLOSURES is defined.
- * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
- (ffi_abi): Recognize IA64.
- (ffi_raw): Added `flt' field.
- Added "Java raw API" code.
- * configure.in: Recognize ia64.
- * Makefile.am (TARGET_SRC_IA64): New macro.
- (libffi_la_common_SOURCES): Added java_raw_api.c.
- (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01 Tom Tromey <tromey@cygnus.com>
-
- * include/ffi.h.in: Removed PACKAGE and VERSION defines and
- undefs.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
- * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
- Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
- * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09 Anthony Green <green@cygnus.com>
-
- * include/ffi.h.in: Try to work around messy header problem
- with PACKAGE and VERSION.
-
- * configure: Rebuilt.
- * configure.in: Change version to 2.00-beta.
-
- * fficonfig.h.in: Rebuilt.
- * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
- * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
-
- * src/x86/ffi.c (ffi_closure_SYSV): New function.
- (ffi_prep_incoming_args_SYSV): Ditto.
- (ffi_prep_closure): Ditto.
- (ffi_closure_raw_SYSV): Ditto.
- (ffi_prep_raw_closure): More ditto.
- (ffi_call_raw): Final ditto.
-
- * include/ffi.h.in: Add definitions for closure and raw API.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
- FFI_TYPE_UINT64.
-
- * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
- * src/raw_api.c: New file.
-
- * include/ffi.h.in (ffi_raw): New type.
- (UINT_ARG, SINT_ARG): New defines.
- (ffi_closure, ffi_raw_closure): New types.
- (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
- * configure.in: Add check for endianness and sizeof void*.
-
- * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
- instead of directly.
-
- * configure: Rebuilt.
-
-Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
-
- * configure.in: Add x86 and powerpc BeOS configurations.
- From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09 Anthony Green <green@cygnus.com>
-
- * configure.in: Add warning about this being beta code.
- Remove src/Makefile.am from the picture.
- * configure: Rebuilt.
-
- * Makefile.am: Move logic from src/Makefile.am. Add changes
- to support libffi as a target library.
- * Makefile.in: Rebuilt.
-
- * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
- Upgraded to new autoconf, automake, libtool.
-
- * README: Tweaks.
-
- * LICENSE: Update copyright date.
-
- * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29 Anthony Green <green@cygnus.com>
-
- * include/ChangeLog: Removed.
- * src/ChangeLog: Removed.
- * src/mips/ChangeLog: Removed.
- * src/sparc/ChangeLog: Remboved.
- * src/x86/ChangeLog: Removed.
-
- * ChangeLog.v1: Created.
diff --git a/.pc/win64-struct-args/doc/libffi.info b/.pc/win64-struct-args/doc/libffi.info
deleted file mode 100644
index f92aae6..0000000
--- a/.pc/win64-struct-args/doc/libffi.info
+++ /dev/null
@@ -1,591 +0,0 @@
-This is /home/green/libffi/doc/libffi.info, produced by makeinfo
-version 4.13 from /home/green/libffi/doc/libffi.texi.
-
-This manual is for Libffi, a portable foreign-function interface
-library.
-
- Copyright (C) 2008, 2010 Red Hat, Inc.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or
- (at your option) any later version. A copy of the license is
- included in the section entitled "GNU General Public License".
-
-
-INFO-DIR-SECTION Development
-START-INFO-DIR-ENTRY
-* libffi: (libffi). Portable foreign-function interface library.
-END-INFO-DIR-ENTRY
-
-
-File: libffi.info, Node: Top, Next: Introduction, Up: (dir)
-
-libffi
-******
-
-This manual is for Libffi, a portable foreign-function interface
-library.
-
- Copyright (C) 2008, 2010 Red Hat, Inc.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or
- (at your option) any later version. A copy of the license is
- included in the section entitled "GNU General Public License".
-
-
-* Menu:
-
-* Introduction:: What is libffi?
-* Using libffi:: How to use libffi.
-* Missing Features:: Things libffi can't do.
-* Index:: Index.
-
-
-File: libffi.info, Node: Introduction, Next: Using libffi, Prev: Top, Up: Top
-
-1 What is libffi?
-*****************
-
-Compilers for high level languages generate code that follow certain
-conventions. These conventions are necessary, in part, for separate
-compilation to work. One such convention is the "calling convention".
-The calling convention is a set of assumptions made by the compiler
-about where function arguments will be found on entry to a function. A
-calling convention also specifies where the return value for a function
-is found. The calling convention is also sometimes called the "ABI" or
-"Application Binary Interface".
-
- Some programs may not know at the time of compilation what arguments
-are to be passed to a function. For instance, an interpreter may be
-told at run-time about the number and types of arguments used to call a
-given function. `Libffi' can be used in such programs to provide a
-bridge from the interpreter program to compiled code.
-
- The `libffi' library provides a portable, high level programming
-interface to various calling conventions. This allows a programmer to
-call any function specified by a call interface description at run time.
-
- FFI stands for Foreign Function Interface. A foreign function
-interface is the popular name for the interface that allows code
-written in one language to call code written in another language. The
-`libffi' library really only provides the lowest, machine dependent
-layer of a fully featured foreign function interface. A layer must
-exist above `libffi' that handles type conversions for values passed
-between the two languages.
-
-
-File: libffi.info, Node: Using libffi, Next: Missing Features, Prev: Introduction, Up: Top
-
-2 Using libffi
-**************
-
-* Menu:
-
-* The Basics:: The basic libffi API.
-* Simple Example:: A simple example.
-* Types:: libffi type descriptions.
-* Multiple ABIs:: Different passing styles on one platform.
-* The Closure API:: Writing a generic function.
-* Closure Example:: A closure example.
-
-
-File: libffi.info, Node: The Basics, Next: Simple Example, Up: Using libffi
-
-2.1 The Basics
-==============
-
-`Libffi' assumes that you have a pointer to the function you wish to
-call and that you know the number and types of arguments to pass it, as
-well as the return type of the function.
-
- The first thing you must do is create an `ffi_cif' object that
-matches the signature of the function you wish to call. This is a
-separate step because it is common to make multiple calls using a
-single `ffi_cif'. The "cif" in `ffi_cif' stands for Call InterFace.
-To prepare a call interface object, use the function `ffi_prep_cif'.
-
- -- Function: ffi_status ffi_prep_cif (ffi_cif *CIF, ffi_abi ABI,
- unsigned int NARGS, ffi_type *RTYPE, ffi_type **ARGTYPES)
- This initializes CIF according to the given parameters.
-
- ABI is the ABI to use; normally `FFI_DEFAULT_ABI' is what you
- want. *note Multiple ABIs:: for more information.
-
- NARGS is the number of arguments that this function accepts.
- `libffi' does not yet handle varargs functions; see *note Missing
- Features:: for more information.
-
- RTYPE is a pointer to an `ffi_type' structure that describes the
- return type of the function. *Note Types::.
-
- ARGTYPES is a vector of `ffi_type' pointers. ARGTYPES must have
- NARGS elements. If NARGS is 0, this argument is ignored.
-
- `ffi_prep_cif' returns a `libffi' status code, of type
- `ffi_status'. This will be either `FFI_OK' if everything worked
- properly; `FFI_BAD_TYPEDEF' if one of the `ffi_type' objects is
- incorrect; or `FFI_BAD_ABI' if the ABI parameter is invalid.
-
- To call a function using an initialized `ffi_cif', use the
-`ffi_call' function:
-
- -- Function: void ffi_call (ffi_cif *CIF, void *FN, void *RVALUE, void
- **AVALUES)
- This calls the function FN according to the description given in
- CIF. CIF must have already been prepared using `ffi_prep_cif'.
-
- RVALUE is a pointer to a chunk of memory that will hold the result
- of the function call. This must be large enough to hold the
- result and must be suitably aligned; it is the caller's
- responsibility to ensure this. If CIF declares that the function
- returns `void' (using `ffi_type_void'), then RVALUE is ignored.
- If RVALUE is `NULL', then the return value is discarded.
-
- AVALUES is a vector of `void *' pointers that point to the memory
- locations holding the argument values for a call. If CIF declares
- that the function has no arguments (i.e., NARGS was 0), then
- AVALUES is ignored.
-
-
-File: libffi.info, Node: Simple Example, Next: Types, Prev: The Basics, Up: Using libffi
-
-2.2 Simple Example
-==================
-
-Here is a trivial example that calls `puts' a few times.
-
- #include <stdio.h>
- #include <ffi.h>
-
- int main()
- {
- ffi_cif cif;
- ffi_type *args[1];
- void *values[1];
- char *s;
- int rc;
-
- /* Initialize the argument info vectors */
- args[0] = &ffi_type_pointer;
- values[0] = &s;
-
- /* Initialize the cif */
- if (ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1,
- &ffi_type_uint, args) == FFI_OK)
- {
- s = "Hello World!";
- ffi_call(&cif, puts, &rc, values);
- /* rc now holds the result of the call to puts */
-
- /* values holds a pointer to the function's arg, so to
- call puts() again all we need to do is change the
- value of s */
- s = "This is cool!";
- ffi_call(&cif, puts, &rc, values);
- }
-
- return 0;
- }
-
-
-File: libffi.info, Node: Types, Next: Multiple ABIs, Prev: Simple Example, Up: Using libffi
-
-2.3 Types
-=========
-
-* Menu:
-
-* Primitive Types:: Built-in types.
-* Structures:: Structure types.
-* Type Example:: Structure type example.
-
-
-File: libffi.info, Node: Primitive Types, Next: Structures, Up: Types
-
-2.3.1 Primitive Types
----------------------
-
-`Libffi' provides a number of built-in type descriptors that can be
-used to describe argument and return types:
-
-`ffi_type_void'
- The type `void'. This cannot be used for argument types, only for
- return values.
-
-`ffi_type_uint8'
- An unsigned, 8-bit integer type.
-
-`ffi_type_sint8'
- A signed, 8-bit integer type.
-
-`ffi_type_uint16'
- An unsigned, 16-bit integer type.
-
-`ffi_type_sint16'
- A signed, 16-bit integer type.
-
-`ffi_type_uint32'
- An unsigned, 32-bit integer type.
-
-`ffi_type_sint32'
- A signed, 32-bit integer type.
-
-`ffi_type_uint64'
- An unsigned, 64-bit integer type.
-
-`ffi_type_sint64'
- A signed, 64-bit integer type.
-
-`ffi_type_float'
- The C `float' type.
-
-`ffi_type_double'
- The C `double' type.
-
-`ffi_type_uchar'
- The C `unsigned char' type.
-
-`ffi_type_schar'
- The C `signed char' type. (Note that there is not an exact
- equivalent to the C `char' type in `libffi'; ordinarily you should
- either use `ffi_type_schar' or `ffi_type_uchar' depending on
- whether `char' is signed.)
-
-`ffi_type_ushort'
- The C `unsigned short' type.
-
-`ffi_type_sshort'
- The C `short' type.
-
-`ffi_type_uint'
- The C `unsigned int' type.
-
-`ffi_type_sint'
- The C `int' type.
-
-`ffi_type_ulong'
- The C `unsigned long' type.
-
-`ffi_type_slong'
- The C `long' type.
-
-`ffi_type_longdouble'
- On platforms that have a C `long double' type, this is defined.
- On other platforms, it is not.
-
-`ffi_type_pointer'
- A generic `void *' pointer. You should use this for all pointers,
- regardless of their real type.
-
- Each of these is of type `ffi_type', so you must take the address
-when passing to `ffi_prep_cif'.
-
-
-File: libffi.info, Node: Structures, Next: Type Example, Prev: Primitive Types, Up: Types
-
-2.3.2 Structures
-----------------
-
-Although `libffi' has no special support for unions or bit-fields, it
-is perfectly happy passing structures back and forth. You must first
-describe the structure to `libffi' by creating a new `ffi_type' object
-for it.
-
- -- ffi_type:
- The `ffi_type' has the following members:
- `size_t size'
- This is set by `libffi'; you should initialize it to zero.
-
- `unsigned short alignment'
- This is set by `libffi'; you should initialize it to zero.
-
- `unsigned short type'
- For a structure, this should be set to `FFI_TYPE_STRUCT'.
-
- `ffi_type **elements'
- This is a `NULL'-terminated array of pointers to `ffi_type'
- objects. There is one element per field of the struct.
-
-
-File: libffi.info, Node: Type Example, Prev: Structures, Up: Types
-
-2.3.3 Type Example
-------------------
-
-The following example initializes a `ffi_type' object representing the
-`tm' struct from Linux's `time.h'.
-
- Here is how the struct is defined:
-
- struct tm {
- int tm_sec;
- int tm_min;
- int tm_hour;
- int tm_mday;
- int tm_mon;
- int tm_year;
- int tm_wday;
- int tm_yday;
- int tm_isdst;
- /* Those are for future use. */
- long int __tm_gmtoff__;
- __const char *__tm_zone__;
- };
-
- Here is the corresponding code to describe this struct to `libffi':
-
- {
- ffi_type tm_type;
- ffi_type *tm_type_elements[12];
- int i;
-
- tm_type.size = tm_type.alignment = 0;
- tm_type.elements = &tm_type_elements;
-
- for (i = 0; i < 9; i++)
- tm_type_elements[i] = &ffi_type_sint;
-
- tm_type_elements[9] = &ffi_type_slong;
- tm_type_elements[10] = &ffi_type_pointer;
- tm_type_elements[11] = NULL;
-
- /* tm_type can now be used to represent tm argument types and
- return types for ffi_prep_cif() */
- }
-
-
-File: libffi.info, Node: Multiple ABIs, Next: The Closure API, Prev: Types, Up: Using libffi
-
-2.4 Multiple ABIs
-=================
-
-A given platform may provide multiple different ABIs at once. For
-instance, the x86 platform has both `stdcall' and `fastcall' functions.
-
- `libffi' provides some support for this. However, this is
-necessarily platform-specific.
-
-
-File: libffi.info, Node: The Closure API, Next: Closure Example, Prev: Multiple ABIs, Up: Using libffi
-
-2.5 The Closure API
-===================
-
-`libffi' also provides a way to write a generic function - a function
-that can accept and decode any combination of arguments. This can be
-useful when writing an interpreter, or to provide wrappers for
-arbitrary functions.
-
- This facility is called the "closure API". Closures are not
-supported on all platforms; you can check the `FFI_CLOSURES' define to
-determine whether they are supported on the current platform.
-
- Because closures work by assembling a tiny function at runtime, they
-require special allocation on platforms that have a non-executable
-heap. Memory management for closures is handled by a pair of functions:
-
- -- Function: void *ffi_closure_alloc (size_t SIZE, void **CODE)
- Allocate a chunk of memory holding SIZE bytes. This returns a
- pointer to the writable address, and sets *CODE to the
- corresponding executable address.
-
- SIZE should be sufficient to hold a `ffi_closure' object.
-
- -- Function: void ffi_closure_free (void *WRITABLE)
- Free memory allocated using `ffi_closure_alloc'. The argument is
- the writable address that was returned.
-
- Once you have allocated the memory for a closure, you must construct
-a `ffi_cif' describing the function call. Finally you can prepare the
-closure function:
-
- -- Function: ffi_status ffi_prep_closure_loc (ffi_closure *CLOSURE,
- ffi_cif *CIF, void (*FUN) (ffi_cif *CIF, void *RET, void
- **ARGS, void *USER_DATA), void *USER_DATA, void *CODELOC)
- Prepare a closure function.
-
- CLOSURE is the address of a `ffi_closure' object; this is the
- writable address returned by `ffi_closure_alloc'.
-
- CIF is the `ffi_cif' describing the function parameters.
-
- USER_DATA is an arbitrary datum that is passed, uninterpreted, to
- your closure function.
-
- CODELOC is the executable address returned by `ffi_closure_alloc'.
-
- FUN is the function which will be called when the closure is
- invoked. It is called with the arguments:
- CIF
- The `ffi_cif' passed to `ffi_prep_closure_loc'.
-
- RET
- A pointer to the memory used for the function's return value.
- FUN must fill this, unless the function is declared as
- returning `void'.
-
- ARGS
- A vector of pointers to memory holding the arguments to the
- function.
-
- USER_DATA
- The same USER_DATA that was passed to `ffi_prep_closure_loc'.
-
- `ffi_prep_closure_loc' will return `FFI_OK' if everything went ok,
- and something else on error.
-
- After calling `ffi_prep_closure_loc', you can cast CODELOC to the
- appropriate pointer-to-function type.
-
- You may see old code referring to `ffi_prep_closure'. This function
-is deprecated, as it cannot handle the need for separate writable and
-executable addresses.
-
-
-File: libffi.info, Node: Closure Example, Prev: The Closure API, Up: Using libffi
-
-2.6 Closure Example
-===================
-
-A trivial example that creates a new `puts' by binding `fputs' with
-`stdin'.
-
- #include <stdio.h>
- #include <ffi.h>
-
- /* Acts like puts with the file given at time of enclosure. */
- void puts_binding(ffi_cif *cif, unsigned int *ret, void* args[],
- FILE *stream)
- {
- *ret = fputs(*(char **)args[0], stream);
- }
-
- int main()
- {
- ffi_cif cif;
- ffi_type *args[1];
- ffi_closure *closure;
-
- int (*bound_puts)(char *);
- int rc;
-
- /* Allocate closure and bound_puts */
- closure = ffi_closure_alloc(sizeof(ffi_closure), &bound_puts);
-
- if (closure)
- {
- /* Initialize the argument info vectors */
- args[0] = &ffi_type_pointer;
-
- /* Initialize the cif */
- if (ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1,
- &ffi_type_uint, args) == FFI_OK)
- {
- /* Initialize the closure, setting stream to stdout */
- if (ffi_prep_closure_loc(closure, &cif, puts_binding,
- stdout, bound_puts) == FFI_OK)
- {
- rc = bound_puts("Hello World!");
- /* rc now holds the result of the call to fputs */
- }
- }
- }
-
- /* Deallocate both closure, and bound_puts */
- ffi_closure_free(closure);
-
- return 0;
- }
-
-
-File: libffi.info, Node: Missing Features, Next: Index, Prev: Using libffi, Up: Top
-
-3 Missing Features
-******************
-
-`libffi' is missing a few features. We welcome patches to add support
-for these.
-
- * There is no support for calling varargs functions. This may work
- on some platforms, depending on how the ABI is defined, but it is
- not reliable.
-
- * There is no support for bit fields in structures.
-
- * The closure API is
-
- * The "raw" API is undocumented.
-
-
-File: libffi.info, Node: Index, Prev: Missing Features, Up: Top
-
-Index
-*****
-
-
-* Menu:
-
-* : Structures. (line 12)
-* ABI: Introduction. (line 13)
-* Application Binary Interface: Introduction. (line 13)
-* calling convention: Introduction. (line 13)
-* cif: The Basics. (line 14)
-* closure API: The Closure API. (line 13)
-* closures: The Closure API. (line 13)
-* FFI: Introduction. (line 31)
-* ffi_call: The Basics. (line 41)
-* ffi_closure_alloc: The Closure API. (line 19)
-* ffi_closure_free: The Closure API. (line 26)
-* FFI_CLOSURES: The Closure API. (line 13)
-* ffi_prep_cif: The Basics. (line 16)
-* ffi_prep_closure_loc: The Closure API. (line 34)
-* ffi_status <1>: The Closure API. (line 37)
-* ffi_status: The Basics. (line 18)
-* ffi_type: Structures. (line 11)
-* ffi_type_double: Primitive Types. (line 41)
-* ffi_type_float: Primitive Types. (line 38)
-* ffi_type_longdouble: Primitive Types. (line 71)
-* ffi_type_pointer: Primitive Types. (line 75)
-* ffi_type_schar: Primitive Types. (line 47)
-* ffi_type_sint: Primitive Types. (line 62)
-* ffi_type_sint16: Primitive Types. (line 23)
-* ffi_type_sint32: Primitive Types. (line 29)
-* ffi_type_sint64: Primitive Types. (line 35)
-* ffi_type_sint8: Primitive Types. (line 17)
-* ffi_type_slong: Primitive Types. (line 68)
-* ffi_type_sshort: Primitive Types. (line 56)
-* ffi_type_uchar: Primitive Types. (line 44)
-* ffi_type_uint: Primitive Types. (line 59)
-* ffi_type_uint16: Primitive Types. (line 20)
-* ffi_type_uint32: Primitive Types. (line 26)
-* ffi_type_uint64: Primitive Types. (line 32)
-* ffi_type_uint8: Primitive Types. (line 14)
-* ffi_type_ulong: Primitive Types. (line 65)
-* ffi_type_ushort: Primitive Types. (line 53)
-* ffi_type_void: Primitive Types. (line 10)
-* Foreign Function Interface: Introduction. (line 31)
-* void <1>: The Closure API. (line 20)
-* void: The Basics. (line 43)
-
-
-
-Tag Table:
-Node: Top724
-Node: Introduction1466
-Node: Using libffi3102
-Node: The Basics3588
-Node: Simple Example6195
-Node: Types7222
-Node: Primitive Types7505
-Node: Structures9325
-Node: Type Example10185
-Node: Multiple ABIs11408
-Node: The Closure API11779
-Node: Closure Example14723
-Node: Missing Features16282
-Node: Index16775
-
-End Tag Table
diff --git a/.pc/win64-struct-args/doc/libffi.texi b/.pc/win64-struct-args/doc/libffi.texi
deleted file mode 100644
index cbd78aa..0000000
--- a/.pc/win64-struct-args/doc/libffi.texi
+++ /dev/null
@@ -1,598 +0,0 @@
-\input texinfo @c -*-texinfo-*-
-@c %**start of header
-@setfilename libffi.info
-@settitle libffi
-@setchapternewpage off
-@c %**end of header
-
-@c Merge the standard indexes into a single one.
-@syncodeindex fn cp
-@syncodeindex vr cp
-@syncodeindex ky cp
-@syncodeindex pg cp
-@syncodeindex tp cp
-
-@include version.texi
-
-@copying
-
-This manual is for Libffi, a portable foreign-function interface
-library.
-
-Copyright @copyright{} 2008, 2010 Red Hat, Inc.
-
-@quotation
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option) any
-later version. A copy of the license is included in the
-section entitled ``GNU General Public License''.
-
-@end quotation
-@end copying
-
-@dircategory Development
-@direntry
-* libffi: (libffi). Portable foreign-function interface library.
-@end direntry
-
-@titlepage
-@title Libffi
-@page
-@vskip 0pt plus 1filll
-@insertcopying
-@end titlepage
-
-
-@ifnottex
-@node Top
-@top libffi
-
-@insertcopying
-
-@menu
-* Introduction:: What is libffi?
-* Using libffi:: How to use libffi.
-* Missing Features:: Things libffi can't do.
-* Index:: Index.
-@end menu
-
-@end ifnottex
-
-
-@node Introduction
-@chapter What is libffi?
-
-Compilers for high level languages generate code that follow certain
-conventions. These conventions are necessary, in part, for separate
-compilation to work. One such convention is the @dfn{calling
-convention}. The calling convention is a set of assumptions made by
-the compiler about where function arguments will be found on entry to
-a function. A calling convention also specifies where the return
-value for a function is found. The calling convention is also
-sometimes called the @dfn{ABI} or @dfn{Application Binary Interface}.
-@cindex calling convention
-@cindex ABI
-@cindex Application Binary Interface
-
-Some programs may not know at the time of compilation what arguments
-are to be passed to a function. For instance, an interpreter may be
-told at run-time about the number and types of arguments used to call
-a given function. @samp{Libffi} can be used in such programs to
-provide a bridge from the interpreter program to compiled code.
-
-The @samp{libffi} library provides a portable, high level programming
-interface to various calling conventions. This allows a programmer to
-call any function specified by a call interface description at run
-time.
-
-@acronym{FFI} stands for Foreign Function Interface. A foreign
-function interface is the popular name for the interface that allows
-code written in one language to call code written in another language.
-The @samp{libffi} library really only provides the lowest, machine
-dependent layer of a fully featured foreign function interface. A
-layer must exist above @samp{libffi} that handles type conversions for
-values passed between the two languages.
-@cindex FFI
-@cindex Foreign Function Interface
-
-
-@node Using libffi
-@chapter Using libffi
-
-@menu
-* The Basics:: The basic libffi API.
-* Simple Example:: A simple example.
-* Types:: libffi type descriptions.
-* Multiple ABIs:: Different passing styles on one platform.
-* The Closure API:: Writing a generic function.
-* Closure Example:: A closure example.
-@end menu
-
-
-@node The Basics
-@section The Basics
-
-@samp{Libffi} assumes that you have a pointer to the function you wish
-to call and that you know the number and types of arguments to pass
-it, as well as the return type of the function.
-
-The first thing you must do is create an @code{ffi_cif} object that
-matches the signature of the function you wish to call. This is a
-separate step because it is common to make multiple calls using a
-single @code{ffi_cif}. The @dfn{cif} in @code{ffi_cif} stands for
-Call InterFace. To prepare a call interface object, use the function
-@code{ffi_prep_cif}.
-@cindex cif
-
-@findex ffi_prep_cif
-@defun ffi_status ffi_prep_cif (ffi_cif *@var{cif}, ffi_abi @var{abi}, unsigned int @var{nargs}, ffi_type *@var{rtype}, ffi_type **@var{argtypes})
-This initializes @var{cif} according to the given parameters.
-
-@var{abi} is the ABI to use; normally @code{FFI_DEFAULT_ABI} is what
-you want. @ref{Multiple ABIs} for more information.
-
-@var{nargs} is the number of arguments that this function accepts.
-@samp{libffi} does not yet handle varargs functions; see @ref{Missing
-Features} for more information.
-
-@var{rtype} is a pointer to an @code{ffi_type} structure that
-describes the return type of the function. @xref{Types}.
-
-@var{argtypes} is a vector of @code{ffi_type} pointers.
-@var{argtypes} must have @var{nargs} elements. If @var{nargs} is 0,
-this argument is ignored.
-
-@code{ffi_prep_cif} returns a @code{libffi} status code, of type
-@code{ffi_status}. This will be either @code{FFI_OK} if everything
-worked properly; @code{FFI_BAD_TYPEDEF} if one of the @code{ffi_type}
-objects is incorrect; or @code{FFI_BAD_ABI} if the @var{abi} parameter
-is invalid.
-@end defun
-
-
-To call a function using an initialized @code{ffi_cif}, use the
-@code{ffi_call} function:
-
-@findex ffi_call
-@defun void ffi_call (ffi_cif *@var{cif}, void *@var{fn}, void *@var{rvalue}, void **@var{avalues})
-This calls the function @var{fn} according to the description given in
-@var{cif}. @var{cif} must have already been prepared using
-@code{ffi_prep_cif}.
-
-@var{rvalue} is a pointer to a chunk of memory that will hold the
-result of the function call. This must be large enough to hold the
-result and must be suitably aligned; it is the caller's responsibility
-to ensure this. If @var{cif} declares that the function returns
-@code{void} (using @code{ffi_type_void}), then @var{rvalue} is
-ignored. If @var{rvalue} is @samp{NULL}, then the return value is
-discarded.
-
-@var{avalues} is a vector of @code{void *} pointers that point to the
-memory locations holding the argument values for a call. If @var{cif}
-declares that the function has no arguments (i.e., @var{nargs} was 0),
-then @var{avalues} is ignored.
-@end defun
-
-
-@node Simple Example
-@section Simple Example
-
-Here is a trivial example that calls @code{puts} a few times.
-
-@example
-#include <stdio.h>
-#include <ffi.h>
-
-int main()
-@{
- ffi_cif cif;
- ffi_type *args[1];
- void *values[1];
- char *s;
- int rc;
-
- /* Initialize the argument info vectors */
- args[0] = &ffi_type_pointer;
- values[0] = &s;
-
- /* Initialize the cif */
- if (ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1,
- &ffi_type_uint, args) == FFI_OK)
- @{
- s = "Hello World!";
- ffi_call(&cif, puts, &rc, values);
- /* rc now holds the result of the call to puts */
-
- /* values holds a pointer to the function's arg, so to
- call puts() again all we need to do is change the
- value of s */
- s = "This is cool!";
- ffi_call(&cif, puts, &rc, values);
- @}
-
- return 0;
-@}
-@end example
-
-
-@node Types
-@section Types
-
-@menu
-* Primitive Types:: Built-in types.
-* Structures:: Structure types.
-* Type Example:: Structure type example.
-@end menu
-
-@node Primitive Types
-@subsection Primitive Types
-
-@code{Libffi} provides a number of built-in type descriptors that can
-be used to describe argument and return types:
-
-@table @code
-@item ffi_type_void
-@tindex ffi_type_void
-The type @code{void}. This cannot be used for argument types, only
-for return values.
-
-@item ffi_type_uint8
-@tindex ffi_type_uint8
-An unsigned, 8-bit integer type.
-
-@item ffi_type_sint8
-@tindex ffi_type_sint8
-A signed, 8-bit integer type.
-
-@item ffi_type_uint16
-@tindex ffi_type_uint16
-An unsigned, 16-bit integer type.
-
-@item ffi_type_sint16
-@tindex ffi_type_sint16
-A signed, 16-bit integer type.
-
-@item ffi_type_uint32
-@tindex ffi_type_uint32
-An unsigned, 32-bit integer type.
-
-@item ffi_type_sint32
-@tindex ffi_type_sint32
-A signed, 32-bit integer type.
-
-@item ffi_type_uint64
-@tindex ffi_type_uint64
-An unsigned, 64-bit integer type.
-
-@item ffi_type_sint64
-@tindex ffi_type_sint64
-A signed, 64-bit integer type.
-
-@item ffi_type_float
-@tindex ffi_type_float
-The C @code{float} type.
-
-@item ffi_type_double
-@tindex ffi_type_double
-The C @code{double} type.
-
-@item ffi_type_uchar
-@tindex ffi_type_uchar
-The C @code{unsigned char} type.
-
-@item ffi_type_schar
-@tindex ffi_type_schar
-The C @code{signed char} type. (Note that there is not an exact
-equivalent to the C @code{char} type in @code{libffi}; ordinarily you
-should either use @code{ffi_type_schar} or @code{ffi_type_uchar}
-depending on whether @code{char} is signed.)
-
-@item ffi_type_ushort
-@tindex ffi_type_ushort
-The C @code{unsigned short} type.
-
-@item ffi_type_sshort
-@tindex ffi_type_sshort
-The C @code{short} type.
-
-@item ffi_type_uint
-@tindex ffi_type_uint
-The C @code{unsigned int} type.
-
-@item ffi_type_sint
-@tindex ffi_type_sint
-The C @code{int} type.
-
-@item ffi_type_ulong
-@tindex ffi_type_ulong
-The C @code{unsigned long} type.
-
-@item ffi_type_slong
-@tindex ffi_type_slong
-The C @code{long} type.
-
-@item ffi_type_longdouble
-@tindex ffi_type_longdouble
-On platforms that have a C @code{long double} type, this is defined.
-On other platforms, it is not.
-
-@item ffi_type_pointer
-@tindex ffi_type_pointer
-A generic @code{void *} pointer. You should use this for all
-pointers, regardless of their real type.
-@end table
-
-Each of these is of type @code{ffi_type}, so you must take the address
-when passing to @code{ffi_prep_cif}.
-
-
-@node Structures
-@subsection Structures
-
-Although @samp{libffi} has no special support for unions or
-bit-fields, it is perfectly happy passing structures back and forth.
-You must first describe the structure to @samp{libffi} by creating a
-new @code{ffi_type} object for it.
-
-@tindex ffi_type
-@deftp ffi_type
-The @code{ffi_type} has the following members:
-@table @code
-@item size_t size
-This is set by @code{libffi}; you should initialize it to zero.
-
-@item unsigned short alignment
-This is set by @code{libffi}; you should initialize it to zero.
-
-@item unsigned short type
-For a structure, this should be set to @code{FFI_TYPE_STRUCT}.
-
-@item ffi_type **elements
-This is a @samp{NULL}-terminated array of pointers to @code{ffi_type}
-objects. There is one element per field of the struct.
-@end table
-@end deftp
-
-
-@node Type Example
-@subsection Type Example
-
-The following example initializes a @code{ffi_type} object
-representing the @code{tm} struct from Linux's @file{time.h}.
-
-Here is how the struct is defined:
-
-@example
-struct tm @{
- int tm_sec;
- int tm_min;
- int tm_hour;
- int tm_mday;
- int tm_mon;
- int tm_year;
- int tm_wday;
- int tm_yday;
- int tm_isdst;
- /* Those are for future use. */
- long int __tm_gmtoff__;
- __const char *__tm_zone__;
-@};
-@end example
-
-Here is the corresponding code to describe this struct to
-@code{libffi}:
-
-@example
- @{
- ffi_type tm_type;
- ffi_type *tm_type_elements[12];
- int i;
-
- tm_type.size = tm_type.alignment = 0;
- tm_type.elements = &tm_type_elements;
-
- for (i = 0; i < 9; i++)
- tm_type_elements[i] = &ffi_type_sint;
-
- tm_type_elements[9] = &ffi_type_slong;
- tm_type_elements[10] = &ffi_type_pointer;
- tm_type_elements[11] = NULL;
-
- /* tm_type can now be used to represent tm argument types and
- return types for ffi_prep_cif() */
- @}
-@end example
-
-
-@node Multiple ABIs
-@section Multiple ABIs
-
-A given platform may provide multiple different ABIs at once. For
-instance, the x86 platform has both @samp{stdcall} and @samp{fastcall}
-functions.
-
-@code{libffi} provides some support for this. However, this is
-necessarily platform-specific.
-
-@c FIXME: document the platforms
-
-@node The Closure API
-@section The Closure API
-
-@code{libffi} also provides a way to write a generic function -- a
-function that can accept and decode any combination of arguments.
-This can be useful when writing an interpreter, or to provide wrappers
-for arbitrary functions.
-
-This facility is called the @dfn{closure API}. Closures are not
-supported on all platforms; you can check the @code{FFI_CLOSURES}
-define to determine whether they are supported on the current
-platform.
-@cindex closures
-@cindex closure API
-@findex FFI_CLOSURES
-
-Because closures work by assembling a tiny function at runtime, they
-require special allocation on platforms that have a non-executable
-heap. Memory management for closures is handled by a pair of
-functions:
-
-@findex ffi_closure_alloc
-@defun void *ffi_closure_alloc (size_t @var{size}, void **@var{code})
-Allocate a chunk of memory holding @var{size} bytes. This returns a
-pointer to the writable address, and sets *@var{code} to the
-corresponding executable address.
-
-@var{size} should be sufficient to hold a @code{ffi_closure} object.
-@end defun
-
-@findex ffi_closure_free
-@defun void ffi_closure_free (void *@var{writable})
-Free memory allocated using @code{ffi_closure_alloc}. The argument is
-the writable address that was returned.
-@end defun
-
-
-Once you have allocated the memory for a closure, you must construct a
-@code{ffi_cif} describing the function call. Finally you can prepare
-the closure function:
-
-@findex ffi_prep_closure_loc
-@defun ffi_status ffi_prep_closure_loc (ffi_closure *@var{closure}, ffi_cif *@var{cif}, void (*@var{fun}) (ffi_cif *@var{cif}, void *@var{ret}, void **@var{args}, void *@var{user_data}), void *@var{user_data}, void *@var{codeloc})
-Prepare a closure function.
-
-@var{closure} is the address of a @code{ffi_closure} object; this is
-the writable address returned by @code{ffi_closure_alloc}.
-
-@var{cif} is the @code{ffi_cif} describing the function parameters.
-
-@var{user_data} is an arbitrary datum that is passed, uninterpreted,
-to your closure function.
-
-@var{codeloc} is the executable address returned by
-@code{ffi_closure_alloc}.
-
-@var{fun} is the function which will be called when the closure is
-invoked. It is called with the arguments:
-@table @var
-@item cif
-The @code{ffi_cif} passed to @code{ffi_prep_closure_loc}.
-
-@item ret
-A pointer to the memory used for the function's return value.
-@var{fun} must fill this, unless the function is declared as returning
-@code{void}.
-@c FIXME: is this NULL for void-returning functions?
-
-@item args
-A vector of pointers to memory holding the arguments to the function.
-
-@item user_data
-The same @var{user_data} that was passed to
-@code{ffi_prep_closure_loc}.
-@end table
-
-@code{ffi_prep_closure_loc} will return @code{FFI_OK} if everything
-went ok, and something else on error.
-@c FIXME: what?
-
-After calling @code{ffi_prep_closure_loc}, you can cast @var{codeloc}
-to the appropriate pointer-to-function type.
-@end defun
-
-You may see old code referring to @code{ffi_prep_closure}. This
-function is deprecated, as it cannot handle the need for separate
-writable and executable addresses.
-
-@node Closure Example
-@section Closure Example
-
-A trivial example that creates a new @code{puts} by binding
-@code{fputs} with @code{stdin}.
-
-@example
-#include <stdio.h>
-#include <ffi.h>
-
-/* Acts like puts with the file given at time of enclosure. */
-void puts_binding(ffi_cif *cif, unsigned int *ret, void* args[],
- FILE *stream)
-@{
- *ret = fputs(*(char **)args[0], stream);
-@}
-
-int main()
-@{
- ffi_cif cif;
- ffi_type *args[1];
- ffi_closure *closure;
-
- int (*bound_puts)(char *);
- int rc;
-
- /* Allocate closure and bound_puts */
- closure = ffi_closure_alloc(sizeof(ffi_closure), &bound_puts);
-
- if (closure)
- @{
- /* Initialize the argument info vectors */
- args[0] = &ffi_type_pointer;
-
- /* Initialize the cif */
- if (ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1,
- &ffi_type_uint, args) == FFI_OK)
- @{
- /* Initialize the closure, setting stream to stdout */
- if (ffi_prep_closure_loc(closure, &cif, puts_binding,
- stdout, bound_puts) == FFI_OK)
- @{
- rc = bound_puts("Hello World!");
- /* rc now holds the result of the call to fputs */
- @}
- @}
- @}
-
- /* Deallocate both closure, and bound_puts */
- ffi_closure_free(closure);
-
- return 0;
-@}
-
-@end example
-
-
-@node Missing Features
-@chapter Missing Features
-
-@code{libffi} is missing a few features. We welcome patches to add
-support for these.
-
-@itemize @bullet
-@item
-There is no support for calling varargs functions. This may work on
-some platforms, depending on how the ABI is defined, but it is not
-reliable.
-
-@item
-There is no support for bit fields in structures.
-
-@item
-The closure API is
-
-@c FIXME: ...
-
-@item
-The ``raw'' API is undocumented.
-@c argument promotion?
-@c unions?
-@c anything else?
-@end itemize
-
-
-@node Index
-@unnumbered Index
-
-@printindex cp
-
-@bye
diff --git a/.pc/win64-struct-args/src/x86/ffi.c b/.pc/win64-struct-args/src/x86/ffi.c
deleted file mode 100644
index 7c01c57..0000000
--- a/.pc/win64-struct-args/src/x86/ffi.c
+++ /dev/null
@@ -1,832 +0,0 @@
-/* -----------------------------------------------------------------------
- ffi.c - Copyright (c) 1996, 1998, 1999, 2001, 2007, 2008 Red Hat, Inc.
- Copyright (c) 2002 Ranjit Mathew
- Copyright (c) 2002 Bo Thorsen
- Copyright (c) 2002 Roger Sayle
- Copyright (C) 2008, 2010 Free Software Foundation, Inc.
-
- x86 Foreign Function Interface
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
- ----------------------------------------------------------------------- */
-
-#if !defined(__x86_64__) || defined(_WIN64)
-
-#ifdef _WIN64
-#include <windows.h>
-#endif
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#include <stdlib.h>
-
-/* ffi_prep_args is called by the assembly routine once stack space
- has been allocated for the function's arguments */
-
-void ffi_prep_args(char *stack, extended_cif *ecif)
-{
- register unsigned int i;
- register void **p_argv;
- register char *argp;
- register ffi_type **p_arg;
-#ifdef X86_WIN32
- size_t p_stack_args[2];
- void *p_stack_data[2];
- char *argp2 = stack;
- int stack_args_count = 0;
- int cabi = ecif->cif->abi;
-#endif
-
- argp = stack;
-
- if (ecif->cif->flags == FFI_TYPE_STRUCT
-#ifdef X86_WIN64
- && (ecif->cif->rtype->size != 1 && ecif->cif->rtype->size != 2
- && ecif->cif->rtype->size != 4 && ecif->cif->rtype->size != 8)
-#endif
- )
- {
- *(void **) argp = ecif->rvalue;
-#ifdef X86_WIN32
- /* For fastcall/thiscall this is first register-passed
- argument. */
- if (cabi == FFI_THISCALL || cabi == FFI_FASTCALL)
- {
- p_stack_args[stack_args_count] = sizeof (void*);
- p_stack_data[stack_args_count] = argp;
- ++stack_args_count;
- }
-#endif
- argp += sizeof(void*);
- }
-
- p_argv = ecif->avalue;
-
- for (i = ecif->cif->nargs, p_arg = ecif->cif->arg_types;
- i != 0;
- i--, p_arg++)
- {
- size_t z;
-
- /* Align if necessary */
- if ((sizeof(void*) - 1) & (size_t) argp)
- argp = (char *) ALIGN(argp, sizeof(void*));
-
- z = (*p_arg)->size;
-#ifdef X86_WIN64
- if (z > sizeof(ffi_arg)
- || ((*p_arg)->type == FFI_TYPE_STRUCT
- && (z != 1 && z != 2 && z != 4 && z != 8))
-#if FFI_TYPE_DOUBLE != FFI_TYPE_LONGDOUBLE
- || ((*p_arg)->type == FFI_TYPE_LONGDOUBLE)
-#endif
- )
- {
- z = sizeof(ffi_arg);
- *(void **)argp = *p_argv;
- }
- else if ((*p_arg)->type == FFI_TYPE_FLOAT)
- {
- memcpy(argp, *p_argv, z);
- }
- else
-#endif
- if (z < sizeof(ffi_arg))
- {
- z = sizeof(ffi_arg);
- switch ((*p_arg)->type)
- {
- case FFI_TYPE_SINT8:
- *(ffi_sarg *) argp = (ffi_sarg)*(SINT8 *)(* p_argv);
- break;
-
- case FFI_TYPE_UINT8:
- *(ffi_arg *) argp = (ffi_arg)*(UINT8 *)(* p_argv);
- break;
-
- case FFI_TYPE_SINT16:
- *(ffi_sarg *) argp = (ffi_sarg)*(SINT16 *)(* p_argv);
- break;
-
- case FFI_TYPE_UINT16:
- *(ffi_arg *) argp = (ffi_arg)*(UINT16 *)(* p_argv);
- break;
-
- case FFI_TYPE_SINT32:
- *(ffi_sarg *) argp = (ffi_sarg)*(SINT32 *)(* p_argv);
- break;
-
- case FFI_TYPE_UINT32:
- *(ffi_arg *) argp = (ffi_arg)*(UINT32 *)(* p_argv);
- break;
-
- case FFI_TYPE_STRUCT:
- *(ffi_arg *) argp = *(ffi_arg *)(* p_argv);
- break;
-
- default:
- FFI_ASSERT(0);
- }
- }
- else
- {
- memcpy(argp, *p_argv, z);
- }
-
-#ifdef X86_WIN32
- /* For thiscall/fastcall convention register-passed arguments
- are the first two none-floating-point arguments with a size
- smaller or equal to sizeof (void*). */
- if ((cabi == FFI_THISCALL && stack_args_count < 1)
- || (cabi == FFI_FASTCALL && stack_args_count < 2))
- {
- if (z <= 4
- && ((*p_arg)->type != FFI_TYPE_FLOAT
- && (*p_arg)->type != FFI_TYPE_STRUCT))
- {
- p_stack_args[stack_args_count] = z;
- p_stack_data[stack_args_count] = argp;
- ++stack_args_count;
- }
- }
-#endif
- p_argv++;
-#ifdef X86_WIN64
- argp += (z + sizeof(void*) - 1) & ~(sizeof(void*) - 1);
-#else
- argp += z;
-#endif
- }
-
-#ifdef X86_WIN32
- /* We need to move the register-passed arguments for thiscall/fastcall
- on top of stack, so that those can be moved to registers ecx/edx by
- call-handler. */
- if (stack_args_count > 0)
- {
- size_t zz = (p_stack_args[0] + 3) & ~3;
- char *h;
-
- /* Move first argument to top-stack position. */
- if (p_stack_data[0] != argp2)
- {
- h = alloca (zz + 1);
- memcpy (h, p_stack_data[0], zz);
- memmove (argp2 + zz, argp2,
- (size_t) ((char *) p_stack_data[0] - (char*)argp2));
- memcpy (argp2, h, zz);
- }
-
- argp2 += zz;
- --stack_args_count;
- if (zz > 4)
- stack_args_count = 0;
-
- /* If we have a second argument, then move it on top
- after the first one. */
- if (stack_args_count > 0 && p_stack_data[1] != argp2)
- {
- zz = p_stack_args[1];
- zz = (zz + 3) & ~3;
- h = alloca (zz + 1);
- h = alloca (zz + 1);
- memcpy (h, p_stack_data[1], zz);
- memmove (argp2 + zz, argp2, (size_t) ((char*) p_stack_data[1] - (char*)argp2));
- memcpy (argp2, h, zz);
- }
- }
-#endif
- return;
-}
-
-/* Perform machine dependent cif processing */
-ffi_status ffi_prep_cif_machdep(ffi_cif *cif)
-{
- unsigned int i;
- ffi_type **ptr;
-
- /* Set the return type flag */
- switch (cif->rtype->type)
- {
- case FFI_TYPE_VOID:
-#if defined(X86) || defined (X86_WIN32) || defined(X86_FREEBSD) || defined(X86_DARWIN) || defined(X86_WIN64)
- case FFI_TYPE_UINT8:
- case FFI_TYPE_UINT16:
- case FFI_TYPE_SINT8:
- case FFI_TYPE_SINT16:
-#endif
-#ifdef X86_WIN64
- case FFI_TYPE_UINT32:
- case FFI_TYPE_SINT32:
-#endif
- case FFI_TYPE_SINT64:
- case FFI_TYPE_FLOAT:
- case FFI_TYPE_DOUBLE:
-#ifndef X86_WIN64
-#if FFI_TYPE_DOUBLE != FFI_TYPE_LONGDOUBLE
- case FFI_TYPE_LONGDOUBLE:
-#endif
-#endif
- cif->flags = (unsigned) cif->rtype->type;
- break;
-
- case FFI_TYPE_UINT64:
-#ifdef X86_WIN64
- case FFI_TYPE_POINTER:
-#endif
- cif->flags = FFI_TYPE_SINT64;
- break;
-
- case FFI_TYPE_STRUCT:
-#ifndef X86
- if (cif->rtype->size == 1)
- {
- cif->flags = FFI_TYPE_SMALL_STRUCT_1B; /* same as char size */
- }
- else if (cif->rtype->size == 2)
- {
- cif->flags = FFI_TYPE_SMALL_STRUCT_2B; /* same as short size */
- }
- else if (cif->rtype->size == 4)
- {
-#ifdef X86_WIN64
- cif->flags = FFI_TYPE_SMALL_STRUCT_4B;
-#else
- cif->flags = FFI_TYPE_INT; /* same as int type */
-#endif
- }
- else if (cif->rtype->size == 8)
- {
- cif->flags = FFI_TYPE_SINT64; /* same as int64 type */
- }
- else
-#endif
- {
- cif->flags = FFI_TYPE_STRUCT;
- /* allocate space for return value pointer */
- cif->bytes += ALIGN(sizeof(void*), FFI_SIZEOF_ARG);
- }
- break;
-
- default:
-#ifdef X86_WIN64
- cif->flags = FFI_TYPE_SINT64;
- break;
- case FFI_TYPE_INT:
- cif->flags = FFI_TYPE_SINT32;
-#else
- cif->flags = FFI_TYPE_INT;
-#endif
- break;
- }
-
- for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++)
- {
- if (((*ptr)->alignment - 1) & cif->bytes)
- cif->bytes = ALIGN(cif->bytes, (*ptr)->alignment);
- cif->bytes += ALIGN((*ptr)->size, FFI_SIZEOF_ARG);
- }
-
-#ifdef X86_WIN64
- /* ensure space for storing four registers */
- cif->bytes += 4 * sizeof(ffi_arg);
-#endif
-
-#ifdef X86_DARWIN
- cif->bytes = (cif->bytes + 15) & ~0xF;
-#endif
-
- return FFI_OK;
-}
-
-#ifdef X86_WIN64
-extern int
-ffi_call_win64(void (*)(char *, extended_cif *), extended_cif *,
- unsigned, unsigned, unsigned *, void (*fn)(void));
-#elif defined(X86_WIN32)
-extern void
-ffi_call_win32(void (*)(char *, extended_cif *), extended_cif *,
- unsigned, unsigned, unsigned, unsigned *, void (*fn)(void));
-#else
-extern void ffi_call_SYSV(void (*)(char *, extended_cif *), extended_cif *,
- unsigned, unsigned, unsigned *, void (*fn)(void));
-#endif
-
-void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
-{
- extended_cif ecif;
-
- ecif.cif = cif;
- ecif.avalue = avalue;
-
- /* If the return value is a struct and we don't have a return */
- /* value address then we need to make one */
-
-#ifdef X86_WIN64
- if (rvalue == NULL
- && cif->flags == FFI_TYPE_STRUCT
- && cif->rtype->size != 1 && cif->rtype->size != 2
- && cif->rtype->size != 4 && cif->rtype->size != 8)
- {
- ecif.rvalue = alloca((cif->rtype->size + 0xF) & ~0xF);
- }
-#else
- if (rvalue == NULL
- && cif->flags == FFI_TYPE_STRUCT)
- {
- ecif.rvalue = alloca(cif->rtype->size);
- }
-#endif
- else
- ecif.rvalue = rvalue;
-
-
- switch (cif->abi)
- {
-#ifdef X86_WIN64
- case FFI_WIN64:
- {
- /* Make copies of all struct arguments
- NOTE: not sure if responsibility should be here or in caller */
- unsigned int i;
- for (i=0; i < cif->nargs;i++) {
- size_t size = cif->arg_types[i]->size;
- if ((cif->arg_types[i]->type == FFI_TYPE_STRUCT
- && (size != 1 && size != 2 && size != 4 && size != 8))
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
- || cif->arg_types[i]->type == FFI_TYPE_LONGDOUBLE
-#endif
- )
- {
- void *local = alloca(size);
- memcpy(local, avalue[i], size);
- avalue[i] = local;
- }
- }
- ffi_call_win64(ffi_prep_args, &ecif, cif->bytes,
- cif->flags, ecif.rvalue, fn);
- }
- break;
-#elif defined(X86_WIN32)
- case FFI_SYSV:
- case FFI_STDCALL:
- ffi_call_win32(ffi_prep_args, &ecif, cif->abi, cif->bytes, cif->flags,
- ecif.rvalue, fn);
- break;
- case FFI_THISCALL:
- case FFI_FASTCALL:
- {
- unsigned int abi = cif->abi;
- unsigned int i, passed_regs = 0;
-
- if (cif->flags == FFI_TYPE_STRUCT)
- ++passed_regs;
-
- for (i=0; i < cif->nargs && passed_regs < 2;i++)
- {
- size_t sz;
-
- if (cif->arg_types[i]->type == FFI_TYPE_FLOAT
- || cif->arg_types[i]->type == FFI_TYPE_STRUCT)
- continue;
- sz = (cif->arg_types[i]->size + 3) & ~3;
- if (sz == 0 || sz > 4)
- continue;
- ++passed_regs;
- }
- if (passed_regs < 2 && abi == FFI_FASTCALL)
- abi = FFI_THISCALL;
- if (passed_regs < 1 && abi == FFI_THISCALL)
- abi = FFI_STDCALL;
- ffi_call_win32(ffi_prep_args, &ecif, abi, cif->bytes, cif->flags,
- ecif.rvalue, fn);
- }
- break;
-#else
- case FFI_SYSV:
- ffi_call_SYSV(ffi_prep_args, &ecif, cif->bytes, cif->flags, ecif.rvalue,
- fn);
- break;
-#endif
- default:
- FFI_ASSERT(0);
- break;
- }
-}
-
-
-/** private members **/
-
-/* The following __attribute__((regparm(1))) decorations will have no effect
- on MSVC - standard cdecl convention applies. */
-static void ffi_prep_incoming_args_SYSV (char *stack, void **ret,
- void** args, ffi_cif* cif);
-void FFI_HIDDEN ffi_closure_SYSV (ffi_closure *)
- __attribute__ ((regparm(1)));
-unsigned int FFI_HIDDEN ffi_closure_SYSV_inner (ffi_closure *, void **, void *)
- __attribute__ ((regparm(1)));
-void FFI_HIDDEN ffi_closure_raw_SYSV (ffi_raw_closure *)
- __attribute__ ((regparm(1)));
-#ifdef X86_WIN32
-void FFI_HIDDEN ffi_closure_STDCALL (ffi_closure *)
- __attribute__ ((regparm(1)));
-void FFI_HIDDEN ffi_closure_THISCALL (ffi_closure *)
- __attribute__ ((regparm(1)));
-#endif
-#ifdef X86_WIN64
-void FFI_HIDDEN ffi_closure_win64 (ffi_closure *);
-#endif
-
-/* This function is jumped to by the trampoline */
-
-#ifdef X86_WIN64
-void * FFI_HIDDEN
-ffi_closure_win64_inner (ffi_closure *closure, void *args) {
- ffi_cif *cif;
- void **arg_area;
- void *result;
- void *resp = &result;
-
- cif = closure->cif;
- arg_area = (void**) alloca (cif->nargs * sizeof (void*));
-
- /* this call will initialize ARG_AREA, such that each
- * element in that array points to the corresponding
- * value on the stack; and if the function returns
- * a structure, it will change RESP to point to the
- * structure return address. */
-
- ffi_prep_incoming_args_SYSV(args, &resp, arg_area, cif);
-
- (closure->fun) (cif, resp, arg_area, closure->user_data);
-
- /* The result is returned in rax. This does the right thing for
- result types except for floats; we have to 'mov xmm0, rax' in the
- caller to correct this.
- TODO: structure sizes of 3 5 6 7 are returned by reference, too!!!
- */
- return cif->rtype->size > sizeof(void *) ? resp : *(void **)resp;
-}
-
-#else
-unsigned int FFI_HIDDEN __attribute__ ((regparm(1)))
-ffi_closure_SYSV_inner (ffi_closure *closure, void **respp, void *args)
-{
- /* our various things... */
- ffi_cif *cif;
- void **arg_area;
-
- cif = closure->cif;
- arg_area = (void**) alloca (cif->nargs * sizeof (void*));
-
- /* this call will initialize ARG_AREA, such that each
- * element in that array points to the corresponding
- * value on the stack; and if the function returns
- * a structure, it will change RESP to point to the
- * structure return address. */
-
- ffi_prep_incoming_args_SYSV(args, respp, arg_area, cif);
-
- (closure->fun) (cif, *respp, arg_area, closure->user_data);
-
- return cif->flags;
-}
-#endif /* !X86_WIN64 */
-
-static void
-ffi_prep_incoming_args_SYSV(char *stack, void **rvalue, void **avalue,
- ffi_cif *cif)
-{
- register unsigned int i;
- register void **p_argv;
- register char *argp;
- register ffi_type **p_arg;
-
- argp = stack;
-
-#ifdef X86_WIN64
- if (cif->rtype->size > sizeof(ffi_arg)
- || (cif->flags == FFI_TYPE_STRUCT
- && (cif->rtype->size != 1 && cif->rtype->size != 2
- && cif->rtype->size != 4 && cif->rtype->size != 8))) {
- *rvalue = *(void **) argp;
- argp += sizeof(void *);
- }
-#else
- if ( cif->flags == FFI_TYPE_STRUCT ) {
- *rvalue = *(void **) argp;
- argp += sizeof(void *);
- }
-#endif
-
- p_argv = avalue;
-
- for (i = cif->nargs, p_arg = cif->arg_types; (i != 0); i--, p_arg++)
- {
- size_t z;
-
- /* Align if necessary */
- if ((sizeof(void*) - 1) & (size_t) argp) {
- argp = (char *) ALIGN(argp, sizeof(void*));
- }
-
-#ifdef X86_WIN64
- if ((*p_arg)->size > sizeof(ffi_arg)
- || ((*p_arg)->type == FFI_TYPE_STRUCT
- && ((*p_arg)->size != 1 && (*p_arg)->size != 2
- && (*p_arg)->size != 4 && (*p_arg)->size != 8)))
- {
- z = sizeof(void *);
- *p_argv = *(void **)argp;
- }
- else
-#endif
- {
- z = (*p_arg)->size;
-
- /* because we're little endian, this is what it turns into. */
-
- *p_argv = (void*) argp;
- }
-
- p_argv++;
-#ifdef X86_WIN64
- argp += (z + sizeof(void*) - 1) & ~(sizeof(void*) - 1);
-#else
- argp += z;
-#endif
- }
-
- return;
-}
-
-#define FFI_INIT_TRAMPOLINE_WIN64(TRAMP,FUN,CTX,MASK) \
-{ unsigned char *__tramp = (unsigned char*)(TRAMP); \
- void* __fun = (void*)(FUN); \
- void* __ctx = (void*)(CTX); \
- *(unsigned char*) &__tramp[0] = 0x41; \
- *(unsigned char*) &__tramp[1] = 0xbb; \
- *(unsigned int*) &__tramp[2] = MASK; /* mov $mask, %r11 */ \
- *(unsigned char*) &__tramp[6] = 0x48; \
- *(unsigned char*) &__tramp[7] = 0xb8; \
- *(void**) &__tramp[8] = __ctx; /* mov __ctx, %rax */ \
- *(unsigned char *) &__tramp[16] = 0x49; \
- *(unsigned char *) &__tramp[17] = 0xba; \
- *(void**) &__tramp[18] = __fun; /* mov __fun, %r10 */ \
- *(unsigned char *) &__tramp[26] = 0x41; \
- *(unsigned char *) &__tramp[27] = 0xff; \
- *(unsigned char *) &__tramp[28] = 0xe2; /* jmp %r10 */ \
- }
-
-/* How to make a trampoline. Derived from gcc/config/i386/i386.c. */
-
-#define FFI_INIT_TRAMPOLINE(TRAMP,FUN,CTX) \
-{ unsigned char *__tramp = (unsigned char*)(TRAMP); \
- unsigned int __fun = (unsigned int)(FUN); \
- unsigned int __ctx = (unsigned int)(CTX); \
- unsigned int __dis = __fun - (__ctx + 10); \
- *(unsigned char*) &__tramp[0] = 0xb8; \
- *(unsigned int*) &__tramp[1] = __ctx; /* movl __ctx, %eax */ \
- *(unsigned char *) &__tramp[5] = 0xe9; \
- *(unsigned int*) &__tramp[6] = __dis; /* jmp __fun */ \
- }
-
-#define FFI_INIT_TRAMPOLINE_THISCALL(TRAMP,FUN,CTX,SIZE) \
-{ unsigned char *__tramp = (unsigned char*)(TRAMP); \
- unsigned int __fun = (unsigned int)(FUN); \
- unsigned int __ctx = (unsigned int)(CTX); \
- unsigned int __dis = __fun - (__ctx + 22); \
- unsigned short __size = (unsigned short)(SIZE); \
- *(unsigned int *) &__tramp[0] = 0x8324048b; /* mov (%esp), %eax */ \
- *(unsigned int *) &__tramp[4] = 0x4c890cec; /* sub $12, %esp */ \
- *(unsigned int *) &__tramp[8] = 0x04890424; /* mov %ecx, 4(%esp) */ \
- *(unsigned char*) &__tramp[12] = 0x24; /* mov %eax, (%esp) */ \
- *(unsigned char*) &__tramp[13] = 0xb8; \
- *(unsigned int *) &__tramp[14] = __size; /* mov __size, %eax */ \
- *(unsigned int *) &__tramp[18] = 0x08244c8d; /* lea 8(%esp), %ecx */ \
- *(unsigned int *) &__tramp[22] = 0x4802e8c1; /* shr $2, %eax ; dec %eax */ \
- *(unsigned short*) &__tramp[26] = 0x0b74; /* jz 1f */ \
- *(unsigned int *) &__tramp[28] = 0x8908518b; /* 2b: mov 8(%ecx), %edx */ \
- *(unsigned int *) &__tramp[32] = 0x04c18311; /* mov %edx, (%ecx) ; add $4, %ecx */ \
- *(unsigned char*) &__tramp[36] = 0x48; /* dec %eax */ \
- *(unsigned short*) &__tramp[37] = 0xf575; /* jnz 2b ; 1f: */ \
- *(unsigned char*) &__tramp[39] = 0xb8; \
- *(unsigned int*) &__tramp[40] = __ctx; /* movl __ctx, %eax */ \
- *(unsigned char *) &__tramp[44] = 0xe8; \
- *(unsigned int*) &__tramp[45] = __dis; /* call __fun */ \
- *(unsigned char*) &__tramp[49] = 0xc2; /* ret */ \
- *(unsigned short*) &__tramp[50] = (__size + 8); /* ret (__size + 8) */ \
- }
-
-#define FFI_INIT_TRAMPOLINE_STDCALL(TRAMP,FUN,CTX,SIZE) \
-{ unsigned char *__tramp = (unsigned char*)(TRAMP); \
- unsigned int __fun = (unsigned int)(FUN); \
- unsigned int __ctx = (unsigned int)(CTX); \
- unsigned int __dis = __fun - (__ctx + 10); \
- unsigned short __size = (unsigned short)(SIZE); \
- *(unsigned char*) &__tramp[0] = 0xb8; \
- *(unsigned int*) &__tramp[1] = __ctx; /* movl __ctx, %eax */ \
- *(unsigned char *) &__tramp[5] = 0xe8; \
- *(unsigned int*) &__tramp[6] = __dis; /* call __fun */ \
- *(unsigned char *) &__tramp[10] = 0xc2; \
- *(unsigned short*) &__tramp[11] = __size; /* ret __size */ \
- }
-
-/* the cif must already be prep'ed */
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure* closure,
- ffi_cif* cif,
- void (*fun)(ffi_cif*,void*,void**,void*),
- void *user_data,
- void *codeloc)
-{
-#ifdef X86_WIN64
-#define ISFLOAT(IDX) (cif->arg_types[IDX]->type == FFI_TYPE_FLOAT || cif->arg_types[IDX]->type == FFI_TYPE_DOUBLE)
-#define FLAG(IDX) (cif->nargs>(IDX)&&ISFLOAT(IDX)?(1<<(IDX)):0)
- if (cif->abi == FFI_WIN64)
- {
- int mask = FLAG(0)|FLAG(1)|FLAG(2)|FLAG(3);
- FFI_INIT_TRAMPOLINE_WIN64 (&closure->tramp[0],
- &ffi_closure_win64,
- codeloc, mask);
- /* make sure we can execute here */
- }
-#else
- if (cif->abi == FFI_SYSV)
- {
- FFI_INIT_TRAMPOLINE (&closure->tramp[0],
- &ffi_closure_SYSV,
- (void*)codeloc);
- }
-#ifdef X86_WIN32
- else if (cif->abi == FFI_THISCALL)
- {
- FFI_INIT_TRAMPOLINE_THISCALL (&closure->tramp[0],
- &ffi_closure_THISCALL,
- (void*)codeloc,
- cif->bytes);
- }
- else if (cif->abi == FFI_STDCALL)
- {
- FFI_INIT_TRAMPOLINE_STDCALL (&closure->tramp[0],
- &ffi_closure_STDCALL,
- (void*)codeloc, cif->bytes);
- }
-#endif /* X86_WIN32 */
-#endif /* !X86_WIN64 */
- else
- {
- return FFI_BAD_ABI;
- }
-
- closure->cif = cif;
- closure->user_data = user_data;
- closure->fun = fun;
-
- return FFI_OK;
-}
-
-/* ------- Native raw API support -------------------------------- */
-
-#if !FFI_NO_RAW_API
-
-ffi_status
-ffi_prep_raw_closure_loc (ffi_raw_closure* closure,
- ffi_cif* cif,
- void (*fun)(ffi_cif*,void*,ffi_raw*,void*),
- void *user_data,
- void *codeloc)
-{
- int i;
-
- if (cif->abi != FFI_SYSV) {
- return FFI_BAD_ABI;
- }
-
- /* we currently don't support certain kinds of arguments for raw
- closures. This should be implemented by a separate assembly
- language routine, since it would require argument processing,
- something we don't do now for performance. */
-
- for (i = cif->nargs-1; i >= 0; i--)
- {
- FFI_ASSERT (cif->arg_types[i]->type != FFI_TYPE_STRUCT);
- FFI_ASSERT (cif->arg_types[i]->type != FFI_TYPE_LONGDOUBLE);
- }
-
-
- FFI_INIT_TRAMPOLINE (&closure->tramp[0], &ffi_closure_raw_SYSV,
- codeloc);
-
- closure->cif = cif;
- closure->user_data = user_data;
- closure->fun = fun;
-
- return FFI_OK;
-}
-
-static void
-ffi_prep_args_raw(char *stack, extended_cif *ecif)
-{
- memcpy (stack, ecif->avalue, ecif->cif->bytes);
-}
-
-/* we borrow this routine from libffi (it must be changed, though, to
- * actually call the function passed in the first argument. as of
- * libffi-1.20, this is not the case.)
- */
-
-void
-ffi_raw_call(ffi_cif *cif, void (*fn)(void), void *rvalue, ffi_raw *fake_avalue)
-{
- extended_cif ecif;
- void **avalue = (void **)fake_avalue;
-
- ecif.cif = cif;
- ecif.avalue = avalue;
-
- /* If the return value is a struct and we don't have a return */
- /* value address then we need to make one */
-
- if ((rvalue == NULL) &&
- (cif->rtype->type == FFI_TYPE_STRUCT))
- {
- ecif.rvalue = alloca(cif->rtype->size);
- }
- else
- ecif.rvalue = rvalue;
-
-
- switch (cif->abi)
- {
-#ifdef X86_WIN32
- case FFI_SYSV:
- case FFI_STDCALL:
- ffi_call_win32(ffi_prep_args, &ecif, cif->abi, cif->bytes, cif->flags,
- ecif.rvalue, fn);
- break;
- case FFI_THISCALL:
- case FFI_FASTCALL:
- {
- unsigned int abi = cif->abi;
- unsigned int i, passed_regs = 0;
-
- if (cif->flags == FFI_TYPE_STRUCT)
- ++passed_regs;
-
- for (i=0; i < cif->nargs && passed_regs < 2;i++)
- {
- size_t sz;
-
- if (cif->arg_types[i]->type == FFI_TYPE_FLOAT
- || cif->arg_types[i]->type == FFI_TYPE_STRUCT)
- continue;
- sz = (cif->arg_types[i]->size + 3) & ~3;
- if (sz == 0 || sz > 4)
- continue;
- ++passed_regs;
- }
- if (passed_regs < 2 && abi == FFI_FASTCALL)
- cif->abi = abi = FFI_THISCALL;
- if (passed_regs < 1 && abi == FFI_THISCALL)
- cif->abi = abi = FFI_STDCALL;
- ffi_call_win32(ffi_prep_args, &ecif, abi, cif->bytes, cif->flags,
- ecif.rvalue, fn);
- }
- break;
-#else
- case FFI_SYSV:
- ffi_call_SYSV(ffi_prep_args_raw, &ecif, cif->bytes, cif->flags,
- ecif.rvalue, fn);
- break;
-#endif
- default:
- FFI_ASSERT(0);
- break;
- }
-}
-
-#endif
-
-#endif /* !__x86_64__ || X86_WIN64 */
-
diff --git a/.pc/win64-underscore/.timestamp b/.pc/win64-underscore/.timestamp
deleted file mode 100644
index e69de29..0000000
--- a/.pc/win64-underscore/.timestamp
+++ /dev/null
diff --git a/.pc/win64-underscore/ChangeLog b/.pc/win64-underscore/ChangeLog
deleted file mode 100644
index 022a57a..0000000
--- a/.pc/win64-underscore/ChangeLog
+++ /dev/null
@@ -1,4544 +0,0 @@
-2012-02-10 Kai Tietz <ktietz@redhat.com>
-
- * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
- windows target.
- * configure: Regenerated.
-
-2012-02-08 Kai Tietz <ktietz@redhat.com>
-
- * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
- also FFI_THISCALL.
- * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
- (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
- (ffi_prep_closure_loc): Add FFI_THISCALL support.
- * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
- * src/x86/win32.S (ffi_closure_THISCALL): New closure code
- for thiscall-calling convention.
- * testsuite/libffi.call/closure_thiscall.c: New test.
-
-2012-01-28 Kai Tietz <ktietz@redhat.com>
-
- * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
- argument to prototype for specify calling-convention.
- (ffi_call): Add support for stdcall/thiscall convention.
- (ffi_prep_args): Likewise.
- (ffi_raw_call): Likewise.
- * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
- FFI_FASTCALL.
- * src/x86/win32.S (_ffi_call_win32): Add support for
- fastcall/thiscall calling-convention calls.
- * testsuite/libffi.call/fastthis1_win32.c: New test.
- * testsuite/libffi.call/fastthis2_win32.c: New test.
- * testsuite/libffi.call/fastthis3_win32.c: New test.
- * testsuite/libffi.call/strlen2_win32.c: New test.
- * testsuite/libffi.call/many2_win32.c: New test.
- * testsuite/libffi.call/struct1_win32.c: New test.
- * testsuite/libffi.call/struct2_win32.c: New test.
-
-2012-01-23 Andreas Schwab <schwab@linux-m68k.org>
-
- * src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
- mc68000. Test for __HAVE_68881__ in addition to __MC68881__.
-
-2012-01-19 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/48496
- * src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
-
-2012-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (i?86-*-*): Set TARGET to X86_64.
- * configure: Regenerate.
-
-2011-12-07 Andrew Pinski <apinski@cavium.com>
-
- PR libffi/50051
- * src/mips/n32.S: Add ".set mips4".
-
-2011-11-21 Andreas Tobler <andreast@fgznet.ch>
-
- * configure: Regenerate.
-
-2011-11-10 Richard Henderson <rth@redhat.com>
-
- * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
- * configure, aclocal.m4: Rebuild.
-
-2011-09-04 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/49594
- * src/powerpc/darwin_closure.S (stubs): Make the stub binding
- helper reference track the architecture pointer size.
-
-2011-08-25 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
- instructions.
- * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
-
-2011-07-11 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46660
- * testsuite/libffi.call/cls_double_va.c: xfail dg-output on
- mips-sgi-irix6*.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
- PRId8 instead of %hhu, %hhd.
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
- PRIu8): Define.
- [__sgi__] (PRId8, PRIu8): Define.
-
-2011-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
- Define.
- Use them to handle ELF vs. ECOFF differences.
- [__osf__] (_GLOBAL__F_ffi_call_osf): Define.
-
-2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46661
- * testsuite/libffi.call/cls_pointer.c (main): Cast void * to
- uintptr_t first.
- * testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
- Handle case when CPU variant does not have long double support.
- * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
- and cores with soft floating point.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * configure.ac: Add mips*-*-rtems* support.
- * configure: Regenerate.
- * src/mips/ffitarget.h: Ensure needed constants are available
- for targets which do not have sgidefs.h.
-
-2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR target/40125
- * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
- * configure: Regenerate.
-
-2010-12-18 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/29152
- PR libffi/42378
- * src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
- (FFI_TRAMPOLINE_SIZE): Update for Darwin64.
- * src/powerpc/darwin.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
- backslashes.
- (libffi_cv_as_string_pseudo_op): Likewise.
- * configure: Regenerate.
-
-2010-12-03 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
- (ffi_closure_VFP): Same.
- (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
- directive.
-
-2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
- (PRIuPTR): Define.
-
-2010-11-29 Richard Henderson <rth@redhat.com>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
- (.eh_frame): Use FDE_ENCODING.
- (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
-
-2010-11-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp: Rename ...
- * testsuite/lib/libffi.exp: ... to this.
- * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
- * libffi/testsuite/libffi.special/special.exp: Likewise.
-
-2010-10-28 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
- code, new parameter, and return value. Update comments.
- (ffi_prep_cif_machdep): Add case for VFP struct return values. Add
- call to layout_vfp_args().
- (ffi_call_SYSV): Update declaration.
- (ffi_call_VFP): New declaration.
- (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
- when ABI is FFI_VFP.
- (ffi_closure_VFP): New declaration.
- (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
- ffi_prep_incoming_args_SYSV().
- (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
- case handling.
- (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
- construction under VFP hard-float.
- (rec_vfp_type_p): New function.
- (vfp_type_p): Same.
- (place_vfp_arg): Same.
- (layout_vfp_args): Same.
- * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
- based on __ARM_PCS_VFP.
- (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
- fields.
- (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
- (FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
- * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
- direct call. Move function pointer load upwards.
- (ffi_call_VFP): New function.
- (ffi_closure_VFP): Same.
-
- * testsuite/lib/libffi-dg.exp (check-flags): New function.
- (dg-skip-if): New function.
- * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
- and compiler options include -mfloat-abi=hard.
- * testsuite/libffi.call/cls_longdouble_va.c: Same.
-
-2010-10-01 Jakub Jelinek <jakub@redhat.com>
-
- PR libffi/45677
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
- a multiple of 8.
- * testsuite/libffi.call/many2.c: New test.
-
-2010-08-20 Mark Wielaard <mjw@redhat.com>
-
- * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
- returns NULL.
-
-2010-08-09 Andreas Tobler <andreast@fgznet.ch>
-
- * configure.ac: Add target powerpc64-*-freebsd*.
- * configure: Regenerate.
- * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
- -mlong-double-128 only to linux targets.
- * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
- * testsuite/libffi.call/cls_longdouble.c: Likewise.
- * testsuite/libffi.call/huge_struct.c: Likewise.
-
-2010-08-05 Dan Witte <dwitte@mozilla.com>
-
- * Makefile.am: Pass FFI_DEBUG define to msvcc.sh for linking to the
- debug CRT when --enable-debug is given.
- * configure.ac: Define it.
- * msvcc.sh: Translate -g and -DFFI_DEBUG appropriately.
-
-2010-08-04 Dan Witte <dwitte@mozilla.com>
-
- * src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64
- platforms.
- * src/x86/ffi.c: Remove redundant ifdef checks.
- * src/prep_cif.c: Push stack space computation into src/x86/ffi.c
- for X86_ANY so return value space doesn't get added twice.
-
-2010-08-03 Neil Rashbrooke <neil@parkwaycc.co.uk>
-
- * msvcc.sh: Don't pass -safeseh to ml64 because behavior is buggy.
-
-2010-07-22 Dan Witte <dwitte@mozilla.com>
-
- * src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
- * src/prep_cif.c: Fix ABI assertion.
- * src/cris/ffi.c: Ditto.
-
-2010-07-10 Evan Phoenix <evan@fallingsnow.net>
-
- * src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
-
-2010-07-07 Dan Horák <dan@danny.cz>
-
- * include/ffi.h.in: Protect #define with #ifndef.
- * src/powerpc/ffitarget.h: Ditto.
- * src/s390/ffitarget.h: Ditto.
- * src/sparc/ffitarget.h: Ditto.
-
-2010-07-07 Neil Roberts <neil@linux.intel.com>
-
- * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
- 16-bytes.
-
-2010-07-02 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
- * Makefile.in: Regenerated.
-
-2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
- output, too.
- (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
- (libffi_cv_as_string_pseudo_op): Check for .string.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
-
-2010-05-11 Dan Witte <dwitte@mozilla.com>
-
- * doc/libffi.tex: Document previous change.
-
-2010-05-11 Makoto Kato <m_kato@ga2.so-net.ne.jp>
-
- * src/x86/ffi.c (ffi_call): Don't copy structs passed by value.
-
-2010-05-05 Michael Kohler <michaelkohler@live.com>
-
- * src/dlmalloc.c (dlfree): Fix spelling.
- * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
- * configure.ac: Ditto.
- * configure: Rebuilt.
-
-2010-04-13 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Build with -W3 instead of -Wall.
- * src/powerpc/ffi_darwin.c: Remove build warnings.
- * src/x86/ffi.c: Ditto.
- * src/x86/ffitarget.h: Ditto.
-
-2010-04-12 Dan Witte <dwitte@mozilla.com>
- Walter Meinl <wuno@lsvw.de>
-
- * configure.ac: Add OS/2 support.
- * configure: Rebuilt.
- * src/closures.c: Ditto.
- * src/dlmalloc.c: Ditto.
- * src/x86/win32.S: Ditto.
-
-2010-04-07 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
-
-2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2010-03-30 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Disable build warnings.
- * README (tested): Clarify windows build procedure.
-
-2010-03-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * libffi/src/x86/unix64.S (.eh_frame)
- [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
-
-2010-03-14 Matthias Klose <doko@ubuntu.com>
-
- * src/x86/ffi64.c: Fix typo in comment.
- * src/x86/ffi.c: Use /* ... */ comment style.
-
-2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/libffi.texi (The Closure API): Fix typo.
- * doc/libffi.info: Remove.
-
-2010-02-15 Matthias Klose <doko@ubuntu.com>
-
- * src/arm/sysv.S (__ARM_ARCH__): Define for processor
- __ARM_ARCH_7EM__.
-
-2010-01-15 Anthony Green <green@redhat.com>
-
- * README: Add notes on building with Microsoft Visual C++.
-
-2010-01-15 Daniel Witte <dwitte@mozilla.com>
-
- * msvcc.sh: New file.
-
- * src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
- * src/x86/ffi.c: Tweak function declaration and remove excess
- parens.
- * include/ffi.h.in: Add __declspec(align(8)) to typedef struct
- ffi_closure.
-
- * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
- function ffi_call_win32 on X86_WIN32.
- * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
- (ffi_call_STDCALL): Remove.
-
- * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
- to ffi_prep_cif_machdep for x86.
- * src/x86/ffi.c (ffi_prep_cif_machdep): To here.
-
-2010-01-15 Oliver Kiddle <okiddle@yahoo.co.uk>
-
- * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
- Sun Studio compiler compatibility.
-
-2010-01-12 Conrad Irwin <conrad.irwin@gmail.com>
-
- * doc/libffi.texi: Add closure example.
-
-2010-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40701
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
- PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
- * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
- alpha*-dec-osf*.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/return_ll1.c: Likewise.
- * testsuite/libffi.call/stret_medium2.c: Likewise.
- * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
- MAP_FAILED to char *.
-
-2010-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
-
-2009-12-31 Anthony Green <green@redhat.com>
-
- * README: Update for libffi 3.0.9.
-
-2009-12-27 Matthias Klose <doko@ubuntu.com>
-
- * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
- appropriate.
- * configure: Rebuilt.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
- avr32*-*-*.
- * testsuite/libffi.call/cls_double_va.c: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
- and inttypes.h.
- * testsuite/libffi.special/unwindtest.cc: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-openbsd*.
- * configure: Rebuilt.
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
- openbsd programs with -lpthread.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
- mips*-*-* and arm*-*-*.
- * testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c,
- testsuite/libffi.call/stret_medium2.c,
- testsuite/libffi.call/stret_medium.c,
- testsuite/libffi.call/stret_large.c,
- testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
-
-2009-12-31 Kay Tietz <ktietz70@googlemail.com>
-
- * testsuite/libffi.call/ffitest.h,
- testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
- definitions.
-
-2009-12-31 Carlo Bramini <carlo.bramix@libero.it>
-
- * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
- * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
-
-2009-12-31 Anthony Green <green@redhat.com>
- Blake Chaffin.
-
- * testsuite/libffi.call/huge_struct.c: New test case from Blake
- Chaffin @ Apple.
-
-2009-12-28 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
- local variables.
- (aix_adjust_aggregate_sizes): New function.
- (ffi_prep_cif_machdep): Call it.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
- * configure: Regenerate.
- * fficonfig.h.in: Likewise.
- * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
- Solaris/x86.
-
-2009-12-26 Andreas Schwab <schwab@linux-m68k.org>
-
- * 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.
-
-2009-12-25 Matthias Klose <doko@ubuntu.com>
-
- * man/ffi_call.3: Fix #include in examples.
- * doc/libffi.texi: Add dircategory.
-
-2009-12-25 Frank Everdij <f.p.x.everdij@tudelft.nl>
-
- * include/ffi.h.in: Placed '__GNUC__' ifdef around
- '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
- IRIX MIPSPro c99.
- * include/ffi_common.h: Added '__sgi' define to non
- '__attribute__((__mode__()))' integer typedefs.
- * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
- ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
- (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
- FFI_LONGDOUBLE support and alignment(N32 only).
- * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
- fixed non '__attribute__((__mode__()))' integer typedefs.
- * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
- since they are Linux/GNU Assembler specific.
-
-2009-12-25 Bradley Smith <brad@brad-smith.co.uk>
-
- * configure.ac, Makefile.am, src/avr32/ffi.c,
- src/avr32/ffitarget.h,
- src/avr32/sysv.S: Add AVR32 port.
- * configure, Makefile.in: Rebuilt.
-
-2009-12-21 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
- * configure: Regenerate.
-
-2009-12-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
- type on HP-UX.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
- double' arguments.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40700
- * src/closures.c [X86_64 && __sun__ && __svr4__]
- (FFI_MMAP_EXEC_WRIT): Define.
-
-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.
-
-2009-12-07 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
- typo.
-
-2009-12-05 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
- code.
- * src/powerpc/aix_closure.S: Same.
-
-2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
- linux64_closure.S.
-
-2009-12-04 Uros Bizjak <ubizjak@gmail.com>
-
- 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.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
- pfr for long double split between fpr13 and stack.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
- fparg_count twice for long double.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- PR libffi/42243
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03 Uros Bizjak <ubizjak@gmail.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
- Remove xfails for x86 linux targets.
-
-2009-12-02 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
- case.
-
-2009-12-01 David Edelsohn <edelsohn@gnu.org>
-
- * 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.
-
-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.
-
-2009-11-02 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/41908
- * testsuite/libffi.call/testclosure.c: New test.
-
-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.
-
-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.
-
-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.
-
-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.
-
-2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.am (install-html, install-pdf): Remove.
- * Makefile.in: Regenerate.
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24 Dave Korn <dave.korn.cygwin@gmail.com>
-
- 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.
-
-2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
-
- 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.
-
-2009-07-01 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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 "".)
-
-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.
-
-2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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.
-
-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.
-
-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.
-
-2009-06-16 Andrew Haley <aph@redhat.com>
-
- * configure.ac (TARGETDIR): Add missing blank lines.
- * configure: Regenerate.
-
-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.
-
-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.
-
-2009-06-12 Andrew Haley <aph@redhat.com>
-
- * Makefile.am: Remove info_TEXINFOS.
-
-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-11 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * 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.
-
-2009-06-09 Andrew Haley <aph@redhat.com>
-
- * src/x86/freebsd.S: Add missing file.
-
-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).
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * README: Import from libffi 3.0.8.
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Add xfails.
- * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
- * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
- * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
- * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
- * testsuite/libffi.call/stret_medium.c: Likewise.
- * testsuite/libffi.call/stret_large2.c: Likewise.
- * testsuite/libffi.call/stret_large.c: Likewise.
-
-2008-12-26 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_align_longdouble.c,
- testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
- failures on x86_64 cygwin/mingw.
-
-2008-12-22 Timothy Wall <twall@users.sf.net>
-
- * 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_loc_fn0.c,
- testsuite/libffi.call/closure_stdcall.c,
- testsuite/libffi.call/cls_align_pointer.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
- pointer to integer (intptr_t).
- * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_dbls_struct.c,
- testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c,
- testsuite/libffi.call/err_bad_abi.c: Clean up failures from
- compiler warnings.
-
-2008-03-04 Anthony Green <green@redhat.com>
- Blake Chaffin
- hos@tamanegi.org
-
- * testsuite/libffi.call/cls_align_longdouble_split2.c
- testsuite/libffi.call/cls_align_longdouble_split.c
- testsuite/libffi.call/cls_dbls_struct.c
- testsuite/libffi.call/cls_double_va.c
- testsuite/libffi.call/cls_longdouble.c
- testsuite/libffi.call/cls_longdouble_va.c
- testsuite/libffi.call/cls_pointer.c
- testsuite/libffi.call/cls_pointer_stack.c
- testsuite/libffi.call/err_bad_abi.c
- testsuite/libffi.call/err_bad_typedef.c
- testsuite/libffi.call/stret_large2.c
- testsuite/libffi.call/stret_large.c
- testsuite/libffi.call/stret_medium2.c
- testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
- libffi.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
- stdcall changes.
-
-2008-02-26 Anthony Green <green@redhat.com>
- Thomas Heller <theller@ctypes.org>
-
- * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
- comment.
-
-2008-02-03 Timothy Wall <twall@users.sf.net>
-
- * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
- offset based on code pointer, not data pointer.
-
-2008-01-31 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
- closures.
- * src/x86/ffitarget.h: Increase size of trampoline for stdcall
- closures.
- * src/x86/win32.S: Add assembly for stdcall closure.
- * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Change void (*)() to void (*)(void).
- * src/x86/ffi.c: Likewise.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ppc_closure.S: Insert licence header.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/m68k/sysv.S: Likewise.
-
- * src/sh64/ffi.c: Change void (*)() to void (*)(void).
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/m32r/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi64.c: Likewise.
- * src/alpha/ffi.c: Likewise.
- * src/alpha/osf.S: Likewise.
- * src/frv/ffi.c: Likewise.
- * src/s390/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/pa/hpux32.S: Likewise.
- * src/ia64/unix.S: Likewise.
- * src/ia64/ffi.c: Likewise.
- * src/sparc/ffi.c: Likewise.
- * src/mips/ffi.c: Likewise.
- * src/sh/ffi.c: Likewise.
-
-2008-02-15 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
- Define (conditionally), and use it to include cachectl.h.
- (ffi_prep_closure_loc): Fix cache flushing.
- * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- include/ffi.h.in,
- src/arm/ffitarget.h,
- src/arm/ffi.c,
- src/arm/sysv.S,
- src/powerpc/ffitarget.h,
- src/closures.c,
- src/sh64/ffitarget.h,
- src/sh64/ffi.c,
- src/sh64/sysv.S,
- src/types.c,
- src/x86/ffi64.c,
- src/x86/ffitarget.h,
- src/x86/win32.S,
- src/x86/darwin.S,
- src/x86/ffi.c,
- src/x86/sysv.S,
- src/x86/unix64.S,
- src/alpha/ffitarget.h,
- src/alpha/ffi.c,
- src/alpha/osf.S,
- src/m68k/ffitarget.h,
- src/frv/ffitarget.h,
- src/frv/ffi.c,
- src/s390/ffitarget.h,
- src/s390/sysv.S,
- src/cris/ffitarget.h,
- src/pa/linux.S,
- src/pa/ffitarget.h,
- src/pa/ffi.c,
- src/raw_api.c,
- src/ia64/ffitarget.h,
- src/ia64/unix.S,
- src/ia64/ffi.c,
- src/ia64/ia64_flags.h,
- src/java_raw_api.c,
- src/debug.c,
- src/sparc/v9.S,
- src/sparc/ffitarget.h,
- src/sparc/ffi.c,
- src/sparc/v8.S,
- src/mips/ffitarget.h,
- src/mips/n32.S,
- src/mips/o32.S,
- src/mips/ffi.c,
- src/prep_cif.c,
- src/sh/ffitarget.h,
- src/sh/ffi.c,
- src/sh/sysv.S: Update license text.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * src/x86/win32.S (_ffi_closure_STDCALL): New function.
- (.eh_frame): Add FDE for it.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * configure.ac: Also check if assembler supports pc-relative
- relocs on X86_WIN32 targets.
- * configure: Regenerate.
- * src/x86/win32.S (ffi_prep_args): Declare extern, not global.
- (_ffi_call_SYSV): Add missing function type symbol .def and
- add EH markup labels.
- (_ffi_call_STDCALL): Likewise.
- (_ffi_closure_SYSV): Likewise.
- (_ffi_closure_raw_SYSV): Likewise.
- (.eh_frame): Add hand-crafted EH data.
-
-2009-04-09 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
- version 3 of the GNU General Public License and to point readers
- at the COPYING3 file and the FSF's license web page.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-12-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libffi/26048
- * configure.ac (HAVE_AS_X86_PCREL): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
- RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
- RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
- * src/x86/unix64.S (.Lstore_table): Move to .text section.
- (.Lload_table): Likewise.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
- signed/unsigned int8/16 return values.
- * src/sparc/v8.S (ffi_call_v8): Likewise.
- (ffi_closure_v8): Likewise.
-
-2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
- Steve Ellcey <sje@cup.hp.com>
-
- * configure: Regenerate for new libtool.
- * Makefile.in: Ditto.
- * include/Makefile.in: Ditto.
- * aclocal.m4: Ditto.
-
-2008-08-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
- FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
- Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
- Adjust copyright notice.
- * src/powerpc/ffi.c: Add two new flags to indicate if we have one
- register or two register to use for FFI_SYSV structs.
- (ffi_prep_cif_machdep): Pass the right register flag introduced above.
- (ffi_closure_helper_SYSV): Fix the return type for
- FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
- Adjust copyright notice.
-
-2008-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
- int.
-
-2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2008-06-07 Joseph Myers <joseph@codesourcery.com>
-
- * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
- powerpc-*-beos*): Remove.
- * configure: Regenerate.
-
-2008-05-09 Julian Brown <julian@codesourcery.com>
-
- * Makefile.am (LTLDFLAGS): New.
- (libffi_la_LDFLAGS): Use above.
- * Makefile.in: Regenerate.
-
-2008-04-18 Paolo Bonzini <bonzini@gnu.org>
-
- PR bootstrap/35457
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2008-03-26 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add .note.GNU-stack on Linux.
- * src/sh64/sysv.S: Likewise.
-
-2008-03-26 Daniel Jacobowitz <dan@debian.org>
-
- * src/arm/sysv.S: Fix ARM comment marker.
-
-2008-03-26 Jakub Jelinek <jakub@redhat.com>
-
- * src/alpha/osf.S: Add .note.GNU-stack on Linux.
- * src/s390/sysv.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
- * src/x86/unix64.S: Likewise.
- * src/x86/sysv.S: Likewise.
- * src/sparc/v8.S: Likewise.
- * src/sparc/v9.S: Likewise.
- * src/m68k/sysv.S: Likewise.
- * src/arm/sysv.S: Likewise.
-
-2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * aclocal.m4: Regenerate.
- * configure: Likewise.
- * Makefile.in: Likewise.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2008-02-12 Bjoern Koenig <bkoenig@alpha-tierchen.de>
- Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-freebsd* target.
- * configure: Regenerate.
-
-2008-01-30 H.J. Lu <hongjiu.lu@intel.com>
-
- PR libffi/34612
- * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
- returning struct.
-
- * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
- tests.
-
-2008-01-24 David Edelsohn <edelsohn@gnu.org>
-
- * configure: Regenerate.
-
-2008-01-06 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
-
-2008-01-05 Andreas Tobler <a.tobler@schweiz.org>
-
- PR testsuite/32843
- * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
- signed/unsigned int8/16 for X86_DARWIN.
- Updated copyright info.
- Handle one and two byte structs with special cif->flags.
- * src/x86/ffitarget.h: Add special types for one and two byte structs.
- Updated copyright info.
- * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
- sysv.S
- Remove code to pop args from the stack after call.
- Special-case signed/unsigned for int8/16, one and two byte structs.
- (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
- FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
- FFI_TYPE_SINT32.
- Updated copyright info.
-
-2007-12-08 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_call_N32): Replace dadd with ADDU, dsub with
- SUBU, add with ADDU and use smaller code sequences.
-
-2007-12-07 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
- type.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
- defined.
- (ffi_java_raw): New typedef.
- (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
- ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
- ffi_java_raw.
- (ffi_java_raw_closure) : Same.
- (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
- parameter types.
- * src/java_raw_api.c (ffi_java_raw_size): Replace FFI_SIZEOF_ARG with
- FFI_SIZEOF_JAVA_RAW.
- (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
- Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
- sizeof(ffi_java_raw) for alignment calculations.
- (ffi_java_ptrarray_to_raw): Same.
- (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
- if FFI_SIZEOF_JAVA_RAW == 4.
- (ffi_java_raw_to_rvalue): Same.
- (ffi_java_raw_call): Change type of raw to ffi_java_raw.
- (ffi_java_translate_args): Same.
- (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
- parameter types.
- * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
- pointer values.
-
-2007-12-01 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/31937
- * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
- Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
- * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
- set the NUM_FPR_ARG_REGISTERS according to.
- Add support for potential soft-float support under hard-float
- architecture.
- (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
- FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
- to the FFI_LINUX_SOFT_FLOAT ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Make sure not to store float/double
- on archs where __NO_FPRS__ is true.
- Add FFI_TYPE_UINT128 support.
- * src/powerpc/sysv.S: Add support for soft-float long-double-128.
- Adjust copyright notice.
-
-2007-11-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
- * include/ffi_common.h: ... here.
- Update copyright.
-
-2007-11-17 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
- * testsuite/libffi.call/return_ldl.c: New test.
-
-2007-09-04 <aph@redhat.com>
-
- * src/arm/sysv.S (UNWIND): New.
- (Whole file): Conditionally compile unwinder directives.
- * src/arm/sysv.S: Add unwinder directives.
-
- * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
- Only treat r0 as a struct address if we're actually returning a
- struct by address.
- Only copy the bytes that are actually within a struct.
- (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
- is returned in r0, not passed by address.
- (ffi_call): Allocate a word-sized temporary for the case where
- a composite is returned in r0.
- (ffi_prep_incoming_args_SYSV): Align as necessary.
-
-2007-08-05 Steven Newbury <s_j_newbury@yahoo.co.uk>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
- directly using the sys_cacheflush syscall.
-
-2007-07-27 Andrew Haley <aph@redhat.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
-
-2007-09-03 Maciej W. Rozycki <macro@linux-mips.org>
-
- * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure: Likewise.
-
-2007-08-24 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/return_sl.c: New test.
-
-2007-08-10 David Daney <ddaney@avtrex.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/nested_struct5.c,
- testsuite/libffi.call/cls_double.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/nested_struct.c,
- testsuite/libffi.call/cls_2byte.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_sint16.c,
- testsuite/libffi.call/cls_align_uint32.c,
- testsuite/libffi.call/cls_20byte.c,
- testsuite/libffi.call/cls_float.c,
- testsuite/libffi.call/nested_struct2.c,
- testsuite/libffi.call/cls_5_1_byte.c,
- testsuite/libffi.call/nested_struct4.c,
- testsuite/libffi.call/cls_24byte.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: Remove xfail for mips64*-*-*.
-
-2007-08-10 David Daney <ddaney@avtrex.com>
-
- 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.
-
-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*.
- * 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.
-
-2006-12-13 Andreas Tobler <a.tobler@schweiz.org>
-
- * aclocal.m4: Regenerate with aclocal -I .. as written in the
- Makefile.am.
-
-2006-10-31 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
- (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
- Darwin.
- * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
- * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10 Paolo Bonzini <bonzini@gnu.org>
- Sandro Tolaini <tolaini@libero.it>
-
- * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
- conditional.
- * configure: Regenerated.
- * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
- (EXTRA_DIST): Add src/x86/darwin.S.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
- X86_WIN32, and additionally align stack to 16 bytes.
- * src/x86/darwin.S: New, based on sysv.S.
- * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12 David Daney <ddaney@avtrex.com>
-
- PR libffi/23935
- * include/Makefile.am: Install both ffi.h and ffitarget.h in
- $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
- * aclocal.m4: Regenerated for automake 1.9.6.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
-2006-08-17 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h: Remove lint directives.
- * include/ffi.h.in: Likewise.
-
-2006-07-25 Torsten Schoenfeld <kaffeetisch@gmx.de>
-
- * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
- for 32-bit architectures.
- * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
- xfail remains for mips64.
-
-2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
-
- * Makefile.am: Add install-html target. Add install-html to .PHONY
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
- stack slot.
-
-2006-04-22 Andreas Tobler <a.tobler@schweiz.ch>
-
- * README: Remove notice about 'Crazy Comments'.
- * src/debug.c: Remove lint directives. Cleanup white spaces.
- * src/java_raw_api.c: Likewise.
- * src/prep_cif.c: Likewise.
- * src/raw_api.c: Likewise.
- * src/ffitest.c: Delete. No longer needed, all test cases migrated
- to the testsuite.
- * src/arm/ffi.c: Remove lint directives.
- * src/m32r/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/sh/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/pa/hpux32.S: Correct unwind offset calculation for
- ffi_closure_pa32.
- * src/pa/linux.S: Likewise.
-
-2006-04-12 James E Wilson <wilson@specifix.com>
-
- PR libgcj/26483
- * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
- (hfa_type_load): Call stf_spill.
- (hfa_type_store): Call ldf_fill.
- (ffi_call): Adjust calls to above routines. Add local temps for
- macro result.
-
-2006-04-10 Matthias Klose <doko@debian.org>
-
- * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
- directory names containing underscores.
-
-2006-04-07 James E Wilson <wilson@specifix.com>
-
- * testsuite/libffi.call/float4.c: New testcase.
-
-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.
-
-2006-03-24 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Default
- for 32-bit using IBM extended double format. Fix FFI_LAST_ABI.
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
- FFI_TYPE_LONGDOUBLE.
- (ffi_prep_args64): Assert using IBM extended double.
- (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
- Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
- (ffi_call): Handle FFI_LINUX.
- (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
- gpr3 return pointer as for struct return. Handle FFI_LINUX
- FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf"
- unnecessarily.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
- for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table.
- Don't use r6 as pointer to results, instead use sp offset. Don't
- make a special call to load lr with case table address, instead
- use offset from previous call.
- * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
- return.
-
-2006-03-15 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
- passed with FP registers correctly.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S: Likewise.
-
-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.
-
-2006-02-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
- -O2, -O3, -Os and the warning flags -W -Wall.
- * testsuite/libffi.special/special.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
- unused parameter unused for gcc or else do nothing.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
- * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
- * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
- * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
- * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
- * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
- * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
- * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
- * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
- void* to avoid compiler warning.
- (main): Likewise.
- (cls_struct_align_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
- * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
- * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
- userdata unused.
- (cls_ret_schar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
- userdata unused.
- (cls_ret_sint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
- userdata unused.
- (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn): Mark cif and
- userdata unused.
- (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
- userdata unused.
- (cls_ret_uint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
- userdata unused.
- (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
- * testsuite/libffi.call/float1.c (main): Remove unused variable i.
- Cleanup white spaces.
- * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
- * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
- cif and userdata unused.
- * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
- Likewise.
- * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
- formatters to silence gcc.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct4.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct6.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
- * testsuite/libffi.call/problem1.c (stub): Likewise.
- * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
- gcc.
- * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
- in the last commit for this test case in the test case itself.
- * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
- unused.
- * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
- * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
- * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
- * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
- * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
- * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Fix register numbers in the FDE for
- ffi_closure_SYSV.
-
-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.
-
-2006-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
- and cast integer to void * if needed. Update the pointer to
- the FP register saved area correctly.
-
-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.
-
-2006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/return_dbl.c: New test case.
- * testsuite/libffi.call/return_dbl1.c: Likewise.
- * testsuite/libffi.call/return_dbl2.c: Likewise.
- * testsuite/libffi.call/return_fl.c: Likewise.
- * testsuite/libffi.call/return_fl1.c: Likewise.
- * testsuite/libffi.call/return_fl2.c: Likewise.
- * testsuite/libffi.call/return_fl3.c: Likewise.
- * testsuite/libffi.call/closure_fn6.c: Likewise.
-
- * 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.
-
-2006-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.ac: Enable libffi for sparc64-*-freebsd*.
- * configure: Rebuilt.
-
-2006-01-18 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
- instead do the shifting inline.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
- shift count unconditionally. Simplify load sequences for 1, 2, 3, 4
- and 8 byte structs, for the remaining struct sizes don't call
- __lshrdi3, instead do the shifting inline.
-
-2005-12-07 Thiemo Seufer <ths@networkno.de>
-
- * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
- missing parentheses.
- * src/mips/o32.S (ffi_call_O32): Code formatting. Define
- and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
- (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
- A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
- V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
- FA_0_0_OFF2.
- * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
- endianness bugs.
- (ffi_prep_closure): Improve trampoline instruction scheduling.
- (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c: Formatting.
- (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
- (ffi_prep_args64): Likewise.
-
-2005-09-30 Geoffrey Keating <geoffk@apple.com>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
- darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26 Tom Tromey <tromey@redhat.com>
-
- * 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.
-
-2005-08-25 Alan Modra <amodra@bigpond.net.au>
-
- PR target/23404
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
- homed fp args.
- (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11 Jakub Jelinek <jakub@redhat.com>
-
- * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
- (AH_BOTTOM): Add FFI_HIDDEN definition.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * src/powerpc/ffi.c (hidden): Remove.
- (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
- ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
- .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
- * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
- add FFI_HIDDEN to its prototype.
- (ffi_closure_SYSV_inner): New.
- * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
- * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10 Alfred M. Szmidt <ams@gnu.org>
-
- PR libffi/21819:
- * configure: Rebuilt.
- * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
- DW_CFA_offset_extended_sf rather than
- DW_CFA_GNU_negative_offset_extended.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
-
- * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
- on sh3.
- (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
- * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
- partially on register.
- (ffi_closure_helper_SYSV): Likewise.
- (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_call): Handle small structures correctly.
- Remove empty line.
- * src/sh64/ffi.c (simple_type): Remove.
- (return_type): Handle small structures correctly.
- (ffi_prep_args): Likewise.
- (ffi_call): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
- Emit position independent code if PIC and remove wrong datalabel
- prefixes from EH data.
-
-2005-07-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure.ac: Add POWERPC_FREEBSD rules.
- * configure: Regenerate.
- * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
- (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
- * src/powerpc/ffi.c: Add flags to handle small structure returns
- in ffi_call_SYSV.
- (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
- Aka FFI_SYSV.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Add return types for small structures.
- * src/powerpc/sysv.S: Add bits to handle small structures for
- final SYSV 4 ABI.
-
-2005-07-10 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_5_1_byte.c: New test file.
- * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05 Randolph Chung <tausq@debian.org>
-
- * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
- as FFI_TYPE_SMALL_STRUCT3. Break out handling for 5-7 byte
- structures. Kill compilation warnings.
- (ffi_closure_inner_LINUX): Print return values as hex in debug
- message. Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
- Properly handle 5-7 byte structure returns.
- * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
- (FFI_TYPE_SMALL_STRUCT2): Remove.
- (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
- (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
- * src/pa/linux.S: Mark source file as using PA1.1 assembly.
- (checksmst1, checksmst2): Remove.
- (checksmst3): Optimize handling of 3-byte struct returns.
- (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libgcj/21943
- * src/mips/n32.S: Enforce PIC code.
- * src/mips/o32.S: Likewise.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
- * configure: Regenerate.
-
-2005-06-01 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
- to call ffi_closure_helper_SYSV. Append @local instead.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
- Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
- * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
- * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
- include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-05-08 Richard Henderson <rth@redhat.com>
-
- PR libffi/21285
- * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04 Andreas Degert <ad@papyrus-gmbh.de>
- Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
- bit 11 of flags.
- (ffi_call): Mask return type field. Pass ssecount to ffi_call_unix64.
- (ffi_prep_closure): Set carry bit if sse-used flag set.
- * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
- Only load sse registers if ssecount non-zero.
- (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
- powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
- * configure: Regenerate.
-
-2005-04-20 Hans-Peter Nilsson <hp@axis.com>
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
- have Tcl8.3-compatible intermediate variable.
-
-2005-04-18 Simon Posnjak <simon.posnjak@siol.net>
- Hans-Peter Nilsson <hp@axis.com>
-
- * Makefile.am: Add CRIS support.
- * configure.ac: Likewise.
- * Makefile.in, configure, testsuite/Makefile.in,
- include/Makefile.in: Regenerate.
- * src/cris: New directory.
- * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
- * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
- \r?\n in output tests.
-
-2005-04-12 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-03-30 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30 Steve Ellcey <sje@cup.hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
- (ffi_sarg) Ditto.
- * src/ia64/unix.S (ffi_closure_unix): Extend gp
- to 64 bits in ILP32 mode.
- Load 64 bits even for short data.
-
-2005-03-23 Mike Stump <mrs@apple.com>
-
- * src/powerpc/darwin.S: Update for -m64 multilib.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21 Zack Weinberg <zack@codesourcery.com>
-
- * 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.
-
-2005-02-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
- odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR libffi/20104
- * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11 Janis Johnson <janis187@us.ibm.com>
-
- * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
- * testsuite/libffi.call/float.c: Ditto.
- * testsuite/libffi.call/float2.c: Ditto.
- * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * testsuite/libffi.special/special.exp (cxx_options): Add
- -shared-libgcc.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
- (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
- offset parameters with a type parameter; deduce size and structure
- alignment. Update all users.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
- (FFI_TYPE_LONGDOUBLE): Fix for ia64.
- * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
- into ffi_prep_closure.
- * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
- from scratch.
-
-2004-12-27 Richard Henderson <rth@redhat.com>
-
- * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25 Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
- (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
- (merge_classes): Check for it.
- (SSE_CLASS_P): New.
- (classify_argument): Pass byte_offset by value; perform all updates
- inside struct case.
- (examine_argument): Add classes argument; handle
- X86_64_COMPLEX_X87_CLASS.
- (ffi_prep_args): Merge into ...
- (ffi_call): ... here. Share stack frame with ffi_call_unix64.
- (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
- (ffi_fill_return_value): Remove.
- (ffi_prep_closure): Remove dead assert.
- (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
- Rewrite to use struct register_args instead of va_list. Create
- flags for handling structure returns.
- * src/x86/unix64.S: Remove dead strings.
- (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share
- stack frame with ffi_call. Handle structure returns properly.
- (float2sse, floatfloat2sse, double2sse): Remove.
- (sse2float, sse2double, sse2floatfloat): Remove.
- (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite
- to handle structure returns properly.
-
-2004-12-08 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
- PICFLAG.
- * Makefile.in: Regenerated.
-
-2004-12-02 Richard Sandiford <rsandifo@redhat.com>
-
- * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
- * configure, aclocal.m4, Makefile.in: Regenerate.
- * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-25 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool reversion.
-
-2004-11-24 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23 Richard Sandiford <rsandifo@redhat.com>
-
- * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
- of jal. Use an absolute encoding for the frame information.
-
-2004-11-23 Kelley Cook <kcook@gcc.gnu.org>
-
- * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS.
- * acinclude.m4: Delete logic for sincludes.
- * aclocal.m4, Makefile.in, configure: Regenerate.
- * include/Makefile: Likewise.
- * testsuite/Makefile: Likewise.
-
-2004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
- on a 8-byte boundary.
- * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
- long long values. Round stack allocation to a multiple of 8 bytes
- for ATPCS compatibility.
- * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
- names. Handle returning long long types. Add Thumb and interworking
- support. Improve soft-float code.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
- (libffi_exit): New function.
- (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR other/18138
- * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
- * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
- the function returning a structure pointed with R2.
- * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
- the structure return value if T bit set. Emit position
- independent code and EH data if PIC.
-
-2004-10-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * Makefile.am: Add m32r support.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * confiugre: Regenerate.
- * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
- (uint64, sint64, double, longdouble)
- * src/m32r: New directory.
- * src/m32r/ffi.c: New file.
- * src/m32r/sysv.S: Likewise.
- * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * testsuite/libffi.call/negint.c: New test case.
-
-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.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/many_win32.c: Remove whitespaces.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
- whitespaces.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Fix comments and identation.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
- (ffi_prep_args): Handle longdouble arguments.
- (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
- longdouble.
- (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
- * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
- values.
- * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
- * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/aix.S: Remove whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
- * src/powerpc/asm.h: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffitarget.h: Likewise.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
-
-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.in: Read configure.host.
- * 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 shouldn't 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.
-
-2004-08-24 David Daney <daney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
- to zero.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23 David Daney <daney@avtrex.com>
-
- PR libgcj/13141
- * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
- * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
- (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
- parameters and return types.
- (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
- (ffi_prep_closure): Ditto.
- (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
- alignment calculations.
- * src/mips/o32.S (ffi_closure_O32): Don't use floating point
- instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14 Casey Marshall <csm@gnu.org>
-
- * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
- contain `FFI_TYPE_UINT64' as return type for any 64-bit
- integer (O32 ABI only).
- (ffi_prep_closure): new function.
- (ffi_closure_mips_inner_O32): new function.
- * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
- `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
- * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
- 64 bit integers correctly.
- (ffi_closure_O32): new function.
- Added DWARF-2 unwind info for both functions.
-
-2004-08-10 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01 Robert Millan <robertmh@gnu.org>
-
- * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
- * configure: Regenerate.
-
-2004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
-
- * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
- and mmap() explicitly instead of relying on preset autoconf cache
- variables.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
- (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
- character on Darwin, use '\n\t' instead.
-
-2004-06-26 Matthias Klose <doko@debian.org>
-
- * libtool-version: Fix typo in revision/age.
-
-2004-06-17 Matthias Klose <doko@debian.org>
-
- * libtool-version: New.
- * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
- * Makefile.in: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * Makefile.am: Remove useless multilib rules.
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate with automake 1.8.5.
- * configure.ac: Remove useless multilib configury.
- * configure: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * .cvsignore: New file.
-
-2004-06-10 Jakub Jelinek <jakub@redhat.com>
-
- * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
- fp_done.
- (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
- changed from 8.
-
-2004-06-06 Sean McNeil <sean@mcneil.com>
-
- * configure.ac: Add x86_64-*-freebsd* support.
- * configure: Regenerate.
-
-2004-04-26 Joe Buck <jbuck@welsh-buck.org>
-
- Bug 15093
- * configure.ac: Test for existence of mmap and sys/mman.h before
- checking blacklist. Fix suggested by Jim Wilson.
- * configure: Regenerate.
-
-2004-04-26 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
- FDE location.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
- error. Reported by Thomas Heller <theller@python.net>.
- * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20 Matthias Klose <doko@debian.org>
-
- * src/pa/linux.S: Fix typo.
-
-2004-03-19 Matthias Klose <doko@debian.org>
-
- * Makefile.am: Update.
- * Makefile.in: Regenerate.
- * src/pa/ffi.h.in: Remove.
- * src/pa/ffitarget.h: New file.
-
-2004-02-10 Randolph Chung <tausq@debian.org>
-
- * Makefile.am: Add PA support.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * configure.ac: Add PA target.
- * configure: Regenerate.
- * src/pa/ffi.c: New file.
- * src/pa/ffi.h.in: Add PA support.
- * src/pa/linux.S: New file.
- * prep_cif.c: Add PA support.
-
-2004-03-16 Hosaka Yuji <hos@tamanegi.org>
-
- * src/types.c: Fix alignment size of X86_WIN32 case int64 and
- double.
- * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
- with ecif->cif->flags.
- (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
- with cif->flags.
- (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
- (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
- * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
- sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.in: Rename file to ...
- * configure.ac: ... this.
- * fficonfig.h.in: Regenerate.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2004-03-12 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Fix EH information so it corresponds to
- changes in EH format resulting from addition of linkonce support.
- * src/powerpc/darwin_closure.S: Likewise.
-
-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.
-
-2004-03-11 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
- arguments from fp registers only for the first 8 parameter slots.
- Don't convert a float parameter when passed in memory.
-
-2004-03-09 Hans-Peter Nilsson <hp@axis.com>
-
- * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
-
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
- ecif->cif->bytes to bytes.
- (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
- * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
- (ffi_closure_helper_LINUX64): Fix typo.
- * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
- for powerpc64-*-*.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
- long double function return and long double arg handling.
- (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
- Use "end_pfr" instead of "nf". Correct long double handling.
- Localise "temp".
- * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
- return value.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
- space for long double return value. Adjust stack frame and offsets.
- Load f2 long double return.
-
-2004-02-07 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
- when the structure return address is passed in %o0.
- (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
- (ffi_v9_layout_struct): Align the field following a nested structure
- on a word boundary. Use memmove instead of memcpy.
- (ffi_call): Update call to ffi_V9_return_struct.
- (ffi_prep_closure): Define 'ctx' only for V8.
- (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
- and ffi_closure_sparc_inner_v9.
- (ffi_closure_sparc_inner_v8): Return long doubles by reference.
- Always skip the structure return address. For structures and long
- doubles, copy the argument directly.
- (ffi_closure_sparc_inner_v9): Skip the structure return address only
- if required. Shift the maximum floating-point slot accordingly. For
- big structures, copy the argument directly; otherwise, left-justify the
- argument and call ffi_v9_layout_struct to lay out the structure on
- the stack.
- * src/sparc/v8.S: Undef STACKFRAME before defining it.
- (ffi_closure_v8): Pass the structure return address. Update call to
- ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
- Skip the 'unimp' insn when returning long doubles and structures.
- * src/sparc/v9.S: Undef STACKFRAME before defining it.
- (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
- FFI_TYPE_INT handling. Load structures both in integers and
- floating-point registers on return.
- * README: Update status of the SPARC port.
-
-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.
-
-2004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
-
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
- value as of type ffi_arg, not unsigned int.
-
-2004-01-21 Michael Ritzert <ritzert@t-online.de>
-
- * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
- of the LHS.
-
-2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
- Solaris.
-
-2004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
- to void *.
-
-2003-12-10 Richard Henderson <rth@redhat.com>
-
- * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
- size_t instead of int.
-
-2003-12-04 Hosaka Yuji <hos@tamanegi.org>
-
- * testsuite/libffi.call/many_win32.c: Include <float.h>.
- * testsuite/libffi.call/many_win32.c (main): Replace variable
- int i with unsigned long ul.
-
- * testsuite/libffi.call/cls_align_uint64.c: New test case.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02 Hosaka Yuji <hos@tamanegi.org>
-
- PR other/13221
- * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
- Align arguments to 32 bits.
-
-2003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR other/13221
- * testsuite/libffi.call/cls_multi_sshort.c: New test case.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-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.
-
-2003-11-21 Andreas Jaeger <aj@suse.de>
- Andreas Tobler <a.tobler@schweiz.ch>
-
- * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
- * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
- * Makefile.in: Rebuilt.
- * aclocal.m4: Likewise.
- * configure: Likewise.
- * fficonfig.h.in: Likewise.
- * testsuite/lib/libffi-dg.exp: Add include dir.
- * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
- for ffi_closure if available.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
- Add -lgcc_s to additional flags.
-
-2003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.in, include/Makefile.am: PR libgcj/11147, install
- the ffitarget.h header file in a gcc versioned and target
- dependent place.
- * configure: Regenerated.
- * Makefile.in, include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Print result and check
- with dg-output to make debugging easier.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
- static.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_9byte2.c: New test case.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_double.c: Do a check on the result.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/prep_cif.c (ffi_prep_cif): Move the validity check after
- the initialization.
-
-2003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
- FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
- __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-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
-
-2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
- _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
- Used when FFI_DEBUG = 1.
-
-2003-10-14 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
- and align.
-
-2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
- FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
- SPARC64. Cleanup whitespaces.
-
-2003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
- strongarm, xscale. Cleanup whitespaces.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Cleanup whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
- * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
- parameter stack.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
- according to the Darwin/AIX ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_DARWIN): Likewise.
- Remove the outgoing parameter stack logic. Simplify the evaluation
- of the different CASE types.
- (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
- statement in the trampoline code.
-
-2003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
- for the register size.
- (ffi_closure_helper_SYSV): Handle the structure return value
- address correctly.
- (ffi_closure_helper_SYSV): Return the appropriate type when
- the registers are used for the structure return value.
- * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
- the 64-bit return value. Update copyright years.
-
-2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
- srcdir for ffi_mips.h.
-
-2003-09-12 Alan Modra <amodra@bigpond.net.au>
-
- * src/prep_cif.c (initialize_aggregate): Include tail padding in
- structure size.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
- placement of float result.
- * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
- cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Merge identical SH and ARM
- typedefs, and add POWERPC64.
- * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
- struct split over gpr and rest.
- (ffi_prep_cif_machdep): Correct intarg_count for structures.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
- passing correctly.
-
-2003-09-09 Alan Modra <amodra@bigpond.net.au>
-
- * configure: Regenerate.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Remove build rules for ffitest.
- * Makefile.in: Rebuilt.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
- about implicit declaration of abort().
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
- * Makefile.in: Rebuilt.
- * configure.in: Add dejagnu test framework.
- * configure: Rebuilt.
-
- * testsuite/Makefile.am: New file.
- * testsuite/Makefile.in: Built
- * testsuite/lib/libffi-dg.exp: New file.
- * testsuite/config/default.exp: Likewise.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Likewise.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float1.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/many.c: Likewise.
- * testsuite/libffi.call/many_win32.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
- * testsuite/libffi.call/strlen.c: Likewise.
- * testsuite/libffi.call/strlen_win32.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
- * testsuite/libffi.call/struct2.c: Likewise.
- * testsuite/libffi.call/struct3.c: Likewise.
- * testsuite/libffi.call/struct4.c: Likewise.
- * testsuite/libffi.call/struct5.c: Likewise.
- * testsuite/libffi.call/struct6.c: Likewise.
- * testsuite/libffi.call/struct7.c: Likewise.
- * testsuite/libffi.call/struct8.c: Likewise.
- * testsuite/libffi.call/struct9.c: Likewise.
- * testsuite/libffi.special/special.exp: New file.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
- copyright years.
-
-2003-08-02 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
- structure passing.
- (ffi_closure_helper_LINUX64): Likewise.
- * src/powerpc/linux64.S: Remove code writing to parm save area.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
- address in lr from ffi_closure_helper_LINUX64 call to calculate
- table address. Optimize function tail.
-
-2003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/sparc/ffi.c: Handle all floating point registers.
- * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
-
- * README: Note that libffi is not part of GCC. Update the project
- URL and status.
-
-2003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
- Use C style comments.
-
-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
- should be read-only.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * include/ffi.h.in (EH_FRAME_FLAGS): Define.
- * src/alpha/osf.S: Use EH_FRAME_FLAGS.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
- * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
- if -fpic/-fPIC/-mrelocatable.
- * src/powerpc/powerpc_closure.S: Likewise.
- * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
- #write in .eh_frame flags.
- * src/sparc/v9.S: Likewise.
- * src/x86/unix64.S: Use EH_FRAME_FLAGS.
- * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
- * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
-
-2003-05-07 Jeff Sturm <jsturm@one-point.com>
-
- Fixes PR bootstrap/10656
- * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
- support for .register pseudo-op.
- * src/sparc/v8.S: Use it.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2003-04-18 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (POWERPC64): Define if 64-bit.
- (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
- Make it the default on POWERPC64.
- (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
- * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
- * configure: Rebuilt.
- * src/powerpc/ffi.c (hidden): Define.
- (ffi_prep_args_SYSV): Renamed from
- ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
- (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
- ASM_NEEDS_REGISTERS64): New.
- (ffi_prep_args64): New function.
- (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
- (ffi_call): Likewise.
- (ffi_prep_closure): Likewise.
- (flush_icache): Surround by #ifndef POWERPC64.
- (ffi_dblfl): New union type.
- (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
- (ffi_closure_helper_LINUX64): New function.
- * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
- __powerpc64__.
- * src/powerpc/sysv.S: Likewise.
- (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
- * src/powerpc/linux64.S: New file.
- * src/powerpc/linux64_closure.S: New file.
- * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
- src/powerpc/linux64_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
- * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
- closure_test_fn3): Fix result printing on big-endian 64-bit
- machines.
- (main): Print tst2_arg instead of uninitialized tst2_result.
-
- * src/ffitest.c (main): Hide what closure pointer really points to
- from the compiler.
-
-2003-04-16 Richard Earnshaw <rearnsha@arm.com>
-
- * configure.in (arm-*-netbsdelf*): Add configuration.
- (configure): Regenerated.
-
-2003-04-04 Loren J. Rittle <ljrittle@acm.org>
-
- * include/Makefile.in: Regenerate.
-
-2003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
-
- * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
- bit mode.
- * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
- Receive closure pointer through parameter, read args using
- __builtin_dwarf_cfa.
- (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12 Andreas Schwab <schwab@suse.de>
-
- * configure.in: Avoid trailing /. in toolexeclibdir.
- * configure: Rebuilt.
-
-2003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/powerpc/darwin_closure.S:
- Fix alignement bug, allocate 8 bytes for the result.
- * libffi/src/powerpc/aix_closure.S:
- Likewise.
- * libffi/src/powerpc/ffi_darwin.c:
- Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06 Jakub Jelinek <jakub@redhat.com>
-
- * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
- attribute.
-
-2003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
- Andreas Schwab <schwab@suse.de>
-
- * configure.in: Adjust command to source config-ml.in to account
- for changes to the libffi_basedir definition.
- (libffi_basedir): Remove ${srcdir} from value and include trailing
- slash if nonempty.
-
- * configure: Regenerate.
-
-2003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
- * src/x86/ffi64.c (ffi_prep_closure): New.
- (ffi_closure_UNIX64_inner): New.
- * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
- Remove USE_LIBDIR conditional.
- * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
- * Makefile.in, configure: Rebuilt.
-
-2003-01027 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
- * Makefile.in: Regenerate.
-
-2003-01-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
- unwind info.
-
-2003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Add unwind info.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
- (ffi_prep_cif_machdep): Likewise.
- * src/x86/unix64.S: Add unwind info.
-
-2003-01-14 Andreas Jaeger <aj@suse.de>
-
- * src/ffitest.c (main): Only use ffi_closures if those are
- supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/ffitest.c
- add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
- * libffi/src/powerpc/ffi.c
- fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c: Remove RCS version string.
- * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
- * src/ffitest.c (main): Use static storage for closure.
- * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
- * src/sparc/v8.S (ffi_closure_v8): New.
- * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10 Ranjit Mathew <rmathew@hotmail.com>
-
- * include/ffi.h.in: Added FFI_STDCALL ffi_type
- enumeration for X86_WIN32.
- * src/x86/win32.S: Added ffi_call_STDCALL function
- definition.
- * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
- switch cases for recognising FFI_STDCALL and
- calling ffi_call_STDCALL if target is X86_WIN32.
- * src/ffitest.c (my_stdcall_strlen/stdcall_many):
- stdcall versions of the "my_strlen" and "many"
- test functions (for X86_WIN32).
- Added test cases to test stdcall invocation using
- these functions.
-
-2002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26 Jim Wilson <wilson@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23 H.J. Lu <hjl@gnu.org>
-
- * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
- Include ../config/accross.m4.
- * aclocal.m4; Rebuild.
- * configure: Likewise.
-
-2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11 DJ Delorie <dj@redhat.com>
-
- * configure.in: Look for common files in the right place.
-
-2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
- raw data as _Jv_word values, not ffi_raw.
- (ffi_java_ptrarray_to_raw): Likewise.
- (ffi_java_rvalue_to_raw): New function.
- (ffi_java_raw_call): Call it.
- (ffi_java_raw_to_rvalue): New function.
- (ffi_java_translate_args): Call it.
- * src/ffitest.c (closure_test_fn): Interpret return value
- as ffi_arg, not int.
- * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
- FFI_TYPE_POINTER case.
- (ffi_closure_helper_SYSV): Likewise. Also, assume return
- values extended to word size.
-
-2002-10-02 Andreas Jaeger <aj@suse.de>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01 Bo Thorsen <bo@smetana.suse.de>
-
- * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
-
- * configure.in: Add s390x-*-linux-* target.
- * configure: Regenerate.
- * include/ffi.h.in: Define S390X for s390x targets.
- (FFI_CLOSURES): Define for s390/s390x.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
- * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
- * src/s390/ffi.c: Major rework of existing code. Add support for
- s390x targets. Add closure support.
- * src/s390/sysv.S: Likewise.
-
-2002-09-29 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: Fix typo.
-
-2002-09-28 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
- has defined __USER_LABEL_PREFIX__, then use it in CNAME.
- (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27 Bo Thorsen <bo@suse.de>
-
- * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * configure.in (sh[34]*-*-linux*): Add brackets.
- * configure: Regenerate.
-
-2002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * Makefile.am: Add SH support.
- * Makefile.in: Regenerate.
- * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
- * configure: Regenerate.
- * include/ffi.h.in: Add SH support.
- * src/sh/ffi.c: New file.
- * src/sh/sysv.S: New file.
- * src/types.c: Add SH support.
-
-2002-07-16 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi64.c: New file that adds x86-64 support.
- * src/x86/unix64.S: New file that handles argument setup for
- x86-64.
- * src/x86/sysv.S: Don't use this on x86-64.
- * src/x86/ffi.c: Don't use this on x86-64.
- Remove unused vars.
- * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
- for x86-64.
- * src/ffitest.c (struct6): New test that tests a special case in
- the x86-64 ABI.
- (struct7): Likewise.
- (struct8): Likewise.
- (struct9): Likewise.
- (closure_test_fn): Silence warning about this when it's not used.
- (main): Add the new tests.
- (main): Fix a couple of wrong casts and silence some compiler warnings.
- * include/ffi.h.in: Add x86-64 ABI definition.
- * fficonfig.h.in: Regenerate.
- * Makefile.am: Add x86-64 support.
- * configure.in: Likewise.
- * Makefile.in: Regenerate.
- * configure: Likewise.
-
-2002-06-24 Bo Thorsen <bo@suse.de>
-
- * src/types.c: Merge settings for similar architectures.
- Add x86-64 sizes and alignments.
-
-2002-06-23 Bo Thorsen <bo@suse.de>
-
- * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
- * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
- * src/mips/ffi.c (ffi_prep_args): Likewise.
- * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18 H.J. Lu (hjl@gnu.org)
-
- * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
- (libffi_la_SOURCES): Support MIPS_LINUX.
- (libffi_convenience_la_SOURCES): Likewise.
- * Makefile.in: Regenerated.
-
- * configure.in (mips64*-*): Skip.
- (mips*-*-linux*): New.
- * configure: Regenerated.
-
- * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
-
-2002-05-27 Roger Sayle <roger@eyesopen.com>
-
- * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
- fix formatting.
-
-2002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
- beginning of function (for older apple cc).
-
-2002-05-08 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
- script entry, and set LD to it when configuring multilibs.
- * configure: Rebuilt.
-
-2002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (sparc64-*-netbsd*): Add target.
- (sparc-*-netbsdelf*): Likewise.
- * configure: Regenerate.
-
-2002-04-28 David S. Miller <davem@redhat.com>
-
- * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
-
- * Makefile.am: Add Linux for S/390 support.
- * Makefile.in: Regenerate.
- * configure.in: Add Linux for S/390 support.
- * configure: Regenerate.
- * include/ffi.h.in: Add Linux for S/390 support.
- * src/s390/ffi.c: New file from libffi CVS tree.
- * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
- %r_disp32().
- * src/sparc/v8.S: Use it.
- * src/sparc/v9.S: Likewise.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2002-04-08 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
- correctly.
- * src/ia64/unix.S: Add unwind information. Fix comments.
- Save sp in a way that's compatible with unwind info.
- (ffi_call_unix): Correctly restore sp in all cases.
- * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08 Jakub Jelinek <jakub@redhat.com>
-
- * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (alpha*-*-netbsd*): Add target.
- * configure: Regenerate.
-
-2002-04-04 Jeff Sturm <jsturm@one-point.com>
-
- * src/sparc/v8.S: Add unwind info.
- * src/sparc/v9.S: Likewise.
-
-2002-03-30 Krister Walfridsson <cato@df.lth.se>
-
- * configure.in: Enable i*86-*-netbsdelf*.
- * configure: Rebuilt.
-
-2002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
-
- PR other/2620
- * src/mips/n32.s: Delete
- * src/mips/o32.s: Delete
-
-2002-03-21 Loren J. Rittle <ljrittle@acm.org>
-
- * configure.in: Enable alpha*-*-freebsd*.
- * configure: Rebuilt.
-
-2002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * Makefile.am: libfficonvenience -> libffi_convenience.
- * Makefile.in: Rebuilt.
-
- * Makefile.am: Define ffitest_OBJECTS.
- * Makefile.in: Rebuilt.
-
-2002-03-07 Andreas Tobler <toa@pop.agri.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
- (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
- (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
- * Makefile.in: Regenerate.
- * include/ffi.h.in: Add AIX and Darwin closure definitions.
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
- (flush_icache, flush_range): New functions.
- (ffi_closure_helper_DARWIN): New function.
- * src/powerpc/aix_closure.S: New file.
- * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add typedef for ffi_arg.
- * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21 Andreas Tobler <toa@pop.agri.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
- number of GPRs for floating-point arguments.
-
-2002-01-31 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Replace CHECK_SIZEOF and endian tests with
- cross-compiler friendly macros.
- * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
- macros.
-
-2002-01-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): New.
- * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
- (TARGET_SRC_POWERPC_AIX): New.
- (POWERPC_AIX): New stanza.
- * Makefile.in: Regenerate.
- * configure.in: Add AIX case.
- * configure: Regenerate.
- * include/ffi.h.in (ffi_abi): Add FFI_AIX.
- * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
- size. Fix "long double" support.
- (ffi_call): Add FFI_AIX case.
- * src/powerpc/aix.S: New.
-
-2001-10-09 John Hornkvist <john@toastedmarshmallow.com>
-
- Implement Darwin PowerPC ABI.
- * configure.in: Handle powerpc-*-darwin*.
- * Makefile.am: Set source files for POWERPC_DARWIN.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
- * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
- POWERPC_DARWIN.
- * src/powerpc/darwin.S: New file.
- * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .balign directive.
- Use C style comments.
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
- Fixes PR bootstrap/3563.
-
-2001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.in: Recognize sparc*-sun-* host.
- * configure: Regenerate.
-
-2001-06-06 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S: Add unwind info.
- * src/powerpc/sysv.S: Add unwind info.
- * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31 Jeff Sturm <jsturm@one-point.com>
-
- * configure.in: Fix AC_ARG_ENABLE usage.
- * configure: Rebuilt.
-
-2001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * configure.in: Remove warning about beta code.
- * configure: Rebuilt.
-
-2001-04-25 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/ia64/unix.S: Restore stack pointer when returning from
- ffi_closure_UNIX.
- * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18 Jim Wilson <wilson@redhat.com>
-
- * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
- to eliminate RAW DV.
-
-2001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
-
- * Makefile.am: Make a libtool convenience library.
- * Makefile.in: Rebuilt.
-
-2001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Use different syntax for subdirectory creation.
- * configure: Rebuilt.
-
-2001-03-27 Jon Beniston <jon@beniston.com>
-
- * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
- * configure: Rebuilt.
- * Makefile.am: Added X86_WIN32 target support.
- * Makefile.in: Rebuilt.
-
- * include/ffi.h.in: Added X86_WIN32 target support.
-
- * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
- * src/types.c: Added X86_WIN32 target support.
-
- * src/x86/win32.S: New file. Based on sysv.S, but with EH
- stuff removed and made to work with CygWin's gas.
-
-2001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Make target subdirectory in build dir.
- * Makefile.am: Override suffix based rules to specify correct output
- subdirectory.
- * Makefile.in: Rebuilt.
- * configure: Rebuilt.
-
-2001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
-
- * src/powerpc/ppc_closure.S: New file.
- * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
- involving long long and register pairs.
- (ffi_prep_closure): New function.
- (flush_icache): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * Makefile.in: Rebuilt.
- * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19 Tom Tromey <tromey@redhat.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02 Nick Clifton <nickc@redhat.com>
-
- * include/ffi.h.in: Remove RCS ident string.
- * include/ffi_mips.h: Remove RCS ident string.
- * src/debug.c: Remove RCS ident string.
- * src/ffitest.c: Remove RCS ident string.
- * src/prep_cif.c: Remove RCS ident string.
- * src/types.c: Remove RCS ident string.
- * src/alpha/ffi.c: Remove RCS ident string.
- * src/alpha/osf.S: Remove RCS ident string.
- * src/arm/ffi.c: Remove RCS ident string.
- * src/arm/sysv.S: Remove RCS ident string.
- * src/mips/ffi.c: Remove RCS ident string.
- * src/mips/n32.S: Remove RCS ident string.
- * src/mips/o32.S: Remove RCS ident string.
- * src/sparc/ffi.c: Remove RCS ident string.
- * src/sparc/v8.S: Remove RCS ident string.
- * src/sparc/v9.S: Remove RCS ident string.
- * src/x86/ffi.c: Remove RCS ident string.
- * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * include/ffi.h.in: Change sourceware.cygnus.com references to
- gcc.gnu.org.
-
-2000-12-09 Richard Henderson <rth@redhat.com>
-
- * src/alpha/ffi.c (ffi_call): Simplify struct return test.
- (ffi_closure_osf_inner): Index rather than increment avalue
- and arg_types. Give ffi_closure_osf the raw return value type.
- * src/alpha/osf.S (ffi_closure_osf): Handle return value type
- promotion.
-
-2000-12-07 Richard Henderson <rth@redhat.com>
-
- * src/raw_api.c (ffi_translate_args): Fix typo.
- (ffi_prep_closure): Likewise.
-
- * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
- FFI_TRAMPOLINE_SIZE.
- * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
- cif->bytes for new ffi_call_osf implementation.
- (ffi_prep_args): Absorb into ...
- (ffi_call): ... here. Do all stack allocation here and
- avoid a callback function.
- (ffi_prep_closure, ffi_closure_osf_inner): New.
- * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
- (ffi_closure_osf): New.
-
-2000-09-10 Alexandre Oliva <aoliva@redhat.com>
-
- * config.guess, config.sub, install-sh: Removed.
- * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
- * Makefile.in: Rebuilt.
-
- * acinclude.m4: Include libtool macros from the top level.
- * aclocal.m4, configure: Rebuilt.
-
-2000-08-22 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
- * configure: Rebuilt.
-
-2000-05-11 Scott Bambrough <scottb@netwinder.org>
-
- * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
- memory correctly. Use conditional instructions, not branches where
- possible.
-
-2000-05-04 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Match `arm*-*-linux-*'.
- From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (SUBDIRS): Define.
- (AM_MAKEFLAGS): Likewise.
- (Multilib support.): Add section.
- * Makefile.in: Rebuilt.
- * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
- New variables. Set for gcc using -print-multi-lib. Export them
- to libtool.
- (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
- * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
- for -shared links.
- (extra_compiler_flags_value, extra_compiler_flags): Check these
- for extra compiler options which need to be passed down in
- compiler_flags.
-
-2000-04-16 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
- Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
- * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
- Replace all void * sizeofs with sizeof(int).
- Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
- different than DOUBLE.
- Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
- (ffi_prep_args_v9): New function.
- (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
- (ffi_V9_return_struct): New function.
- (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
- 32bit code (not yet cross-arch calls).
- * src/sparc/v8.S: Add struct return delay nop.
- Handle long long.
- * src/sparc/v9.S: New file.
- * src/prep_cif.c (ffi_prep_cif): Return structure pointer
- is used on sparc64 only for structures larger than 32 bytes.
- Pass by reference for structures is done for structure arguments
- larger than 16 bytes.
- * src/ffitest.c (main): Use 64bit rint on sparc64.
- Run long long tests on sparc.
- * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
- sparc64.
- (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
- on sparc64.
- * configure.in (sparc-*-linux*): New supported target.
- (sparc64-*-linux*): Likewise.
- * configure: Rebuilt.
- * Makefile.am: Add v9.S to SPARC files.
- * Makefile.in: Likewise.
- (LINK): Surround $(CCLD) into double quotes, so that multilib
- compiles work correctly.
-
-2000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: (i*86-*-solaris*): New libffi target. Patch
- proposed by Bryce McKinlay.
-
-2000-03-20 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
-
- * config.guess, config.sub: Update from the gcc tree.
- Fix for PR libgcj/168.
-
-2000-03-03 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Fixed ia64 by hand.
-
- * configure: Rebuilt.
- * configure.in (--enable-multilib): New option.
- (libffi_basedir): New subst.
- (AC_OUTPUT): Added multilib code.
-
-2000-03-02 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
- directory name.
-
-2000-02-25 Hans Boehm <boehm@acm.org>
-
- * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
- files.
- * src/raw_api.c (ffi_translate_args): Fixed typo in argument
- list.
- (ffi_prep_raw_closure): Use ffi_translate_args, not
- ffi_closure_translate.
- * src/java_raw_api.c: New file.
- * src/ffitest.c (closure_test_fn): New function.
- (main): Define `rint' as long long on IA64. Added new test when
- FFI_CLOSURES is defined.
- * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
- (ffi_abi): Recognize IA64.
- (ffi_raw): Added `flt' field.
- Added "Java raw API" code.
- * configure.in: Recognize ia64.
- * Makefile.am (TARGET_SRC_IA64): New macro.
- (libffi_la_common_SOURCES): Added java_raw_api.c.
- (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01 Tom Tromey <tromey@cygnus.com>
-
- * include/ffi.h.in: Removed PACKAGE and VERSION defines and
- undefs.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
- * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
- Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
- * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09 Anthony Green <green@cygnus.com>
-
- * include/ffi.h.in: Try to work around messy header problem
- with PACKAGE and VERSION.
-
- * configure: Rebuilt.
- * configure.in: Change version to 2.00-beta.
-
- * fficonfig.h.in: Rebuilt.
- * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
- * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
-
- * src/x86/ffi.c (ffi_closure_SYSV): New function.
- (ffi_prep_incoming_args_SYSV): Ditto.
- (ffi_prep_closure): Ditto.
- (ffi_closure_raw_SYSV): Ditto.
- (ffi_prep_raw_closure): More ditto.
- (ffi_call_raw): Final ditto.
-
- * include/ffi.h.in: Add definitions for closure and raw API.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
- FFI_TYPE_UINT64.
-
- * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
- * src/raw_api.c: New file.
-
- * include/ffi.h.in (ffi_raw): New type.
- (UINT_ARG, SINT_ARG): New defines.
- (ffi_closure, ffi_raw_closure): New types.
- (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
- * configure.in: Add check for endianness and sizeof void*.
-
- * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
- instead of directly.
-
- * configure: Rebuilt.
-
-Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
-
- * configure.in: Add x86 and powerpc BeOS configurations.
- From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09 Anthony Green <green@cygnus.com>
-
- * configure.in: Add warning about this being beta code.
- Remove src/Makefile.am from the picture.
- * configure: Rebuilt.
-
- * Makefile.am: Move logic from src/Makefile.am. Add changes
- to support libffi as a target library.
- * Makefile.in: Rebuilt.
-
- * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
- Upgraded to new autoconf, automake, libtool.
-
- * README: Tweaks.
-
- * LICENSE: Update copyright date.
-
- * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29 Anthony Green <green@cygnus.com>
-
- * include/ChangeLog: Removed.
- * src/ChangeLog: Removed.
- * src/mips/ChangeLog: Removed.
- * src/sparc/ChangeLog: Remboved.
- * src/x86/ChangeLog: Removed.
-
- * ChangeLog.v1: Created.
diff --git a/.pc/win64-underscore/aclocal.m4 b/.pc/win64-underscore/aclocal.m4
deleted file mode 100644
index 27e85bd..0000000
--- a/.pc/win64-underscore/aclocal.m4
+++ /dev/null
@@ -1,1055 +0,0 @@
-# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-m4_ifndef([AC_AUTOCONF_VERSION],
- [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.68],,
-[m4_warning([this file was generated for autoconf 2.68.
-You have another version of autoconf. It may work, but is not guaranteed to.
-If you have problems, you may need to regenerate the build system entirely.
-To do so, use the procedure documented by the package, typically `autoreconf'.])])
-
-# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_AUTOMAKE_VERSION(VERSION)
-# ----------------------------
-# Automake X.Y traces this macro to ensure aclocal.m4 has been
-# generated from the m4 files accompanying Automake X.Y.
-# (This private macro should not be called outside this file.)
-AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.11'
-dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
-dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.11.1], [],
- [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
-])
-
-# _AM_AUTOCONF_VERSION(VERSION)
-# -----------------------------
-# aclocal traces this macro to find the Autoconf version.
-# This is a private macro too. Using m4_define simplifies
-# the logic in aclocal, which can simply ignore this definition.
-m4_define([_AM_AUTOCONF_VERSION], [])
-
-# AM_SET_CURRENT_AUTOMAKE_VERSION
-# -------------------------------
-# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
-# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
-AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11.1])dnl
-m4_ifndef([AC_AUTOCONF_VERSION],
- [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
-
-# Figure out how to run the assembler. -*- Autoconf -*-
-
-# Copyright (C) 2001, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 5
-
-# AM_PROG_AS
-# ----------
-AC_DEFUN([AM_PROG_AS],
-[# By default we simply use the C compiler to build assembly code.
-AC_REQUIRE([AC_PROG_CC])
-test "${CCAS+set}" = set || CCAS=$CC
-test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
-AC_ARG_VAR([CCAS], [assembler compiler command (defaults to CC)])
-AC_ARG_VAR([CCASFLAGS], [assembler compiler flags (defaults to CFLAGS)])
-_AM_IF_OPTION([no-dependencies],, [_AM_DEPENDENCIES([CCAS])])dnl
-])
-
-# AM_AUX_DIR_EXPAND -*- Autoconf -*-
-
-# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
-# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
-#
-# Of course, Automake must honor this variable whenever it calls a
-# tool from the auxiliary directory. The problem is that $srcdir (and
-# therefore $ac_aux_dir as well) can be either absolute or relative,
-# depending on how configure is run. This is pretty annoying, since
-# it makes $ac_aux_dir quite unusable in subdirectories: in the top
-# source directory, any form will work fine, but in subdirectories a
-# relative path needs to be adjusted first.
-#
-# $ac_aux_dir/missing
-# fails when called from a subdirectory if $ac_aux_dir is relative
-# $top_srcdir/$ac_aux_dir/missing
-# fails if $ac_aux_dir is absolute,
-# fails when called from a subdirectory in a VPATH build with
-# a relative $ac_aux_dir
-#
-# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
-# are both prefixed by $srcdir. In an in-source build this is usually
-# harmless because $srcdir is `.', but things will broke when you
-# start a VPATH build or use an absolute $srcdir.
-#
-# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
-# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
-# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
-# and then we would define $MISSING as
-# MISSING="\${SHELL} $am_aux_dir/missing"
-# This will work as long as MISSING is not called from configure, because
-# unfortunately $(top_srcdir) has no meaning in configure.
-# However there are other variables, like CC, which are often used in
-# configure, and could therefore not use this "fixed" $ac_aux_dir.
-#
-# Another solution, used here, is to always expand $ac_aux_dir to an
-# absolute PATH. The drawback is that using absolute paths prevent a
-# configured tree to be moved without reconfiguration.
-
-AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-])
-
-# AM_CONDITIONAL -*- Autoconf -*-
-
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 9
-
-# AM_CONDITIONAL(NAME, SHELL-CONDITION)
-# -------------------------------------
-# Define a conditional.
-AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
- [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
-AC_SUBST([$1_TRUE])dnl
-AC_SUBST([$1_FALSE])dnl
-_AM_SUBST_NOTMAKE([$1_TRUE])dnl
-_AM_SUBST_NOTMAKE([$1_FALSE])dnl
-m4_define([_AM_COND_VALUE_$1], [$2])dnl
-if $2; then
- $1_TRUE=
- $1_FALSE='#'
-else
- $1_TRUE='#'
- $1_FALSE=
-fi
-AC_CONFIG_COMMANDS_PRE(
-[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
- AC_MSG_ERROR([[conditional "$1" was never defined.
-Usually this means the macro was only invoked conditionally.]])
-fi])])
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 10
-
-# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
-# written in clear, in which case automake, when reading aclocal.m4,
-# will think it sees a *use*, and therefore will trigger all it's
-# C support machinery. Also note that it means that autoscan, seeing
-# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
-
-
-# _AM_DEPENDENCIES(NAME)
-# ----------------------
-# See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "GCJ", or "OBJC".
-# We try a few techniques and use that to set a single cache variable.
-#
-# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
-# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
-# dependency, and given that the user is not expected to run this macro,
-# just rely on AC_PROG_CC.
-AC_DEFUN([_AM_DEPENDENCIES],
-[AC_REQUIRE([AM_SET_DEPDIR])dnl
-AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
-AC_REQUIRE([AM_MAKE_INCLUDE])dnl
-AC_REQUIRE([AM_DEP_TRACK])dnl
-
-ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
- [$1], CXX, [depcc="$CXX" am_compiler_list=],
- [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
- [$1], UPC, [depcc="$UPC" am_compiler_list=],
- [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
- [depcc="$$1" am_compiler_list=])
-
-AC_CACHE_CHECK([dependency style of $depcc],
- [am_cv_$1_dependencies_compiler_type],
-[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_$1_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
- fi
- am__universal=false
- m4_case([$1], [CC],
- [case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac],
- [CXX],
- [case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac])
-
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs
- am__obj=sub/conftest.${OBJEXT-o}
- am__minus_obj="-o $am__obj"
- case $depmode in
- gcc)
- # This depmode causes a compiler race in universal mode.
- test "$am__universal" = false || continue
- ;;
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- msvisualcpp | msvcmsys)
- # This compiler won't grok `-c -o', but also, the minuso test has
- # not run yet. These depmodes are late enough in the game, and
- # so weak that their functioning should not be impacted.
- am__obj=conftest.${OBJEXT-o}
- am__minus_obj=
- ;;
- none) break ;;
- esac
- if depmode=$depmode \
- source=sub/conftest.c object=$am__obj \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_$1_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_$1_dependencies_compiler_type=none
-fi
-])
-AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
-AM_CONDITIONAL([am__fastdep$1], [
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
-])
-
-
-# AM_SET_DEPDIR
-# -------------
-# Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES
-AC_DEFUN([AM_SET_DEPDIR],
-[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
-])
-
-
-# AM_DEP_TRACK
-# ------------
-AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE(dependency-tracking,
-[ --disable-dependency-tracking speeds up one-time build
- --enable-dependency-tracking do not reject slow dependency extractors])
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
-fi
-AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
-AC_SUBST([AMDEPBACKSLASH])dnl
-_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
-])
-
-# Generate code to set up dependency tracking. -*- Autoconf -*-
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-#serial 5
-
-# _AM_OUTPUT_DEPENDENCY_COMMANDS
-# ------------------------------
-AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-[{
- # Autoconf 2.62 quotes --file arguments for eval, but not when files
- # are listed without --file. Let's play safe and only enable the eval
- # if we detect the quoting.
- case $CONFIG_FILES in
- *\'*) eval set x "$CONFIG_FILES" ;;
- *) set x $CONFIG_FILES ;;
- esac
- shift
- for mf
- do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # Grep'ing the whole file is not good either: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
- dirpart=`AS_DIRNAME("$mf")`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`AS_DIRNAME(["$file"])`
- AS_MKDIR_P([$dirpart/$fdir])
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
- done
-}
-])# _AM_OUTPUT_DEPENDENCY_COMMANDS
-
-
-# AM_OUTPUT_DEPENDENCY_COMMANDS
-# -----------------------------
-# This macro should only be invoked once -- use via AC_REQUIRE.
-#
-# This code is only required when automatic dependency tracking
-# is enabled. FIXME. This creates each `.P' file that we will
-# need in order to bootstrap the dependency handling code.
-AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
-[AC_CONFIG_COMMANDS([depfiles],
- [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
- [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
-])
-
-# Do all the work for Automake. -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 16
-
-# This macro actually does too much. Some checks are only needed if
-# your package does certain things. But this isn't really a big deal.
-
-# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
-# AM_INIT_AUTOMAKE([OPTIONS])
-# -----------------------------------------------
-# The call with PACKAGE and VERSION arguments is the old style
-# call (pre autoconf-2.50), which is being phased out. PACKAGE
-# and VERSION should now be passed to AC_INIT and removed from
-# the call to AM_INIT_AUTOMAKE.
-# We support both call styles for the transition. After
-# the next Automake release, Autoconf can make the AC_INIT
-# arguments mandatory, and then we can depend on a new Autoconf
-# release and drop the old call support.
-AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.62])dnl
-dnl Autoconf wants to disallow AM_ names. We explicitly allow
-dnl the ones we care about.
-m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
-AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
-AC_REQUIRE([AC_PROG_INSTALL])dnl
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
- # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
- # is not polluted with repeated "-I."
- AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
- # test to see if srcdir already configured
- if test -f $srcdir/config.status; then
- AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
- fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
- if (cygpath --version) >/dev/null 2>/dev/null; then
- CYGPATH_W='cygpath -w'
- else
- CYGPATH_W=echo
- fi
-fi
-AC_SUBST([CYGPATH_W])
-
-# Define the identity of the package.
-dnl Distinguish between old-style and new-style calls.
-m4_ifval([$2],
-[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
- AC_SUBST([PACKAGE], [$1])dnl
- AC_SUBST([VERSION], [$2])],
-[_AM_SET_OPTIONS([$1])dnl
-dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
-m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
- [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
-
-_AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
- AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
-
-# Some tools Automake needs.
-AC_REQUIRE([AM_SANITY_CHECK])dnl
-AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
-AM_MISSING_PROG(AUTOCONF, autoconf)
-AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
-AM_MISSING_PROG(AUTOHEADER, autoheader)
-AM_MISSING_PROG(MAKEINFO, makeinfo)
-AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
-AC_REQUIRE([AM_PROG_MKDIR_P])dnl
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
-AC_REQUIRE([AC_PROG_AWK])dnl
-AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
- [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
- [_AM_PROG_TAR([v7])])])
-_AM_IF_OPTION([no-dependencies],,
-[AC_PROVIDE_IFELSE([AC_PROG_CC],
- [_AM_DEPENDENCIES(CC)],
- [define([AC_PROG_CC],
- defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_CXX],
- [_AM_DEPENDENCIES(CXX)],
- [define([AC_PROG_CXX],
- defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_OBJC],
- [_AM_DEPENDENCIES(OBJC)],
- [define([AC_PROG_OBJC],
- defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
-])
-_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
-dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
-dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro
-dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
-AC_CONFIG_COMMANDS_PRE(dnl
-[m4_provide_if([_AM_COMPILER_EXEEXT],
- [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
-])
-
-dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
-dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
-dnl mangled by Autoconf and run in a shell conditional statement.
-m4_define([_AC_COMPILER_EXEEXT],
-m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
-
-
-# When config.status generates a header, we must update the stamp-h file.
-# This file resides in the same directory as the config header
-# that is generated. The stamp files are numbered to have different names.
-
-# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
-# loop where config.status creates the headers, so we can generate
-# our stamp files there.
-AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
-[# Compute $1's index in $config_headers.
-_am_arg=$1
-_am_stamp_count=1
-for _am_header in $config_headers :; do
- case $_am_header in
- $_am_arg | $_am_arg:* )
- break ;;
- * )
- _am_stamp_count=`expr $_am_stamp_count + 1` ;;
- esac
-done
-echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-
-# Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_INSTALL_SH
-# ------------------
-# Define $install_sh.
-AC_DEFUN([AM_PROG_INSTALL_SH],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-if test x"${install_sh}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
- *)
- install_sh="\${SHELL} $am_aux_dir/install-sh"
- esac
-fi
-AC_SUBST(install_sh)])
-
-# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# Check whether the underlying file-system supports filenames
-# with a leading dot. For instance MS-DOS doesn't.
-AC_DEFUN([AM_SET_LEADING_DOT],
-[rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
- am__leading_dot=.
-else
- am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-AC_SUBST([am__leading_dot])])
-
-# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
-# From Jim Meyering
-
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 5
-
-# AM_MAINTAINER_MODE([DEFAULT-MODE])
-# ----------------------------------
-# Control maintainer-specific portions of Makefiles.
-# Default is to disable them, unless `enable' is passed literally.
-# For symmetry, `disable' may be passed as well. Anyway, the user
-# can override the default with the --enable/--disable switch.
-AC_DEFUN([AM_MAINTAINER_MODE],
-[m4_case(m4_default([$1], [disable]),
- [enable], [m4_define([am_maintainer_other], [disable])],
- [disable], [m4_define([am_maintainer_other], [enable])],
- [m4_define([am_maintainer_other], [enable])
- m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
-AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
- dnl maintainer-mode's default is 'disable' unless 'enable' is passed
- AC_ARG_ENABLE([maintainer-mode],
-[ --][am_maintainer_other][-maintainer-mode am_maintainer_other make rules and dependencies not useful
- (and sometimes confusing) to the casual installer],
- [USE_MAINTAINER_MODE=$enableval],
- [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
- AC_MSG_RESULT([$USE_MAINTAINER_MODE])
- AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
- MAINT=$MAINTAINER_MODE_TRUE
- AC_SUBST([MAINT])dnl
-]
-)
-
-AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
-
-# Check to see how 'make' treats includes. -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 4
-
-# AM_MAKE_INCLUDE()
-# -----------------
-# Check to see how make treats includes.
-AC_DEFUN([AM_MAKE_INCLUDE],
-[am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
- @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-AC_MSG_CHECKING([for style of include used by $am_make])
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
- am__include=include
- am__quote=
- _am_result=GNU
- ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- case `$am_make -s -f confmf 2> /dev/null` in #(
- *the\ am__doit\ target*)
- am__include=.include
- am__quote="\""
- _am_result=BSD
- ;;
- esac
-fi
-AC_SUBST([am__include])
-AC_SUBST([am__quote])
-AC_MSG_RESULT([$_am_result])
-rm -f confinc confmf
-])
-
-# Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 6
-
-# AM_PROG_CC_C_O
-# --------------
-# Like AC_PROG_CC_C_O, but changed for automake.
-AC_DEFUN([AM_PROG_CC_C_O],
-[AC_REQUIRE([AC_PROG_CC_C_O])dnl
-AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([compile])dnl
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
- # Losing compiler, so override with the script.
- # FIXME: It is wrong to rewrite CC.
- # But if we don't then we get into trouble of one sort or another.
- # A longer-term fix would be to have automake use am__CC in this case,
- # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
- CC="$am_aux_dir/compile $CC"
-fi
-dnl Make sure AC_PROG_CC is never called again, or it will override our
-dnl setting of CC.
-m4_define([AC_PROG_CC],
- [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])])
-])
-
-# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 6
-
-# AM_MISSING_PROG(NAME, PROGRAM)
-# ------------------------------
-AC_DEFUN([AM_MISSING_PROG],
-[AC_REQUIRE([AM_MISSING_HAS_RUN])
-$1=${$1-"${am_missing_run}$2"}
-AC_SUBST($1)])
-
-
-# AM_MISSING_HAS_RUN
-# ------------------
-# Define MISSING if not defined so far and test if it supports --run.
-# If it does, set am_missing_run to use it, otherwise, to nothing.
-AC_DEFUN([AM_MISSING_HAS_RUN],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([missing])dnl
-if test x"${MISSING+set}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
- *)
- MISSING="\${SHELL} $am_aux_dir/missing" ;;
- esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
-else
- am_missing_run=
- AC_MSG_WARN([`missing' script is too old or missing])
-fi
-])
-
-# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_MKDIR_P
-# ---------------
-# Check for `mkdir -p'.
-AC_DEFUN([AM_PROG_MKDIR_P],
-[AC_PREREQ([2.60])dnl
-AC_REQUIRE([AC_PROG_MKDIR_P])dnl
-dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
-dnl while keeping a definition of mkdir_p for backward compatibility.
-dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
-dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
-dnl Makefile.ins that do not define MKDIR_P, so we do our own
-dnl adjustment using top_builddir (which is defined more often than
-dnl MKDIR_P).
-AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
-case $mkdir_p in
- [[\\/$]]* | ?:[[\\/]]*) ;;
- */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-])
-
-# Helper functions for option handling. -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 4
-
-# _AM_MANGLE_OPTION(NAME)
-# -----------------------
-AC_DEFUN([_AM_MANGLE_OPTION],
-[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
-
-# _AM_SET_OPTION(NAME)
-# ------------------------------
-# Set option NAME. Presently that only means defining a flag for this option.
-AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
-
-# _AM_SET_OPTIONS(OPTIONS)
-# ----------------------------------
-# OPTIONS is a space-separated list of Automake options.
-AC_DEFUN([_AM_SET_OPTIONS],
-[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
-
-# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
-# -------------------------------------------
-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-AC_DEFUN([_AM_IF_OPTION],
-[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-
-# Check to make sure that the build environment is sane. -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 5
-
-# AM_SANITY_CHECK
-# ---------------
-AC_DEFUN([AM_SANITY_CHECK],
-[AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name. Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
- *[[\\\"\#\$\&\'\`$am_lf]]*)
- AC_MSG_ERROR([unsafe absolute working directory name]);;
-esac
-case $srcdir in
- *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
- AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
-esac
-
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
- if test "$[*]" = "X"; then
- # -L didn't work.
- set X `ls -t "$srcdir/configure" conftest.file`
- fi
- rm -f conftest.file
- if test "$[*]" != "X $srcdir/configure conftest.file" \
- && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
-alias in your environment])
- fi
-
- test "$[2]" = conftest.file
- )
-then
- # Ok.
- :
-else
- AC_MSG_ERROR([newly created file is older than distributed files!
-Check your system clock])
-fi
-AC_MSG_RESULT(yes)])
-
-# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_INSTALL_STRIP
-# ---------------------
-# One issue with vendor `install' (even GNU) is that you can't
-# specify the program used to strip binaries. This is especially
-# annoying in cross-compiling environments, where the build's strip
-# is unlikely to handle the host's binaries.
-# Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in `make install-strip', and initialize
-# STRIPPROG with the value of the STRIP variable (set by the user).
-AC_DEFUN([AM_PROG_INSTALL_STRIP],
-[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
-if test "$cross_compiling" != no; then
- AC_CHECK_TOOL([STRIP], [strip], :)
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-AC_SUBST([INSTALL_STRIP_PROGRAM])])
-
-# Copyright (C) 2006, 2008 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# _AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
-# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
-# This macro is traced by Automake.
-AC_DEFUN([_AM_SUBST_NOTMAKE])
-
-# AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
-# Public sister of _AM_SUBST_NOTMAKE.
-AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
-
-# Check how to create a tarball. -*- Autoconf -*-
-
-# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# _AM_PROG_TAR(FORMAT)
-# --------------------
-# Check how to create a tarball in format FORMAT.
-# FORMAT should be one of `v7', `ustar', or `pax'.
-#
-# Substitute a variable $(am__tar) that is a command
-# writing to stdout a FORMAT-tarball containing the directory
-# $tardir.
-# tardir=directory && $(am__tar) > result.tar
-#
-# Substitute a variable $(am__untar) that extract such
-# a tarball read from stdin.
-# $(am__untar) < result.tar
-AC_DEFUN([_AM_PROG_TAR],
-[# Always define AMTAR for backward compatibility.
-AM_MISSING_PROG([AMTAR], [tar])
-m4_if([$1], [v7],
- [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
- [m4_case([$1], [ustar],, [pax],,
- [m4_fatal([Unknown tar format])])
-AC_MSG_CHECKING([how to create a $1 tar archive])
-# Loop over all known methods to create a tar archive until one works.
-_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-_am_tools=${am_cv_prog_tar_$1-$_am_tools}
-# Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of `-'.
-for _am_tool in $_am_tools
-do
- case $_am_tool in
- gnutar)
- for _am_tar in tar gnutar gtar;
- do
- AM_RUN_LOG([$_am_tar --version]) && break
- done
- am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
- am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
- am__untar="$_am_tar -xf -"
- ;;
- plaintar)
- # Must skip GNU tar: if it does not support --format= it doesn't create
- # ustar tarball either.
- (tar --version) >/dev/null 2>&1 && continue
- am__tar='tar chf - "$$tardir"'
- am__tar_='tar chf - "$tardir"'
- am__untar='tar xf -'
- ;;
- pax)
- am__tar='pax -L -x $1 -w "$$tardir"'
- am__tar_='pax -L -x $1 -w "$tardir"'
- am__untar='pax -r'
- ;;
- cpio)
- am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
- am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
- am__untar='cpio -i -H $1 -d'
- ;;
- none)
- am__tar=false
- am__tar_=false
- am__untar=false
- ;;
- esac
-
- # If the value was cached, stop now. We just wanted to have am__tar
- # and am__untar set.
- test -n "${am_cv_prog_tar_$1}" && break
-
- # tar/untar a dummy directory, and stop if the command works
- rm -rf conftest.dir
- mkdir conftest.dir
- echo GrepMe > conftest.dir/file
- AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
- rm -rf conftest.dir
- if test -s conftest.tar; then
- AM_RUN_LOG([$am__untar <conftest.tar])
- grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
- fi
-done
-rm -rf conftest.dir
-
-AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
-AC_MSG_RESULT([$am_cv_prog_tar_$1])])
-AC_SUBST([am__tar])
-AC_SUBST([am__untar])
-]) # _AM_PROG_TAR
-
-m4_include([m4/asmcfi.m4])
-m4_include([m4/libtool.m4])
-m4_include([m4/ltoptions.m4])
-m4_include([m4/ltsugar.m4])
-m4_include([m4/ltversion.m4])
-m4_include([m4/lt~obsolete.m4])
-m4_include([acinclude.m4])
diff --git a/.pc/win64-underscore/configure b/.pc/win64-underscore/configure
deleted file mode 100755
index 1304266..0000000
--- a/.pc/win64-underscore/configure
+++ /dev/null
@@ -1,15972 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for libffi 3.0.11-rc2.
-#
-# Report bugs to <http://github.com/atgreen/libffi/issues>.
-#
-#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-# Foundation, Inc.
-#
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in #(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test "x$CONFIG_SHELL" = x; then
- as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '\${1+\"\$@\"}'='\"\$@\"'
- setopt NO_GLOB_SUBST
-else
- case \`(set -o) 2>/dev/null\` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-"
- as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-
-else
- exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1"
- as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
- as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
- eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
- test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-
- test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
- ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
- ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
- ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
- PATH=/empty FPATH=/empty; export PATH FPATH
- test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
- || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
- if (eval "$as_required") 2>/dev/null; then :
- as_have_required=yes
-else
- as_have_required=no
-fi
- if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- as_found=:
- case $as_dir in #(
- /*)
- for as_base in sh bash ksh sh5; do
- # Try only shells that exist, to save several forks.
- as_shell=$as_dir/$as_base
- if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
- CONFIG_SHELL=$as_shell as_have_required=yes
- if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
- break 2
-fi
-fi
- done;;
- esac
- as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
- CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
- if test "x$CONFIG_SHELL" != x; then :
- # We cannot yet assume a decent shell, so we have to provide a
- # neutralization value for shells without unset; and this also
- # works around shells that cannot unset nonexistent variables.
- # Preserve -v and -x to the replacement shell.
- BASH_ENV=/dev/null
- ENV=/dev/null
- (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
- export CONFIG_SHELL
- case $- in # ((((
- *v*x* | *x*v* ) as_opts=-vx ;;
- *v* ) as_opts=-v ;;
- *x* ) as_opts=-x ;;
- * ) as_opts= ;;
- esac
- exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
-fi
-
- if test x$as_have_required = xno; then :
- $as_echo "$0: This script requires a shell more modern than all"
- $as_echo "$0: the shells that I found on your system."
- if test x${ZSH_VERSION+set} = xset ; then
- $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
- $as_echo "$0: be upgraded to zsh 4.3.4 or later."
- else
- $as_echo "$0: Please tell bug-autoconf@gnu.org and
-$0: http://github.com/atgreen/libffi/issues about your
-$0: system, including any error possibly output before this
-$0: message. Then install a modern shell, or manually run
-$0: the script under such a shell if you do have one."
- fi
- exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} # as_fn_exit
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- fi
- $as_echo "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} # as_fn_error
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
- as_lineno_1=$LINENO as_lineno_1a=$LINENO
- as_lineno_2=$LINENO as_lineno_2a=$LINENO
- eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
- test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
- # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
- sed -n '
- p
- /[$]LINENO/=
- ' <$as_myself |
- sed '
- s/[$]LINENO.*/&-/
- t lineno
- b
- :lineno
- N
- :loop
- s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
- t loop
- s/-\n.*//
- ' >$as_me.lineno &&
- chmod +x "$as_me.lineno" ||
- { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensitive to this).
- . "./$as_me.lineno"
- # Exit status is that of the last command.
- exit
-}
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -p'
- fi
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in #(
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-
-test -n "$DJDIR" || exec 7<&0 </dev/null
-exec 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-
-# Identity of this package.
-PACKAGE_NAME='libffi'
-PACKAGE_TARNAME='libffi'
-PACKAGE_VERSION='3.0.11-rc2'
-PACKAGE_STRING='libffi 3.0.11-rc2'
-PACKAGE_BUGREPORT='http://github.com/atgreen/libffi/issues'
-PACKAGE_URL=''
-
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-# include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-# include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='am__EXEEXT_FALSE
-am__EXEEXT_TRUE
-LTLIBOBJS
-LIBOBJS
-toolexeclibdir
-toolexecdir
-FFI_DEBUG_FALSE
-FFI_DEBUG_TRUE
-TARGETDIR
-TARGET
-HAVE_LONG_DOUBLE
-ALLOCA
-PA64_HPUX_FALSE
-PA64_HPUX_TRUE
-PA_HPUX_FALSE
-PA_HPUX_TRUE
-PA_LINUX_FALSE
-PA_LINUX_TRUE
-SH64_FALSE
-SH64_TRUE
-SH_FALSE
-SH_TRUE
-X86_64_FALSE
-X86_64_TRUE
-S390_FALSE
-S390_TRUE
-FRV_FALSE
-FRV_TRUE
-LIBFFI_CRIS_FALSE
-LIBFFI_CRIS_TRUE
-AVR32_FALSE
-AVR32_TRUE
-ARM_FALSE
-ARM_TRUE
-POWERPC_FREEBSD_FALSE
-POWERPC_FREEBSD_TRUE
-POWERPC_DARWIN_FALSE
-POWERPC_DARWIN_TRUE
-POWERPC_AIX_FALSE
-POWERPC_AIX_TRUE
-POWERPC_FALSE
-POWERPC_TRUE
-MOXIE_FALSE
-MOXIE_TRUE
-M68K_FALSE
-M68K_TRUE
-M32R_FALSE
-M32R_TRUE
-IA64_FALSE
-IA64_TRUE
-ALPHA_FALSE
-ALPHA_TRUE
-X86_DARWIN_FALSE
-X86_DARWIN_TRUE
-X86_WIN64_FALSE
-X86_WIN64_TRUE
-X86_WIN32_FALSE
-X86_WIN32_TRUE
-X86_FREEBSD_FALSE
-X86_FREEBSD_TRUE
-X86_FALSE
-X86_TRUE
-SPARC_FALSE
-SPARC_TRUE
-MIPS_FALSE
-MIPS_TRUE
-AM_LTLDFLAGS
-AM_RUNTESTFLAGS
-TESTSUBDIR_FALSE
-TESTSUBDIR_TRUE
-MAINT
-MAINTAINER_MODE_FALSE
-MAINTAINER_MODE_TRUE
-CPP
-OTOOL64
-OTOOL
-LIPO
-NMEDIT
-DSYMUTIL
-MANIFEST_TOOL
-RANLIB
-ac_ct_AR
-AR
-DLLTOOL
-OBJDUMP
-LN_S
-NM
-ac_ct_DUMPBIN
-DUMPBIN
-LD
-FGREP
-EGREP
-GREP
-SED
-LIBTOOL
-am__fastdepCCAS_FALSE
-am__fastdepCCAS_TRUE
-CCASDEPMODE
-CCASFLAGS
-CCAS
-am__fastdepCC_FALSE
-am__fastdepCC_TRUE
-CCDEPMODE
-AMDEPBACKSLASH
-AMDEP_FALSE
-AMDEP_TRUE
-am__quote
-am__include
-DEPDIR
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-am__untar
-am__tar
-AMTAR
-am__leading_dot
-SET_MAKE
-AWK
-mkdir_p
-MKDIR_P
-INSTALL_STRIP_PROGRAM
-STRIP
-install_sh
-MAKEINFO
-AUTOHEADER
-AUTOMAKE
-AUTOCONF
-ACLOCAL
-VERSION
-PACKAGE
-CYGPATH_W
-am__isrc
-INSTALL_DATA
-INSTALL_SCRIPT
-INSTALL_PROGRAM
-target_os
-target_vendor
-target_cpu
-target
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-enable_dependency_tracking
-enable_shared
-enable_static
-with_pic
-enable_fast_install
-with_gnu_ld
-with_sysroot
-enable_libtool_lock
-enable_maintainer_mode
-enable_debug
-enable_structs
-enable_raw_api
-enable_purify_safety
-'
- ac_precious_vars='build_alias
-host_alias
-target_alias
-CCAS
-CCASFLAGS
-CPP
-CPPFLAGS'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval $ac_prev=\$ac_option
- ac_prev=
- continue
- fi
-
- case $ac_option in
- *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
- *=) ac_optarg= ;;
- *) ac_optarg=yes ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case $ac_dashdash$ac_option in
- --)
- ac_dashdash=yes ;;
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir=$ac_optarg ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build_alias ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build_alias=$ac_optarg ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file=$ac_optarg ;;
-
- --config-cache | -C)
- cache_file=config.cache ;;
-
- -datadir | --datadir | --datadi | --datad)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=*)
- datadir=$ac_optarg ;;
-
- -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
- | --dataroo | --dataro | --datar)
- ac_prev=datarootdir ;;
- -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
- | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
- datarootdir=$ac_optarg ;;
-
- -disable-* | --disable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=no ;;
-
- -docdir | --docdir | --docdi | --doc | --do)
- ac_prev=docdir ;;
- -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
- docdir=$ac_optarg ;;
-
- -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
- ac_prev=dvidir ;;
- -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
- dvidir=$ac_optarg ;;
-
- -enable-* | --enable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=\$ac_optarg ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix=$ac_optarg ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he | -h)
- ac_init_help=long ;;
- -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
- ac_init_help=recursive ;;
- -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
- ac_init_help=short ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host_alias ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host_alias=$ac_optarg ;;
-
- -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
- ac_prev=htmldir ;;
- -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
- | --ht=*)
- htmldir=$ac_optarg ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir=$ac_optarg ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir=$ac_optarg ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir=$ac_optarg ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir=$ac_optarg ;;
-
- -localedir | --localedir | --localedi | --localed | --locale)
- ac_prev=localedir ;;
- -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
- localedir=$ac_optarg ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst | --locals)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
- localstatedir=$ac_optarg ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir=$ac_optarg ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c | -n)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir=$ac_optarg ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix=$ac_optarg ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix=$ac_optarg ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix=$ac_optarg ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name=$ac_optarg ;;
-
- -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
- ac_prev=pdfdir ;;
- -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
- pdfdir=$ac_optarg ;;
-
- -psdir | --psdir | --psdi | --psd | --ps)
- ac_prev=psdir ;;
- -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
- psdir=$ac_optarg ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir=$ac_optarg ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir=$ac_optarg ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site=$ac_optarg ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir=$ac_optarg ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir=$ac_optarg ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target_alias ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target_alias=$ac_optarg ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers | -V)
- ac_init_version=: ;;
-
- -with-* | --with-*)
- ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=\$ac_optarg ;;
-
- -without-* | --without-*)
- ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=no ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes=$ac_optarg ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries=$ac_optarg ;;
-
- -*) as_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
- ;;
-
- *=*)
- ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
- # Reject names that are not valid shell variable names.
- case $ac_envvar in #(
- '' | [0-9]* | *[!_$as_cr_alnum]* )
- as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
- esac
- eval $ac_envvar=\$ac_optarg
- export $ac_envvar ;;
-
- *)
- # FIXME: should be removed in autoconf 3.0.
- $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
- expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- as_fn_error $? "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
- case $enable_option_checking in
- no) ;;
- fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
- *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
- esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
- datadir sysconfdir sharedstatedir localstatedir includedir \
- oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir
-do
- eval ac_val=\$$ac_var
- # Remove trailing slashes.
- case $ac_val in
- */ )
- ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
- eval $ac_var=\$ac_val;;
- esac
- # Be sure to have absolute directory names.
- case $ac_val in
- [\\/$]* | ?:[\\/]* ) continue;;
- NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
- esac
- as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
- if test "x$build_alias" = x; then
- cross_compiling=maybe
- $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
- If a cross compiler is detected then cross compile mode will be used" >&2
- elif test "x$build_alias" != "x$host_alias"; then
- cross_compiling=yes
- fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
- as_fn_error $? "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
- as_fn_error $? "pwd does not report name of working directory"
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then the parent directory.
- ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_myself" : 'X\(//\)[^/]' \| \
- X"$as_myself" : 'X\(//\)$' \| \
- X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- srcdir=$ac_confdir
- if test ! -r "$srcdir/$ac_unique_file"; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
- test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
- as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
- cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
- pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
- srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
- eval ac_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_env_${ac_var}_value=\$${ac_var}
- eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat <<_ACEOF
-\`configure' configures libffi 3.0.11-rc2 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE. See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
- -h, --help display this help and exit
- --help=short display options specific to this package
- --help=recursive display the short help of all the included packages
- -V, --version display version information and exit
- -q, --quiet, --silent do not print \`checking ...' messages
- --cache-file=FILE cache test results in FILE [disabled]
- -C, --config-cache alias for \`--cache-file=config.cache'
- -n, --no-create do not create output files
- --srcdir=DIR find the sources in DIR [configure dir or \`..']
-
-Installation directories:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
- --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
- --infodir=DIR info documentation [DATAROOTDIR/info]
- --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
- --mandir=DIR man documentation [DATAROOTDIR/man]
- --docdir=DIR documentation root [DATAROOTDIR/doc/libffi]
- --htmldir=DIR html documentation [DOCDIR]
- --dvidir=DIR dvi documentation [DOCDIR]
- --pdfdir=DIR pdf documentation [DOCDIR]
- --psdir=DIR ps documentation [DOCDIR]
-_ACEOF
-
- cat <<\_ACEOF
-
-Program names:
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM run sed PROGRAM on installed program names
-
-System types:
- --build=BUILD configure for building on BUILD [guessed]
- --host=HOST cross-compile to build programs to run on HOST [BUILD]
- --target=TARGET configure for building compilers for TARGET [HOST]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
- case $ac_init_help in
- short | recursive ) echo "Configuration of libffi 3.0.11-rc2:";;
- esac
- cat <<\_ACEOF
-
-Optional Features:
- --disable-option-checking ignore unrecognized --enable/--with options
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --disable-dependency-tracking speeds up one-time build
- --enable-dependency-tracking do not reject slow dependency extractors
- --enable-shared[=PKGS] build shared libraries [default=yes]
- --enable-static[=PKGS] build static libraries [default=yes]
- --enable-fast-install[=PKGS]
- optimize for fast installation [default=yes]
- --disable-libtool-lock avoid locking (might break parallel builds)
- --enable-maintainer-mode enable make rules and dependencies not useful
- (and sometimes confusing) to the casual installer
- --enable-debug debugging mode
- --disable-structs omit code for struct support
- --disable-raw-api make the raw api unavailable
- --enable-purify-safety purify-safe mode
-
-Optional Packages:
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --with-pic try to use only PIC/non-PIC objects [default=use
- both]
- --with-gnu-ld assume the C compiler uses GNU ld [default=no]
- --with-sysroot=DIR Search for dependent libraries within DIR
- (or the compiler's sysroot if not specified).
-
-Some influential environment variables:
- CC C compiler command
- CFLAGS C compiler flags
- LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
- nonstandard directory <lib dir>
- LIBS libraries to pass to the linker, e.g. -l<library>
- CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
- you have headers in a nonstandard directory <include dir>
- CCAS assembler compiler command (defaults to CC)
- CCASFLAGS assembler compiler flags (defaults to CFLAGS)
- CPP C preprocessor
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to <http://github.com/atgreen/libffi/issues>.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
- # If there are subdirs, report their specific --help.
- for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d "$ac_dir" ||
- { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
- continue
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
- cd "$ac_dir" || { ac_status=$?; continue; }
- # Check for guested configure.
- if test -f "$ac_srcdir/configure.gnu"; then
- echo &&
- $SHELL "$ac_srcdir/configure.gnu" --help=recursive
- elif test -f "$ac_srcdir/configure"; then
- echo &&
- $SHELL "$ac_srcdir/configure" --help=recursive
- else
- $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi || ac_status=$?
- cd "$ac_pwd" || { ac_status=$?; break; }
- done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
- cat <<\_ACEOF
-libffi configure 3.0.11-rc2
-generated by GNU Autoconf 2.68
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
- exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-# ac_fn_c_try_compile LINENO
-# --------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext
- if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_compile
-
-# ac_fn_c_try_link LINENO
-# -----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext conftest$ac_exeext
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext && {
- test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
- }; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
- # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
- # interfere with the next link command; also delete a directory that is
- # left behind by Apple's compiler. We do this before executing the actions.
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_link
-
-# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists and can be compiled using the include files in
-# INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- eval "$3=yes"
-else
- eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_compile
-
-# ac_fn_c_try_cpp LINENO
-# ----------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } > conftest.i && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_cpp
-
-# ac_fn_c_try_run LINENO
-# ----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
-ac_fn_c_try_run ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
- ac_retval=0
-else
- $as_echo "$as_me: program exited with status $ac_status" >&5
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=$ac_status
-fi
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_run
-
-# ac_fn_c_check_func LINENO FUNC VAR
-# ----------------------------------
-# Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_c_check_func ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $2 innocuous_$2
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $2 (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $2
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $2 ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_$2 || defined __stub___$2
-choke me
-#endif
-
-int
-main ()
-{
-return $2 ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- eval "$3=yes"
-else
- eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_func
-
-# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists, giving a warning if it cannot be compiled using
-# the include files in INCLUDES and setting the cache variable VAR
-# accordingly.
-ac_fn_c_check_header_mongrel ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if eval \${$3+:} false; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
- # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_header_compiler=yes
-else
- ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <$2>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- ac_header_preproc=yes
-else
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
- yes:no: )
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
- ;;
- no:yes:* )
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( $as_echo "## ------------------------------------------------------ ##
-## Report this to http://github.com/atgreen/libffi/issues ##
-## ------------------------------------------------------ ##"
- ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_mongrel
-
-# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
-# -------------------------------------------
-# Tests whether TYPE exists after having included INCLUDES, setting cache
-# variable VAR accordingly.
-ac_fn_c_check_type ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- eval "$3=no"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-if (sizeof ($2))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-if (sizeof (($2)))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
- eval "$3=yes"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_type
-
-# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
-# --------------------------------------------
-# Tries to find the compile-time value of EXPR in a program that includes
-# INCLUDES, setting VAR accordingly. Returns whether the value could be
-# computed
-ac_fn_c_compute_int ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if test "$cross_compiling" = yes; then
- # Depending upon the size, compute the lo and hi bounds.
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_lo=0 ac_mid=0
- while :; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_hi=$ac_mid; break
-else
- as_fn_arith $ac_mid + 1 && ac_lo=$as_val
- if test $ac_lo -le $ac_mid; then
- ac_lo= ac_hi=
- break
- fi
- as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) < 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_hi=-1 ac_mid=-1
- while :; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_lo=$ac_mid; break
-else
- as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
- if test $ac_mid -le $ac_hi; then
- ac_lo= ac_hi=
- break
- fi
- as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- ac_lo= ac_hi=
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
- as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_hi=$ac_mid
-else
- as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in #((
-?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
-'') ac_retval=1 ;;
-esac
- else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-static long int longval () { return $2; }
-static unsigned long int ulongval () { return $2; }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
- FILE *f = fopen ("conftest.val", "w");
- if (! f)
- return 1;
- if (($2) < 0)
- {
- long int i = longval ();
- if (i != ($2))
- return 1;
- fprintf (f, "%ld", i);
- }
- else
- {
- unsigned long int i = ulongval ();
- if (i != ($2))
- return 1;
- fprintf (f, "%lu", i);
- }
- /* Do not output a trailing newline, as this causes \r\n confusion
- on some platforms. */
- return ferror (f) || fclose (f) != 0;
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- echo >>conftest.val; read $3 <conftest.val; ac_retval=0
-else
- ac_retval=1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-rm -f conftest.val
-
- fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_compute_int
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by libffi $as_me 3.0.11-rc2, which was
-generated by GNU Autoconf 2.68. Invocation command line was
-
- $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
-
-/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
-/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
-/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- $as_echo "PATH: $as_dir"
- done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
- for ac_arg
- do
- case $ac_arg in
- -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- continue ;;
- *\'*)
- ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- case $ac_pass in
- 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
- 2)
- as_fn_append ac_configure_args1 " '$ac_arg'"
- if test $ac_must_keep_next = true; then
- ac_must_keep_next=false # Got value, back to normal.
- else
- case $ac_arg in
- *=* | --config-cache | -C | -disable-* | --disable-* \
- | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
- | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
- | -with-* | --with-* | -without-* | --without-* | --x)
- case "$ac_configure_args0 " in
- "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
- esac
- ;;
- -* ) ac_must_keep_next=true ;;
- esac
- fi
- as_fn_append ac_configure_args " '$ac_arg'"
- ;;
- esac
- done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log. We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
- # Save into config.log some information that might help in debugging.
- {
- echo
-
- $as_echo "## ---------------- ##
-## Cache variables. ##
-## ---------------- ##"
- echo
- # The following way of writing the cache mishandles newlines in values,
-(
- for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
- (set) 2>&1 |
- case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- sed -n \
- "s/'\''/'\''\\\\'\'''\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
- ;; #(
- *)
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-)
- echo
-
- $as_echo "## ----------------- ##
-## Output variables. ##
-## ----------------- ##"
- echo
- for ac_var in $ac_subst_vars
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
-
- if test -n "$ac_subst_files"; then
- $as_echo "## ------------------- ##
-## File substitutions. ##
-## ------------------- ##"
- echo
- for ac_var in $ac_subst_files
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
- fi
-
- if test -s confdefs.h; then
- $as_echo "## ----------- ##
-## confdefs.h. ##
-## ----------- ##"
- echo
- cat confdefs.h
- echo
- fi
- test "$ac_signal" != 0 &&
- $as_echo "$as_me: caught signal $ac_signal"
- $as_echo "$as_me: exit $exit_status"
- } >&5
- rm -f core *.core core.conftest.* &&
- rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
- exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
- trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-$as_echo "/* confdefs.h */" > confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
- # We do not want a PATH search for config.site.
- case $CONFIG_SITE in #((
- -*) ac_site_file1=./$CONFIG_SITE;;
- */*) ac_site_file1=$CONFIG_SITE;;
- *) ac_site_file1=./$CONFIG_SITE;;
- esac
-elif test "x$prefix" != xNONE; then
- ac_site_file1=$prefix/share/config.site
- ac_site_file2=$prefix/etc/config.site
-else
- ac_site_file1=$ac_default_prefix/share/config.site
- ac_site_file2=$ac_default_prefix/etc/config.site
-fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
- test "x$ac_site_file" = xNONE && continue
- if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
- sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file" \
- || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5; }
- fi
-done
-
-if test -r "$cache_file"; then
- # Some versions of bash will fail to source /dev/null (special files
- # actually), so we avoid doing that. DJGPP emulates it as a regular file.
- if test /dev/null != "$cache_file" && test -f "$cache_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
- case $cache_file in
- [\\/]* | ?:[\\/]* ) . "$cache_file";;
- *) . "./$cache_file";;
- esac
- fi
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
- >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
- eval ac_old_set=\$ac_cv_env_${ac_var}_set
- eval ac_new_set=\$ac_env_${ac_var}_set
- eval ac_old_val=\$ac_cv_env_${ac_var}_value
- eval ac_new_val=\$ac_env_${ac_var}_value
- case $ac_old_set,$ac_new_set in
- set,)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,set)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,);;
- *)
- if test "x$ac_old_val" != "x$ac_new_val"; then
- # differences in whitespace do not lead to failure.
- ac_old_val_w=`echo x $ac_old_val`
- ac_new_val_w=`echo x $ac_new_val`
- if test "$ac_old_val_w" != "$ac_new_val_w"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- ac_cache_corrupted=:
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
- eval $ac_var=\$ac_old_val
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
-$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
-$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
- fi;;
- esac
- # Pass precious variables to config.status.
- if test "$ac_new_set" = set; then
- case $ac_new_val in
- *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
- *) ac_arg=$ac_var=$ac_new_val ;;
- esac
- case " $ac_configure_args " in
- *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
- *) as_fn_append ac_configure_args " '$ac_arg'" ;;
- esac
- fi
-done
-if $ac_cache_corrupted; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-ac_config_headers="$ac_config_headers fficonfig.h"
-
-
-ac_aux_dir=
-for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
- if test -f "$ac_dir/install-sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f "$ac_dir/install.sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- elif test -f "$ac_dir/shtool"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/shtool install -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
-
-
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
- as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if ${ac_cv_build+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
- ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
- as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if ${ac_cv_host+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "x$host_alias" = x; then
- ac_cv_host=$ac_cv_build
-else
- ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
-$as_echo_n "checking target system type... " >&6; }
-if ${ac_cv_target+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "x$target_alias" = x; then
- ac_cv_target=$ac_cv_host
-else
- ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
-$as_echo "$ac_cv_target" >&6; }
-case $ac_cv_target in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
-esac
-target=$ac_cv_target
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_target
-shift
-target_cpu=$1
-target_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-target_os=$*
-IFS=$ac_save_IFS
-case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
-
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-test -n "$target_alias" &&
- test "$program_prefix$program_suffix$program_transform_name" = \
- NONENONEs,x,x, &&
- program_prefix=${target_alias}-
-
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-am__api_version='1.11'
-
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-# Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
-if test -z "$INSTALL"; then
-if ${ac_cv_path_install+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in #((
- ./ | .// | /[cC]/* | \
- /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
- ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
- /usr/ucb/* ) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
- if test $ac_prog = install &&
- grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- elif test $ac_prog = install &&
- grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # program-specific install script used by HP pwplus--don't use.
- :
- else
- rm -rf conftest.one conftest.two conftest.dir
- echo one > conftest.one
- echo two > conftest.two
- mkdir conftest.dir
- if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
- test -s conftest.one && test -s conftest.two &&
- test -s conftest.dir/conftest.one &&
- test -s conftest.dir/conftest.two
- then
- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
- break 3
- fi
- fi
- fi
- done
- done
- ;;
-esac
-
- done
-IFS=$as_save_IFS
-
-rm -rf conftest.one conftest.two conftest.dir
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL=$ac_cv_path_install
- else
- # As a last resort, use the slow shell script. Don't cache a
- # value for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- INSTALL=$ac_install_sh
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
-$as_echo_n "checking whether build environment is sane... " >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name. Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
- *[\\\"\#\$\&\'\`$am_lf]*)
- as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
-esac
-case $srcdir in
- *[\\\"\#\$\&\'\`$am_lf\ \ ]*)
- as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
-esac
-
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
- if test "$*" = "X"; then
- # -L didn't work.
- set X `ls -t "$srcdir/configure" conftest.file`
- fi
- rm -f conftest.file
- if test "$*" != "X $srcdir/configure conftest.file" \
- && test "$*" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
-alias in your environment" "$LINENO" 5
- fi
-
- test "$2" = conftest.file
- )
-then
- # Ok.
- :
-else
- as_fn_error $? "newly created file is older than distributed files!
-Check your system clock" "$LINENO" 5
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-test "$program_prefix" != NONE &&
- program_transform_name="s&^&$program_prefix&;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
- program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $.
-# By default was `s,x,x', remove it if useless.
-ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
-if test x"${MISSING+set}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
- *)
- MISSING="\${SHELL} $am_aux_dir/missing" ;;
- esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
-else
- am_missing_run=
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
-fi
-
-if test x"${install_sh}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
- *)
- install_sh="\${SHELL} $am_aux_dir/install-sh"
- esac
-fi
-
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_STRIP="strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_STRIP" = x; then
- STRIP=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- STRIP=$ac_ct_STRIP
- fi
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
-$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
-if test -z "$MKDIR_P"; then
- if ${ac_cv_path_mkdir+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in mkdir gmkdir; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
- case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
- 'mkdir (GNU coreutils) '* | \
- 'mkdir (coreutils) '* | \
- 'mkdir (fileutils) '4.1*)
- ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
- break 3;;
- esac
- done
- done
- done
-IFS=$as_save_IFS
-
-fi
-
- test -d ./--version && rmdir ./--version
- if test "${ac_cv_path_mkdir+set}" = set; then
- MKDIR_P="$ac_cv_path_mkdir -p"
- else
- # As a last resort, use the slow shell script. Don't cache a
- # value for MKDIR_P within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- MKDIR_P="$ac_install_sh -d"
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
-$as_echo "$MKDIR_P" >&6; }
-
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
- [\\/$]* | ?:[\\/]*) ;;
- */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-
-for ac_prog in gawk mawk nawk awk
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AWK+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$AWK"; then
- ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_AWK="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$AWK" && break
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
- @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
- *@@@%%%=?*=@@@%%%*)
- eval ac_cv_prog_make_${ac_make}_set=yes;;
- *)
- eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- SET_MAKE=
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
- am__leading_dot=.
-else
- am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
- # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
- # is not polluted with repeated "-I."
- am__isrc=' -I$(srcdir)'
- # test to see if srcdir already configured
- if test -f $srcdir/config.status; then
- as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
- fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
- if (cygpath --version) >/dev/null 2>/dev/null; then
- CYGPATH_W='cygpath -w'
- else
- CYGPATH_W=echo
- fi
-fi
-
-
-# Define the identity of the package.
- PACKAGE='libffi'
- VERSION='3.0.11-rc2'
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE "$PACKAGE"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define VERSION "$VERSION"
-_ACEOF
-
-# Some tools Automake needs.
-
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-
-
-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-
-
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-
-
-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-
-
-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
-# Always define AMTAR for backward compatibility.
-
-AMTAR=${AMTAR-"${am_missing_run}tar"}
-
-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
-
-
-
-
-
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-# Also save and restore CFLAGS, since AC_PROG_CC will come up with
-# defaults of its own if none are provided.
-
-
-
-save_CFLAGS=$CFLAGS
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="${ac_tool_prefix}gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_CC="gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-else
- CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="${ac_tool_prefix}cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- fi
-fi
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# != 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
- fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- for ac_prog in cl.exe
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$CC" && break
- done
-fi
-if test -z "$CC"; then
- ac_ct_CC=$CC
- for ac_prog in cl.exe
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_CC="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_CC" && break
-done
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
- { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compiler $ac_option >&5") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- sed '10a\
-... rest of stderr output deleted ...
- 10q' conftest.err >conftest.er1
- cat conftest.er1 >&5
- fi
- rm -f conftest.er1 conftest.err
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- * ) ac_rmfiles="$ac_rmfiles $ac_file";;
- esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link_default") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile. We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
- ;;
- [ab].out )
- # We found the default executable, but exeext='' is most
- # certainly right.
- break;;
- *.* )
- if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
- then :; else
- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- fi
- # We set ac_cv_exeext here because the later test for it is not
- # safe: cross compilers may not add the suffix if given an `-o'
- # argument, so we may need to know it at that point already.
- # Even if this section looks crufty: it has the advantage of
- # actually working.
- break;;
- * )
- break;;
- esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
- ac_file=''
-fi
-if test -z "$ac_file"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-ac_exeext=$ac_cv_exeext
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- break;;
- * ) break;;
- esac
-done
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdio.h>
-int
-main ()
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
- { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if { ac_try='./conftest$ac_cv_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- cross_compiling=no
- else
- if test "$cross_compiling" = maybe; then
- cross_compiling=yes
- else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5; }
- fi
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- for ac_file in conftest.o conftest.obj conftest.*; do
- test -f "$ac_file" || continue;
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
- *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
- break;;
- esac
-done
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-#ifndef __GNUC__
- choke me
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_compiler_gnu=yes
-else
- ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
- GCC=yes
-else
- GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_save_c_werror_flag=$ac_c_werror_flag
- ac_c_werror_flag=yes
- ac_cv_prog_cc_g=no
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-else
- CFLAGS=""
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
- ac_c_werror_flag=$ac_save_c_werror_flag
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
- CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
- if test "$GCC" = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-g"
- fi
-else
- if test "$GCC" = yes; then
- CFLAGS="-O2"
- else
- CFLAGS=
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
- char **p;
- int i;
-{
- return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
- char *s;
- va_list v;
- va_start (v,p);
- s = g (p, va_arg (v,int));
- va_end (v);
- return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
- function prototypes and stuff, but not '\xHH' hex character constants.
- These don't provoke an error unfortunately, instead are silently treated
- as 'x'. The following induces an error, until -std is added to get
- proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
- array size at least. It's necessary to write '\x00'==0 to get something
- that's true only with -std. */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
- inside strings and character constants. */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
- ;
- return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
- -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
- CC="$ac_save_CC $ac_arg"
- if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
- test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
- x)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
- xno)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
- *)
- CC="$CC $ac_cv_prog_cc_c89"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
-
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
- @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
-$as_echo_n "checking for style of include used by $am_make... " >&6; }
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
- am__include=include
- am__quote=
- _am_result=GNU
- ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- case `$am_make -s -f confmf 2> /dev/null` in #(
- *the\ am__doit\ target*)
- am__include=.include
- am__quote="\""
- _am_result=BSD
- ;;
- esac
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
-rm -f confinc confmf
-
-# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then :
- enableval=$enable_dependency_tracking;
-fi
-
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
-fi
- if test "x$enable_dependency_tracking" != xno; then
- AMDEP_TRUE=
- AMDEP_FALSE='#'
-else
- AMDEP_TRUE='#'
- AMDEP_FALSE=
-fi
-
-
-
-depcc="$CC" am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CC_dependencies_compiler_type+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_CC_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
- fi
- am__universal=false
- case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac
-
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs
- am__obj=sub/conftest.${OBJEXT-o}
- am__minus_obj="-o $am__obj"
- case $depmode in
- gcc)
- # This depmode causes a compiler race in universal mode.
- test "$am__universal" = false || continue
- ;;
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- msvisualcpp | msvcmsys)
- # This compiler won't grok `-c -o', but also, the minuso test has
- # not run yet. These depmodes are late enough in the game, and
- # so weak that their functioning should not be impacted.
- am__obj=conftest.${OBJEXT-o}
- am__minus_obj=
- ;;
- none) break ;;
- esac
- if depmode=$depmode \
- source=sub/conftest.c object=$am__obj \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_CC_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
- am__fastdepCC_TRUE=
- am__fastdepCC_FALSE='#'
-else
- am__fastdepCC_TRUE='#'
- am__fastdepCC_FALSE=
-fi
-
-
-CFLAGS=$save_CFLAGS
-
-
-
-
-
-# By default we simply use the C compiler to build assembly code.
-
-test "${CCAS+set}" = set || CCAS=$CC
-test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
-
-
-
-depcc="$CCAS" am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CCAS_dependencies_compiler_type+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_CCAS_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
- fi
- am__universal=false
-
-
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs
- am__obj=sub/conftest.${OBJEXT-o}
- am__minus_obj="-o $am__obj"
- case $depmode in
- gcc)
- # This depmode causes a compiler race in universal mode.
- test "$am__universal" = false || continue
- ;;
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- msvisualcpp | msvcmsys)
- # This compiler won't grok `-c -o', but also, the minuso test has
- # not run yet. These depmodes are late enough in the game, and
- # so weak that their functioning should not be impacted.
- am__obj=conftest.${OBJEXT-o}
- am__minus_obj=
- ;;
- none) break ;;
- esac
- if depmode=$depmode \
- source=sub/conftest.c object=$am__obj \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_CCAS_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_CCAS_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CCAS_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CCAS_dependencies_compiler_type" >&6; }
-CCASDEPMODE=depmode=$am_cv_CCAS_dependencies_compiler_type
-
- if
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CCAS_dependencies_compiler_type" = gcc3; then
- am__fastdepCCAS_TRUE=
- am__fastdepCCAS_FALSE='#'
-else
- am__fastdepCCAS_TRUE='#'
- am__fastdepCCAS_FALSE=
-fi
-
-
-if test "x$CC" != xcc; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
-$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5
-$as_echo_n "checking whether cc understands -c and -o together... " >&6; }
-fi
-set dummy $CC; ac_cc=`$as_echo "$2" |
- sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-# Make sure it works both with $CC and with simple cc.
-# We do the test twice because some compilers refuse to overwrite an
-# existing .o file with -o, though they will create one.
-ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-rm -f conftest2.*
-if { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } &&
- test -f conftest2.$ac_objext && { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; };
-then
- eval ac_cv_prog_cc_${ac_cc}_c_o=yes
- if test "x$CC" != xcc; then
- # Test first that cc exists at all.
- if { ac_try='cc -c conftest.$ac_ext >&5'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
- rm -f conftest2.*
- if { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } &&
- test -f conftest2.$ac_objext && { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; };
- then
- # cc works too.
- :
- else
- # cc exists but doesn't like -o.
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
- fi
- fi
- fi
-else
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
-fi
-rm -f core conftest*
-
-fi
-if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h
-
-fi
-
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
- # Losing compiler, so override with the script.
- # FIXME: It is wrong to rewrite CC.
- # But if we don't then we get into trouble of one sort or another.
- # A longer-term fix would be to have automake use am__CC in this case,
- # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
- CC="$am_aux_dir/compile $CC"
-fi
-
-
-case `pwd` in
- *\ * | *\ *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
-$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
-esac
-
-
-
-macro_version='2.4'
-macro_revision='1.3293'
-
-
-
-
-
-
-
-
-
-
-
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-# Backslashify metacharacters that are still active within
-# double-quoted strings.
-sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
-$as_echo_n "checking how to print strings... " >&6; }
-# Test print first, because it will be a builtin if present.
-if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
- test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
- ECHO='print -r --'
-elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
- ECHO='printf %s\n'
-else
- # Use this function as a fallback that always works.
- func_fallback_echo ()
- {
- eval 'cat <<_LTECHO_EOF
-$1
-_LTECHO_EOF'
- }
- ECHO='func_fallback_echo'
-fi
-
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
- $ECHO ""
-}
-
-case "$ECHO" in
- printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
-$as_echo "printf" >&6; } ;;
- print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
-$as_echo "print -r" >&6; } ;;
- *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
-$as_echo "cat" >&6; } ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
-$as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if ${ac_cv_path_SED+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
- for ac_i in 1 2 3 4 5 6 7; do
- ac_script="$ac_script$as_nl$ac_script"
- done
- echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
- { ac_script=; unset ac_script;}
- if test -z "$SED"; then
- ac_path_SED_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in sed gsed; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
-# Check for GNU ac_path_SED and select it if it is found.
- # Check for GNU $ac_path_SED
-case `"$ac_path_SED" --version 2>&1` in
-*GNU*)
- ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo '' >> "conftest.nl"
- "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_SED_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_SED="$ac_path_SED"
- ac_path_SED_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_SED_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_SED"; then
- as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
- fi
-else
- ac_cv_path_SED=$SED
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
-$as_echo "$ac_cv_path_SED" >&6; }
- SED="$ac_cv_path_SED"
- rm -f conftest.sed
-
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$GREP"; then
- ac_path_GREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in grep ggrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
-# Check for GNU ac_path_GREP and select it if it is found.
- # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'GREP' >> "conftest.nl"
- "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_GREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_GREP="$ac_path_GREP"
- ac_path_GREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_GREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_GREP"; then
- as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
- then ac_cv_path_EGREP="$GREP -E"
- else
- if test -z "$EGREP"; then
- ac_path_EGREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in egrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
- # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'EGREP' >> "conftest.nl"
- "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_EGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_EGREP="$ac_path_EGREP"
- ac_path_EGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_EGREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_EGREP"; then
- as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_EGREP=$EGREP
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
-$as_echo_n "checking for fgrep... " >&6; }
-if ${ac_cv_path_FGREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
- then ac_cv_path_FGREP="$GREP -F"
- else
- if test -z "$FGREP"; then
- ac_path_FGREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in fgrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
-# Check for GNU ac_path_FGREP and select it if it is found.
- # Check for GNU $ac_path_FGREP
-case `"$ac_path_FGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'FGREP' >> "conftest.nl"
- "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_FGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_FGREP="$ac_path_FGREP"
- ac_path_FGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_FGREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_FGREP"; then
- as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_FGREP=$FGREP
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
-$as_echo "$ac_cv_path_FGREP" >&6; }
- FGREP="$ac_cv_path_FGREP"
-
-
-test -z "$GREP" && GREP=grep
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then :
- withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
- with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test "$GCC" = yes; then
- # Check if gcc -print-prog-name=ld gives a path.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
-$as_echo_n "checking for ld used by $CC... " >&6; }
- case $host in
- *-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case $ac_prog in
- # Accept absolute paths.
- [\\/]* | ?:[\\/]*)
- re_direlt='/[^/][^/]*/\.\./'
- # Canonicalize the pathname of ld
- ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
- while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
- done
- test -z "$LD" && LD="$ac_prog"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if ${lt_cv_path_LD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$LD"; then
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- lt_cv_path_LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some variants of GNU ld only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
- *GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break
- ;;
- *)
- test "$with_gnu_ld" != yes && break
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
-else
- lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
-$as_echo "$LD" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if ${lt_cv_prog_gnu_ld+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
- lt_cv_prog_gnu_ld=yes
- ;;
-*)
- lt_cv_prog_gnu_ld=no
- ;;
-esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
-$as_echo "$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
-$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if ${lt_cv_path_NM+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$NM"; then
- # Let the user override the test.
- lt_cv_path_NM="$NM"
-else
- lt_nm_to_check="${ac_tool_prefix}nm"
- if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
- lt_nm_to_check="$lt_nm_to_check nm"
- fi
- for lt_tmp_nm in $lt_nm_to_check; do
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- tmp_nm="$ac_dir/$lt_tmp_nm"
- if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
- # Check to see if the nm accepts a BSD-compat flag.
- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
- # nm: unknown option "B" ignored
- # Tru64's nm complains that /dev/null is an invalid object file
- case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
- */dev/null* | *'Invalid file or object type'*)
- lt_cv_path_NM="$tmp_nm -B"
- break
- ;;
- *)
- case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
- */dev/null*)
- lt_cv_path_NM="$tmp_nm -p"
- break
- ;;
- *)
- lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
- continue # so that we can try to find one that supports BSD flags
- ;;
- esac
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
- done
- : ${lt_cv_path_NM=no}
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
-$as_echo "$lt_cv_path_NM" >&6; }
-if test "$lt_cv_path_NM" != "no"; then
- NM="$lt_cv_path_NM"
-else
- # Didn't find any BSD compatible name lister, look for dumpbin.
- if test -n "$DUMPBIN"; then :
- # Let the user override the test.
- else
- if test -n "$ac_tool_prefix"; then
- for ac_prog in dumpbin "link -dump"
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DUMPBIN+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$DUMPBIN"; then
- ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-DUMPBIN=$ac_cv_prog_DUMPBIN
-if test -n "$DUMPBIN"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
-$as_echo "$DUMPBIN" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$DUMPBIN" && break
- done
-fi
-if test -z "$DUMPBIN"; then
- ac_ct_DUMPBIN=$DUMPBIN
- for ac_prog in dumpbin "link -dump"
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_DUMPBIN"; then
- ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
-if test -n "$ac_ct_DUMPBIN"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
-$as_echo "$ac_ct_DUMPBIN" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_DUMPBIN" && break
-done
-
- if test "x$ac_ct_DUMPBIN" = x; then
- DUMPBIN=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- DUMPBIN=$ac_ct_DUMPBIN
- fi
-fi
-
- case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
- *COFF*)
- DUMPBIN="$DUMPBIN -symbols"
- ;;
- *)
- DUMPBIN=:
- ;;
- esac
- fi
-
- if test "$DUMPBIN" != ":"; then
- NM="$DUMPBIN"
- fi
-fi
-test -z "$NM" && NM=nm
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
-$as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if ${lt_cv_nm_interface+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_nm_interface="BSD nm"
- echo "int some_variable = 0;" > conftest.$ac_ext
- (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
- (eval "$ac_compile" 2>conftest.err)
- cat conftest.err >&5
- (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
- (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
- cat conftest.err >&5
- (eval echo "\"\$as_me:$LINENO: output\"" >&5)
- cat conftest.out >&5
- if $GREP 'External.*some_variable' conftest.out > /dev/null; then
- lt_cv_nm_interface="MS dumpbin"
- fi
- rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
-$as_echo "$lt_cv_nm_interface" >&6; }
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
-$as_echo_n "checking whether ln -s works... " >&6; }
-LN_S=$as_ln_s
-if test "$LN_S" = "ln -s"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
-$as_echo "no, using $LN_S" >&6; }
-fi
-
-# find the maximum length of command line arguments
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
-$as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if ${lt_cv_sys_max_cmd_len+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- i=0
- teststring="ABCD"
-
- case $build_os in
- msdosdjgpp*)
- # On DJGPP, this test can blow up pretty badly due to problems in libc
- # (any single argument exceeding 2000 bytes causes a buffer overrun
- # during glob expansion). Even if it were fixed, the result of this
- # check would be larger than it should be.
- lt_cv_sys_max_cmd_len=12288; # 12K is about right
- ;;
-
- gnu*)
- # Under GNU Hurd, this test is not required because there is
- # no limit to the length of command line arguments.
- # Libtool will interpret -1 as no limit whatsoever
- lt_cv_sys_max_cmd_len=-1;
- ;;
-
- cygwin* | mingw* | cegcc*)
- # On Win9x/ME, this test blows up -- it succeeds, but takes
- # about 5 minutes as the teststring grows exponentially.
- # Worse, since 9x/ME are not pre-emptively multitasking,
- # you end up with a "frozen" computer, even though with patience
- # the test eventually succeeds (with a max line length of 256k).
- # Instead, let's just punt: use the minimum linelength reported by
- # all of the supported platforms: 8192 (on NT/2K/XP).
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- mint*)
- # On MiNT this can take a long time and run out of memory.
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- amigaos*)
- # On AmigaOS with pdksh, this test takes hours, literally.
- # So we just punt and use a minimum line length of 8192.
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
- # This has been around since 386BSD, at least. Likely further.
- if test -x /sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
- elif test -x /usr/sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
- else
- lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
- fi
- # And add a safety zone
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- ;;
-
- interix*)
- # We know the value 262144 and hardcode it with a safety zone (like BSD)
- lt_cv_sys_max_cmd_len=196608
- ;;
-
- osf*)
- # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
- # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
- # nice to cause kernel panics so lets avoid the loop below.
- # First set a reasonable default.
- lt_cv_sys_max_cmd_len=16384
- #
- if test -x /sbin/sysconfig; then
- case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
- *1*) lt_cv_sys_max_cmd_len=-1 ;;
- esac
- fi
- ;;
- sco3.2v5*)
- lt_cv_sys_max_cmd_len=102400
- ;;
- sysv5* | sco5v6* | sysv4.2uw2*)
- kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
- if test -n "$kargmax"; then
- lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
- else
- lt_cv_sys_max_cmd_len=32768
- fi
- ;;
- *)
- lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
- if test -n "$lt_cv_sys_max_cmd_len"; then
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- else
- # Make teststring a little bigger before we do anything with it.
- # a 1K string should be a reasonable start.
- for i in 1 2 3 4 5 6 7 8 ; do
- teststring=$teststring$teststring
- done
- SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
- # If test is not a shell built-in, we'll probably end up computing a
- # maximum length that is only half of the actual maximum length, but
- # we can't tell.
- while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
- = "X$teststring$teststring"; } >/dev/null 2>&1 &&
- test $i != 17 # 1/2 MB should be enough
- do
- i=`expr $i + 1`
- teststring=$teststring$teststring
- done
- # Only check the string length outside the loop.
- lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
- teststring=
- # Add a significant safety factor because C++ compilers can tack on
- # massive amounts of additional arguments before passing them to the
- # linker. It appears as though 1/2 is a usable value.
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
- fi
- ;;
- esac
-
-fi
-
-if test -n $lt_cv_sys_max_cmd_len ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
-$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
-$as_echo "none" >&6; }
-fi
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-
-
-
-
-
-: ${CP="cp -f"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
-$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
- test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
- = c,a/b,b/c, \
- && eval 'test $(( 1 + 1 )) -eq 2 \
- && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
- && xsi_shell=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
-$as_echo "$xsi_shell" >&6; }
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
-$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
- >/dev/null 2>&1 \
- && lt_shell_append=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
-$as_echo "$lt_shell_append" >&6; }
-
-
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- lt_unset=unset
-else
- lt_unset=false
-fi
-
-
-
-
-
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
- # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
- lt_SP2NL='tr \040 \012'
- lt_NL2SP='tr \015\012 \040\040'
- ;;
- *) # EBCDIC based system
- lt_SP2NL='tr \100 \n'
- lt_NL2SP='tr \r\n \100\100'
- ;;
-esac
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
-$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
-if ${lt_cv_to_host_file_cmd+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $host in
- *-*-mingw* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
- ;;
- *-*-cygwin* )
- lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
- ;;
- * ) # otherwise, assume *nix
- lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
- ;;
- esac
- ;;
- *-*-cygwin* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
- ;;
- *-*-cygwin* )
- lt_cv_to_host_file_cmd=func_convert_file_noop
- ;;
- * ) # otherwise, assume *nix
- lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
- ;;
- esac
- ;;
- * ) # unhandled hosts (and "normal" native builds)
- lt_cv_to_host_file_cmd=func_convert_file_noop
- ;;
-esac
-
-fi
-
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
-$as_echo "$lt_cv_to_host_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
-$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
-if ${lt_cv_to_tool_file_cmd+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- #assume ordinary cross tools, or native build.
-lt_cv_to_tool_file_cmd=func_convert_file_noop
-case $host in
- *-*-mingw* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
- ;;
- esac
- ;;
-esac
-
-fi
-
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
-$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
-$as_echo_n "checking for $LD option to reload object files... " >&6; }
-if ${lt_cv_ld_reload_flag+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ld_reload_flag='-r'
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
-$as_echo "$lt_cv_ld_reload_flag" >&6; }
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
- cygwin* | mingw* | pw32* | cegcc*)
- if test "$GCC" != yes; then
- reload_cmds=false
- fi
- ;;
- darwin*)
- if test "$GCC" = yes; then
- reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
- else
- reload_cmds='$LD$reload_flag -o $output$reload_objs'
- fi
- ;;
-esac
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
-set dummy ${ac_tool_prefix}objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OBJDUMP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$OBJDUMP"; then
- ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-OBJDUMP=$ac_cv_prog_OBJDUMP
-if test -n "$OBJDUMP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
-$as_echo "$OBJDUMP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OBJDUMP"; then
- ac_ct_OBJDUMP=$OBJDUMP
- # Extract the first word of "objdump", so it can be a program name with args.
-set dummy objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_OBJDUMP"; then
- ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_OBJDUMP="objdump"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
-if test -n "$ac_ct_OBJDUMP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
-$as_echo "$ac_ct_OBJDUMP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_OBJDUMP" = x; then
- OBJDUMP="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- OBJDUMP=$ac_ct_OBJDUMP
- fi
-else
- OBJDUMP="$ac_cv_prog_OBJDUMP"
-fi
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
-$as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if ${lt_cv_deplibs_check_method+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[4-9]*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-beos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-bsdi[45]*)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
- lt_cv_file_magic_cmd='/usr/bin/file -L'
- lt_cv_file_magic_test_file=/shlib/libc.so
- ;;
-
-cygwin*)
- # func_win32_libid is a shell function defined in ltmain.sh
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- ;;
-
-mingw* | pw32*)
- # Base MSYS/MinGW do not provide the 'file' command needed by
- # func_win32_libid shell function, so use a weaker test based on 'objdump',
- # unless we find 'file', for example because we are cross-compiling.
- # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
- if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- else
- # Keep this pattern in sync with the one in func_win32_libid.
- lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- fi
- ;;
-
-cegcc*)
- # use the weaker test based on 'objdump'. See mingw*.
- lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- ;;
-
-darwin* | rhapsody*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-freebsd* | dragonfly*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
- case $host_cpu in
- i*86 )
- # Not sure whether the presence of OpenBSD here was a mistake.
- # Let's accept both of them until this is cleared up.
- lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
- ;;
- esac
- else
- lt_cv_deplibs_check_method=pass_all
- fi
- ;;
-
-gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-haiku*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-hpux10.20* | hpux11*)
- lt_cv_file_magic_cmd=/usr/bin/file
- case $host_cpu in
- ia64*)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
- lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
- ;;
- hppa*64*)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
- lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
- ;;
- *)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
- lt_cv_file_magic_test_file=/usr/lib/libc.sl
- ;;
- esac
- ;;
-
-interix[3-9]*)
- # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $LD in
- *-32|*"-32 ") libmagic=32-bit;;
- *-n32|*"-n32 ") libmagic=N32;;
- *-64|*"-64 ") libmagic=64-bit;;
- *) libmagic=never-match;;
- esac
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
- fi
- ;;
-
-newos6*)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=/usr/lib/libnls.so
- ;;
-
-*nto* | *qnx*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-openbsd*)
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
- fi
- ;;
-
-osf3* | osf4* | osf5*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-rdos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-solaris*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sysv4 | sysv4.3*)
- case $host_vendor in
- motorola)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
- ;;
- ncr)
- lt_cv_deplibs_check_method=pass_all
- ;;
- sequent)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
- ;;
- sni)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
- lt_cv_file_magic_test_file=/lib/libc.so
- ;;
- siemens)
- lt_cv_deplibs_check_method=pass_all
- ;;
- pc)
- lt_cv_deplibs_check_method=pass_all
- ;;
- esac
- ;;
-
-tpf*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
-$as_echo "$lt_cv_deplibs_check_method" >&6; }
-
-file_magic_glob=
-want_nocaseglob=no
-if test "$build" = "$host"; then
- case $host_os in
- mingw* | pw32*)
- if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
- want_nocaseglob=yes
- else
- file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
- fi
- ;;
- esac
-fi
-
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DLLTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$DLLTOOL"; then
- ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-DLLTOOL=$ac_cv_prog_DLLTOOL
-if test -n "$DLLTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
-$as_echo "$DLLTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DLLTOOL"; then
- ac_ct_DLLTOOL=$DLLTOOL
- # Extract the first word of "dlltool", so it can be a program name with args.
-set dummy dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_DLLTOOL"; then
- ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_DLLTOOL="dlltool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
-if test -n "$ac_ct_DLLTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
-$as_echo "$ac_ct_DLLTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_DLLTOOL" = x; then
- DLLTOOL="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- DLLTOOL=$ac_ct_DLLTOOL
- fi
-else
- DLLTOOL="$ac_cv_prog_DLLTOOL"
-fi
-
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
-$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
-if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_sharedlib_from_linklib_cmd='unknown'
-
-case $host_os in
-cygwin* | mingw* | pw32* | cegcc*)
- # two different shell functions defined in ltmain.sh
- # decide which to use based on capabilities of $DLLTOOL
- case `$DLLTOOL --help 2>&1` in
- *--identify-strict*)
- lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
- ;;
- *)
- lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
- ;;
- esac
- ;;
-*)
- # fallback: assume linklib IS sharedlib
- lt_cv_sharedlib_from_linklib_cmd="$ECHO"
- ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
-$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
-sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
-test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- for ac_prog in ar
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$AR"; then
- ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$AR" && break
- done
-fi
-if test -z "$AR"; then
- ac_ct_AR=$AR
- for ac_prog in ar
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_AR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_AR"; then
- ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_AR="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-$as_echo "$ac_ct_AR" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_AR" && break
-done
-
- if test "x$ac_ct_AR" = x; then
- AR="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- AR=$ac_ct_AR
- fi
-fi
-
-: ${AR=ar}
-: ${AR_FLAGS=cru}
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
-$as_echo_n "checking for archiver @FILE support... " >&6; }
-if ${lt_cv_ar_at_file+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ar_at_file=no
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- echo conftest.$ac_objext > conftest.lst
- lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
- (eval $lt_ar_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if test "$ac_status" -eq 0; then
- # Ensure the archiver fails upon bogus file names.
- rm -f conftest.$ac_objext libconftest.a
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
- (eval $lt_ar_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if test "$ac_status" -ne 0; then
- lt_cv_ar_at_file=@
- fi
- fi
- rm -f conftest.* libconftest.a
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
-$as_echo "$lt_cv_ar_at_file" >&6; }
-
-if test "x$lt_cv_ar_at_file" = xno; then
- archiver_list_spec=
-else
- archiver_list_spec=$lt_cv_ar_at_file
-fi
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_STRIP="strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_STRIP" = x; then
- STRIP=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- STRIP=$ac_ct_STRIP
- fi
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
-
-test -z "$STRIP" && STRIP=:
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
- ac_ct_RANLIB=$RANLIB
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_RANLIB"; then
- ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_RANLIB="ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_RANLIB" = x; then
- RANLIB=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- RANLIB=$ac_ct_RANLIB
- fi
-else
- RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-test -z "$RANLIB" && RANLIB=:
-
-
-
-
-
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
- case $host_os in
- openbsd*)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
- ;;
- *)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
- ;;
- esac
- old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-
-case $host_os in
- darwin*)
- lock_old_archive_extraction=yes ;;
- *)
- lock_old_archive_extraction=no ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
-$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if ${lt_cv_sys_global_symbol_pipe+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix. What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Define system-specific variables.
-case $host_os in
-aix*)
- symcode='[BCDT]'
- ;;
-cygwin* | mingw* | pw32* | cegcc*)
- symcode='[ABCDGISTW]'
- ;;
-hpux*)
- if test "$host_cpu" = ia64; then
- symcode='[ABCDEGRST]'
- fi
- ;;
-irix* | nonstopux*)
- symcode='[BCDEGRST]'
- ;;
-osf*)
- symcode='[BCDEGQRST]'
- ;;
-solaris*)
- symcode='[BDRT]'
- ;;
-sco3.2v5*)
- symcode='[DT]'
- ;;
-sysv4.2uw2*)
- symcode='[DT]'
- ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
- symcode='[ABDT]'
- ;;
-sysv4)
- symcode='[DFNSTU]'
- ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
- symcode='[ABCDGIRSTW]' ;;
-esac
-
-# Transform an extracted symbol line into a proper C declaration.
-# Some systems (esp. on ia64) link data and code symbols differently,
-# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
- opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
- ;;
-esac
-
-# Try without a prefix underscore, then with it.
-for ac_symprfx in "" "_"; do
-
- # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
- symxfrm="\\1 $ac_symprfx\\2 \\2"
-
- # Write the raw and C identifiers.
- if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- # Fake it for dumpbin and say T for any non-static function
- # and D for any global variable.
- # Also find C++ and __fastcall symbols from MSVC++,
- # which start with @ or ?.
- lt_cv_sys_global_symbol_pipe="$AWK '"\
-" {last_section=section; section=\$ 3};"\
-" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-" \$ 0!~/External *\|/{next};"\
-" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-" {if(hide[section]) next};"\
-" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-" s[1]~/^[@?]/{print s[1], s[1]; next};"\
-" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
-" ' prfx=^$ac_symprfx"
- else
- lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
- fi
- lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
-
- # Check to see that the pipe works correctly.
- pipe_works=no
-
- rm -f conftest*
- cat > conftest.$ac_ext <<_LT_EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(void);
-void nm_test_func(void){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-_LT_EOF
-
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- # Now try to grab the symbols.
- nlist=conftest.nm
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
- (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s "$nlist"; then
- # Try sorting and uniquifying the output.
- if sort "$nlist" | uniq > "$nlist"T; then
- mv -f "$nlist"T "$nlist"
- else
- rm -f "$nlist"T
- fi
-
- # Make sure that we snagged all the symbols we need.
- if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
- if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
- cat <<_LT_EOF > conftest.$ac_ext
-/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-/* DATA imports from DLLs on WIN32 con't be const, because runtime
- relocations are performed -- see ld's documentation on pseudo-relocs. */
-# define LT_DLSYM_CONST
-#elif defined(__osf__)
-/* This system does not cope well with relocations in const data. */
-# define LT_DLSYM_CONST
-#else
-# define LT_DLSYM_CONST const
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_LT_EOF
- # Now generate the symbol file.
- eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
-
- cat <<_LT_EOF >> conftest.$ac_ext
-
-/* The mapping between symbol names and symbols. */
-LT_DLSYM_CONST struct {
- const char *name;
- void *address;
-}
-lt__PROGRAM__LTX_preloaded_symbols[] =
-{
- { "@PROGRAM@", (void *) 0 },
-_LT_EOF
- $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
- cat <<\_LT_EOF >> conftest.$ac_ext
- {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
- return lt__PROGRAM__LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-_LT_EOF
- # Now try linking the two files.
- mv conftest.$ac_objext conftstm.$ac_objext
- lt_globsym_save_LIBS=$LIBS
- lt_globsym_save_CFLAGS=$CFLAGS
- LIBS="conftstm.$ac_objext"
- CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext}; then
- pipe_works=yes
- fi
- LIBS=$lt_globsym_save_LIBS
- CFLAGS=$lt_globsym_save_CFLAGS
- else
- echo "cannot find nm_test_func in $nlist" >&5
- fi
- else
- echo "cannot find nm_test_var in $nlist" >&5
- fi
- else
- echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
- fi
- else
- echo "$progname: failed program was:" >&5
- cat conftest.$ac_ext >&5
- fi
- rm -rf conftest* conftst*
-
- # Do not use the global_symbol_pipe unless it works.
- if test "$pipe_works" = yes; then
- break
- else
- lt_cv_sys_global_symbol_pipe=
- fi
-done
-
-fi
-
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
- lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
-$as_echo "ok" >&6; }
-fi
-
-# Response file support.
-if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- nm_file_list_spec='@'
-elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
- nm_file_list_spec='@'
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
-$as_echo_n "checking for sysroot... " >&6; }
-
-# Check whether --with-sysroot was given.
-if test "${with_sysroot+set}" = set; then :
- withval=$with_sysroot;
-else
- with_sysroot=no
-fi
-
-
-lt_sysroot=
-case ${with_sysroot} in #(
- yes)
- if test "$GCC" = yes; then
- lt_sysroot=`$CC --print-sysroot 2>/dev/null`
- fi
- ;; #(
- /*)
- lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
- ;; #(
- no|'')
- ;; #(
- *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
-$as_echo "${with_sysroot}" >&6; }
- as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
- ;;
-esac
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
-$as_echo "${lt_sysroot:-no}" >&6; }
-
-
-
-
-
-# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then :
- enableval=$enable_libtool_lock;
-fi
-
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- case `/usr/bin/file conftest.$ac_objext` in
- *ELF-32*)
- HPUX_IA64_MODE="32"
- ;;
- *ELF-64*)
- HPUX_IA64_MODE="64"
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-*-*-irix6*)
- # Find out which ABI we are using.
- echo '#line '$LINENO' "configure"' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- if test "$lt_cv_prog_gnu_ld" = yes; then
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -melf32bsmip"
- ;;
- *N32*)
- LD="${LD-ld} -melf32bmipn32"
- ;;
- *64-bit*)
- LD="${LD-ld} -melf64bmip"
- ;;
- esac
- else
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -32"
- ;;
- *N32*)
- LD="${LD-ld} -n32"
- ;;
- *64-bit*)
- LD="${LD-ld} -64"
- ;;
- esac
- fi
- fi
- rm -rf conftest*
- ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- case `/usr/bin/file conftest.o` in
- *32-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_i386_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_i386"
- ;;
- ppc64-*linux*|powerpc64-*linux*)
- LD="${LD-ld} -m elf32ppclinux"
- ;;
- s390x-*linux*)
- LD="${LD-ld} -m elf_s390"
- ;;
- sparc64-*linux*)
- LD="${LD-ld} -m elf32_sparc"
- ;;
- esac
- ;;
- *64-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_x86_64_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_x86_64"
- ;;
- ppc*-*linux*|powerpc*-*linux*)
- LD="${LD-ld} -m elf64ppc"
- ;;
- s390*-*linux*|s390*-*tpf*)
- LD="${LD-ld} -m elf64_s390"
- ;;
- sparc*-*linux*)
- LD="${LD-ld} -m elf64_sparc"
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-
-*-*-sco3.2v5*)
- # On SCO OpenServer 5, we need -belf to get full-featured binaries.
- SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -belf"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
-$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if ${lt_cv_cc_needs_belf+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- lt_cv_cc_needs_belf=yes
-else
- lt_cv_cc_needs_belf=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
-$as_echo "$lt_cv_cc_needs_belf" >&6; }
- if test x"$lt_cv_cc_needs_belf" != x"yes"; then
- # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
- CFLAGS="$SAVE_CFLAGS"
- fi
- ;;
-sparc*-*solaris*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- case `/usr/bin/file conftest.o` in
- *64-bit*)
- case $lt_cv_prog_gnu_ld in
- yes*) LD="${LD-ld} -m elf64_sparc" ;;
- *)
- if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
- LD="${LD-ld} -64"
- fi
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-esac
-
-need_locks="$enable_libtool_lock"
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
-set dummy ${ac_tool_prefix}mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$MANIFEST_TOOL"; then
- ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
-if test -n "$MANIFEST_TOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
-$as_echo "$MANIFEST_TOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
- ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
- # Extract the first word of "mt", so it can be a program name with args.
-set dummy mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_MANIFEST_TOOL"; then
- ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
-if test -n "$ac_ct_MANIFEST_TOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
-$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_MANIFEST_TOOL" = x; then
- MANIFEST_TOOL=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
- fi
-else
- MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
-fi
-
-test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
-$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
-if ${lt_cv_path_mainfest_tool+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_path_mainfest_tool=no
- echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
- $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
- cat conftest.err >&5
- if $GREP 'Manifest Tool' conftest.out > /dev/null; then
- lt_cv_path_mainfest_tool=yes
- fi
- rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
-$as_echo "$lt_cv_path_mainfest_tool" >&6; }
-if test "x$lt_cv_path_mainfest_tool" != xyes; then
- MANIFEST_TOOL=:
-fi
-
-
-
-
-
-
- case $host_os in
- rhapsody* | darwin*)
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DSYMUTIL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$DSYMUTIL"; then
- ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-DSYMUTIL=$ac_cv_prog_DSYMUTIL
-if test -n "$DSYMUTIL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
-$as_echo "$DSYMUTIL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DSYMUTIL"; then
- ac_ct_DSYMUTIL=$DSYMUTIL
- # Extract the first word of "dsymutil", so it can be a program name with args.
-set dummy dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_DSYMUTIL"; then
- ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
-if test -n "$ac_ct_DSYMUTIL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
-$as_echo "$ac_ct_DSYMUTIL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_DSYMUTIL" = x; then
- DSYMUTIL=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- DSYMUTIL=$ac_ct_DSYMUTIL
- fi
-else
- DSYMUTIL="$ac_cv_prog_DSYMUTIL"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
-set dummy ${ac_tool_prefix}nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_NMEDIT+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$NMEDIT"; then
- ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-NMEDIT=$ac_cv_prog_NMEDIT
-if test -n "$NMEDIT"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
-$as_echo "$NMEDIT" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_NMEDIT"; then
- ac_ct_NMEDIT=$NMEDIT
- # Extract the first word of "nmedit", so it can be a program name with args.
-set dummy nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_NMEDIT"; then
- ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_NMEDIT="nmedit"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
-if test -n "$ac_ct_NMEDIT"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
-$as_echo "$ac_ct_NMEDIT" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_NMEDIT" = x; then
- NMEDIT=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- NMEDIT=$ac_ct_NMEDIT
- fi
-else
- NMEDIT="$ac_cv_prog_NMEDIT"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
-set dummy ${ac_tool_prefix}lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_LIPO+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$LIPO"; then
- ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-LIPO=$ac_cv_prog_LIPO
-if test -n "$LIPO"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
-$as_echo "$LIPO" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_LIPO"; then
- ac_ct_LIPO=$LIPO
- # Extract the first word of "lipo", so it can be a program name with args.
-set dummy lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_LIPO"; then
- ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_LIPO="lipo"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
-if test -n "$ac_ct_LIPO"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
-$as_echo "$ac_ct_LIPO" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_LIPO" = x; then
- LIPO=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- LIPO=$ac_ct_LIPO
- fi
-else
- LIPO="$ac_cv_prog_LIPO"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$OTOOL"; then
- ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL=$ac_cv_prog_OTOOL
-if test -n "$OTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
-$as_echo "$OTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL"; then
- ac_ct_OTOOL=$OTOOL
- # Extract the first word of "otool", so it can be a program name with args.
-set dummy otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_OTOOL"; then
- ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_OTOOL="otool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
-if test -n "$ac_ct_OTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
-$as_echo "$ac_ct_OTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_OTOOL" = x; then
- OTOOL=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- OTOOL=$ac_ct_OTOOL
- fi
-else
- OTOOL="$ac_cv_prog_OTOOL"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL64+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$OTOOL64"; then
- ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL64=$ac_cv_prog_OTOOL64
-if test -n "$OTOOL64"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
-$as_echo "$OTOOL64" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL64"; then
- ac_ct_OTOOL64=$OTOOL64
- # Extract the first word of "otool64", so it can be a program name with args.
-set dummy otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_OTOOL64"; then
- ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_OTOOL64="otool64"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
-if test -n "$ac_ct_OTOOL64"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
-$as_echo "$ac_ct_OTOOL64" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_OTOOL64" = x; then
- OTOOL64=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- OTOOL64=$ac_ct_OTOOL64
- fi
-else
- OTOOL64="$ac_cv_prog_OTOOL64"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
-$as_echo_n "checking for -single_module linker flag... " >&6; }
-if ${lt_cv_apple_cc_single_mod+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_apple_cc_single_mod=no
- if test -z "${LT_MULTI_MODULE}"; then
- # By default we will add the -single_module flag. You can override
- # by either setting the environment variable LT_MULTI_MODULE
- # non-empty at configure time, or by adding -multi_module to the
- # link flags.
- rm -rf libconftest.dylib*
- echo "int foo(void){return 1;}" > conftest.c
- echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
--dynamiclib -Wl,-single_module conftest.c" >&5
- $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
- -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
- _lt_result=$?
- if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
- lt_cv_apple_cc_single_mod=yes
- else
- cat conftest.err >&5
- fi
- rm -rf libconftest.dylib*
- rm -f conftest.*
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
-$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
-$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if ${lt_cv_ld_exported_symbols_list+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ld_exported_symbols_list=no
- save_LDFLAGS=$LDFLAGS
- echo "_main" > conftest.sym
- LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- lt_cv_ld_exported_symbols_list=yes
-else
- lt_cv_ld_exported_symbols_list=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
-$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
-$as_echo_n "checking for -force_load linker flag... " >&6; }
-if ${lt_cv_ld_force_load+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ld_force_load=no
- cat > conftest.c << _LT_EOF
-int forced_loaded() { return 2;}
-_LT_EOF
- echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
- $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
- echo "$AR cru libconftest.a conftest.o" >&5
- $AR cru libconftest.a conftest.o 2>&5
- echo "$RANLIB libconftest.a" >&5
- $RANLIB libconftest.a 2>&5
- cat > conftest.c << _LT_EOF
-int main() { return 0;}
-_LT_EOF
- echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
- $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
- _lt_result=$?
- if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
- lt_cv_ld_force_load=yes
- else
- cat conftest.err >&5
- fi
- rm -f conftest.err libconftest.a conftest conftest.c
- rm -rf conftest.dSYM
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
-$as_echo "$lt_cv_ld_force_load" >&6; }
- case $host_os in
- rhapsody* | darwin1.[012])
- _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
- darwin1.*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- darwin*) # darwin 5.x on
- # if running on 10.5 or later, the deployment target defaults
- # to the OS version, if on x86, and 10.4, the deployment
- # target defaults to 10.4. Don't you love it?
- case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
- 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- 10.[012]*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- 10.*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- esac
- ;;
- esac
- if test "$lt_cv_apple_cc_single_mod" = "yes"; then
- _lt_dar_single_mod='$single_module'
- fi
- if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
- _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
- else
- _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
- fi
- if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
- _lt_dsymutil='~$DSYMUTIL $lib || :'
- else
- _lt_dsymutil=
- fi
- ;;
- esac
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
- if ${ac_cv_prog_CPP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Double quotes because CPP needs to be expanded
- for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
- do
- ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
- break
-fi
-
- done
- ac_cv_prog_CPP=$CPP
-
-fi
- CPP=$ac_cv_prog_CPP
-else
- ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_header_stdc=yes
-else
- ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then :
- :
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- return 2;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
- inttypes.h stdint.h unistd.h
-do :
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_header in dlfcn.h
-do :
- ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
-"
-if test "x$ac_cv_header_dlfcn_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_DLFCN_H 1
-_ACEOF
-
-fi
-
-done
-
-
-
-
-
-# Set options
-
-
-
- enable_dlopen=no
-
-
- enable_win32_dll=no
-
-
- # Check whether --enable-shared was given.
-if test "${enable_shared+set}" = set; then :
- enableval=$enable_shared; p=${PACKAGE-default}
- case $enableval in
- yes) enable_shared=yes ;;
- no) enable_shared=no ;;
- *)
- enable_shared=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_shared=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_shared=yes
-fi
-
-
-
-
-
-
-
-
-
- # Check whether --enable-static was given.
-if test "${enable_static+set}" = set; then :
- enableval=$enable_static; p=${PACKAGE-default}
- case $enableval in
- yes) enable_static=yes ;;
- no) enable_static=no ;;
- *)
- enable_static=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_static=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_static=yes
-fi
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-pic was given.
-if test "${with_pic+set}" = set; then :
- withval=$with_pic; pic_mode="$withval"
-else
- pic_mode=default
-fi
-
-
-test -z "$pic_mode" && pic_mode=default
-
-
-
-
-
-
-
- # Check whether --enable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then :
- enableval=$enable_fast_install; p=${PACKAGE-default}
- case $enableval in
- yes) enable_fast_install=yes ;;
- no) enable_fast_install=no ;;
- *)
- enable_fast_install=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_fast_install=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_fast_install=yes
-fi
-
-
-
-
-
-
-
-
-
-
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-test -z "$LN_S" && LN_S="ln -s"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
-$as_echo_n "checking for objdir... " >&6; }
-if ${lt_cv_objdir+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
- lt_cv_objdir=.libs
-else
- # MS-DOS does not allow filenames that begin with a dot.
- lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
-$as_echo "$lt_cv_objdir" >&6; }
-objdir=$lt_cv_objdir
-
-
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define LT_OBJDIR "$lt_cv_objdir/"
-_ACEOF
-
-
-
-
-case $host_os in
-aix3*)
- # AIX sometimes has problems with the GCC collect2 program. For some
- # reason, if we set the COLLECT_NAMES environment variable, the problems
- # vanish in a puff of smoke.
- if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
- fi
- ;;
-esac
-
-# Global variables:
-ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$LD" && LD=ld
-test -z "$ac_objext" && ac_objext=o
-
-for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
-
-
-# Only perform the check for file, if the check method requires it
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-case $deplibs_check_method in
-file_magic*)
- if test "$file_magic_cmd" = '$MAGIC_CMD'; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
-$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $MAGIC_CMD in
-[\\/*] | ?:[\\/]*)
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- ;;
-*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
- for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/${ac_tool_prefix}file; then
- lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
- if test -n "$file_magic_test_file"; then
- case $deplibs_check_method in
- "file_magic "*)
- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- $EGREP "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
- fi ;;
- esac
- fi
- break
- fi
- done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
- ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-
-
-if test -z "$lt_cv_path_MAGIC_CMD"; then
- if test -n "$ac_tool_prefix"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
-$as_echo_n "checking for file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $MAGIC_CMD in
-[\\/*] | ?:[\\/]*)
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- ;;
-*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
- for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/file; then
- lt_cv_path_MAGIC_CMD="$ac_dir/file"
- if test -n "$file_magic_test_file"; then
- case $deplibs_check_method in
- "file_magic "*)
- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- $EGREP "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
- fi ;;
- esac
- fi
- break
- fi
- done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
- ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- else
- MAGIC_CMD=:
- fi
-fi
-
- fi
- ;;
-esac
-
-# Use C for the default configuration in the libtool script
-
-lt_save_CC="$CC"
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-objext=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-# Save the default compiler, since it gets overwritten when the other
-# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
-compiler_DEFAULT=$CC
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$RM conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$RM -r conftest*
-
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-if test -n "$compiler"; then
-
-lt_prog_compiler_no_builtin_flag=
-
-if test "$GCC" = yes; then
- case $cc_basename in
- nvcc*)
- lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
- *)
- lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
- esac
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_rtti_exceptions=no
- ac_outfile=conftest.$ac_objext
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="-fno-rtti -fno-exceptions"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_rtti_exceptions=yes
- fi
- fi
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
-
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
- lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
-else
- :
-fi
-
-fi
-
-
-
-
-
-
- lt_prog_compiler_wl=
-lt_prog_compiler_pic=
-lt_prog_compiler_static=
-
-
- if test "$GCC" = yes; then
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_static='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static='-Bstatic'
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- lt_prog_compiler_pic='-fPIC'
- ;;
- m68k)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
- ;;
- esac
- ;;
-
- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
-
- mingw* | cygwin* | pw32* | os2* | cegcc*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- # Although the cygwin gcc ignores -fPIC, still need this for old-style
- # (--disable-auto-import) libraries
- lt_prog_compiler_pic='-DDLL_EXPORT'
- ;;
-
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- lt_prog_compiler_pic='-fno-common'
- ;;
-
- haiku*)
- # PIC is the default for Haiku.
- # The "-static" flag exists, but is broken.
- lt_prog_compiler_static=
- ;;
-
- hpux*)
- # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
- # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
- # sets the default TLS model and affects inlining.
- case $host_cpu in
- hppa*64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic='-fPIC'
- ;;
- esac
- ;;
-
- interix[3-9]*)
- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- # Instead, we relocate shared libraries at runtime.
- ;;
-
- msdosdjgpp*)
- # Just because we use GCC doesn't mean we suddenly get shared libraries
- # on systems that don't support them.
- lt_prog_compiler_can_build_shared=no
- enable_shared=no
- ;;
-
- *nto* | *qnx*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- lt_prog_compiler_pic='-fPIC -shared'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- lt_prog_compiler_pic=-Kconform_pic
- fi
- ;;
-
- *)
- lt_prog_compiler_pic='-fPIC'
- ;;
- esac
-
- case $cc_basename in
- nvcc*) # Cuda Compiler Driver 2.2
- lt_prog_compiler_wl='-Xlinker '
- lt_prog_compiler_pic='-Xcompiler -fPIC'
- ;;
- esac
- else
- # PORTME Check for flag to pass linker flags through the system compiler.
- case $host_os in
- aix*)
- lt_prog_compiler_wl='-Wl,'
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static='-Bstatic'
- else
- lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
-
- mingw* | cygwin* | pw32* | os2* | cegcc*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- lt_prog_compiler_pic='-DDLL_EXPORT'
- ;;
-
- hpux9* | hpux10* | hpux11*)
- lt_prog_compiler_wl='-Wl,'
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic='+Z'
- ;;
- esac
- # Is there a better lt_prog_compiler_static that works with the bundled CC?
- lt_prog_compiler_static='${wl}-a ${wl}archive'
- ;;
-
- irix5* | irix6* | nonstopux*)
- lt_prog_compiler_wl='-Wl,'
- # PIC (with -KPIC) is the default.
- lt_prog_compiler_static='-non_shared'
- ;;
-
- linux* | k*bsd*-gnu | kopensolaris*-gnu)
- case $cc_basename in
- # old Intel for x86_64 which still supported -KPIC.
- ecc*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-static'
- ;;
- # icc used to be incompatible with GCC.
- # ICC 10 doesn't accept -KPIC any more.
- icc* | ifort*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-fPIC'
- lt_prog_compiler_static='-static'
- ;;
- # Lahey Fortran 8.1.
- lf95*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='--shared'
- lt_prog_compiler_static='--static'
- ;;
- nagfor*)
- # NAG Fortran compiler
- lt_prog_compiler_wl='-Wl,-Wl,,'
- lt_prog_compiler_pic='-PIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
- pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
- # Portland Group compilers (*not* the Pentium gcc compiler,
- # which looks to be a dead project)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-fpic'
- lt_prog_compiler_static='-Bstatic'
- ;;
- ccc*)
- lt_prog_compiler_wl='-Wl,'
- # All Alpha code is PIC.
- lt_prog_compiler_static='-non_shared'
- ;;
- xl* | bgxl* | bgf* | mpixl*)
- # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-qpic'
- lt_prog_compiler_static='-qstaticlink'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ F* | *Sun*Fortran*)
- # Sun Fortran 8.3 passes all unrecognized flags to the linker
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- lt_prog_compiler_wl=''
- ;;
- *Sun\ C*)
- # Sun C 5.9
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- lt_prog_compiler_wl='-Wl,'
- ;;
- esac
- ;;
- esac
- ;;
-
- newsos6)
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- *nto* | *qnx*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- lt_prog_compiler_pic='-fPIC -shared'
- ;;
-
- osf3* | osf4* | osf5*)
- lt_prog_compiler_wl='-Wl,'
- # All OSF/1 code is PIC.
- lt_prog_compiler_static='-non_shared'
- ;;
-
- rdos*)
- lt_prog_compiler_static='-non_shared'
- ;;
-
- solaris*)
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- case $cc_basename in
- f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
- lt_prog_compiler_wl='-Qoption ld ';;
- *)
- lt_prog_compiler_wl='-Wl,';;
- esac
- ;;
-
- sunos4*)
- lt_prog_compiler_wl='-Qoption ld '
- lt_prog_compiler_pic='-PIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- sysv4 | sysv4.2uw2* | sysv4.3*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec ;then
- lt_prog_compiler_pic='-Kconform_pic'
- lt_prog_compiler_static='-Bstatic'
- fi
- ;;
-
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- unicos*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_can_build_shared=no
- ;;
-
- uts4*)
- lt_prog_compiler_pic='-pic'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- *)
- lt_prog_compiler_can_build_shared=no
- ;;
- esac
- fi
-
-case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- lt_prog_compiler_pic=
- ;;
- *)
- lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
- ;;
-esac
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
-if ${lt_cv_prog_compiler_pic+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
-$as_echo "$lt_cv_prog_compiler_pic" >&6; }
-lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if ${lt_cv_prog_compiler_pic_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_pic_works=no
- ac_outfile=conftest.$ac_objext
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_pic_works=yes
- fi
- fi
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
-$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
- case $lt_prog_compiler_pic in
- "" | " "*) ;;
- *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
- esac
-else
- lt_prog_compiler_pic=
- lt_prog_compiler_can_build_shared=no
-fi
-
-fi
-
-
-
-
-
-
-
-
-
-
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if ${lt_cv_prog_compiler_static_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_static_works=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
- echo "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_static_works=yes
- fi
- else
- lt_cv_prog_compiler_static_works=yes
- fi
- fi
- $RM -r conftest*
- LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
-$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_static_works" = xyes; then
- :
-else
- lt_prog_compiler_static=
-fi
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_c_o=no
- $RM -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o=yes
- fi
- fi
- chmod u+w . 2>&5
- $RM conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
- $RM out/* && rmdir out
- cd ..
- $RM -r conftest
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_c_o=no
- $RM -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o=yes
- fi
- fi
- chmod u+w . 2>&5
- $RM conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
- $RM out/* && rmdir out
- cd ..
- $RM -r conftest
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
- # do not overwrite the value of need_locks provided by the user
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
-$as_echo_n "checking if we can lock with hard links... " >&6; }
- hard_links=yes
- $RM conftest*
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- touch conftest.a
- ln conftest.a conftest.b 2>&5 || hard_links=no
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
-$as_echo "$hard_links" >&6; }
- if test "$hard_links" = no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
- need_locks=warn
- fi
-else
- need_locks=no
-fi
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
-
- runpath_var=
- allow_undefined_flag=
- always_export_symbols=no
- archive_cmds=
- archive_expsym_cmds=
- compiler_needs_object=no
- enable_shared_with_static_runtimes=no
- export_dynamic_flag_spec=
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- hardcode_automatic=no
- hardcode_direct=no
- hardcode_direct_absolute=no
- hardcode_libdir_flag_spec=
- hardcode_libdir_flag_spec_ld=
- hardcode_libdir_separator=
- hardcode_minus_L=no
- hardcode_shlibpath_var=unsupported
- inherit_rpath=no
- link_all_deplibs=unknown
- module_cmds=
- module_expsym_cmds=
- old_archive_from_new_cmds=
- old_archive_from_expsyms_cmds=
- thread_safe_flag_spec=
- whole_archive_flag_spec=
- # include_expsyms should be a list of space-separated symbols to be *always*
- # included in the symbol list
- include_expsyms=
- # exclude_expsyms can be an extended regexp of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
- exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
- # platforms (ab)use it in PIC code, but their linkers get confused if
- # the symbol is explicitly referenced. Since portable code cannot
- # rely on this symbol name, it's probably fine to never include it in
- # preloaded symbol tables.
- # Exclude shared library initialization/finalization symbols.
- extract_expsyms_cmds=
-
- case $host_os in
- cygwin* | mingw* | pw32* | cegcc*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- if test "$GCC" != yes; then
- with_gnu_ld=no
- fi
- ;;
- interix*)
- # we just hope/assume this is gcc and not c89 (= MSVC++)
- with_gnu_ld=yes
- ;;
- openbsd*)
- with_gnu_ld=no
- ;;
- esac
-
- ld_shlibs=yes
-
- # On some targets, GNU ld is compatible enough with the native linker
- # that we're better off using the native interface for both.
- lt_use_gnu_ld_interface=no
- if test "$with_gnu_ld" = yes; then
- case $host_os in
- aix*)
- # The AIX port of GNU ld has always aspired to compatibility
- # with the native linker. However, as the warning in the GNU ld
- # block says, versions before 2.19.5* couldn't really create working
- # shared libraries, regardless of the interface used.
- case `$LD -v 2>&1` in
- *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
- *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
- *\ \(GNU\ Binutils\)\ [3-9]*) ;;
- *)
- lt_use_gnu_ld_interface=yes
- ;;
- esac
- ;;
- *)
- lt_use_gnu_ld_interface=yes
- ;;
- esac
- fi
-
- if test "$lt_use_gnu_ld_interface" = yes; then
- # If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
-
- # Set some defaults for GNU ld with shared library support. These
- # are reset later if shared libraries are not supported. Putting them
- # here allows them to be overridden if necessary.
- runpath_var=LD_RUN_PATH
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- export_dynamic_flag_spec='${wl}--export-dynamic'
- # ancient GNU ld didn't support --whole-archive et. al.
- if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
- whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- whole_archive_flag_spec=
- fi
- supports_anon_versioning=no
- case `$LD -v 2>&1` in
- *GNU\ gold*) supports_anon_versioning=yes ;;
- *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
- *\ 2.11.*) ;; # other 2.11 versions
- *) supports_anon_versioning=yes ;;
- esac
-
- # See if GNU ld supports shared libraries.
- case $host_os in
- aix[3-9]*)
- # On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
- ld_shlibs=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.19, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support. If you
-*** really care for shared libraries, you may want to install binutils
-*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
-*** You will then need to restart the configuration process.
-
-_LT_EOF
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds=''
- ;;
- m68k)
- archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- ;;
- esac
- ;;
-
- beos*)
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- allow_undefined_flag=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
-
- cygwin* | mingw* | pw32* | cegcc*)
- # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
- # as there is no search path for DLLs.
- hardcode_libdir_flag_spec='-L$libdir'
- export_dynamic_flag_spec='${wl}--export-all-symbols'
- allow_undefined_flag=unsupported
- always_export_symbols=no
- enable_shared_with_static_runtimes=yes
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
- exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
-
- if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- ld_shlibs=no
- fi
- ;;
-
- haiku*)
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- link_all_deplibs=yes
- ;;
-
- interix[3-9]*)
- hardcode_direct=no
- hardcode_shlibpath_var=no
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- export_dynamic_flag_spec='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
-
- gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
- tmp_diet=no
- if test "$host_os" = linux-dietlibc; then
- case $cc_basename in
- diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
- esac
- fi
- if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
- && test "$tmp_diet" = no
- then
- tmp_addflag=' $pic_flag'
- tmp_sharedflag='-shared'
- case $cc_basename,$host_cpu in
- pgcc*) # Portland Group C compiler
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag'
- ;;
- pgf77* | pgf90* | pgf95* | pgfortran*)
- # Portland Group f77 and f90 compilers
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag -Mnomain' ;;
- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
- tmp_addflag=' -i_dynamic' ;;
- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
- tmp_addflag=' -i_dynamic -nofor_main' ;;
- ifc* | ifort*) # Intel Fortran compiler
- tmp_addflag=' -nofor_main' ;;
- lf95*) # Lahey Fortran 8.1
- whole_archive_flag_spec=
- tmp_sharedflag='--shared' ;;
- xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
- tmp_sharedflag='-qmkshrobj'
- tmp_addflag= ;;
- nvcc*) # Cuda Compiler Driver 2.2
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- compiler_needs_object=yes
- ;;
- esac
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*) # Sun C 5.9
- whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- compiler_needs_object=yes
- tmp_sharedflag='-G' ;;
- *Sun\ F*) # Sun Fortran 8.3
- tmp_sharedflag='-G' ;;
- esac
- archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
- if test "x$supports_anon_versioning" = xyes; then
- archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- fi
-
- case $cc_basename in
- xlf* | bgf* | bgxlf* | mpixlf*)
- # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
- whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
- hardcode_libdir_flag_spec=
- hardcode_libdir_flag_spec_ld='-rpath $libdir'
- archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
- if test "x$supports_anon_versioning" = xyes; then
- archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
- fi
- ;;
- esac
- else
- ld_shlibs=no
- fi
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
- wlarc=
- else
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- fi
- ;;
-
- solaris*)
- if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
- ld_shlibs=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
- case `$LD -v 2>&1` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
- ld_shlibs=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- ;;
- *)
- # For security reasons, it is highly recommended that you always
- # use absolute paths for naming shared libraries, and exclude the
- # DT_RUNPATH tag from executables and libraries. But doing so
- # requires that you compile everything twice, which is a pain.
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
- esac
- ;;
-
- sunos4*)
- archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- wlarc=
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- *)
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
- esac
-
- if test "$ld_shlibs" = no; then
- runpath_var=
- hardcode_libdir_flag_spec=
- export_dynamic_flag_spec=
- whole_archive_flag_spec=
- fi
- else
- # PORTME fill in a description of your system's linker (not GNU ld)
- case $host_os in
- aix3*)
- allow_undefined_flag=unsupported
- always_export_symbols=yes
- archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
- # Note: this linker hardcodes the directories in LIBPATH if there
- # are no directories specified by -L.
- hardcode_minus_L=yes
- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
- # Neither direct hardcoding nor static linking is supported with a
- # broken collect2.
- hardcode_direct=unsupported
- fi
- ;;
-
- aix[4-9]*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- # Also, AIX nm treats weak defined symbols like other global
- # defined symbols, whereas GNU nm marks them as "W".
- if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
- export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- else
- export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- fi
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
- for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- aix_use_runtimelinking=yes
- break
- fi
- done
- ;;
- esac
-
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
-
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- archive_cmds=''
- hardcode_direct=yes
- hardcode_direct_absolute=yes
- hardcode_libdir_separator=':'
- link_all_deplibs=yes
- file_list_spec='${wl}-f,'
-
- if test "$GCC" = yes; then
- case $host_os in aix4.[012]|aix4.[012].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" &&
- strings "$collect2name" | $GREP resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- :
- else
- # We have old collect2
- hardcode_direct=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- hardcode_minus_L=yes
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_libdir_separator=
- fi
- ;;
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
-
- export_dynamic_flag_spec='${wl}-bexpall'
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- always_export_symbols=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- allow_undefined_flag='-berok'
- # Determine the default libpath from the value encoded in an
- # empty executable.
- if test "${lt_cv_aix_libpath+set}" = set; then
- aix_libpath=$lt_cv_aix_libpath
-else
- if ${lt_cv_aix_libpath_+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
- lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\([^ ]*\) *$/\1/
- p
- }
- }'
- lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- # Check for a 64-bit object if we didn't find anything.
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_="/usr/lib:/lib"
- fi
-
-fi
-
- aix_libpath=$lt_cv_aix_libpath_
-fi
-
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
- allow_undefined_flag="-z nodefs"
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an
- # empty executable.
- if test "${lt_cv_aix_libpath+set}" = set; then
- aix_libpath=$lt_cv_aix_libpath
-else
- if ${lt_cv_aix_libpath_+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
- lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\([^ ]*\) *$/\1/
- p
- }
- }'
- lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- # Check for a 64-bit object if we didn't find anything.
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_="/usr/lib:/lib"
- fi
-
-fi
-
- aix_libpath=$lt_cv_aix_libpath_
-fi
-
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- no_undefined_flag=' ${wl}-bernotok'
- allow_undefined_flag=' ${wl}-berok'
- if test "$with_gnu_ld" = yes; then
- # We only use this code for GNU lds that support --whole-archive.
- whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
- else
- # Exported symbols can be pulled into shared objects from archives
- whole_archive_flag_spec='$convenience'
- fi
- archive_cmds_need_lc=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds=''
- ;;
- m68k)
- archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- ;;
- esac
- ;;
-
- bsdi[45]*)
- export_dynamic_flag_spec=-rdynamic
- ;;
-
- cygwin* | mingw* | pw32* | cegcc*)
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- case $cc_basename in
- cl*)
- # Native MSVC
- hardcode_libdir_flag_spec=' '
- allow_undefined_flag=unsupported
- always_export_symbols=yes
- file_list_spec='@'
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
- archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
- else
- sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
- fi~
- $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
- linknames='
- # The linker will not automatically build a static lib if we build a DLL.
- # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
- enable_shared_with_static_runtimes=yes
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
- # Don't use ranlib
- old_postinstall_cmds='chmod 644 $oldlib'
- postlink_cmds='lt_outputfile="@OUTPUT@"~
- lt_tool_outputfile="@TOOL_OUTPUT@"~
- case $lt_outputfile in
- *.exe|*.EXE) ;;
- *)
- lt_outputfile="$lt_outputfile.exe"
- lt_tool_outputfile="$lt_tool_outputfile.exe"
- ;;
- esac~
- if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
- $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
- $RM "$lt_outputfile.manifest";
- fi'
- ;;
- *)
- # Assume MSVC wrapper
- hardcode_libdir_flag_spec=' '
- allow_undefined_flag=unsupported
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
- # The linker will automatically build a .lib file if we build a DLL.
- old_archive_from_new_cmds='true'
- # FIXME: Should let the user specify the lib program.
- old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
- enable_shared_with_static_runtimes=yes
- ;;
- esac
- ;;
-
- darwin* | rhapsody*)
-
-
- archive_cmds_need_lc=no
- hardcode_direct=no
- hardcode_automatic=yes
- hardcode_shlibpath_var=unsupported
- if test "$lt_cv_ld_force_load" = "yes"; then
- whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
- else
- whole_archive_flag_spec=''
- fi
- link_all_deplibs=yes
- allow_undefined_flag="$_lt_dar_allow_undefined"
- case $cc_basename in
- ifort*) _lt_dar_can_shared=yes ;;
- *) _lt_dar_can_shared=$GCC ;;
- esac
- if test "$_lt_dar_can_shared" = "yes"; then
- output_verbose_link_cmd=func_echo_all
- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-
- else
- ld_shlibs=no
- fi
-
- ;;
-
- dgux*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_shlibpath_var=no
- ;;
-
- freebsd1*)
- ld_shlibs=no
- ;;
-
- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
- # support. Future versions do this automatically, but an explicit c++rt0.o
- # does not break anything, and helps significantly (at the cost of a little
- # extra space).
- freebsd2.2*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes
- hardcode_minus_L=yes
- hardcode_shlibpath_var=no
- ;;
-
- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | dragonfly*)
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- hpux9*)
- if test "$GCC" = yes; then
- archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- fi
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_direct=yes
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- export_dynamic_flag_spec='${wl}-E'
- ;;
-
- hpux10*)
- if test "$GCC" = yes && test "$with_gnu_ld" = no; then
- archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_flag_spec_ld='+b $libdir'
- hardcode_libdir_separator=:
- hardcode_direct=yes
- hardcode_direct_absolute=yes
- export_dynamic_flag_spec='${wl}-E'
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- fi
- ;;
-
- hpux11*)
- if test "$GCC" = yes && test "$with_gnu_ld" = no; then
- case $host_cpu in
- hppa*64*)
- archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- else
- case $host_cpu in
- hppa*64*)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
-
- # Older versions of the 11.00 compiler do not understand -b yet
- # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
-$as_echo_n "checking if $CC understands -b... " >&6; }
-if ${lt_cv_prog_compiler__b+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler__b=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS -b"
- echo "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler__b=yes
- fi
- else
- lt_cv_prog_compiler__b=yes
- fi
- fi
- $RM -r conftest*
- LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
-$as_echo "$lt_cv_prog_compiler__b" >&6; }
-
-if test x"$lt_cv_prog_compiler__b" = xyes; then
- archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-else
- archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-fi
-
- ;;
- esac
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
-
- case $host_cpu in
- hppa*64*|ia64*)
- hardcode_direct=no
- hardcode_shlibpath_var=no
- ;;
- *)
- hardcode_direct=yes
- hardcode_direct_absolute=yes
- export_dynamic_flag_spec='${wl}-E'
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- ;;
- esac
- fi
- ;;
-
- irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- # Try to use the -exported_symbol ld option, if it does not
- # work, assume that -exports_file does not work either and
- # implicitly export all symbols.
- # This should be the same for all languages, so no per-tag cache variable.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
-$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
-if ${lt_cv_irix_exported_symbol+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-int foo (void) { return 0; }
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- lt_cv_irix_exported_symbol=yes
-else
- lt_cv_irix_exported_symbol=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS="$save_LDFLAGS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
-$as_echo "$lt_cv_irix_exported_symbol" >&6; }
- if test "$lt_cv_irix_exported_symbol" = yes; then
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
- fi
- else
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
- fi
- archive_cmds_need_lc='no'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- inherit_rpath=yes
- link_all_deplibs=yes
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
- else
- archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
- fi
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- newsos6)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_shlibpath_var=no
- ;;
-
- *nto* | *qnx*)
- ;;
-
- openbsd*)
- if test -f /usr/libexec/ld.so; then
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- hardcode_direct_absolute=yes
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- export_dynamic_flag_spec='${wl}-E'
- else
- case $host_os in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-R$libdir'
- ;;
- *)
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- ;;
- esac
- fi
- else
- ld_shlibs=no
- fi
- ;;
-
- os2*)
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- allow_undefined_flag=unsupported
- archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
- ;;
-
- osf3*)
- if test "$GCC" = yes; then
- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- fi
- archive_cmds_need_lc='no'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- ;;
-
- osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- else
- allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
- $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
-
- # Both c and cxx compiler support -rpath directly
- hardcode_libdir_flag_spec='-rpath $libdir'
- fi
- archive_cmds_need_lc='no'
- hardcode_libdir_separator=:
- ;;
-
- solaris*)
- no_undefined_flag=' -z defs'
- if test "$GCC" = yes; then
- wlarc='${wl}'
- archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
- else
- case `$CC -V 2>&1` in
- *"Compilers 5.0"*)
- wlarc=''
- archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
- ;;
- *)
- wlarc='${wl}'
- archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
- ;;
- esac
- fi
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_shlibpath_var=no
- case $host_os in
- solaris2.[0-5] | solaris2.[0-5].*) ;;
- *)
- # The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'. GCC discards it without `$wl',
- # but is careful enough not to reorder.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- if test "$GCC" = yes; then
- whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
- else
- whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
- fi
- ;;
- esac
- link_all_deplibs=yes
- ;;
-
- sunos4*)
- if test "x$host_vendor" = xsequent; then
- # Use $CC to link under sequent, because it throws in some extra .o
- # files that make .init and .fini sections work.
- archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
- fi
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_direct=yes
- hardcode_minus_L=yes
- hardcode_shlibpath_var=no
- ;;
-
- sysv4)
- case $host_vendor in
- sni)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes # is this really true???
- ;;
- siemens)
- ## LD is ld it makes a PLAMLIB
- ## CC just makes a GrossModule.
- archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- reload_cmds='$CC -r -o $output$reload_objs'
- hardcode_direct=no
- ;;
- motorola)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=no #Motorola manual says yes, but my tests say they lie
- ;;
- esac
- runpath_var='LD_RUN_PATH'
- hardcode_shlibpath_var=no
- ;;
-
- sysv4.3*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var=no
- export_dynamic_flag_spec='-Bexport'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var=no
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- ld_shlibs=yes
- fi
- ;;
-
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
- no_undefined_flag='${wl}-z,text'
- archive_cmds_need_lc=no
- hardcode_shlibpath_var=no
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- no_undefined_flag='${wl}-z,text'
- allow_undefined_flag='${wl}-z,nodefs'
- archive_cmds_need_lc=no
- hardcode_shlibpath_var=no
- hardcode_libdir_flag_spec='${wl}-R,$libdir'
- hardcode_libdir_separator=':'
- link_all_deplibs=yes
- export_dynamic_flag_spec='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- uts4*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_shlibpath_var=no
- ;;
-
- *)
- ld_shlibs=no
- ;;
- esac
-
- if test x$host_vendor = xsni; then
- case $host in
- sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- export_dynamic_flag_spec='${wl}-Blargedynsym'
- ;;
- esac
- fi
- fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
-$as_echo "$ld_shlibs" >&6; }
-test "$ld_shlibs" = no && can_build_shared=no
-
-with_gnu_ld=$with_gnu_ld
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc" in
-x|xyes)
- # Assume -lc should be added
- archive_cmds_need_lc=yes
-
- if test "$enable_shared" = yes && test "$GCC" = yes; then
- case $archive_cmds in
- *'~'*)
- # FIXME: we may have to deal with multi-command sequences.
- ;;
- '$CC '*)
- # Test whether the compiler implicitly links with -lc since on some
- # systems, -lgcc has to come before -lc. If gcc already passes -lc
- # to ld, don't add -lc before -lgcc.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
-$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if ${lt_cv_archive_cmds_need_lc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- $RM conftest*
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$lt_prog_compiler_wl
- pic_flag=$lt_prog_compiler_pic
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$allow_undefined_flag
- allow_undefined_flag=
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
- (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- then
- lt_cv_archive_cmds_need_lc=no
- else
- lt_cv_archive_cmds_need_lc=yes
- fi
- allow_undefined_flag=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
-$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
- archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
- ;;
- esac
- fi
- ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
-$as_echo_n "checking dynamic linker characteristics... " >&6; }
-
-if test "$GCC" = yes; then
- case $host_os in
- darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
- *) lt_awk_arg="/^libraries:/" ;;
- esac
- case $host_os in
- mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;;
- *) lt_sed_strip_eq="s,=/,/,g" ;;
- esac
- lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
- case $lt_search_path_spec in
- *\;*)
- # if the path contains ";" then we assume it to be the separator
- # otherwise default to the standard path separator (i.e. ":") - it is
- # assumed that no part of a normal pathname contains ";" but that should
- # okay in the real world where ";" in dirpaths is itself problematic.
- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
- ;;
- *)
- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
- ;;
- esac
- # Ok, now we have the path, separated by spaces, we can step through it
- # and add multilib dir if necessary.
- lt_tmp_lt_search_path_spec=
- lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
- for lt_sys_path in $lt_search_path_spec; do
- if test -d "$lt_sys_path/$lt_multi_os_dir"; then
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
- else
- test -d "$lt_sys_path" && \
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
- fi
- done
- lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
-BEGIN {RS=" "; FS="/|\n";} {
- lt_foo="";
- lt_count=0;
- for (lt_i = NF; lt_i > 0; lt_i--) {
- if ($lt_i != "" && $lt_i != ".") {
- if ($lt_i == "..") {
- lt_count++;
- } else {
- if (lt_count == 0) {
- lt_foo="/" $lt_i lt_foo;
- } else {
- lt_count--;
- }
- }
- }
- }
- if (lt_foo != "") { lt_freq[lt_foo]++; }
- if (lt_freq[lt_foo] == 1) { print lt_foo; }
-}'`
- # AWK program above erroneously prepends '/' to C:/dos/paths
- # for these hosts.
- case $host_os in
- mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
- $SED 's,/\([A-Za-z]:\),\1,g'` ;;
- esac
- sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
-else
- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
- shlibpath_var=LIBPATH
-
- # AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
-
-aix[4-9]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
- # AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- else
- # With GCC up to 2.95.x, collect2 would create an import file
- # for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
- # development snapshots of GCC prior to 3.0.
- case $host_os in
- aix4 | aix4.[01] | aix4.[01].*)
- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
- echo ' yes '
- echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
- :
- else
- can_build_shared=no
- fi
- ;;
- esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
- # soname into executable. Probably we can add versioning support to
- # collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
- # instead of lib<name>.a to let people know that these are not
- # typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
- # We preserve .a as extension for shared libraries through AIX4.2
- # and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
- shlibpath_var=LIBPATH
- fi
- ;;
-
-amigaos*)
- case $host_cpu in
- powerpc)
- # Since July 2007 AmigaOS4 officially supports .so libraries.
- # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- ;;
- m68k)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
- ;;
- esac
- ;;
-
-beos*)
- library_names_spec='${libname}${shared_ext}'
- dynamic_linker="$host_os ld.so"
- shlibpath_var=LIBRARY_PATH
- ;;
-
-bsdi[45]*)
- version_type=linux
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
- # the default ld.so.conf also contains /usr/contrib/lib and
- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
- # libtool to hard-code these into programs
- ;;
-
-cygwin* | mingw* | pw32* | cegcc*)
- version_type=windows
- shrext_cmds=".dll"
- need_version=no
- need_lib_prefix=no
-
- case $GCC,$cc_basename in
- yes,*)
- # gcc
- library_names_spec='$libname.dll.a'
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname~
- chmod a+x \$dldir/$dlname~
- if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
- eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
- fi'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $RM \$dlpath'
- shlibpath_overrides_runpath=yes
-
- case $host_os in
- cygwin*)
- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-
- sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
- ;;
- mingw* | cegcc*)
- # MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- ;;
- pw32*)
- # pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- ;;
- esac
- dynamic_linker='Win32 ld.exe'
- ;;
-
- *,cl*)
- # Native MSVC
- libname_spec='$name'
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- library_names_spec='${libname}.dll.lib'
-
- case $build_os in
- mingw*)
- sys_lib_search_path_spec=
- lt_save_ifs=$IFS
- IFS=';'
- for lt_path in $LIB
- do
- IFS=$lt_save_ifs
- # Let DOS variable expansion print the short 8.3 style file name.
- lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
- sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
- done
- IFS=$lt_save_ifs
- # Convert to MSYS style.
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
- ;;
- cygwin*)
- # Convert to unix form, then to dos form, then back to unix form
- # but this time dos style (no spaces!) so that the unix form looks
- # like /cygdrive/c/PROGRA~1:/cygdr...
- sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
- sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
- sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- ;;
- *)
- sys_lib_search_path_spec="$LIB"
- if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
- # It is most probably a Windows format PATH.
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- # FIXME: find the short name or the path components, as spaces are
- # common. (e.g. "Program Files" -> "PROGRA~1")
- ;;
- esac
-
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $RM \$dlpath'
- shlibpath_overrides_runpath=yes
- dynamic_linker='Win32 link.exe'
- ;;
-
- *)
- # Assume MSVC wrapper
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
- dynamic_linker='Win32 ld.exe'
- ;;
- esac
- # FIXME: first we should search . and the directory the executable is in
- shlibpath_var=PATH
- ;;
-
-darwin* | rhapsody*)
- dynamic_linker="$host_os dyld"
- version_type=darwin
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
- shlibpath_overrides_runpath=yes
- shlibpath_var=DYLD_LIBRARY_PATH
- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-
- sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
- ;;
-
-dgux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-freebsd1*)
- dynamic_linker=no
- ;;
-
-freebsd* | dragonfly*)
- # DragonFly does not have aout. When/if they implement a new
- # versioning mechanism, adjust this.
- if test -x /usr/bin/objformat; then
- objformat=`/usr/bin/objformat`
- else
- case $host_os in
- freebsd[123]*) objformat=aout ;;
- *) objformat=elf ;;
- esac
- fi
- version_type=freebsd-$objformat
- case $version_type in
- freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- need_version=no
- need_lib_prefix=no
- ;;
- freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
- need_version=yes
- ;;
- esac
- shlibpath_var=LD_LIBRARY_PATH
- case $host_os in
- freebsd2*)
- shlibpath_overrides_runpath=yes
- ;;
- freebsd3.[01]* | freebsdelf3.[01]*)
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
- freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
- *) # from 4.6 on, and DragonFly
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- esac
- ;;
-
-gnu*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- ;;
-
-haiku*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- dynamic_linker="$host_os runtime_loader"
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
- hardcode_into_libs=yes
- ;;
-
-hpux9* | hpux10* | hpux11*)
- # Give a soname corresponding to the major version so that dld.sl refuses to
- # link against other versions.
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- case $host_cpu in
- ia64*)
- shrext_cmds='.so'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.so"
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
- else
- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
- fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
- shrext_cmds='.sl'
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=SHLIB_PATH
- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
- esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
- postinstall_cmds='chmod 555 $lib'
- # or fails outright, so override atomically:
- install_override_mode=555
- ;;
-
-interix[3-9]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $host_os in
- nonstopux*) version_type=nonstopux ;;
- *)
- if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
- else
- version_type=irix
- fi ;;
- esac
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
- case $host_os in
- irix5* | nonstopux*)
- libsuff= shlibsuff=
- ;;
- *)
- case $LD in # libtool.m4 will add one of these switches to LD
- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
- libsuff= shlibsuff= libmagic=32-bit;;
- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
- libsuff=32 shlibsuff=N32 libmagic=N32;;
- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
- libsuff=64 shlibsuff=64 libmagic=64-bit;;
- *) libsuff= shlibsuff= libmagic=never-match;;
- esac
- ;;
- esac
- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
- hardcode_into_libs=yes
- ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
- dynamic_linker=no
- ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
-
- # Some binutils ld are patched to set DT_RUNPATH
- if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_shlibpath_overrides_runpath=no
- save_LDFLAGS=$LDFLAGS
- save_libdir=$libdir
- eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
- LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
- lt_cv_shlibpath_overrides_runpath=yes
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS=$save_LDFLAGS
- libdir=$save_libdir
-
-fi
-
- shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
-
- # This implies no fast_install, which is unacceptable.
- # Some rework will be needed to allow for fast_install
- # before this can be enabled.
- hardcode_into_libs=yes
-
- # Append ld.so.conf contents to the search path
- if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
- fi
-
- # We used to test for /lib/ld.so.1 and disable shared libraries on
- # powerpc, because MkLinux only supported shared libraries with the
- # GNU dynamic linker. Since this was broken with cross compilers,
- # most powerpc-linux boxes support dynamic linking these days and
- # people can always --disable-shared, the test was removed, and we
- # assume the GNU/Linux dynamic linker is in use.
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-netbsd*)
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- dynamic_linker='NetBSD (a.out) ld.so'
- else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='NetBSD ld.elf_so'
- fi
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
-
-newsos6)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-*nto* | *qnx*)
- version_type=qnx
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='ldqnx.so'
- ;;
-
-openbsd*)
- version_type=sunos
- sys_lib_dlsearch_path_spec="/usr/lib"
- need_lib_prefix=no
- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
- case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
- esac
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[89] | openbsd2.[89].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
- else
- shlibpath_overrides_runpath=yes
- fi
- ;;
-
-os2*)
- libname_spec='$name'
- shrext_cmds=".dll"
- need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
- dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
- ;;
-
-osf3* | osf4* | osf5*)
- version_type=osf
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
- ;;
-
-rdos*)
- dynamic_linker=no
- ;;
-
-solaris*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- # ldd complains unless libraries are executable
- postinstall_cmds='chmod +x $lib'
- ;;
-
-sunos4*)
- version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- fi
- need_version=yes
- ;;
-
-sysv4 | sysv4.3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- case $host_vendor in
- sni)
- shlibpath_overrides_runpath=no
- need_lib_prefix=no
- runpath_var=LD_RUN_PATH
- ;;
- siemens)
- need_lib_prefix=no
- ;;
- motorola)
- need_lib_prefix=no
- need_version=no
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
- ;;
- esac
- ;;
-
-sysv4*MP*)
- if test -d /usr/nec ;then
- version_type=linux
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
- shlibpath_var=LD_LIBRARY_PATH
- fi
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- version_type=freebsd-elf
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- if test "$with_gnu_ld" = yes; then
- sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
- else
- sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
- case $host_os in
- sco3.2v5*)
- sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
- ;;
- esac
- fi
- sys_lib_dlsearch_path_spec='/usr/lib'
- ;;
-
-tpf*)
- # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-uts4*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-*)
- dynamic_linker=no
- ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
-$as_echo "$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
- sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
- sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
-$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
-hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" ||
- test -n "$runpath_var" ||
- test "X$hardcode_automatic" = "Xyes" ; then
-
- # We can hardcode non-existent directories.
- if test "$hardcode_direct" != no &&
- # If the only mechanism to avoid hardcoding is shlibpath_var, we
- # have to relink, otherwise we might link with an installed library
- # when we should be linking with a yet-to-be-installed one
- ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
- test "$hardcode_minus_L" != no; then
- # Linking always hardcodes the temporary library directory.
- hardcode_action=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- hardcode_action=immediate
- fi
-else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- hardcode_action=unsupported
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
-$as_echo "$hardcode_action" >&6; }
-
-if test "$hardcode_action" = relink ||
- test "$inherit_rpath" = yes; then
- # Fast installation is not supported
- enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
- # Fast installation is not necessary
- enable_fast_install=needless
-fi
-
-
-
-
-
-
- if test "x$enable_dlopen" != xyes; then
- enable_dlopen=unknown
- enable_dlopen_self=unknown
- enable_dlopen_self_static=unknown
-else
- lt_cv_dlopen=no
- lt_cv_dlopen_libs=
-
- case $host_os in
- beos*)
- lt_cv_dlopen="load_add_on"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
- ;;
-
- mingw* | pw32* | cegcc*)
- lt_cv_dlopen="LoadLibrary"
- lt_cv_dlopen_libs=
- ;;
-
- cygwin*)
- lt_cv_dlopen="dlopen"
- lt_cv_dlopen_libs=
- ;;
-
- darwin*)
- # if libdl is installed we need to link against it
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dl_dlopen=yes
-else
- ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-
- lt_cv_dlopen="dyld"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
-
-fi
-
- ;;
-
- *)
- ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = xyes; then :
- lt_cv_dlopen="shl_load"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
-$as_echo_n "checking for shl_load in -ldld... " >&6; }
-if ${ac_cv_lib_dld_shl_load+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load ();
-int
-main ()
-{
-return shl_load ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dld_shl_load=yes
-else
- ac_cv_lib_dld_shl_load=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
-$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
- lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
-else
- ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dl_dlopen=yes
-else
- ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
-$as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if ${ac_cv_lib_svld_dlopen+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsvld $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_svld_dlopen=yes
-else
- ac_cv_lib_svld_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
-$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
-$as_echo_n "checking for dld_link in -ldld... " >&6; }
-if ${ac_cv_lib_dld_dld_link+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dld_link ();
-int
-main ()
-{
-return dld_link ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dld_dld_link=yes
-else
- ac_cv_lib_dld_dld_link=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
-$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
- lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
- ;;
- esac
-
- if test "x$lt_cv_dlopen" != xno; then
- enable_dlopen=yes
- else
- enable_dlopen=no
- fi
-
- case $lt_cv_dlopen in
- dlopen)
- save_CPPFLAGS="$CPPFLAGS"
- test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
- save_LDFLAGS="$LDFLAGS"
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
- save_LIBS="$LIBS"
- LIBS="$lt_cv_dlopen_libs $LIBS"
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
-$as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- lt_cv_dlopen_self=cross
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
- correspondingly for the symbols needed. */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
-
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else
- {
- if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- else puts (dlerror ());
- }
- /* dlclose (self); */
- }
- else
- puts (dlerror ());
-
- return status;
-}
-_LT_EOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) >&5 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
- x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
- x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
- esac
- else :
- # compilation failed
- lt_cv_dlopen_self=no
- fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
-$as_echo "$lt_cv_dlopen_self" >&6; }
-
- if test "x$lt_cv_dlopen_self" = xyes; then
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
-$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self_static+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- lt_cv_dlopen_self_static=cross
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
- correspondingly for the symbols needed. */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
-
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else
- {
- if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- else puts (dlerror ());
- }
- /* dlclose (self); */
- }
- else
- puts (dlerror ());
-
- return status;
-}
-_LT_EOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) >&5 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
- x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
- x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
- esac
- else :
- # compilation failed
- lt_cv_dlopen_self_static=no
- fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
-$as_echo "$lt_cv_dlopen_self_static" >&6; }
- fi
-
- CPPFLAGS="$save_CPPFLAGS"
- LDFLAGS="$save_LDFLAGS"
- LIBS="$save_LIBS"
- ;;
- esac
-
- case $lt_cv_dlopen_self in
- yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
- *) enable_dlopen_self=unknown ;;
- esac
-
- case $lt_cv_dlopen_self_static in
- yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
- *) enable_dlopen_self_static=unknown ;;
- esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-striplib=
-old_striplib=
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
-$as_echo_n "checking whether stripping libraries is possible... " >&6; }
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
- test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-# FIXME - insert some real tests, host_os isn't really good enough
- case $host_os in
- darwin*)
- if test -n "$STRIP" ; then
- striplib="$STRIP -x"
- old_striplib="$STRIP -S"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- fi
- ;;
- *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- ;;
- esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
- # Report which library types will actually be built
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
-$as_echo_n "checking if libtool supports shared libraries... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
-$as_echo "$can_build_shared" >&6; }
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
-$as_echo_n "checking whether to build shared libraries... " >&6; }
- test "$can_build_shared" = "no" && enable_shared=no
-
- # On AIX, shared libraries and static libraries use the same namespace, and
- # are all built from PIC.
- case $host_os in
- aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
-
- aix[4-9]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
- esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
-$as_echo "$enable_shared" >&6; }
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
-$as_echo_n "checking whether to build static libraries... " >&6; }
- # Make sure either enable_shared or enable_static is yes.
- test "$enable_shared" = yes || enable_static=yes
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
-$as_echo "$enable_static" >&6; }
-
-
-
-
-fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC="$lt_save_CC"
-
-
-
-
-
-
-
-
-
-
-
-
-
- ac_config_commands="$ac_config_commands libtool"
-
-
-
-
-# Only expand once:
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
-$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
- # Check whether --enable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then :
- enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
-else
- USE_MAINTAINER_MODE=no
-fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
-$as_echo "$USE_MAINTAINER_MODE" >&6; }
- if test $USE_MAINTAINER_MODE = yes; then
- MAINTAINER_MODE_TRUE=
- MAINTAINER_MODE_FALSE='#'
-else
- MAINTAINER_MODE_TRUE='#'
- MAINTAINER_MODE_FALSE=
-fi
-
- MAINT=$MAINTAINER_MODE_TRUE
-
-
-
-for ac_header in sys/mman.h
-do :
- ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_SYS_MMAN_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_func in mmap
-do :
- ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_MMAP 1
-_ACEOF
-
-fi
-done
-
-
-ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
- libffi_header_sys_mman_h=yes
-else
- libffi_header_sys_mman_h=no
-fi
-
-
-ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
- libffi_func_mmap=yes
-else
- libffi_func_mmap=no
-fi
-
-if test "$libffi_header_sys_mman_h" != yes \
- || test "$libffi_func_mmap" != yes; then
- ac_cv_func_mmap_file=no
- ac_cv_func_mmap_dev_zero=no
- ac_cv_func_mmap_anon=no
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether read-only mmap of a plain file works" >&5
-$as_echo_n "checking whether read-only mmap of a plain file works... " >&6; }
-if ${ac_cv_func_mmap_file+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Add a system to this blacklist if
- # mmap(0, stat_size, PROT_READ, MAP_PRIVATE, fd, 0) doesn't return a
- # memory area containing the same data that you'd get if you applied
- # read() to the same fd. The only system known to have a problem here
- # is VMS, where text files have record structure.
- case "$host_os" in
- vms* | ultrix*)
- ac_cv_func_mmap_file=no ;;
- *)
- ac_cv_func_mmap_file=yes;;
- esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_file" >&5
-$as_echo "$ac_cv_func_mmap_file" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap from /dev/zero works" >&5
-$as_echo_n "checking whether mmap from /dev/zero works... " >&6; }
-if ${ac_cv_func_mmap_dev_zero+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Add a system to this blacklist if it has mmap() but /dev/zero
- # does not exist, or if mmapping /dev/zero does not give anonymous
- # zeroed pages with both the following properties:
- # 1. If you map N consecutive pages in with one call, and then
- # unmap any subset of those pages, the pages that were not
- # explicitly unmapped remain accessible.
- # 2. If you map two adjacent blocks of memory and then unmap them
- # both at once, they must both go away.
- # Systems known to be in this category are Windows (all variants),
- # VMS, and Darwin.
- case "$host_os" in
- vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00)
- ac_cv_func_mmap_dev_zero=no ;;
- *)
- ac_cv_func_mmap_dev_zero=yes;;
- esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_dev_zero" >&5
-$as_echo "$ac_cv_func_mmap_dev_zero" >&6; }
-
- # Unlike /dev/zero, the MAP_ANON(YMOUS) defines can be probed for.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANON(YMOUS)" >&5
-$as_echo_n "checking for MAP_ANON(YMOUS)... " >&6; }
-if ${ac_cv_decl_map_anon+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <unistd.h>
-
-#ifndef MAP_ANONYMOUS
-#define MAP_ANONYMOUS MAP_ANON
-#endif
-
-int
-main ()
-{
-int n = MAP_ANONYMOUS;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_decl_map_anon=yes
-else
- ac_cv_decl_map_anon=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_decl_map_anon" >&5
-$as_echo "$ac_cv_decl_map_anon" >&6; }
-
- if test $ac_cv_decl_map_anon = no; then
- ac_cv_func_mmap_anon=no
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap with MAP_ANON(YMOUS) works" >&5
-$as_echo_n "checking whether mmap with MAP_ANON(YMOUS) works... " >&6; }
-if ${ac_cv_func_mmap_anon+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Add a system to this blacklist if it has mmap() and MAP_ANON or
- # MAP_ANONYMOUS, but using mmap(..., MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
- # doesn't give anonymous zeroed pages with the same properties listed
- # above for use of /dev/zero.
- # Systems known to be in this category are Windows, VMS, and SCO Unix.
- case "$host_os" in
- vms* | cygwin* | pe | mingw* | sco* | udk* )
- ac_cv_func_mmap_anon=no ;;
- *)
- ac_cv_func_mmap_anon=yes;;
- esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_anon" >&5
-$as_echo "$ac_cv_func_mmap_anon" >&6; }
- fi
-fi
-
-if test $ac_cv_func_mmap_file = yes; then
-
-$as_echo "#define HAVE_MMAP_FILE 1" >>confdefs.h
-
-fi
-if test $ac_cv_func_mmap_dev_zero = yes; then
-
-$as_echo "#define HAVE_MMAP_DEV_ZERO 1" >>confdefs.h
-
-fi
-if test $ac_cv_func_mmap_anon = yes; then
-
-$as_echo "#define HAVE_MMAP_ANON 1" >>confdefs.h
-
-fi
-
-
- if test -d $srcdir/testsuite; then
- TESTSUBDIR_TRUE=
- TESTSUBDIR_FALSE='#'
-else
- TESTSUBDIR_TRUE='#'
- TESTSUBDIR_FALSE=
-fi
-
-
-TARGETDIR="unknown"
-case "$host" in
- alpha*-*-*)
- TARGET=ALPHA; TARGETDIR=alpha;
- # Support 128-bit long double, changeable via command-line switch.
- HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
- ;;
-
- arm*-*-*)
- TARGET=ARM; TARGETDIR=arm
- ;;
-
- amd64-*-freebsd* | amd64-*-openbsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- amd64-*-freebsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- avr32*-*-*)
- TARGET=AVR32; TARGETDIR=avr32
- ;;
-
- cris-*-*)
- TARGET=LIBFFI_CRIS; TARGETDIR=cris
- ;;
-
- frv-*-*)
- TARGET=FRV; TARGETDIR=frv
- ;;
-
- hppa*-*-linux* | parisc*-*-linux*)
- TARGET=PA_LINUX; TARGETDIR=pa
- ;;
- hppa*64-*-hpux*)
- TARGET=PA64_HPUX; TARGETDIR=pa
- ;;
- hppa*-*-hpux*)
- TARGET=PA_HPUX; TARGETDIR=pa
- ;;
-
- i?86-*-freebsd* | i?86-*-openbsd*)
- TARGET=X86_FREEBSD; TARGETDIR=x86
- ;;
- i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2*)
- TARGET=X86_WIN32; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
- i?86-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
- i?86-*-solaris2.1[0-9]*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
- i?86-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- ia64*-*-*)
- TARGET=IA64; TARGETDIR=ia64
- ;;
-
- m32r*-*-*)
- TARGET=M32R; TARGETDIR=m32r
- ;;
-
- m68k-*-*)
- TARGET=M68K; TARGETDIR=m68k
- ;;
-
- mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
- TARGET=MIPS; TARGETDIR=mips
- ;;
- mips*-*-linux*)
- # Support 128-bit long double for NewABI.
- HAVE_LONG_DOUBLE='defined(__mips64)'
- TARGET=MIPS; TARGETDIR=mips
- ;;
-
- moxie-*-*)
- TARGET=MOXIE; TARGETDIR=moxie
- ;;
-
- powerpc*-*-linux* | powerpc-*-sysv*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-beos*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-darwin*)
- TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
- ;;
- powerpc-*-aix* | rs6000-*-aix*)
- TARGET=POWERPC_AIX; TARGETDIR=powerpc
- ;;
- powerpc-*-freebsd*)
- TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
- ;;
- powerpc64-*-freebsd*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc*-*-rtems*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
-
- s390-*-* | s390x-*-*)
- TARGET=S390; TARGETDIR=s390
- ;;
-
- sh-*-* | sh[34]*-*-*)
- TARGET=SH; TARGETDIR=sh
- ;;
- sh64-*-* | sh5*-*-*)
- TARGET=SH64; TARGETDIR=sh64
- ;;
-
- sparc*-*-*)
- TARGET=SPARC; TARGETDIR=sparc
- ;;
-
- x86_64-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
-
- x86_64-*-cygwin* | x86_64-*-mingw*)
- TARGET=X86_WIN64; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
-
- x86_64-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-esac
-
-
-
-
-if test $TARGETDIR = unknown; then
- as_fn_error $? "\"libffi has not been ported to $host.\"" "$LINENO" 5
-fi
-
- if test x$TARGET = xMIPS; then
- MIPS_TRUE=
- MIPS_FALSE='#'
-else
- MIPS_TRUE='#'
- MIPS_FALSE=
-fi
-
- if test x$TARGET = xSPARC; then
- SPARC_TRUE=
- SPARC_FALSE='#'
-else
- SPARC_TRUE='#'
- SPARC_FALSE=
-fi
-
- if test x$TARGET = xX86; then
- X86_TRUE=
- X86_FALSE='#'
-else
- X86_TRUE='#'
- X86_FALSE=
-fi
-
- if test x$TARGET = xX86_FREEBSD; then
- X86_FREEBSD_TRUE=
- X86_FREEBSD_FALSE='#'
-else
- X86_FREEBSD_TRUE='#'
- X86_FREEBSD_FALSE=
-fi
-
- if test x$TARGET = xX86_WIN32; then
- X86_WIN32_TRUE=
- X86_WIN32_FALSE='#'
-else
- X86_WIN32_TRUE='#'
- X86_WIN32_FALSE=
-fi
-
- if test x$TARGET = xX86_WIN64; then
- X86_WIN64_TRUE=
- X86_WIN64_FALSE='#'
-else
- X86_WIN64_TRUE='#'
- X86_WIN64_FALSE=
-fi
-
- if test x$TARGET = xX86_DARWIN; then
- X86_DARWIN_TRUE=
- X86_DARWIN_FALSE='#'
-else
- X86_DARWIN_TRUE='#'
- X86_DARWIN_FALSE=
-fi
-
- if test x$TARGET = xALPHA; then
- ALPHA_TRUE=
- ALPHA_FALSE='#'
-else
- ALPHA_TRUE='#'
- ALPHA_FALSE=
-fi
-
- if test x$TARGET = xIA64; then
- IA64_TRUE=
- IA64_FALSE='#'
-else
- IA64_TRUE='#'
- IA64_FALSE=
-fi
-
- if test x$TARGET = xM32R; then
- M32R_TRUE=
- M32R_FALSE='#'
-else
- M32R_TRUE='#'
- M32R_FALSE=
-fi
-
- if test x$TARGET = xM68K; then
- M68K_TRUE=
- M68K_FALSE='#'
-else
- M68K_TRUE='#'
- M68K_FALSE=
-fi
-
- if test x$TARGET = xMOXIE; then
- MOXIE_TRUE=
- MOXIE_FALSE='#'
-else
- MOXIE_TRUE='#'
- MOXIE_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC; then
- POWERPC_TRUE=
- POWERPC_FALSE='#'
-else
- POWERPC_TRUE='#'
- POWERPC_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_AIX; then
- POWERPC_AIX_TRUE=
- POWERPC_AIX_FALSE='#'
-else
- POWERPC_AIX_TRUE='#'
- POWERPC_AIX_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_DARWIN; then
- POWERPC_DARWIN_TRUE=
- POWERPC_DARWIN_FALSE='#'
-else
- POWERPC_DARWIN_TRUE='#'
- POWERPC_DARWIN_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_FREEBSD; then
- POWERPC_FREEBSD_TRUE=
- POWERPC_FREEBSD_FALSE='#'
-else
- POWERPC_FREEBSD_TRUE='#'
- POWERPC_FREEBSD_FALSE=
-fi
-
- if test x$TARGET = xARM; then
- ARM_TRUE=
- ARM_FALSE='#'
-else
- ARM_TRUE='#'
- ARM_FALSE=
-fi
-
- if test x$TARGET = xAVR32; then
- AVR32_TRUE=
- AVR32_FALSE='#'
-else
- AVR32_TRUE='#'
- AVR32_FALSE=
-fi
-
- if test x$TARGET = xLIBFFI_CRIS; then
- LIBFFI_CRIS_TRUE=
- LIBFFI_CRIS_FALSE='#'
-else
- LIBFFI_CRIS_TRUE='#'
- LIBFFI_CRIS_FALSE=
-fi
-
- if test x$TARGET = xFRV; then
- FRV_TRUE=
- FRV_FALSE='#'
-else
- FRV_TRUE='#'
- FRV_FALSE=
-fi
-
- if test x$TARGET = xS390; then
- S390_TRUE=
- S390_FALSE='#'
-else
- S390_TRUE='#'
- S390_FALSE=
-fi
-
- if test x$TARGET = xX86_64; then
- X86_64_TRUE=
- X86_64_FALSE='#'
-else
- X86_64_TRUE='#'
- X86_64_FALSE=
-fi
-
- if test x$TARGET = xSH; then
- SH_TRUE=
- SH_FALSE='#'
-else
- SH_TRUE='#'
- SH_FALSE=
-fi
-
- if test x$TARGET = xSH64; then
- SH64_TRUE=
- SH64_FALSE='#'
-else
- SH64_TRUE='#'
- SH64_FALSE=
-fi
-
- if test x$TARGET = xPA_LINUX; then
- PA_LINUX_TRUE=
- PA_LINUX_FALSE='#'
-else
- PA_LINUX_TRUE='#'
- PA_LINUX_FALSE=
-fi
-
- if test x$TARGET = xPA_HPUX; then
- PA_HPUX_TRUE=
- PA_HPUX_FALSE='#'
-else
- PA_HPUX_TRUE='#'
- PA_HPUX_FALSE=
-fi
-
- if test x$TARGET = xPA64_HPUX; then
- PA64_HPUX_TRUE=
- PA64_HPUX_FALSE='#'
-else
- PA64_HPUX_TRUE='#'
- PA64_HPUX_FALSE=
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_header_stdc=yes
-else
- ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then :
- :
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- return 2;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-for ac_func in memcpy
-do :
- ac_fn_c_check_func "$LINENO" "memcpy" "ac_cv_func_memcpy"
-if test "x$ac_cv_func_memcpy" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_MEMCPY 1
-_ACEOF
-
-fi
-done
-
-ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-if test "x$ac_cv_type_size_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define size_t unsigned int
-_ACEOF
-
-fi
-
-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
-# for constant arguments. Useless!
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
-$as_echo_n "checking for working alloca.h... " >&6; }
-if ${ac_cv_working_alloca_h+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <alloca.h>
-int
-main ()
-{
-char *p = (char *) alloca (2 * sizeof (int));
- if (p) return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_working_alloca_h=yes
-else
- ac_cv_working_alloca_h=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
-$as_echo "$ac_cv_working_alloca_h" >&6; }
-if test $ac_cv_working_alloca_h = yes; then
-
-$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
-$as_echo_n "checking for alloca... " >&6; }
-if ${ac_cv_func_alloca_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# ifdef _MSC_VER
-# include <malloc.h>
-# define alloca _alloca
-# else
-# ifdef HAVE_ALLOCA_H
-# include <alloca.h>
-# else
-# ifdef _AIX
- #pragma alloca
-# else
-# ifndef alloca /* predefined by HP cc +Olibcalls */
-void *alloca (size_t);
-# endif
-# endif
-# endif
-# endif
-#endif
-
-int
-main ()
-{
-char *p = (char *) alloca (1);
- if (p) return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_func_alloca_works=yes
-else
- ac_cv_func_alloca_works=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
-$as_echo "$ac_cv_func_alloca_works" >&6; }
-
-if test $ac_cv_func_alloca_works = yes; then
-
-$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
-
-else
- # The SVR3 libPW and SVR4 libucb both contain incompatible functions
-# that cause trouble. Some versions do not even contain alloca or
-# contain a buggy version. If you still want to use their alloca,
-# use ar to extract alloca.o from them instead of compiling alloca.c.
-
-ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
-
-$as_echo "#define C_ALLOCA 1" >>confdefs.h
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
-$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
-if ${ac_cv_os_cray+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#if defined CRAY && ! defined CRAY2
-webecray
-#else
-wenotbecray
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "webecray" >/dev/null 2>&1; then :
- ac_cv_os_cray=yes
-else
- ac_cv_os_cray=no
-fi
-rm -f conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5
-$as_echo "$ac_cv_os_cray" >&6; }
-if test $ac_cv_os_cray = yes; then
- for ac_func in _getb67 GETB67 getb67; do
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-
-cat >>confdefs.h <<_ACEOF
-#define CRAY_STACKSEG_END $ac_func
-_ACEOF
-
- break
-fi
-
- done
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
-$as_echo_n "checking stack direction for C alloca... " >&6; }
-if ${ac_cv_c_stack_direction+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- ac_cv_c_stack_direction=0
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
-int
-find_stack_direction ()
-{
- static char *addr = 0;
- auto char dummy;
- if (addr == 0)
- {
- addr = &dummy;
- return find_stack_direction ();
- }
- else
- return (&dummy > addr) ? 1 : -1;
-}
-
-int
-main ()
-{
- return find_stack_direction () < 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_c_stack_direction=1
-else
- ac_cv_c_stack_direction=-1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
-$as_echo "$ac_cv_c_stack_direction" >&6; }
-cat >>confdefs.h <<_ACEOF
-#define STACK_DIRECTION $ac_cv_c_stack_direction
-_ACEOF
-
-
-fi
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of double" >&5
-$as_echo_n "checking size of double... " >&6; }
-if ${ac_cv_sizeof_double+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (double))" "ac_cv_sizeof_double" "$ac_includes_default"; then :
-
-else
- if test "$ac_cv_type_double" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (double)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_double=0
- fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_double" >&5
-$as_echo "$ac_cv_sizeof_double" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_DOUBLE $ac_cv_sizeof_double
-_ACEOF
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long double" >&5
-$as_echo_n "checking size of long double... " >&6; }
-if ${ac_cv_sizeof_long_double+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long double))" "ac_cv_sizeof_long_double" "$ac_includes_default"; then :
-
-else
- if test "$ac_cv_type_long_double" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (long double)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_long_double=0
- fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_double" >&5
-$as_echo "$ac_cv_sizeof_long_double" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_LONG_DOUBLE $ac_cv_sizeof_long_double
-_ACEOF
-
-
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
- HAVE_LONG_DOUBLE=0
- if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
- if test $ac_cv_sizeof_long_double != 0; then
- HAVE_LONG_DOUBLE=1
-
-$as_echo "#define HAVE_LONG_DOUBLE 1" >>confdefs.h
-
- fi
- fi
-fi
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
-$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if ${ac_cv_c_bigendian+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_c_bigendian=unknown
- # See if we're dealing with a universal compiler.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifndef __APPLE_CC__
- not a universal capable compiler
- #endif
- typedef int dummy;
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
- # Check for potential -arch flags. It is not universal unless
- # there are at least two -arch flags with different values.
- ac_arch=
- ac_prev=
- for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
- if test -n "$ac_prev"; then
- case $ac_word in
- i?86 | x86_64 | ppc | ppc64)
- if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
- ac_arch=$ac_word
- else
- ac_cv_c_bigendian=universal
- break
- fi
- ;;
- esac
- ac_prev=
- elif test "x$ac_word" = "x-arch"; then
- ac_prev=arch
- fi
- done
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- if test $ac_cv_c_bigendian = unknown; then
- # See if sys/param.h defines the BYTE_ORDER macro.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
- #include <sys/param.h>
-
-int
-main ()
-{
-#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
- && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
- && LITTLE_ENDIAN)
- bogus endian macros
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- # It does; now see whether it defined to BIG_ENDIAN or not.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
- #include <sys/param.h>
-
-int
-main ()
-{
-#if BYTE_ORDER != BIG_ENDIAN
- not big endian
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_c_bigendian=yes
-else
- ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- if test $ac_cv_c_bigendian = unknown; then
- # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <limits.h>
-
-int
-main ()
-{
-#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
- bogus endian macros
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- # It does; now see whether it defined to _BIG_ENDIAN or not.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <limits.h>
-
-int
-main ()
-{
-#ifndef _BIG_ENDIAN
- not big endian
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_c_bigendian=yes
-else
- ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- if test $ac_cv_c_bigendian = unknown; then
- # Compile a test program.
- if test "$cross_compiling" = yes; then :
- # Try to guess by grepping values from an object file.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-short int ascii_mm[] =
- { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
- short int ascii_ii[] =
- { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
- int use_ascii (int i) {
- return ascii_mm[i] + ascii_ii[i];
- }
- short int ebcdic_ii[] =
- { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
- short int ebcdic_mm[] =
- { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
- int use_ebcdic (int i) {
- return ebcdic_mm[i] + ebcdic_ii[i];
- }
- extern int foo;
-
-int
-main ()
-{
-return use_ascii (foo) == use_ebcdic (foo);
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
- ac_cv_c_bigendian=yes
- fi
- if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
- if test "$ac_cv_c_bigendian" = unknown; then
- ac_cv_c_bigendian=no
- else
- # finding both strings is unlikely to happen, but who knows?
- ac_cv_c_bigendian=unknown
- fi
- fi
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-
- /* Are we little or big endian? From Harbison&Steele. */
- union
- {
- long int l;
- char c[sizeof (long int)];
- } u;
- u.l = 1;
- return u.c[sizeof (long int) - 1] == 1;
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_c_bigendian=no
-else
- ac_cv_c_bigendian=yes
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
-$as_echo "$ac_cv_c_bigendian" >&6; }
- case $ac_cv_c_bigendian in #(
- yes)
- $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
-;; #(
- no)
- ;; #(
- universal)
-
-$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
-
- ;; #(
- *)
- as_fn_error $? "unknown endianness
- presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
- esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .cfi pseudo-op support" >&5
-$as_echo_n "checking assembler .cfi pseudo-op support... " >&6; }
-if ${gcc_cv_as_cfi_pseudo_op+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- gcc_cv_as_cfi_pseudo_op=unknown
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".cfi_startproc\n\t.cfi_endproc");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- gcc_cv_as_cfi_pseudo_op=yes
-else
- gcc_cv_as_cfi_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_cfi_pseudo_op" >&5
-$as_echo "$gcc_cv_as_cfi_pseudo_op" >&6; }
- if test "x$gcc_cv_as_cfi_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_CFI_PSEUDO_OP 1" >>confdefs.h
-
- fi
-
-
-if test x$TARGET = xSPARC; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler and linker support unaligned pc related relocs" >&5
-$as_echo_n "checking assembler and linker support unaligned pc related relocs... " >&6; }
-if ${libffi_cv_as_sparc_ua_pcrel+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- save_CFLAGS="$CFLAGS"
- save_LDFLAGS="$LDFLAGS"
- CFLAGS="$CFLAGS -fpic"
- LDFLAGS="$LDFLAGS -shared"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- libffi_cv_as_sparc_ua_pcrel=yes
-else
- libffi_cv_as_sparc_ua_pcrel=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- CFLAGS="$save_CFLAGS"
- LDFLAGS="$save_LDFLAGS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_sparc_ua_pcrel" >&5
-$as_echo "$libffi_cv_as_sparc_ua_pcrel" >&6; }
- if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
-
-$as_echo "#define HAVE_AS_SPARC_UA_PCREL 1" >>confdefs.h
-
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .register pseudo-op support" >&5
-$as_echo_n "checking assembler .register pseudo-op support... " >&6; }
-if ${libffi_cv_as_register_pseudo_op+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_register_pseudo_op=unknown
- # Check if we have .register
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".register %g2, #scratch");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- libffi_cv_as_register_pseudo_op=yes
-else
- libffi_cv_as_register_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_register_pseudo_op" >&5
-$as_echo "$libffi_cv_as_register_pseudo_op" >&6; }
- if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_REGISTER_PSEUDO_OP 1" >>confdefs.h
-
- fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports pc related relocs" >&5
-$as_echo_n "checking assembler supports pc related relocs... " >&6; }
-if ${libffi_cv_as_x86_pcrel+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_x86_pcrel=yes
- echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
- if $CC $CFLAGS -c conftest.s 2>&1 | $EGREP -i 'illegal|warning' > /dev/null; then
- libffi_cv_as_x86_pcrel=no
- fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_x86_pcrel" >&5
-$as_echo "$libffi_cv_as_x86_pcrel" >&6; }
- if test "x$libffi_cv_as_x86_pcrel" = xyes; then
-
-$as_echo "#define HAVE_AS_X86_PCREL 1" >>confdefs.h
-
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .ascii pseudo-op support" >&5
-$as_echo_n "checking assembler .ascii pseudo-op support... " >&6; }
-if ${libffi_cv_as_ascii_pseudo_op+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_ascii_pseudo_op=unknown
- # Check if we have .ascii
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".ascii \\"string\\"");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- libffi_cv_as_ascii_pseudo_op=yes
-else
- libffi_cv_as_ascii_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_ascii_pseudo_op" >&5
-$as_echo "$libffi_cv_as_ascii_pseudo_op" >&6; }
- if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_ASCII_PSEUDO_OP 1" >>confdefs.h
-
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .string pseudo-op support" >&5
-$as_echo_n "checking assembler .string pseudo-op support... " >&6; }
-if ${libffi_cv_as_string_pseudo_op+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_string_pseudo_op=unknown
- # Check if we have .string
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".string \\"string\\"");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- libffi_cv_as_string_pseudo_op=yes
-else
- libffi_cv_as_string_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_string_pseudo_op" >&5
-$as_echo "$libffi_cv_as_string_pseudo_op" >&6; }
- if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_STRING_PSEUDO_OP 1" >>confdefs.h
-
- fi
-fi
-
-case "$target" in
- *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
-
-$as_echo "#define FFI_MMAP_EXEC_WRIT 1" >>confdefs.h
-
- ;;
-esac
-
-if test x$TARGET = xX86_64; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports unwind section type" >&5
-$as_echo_n "checking assembler supports unwind section type... " >&6; }
-if ${libffi_cv_as_x86_64_unwind_section_type+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_x86_64_unwind_section_type=yes
- echo '.section .eh_frame,"a",@unwind' > conftest.s
- if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
- libffi_cv_as_x86_64_unwind_section_type=no
- fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_x86_64_unwind_section_type" >&5
-$as_echo "$libffi_cv_as_x86_64_unwind_section_type" >&6; }
- if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
-
-$as_echo "#define HAVE_AS_X86_64_UNWIND_SECTION_TYPE 1" >>confdefs.h
-
- fi
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether .eh_frame section should be read-only" >&5
-$as_echo_n "checking whether .eh_frame section should be read-only... " >&6; }
-if ${libffi_cv_ro_eh_frame+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_ro_eh_frame=no
- echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
- if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
- if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- elif grep '.section.*eh_frame.*#alloc' conftest.c \
- | grep -v '#write' > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- fi
- fi
- rm -f conftest.*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_ro_eh_frame" >&5
-$as_echo "$libffi_cv_ro_eh_frame" >&6; }
-if test "x$libffi_cv_ro_eh_frame" = xyes; then
-
-$as_echo "#define HAVE_RO_EH_FRAME 1" >>confdefs.h
-
-
-$as_echo "#define EH_FRAME_FLAGS \"a\"" >>confdefs.h
-
-else
-
-$as_echo "#define EH_FRAME_FLAGS \"aw\"" >>confdefs.h
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __attribute__((visibility(\"hidden\")))" >&5
-$as_echo_n "checking for __attribute__((visibility(\"hidden\")))... " >&6; }
-if ${libffi_cv_hidden_visibility_attribute+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1; }' > conftest.c
- libffi_cv_hidden_visibility_attribute=no
- if { ac_try='${CC-cc} -Werror -S conftest.c -o conftest.s 1>&5'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- if grep '\.hidden.*foo' conftest.s >/dev/null; then
- libffi_cv_hidden_visibility_attribute=yes
- fi
- fi
- rm -f conftest.*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_hidden_visibility_attribute" >&5
-$as_echo "$libffi_cv_hidden_visibility_attribute" >&6; }
-if test $libffi_cv_hidden_visibility_attribute = yes; then
-
-$as_echo "#define HAVE_HIDDEN_VISIBILITY_ATTRIBUTE 1" >>confdefs.h
-
-fi
-
-
-
-
-
-
-
-
-# Check whether --enable-debug was given.
-if test "${enable_debug+set}" = set; then :
- enableval=$enable_debug; if test "$enable_debug" = "yes"; then
-
-$as_echo "#define FFI_DEBUG 1" >>confdefs.h
-
- fi
-fi
-
- if test "$enable_debug" = "yes"; then
- FFI_DEBUG_TRUE=
- FFI_DEBUG_FALSE='#'
-else
- FFI_DEBUG_TRUE='#'
- FFI_DEBUG_FALSE=
-fi
-
-
-# Check whether --enable-structs was given.
-if test "${enable_structs+set}" = set; then :
- enableval=$enable_structs; if test "$enable_structs" = "no"; then
-
-$as_echo "#define FFI_NO_STRUCTS 1" >>confdefs.h
-
- fi
-fi
-
-
-# Check whether --enable-raw-api was given.
-if test "${enable_raw_api+set}" = set; then :
- enableval=$enable_raw_api; if test "$enable_raw_api" = "no"; then
-
-$as_echo "#define FFI_NO_RAW_API 1" >>confdefs.h
-
- fi
-fi
-
-
-# Check whether --enable-purify-safety was given.
-if test "${enable_purify_safety+set}" = set; then :
- enableval=$enable_purify_safety; if test "$enable_purify_safety" = "yes"; then
-
-$as_echo "#define USING_PURIFY 1" >>confdefs.h
-
- fi
-fi
-
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- toolexecdir='$(exec_prefix)/$(target_alias)'
- toolexeclibdir='$(toolexecdir)/lib'
- else
- toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
- toolexeclibdir='$(libdir)'
- fi
- multi_os_directory=`$CC -print-multi-os-directory`
- case $multi_os_directory in
- .) ;; # Avoid trailing /.
- *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
- esac
-
-
-fi
-
-if test "${multilib}" = "yes"; then
- multilib_arg="--enable-multilib"
-else
- multilib_arg=
-fi
-
-ac_config_commands="$ac_config_commands include"
-
-ac_config_commands="$ac_config_commands src"
-
-
-ac_config_links="$ac_config_links include/ffitarget.h:src/$TARGETDIR/ffitarget.h"
-
-
-ac_config_files="$ac_config_files include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc"
-
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems. If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
- for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
-
- (set) 2>&1 |
- case $as_nl`(ac_space=' '; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- # `set' does not quote correctly, so add quotes: double-quote
- # substitution turns \\\\ into \\, and sed turns \\ into \.
- sed -n \
- "s/'/'\\\\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- ;; #(
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-) |
- sed '
- /^ac_cv_env_/b end
- t clear
- :clear
- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
- t end
- s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
- if test -w "$cache_file"; then
- if test "x$cache_file" != "x/dev/null"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
- if test ! -f "$cache_file" || test -h "$cache_file"; then
- cat confcache >"$cache_file"
- else
- case $cache_file in #(
- */* | ?:*)
- mv -f confcache "$cache_file"$$ &&
- mv -f "$cache_file"$$ "$cache_file" ;; #(
- *)
- mv -f confcache "$cache_file" ;;
- esac
- fi
- fi
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
- fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-U=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
- # 1. Remove the extension, and $U if already installed.
- ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
- ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
- # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
- # will be set to the directory where LIBOBJS objects are built.
- as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
- as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
- if test -n "$EXEEXT"; then
- am__EXEEXT_TRUE=
- am__EXEEXT_FALSE='#'
-else
- am__EXEEXT_TRUE='#'
- am__EXEEXT_FALSE=
-fi
-
-if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
- as_fn_error $? "conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
- as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCCAS_TRUE}" && test -z "${am__fastdepCCAS_FALSE}"; then
- as_fn_error $? "conditional \"am__fastdepCCAS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
- as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${TESTSUBDIR_TRUE}" && test -z "${TESTSUBDIR_FALSE}"; then
- as_fn_error $? "conditional \"TESTSUBDIR\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MIPS_TRUE}" && test -z "${MIPS_FALSE}"; then
- as_fn_error $? "conditional \"MIPS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SPARC_TRUE}" && test -z "${SPARC_FALSE}"; then
- as_fn_error $? "conditional \"SPARC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_TRUE}" && test -z "${X86_FALSE}"; then
- as_fn_error $? "conditional \"X86\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_FREEBSD_TRUE}" && test -z "${X86_FREEBSD_FALSE}"; then
- as_fn_error $? "conditional \"X86_FREEBSD\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_WIN32_TRUE}" && test -z "${X86_WIN32_FALSE}"; then
- as_fn_error $? "conditional \"X86_WIN32\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_WIN64_TRUE}" && test -z "${X86_WIN64_FALSE}"; then
- as_fn_error $? "conditional \"X86_WIN64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_DARWIN_TRUE}" && test -z "${X86_DARWIN_FALSE}"; then
- as_fn_error $? "conditional \"X86_DARWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${ALPHA_TRUE}" && test -z "${ALPHA_FALSE}"; then
- as_fn_error $? "conditional \"ALPHA\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${IA64_TRUE}" && test -z "${IA64_FALSE}"; then
- as_fn_error $? "conditional \"IA64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${M32R_TRUE}" && test -z "${M32R_FALSE}"; then
- as_fn_error $? "conditional \"M32R\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${M68K_TRUE}" && test -z "${M68K_FALSE}"; then
- as_fn_error $? "conditional \"M68K\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MOXIE_TRUE}" && test -z "${MOXIE_FALSE}"; then
- as_fn_error $? "conditional \"MOXIE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_TRUE}" && test -z "${POWERPC_FALSE}"; then
- as_fn_error $? "conditional \"POWERPC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_AIX_TRUE}" && test -z "${POWERPC_AIX_FALSE}"; then
- as_fn_error $? "conditional \"POWERPC_AIX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_DARWIN_TRUE}" && test -z "${POWERPC_DARWIN_FALSE}"; then
- as_fn_error $? "conditional \"POWERPC_DARWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_FREEBSD_TRUE}" && test -z "${POWERPC_FREEBSD_FALSE}"; then
- as_fn_error $? "conditional \"POWERPC_FREEBSD\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${ARM_TRUE}" && test -z "${ARM_FALSE}"; then
- as_fn_error $? "conditional \"ARM\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${AVR32_TRUE}" && test -z "${AVR32_FALSE}"; then
- as_fn_error $? "conditional \"AVR32\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${LIBFFI_CRIS_TRUE}" && test -z "${LIBFFI_CRIS_FALSE}"; then
- as_fn_error $? "conditional \"LIBFFI_CRIS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${FRV_TRUE}" && test -z "${FRV_FALSE}"; then
- as_fn_error $? "conditional \"FRV\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${S390_TRUE}" && test -z "${S390_FALSE}"; then
- as_fn_error $? "conditional \"S390\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_64_TRUE}" && test -z "${X86_64_FALSE}"; then
- as_fn_error $? "conditional \"X86_64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SH_TRUE}" && test -z "${SH_FALSE}"; then
- as_fn_error $? "conditional \"SH\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SH64_TRUE}" && test -z "${SH64_FALSE}"; then
- as_fn_error $? "conditional \"SH64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA_LINUX_TRUE}" && test -z "${PA_LINUX_FALSE}"; then
- as_fn_error $? "conditional \"PA_LINUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA_HPUX_TRUE}" && test -z "${PA_HPUX_FALSE}"; then
- as_fn_error $? "conditional \"PA_HPUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA64_HPUX_TRUE}" && test -z "${PA64_HPUX_FALSE}"; then
- as_fn_error $? "conditional \"PA64_HPUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-if test -z "${FFI_DEBUG_TRUE}" && test -z "${FFI_DEBUG_FALSE}"; then
- as_fn_error $? "conditional \"FFI_DEBUG\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-: "${CONFIG_STATUS=./config.status}"
-ac_write_fail=0
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in #(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- fi
- $as_echo "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} # as_fn_error
-
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} # as_fn_exit
-
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
-
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -p'
- fi
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in #(
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by libffi $as_me 3.0.11-rc2, which was
-generated by GNU Autoconf 2.68. Invocation command line was
-
- CONFIG_FILES = $CONFIG_FILES
- CONFIG_HEADERS = $CONFIG_HEADERS
- CONFIG_LINKS = $CONFIG_LINKS
- CONFIG_COMMANDS = $CONFIG_COMMANDS
- $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-case $ac_config_headers in *"
-"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
-esac
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-config_links="$ac_config_links"
-config_commands="$ac_config_commands"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration. Unless the files
-and actions are specified as TAGs, all are instantiated by default.
-
-Usage: $0 [OPTION]... [TAG]...
-
- -h, --help print this help, then exit
- -V, --version print version number and configuration settings, then exit
- --config print configuration, then exit
- -q, --quiet, --silent
- do not print progress messages
- -d, --debug don't remove temporary files
- --recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
- --header=FILE[:TEMPLATE]
- instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration links:
-$config_links
-
-Configuration commands:
-$config_commands
-
-Report bugs to <http://github.com/atgreen/libffi/issues>."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-ac_cs_version="\\
-libffi config.status 3.0.11-rc2
-configured by $0, generated by GNU Autoconf 2.68,
- with options \\"\$ac_cs_config\\"
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-INSTALL='$INSTALL'
-MKDIR_P='$MKDIR_P'
-AWK='$AWK'
-test -n "\$AWK" || AWK=awk
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
-ac_need_defaults=:
-while test $# != 0
-do
- case $1 in
- --*=?*)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
- ac_shift=:
- ;;
- --*=)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=
- ac_shift=:
- ;;
- *)
- ac_option=$1
- ac_optarg=$2
- ac_shift=shift
- ;;
- esac
-
- case $ac_option in
- # Handling of the options.
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- ac_cs_recheck=: ;;
- --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
- $as_echo "$ac_cs_version"; exit ;;
- --config | --confi | --conf | --con | --co | --c )
- $as_echo "$ac_cs_config"; exit ;;
- --debug | --debu | --deb | --de | --d | -d )
- debug=: ;;
- --file | --fil | --fi | --f )
- $ac_shift
- case $ac_optarg in
- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
- '') as_fn_error $? "missing file argument" ;;
- esac
- as_fn_append CONFIG_FILES " '$ac_optarg'"
- ac_need_defaults=false;;
- --header | --heade | --head | --hea )
- $ac_shift
- case $ac_optarg in
- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- as_fn_append CONFIG_HEADERS " '$ac_optarg'"
- ac_need_defaults=false;;
- --he | --h)
- # Conflict between --help and --header
- as_fn_error $? "ambiguous option: \`$1'
-Try \`$0 --help' for more information.";;
- --help | --hel | -h )
- $as_echo "$ac_cs_usage"; exit ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil | --si | --s)
- ac_cs_silent=: ;;
-
- # This is an error.
- -*) as_fn_error $? "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
-
- *) as_fn_append ac_config_targets " $1"
- ac_need_defaults=false ;;
-
- esac
- shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
- exec 6>/dev/null
- ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-if \$ac_cs_recheck; then
- set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
- shift
- \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
- CONFIG_SHELL='$SHELL'
- export CONFIG_SHELL
- exec "\$@"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
- $as_echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-#
-# INIT-COMMANDS
-#
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-sed_quote_subst='$sed_quote_subst'
-double_quote_subst='$double_quote_subst'
-delay_variable_subst='$delay_variable_subst'
-macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
-macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
-enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
-enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
-pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
-enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
-SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
-ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
-host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
-host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
-host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
-build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
-build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
-build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
-SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
-Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
-GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
-EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
-FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
-LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
-NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
-LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
-max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
-ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
-exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
-lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
-lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
-lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
-reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
-reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
-OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
-deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
-file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
-file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
-want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
-DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
-sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
-AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
-AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
-archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
-STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
-RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
-old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
-lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
-CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
-CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
-compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
-GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
-nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
-lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
-objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
-MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
-lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
-need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
-MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
-DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
-NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
-LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
-OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
-libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
-shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
-extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
-enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
-export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
-whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
-compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
-old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
-archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
-module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
-allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
-no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_ld='`$ECHO "$hardcode_libdir_flag_spec_ld" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
-hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
-hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
-hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
-hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
-hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
-inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
-link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
-always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
-export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
-exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
-include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
-prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
-postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
-file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
-variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
-need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
-version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
-runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
-libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
-library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
-soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
-install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
-postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
-finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
-hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
-sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
-sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
-enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
-old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
-striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
-
-LTCC='$LTCC'
-LTCFLAGS='$LTCFLAGS'
-compiler='$compiler_DEFAULT'
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
- eval 'cat <<_LTECHO_EOF
-\$1
-_LTECHO_EOF'
-}
-
-# Quote evaled strings.
-for var in SHELL \
-ECHO \
-SED \
-GREP \
-EGREP \
-FGREP \
-LD \
-NM \
-LN_S \
-lt_SP2NL \
-lt_NL2SP \
-reload_flag \
-OBJDUMP \
-deplibs_check_method \
-file_magic_cmd \
-file_magic_glob \
-want_nocaseglob \
-DLLTOOL \
-sharedlib_from_linklib_cmd \
-AR \
-AR_FLAGS \
-archiver_list_spec \
-STRIP \
-RANLIB \
-CC \
-CFLAGS \
-compiler \
-lt_cv_sys_global_symbol_pipe \
-lt_cv_sys_global_symbol_to_cdecl \
-lt_cv_sys_global_symbol_to_c_name_address \
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
-nm_file_list_spec \
-lt_prog_compiler_no_builtin_flag \
-lt_prog_compiler_pic \
-lt_prog_compiler_wl \
-lt_prog_compiler_static \
-lt_cv_prog_compiler_c_o \
-need_locks \
-MANIFEST_TOOL \
-DSYMUTIL \
-NMEDIT \
-LIPO \
-OTOOL \
-OTOOL64 \
-shrext_cmds \
-export_dynamic_flag_spec \
-whole_archive_flag_spec \
-compiler_needs_object \
-with_gnu_ld \
-allow_undefined_flag \
-no_undefined_flag \
-hardcode_libdir_flag_spec \
-hardcode_libdir_flag_spec_ld \
-hardcode_libdir_separator \
-exclude_expsyms \
-include_expsyms \
-file_list_spec \
-variables_saved_for_relink \
-libname_spec \
-library_names_spec \
-soname_spec \
-install_override_mode \
-finish_eval \
-old_striplib \
-striplib; do
- case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
- *[\\\\\\\`\\"\\\$]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
- ;;
- *)
- eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
- ;;
- esac
-done
-
-# Double-quote double-evaled strings.
-for var in reload_cmds \
-old_postinstall_cmds \
-old_postuninstall_cmds \
-old_archive_cmds \
-extract_expsyms_cmds \
-old_archive_from_new_cmds \
-old_archive_from_expsyms_cmds \
-archive_cmds \
-archive_expsym_cmds \
-module_cmds \
-module_expsym_cmds \
-export_symbols_cmds \
-prelink_cmds \
-postlink_cmds \
-postinstall_cmds \
-postuninstall_cmds \
-finish_cmds \
-sys_lib_search_path_spec \
-sys_lib_dlsearch_path_spec; do
- case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
- *[\\\\\\\`\\"\\\$]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
- ;;
- *)
- eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
- ;;
- esac
-done
-
-ac_aux_dir='$ac_aux_dir'
-xsi_shell='$xsi_shell'
-lt_shell_append='$lt_shell_append'
-
-# See if we are running on zsh, and set the options which allow our
-# commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
-fi
-
-
- PACKAGE='$PACKAGE'
- VERSION='$VERSION'
- TIMESTAMP='$TIMESTAMP'
- RM='$RM'
- ofile='$ofile'
-
-
-
-TARGETDIR="$TARGETDIR"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
- case $ac_config_target in
- "fficonfig.h") CONFIG_HEADERS="$CONFIG_HEADERS fficonfig.h" ;;
- "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
- "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
- "include") CONFIG_COMMANDS="$CONFIG_COMMANDS include" ;;
- "src") CONFIG_COMMANDS="$CONFIG_COMMANDS src" ;;
- "include/ffitarget.h") CONFIG_LINKS="$CONFIG_LINKS include/ffitarget.h:src/$TARGETDIR/ffitarget.h" ;;
- "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
- "include/ffi.h") CONFIG_FILES="$CONFIG_FILES include/ffi.h" ;;
- "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- "testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;;
- "man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;;
- "libffi.pc") CONFIG_FILES="$CONFIG_FILES libffi.pc" ;;
-
- *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
- esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used. Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
- test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
- test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
- test "${CONFIG_LINKS+set}" = set || CONFIG_LINKS=$config_links
- test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience. Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
- tmp= ac_tmp=
- trap 'exit_status=$?
- : "${ac_tmp:=$tmp}"
- { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
-' 0
- trap 'as_fn_exit 1' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
- tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
- test -d "$tmp"
-} ||
-{
- tmp=./conf$$-$RANDOM
- (umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-ac_tmp=$tmp
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
- eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
- ac_cs_awk_cr='\\r'
-else
- ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
-_ACEOF
-
-
-{
- echo "cat >conf$$subs.awk <<_ACEOF" &&
- echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
- echo "_ACEOF"
-} >conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
- . ./conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-
- ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
- if test $ac_delim_n = $ac_delim_num; then
- break
- elif $ac_last_try; then
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\)..*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\)..*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^""]/{
- N
- s/\n//
-}
-' >>$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
- for (key in S) S_is_set[key] = 1
- FS = ""
-
-}
-{
- line = $ 0
- nfields = split(line, field, "@")
- substed = 0
- len = length(field[1])
- for (i = 2; i < nfields; i++) {
- key = field[i]
- keylen = length(key)
- if (S_is_set[key]) {
- value = S[key]
- line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
- len += length(value) + length(field[++i])
- substed = 1
- } else
- len += 1 + keylen
- }
-
- print line
-}
-
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
- sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
- cat
-fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
- || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
-# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
-h
-s///
-s/^/:/
-s/[ ]*$/:/
-s/:\$(srcdir):/:/g
-s/:\${srcdir}:/:/g
-s/:@srcdir@:/:/g
-s/^:*//
-s/:*$//
-x
-s/\(=[ ]*\).*/\1/
-G
-s/\n//
-s/^[^=]*=[ ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
-
-# Set up the scripts for CONFIG_HEADERS section.
-# No need to generate them if there are no CONFIG_HEADERS.
-# This happens for instance with `./config.status Makefile'.
-if test -n "$CONFIG_HEADERS"; then
-cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
-BEGIN {
-_ACEOF
-
-# Transform confdefs.h into an awk script `defines.awk', embedded as
-# here-document in config.status, that substitutes the proper values into
-# config.h.in to produce config.h.
-
-# Create a delimiter string that does not exist in confdefs.h, to ease
-# handling of long lines.
-ac_delim='%!_!# '
-for ac_last_try in false false :; do
- ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
- if test -z "$ac_tt"; then
- break
- elif $ac_last_try; then
- as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-
-# For the awk script, D is an array of macro values keyed by name,
-# likewise P contains macro parameters if any. Preserve backslash
-# newline sequences.
-
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-sed -n '
-s/.\{148\}/&'"$ac_delim"'/g
-t rset
-:rset
-s/^[ ]*#[ ]*define[ ][ ]*/ /
-t def
-d
-:def
-s/\\$//
-t bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3"/p
-s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
-d
-:bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3\\\\\\n"\\/p
-t cont
-s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
-t cont
-d
-:cont
-n
-s/.\{148\}/&'"$ac_delim"'/g
-t clear
-:clear
-s/\\$//
-t bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/"/p
-d
-:bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
-b cont
-' <confdefs.h | sed '
-s/'"$ac_delim"'/"\\\
-"/g' >>$CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- for (key in D) D_is_set[key] = 1
- FS = ""
-}
-/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
- line = \$ 0
- split(line, arg, " ")
- if (arg[1] == "#") {
- defundef = arg[2]
- mac1 = arg[3]
- } else {
- defundef = substr(arg[1], 2)
- mac1 = arg[2]
- }
- split(mac1, mac2, "(") #)
- macro = mac2[1]
- prefix = substr(line, 1, index(line, defundef) - 1)
- if (D_is_set[macro]) {
- # Preserve the white space surrounding the "#".
- print prefix "define", macro P[macro] D[macro]
- next
- } else {
- # Replace #undef with comments. This is necessary, for example,
- # in the case of _POSIX_SOURCE, which is predefined and required
- # on some systems where configure will not decide to define it.
- if (defundef == "undef") {
- print "/*", prefix defundef, macro, "*/"
- next
- }
- }
-}
-{ print }
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
- as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
-fi # test -n "$CONFIG_HEADERS"
-
-
-eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :L $CONFIG_LINKS :C $CONFIG_COMMANDS"
-shift
-for ac_tag
-do
- case $ac_tag in
- :[FHLC]) ac_mode=$ac_tag; continue;;
- esac
- case $ac_mode$ac_tag in
- :[FHL]*:*);;
- :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
- :[FH]-) ac_tag=-:-;;
- :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
- esac
- ac_save_IFS=$IFS
- IFS=:
- set x $ac_tag
- IFS=$ac_save_IFS
- shift
- ac_file=$1
- shift
-
- case $ac_mode in
- :L) ac_source=$1;;
- :[FH])
- ac_file_inputs=
- for ac_f
- do
- case $ac_f in
- -) ac_f="$ac_tmp/stdin";;
- *) # Look for the file first in the build tree, then in the source tree
- # (if the path is not absolute). The absolute path cannot be DOS-style,
- # because $ac_f cannot contain `:'.
- test -f "$ac_f" ||
- case $ac_f in
- [\\/$]*) false;;
- *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
- esac ||
- as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
- esac
- case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
- as_fn_append ac_file_inputs " '$ac_f'"
- done
-
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- configure_input='Generated from '`
- $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
- `' by configure.'
- if test x"$ac_file" != x-; then
- configure_input="$ac_file. $configure_input"
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
- fi
- # Neutralize special characters interpreted by sed in replacement strings.
- case $configure_input in #(
- *\&* | *\|* | *\\* )
- ac_sed_conf_input=`$as_echo "$configure_input" |
- sed 's/[\\\\&|]/\\\\&/g'`;; #(
- *) ac_sed_conf_input=$configure_input;;
- esac
-
- case $ac_tag in
- *:-:* | *:-) cat >"$ac_tmp/stdin" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
- esac
- ;;
- esac
-
- ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- as_dir="$ac_dir"; as_fn_mkdir_p
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
- case $ac_mode in
- :F)
- #
- # CONFIG_FILE
- #
-
- case $INSTALL in
- [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
- *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
- esac
- ac_MKDIR_P=$MKDIR_P
- case $MKDIR_P in
- [\\/$]* | ?:[\\/]* ) ;;
- */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
- esac
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
- p
- q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- ac_datarootdir_hack='
- s&@datadir@&$datadir&g
- s&@docdir@&$docdir&g
- s&@infodir@&$infodir&g
- s&@localedir@&$localedir&g
- s&@mandir@&$mandir&g
- s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-s&@INSTALL@&$ac_INSTALL&;t t
-s&@MKDIR_P@&$ac_MKDIR_P&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
- >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
- { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
- { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
- "$ac_tmp/out"`; test -z "$ac_out"; } &&
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined" >&2;}
-
- rm -f "$ac_tmp/stdin"
- case $ac_file in
- -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
- *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
- esac \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- ;;
- :H)
- #
- # CONFIG_HEADER
- #
- if test x"$ac_file" != x-; then
- {
- $as_echo "/* $configure_input */" \
- && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
- } >"$ac_tmp/config.h" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
- else
- rm -f "$ac_file"
- mv "$ac_tmp/config.h" "$ac_file" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- fi
- else
- $as_echo "/* $configure_input */" \
- && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
- || as_fn_error $? "could not create -" "$LINENO" 5
- fi
-# Compute "$ac_file"'s index in $config_headers.
-_am_arg="$ac_file"
-_am_stamp_count=1
-for _am_header in $config_headers :; do
- case $_am_header in
- $_am_arg | $_am_arg:* )
- break ;;
- * )
- _am_stamp_count=`expr $_am_stamp_count + 1` ;;
- esac
-done
-echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
-$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$_am_arg" : 'X\(//\)[^/]' \| \
- X"$_am_arg" : 'X\(//\)$' \| \
- X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$_am_arg" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`/stamp-h$_am_stamp_count
- ;;
- :L)
- #
- # CONFIG_LINK
- #
-
- if test "$ac_source" = "$ac_file" && test "$srcdir" = '.'; then
- :
- else
- # Prefer the file from the source tree if names are identical.
- if test "$ac_source" = "$ac_file" || test ! -r "$ac_source"; then
- ac_source=$srcdir/$ac_source
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: linking $ac_source to $ac_file" >&5
-$as_echo "$as_me: linking $ac_source to $ac_file" >&6;}
-
- if test ! -r "$ac_source"; then
- as_fn_error $? "$ac_source: file not found" "$LINENO" 5
- fi
- rm -f "$ac_file"
-
- # Try a relative symlink, then a hard link, then a copy.
- case $ac_source in
- [\\/$]* | ?:[\\/]* ) ac_rel_source=$ac_source ;;
- *) ac_rel_source=$ac_top_build_prefix$ac_source ;;
- esac
- ln -s "$ac_rel_source" "$ac_file" 2>/dev/null ||
- ln "$ac_source" "$ac_file" 2>/dev/null ||
- cp -p "$ac_source" "$ac_file" ||
- as_fn_error $? "cannot link or copy $ac_source to $ac_file" "$LINENO" 5
- fi
- ;;
- :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-$as_echo "$as_me: executing $ac_file commands" >&6;}
- ;;
- esac
-
-
- case $ac_file$ac_mode in
- "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
- # Autoconf 2.62 quotes --file arguments for eval, but not when files
- # are listed without --file. Let's play safe and only enable the eval
- # if we detect the quoting.
- case $CONFIG_FILES in
- *\'*) eval set x "$CONFIG_FILES" ;;
- *) set x $CONFIG_FILES ;;
- esac
- shift
- for mf
- do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # Grep'ing the whole file is not good either: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
- dirpart=`$as_dirname -- "$mf" ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$mf" : 'X\(//\)[^/]' \| \
- X"$mf" : 'X\(//\)$' \| \
- X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$mf" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`$as_dirname -- "$file" ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$file" : 'X\(//\)[^/]' \| \
- X"$file" : 'X\(//\)$' \| \
- X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- as_dir=$dirpart/$fdir; as_fn_mkdir_p
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
- done
-}
- ;;
- "libtool":C)
-
- # See if we are running on zsh, and set the options which allow our
- # commands through without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
-
- cfgfile="${ofile}T"
- trap "$RM \"$cfgfile\"; exit 1" 1 2 15
- $RM "$cfgfile"
-
- cat <<_LT_EOF >> "$cfgfile"
-#! $SHELL
-
-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-# Inc.
-# Written by Gordon Matzigkeit, 1996
-#
-# This file is part of GNU Libtool.
-#
-# GNU Libtool is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
-#
-# GNU Libtool is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING. If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-
-# The names of the tagged configurations supported by this script.
-available_tags=""
-
-# ### BEGIN LIBTOOL CONFIG
-
-# Which release of libtool.m4 was used?
-macro_version=$macro_version
-macro_revision=$macro_revision
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# What type of objects to build.
-pic_mode=$pic_mode
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# An echo program that protects backslashes.
-ECHO=$lt_ECHO
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# A sed program that does not truncate output.
-SED=$lt_SED
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="\$SED -e 1s/^X//"
-
-# A grep program that handles long lines.
-GREP=$lt_GREP
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# A literal string matcher.
-FGREP=$lt_FGREP
-
-# A BSD- or MS-compatible name lister.
-NM=$lt_NM
-
-# Whether we need soft or hard links.
-LN_S=$lt_LN_S
-
-# What is the maximum length of a command?
-max_cmd_len=$max_cmd_len
-
-# Object file suffix (normally "o").
-objext=$ac_objext
-
-# Executable file suffix (normally "").
-exeext=$exeext
-
-# whether the shell understands "unset".
-lt_unset=$lt_unset
-
-# turn spaces into newlines.
-SP2NL=$lt_lt_SP2NL
-
-# turn newlines into spaces.
-NL2SP=$lt_lt_NL2SP
-
-# convert \$build file names to \$host format.
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-
-# convert \$build files to toolchain format.
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-
-# An object symbol dumper.
-OBJDUMP=$lt_OBJDUMP
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method = "file_magic".
-file_magic_cmd=$lt_file_magic_cmd
-
-# How to find potential files when deplibs_check_method = "file_magic".
-file_magic_glob=$lt_file_magic_glob
-
-# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
-want_nocaseglob=$lt_want_nocaseglob
-
-# DLL creation program.
-DLLTOOL=$lt_DLLTOOL
-
-# Command to associate shared and link libraries.
-sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
-
-# The archiver.
-AR=$lt_AR
-
-# Flags to create an archive.
-AR_FLAGS=$lt_AR_FLAGS
-
-# How to feed a file listing to the archiver.
-archiver_list_spec=$lt_archiver_list_spec
-
-# A symbol stripping program.
-STRIP=$lt_STRIP
-
-# Commands used to install an old-style archive.
-RANLIB=$lt_RANLIB
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Whether to use a lock for old archive extraction.
-lock_old_archive_extraction=$lock_old_archive_extraction
-
-# A C compiler.
-LTCC=$lt_CC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_CFLAGS
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration.
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair.
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# Transform the output of nm in a C name address pair when lib prefix is needed.
-global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
-
-# Specify filename containing input files for \$NM.
-nm_file_list_spec=$lt_nm_file_list_spec
-
-# The root where to search for dependent libraries,and in which our libraries should be installed.
-lt_sysroot=$lt_sysroot
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# Used to examine libraries when file_magic_cmd begins with "file".
-MAGIC_CMD=$MAGIC_CMD
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Manifest tool.
-MANIFEST_TOOL=$lt_MANIFEST_TOOL
-
-# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
-DSYMUTIL=$lt_DSYMUTIL
-
-# Tool to change global to local symbols on Mac OS X.
-NMEDIT=$lt_NMEDIT
-
-# Tool to manipulate fat objects and archives on Mac OS X.
-LIPO=$lt_LIPO
-
-# ldd/readelf like tool for Mach-O binaries on Mac OS X.
-OTOOL=$lt_OTOOL
-
-# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
-OTOOL64=$lt_OTOOL64
-
-# Old archive suffix (normally "a").
-libext=$libext
-
-# Shared library suffix (normally ".so").
-shrext_cmds=$lt_shrext_cmds
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at link time.
-variables_saved_for_relink=$lt_variables_saved_for_relink
-
-# Do we need the "lib" prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Library versioning type.
-version_type=$version_type
-
-# Shared library runtime path variable.
-runpath_var=$runpath_var
-
-# Shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Permission mode override for installation of shared libraries.
-install_override_mode=$lt_install_override_mode
-
-# Command to use after installation of a shared archive.
-postinstall_cmds=$lt_postinstall_cmds
-
-# Command to use after uninstallation of a shared archive.
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# As "finish_cmds", except a single script fragment to be evaled but
-# not shown.
-finish_eval=$lt_finish_eval
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Compile-time system search path for libraries.
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries.
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-
-# The linker used to build libraries.
-LD=$lt_LD
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# Commands used to build an old-style archive.
-old_archive_cmds=$lt_old_archive_cmds
-
-# A language specific compiler.
-CC=$lt_compiler
-
-# Is the compiler the GNU compiler?
-with_gcc=$GCC
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc
-
-# Whether or not to disallow shared libs when runtime libs are static.
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec
-
-# Whether the compiler copes with passing no objects directly.
-compiler_needs_object=$lt_compiler_needs_object
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
-
-# Commands used to build a shared archive.
-archive_cmds=$lt_archive_cmds
-archive_expsym_cmds=$lt_archive_expsym_cmds
-
-# Commands used to build a loadable module if different from building
-# a shared archive.
-module_cmds=$lt_module_cmds
-module_expsym_cmds=$lt_module_expsym_cmds
-
-# Whether we are building with GNU ld or not.
-with_gnu_ld=$lt_with_gnu_ld
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag
-
-# Flag that enforces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
-
-# If ld is used when linking, flag to hardcode \$libdir into a binary
-# during linking. This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
-
-# Whether we need a single "-rpath" flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary.
-hardcode_direct=$hardcode_direct
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary and the resulting library dependency is
-# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
-# library is relocated.
-hardcode_direct_absolute=$hardcode_direct_absolute
-
-# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
-# into the resulting binary.
-hardcode_minus_L=$hardcode_minus_L
-
-# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
-# into the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var
-
-# Set to "yes" if building a shared library automatically hardcodes DIR
-# into the library and all subsequent libraries and executables linked
-# against it.
-hardcode_automatic=$hardcode_automatic
-
-# Set to yes if linker adds runtime paths of dependent libraries
-# to runtime path list.
-inherit_rpath=$inherit_rpath
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs
-
-# Set to "yes" if exported symbols are required.
-always_export_symbols=$always_export_symbols
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms
-
-# Commands necessary for linking programs (against libraries) with templates.
-prelink_cmds=$lt_prelink_cmds
-
-# Commands necessary for finishing linking programs.
-postlink_cmds=$lt_postlink_cmds
-
-# Specify filename containing input files.
-file_list_spec=$lt_file_list_spec
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action
-
-# ### END LIBTOOL CONFIG
-
-_LT_EOF
-
- case $host_os in
- aix3*)
- cat <<\_LT_EOF >> "$cfgfile"
-# AIX sometimes has problems with the GCC collect2 program. For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
-fi
-_LT_EOF
- ;;
- esac
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-
- # We use sed instead of cat because bash on DJGPP gets confused if
- # if finds mixed CR/LF and LF-only lines. Since sed operates in
- # text mode, it properly converts lines to CR/LF. This bash problem
- # is reportedly fixed, but why not run on old versions too?
- sed '$q' "$ltmain" >> "$cfgfile" \
- || (rm -f "$cfgfile"; exit 1)
-
- if test x"$xsi_shell" = xyes; then
- sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
-func_dirname ()\
-{\
-\ case ${1} in\
-\ */*) func_dirname_result="${1%/*}${2}" ;;\
-\ * ) func_dirname_result="${3}" ;;\
-\ esac\
-} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_basename ()$/,/^} # func_basename /c\
-func_basename ()\
-{\
-\ func_basename_result="${1##*/}"\
-} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
-func_dirname_and_basename ()\
-{\
-\ case ${1} in\
-\ */*) func_dirname_result="${1%/*}${2}" ;;\
-\ * ) func_dirname_result="${3}" ;;\
-\ esac\
-\ func_basename_result="${1##*/}"\
-} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
-func_stripname ()\
-{\
-\ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
-\ # positional parameters, so assign one to ordinary parameter first.\
-\ func_stripname_result=${3}\
-\ func_stripname_result=${func_stripname_result#"${1}"}\
-\ func_stripname_result=${func_stripname_result%"${2}"}\
-} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
-func_split_long_opt ()\
-{\
-\ func_split_long_opt_name=${1%%=*}\
-\ func_split_long_opt_arg=${1#*=}\
-} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
-func_split_short_opt ()\
-{\
-\ func_split_short_opt_arg=${1#??}\
-\ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
-} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
-func_lo2o ()\
-{\
-\ case ${1} in\
-\ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
-\ *) func_lo2o_result=${1} ;;\
-\ esac\
-} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_xform ()$/,/^} # func_xform /c\
-func_xform ()\
-{\
- func_xform_result=${1%.*}.lo\
-} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_arith ()$/,/^} # func_arith /c\
-func_arith ()\
-{\
- func_arith_result=$(( $* ))\
-} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_len ()$/,/^} # func_len /c\
-func_len ()\
-{\
- func_len_result=${#1}\
-} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-fi
-
-if test x"$lt_shell_append" = xyes; then
- sed -e '/^func_append ()$/,/^} # func_append /c\
-func_append ()\
-{\
- eval "${1}+=\\${2}"\
-} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
-func_append_quoted ()\
-{\
-\ func_quote_for_eval "${2}"\
-\ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
-} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- # Save a `func_append' function call where possible by direct use of '+='
- sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
- test 0 -eq $? || _lt_function_replace_fail=:
-else
- # Save a `func_append' function call even when '+=' is not available
- sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
- test 0 -eq $? || _lt_function_replace_fail=:
-fi
-
-if test x"$_lt_function_replace_fail" = x":"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
-$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
-fi
-
-
- mv -f "$cfgfile" "$ofile" ||
- (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
- chmod +x "$ofile"
-
- ;;
- "include":C) test -d include || mkdir include ;;
- "src":C)
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
- ;;
-
- esac
-done # for ac_tag
-
-
-as_fn_exit 0
-_ACEOF
-ac_clean_files=$ac_clean_files_save
-
-test $ac_write_fail = 0 ||
- as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded. So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status. When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
- ac_cs_success=:
- ac_config_status_args=
- test "$silent" = yes &&
- ac_config_status_args="$ac_config_status_args --quiet"
- exec 5>/dev/null
- $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
- exec 5>>config.log
- # Use ||, not &&, to avoid exiting from the if with $? = 1, which
- # would make configure fail if this is the last instruction.
- $ac_cs_success || as_fn_exit 1
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
-
diff --git a/.pc/win64-underscore/configure.ac b/.pc/win64-underscore/configure.ac
deleted file mode 100644
index 6998293..0000000
--- a/.pc/win64-underscore/configure.ac
+++ /dev/null
@@ -1,472 +0,0 @@
-dnl Process this with autoconf to create configure
-
-AC_PREREQ(2.63)
-
-AC_INIT([libffi], [3.0.11-rc2], [http://github.com/atgreen/libffi/issues])
-AC_CONFIG_HEADERS([fficonfig.h])
-
-AC_CANONICAL_SYSTEM
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-AM_INIT_AUTOMAKE
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-# Also save and restore CFLAGS, since AC_PROG_CC will come up with
-# defaults of its own if none are provided.
-
-m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS])
-m4_define([_AC_ARG_VAR_PRECIOUS],[])
-save_CFLAGS=$CFLAGS
-AC_PROG_CC
-CFLAGS=$save_CFLAGS
-m4_undefine([_AC_ARG_VAR_PRECIOUS])
-m4_rename([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
-
-AC_SUBST(CFLAGS)
-
-AM_PROG_AS
-AM_PROG_CC_C_O
-AC_PROG_LIBTOOL
-AC_CONFIG_MACRO_DIR([m4])
-
-AM_MAINTAINER_MODE
-
-AC_CHECK_HEADERS(sys/mman.h)
-AC_CHECK_FUNCS(mmap)
-AC_FUNC_MMAP_BLACKLIST
-
-dnl The -no-testsuite modules omit the test subdir.
-AM_CONDITIONAL(TESTSUBDIR, test -d $srcdir/testsuite)
-
-TARGETDIR="unknown"
-case "$host" in
- alpha*-*-*)
- TARGET=ALPHA; TARGETDIR=alpha;
- # Support 128-bit long double, changeable via command-line switch.
- HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
- ;;
-
- arm*-*-*)
- TARGET=ARM; TARGETDIR=arm
- ;;
-
- amd64-*-freebsd* | amd64-*-openbsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- amd64-*-freebsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- avr32*-*-*)
- TARGET=AVR32; TARGETDIR=avr32
- ;;
-
- cris-*-*)
- TARGET=LIBFFI_CRIS; TARGETDIR=cris
- ;;
-
- frv-*-*)
- TARGET=FRV; TARGETDIR=frv
- ;;
-
- hppa*-*-linux* | parisc*-*-linux*)
- TARGET=PA_LINUX; TARGETDIR=pa
- ;;
- hppa*64-*-hpux*)
- TARGET=PA64_HPUX; TARGETDIR=pa
- ;;
- hppa*-*-hpux*)
- TARGET=PA_HPUX; TARGETDIR=pa
- ;;
-
- i?86-*-freebsd* | i?86-*-openbsd*)
- TARGET=X86_FREEBSD; TARGETDIR=x86
- ;;
- i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2*)
- TARGET=X86_WIN32; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
- i?86-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
- i?86-*-solaris2.1[[0-9]]*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
- i?86-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- ia64*-*-*)
- TARGET=IA64; TARGETDIR=ia64
- ;;
-
- m32r*-*-*)
- TARGET=M32R; TARGETDIR=m32r
- ;;
-
- m68k-*-*)
- TARGET=M68K; TARGETDIR=m68k
- ;;
-
- mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
- TARGET=MIPS; TARGETDIR=mips
- ;;
- mips*-*-linux*)
- # Support 128-bit long double for NewABI.
- HAVE_LONG_DOUBLE='defined(__mips64)'
- TARGET=MIPS; TARGETDIR=mips
- ;;
-
- moxie-*-*)
- TARGET=MOXIE; TARGETDIR=moxie
- ;;
-
- powerpc*-*-linux* | powerpc-*-sysv*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-beos*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-darwin*)
- TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
- ;;
- powerpc-*-aix* | rs6000-*-aix*)
- TARGET=POWERPC_AIX; TARGETDIR=powerpc
- ;;
- powerpc-*-freebsd*)
- TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
- ;;
- powerpc64-*-freebsd*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc*-*-rtems*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
-
- s390-*-* | s390x-*-*)
- TARGET=S390; TARGETDIR=s390
- ;;
-
- sh-*-* | sh[[34]]*-*-*)
- TARGET=SH; TARGETDIR=sh
- ;;
- sh64-*-* | sh5*-*-*)
- TARGET=SH64; TARGETDIR=sh64
- ;;
-
- sparc*-*-*)
- TARGET=SPARC; TARGETDIR=sparc
- ;;
-
- x86_64-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
-
- x86_64-*-cygwin* | x86_64-*-mingw*)
- TARGET=X86_WIN64; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
-
- x86_64-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-esac
-
-AC_SUBST(AM_RUNTESTFLAGS)
-AC_SUBST(AM_LTLDFLAGS)
-
-if test $TARGETDIR = unknown; then
- AC_MSG_ERROR(["libffi has not been ported to $host."])
-fi
-
-AM_CONDITIONAL(MIPS, test x$TARGET = xMIPS)
-AM_CONDITIONAL(SPARC, test x$TARGET = xSPARC)
-AM_CONDITIONAL(X86, test x$TARGET = xX86)
-AM_CONDITIONAL(X86_FREEBSD, test x$TARGET = xX86_FREEBSD)
-AM_CONDITIONAL(X86_WIN32, test x$TARGET = xX86_WIN32)
-AM_CONDITIONAL(X86_WIN64, test x$TARGET = xX86_WIN64)
-AM_CONDITIONAL(X86_DARWIN, test x$TARGET = xX86_DARWIN)
-AM_CONDITIONAL(ALPHA, test x$TARGET = xALPHA)
-AM_CONDITIONAL(IA64, test x$TARGET = xIA64)
-AM_CONDITIONAL(M32R, test x$TARGET = xM32R)
-AM_CONDITIONAL(M68K, test x$TARGET = xM68K)
-AM_CONDITIONAL(MOXIE, test x$TARGET = xMOXIE)
-AM_CONDITIONAL(POWERPC, test x$TARGET = xPOWERPC)
-AM_CONDITIONAL(POWERPC_AIX, test x$TARGET = xPOWERPC_AIX)
-AM_CONDITIONAL(POWERPC_DARWIN, test x$TARGET = xPOWERPC_DARWIN)
-AM_CONDITIONAL(POWERPC_FREEBSD, test x$TARGET = xPOWERPC_FREEBSD)
-AM_CONDITIONAL(ARM, test x$TARGET = xARM)
-AM_CONDITIONAL(AVR32, test x$TARGET = xAVR32)
-AM_CONDITIONAL(LIBFFI_CRIS, test x$TARGET = xLIBFFI_CRIS)
-AM_CONDITIONAL(FRV, test x$TARGET = xFRV)
-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)
-AM_CONDITIONAL(PA_LINUX, test x$TARGET = xPA_LINUX)
-AM_CONDITIONAL(PA_HPUX, test x$TARGET = xPA_HPUX)
-AM_CONDITIONAL(PA64_HPUX, test x$TARGET = xPA64_HPUX)
-
-AC_HEADER_STDC
-AC_CHECK_FUNCS(memcpy)
-AC_FUNC_ALLOCA
-
-AC_CHECK_SIZEOF(double)
-AC_CHECK_SIZEOF(long double)
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
- HAVE_LONG_DOUBLE=0
- if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
- if test $ac_cv_sizeof_long_double != 0; then
- HAVE_LONG_DOUBLE=1
- AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the long double type and it is bigger than a double])
- fi
- fi
-fi
-AC_SUBST(HAVE_LONG_DOUBLE)
-
-AC_C_BIGENDIAN
-
-GCC_AS_CFI_PSEUDO_OP
-
-if test x$TARGET = xSPARC; then
- AC_CACHE_CHECK([assembler and linker support unaligned pc related relocs],
- libffi_cv_as_sparc_ua_pcrel, [
- save_CFLAGS="$CFLAGS"
- save_LDFLAGS="$LDFLAGS"
- CFLAGS="$CFLAGS -fpic"
- LDFLAGS="$LDFLAGS -shared"
- AC_TRY_LINK([asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");],,
- [libffi_cv_as_sparc_ua_pcrel=yes],
- [libffi_cv_as_sparc_ua_pcrel=no])
- CFLAGS="$save_CFLAGS"
- LDFLAGS="$save_LDFLAGS"])
- if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
- AC_DEFINE(HAVE_AS_SPARC_UA_PCREL, 1,
- [Define if your assembler and linker support unaligned PC relative relocs.])
- fi
-
- AC_CACHE_CHECK([assembler .register pseudo-op support],
- libffi_cv_as_register_pseudo_op, [
- libffi_cv_as_register_pseudo_op=unknown
- # Check if we have .register
- AC_TRY_COMPILE([asm (".register %g2, #scratch");],,
- [libffi_cv_as_register_pseudo_op=yes],
- [libffi_cv_as_register_pseudo_op=no])
- ])
- if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
- AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP, 1,
- [Define if your assembler supports .register.])
- fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
- AC_CACHE_CHECK([assembler supports pc related relocs],
- libffi_cv_as_x86_pcrel, [
- libffi_cv_as_x86_pcrel=yes
- echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
- if $CC $CFLAGS -c conftest.s 2>&1 | $EGREP -i 'illegal|warning' > /dev/null; then
- libffi_cv_as_x86_pcrel=no
- fi
- ])
- if test "x$libffi_cv_as_x86_pcrel" = xyes; then
- AC_DEFINE(HAVE_AS_X86_PCREL, 1,
- [Define if your assembler supports PC relative relocs.])
- fi
-
- AC_CACHE_CHECK([assembler .ascii pseudo-op support],
- libffi_cv_as_ascii_pseudo_op, [
- libffi_cv_as_ascii_pseudo_op=unknown
- # Check if we have .ascii
- AC_TRY_COMPILE([asm (".ascii \\"string\\"");],,
- [libffi_cv_as_ascii_pseudo_op=yes],
- [libffi_cv_as_ascii_pseudo_op=no])
- ])
- if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
- AC_DEFINE(HAVE_AS_ASCII_PSEUDO_OP, 1,
- [Define if your assembler supports .ascii.])
- fi
-
- AC_CACHE_CHECK([assembler .string pseudo-op support],
- libffi_cv_as_string_pseudo_op, [
- libffi_cv_as_string_pseudo_op=unknown
- # Check if we have .string
- AC_TRY_COMPILE([asm (".string \\"string\\"");],,
- [libffi_cv_as_string_pseudo_op=yes],
- [libffi_cv_as_string_pseudo_op=no])
- ])
- if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
- AC_DEFINE(HAVE_AS_STRING_PSEUDO_OP, 1,
- [Define if your assembler supports .string.])
- fi
-fi
-
-case "$target" in
- *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
- AC_DEFINE(FFI_MMAP_EXEC_WRIT, 1,
- [Cannot use malloc on this target, so, we revert to
- alternative means])
- ;;
-esac
-
-if test x$TARGET = xX86_64; then
- AC_CACHE_CHECK([assembler supports unwind section type],
- libffi_cv_as_x86_64_unwind_section_type, [
- libffi_cv_as_x86_64_unwind_section_type=yes
- echo '.section .eh_frame,"a",@unwind' > conftest.s
- if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
- libffi_cv_as_x86_64_unwind_section_type=no
- fi
- ])
- if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
- AC_DEFINE(HAVE_AS_X86_64_UNWIND_SECTION_TYPE, 1,
- [Define if your assembler supports unwind section type.])
- fi
-fi
-
-AC_CACHE_CHECK([whether .eh_frame section should be read-only],
- libffi_cv_ro_eh_frame, [
- libffi_cv_ro_eh_frame=no
- echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
- if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
- if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- elif grep '.section.*eh_frame.*#alloc' conftest.c \
- | grep -v '#write' > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- fi
- fi
- rm -f conftest.*
- ])
-if test "x$libffi_cv_ro_eh_frame" = xyes; then
- AC_DEFINE(HAVE_RO_EH_FRAME, 1,
- [Define if .eh_frame sections should be read-only.])
- AC_DEFINE(EH_FRAME_FLAGS, "a",
- [Define to the flags needed for the .section .eh_frame directive.])
-else
- AC_DEFINE(EH_FRAME_FLAGS, "aw",
- [Define to the flags needed for the .section .eh_frame directive.])
-fi
-
-AC_CACHE_CHECK([for __attribute__((visibility("hidden")))],
- libffi_cv_hidden_visibility_attribute, [
- echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1; }' > conftest.c
- libffi_cv_hidden_visibility_attribute=no
- if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
- if grep '\.hidden.*foo' conftest.s >/dev/null; then
- libffi_cv_hidden_visibility_attribute=yes
- fi
- fi
- rm -f conftest.*
- ])
-if test $libffi_cv_hidden_visibility_attribute = yes; then
- AC_DEFINE(HAVE_HIDDEN_VISIBILITY_ATTRIBUTE, 1,
- [Define if __attribute__((visibility("hidden"))) is supported.])
-fi
-
-AH_BOTTOM([
-#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
-])
-
-AC_SUBST(TARGET)
-AC_SUBST(TARGETDIR)
-
-AC_SUBST(SHELL)
-
-AC_ARG_ENABLE(debug,
-[ --enable-debug debugging mode],
- if test "$enable_debug" = "yes"; then
- AC_DEFINE(FFI_DEBUG, 1, [Define this if you want extra debugging.])
- fi)
-AM_CONDITIONAL(FFI_DEBUG, test "$enable_debug" = "yes")
-
-AC_ARG_ENABLE(structs,
-[ --disable-structs omit code for struct support],
- if test "$enable_structs" = "no"; then
- AC_DEFINE(FFI_NO_STRUCTS, 1, [Define this is you do not want support for aggregate types.])
- fi)
-
-AC_ARG_ENABLE(raw-api,
-[ --disable-raw-api make the raw api unavailable],
- if test "$enable_raw_api" = "no"; then
- AC_DEFINE(FFI_NO_RAW_API, 1, [Define this is you do not want support for the raw API.])
- fi)
-
-AC_ARG_ENABLE(purify-safety,
-[ --enable-purify-safety purify-safe mode],
- if test "$enable_purify_safety" = "yes"; then
- AC_DEFINE(USING_PURIFY, 1, [Define this if you are using Purify and want to suppress spurious messages.])
- fi)
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- toolexecdir='$(exec_prefix)/$(target_alias)'
- toolexeclibdir='$(toolexecdir)/lib'
- else
- toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
- toolexeclibdir='$(libdir)'
- fi
- multi_os_directory=`$CC -print-multi-os-directory`
- case $multi_os_directory in
- .) ;; # Avoid trailing /.
- *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
- esac
- AC_SUBST(toolexecdir)
- AC_SUBST(toolexeclibdir)
-fi
-
-if test "${multilib}" = "yes"; then
- multilib_arg="--enable-multilib"
-else
- multilib_arg=
-fi
-
-AC_CONFIG_COMMANDS(include, [test -d include || mkdir include])
-AC_CONFIG_COMMANDS(src, [
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
-], [TARGETDIR="$TARGETDIR"])
-
-AC_CONFIG_LINKS(include/ffitarget.h:src/$TARGETDIR/ffitarget.h)
-
-AC_CONFIG_FILES(include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc)
-
-AC_OUTPUT
diff --git a/.pc/win64-underscore/src/x86/win64.S b/.pc/win64-underscore/src/x86/win64.S
deleted file mode 100644
index 6e91818..0000000
--- a/.pc/win64-underscore/src/x86/win64.S
+++ /dev/null
@@ -1,460 +0,0 @@
-#define LIBFFI_ASM
-#include <fficonfig.h>
-#include <ffi.h>
-
-/* Constants for ffi_call_win64 */
-#define STACK 0
-#define PREP_ARGS_FN 32
-#define ECIF 40
-#define CIF_BYTES 48
-#define CIF_FLAGS 56
-#define RVALUE 64
-#define FN 72
-
-/* ffi_call_win64 (void (*prep_args_fn)(char *, extended_cif *),
- extended_cif *ecif, unsigned bytes, unsigned flags,
- unsigned *rvalue, void (*fn)());
- */
-
-#ifdef _MSC_VER
-PUBLIC ffi_call_win64
-
-EXTRN __chkstk:NEAR
-EXTRN ffi_closure_win64_inner:NEAR
-
-_TEXT SEGMENT
-
-;;; ffi_closure_win64 will be called with these registers set:
-;;; rax points to 'closure'
-;;; r11 contains a bit mask that specifies which of the
-;;; first four parameters are float or double
-;;;
-;;; It must move the parameters passed in registers to their stack location,
-;;; call ffi_closure_win64_inner for the actual work, then return the result.
-;;;
-ffi_closure_win64 PROC FRAME
- ;; copy register arguments onto stack
- test r11, 1
- jne first_is_float
- mov QWORD PTR [rsp+8], rcx
- jmp second
-first_is_float:
- movlpd QWORD PTR [rsp+8], xmm0
-
-second:
- test r11, 2
- jne second_is_float
- mov QWORD PTR [rsp+16], rdx
- jmp third
-second_is_float:
- movlpd QWORD PTR [rsp+16], xmm1
-
-third:
- test r11, 4
- jne third_is_float
- mov QWORD PTR [rsp+24], r8
- jmp fourth
-third_is_float:
- movlpd QWORD PTR [rsp+24], xmm2
-
-fourth:
- test r11, 8
- jne fourth_is_float
- mov QWORD PTR [rsp+32], r9
- jmp done
-fourth_is_float:
- movlpd QWORD PTR [rsp+32], xmm3
-
-done:
- .ALLOCSTACK 40
- sub rsp, 40
- .ENDPROLOG
- mov rcx, rax ; context is first parameter
- mov rdx, rsp ; stack is second parameter
- add rdx, 48 ; point to start of arguments
- mov rax, ffi_closure_win64_inner
- call rax ; call the real closure function
- add rsp, 40
- movd xmm0, rax ; If the closure returned a float,
- ; ffi_closure_win64_inner wrote it to rax
- ret 0
-ffi_closure_win64 ENDP
-
-ffi_call_win64 PROC FRAME
- ;; copy registers onto stack
- mov QWORD PTR [rsp+32], r9
- mov QWORD PTR [rsp+24], r8
- mov QWORD PTR [rsp+16], rdx
- mov QWORD PTR [rsp+8], rcx
- .PUSHREG rbp
- push rbp
- .ALLOCSTACK 48
- sub rsp, 48 ; 00000030H
- .SETFRAME rbp, 32
- lea rbp, QWORD PTR [rsp+32]
- .ENDPROLOG
-
- mov eax, DWORD PTR CIF_BYTES[rbp]
- add rax, 15
- and rax, -16
- call __chkstk
- sub rsp, rax
- lea rax, QWORD PTR [rsp+32]
- mov QWORD PTR STACK[rbp], rax
-
- mov rdx, QWORD PTR ECIF[rbp]
- mov rcx, QWORD PTR STACK[rbp]
- call QWORD PTR PREP_ARGS_FN[rbp]
-
- mov rsp, QWORD PTR STACK[rbp]
-
- movlpd xmm3, QWORD PTR [rsp+24]
- movd r9, xmm3
-
- movlpd xmm2, QWORD PTR [rsp+16]
- movd r8, xmm2
-
- movlpd xmm1, QWORD PTR [rsp+8]
- movd rdx, xmm1
-
- movlpd xmm0, QWORD PTR [rsp]
- movd rcx, xmm0
-
- call QWORD PTR FN[rbp]
-ret_struct4b$:
- cmp DWORD PTR CIF_FLAGS[rbp], FFI_TYPE_SMALL_STRUCT_4B
- jne ret_struct2b$
-
- mov rcx, QWORD PTR RVALUE[rbp]
- mov DWORD PTR [rcx], eax
- jmp ret_void$
-
-ret_struct2b$:
- cmp DWORD PTR CIF_FLAGS[rbp], FFI_TYPE_SMALL_STRUCT_2B
- jne ret_struct1b$
-
- mov rcx, QWORD PTR RVALUE[rbp]
- mov WORD PTR [rcx], ax
- jmp ret_void$
-
-ret_struct1b$:
- cmp DWORD PTR CIF_FLAGS[rbp], FFI_TYPE_SMALL_STRUCT_1B
- jne ret_uint8$
-
- mov rcx, QWORD PTR RVALUE[rbp]
- mov BYTE PTR [rcx], al
- jmp ret_void$
-
-ret_uint8$:
- cmp DWORD PTR CIF_FLAGS[rbp], FFI_TYPE_UINT8
- jne ret_sint8$
-
- mov rcx, QWORD PTR RVALUE[rbp]
- movzx rax, al
- mov QWORD PTR [rcx], rax
- jmp ret_void$
-
-ret_sint8$:
- cmp DWORD PTR CIF_FLAGS[rbp], FFI_TYPE_SINT8
- jne ret_uint16$
-
- mov rcx, QWORD PTR RVALUE[rbp]
- movsx rax, al
- mov QWORD PTR [rcx], rax
- jmp ret_void$
-
-ret_uint16$:
- cmp DWORD PTR CIF_FLAGS[rbp], FFI_TYPE_UINT16
- jne ret_sint16$
-
- mov rcx, QWORD PTR RVALUE[rbp]
- movzx rax, ax
- mov QWORD PTR [rcx], rax
- jmp SHORT ret_void$
-
-ret_sint16$:
- cmp DWORD PTR CIF_FLAGS[rbp], FFI_TYPE_SINT16
- jne ret_uint32$
-
- mov rcx, QWORD PTR RVALUE[rbp]
- movsx rax, ax
- mov QWORD PTR [rcx], rax
- jmp SHORT ret_void$
-
-ret_uint32$:
- cmp DWORD PTR CIF_FLAGS[rbp], FFI_TYPE_UINT32
- jne ret_sint32$
-
- mov rcx, QWORD PTR RVALUE[rbp]
- mov eax, eax
- mov QWORD PTR [rcx], rax
- jmp SHORT ret_void$
-
-ret_sint32$:
- cmp DWORD PTR CIF_FLAGS[rbp], FFI_TYPE_SINT32
- jne ret_float$
-
- mov rcx, QWORD PTR RVALUE[rbp]
- cdqe
- mov QWORD PTR [rcx], rax
- jmp SHORT ret_void$
-
-ret_float$:
- cmp DWORD PTR CIF_FLAGS[rbp], FFI_TYPE_FLOAT
- jne SHORT ret_double$
-
- mov rax, QWORD PTR RVALUE[rbp]
- movss DWORD PTR [rax], xmm0
- jmp SHORT ret_void$
-
-ret_double$:
- cmp DWORD PTR CIF_FLAGS[rbp], FFI_TYPE_DOUBLE
- jne SHORT ret_sint64$
-
- mov rax, QWORD PTR RVALUE[rbp]
- movlpd QWORD PTR [rax], xmm0
- jmp SHORT ret_void$
-
-ret_sint64$:
- cmp DWORD PTR CIF_FLAGS[rbp], FFI_TYPE_SINT64
- jne ret_void$
-
- mov rcx, QWORD PTR RVALUE[rbp]
- mov QWORD PTR [rcx], rax
- jmp SHORT ret_void$
-
-ret_void$:
- xor rax, rax
-
- lea rsp, QWORD PTR [rbp+16]
- pop rbp
- ret 0
-ffi_call_win64 ENDP
-_TEXT ENDS
-END
-#else
-.text
-
-.extern _ffi_closure_win64_inner
-
-# ffi_closure_win64 will be called with these registers set:
-# rax points to 'closure'
-# r11 contains a bit mask that specifies which of the
-# first four parameters are float or double
-#
-# It must move the parameters passed in registers to their stack location,
-# call ffi_closure_win64_inner for the actual work, then return the result.
-#
- .balign 16
- .globl _ffi_closure_win64
-_ffi_closure_win64:
- # copy register arguments onto stack
- test $1,%r11
- jne .Lfirst_is_float
- mov %rcx, 8(%rsp)
- jmp .Lsecond
-.Lfirst_is_float:
- movlpd %xmm0, 8(%rsp)
-
-.Lsecond:
- test $2, %r11
- jne .Lsecond_is_float
- mov %rdx, 16(%rsp)
- jmp .Lthird
-.Lsecond_is_float:
- movlpd %xmm1, 16(%rsp)
-
-.Lthird:
- test $4, %r11
- jne .Lthird_is_float
- mov %r8,24(%rsp)
- jmp .Lfourth
-.Lthird_is_float:
- movlpd %xmm2, 24(%rsp)
-
-.Lfourth:
- test $8, %r11
- jne .Lfourth_is_float
- mov %r9, 32(%rsp)
- jmp .Ldone
-.Lfourth_is_float:
- movlpd %xmm3, 32(%rsp)
-
-.Ldone:
-#.ALLOCSTACK 40
- sub $40, %rsp
-#.ENDPROLOG
- mov %rax, %rcx # context is first parameter
- mov %rsp, %rdx # stack is second parameter
- add $48, %rdx # point to start of arguments
- mov $_ffi_closure_win64_inner, %rax
- callq *%rax # call the real closure function
- add $40, %rsp
- movq %rax, %xmm0 # If the closure returned a float,
- # ffi_closure_win64_inner wrote it to rax
- retq
-.ffi_closure_win64_end:
-
- .balign 16
- .globl _ffi_call_win64
-_ffi_call_win64:
- # copy registers onto stack
- mov %r9,32(%rsp)
- mov %r8,24(%rsp)
- mov %rdx,16(%rsp)
- mov %rcx,8(%rsp)
- #.PUSHREG rbp
- push %rbp
- #.ALLOCSTACK 48
- sub $48,%rsp
- #.SETFRAME rbp, 32
- lea 32(%rsp),%rbp
- #.ENDPROLOG
-
- mov CIF_BYTES(%rbp),%eax
- add $15, %rax
- and $-16, %rax
- cmpq $0x1000, %rax
- jb Lch_done
-Lch_probe:
- subq $0x1000,%rsp
- orl $0x0, (%rsp)
- subq $0x1000,%rax
- cmpq $0x1000,%rax
- ja Lch_probe
-Lch_done:
- subq %rax, %rsp
- orl $0x0, (%rsp)
- lea 32(%rsp), %rax
- mov %rax, STACK(%rbp)
-
- mov ECIF(%rbp), %rdx
- mov STACK(%rbp), %rcx
- callq *PREP_ARGS_FN(%rbp)
-
- mov STACK(%rbp), %rsp
-
- movlpd 24(%rsp), %xmm3
- movd %xmm3, %r9
-
- movlpd 16(%rsp), %xmm2
- movd %xmm2, %r8
-
- movlpd 8(%rsp), %xmm1
- movd %xmm1, %rdx
-
- movlpd (%rsp), %xmm0
- movd %xmm0, %rcx
-
- callq *FN(%rbp)
-.Lret_struct4b:
- cmpl $FFI_TYPE_SMALL_STRUCT_4B, CIF_FLAGS(%rbp)
- jne .Lret_struct2b
-
- mov RVALUE(%rbp), %rcx
- mov %eax, (%rcx)
- jmp .Lret_void
-
-.Lret_struct2b:
- cmpl $FFI_TYPE_SMALL_STRUCT_2B, CIF_FLAGS(%rbp)
- jne .Lret_struct1b
-
- mov RVALUE(%rbp), %rcx
- mov %ax, (%rcx)
- jmp .Lret_void
-
-.Lret_struct1b:
- cmpl $FFI_TYPE_SMALL_STRUCT_1B, CIF_FLAGS(%rbp)
- jne .Lret_uint8
-
- mov RVALUE(%rbp), %rcx
- mov %al, (%rcx)
- jmp .Lret_void
-
-.Lret_uint8:
- cmpl $FFI_TYPE_UINT8, CIF_FLAGS(%rbp)
- jne .Lret_sint8
-
- mov RVALUE(%rbp), %rcx
- movzbq %al, %rax
- movq %rax, (%rcx)
- jmp .Lret_void
-
-.Lret_sint8:
- cmpl $FFI_TYPE_SINT8, CIF_FLAGS(%rbp)
- jne .Lret_uint16
-
- mov RVALUE(%rbp), %rcx
- movsbq %al, %rax
- movq %rax, (%rcx)
- jmp .Lret_void
-
-.Lret_uint16:
- cmpl $FFI_TYPE_UINT16, CIF_FLAGS(%rbp)
- jne .Lret_sint16
-
- mov RVALUE(%rbp), %rcx
- movzwq %ax, %rax
- movq %rax, (%rcx)
- jmp .Lret_void
-
-.Lret_sint16:
- cmpl $FFI_TYPE_SINT16, CIF_FLAGS(%rbp)
- jne .Lret_uint32
-
- mov RVALUE(%rbp), %rcx
- movswq %ax, %rax
- movq %rax, (%rcx)
- jmp .Lret_void
-
-.Lret_uint32:
- cmpl $FFI_TYPE_UINT32, CIF_FLAGS(%rbp)
- jne .Lret_sint32
-
- mov RVALUE(%rbp), %rcx
- movl %eax, %eax
- movq %rax, (%rcx)
- jmp .Lret_void
-
-.Lret_sint32:
- cmpl $FFI_TYPE_SINT32, CIF_FLAGS(%rbp)
- jne .Lret_float
-
- mov RVALUE(%rbp), %rcx
- cltq
- movq %rax, (%rcx)
- jmp .Lret_void
-
-.Lret_float:
- cmpl $FFI_TYPE_FLOAT, CIF_FLAGS(%rbp)
- jne .Lret_double
-
- mov RVALUE(%rbp), %rax
- movss %xmm0, (%rax)
- jmp .Lret_void
-
-.Lret_double:
- cmpl $FFI_TYPE_DOUBLE, CIF_FLAGS(%rbp)
- jne .Lret_sint64
-
- mov RVALUE(%rbp), %rax
- movlpd %xmm0, (%rax)
- jmp .Lret_void
-
-.Lret_sint64:
- cmpl $FFI_TYPE_SINT64, CIF_FLAGS(%rbp)
- jne .Lret_void
-
- mov RVALUE(%rbp), %rcx
- mov %rax, (%rcx)
- jmp .Lret_void
-
-.Lret_void:
- xor %rax, %rax
-
- lea 16(%rbp), %rsp
- pop %rbp
- retq
-.ffi_call_win64_end:
-#endif /* !_MSC_VER */
-
diff --git a/.pc/windows-ce-arm/.timestamp b/.pc/windows-ce-arm/.timestamp
deleted file mode 100644
index e69de29..0000000
--- a/.pc/windows-ce-arm/.timestamp
+++ /dev/null
diff --git a/.pc/windows-ce-arm/ChangeLog b/.pc/windows-ce-arm/ChangeLog
deleted file mode 100644
index 39399ca..0000000
--- a/.pc/windows-ce-arm/ChangeLog
+++ /dev/null
@@ -1,4692 +0,0 @@
-2012-02-10 Kai Tietz <ktietz@redhat.com>
-
- * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
- windows target.
- * configure: Regenerated.
-
-2012-02-08 Kai Tietz <ktietz@redhat.com>
-
- * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
- also FFI_THISCALL.
- * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
- (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
- (ffi_prep_closure_loc): Add FFI_THISCALL support.
- * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
- * src/x86/win32.S (ffi_closure_THISCALL): New closure code
- for thiscall-calling convention.
- * testsuite/libffi.call/closure_thiscall.c: New test.
-
-2012-01-28 Kai Tietz <ktietz@redhat.com>
-
- * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
- argument to prototype for specify calling-convention.
- (ffi_call): Add support for stdcall/thiscall convention.
- (ffi_prep_args): Likewise.
- (ffi_raw_call): Likewise.
- * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
- FFI_FASTCALL.
- * src/x86/win32.S (_ffi_call_win32): Add support for
- fastcall/thiscall calling-convention calls.
- * testsuite/libffi.call/fastthis1_win32.c: New test.
- * testsuite/libffi.call/fastthis2_win32.c: New test.
- * testsuite/libffi.call/fastthis3_win32.c: New test.
- * testsuite/libffi.call/strlen2_win32.c: New test.
- * testsuite/libffi.call/many2_win32.c: New test.
- * testsuite/libffi.call/struct1_win32.c: New test.
- * testsuite/libffi.call/struct2_win32.c: New test.
-
-2012-01-23 Andreas Schwab <schwab@linux-m68k.org>
-
- * src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
- mc68000. Test for __HAVE_68881__ in addition to __MC68881__.
-
-2012-01-19 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/48496
- * src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
-
-2012-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (i?86-*-*): Set TARGET to X86_64.
- * configure: Regenerate.
-
-2011-12-07 Andrew Pinski <apinski@cavium.com>
-
- PR libffi/50051
- * src/mips/n32.S: Add ".set mips4".
-
-2011-11-21 Andreas Tobler <andreast@fgznet.ch>
-
- * configure: Regenerate.
-
-2011-11-12 Kyle Moffett <Kyle.D.Moffett@boeing.com>
- Anthony Green <green@moxielogic.com>
-
- * src/ppc/sysv.S, src/ppc/ffi.c: Remove use of ppc string
- instructions (not available on some cores, like the PPC440).
-
-2011-11-12 Kimura Wataru <kimuraw@i.nifty.jp>
-
- * m4/ax_enable_builddir: Change from string comparison to numeric
- comparison for wc output.
- * configure.ac: Enable FFI_MMAP_EXEC_WRIT for darwin11 aka Mac OS
- X 10.7.
- * configure: Rebuilt.
-
-2011-11-10 Richard Henderson <rth@redhat.com>
-
- * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
- * configure, aclocal.m4: Rebuild.
-
-2011-09-04 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/49594
- * src/powerpc/darwin_closure.S (stubs): Make the stub binding
- helper reference track the architecture pointer size.
-
-2011-08-25 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
- instructions.
- * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
-
-2011-07-11 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46660
- * testsuite/libffi.call/cls_double_va.c: xfail dg-output on
- mips-sgi-irix6*.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
- PRId8 instead of %hhu, %hhd.
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
- PRIu8): Define.
- [__sgi__] (PRId8, PRIu8): Define.
-
-2011-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
- Define.
- Use them to handle ELF vs. ECOFF differences.
- [__osf__] (_GLOBAL__F_ffi_call_osf): Define.
-
-2011-03-30 Timothy Wall <twall@users.sf.net>
-
- * src/powerpc/darwin.S: Fix unknown FDE encoding.
- * src/powerpc/darwin_closure.S: ditto.
-
-2011-02-25 Anthony Green <green@moxielogic.com>
-
- * src/powerpc/ffi.c (ffi_prep_closure_loc): Allow for more
- 32-bit ABIs.
-
-2011-02-15 Anthony Green <green@moxielogic.com>
-
- * m4/ax_cc_maxopt.m4: Don't -malign-double or use -ffast-math.
- * configure: Rebuilt.
-
-2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2011-02-13 Anthony Green <green@moxielogic.com>
-
- * include/ffi_common.h (UNLIKELY, LIKELY): Define.
- * src/x86/ffi64.c (UNLIKELY, LIKELY): Remove definition.
- * src/prep_cif.c (UNLIKELY, LIKELY): Remove definition.
-
- * src/prep_cif.c (initialize_aggregate): Convert assertion into
- FFI_BAD_TYPEDEF return. Initialize arg size and alignment to 0.
-
- * src/pa/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
- just return FFI_BAD_ABI when things are wrong.
- * src/arm/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/powerpc/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/mips/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/ia64/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/avr32/ffi.c (ffi_prep_closure_loc): Ditto.
-
-2011-02-11 Anthony Green <green@moxielogic.com>
-
- * src/sparc/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
- just return FFI_BAD_ABI when things are wrong.
-
-2011-02-09 Stuart Shelton <srcshelton@gmail.com>
-
- http://bugs.gentoo.org/show_bug.cgi?id=286911
- * src/mips/ffitarget.h: Clean up error messages.
- * src/java_raw_api.c (ffi_java_translate_args): Cast raw arg to
- ffi_raw*.
- * include/ffi.h.in: Add pragma for SGI compiler.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * configure.ac: Add powerpc64-*-darwin* support.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * README: Mention Interix.
-
-2011-02-09 Jonathan Callen <abcd@gentoo.org>
-
- * configure.ac: Add Interix to win32/cygwin/mingw case.
- * configure: Ditto.
- * src/closures.c: Treat Interix like Cygwin, instead of as a
- generic win32.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * testsuite/libffi.call/err_bad_typedef.c: Remove xfail.
- * testsuite/libffi.call/err_bad_abi.c: Remove xfail.
- * src/x86/ffi64.c (UNLIKELY, LIKELY): Define.
- (ffi_prep_closure_loc): Check for bad ABI.
- * src/prep_cif.c (UNLIKELY, LIKELY): Define.
- (initialize_aggregate): Check for bad types.
-
-2011-02-09 Landon Fuller <landonf@plausible.coop>
-
- * Makefile.am (EXTRA_DIST): Add build-ios.sh, src/arm/gentramp.sh,
- src/arm/trampoline.S.
- (nodist_libffi_la_SOURCES): Add src/arc/trampoline.S.
- * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Define.
- * src/arm/ffi.c (ffi_trampoline_table)
- (ffi_closure_trampoline_table_page, ffi_trampoline_table_entry)
- (FFI_TRAMPOLINE_CODELOC_CONFIG, FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET)
- (FFI_TRAMPOLINE_COUNT, ffi_trampoline_lock, ffi_trampoline_tables)
- (ffi_trampoline_table_alloc, ffi_closure_alloc, ffi_closure_free):
- Define for FFI_EXEC_TRAMPOLINE_TABLE case (iOS).
- (ffi_prep_closure_loc): Handl FFI_EXEC_TRAMPOLINE_TABLE case
- separately.
- * src/arm/sysv.S: Handle Apple iOS host.
- * src/closures.c: Handle FFI_EXEC_TRAMPOLINE_TABLE case.
- * build-ios.sh: New file.
- * fficonfig.h.in, configure, Makefile.in: Rebuilt.
- * README: Mention ARM iOS.
-
-2011-02-08 Oren Held <orenhe@il.ibm.com>
-
- * src/dlmalloc.c (_STRUCT_MALLINFO): Define in order to avoid
- redefinition of mallinfo on HP-UX.
-
-2011-02-08 Ginn Chen <ginn.chen@oracle.com>
-
- * src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
- aggregate return ABI. Flush cache.
- (ffi_prep_closure_loc): Flush cache.
-
-2011-02-11 Anthony Green <green@moxielogic.com>
-
- From Tom Honermann <tom.honermann@oracle.com>:
- * src/powerpc/aix.S (ffi_call_AIX): Support for xlc toolchain on
- AIX. Declare .ffi_prep_args. Insert nops after branch
- instructions so that the AIX linker can insert TOC reload
- instructions.
- * src/powerpc/aix_closure.S: Declare .ffi_closure_helper_DARWIN.
-
-2011-02-08 Ed <ed@kdtc.net>
-
- * src/powerpc/asm.h: Fix grammar nit in comment.
-
-2011-02-08 Uli Link <ul.mcamafia@linkitup.de>
-
- * include/ffi.h.in (FFI_64_BIT_MAX): Define and use.
-
-2011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46661
- * testsuite/libffi.call/cls_pointer.c (main): Cast void * to
- uintptr_t first.
- * testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
-
-2011-02-08 Rafael Avila de Espindola <respindola@mozilla.com>
-
- * configure.ac: Fix x86 test for pc related relocs.
- * configure: Rebuilt.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
- Handle case when CPU variant does not have long double support.
- * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
- and cores with soft floating point.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * configure.ac: Add mips*-*-rtems* support.
- * configure: Regenerate.
- * src/mips/ffitarget.h: Ensure needed constants are available
- for targets which do not have sgidefs.h.
-
-2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR target/40125
- * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
- * configure: Regenerate.
-
-2010-12-18 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/29152
- PR libffi/42378
- * src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
- (FFI_TRAMPOLINE_SIZE): Update for Darwin64.
- * src/powerpc/darwin.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
- backslashes.
- (libffi_cv_as_string_pseudo_op): Likewise.
- * configure: Regenerate.
-
-2010-12-03 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
- (ffi_closure_VFP): Same.
- (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
- directive.
-
-2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
- (PRIuPTR): Define.
-
-2010-11-29 Richard Henderson <rth@redhat.com>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
- (.eh_frame): Use FDE_ENCODING.
- (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
-
-2010-11-22 Jacek Caban <jacek@codeweavers.com>
-
- * configure.ac: Check for symbol underscores on mingw-w64.
- * configure: Rebuilt.
- * src/x86/win64.S: Correctly access extern symbols in respect to
- underscores.
-
-2010-11-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp: Rename ...
- * testsuite/lib/libffi.exp: ... to this.
- * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
- * libffi/testsuite/libffi.special/special.exp: Likewise.
-
-2010-10-28 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
- code, new parameter, and return value. Update comments.
- (ffi_prep_cif_machdep): Add case for VFP struct return values. Add
- call to layout_vfp_args().
- (ffi_call_SYSV): Update declaration.
- (ffi_call_VFP): New declaration.
- (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
- when ABI is FFI_VFP.
- (ffi_closure_VFP): New declaration.
- (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
- ffi_prep_incoming_args_SYSV().
- (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
- case handling.
- (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
- construction under VFP hard-float.
- (rec_vfp_type_p): New function.
- (vfp_type_p): Same.
- (place_vfp_arg): Same.
- (layout_vfp_args): Same.
- * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
- based on __ARM_PCS_VFP.
- (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
- fields.
- (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
- (FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
- * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
- direct call. Move function pointer load upwards.
- (ffi_call_VFP): New function.
- (ffi_closure_VFP): Same.
-
- * testsuite/lib/libffi-dg.exp (check-flags): New function.
- (dg-skip-if): New function.
- * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
- and compiler options include -mfloat-abi=hard.
- * testsuite/libffi.call/cls_longdouble_va.c: Same.
-
-2010-10-01 Jakub Jelinek <jakub@redhat.com>
-
- PR libffi/45677
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
- a multiple of 8.
- * testsuite/libffi.call/many2.c: New test.
-
-2010-08-20 Mark Wielaard <mjw@redhat.com>
-
- * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
- returns NULL.
-
-2010-08-09 Andreas Tobler <andreast@fgznet.ch>
-
- * configure.ac: Add target powerpc64-*-freebsd*.
- * configure: Regenerate.
- * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
- -mlong-double-128 only to linux targets.
- * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
- * testsuite/libffi.call/cls_longdouble.c: Likewise.
- * testsuite/libffi.call/huge_struct.c: Likewise.
-
-2010-08-05 Dan Witte <dwitte@mozilla.com>
-
- * Makefile.am: Pass FFI_DEBUG define to msvcc.sh for linking to the
- debug CRT when --enable-debug is given.
- * configure.ac: Define it.
- * msvcc.sh: Translate -g and -DFFI_DEBUG appropriately.
-
-2010-08-04 Dan Witte <dwitte@mozilla.com>
-
- * src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64
- platforms.
- * src/x86/ffi.c: Remove redundant ifdef checks.
- * src/prep_cif.c: Push stack space computation into src/x86/ffi.c
- for X86_ANY so return value space doesn't get added twice.
-
-2010-08-03 Neil Rashbrooke <neil@parkwaycc.co.uk>
-
- * msvcc.sh: Don't pass -safeseh to ml64 because behavior is buggy.
-
-2010-07-22 Dan Witte <dwitte@mozilla.com>
-
- * src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
- * src/prep_cif.c: Fix ABI assertion.
- * src/cris/ffi.c: Ditto.
-
-2010-07-10 Evan Phoenix <evan@fallingsnow.net>
-
- * src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
-
-2010-07-07 Dan Horák <dan@danny.cz>
-
- * include/ffi.h.in: Protect #define with #ifndef.
- * src/powerpc/ffitarget.h: Ditto.
- * src/s390/ffitarget.h: Ditto.
- * src/sparc/ffitarget.h: Ditto.
-
-2010-07-07 Neil Roberts <neil@linux.intel.com>
-
- * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
- 16-bytes.
-
-2010-07-02 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
- * Makefile.in: Regenerated.
-
-2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
- output, too.
- (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
- (libffi_cv_as_string_pseudo_op): Check for .string.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
-
-2010-05-11 Dan Witte <dwitte@mozilla.com>
-
- * doc/libffi.tex: Document previous change.
-
-2010-05-11 Makoto Kato <m_kato@ga2.so-net.ne.jp>
-
- * src/x86/ffi.c (ffi_call): Don't copy structs passed by value.
-
-2010-05-05 Michael Kohler <michaelkohler@live.com>
-
- * src/dlmalloc.c (dlfree): Fix spelling.
- * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
- * configure.ac: Ditto.
- * configure: Rebuilt.
-
-2010-04-13 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Build with -W3 instead of -Wall.
- * src/powerpc/ffi_darwin.c: Remove build warnings.
- * src/x86/ffi.c: Ditto.
- * src/x86/ffitarget.h: Ditto.
-
-2010-04-12 Dan Witte <dwitte@mozilla.com>
- Walter Meinl <wuno@lsvw.de>
-
- * configure.ac: Add OS/2 support.
- * configure: Rebuilt.
- * src/closures.c: Ditto.
- * src/dlmalloc.c: Ditto.
- * src/x86/win32.S: Ditto.
-
-2010-04-07 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
-
-2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2010-03-30 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Disable build warnings.
- * README (tested): Clarify windows build procedure.
-
-2010-03-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * libffi/src/x86/unix64.S (.eh_frame)
- [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
-
-2010-03-14 Matthias Klose <doko@ubuntu.com>
-
- * src/x86/ffi64.c: Fix typo in comment.
- * src/x86/ffi.c: Use /* ... */ comment style.
-
-2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/libffi.texi (The Closure API): Fix typo.
- * doc/libffi.info: Remove.
-
-2010-02-15 Matthias Klose <doko@ubuntu.com>
-
- * src/arm/sysv.S (__ARM_ARCH__): Define for processor
- __ARM_ARCH_7EM__.
-
-2010-01-15 Anthony Green <green@redhat.com>
-
- * README: Add notes on building with Microsoft Visual C++.
-
-2010-01-15 Daniel Witte <dwitte@mozilla.com>
-
- * msvcc.sh: New file.
-
- * src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
- * src/x86/ffi.c: Tweak function declaration and remove excess
- parens.
- * include/ffi.h.in: Add __declspec(align(8)) to typedef struct
- ffi_closure.
-
- * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
- function ffi_call_win32 on X86_WIN32.
- * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
- (ffi_call_STDCALL): Remove.
-
- * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
- to ffi_prep_cif_machdep for x86.
- * src/x86/ffi.c (ffi_prep_cif_machdep): To here.
-
-2010-01-15 Oliver Kiddle <okiddle@yahoo.co.uk>
-
- * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
- Sun Studio compiler compatibility.
-
-2010-01-12 Conrad Irwin <conrad.irwin@gmail.com>
-
- * doc/libffi.texi: Add closure example.
-
-2010-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40701
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
- PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
- * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
- alpha*-dec-osf*.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/return_ll1.c: Likewise.
- * testsuite/libffi.call/stret_medium2.c: Likewise.
- * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
- MAP_FAILED to char *.
-
-2010-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
-
-2009-12-31 Anthony Green <green@redhat.com>
-
- * README: Update for libffi 3.0.9.
-
-2009-12-27 Matthias Klose <doko@ubuntu.com>
-
- * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
- appropriate.
- * configure: Rebuilt.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
- avr32*-*-*.
- * testsuite/libffi.call/cls_double_va.c: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
- and inttypes.h.
- * testsuite/libffi.special/unwindtest.cc: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-openbsd*.
- * configure: Rebuilt.
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
- openbsd programs with -lpthread.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
- mips*-*-* and arm*-*-*.
- * testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c,
- testsuite/libffi.call/stret_medium2.c,
- testsuite/libffi.call/stret_medium.c,
- testsuite/libffi.call/stret_large.c,
- testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
-
-2009-12-31 Kay Tietz <ktietz70@googlemail.com>
-
- * testsuite/libffi.call/ffitest.h,
- testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
- definitions.
-
-2009-12-31 Carlo Bramini <carlo.bramix@libero.it>
-
- * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
- * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
-
-2009-12-31 Anthony Green <green@redhat.com>
- Blake Chaffin.
-
- * testsuite/libffi.call/huge_struct.c: New test case from Blake
- Chaffin @ Apple.
-
-2009-12-28 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
- local variables.
- (aix_adjust_aggregate_sizes): New function.
- (ffi_prep_cif_machdep): Call it.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
- * configure: Regenerate.
- * fficonfig.h.in: Likewise.
- * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
- Solaris/x86.
-
-2009-12-26 Andreas Schwab <schwab@linux-m68k.org>
-
- * 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.
-
-2009-12-25 Matthias Klose <doko@ubuntu.com>
-
- * man/ffi_call.3: Fix #include in examples.
- * doc/libffi.texi: Add dircategory.
-
-2009-12-25 Frank Everdij <f.p.x.everdij@tudelft.nl>
-
- * include/ffi.h.in: Placed '__GNUC__' ifdef around
- '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
- IRIX MIPSPro c99.
- * include/ffi_common.h: Added '__sgi' define to non
- '__attribute__((__mode__()))' integer typedefs.
- * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
- ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
- (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
- FFI_LONGDOUBLE support and alignment(N32 only).
- * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
- fixed non '__attribute__((__mode__()))' integer typedefs.
- * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
- since they are Linux/GNU Assembler specific.
-
-2009-12-25 Bradley Smith <brad@brad-smith.co.uk>
-
- * configure.ac, Makefile.am, src/avr32/ffi.c,
- src/avr32/ffitarget.h,
- src/avr32/sysv.S: Add AVR32 port.
- * configure, Makefile.in: Rebuilt.
-
-2009-12-21 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
- * configure: Regenerate.
-
-2009-12-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
- type on HP-UX.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
- double' arguments.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40700
- * src/closures.c [X86_64 && __sun__ && __svr4__]
- (FFI_MMAP_EXEC_WRIT): Define.
-
-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.
-
-2009-12-07 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
- typo.
-
-2009-12-05 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
- code.
- * src/powerpc/aix_closure.S: Same.
-
-2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
- linux64_closure.S.
-
-2009-12-04 Uros Bizjak <ubizjak@gmail.com>
-
- 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.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
- pfr for long double split between fpr13 and stack.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
- fparg_count twice for long double.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- PR libffi/42243
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03 Uros Bizjak <ubizjak@gmail.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
- Remove xfails for x86 linux targets.
-
-2009-12-02 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
- case.
-
-2009-12-01 David Edelsohn <edelsohn@gnu.org>
-
- * 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.
-
-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.
-
-2009-11-02 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/41908
- * testsuite/libffi.call/testclosure.c: New test.
-
-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.
-
-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.
-
-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.
-
-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.
-
-2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.am (install-html, install-pdf): Remove.
- * Makefile.in: Regenerate.
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2011-08-22 Jasper Lievisse Adriaanse <jasper@openbsd.org>
-
- * configure.ac: Add OpenBSD/hppa and OpenBSD/powerpc support.
- * configure: Rebuilt.
-
-2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24 Dave Korn <dave.korn.cygwin@gmail.com>
-
- 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.
-
-2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
-
- 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.
-
-2009-07-01 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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 "".)
-
-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.
-
-2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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.
-
-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.
-
-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.
-
-2009-06-16 Andrew Haley <aph@redhat.com>
-
- * configure.ac (TARGETDIR): Add missing blank lines.
- * configure: Regenerate.
-
-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.
-
-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.
-
-2009-06-12 Andrew Haley <aph@redhat.com>
-
- * Makefile.am: Remove info_TEXINFOS.
-
-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-11 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * 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.
-
-2009-06-09 Andrew Haley <aph@redhat.com>
-
- * src/x86/freebsd.S: Add missing file.
-
-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).
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * README: Import from libffi 3.0.8.
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Add xfails.
- * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
- * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
- * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
- * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
- * testsuite/libffi.call/stret_medium.c: Likewise.
- * testsuite/libffi.call/stret_large2.c: Likewise.
- * testsuite/libffi.call/stret_large.c: Likewise.
-
-2008-12-26 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_align_longdouble.c,
- testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
- failures on x86_64 cygwin/mingw.
-
-2008-12-22 Timothy Wall <twall@users.sf.net>
-
- * 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_loc_fn0.c,
- testsuite/libffi.call/closure_stdcall.c,
- testsuite/libffi.call/cls_align_pointer.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
- pointer to integer (intptr_t).
- * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_dbls_struct.c,
- testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c,
- testsuite/libffi.call/err_bad_abi.c: Clean up failures from
- compiler warnings.
-
-2008-03-04 Anthony Green <green@redhat.com>
- Blake Chaffin
- hos@tamanegi.org
-
- * testsuite/libffi.call/cls_align_longdouble_split2.c
- testsuite/libffi.call/cls_align_longdouble_split.c
- testsuite/libffi.call/cls_dbls_struct.c
- testsuite/libffi.call/cls_double_va.c
- testsuite/libffi.call/cls_longdouble.c
- testsuite/libffi.call/cls_longdouble_va.c
- testsuite/libffi.call/cls_pointer.c
- testsuite/libffi.call/cls_pointer_stack.c
- testsuite/libffi.call/err_bad_abi.c
- testsuite/libffi.call/err_bad_typedef.c
- testsuite/libffi.call/stret_large2.c
- testsuite/libffi.call/stret_large.c
- testsuite/libffi.call/stret_medium2.c
- testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
- libffi.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
- stdcall changes.
-
-2008-02-26 Anthony Green <green@redhat.com>
- Thomas Heller <theller@ctypes.org>
-
- * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
- comment.
-
-2008-02-03 Timothy Wall <twall@users.sf.net>
-
- * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
- offset based on code pointer, not data pointer.
-
-2008-01-31 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
- closures.
- * src/x86/ffitarget.h: Increase size of trampoline for stdcall
- closures.
- * src/x86/win32.S: Add assembly for stdcall closure.
- * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Change void (*)() to void (*)(void).
- * src/x86/ffi.c: Likewise.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ppc_closure.S: Insert licence header.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/m68k/sysv.S: Likewise.
-
- * src/sh64/ffi.c: Change void (*)() to void (*)(void).
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/m32r/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi64.c: Likewise.
- * src/alpha/ffi.c: Likewise.
- * src/alpha/osf.S: Likewise.
- * src/frv/ffi.c: Likewise.
- * src/s390/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/pa/hpux32.S: Likewise.
- * src/ia64/unix.S: Likewise.
- * src/ia64/ffi.c: Likewise.
- * src/sparc/ffi.c: Likewise.
- * src/mips/ffi.c: Likewise.
- * src/sh/ffi.c: Likewise.
-
-2008-02-15 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
- Define (conditionally), and use it to include cachectl.h.
- (ffi_prep_closure_loc): Fix cache flushing.
- * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- include/ffi.h.in,
- src/arm/ffitarget.h,
- src/arm/ffi.c,
- src/arm/sysv.S,
- src/powerpc/ffitarget.h,
- src/closures.c,
- src/sh64/ffitarget.h,
- src/sh64/ffi.c,
- src/sh64/sysv.S,
- src/types.c,
- src/x86/ffi64.c,
- src/x86/ffitarget.h,
- src/x86/win32.S,
- src/x86/darwin.S,
- src/x86/ffi.c,
- src/x86/sysv.S,
- src/x86/unix64.S,
- src/alpha/ffitarget.h,
- src/alpha/ffi.c,
- src/alpha/osf.S,
- src/m68k/ffitarget.h,
- src/frv/ffitarget.h,
- src/frv/ffi.c,
- src/s390/ffitarget.h,
- src/s390/sysv.S,
- src/cris/ffitarget.h,
- src/pa/linux.S,
- src/pa/ffitarget.h,
- src/pa/ffi.c,
- src/raw_api.c,
- src/ia64/ffitarget.h,
- src/ia64/unix.S,
- src/ia64/ffi.c,
- src/ia64/ia64_flags.h,
- src/java_raw_api.c,
- src/debug.c,
- src/sparc/v9.S,
- src/sparc/ffitarget.h,
- src/sparc/ffi.c,
- src/sparc/v8.S,
- src/mips/ffitarget.h,
- src/mips/n32.S,
- src/mips/o32.S,
- src/mips/ffi.c,
- src/prep_cif.c,
- src/sh/ffitarget.h,
- src/sh/ffi.c,
- src/sh/sysv.S: Update license text.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * src/x86/win32.S (_ffi_closure_STDCALL): New function.
- (.eh_frame): Add FDE for it.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * configure.ac: Also check if assembler supports pc-relative
- relocs on X86_WIN32 targets.
- * configure: Regenerate.
- * src/x86/win32.S (ffi_prep_args): Declare extern, not global.
- (_ffi_call_SYSV): Add missing function type symbol .def and
- add EH markup labels.
- (_ffi_call_STDCALL): Likewise.
- (_ffi_closure_SYSV): Likewise.
- (_ffi_closure_raw_SYSV): Likewise.
- (.eh_frame): Add hand-crafted EH data.
-
-2009-04-09 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
- version 3 of the GNU General Public License and to point readers
- at the COPYING3 file and the FSF's license web page.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-12-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libffi/26048
- * configure.ac (HAVE_AS_X86_PCREL): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
- RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
- RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
- * src/x86/unix64.S (.Lstore_table): Move to .text section.
- (.Lload_table): Likewise.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
- signed/unsigned int8/16 return values.
- * src/sparc/v8.S (ffi_call_v8): Likewise.
- (ffi_closure_v8): Likewise.
-
-2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
- Steve Ellcey <sje@cup.hp.com>
-
- * configure: Regenerate for new libtool.
- * Makefile.in: Ditto.
- * include/Makefile.in: Ditto.
- * aclocal.m4: Ditto.
-
-2008-08-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
- FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
- Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
- Adjust copyright notice.
- * src/powerpc/ffi.c: Add two new flags to indicate if we have one
- register or two register to use for FFI_SYSV structs.
- (ffi_prep_cif_machdep): Pass the right register flag introduced above.
- (ffi_closure_helper_SYSV): Fix the return type for
- FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
- Adjust copyright notice.
-
-2008-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
- int.
-
-2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2008-06-07 Joseph Myers <joseph@codesourcery.com>
-
- * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
- powerpc-*-beos*): Remove.
- * configure: Regenerate.
-
-2008-05-09 Julian Brown <julian@codesourcery.com>
-
- * Makefile.am (LTLDFLAGS): New.
- (libffi_la_LDFLAGS): Use above.
- * Makefile.in: Regenerate.
-
-2008-04-18 Paolo Bonzini <bonzini@gnu.org>
-
- PR bootstrap/35457
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2008-03-26 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add .note.GNU-stack on Linux.
- * src/sh64/sysv.S: Likewise.
-
-2008-03-26 Daniel Jacobowitz <dan@debian.org>
-
- * src/arm/sysv.S: Fix ARM comment marker.
-
-2008-03-26 Jakub Jelinek <jakub@redhat.com>
-
- * src/alpha/osf.S: Add .note.GNU-stack on Linux.
- * src/s390/sysv.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
- * src/x86/unix64.S: Likewise.
- * src/x86/sysv.S: Likewise.
- * src/sparc/v8.S: Likewise.
- * src/sparc/v9.S: Likewise.
- * src/m68k/sysv.S: Likewise.
- * src/arm/sysv.S: Likewise.
-
-2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * aclocal.m4: Regenerate.
- * configure: Likewise.
- * Makefile.in: Likewise.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2008-02-12 Bjoern Koenig <bkoenig@alpha-tierchen.de>
- Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-freebsd* target.
- * configure: Regenerate.
-
-2008-01-30 H.J. Lu <hongjiu.lu@intel.com>
-
- PR libffi/34612
- * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
- returning struct.
-
- * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
- tests.
-
-2008-01-24 David Edelsohn <edelsohn@gnu.org>
-
- * configure: Regenerate.
-
-2008-01-06 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
-
-2008-01-05 Andreas Tobler <a.tobler@schweiz.org>
-
- PR testsuite/32843
- * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
- signed/unsigned int8/16 for X86_DARWIN.
- Updated copyright info.
- Handle one and two byte structs with special cif->flags.
- * src/x86/ffitarget.h: Add special types for one and two byte structs.
- Updated copyright info.
- * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
- sysv.S
- Remove code to pop args from the stack after call.
- Special-case signed/unsigned for int8/16, one and two byte structs.
- (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
- FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
- FFI_TYPE_SINT32.
- Updated copyright info.
-
-2007-12-08 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_call_N32): Replace dadd with ADDU, dsub with
- SUBU, add with ADDU and use smaller code sequences.
-
-2007-12-07 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
- type.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
- defined.
- (ffi_java_raw): New typedef.
- (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
- ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
- ffi_java_raw.
- (ffi_java_raw_closure) : Same.
- (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
- parameter types.
- * src/java_raw_api.c (ffi_java_raw_size): Replace FFI_SIZEOF_ARG with
- FFI_SIZEOF_JAVA_RAW.
- (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
- Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
- sizeof(ffi_java_raw) for alignment calculations.
- (ffi_java_ptrarray_to_raw): Same.
- (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
- if FFI_SIZEOF_JAVA_RAW == 4.
- (ffi_java_raw_to_rvalue): Same.
- (ffi_java_raw_call): Change type of raw to ffi_java_raw.
- (ffi_java_translate_args): Same.
- (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
- parameter types.
- * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
- pointer values.
-
-2007-12-01 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/31937
- * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
- Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
- * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
- set the NUM_FPR_ARG_REGISTERS according to.
- Add support for potential soft-float support under hard-float
- architecture.
- (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
- FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
- to the FFI_LINUX_SOFT_FLOAT ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Make sure not to store float/double
- on archs where __NO_FPRS__ is true.
- Add FFI_TYPE_UINT128 support.
- * src/powerpc/sysv.S: Add support for soft-float long-double-128.
- Adjust copyright notice.
-
-2007-11-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
- * include/ffi_common.h: ... here.
- Update copyright.
-
-2007-11-17 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
- * testsuite/libffi.call/return_ldl.c: New test.
-
-2007-09-04 <aph@redhat.com>
-
- * src/arm/sysv.S (UNWIND): New.
- (Whole file): Conditionally compile unwinder directives.
- * src/arm/sysv.S: Add unwinder directives.
-
- * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
- Only treat r0 as a struct address if we're actually returning a
- struct by address.
- Only copy the bytes that are actually within a struct.
- (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
- is returned in r0, not passed by address.
- (ffi_call): Allocate a word-sized temporary for the case where
- a composite is returned in r0.
- (ffi_prep_incoming_args_SYSV): Align as necessary.
-
-2007-08-05 Steven Newbury <s_j_newbury@yahoo.co.uk>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
- directly using the sys_cacheflush syscall.
-
-2007-07-27 Andrew Haley <aph@redhat.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
-
-2007-09-03 Maciej W. Rozycki <macro@linux-mips.org>
-
- * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure: Likewise.
-
-2007-08-24 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/return_sl.c: New test.
-
-2007-08-10 David Daney <ddaney@avtrex.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/nested_struct5.c,
- testsuite/libffi.call/cls_double.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/nested_struct.c,
- testsuite/libffi.call/cls_2byte.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_sint16.c,
- testsuite/libffi.call/cls_align_uint32.c,
- testsuite/libffi.call/cls_20byte.c,
- testsuite/libffi.call/cls_float.c,
- testsuite/libffi.call/nested_struct2.c,
- testsuite/libffi.call/cls_5_1_byte.c,
- testsuite/libffi.call/nested_struct4.c,
- testsuite/libffi.call/cls_24byte.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: Remove xfail for mips64*-*-*.
-
-2007-08-10 David Daney <ddaney@avtrex.com>
-
- 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.
-
-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*.
- * 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.
-
-2006-12-13 Andreas Tobler <a.tobler@schweiz.org>
-
- * aclocal.m4: Regenerate with aclocal -I .. as written in the
- Makefile.am.
-
-2006-10-31 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
- (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
- Darwin.
- * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
- * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10 Paolo Bonzini <bonzini@gnu.org>
- Sandro Tolaini <tolaini@libero.it>
-
- * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
- conditional.
- * configure: Regenerated.
- * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
- (EXTRA_DIST): Add src/x86/darwin.S.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
- X86_WIN32, and additionally align stack to 16 bytes.
- * src/x86/darwin.S: New, based on sysv.S.
- * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12 David Daney <ddaney@avtrex.com>
-
- PR libffi/23935
- * include/Makefile.am: Install both ffi.h and ffitarget.h in
- $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
- * aclocal.m4: Regenerated for automake 1.9.6.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
-2006-08-17 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h: Remove lint directives.
- * include/ffi.h.in: Likewise.
-
-2006-07-25 Torsten Schoenfeld <kaffeetisch@gmx.de>
-
- * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
- for 32-bit architectures.
- * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
- xfail remains for mips64.
-
-2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
-
- * Makefile.am: Add install-html target. Add install-html to .PHONY
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
- stack slot.
-
-2006-04-22 Andreas Tobler <a.tobler@schweiz.ch>
-
- * README: Remove notice about 'Crazy Comments'.
- * src/debug.c: Remove lint directives. Cleanup white spaces.
- * src/java_raw_api.c: Likewise.
- * src/prep_cif.c: Likewise.
- * src/raw_api.c: Likewise.
- * src/ffitest.c: Delete. No longer needed, all test cases migrated
- to the testsuite.
- * src/arm/ffi.c: Remove lint directives.
- * src/m32r/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/sh/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/pa/hpux32.S: Correct unwind offset calculation for
- ffi_closure_pa32.
- * src/pa/linux.S: Likewise.
-
-2006-04-12 James E Wilson <wilson@specifix.com>
-
- PR libgcj/26483
- * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
- (hfa_type_load): Call stf_spill.
- (hfa_type_store): Call ldf_fill.
- (ffi_call): Adjust calls to above routines. Add local temps for
- macro result.
-
-2006-04-10 Matthias Klose <doko@debian.org>
-
- * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
- directory names containing underscores.
-
-2006-04-07 James E Wilson <wilson@specifix.com>
-
- * testsuite/libffi.call/float4.c: New testcase.
-
-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.
-
-2006-03-24 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Default
- for 32-bit using IBM extended double format. Fix FFI_LAST_ABI.
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
- FFI_TYPE_LONGDOUBLE.
- (ffi_prep_args64): Assert using IBM extended double.
- (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
- Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
- (ffi_call): Handle FFI_LINUX.
- (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
- gpr3 return pointer as for struct return. Handle FFI_LINUX
- FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf"
- unnecessarily.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
- for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table.
- Don't use r6 as pointer to results, instead use sp offset. Don't
- make a special call to load lr with case table address, instead
- use offset from previous call.
- * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
- return.
-
-2006-03-15 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
- passed with FP registers correctly.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S: Likewise.
-
-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.
-
-2006-02-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
- -O2, -O3, -Os and the warning flags -W -Wall.
- * testsuite/libffi.special/special.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
- unused parameter unused for gcc or else do nothing.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
- * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
- * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
- * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
- * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
- * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
- * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
- * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
- * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
- void* to avoid compiler warning.
- (main): Likewise.
- (cls_struct_align_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
- * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
- * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
- userdata unused.
- (cls_ret_schar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
- userdata unused.
- (cls_ret_sint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
- userdata unused.
- (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn): Mark cif and
- userdata unused.
- (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
- userdata unused.
- (cls_ret_uint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
- userdata unused.
- (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
- * testsuite/libffi.call/float1.c (main): Remove unused variable i.
- Cleanup white spaces.
- * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
- * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
- cif and userdata unused.
- * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
- Likewise.
- * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
- formatters to silence gcc.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct4.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct6.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
- * testsuite/libffi.call/problem1.c (stub): Likewise.
- * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
- gcc.
- * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
- in the last commit for this test case in the test case itself.
- * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
- unused.
- * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
- * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
- * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
- * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
- * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
- * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Fix register numbers in the FDE for
- ffi_closure_SYSV.
-
-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.
-
-2006-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
- and cast integer to void * if needed. Update the pointer to
- the FP register saved area correctly.
-
-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.
-
-2006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/return_dbl.c: New test case.
- * testsuite/libffi.call/return_dbl1.c: Likewise.
- * testsuite/libffi.call/return_dbl2.c: Likewise.
- * testsuite/libffi.call/return_fl.c: Likewise.
- * testsuite/libffi.call/return_fl1.c: Likewise.
- * testsuite/libffi.call/return_fl2.c: Likewise.
- * testsuite/libffi.call/return_fl3.c: Likewise.
- * testsuite/libffi.call/closure_fn6.c: Likewise.
-
- * 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.
-
-2006-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.ac: Enable libffi for sparc64-*-freebsd*.
- * configure: Rebuilt.
-
-2006-01-18 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
- instead do the shifting inline.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
- shift count unconditionally. Simplify load sequences for 1, 2, 3, 4
- and 8 byte structs, for the remaining struct sizes don't call
- __lshrdi3, instead do the shifting inline.
-
-2005-12-07 Thiemo Seufer <ths@networkno.de>
-
- * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
- missing parentheses.
- * src/mips/o32.S (ffi_call_O32): Code formatting. Define
- and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
- (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
- A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
- V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
- FA_0_0_OFF2.
- * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
- endianness bugs.
- (ffi_prep_closure): Improve trampoline instruction scheduling.
- (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c: Formatting.
- (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
- (ffi_prep_args64): Likewise.
-
-2005-09-30 Geoffrey Keating <geoffk@apple.com>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
- darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26 Tom Tromey <tromey@redhat.com>
-
- * 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.
-
-2005-08-25 Alan Modra <amodra@bigpond.net.au>
-
- PR target/23404
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
- homed fp args.
- (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11 Jakub Jelinek <jakub@redhat.com>
-
- * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
- (AH_BOTTOM): Add FFI_HIDDEN definition.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * src/powerpc/ffi.c (hidden): Remove.
- (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
- ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
- .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
- * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
- add FFI_HIDDEN to its prototype.
- (ffi_closure_SYSV_inner): New.
- * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
- * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10 Alfred M. Szmidt <ams@gnu.org>
-
- PR libffi/21819:
- * configure: Rebuilt.
- * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
- DW_CFA_offset_extended_sf rather than
- DW_CFA_GNU_negative_offset_extended.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
-
- * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
- on sh3.
- (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
- * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
- partially on register.
- (ffi_closure_helper_SYSV): Likewise.
- (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_call): Handle small structures correctly.
- Remove empty line.
- * src/sh64/ffi.c (simple_type): Remove.
- (return_type): Handle small structures correctly.
- (ffi_prep_args): Likewise.
- (ffi_call): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
- Emit position independent code if PIC and remove wrong datalabel
- prefixes from EH data.
-
-2005-07-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure.ac: Add POWERPC_FREEBSD rules.
- * configure: Regenerate.
- * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
- (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
- * src/powerpc/ffi.c: Add flags to handle small structure returns
- in ffi_call_SYSV.
- (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
- Aka FFI_SYSV.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Add return types for small structures.
- * src/powerpc/sysv.S: Add bits to handle small structures for
- final SYSV 4 ABI.
-
-2005-07-10 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_5_1_byte.c: New test file.
- * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05 Randolph Chung <tausq@debian.org>
-
- * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
- as FFI_TYPE_SMALL_STRUCT3. Break out handling for 5-7 byte
- structures. Kill compilation warnings.
- (ffi_closure_inner_LINUX): Print return values as hex in debug
- message. Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
- Properly handle 5-7 byte structure returns.
- * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
- (FFI_TYPE_SMALL_STRUCT2): Remove.
- (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
- (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
- * src/pa/linux.S: Mark source file as using PA1.1 assembly.
- (checksmst1, checksmst2): Remove.
- (checksmst3): Optimize handling of 3-byte struct returns.
- (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libgcj/21943
- * src/mips/n32.S: Enforce PIC code.
- * src/mips/o32.S: Likewise.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
- * configure: Regenerate.
-
-2005-06-01 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
- to call ffi_closure_helper_SYSV. Append @local instead.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
- Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
- * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
- * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
- include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-05-08 Richard Henderson <rth@redhat.com>
-
- PR libffi/21285
- * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04 Andreas Degert <ad@papyrus-gmbh.de>
- Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
- bit 11 of flags.
- (ffi_call): Mask return type field. Pass ssecount to ffi_call_unix64.
- (ffi_prep_closure): Set carry bit if sse-used flag set.
- * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
- Only load sse registers if ssecount non-zero.
- (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
- powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
- * configure: Regenerate.
-
-2005-04-20 Hans-Peter Nilsson <hp@axis.com>
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
- have Tcl8.3-compatible intermediate variable.
-
-2005-04-18 Simon Posnjak <simon.posnjak@siol.net>
- Hans-Peter Nilsson <hp@axis.com>
-
- * Makefile.am: Add CRIS support.
- * configure.ac: Likewise.
- * Makefile.in, configure, testsuite/Makefile.in,
- include/Makefile.in: Regenerate.
- * src/cris: New directory.
- * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
- * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
- \r?\n in output tests.
-
-2005-04-12 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-03-30 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30 Steve Ellcey <sje@cup.hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
- (ffi_sarg) Ditto.
- * src/ia64/unix.S (ffi_closure_unix): Extend gp
- to 64 bits in ILP32 mode.
- Load 64 bits even for short data.
-
-2005-03-23 Mike Stump <mrs@apple.com>
-
- * src/powerpc/darwin.S: Update for -m64 multilib.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21 Zack Weinberg <zack@codesourcery.com>
-
- * 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.
-
-2005-02-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
- odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR libffi/20104
- * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11 Janis Johnson <janis187@us.ibm.com>
-
- * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
- * testsuite/libffi.call/float.c: Ditto.
- * testsuite/libffi.call/float2.c: Ditto.
- * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * testsuite/libffi.special/special.exp (cxx_options): Add
- -shared-libgcc.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
- (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
- offset parameters with a type parameter; deduce size and structure
- alignment. Update all users.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
- (FFI_TYPE_LONGDOUBLE): Fix for ia64.
- * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
- into ffi_prep_closure.
- * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
- from scratch.
-
-2004-12-27 Richard Henderson <rth@redhat.com>
-
- * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25 Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
- (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
- (merge_classes): Check for it.
- (SSE_CLASS_P): New.
- (classify_argument): Pass byte_offset by value; perform all updates
- inside struct case.
- (examine_argument): Add classes argument; handle
- X86_64_COMPLEX_X87_CLASS.
- (ffi_prep_args): Merge into ...
- (ffi_call): ... here. Share stack frame with ffi_call_unix64.
- (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
- (ffi_fill_return_value): Remove.
- (ffi_prep_closure): Remove dead assert.
- (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
- Rewrite to use struct register_args instead of va_list. Create
- flags for handling structure returns.
- * src/x86/unix64.S: Remove dead strings.
- (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share
- stack frame with ffi_call. Handle structure returns properly.
- (float2sse, floatfloat2sse, double2sse): Remove.
- (sse2float, sse2double, sse2floatfloat): Remove.
- (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite
- to handle structure returns properly.
-
-2004-12-08 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
- PICFLAG.
- * Makefile.in: Regenerated.
-
-2004-12-02 Richard Sandiford <rsandifo@redhat.com>
-
- * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
- * configure, aclocal.m4, Makefile.in: Regenerate.
- * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-25 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool reversion.
-
-2004-11-24 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23 Richard Sandiford <rsandifo@redhat.com>
-
- * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
- of jal. Use an absolute encoding for the frame information.
-
-2004-11-23 Kelley Cook <kcook@gcc.gnu.org>
-
- * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS.
- * acinclude.m4: Delete logic for sincludes.
- * aclocal.m4, Makefile.in, configure: Regenerate.
- * include/Makefile: Likewise.
- * testsuite/Makefile: Likewise.
-
-2004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
- on a 8-byte boundary.
- * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
- long long values. Round stack allocation to a multiple of 8 bytes
- for ATPCS compatibility.
- * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
- names. Handle returning long long types. Add Thumb and interworking
- support. Improve soft-float code.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
- (libffi_exit): New function.
- (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR other/18138
- * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
- * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
- the function returning a structure pointed with R2.
- * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
- the structure return value if T bit set. Emit position
- independent code and EH data if PIC.
-
-2004-10-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * Makefile.am: Add m32r support.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * confiugre: Regenerate.
- * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
- (uint64, sint64, double, longdouble)
- * src/m32r: New directory.
- * src/m32r/ffi.c: New file.
- * src/m32r/sysv.S: Likewise.
- * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * testsuite/libffi.call/negint.c: New test case.
-
-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.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/many_win32.c: Remove whitespaces.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
- whitespaces.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Fix comments and identation.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
- (ffi_prep_args): Handle longdouble arguments.
- (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
- longdouble.
- (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
- * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
- values.
- * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
- * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/aix.S: Remove whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
- * src/powerpc/asm.h: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffitarget.h: Likewise.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
-
-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.in: Read configure.host.
- * 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 shouldn't 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.
-
-2004-08-24 David Daney <daney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
- to zero.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23 David Daney <daney@avtrex.com>
-
- PR libgcj/13141
- * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
- * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
- (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
- parameters and return types.
- (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
- (ffi_prep_closure): Ditto.
- (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
- alignment calculations.
- * src/mips/o32.S (ffi_closure_O32): Don't use floating point
- instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14 Casey Marshall <csm@gnu.org>
-
- * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
- contain `FFI_TYPE_UINT64' as return type for any 64-bit
- integer (O32 ABI only).
- (ffi_prep_closure): new function.
- (ffi_closure_mips_inner_O32): new function.
- * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
- `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
- * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
- 64 bit integers correctly.
- (ffi_closure_O32): new function.
- Added DWARF-2 unwind info for both functions.
-
-2004-08-10 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01 Robert Millan <robertmh@gnu.org>
-
- * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
- * configure: Regenerate.
-
-2004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
-
- * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
- and mmap() explicitly instead of relying on preset autoconf cache
- variables.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
- (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
- character on Darwin, use '\n\t' instead.
-
-2004-06-26 Matthias Klose <doko@debian.org>
-
- * libtool-version: Fix typo in revision/age.
-
-2004-06-17 Matthias Klose <doko@debian.org>
-
- * libtool-version: New.
- * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
- * Makefile.in: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * Makefile.am: Remove useless multilib rules.
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate with automake 1.8.5.
- * configure.ac: Remove useless multilib configury.
- * configure: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * .cvsignore: New file.
-
-2004-06-10 Jakub Jelinek <jakub@redhat.com>
-
- * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
- fp_done.
- (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
- changed from 8.
-
-2004-06-06 Sean McNeil <sean@mcneil.com>
-
- * configure.ac: Add x86_64-*-freebsd* support.
- * configure: Regenerate.
-
-2004-04-26 Joe Buck <jbuck@welsh-buck.org>
-
- Bug 15093
- * configure.ac: Test for existence of mmap and sys/mman.h before
- checking blacklist. Fix suggested by Jim Wilson.
- * configure: Regenerate.
-
-2004-04-26 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
- FDE location.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
- error. Reported by Thomas Heller <theller@python.net>.
- * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20 Matthias Klose <doko@debian.org>
-
- * src/pa/linux.S: Fix typo.
-
-2004-03-19 Matthias Klose <doko@debian.org>
-
- * Makefile.am: Update.
- * Makefile.in: Regenerate.
- * src/pa/ffi.h.in: Remove.
- * src/pa/ffitarget.h: New file.
-
-2004-02-10 Randolph Chung <tausq@debian.org>
-
- * Makefile.am: Add PA support.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * configure.ac: Add PA target.
- * configure: Regenerate.
- * src/pa/ffi.c: New file.
- * src/pa/ffi.h.in: Add PA support.
- * src/pa/linux.S: New file.
- * prep_cif.c: Add PA support.
-
-2004-03-16 Hosaka Yuji <hos@tamanegi.org>
-
- * src/types.c: Fix alignment size of X86_WIN32 case int64 and
- double.
- * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
- with ecif->cif->flags.
- (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
- with cif->flags.
- (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
- (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
- * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
- sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.in: Rename file to ...
- * configure.ac: ... this.
- * fficonfig.h.in: Regenerate.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2004-03-12 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Fix EH information so it corresponds to
- changes in EH format resulting from addition of linkonce support.
- * src/powerpc/darwin_closure.S: Likewise.
-
-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.
-
-2004-03-11 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
- arguments from fp registers only for the first 8 parameter slots.
- Don't convert a float parameter when passed in memory.
-
-2004-03-09 Hans-Peter Nilsson <hp@axis.com>
-
- * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
-
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
- ecif->cif->bytes to bytes.
- (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
- * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
- (ffi_closure_helper_LINUX64): Fix typo.
- * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
- for powerpc64-*-*.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
- long double function return and long double arg handling.
- (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
- Use "end_pfr" instead of "nf". Correct long double handling.
- Localise "temp".
- * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
- return value.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
- space for long double return value. Adjust stack frame and offsets.
- Load f2 long double return.
-
-2004-02-07 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
- when the structure return address is passed in %o0.
- (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
- (ffi_v9_layout_struct): Align the field following a nested structure
- on a word boundary. Use memmove instead of memcpy.
- (ffi_call): Update call to ffi_V9_return_struct.
- (ffi_prep_closure): Define 'ctx' only for V8.
- (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
- and ffi_closure_sparc_inner_v9.
- (ffi_closure_sparc_inner_v8): Return long doubles by reference.
- Always skip the structure return address. For structures and long
- doubles, copy the argument directly.
- (ffi_closure_sparc_inner_v9): Skip the structure return address only
- if required. Shift the maximum floating-point slot accordingly. For
- big structures, copy the argument directly; otherwise, left-justify the
- argument and call ffi_v9_layout_struct to lay out the structure on
- the stack.
- * src/sparc/v8.S: Undef STACKFRAME before defining it.
- (ffi_closure_v8): Pass the structure return address. Update call to
- ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
- Skip the 'unimp' insn when returning long doubles and structures.
- * src/sparc/v9.S: Undef STACKFRAME before defining it.
- (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
- FFI_TYPE_INT handling. Load structures both in integers and
- floating-point registers on return.
- * README: Update status of the SPARC port.
-
-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.
-
-2004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
-
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
- value as of type ffi_arg, not unsigned int.
-
-2004-01-21 Michael Ritzert <ritzert@t-online.de>
-
- * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
- of the LHS.
-
-2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
- Solaris.
-
-2004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
- to void *.
-
-2003-12-10 Richard Henderson <rth@redhat.com>
-
- * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
- size_t instead of int.
-
-2003-12-04 Hosaka Yuji <hos@tamanegi.org>
-
- * testsuite/libffi.call/many_win32.c: Include <float.h>.
- * testsuite/libffi.call/many_win32.c (main): Replace variable
- int i with unsigned long ul.
-
- * testsuite/libffi.call/cls_align_uint64.c: New test case.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02 Hosaka Yuji <hos@tamanegi.org>
-
- PR other/13221
- * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
- Align arguments to 32 bits.
-
-2003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR other/13221
- * testsuite/libffi.call/cls_multi_sshort.c: New test case.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-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.
-
-2003-11-21 Andreas Jaeger <aj@suse.de>
- Andreas Tobler <a.tobler@schweiz.ch>
-
- * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
- * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
- * Makefile.in: Rebuilt.
- * aclocal.m4: Likewise.
- * configure: Likewise.
- * fficonfig.h.in: Likewise.
- * testsuite/lib/libffi-dg.exp: Add include dir.
- * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
- for ffi_closure if available.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
- Add -lgcc_s to additional flags.
-
-2003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.in, include/Makefile.am: PR libgcj/11147, install
- the ffitarget.h header file in a gcc versioned and target
- dependent place.
- * configure: Regenerated.
- * Makefile.in, include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Print result and check
- with dg-output to make debugging easier.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
- static.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_9byte2.c: New test case.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_double.c: Do a check on the result.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/prep_cif.c (ffi_prep_cif): Move the validity check after
- the initialization.
-
-2003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
- FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
- __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-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
-
-2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
- _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
- Used when FFI_DEBUG = 1.
-
-2003-10-14 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
- and align.
-
-2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
- FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
- SPARC64. Cleanup whitespaces.
-
-2003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
- strongarm, xscale. Cleanup whitespaces.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Cleanup whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
- * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
- parameter stack.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
- according to the Darwin/AIX ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_DARWIN): Likewise.
- Remove the outgoing parameter stack logic. Simplify the evaluation
- of the different CASE types.
- (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
- statement in the trampoline code.
-
-2003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
- for the register size.
- (ffi_closure_helper_SYSV): Handle the structure return value
- address correctly.
- (ffi_closure_helper_SYSV): Return the appropriate type when
- the registers are used for the structure return value.
- * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
- the 64-bit return value. Update copyright years.
-
-2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
- srcdir for ffi_mips.h.
-
-2003-09-12 Alan Modra <amodra@bigpond.net.au>
-
- * src/prep_cif.c (initialize_aggregate): Include tail padding in
- structure size.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
- placement of float result.
- * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
- cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Merge identical SH and ARM
- typedefs, and add POWERPC64.
- * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
- struct split over gpr and rest.
- (ffi_prep_cif_machdep): Correct intarg_count for structures.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
- passing correctly.
-
-2003-09-09 Alan Modra <amodra@bigpond.net.au>
-
- * configure: Regenerate.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Remove build rules for ffitest.
- * Makefile.in: Rebuilt.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
- about implicit declaration of abort().
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
- * Makefile.in: Rebuilt.
- * configure.in: Add dejagnu test framework.
- * configure: Rebuilt.
-
- * testsuite/Makefile.am: New file.
- * testsuite/Makefile.in: Built
- * testsuite/lib/libffi-dg.exp: New file.
- * testsuite/config/default.exp: Likewise.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Likewise.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float1.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/many.c: Likewise.
- * testsuite/libffi.call/many_win32.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
- * testsuite/libffi.call/strlen.c: Likewise.
- * testsuite/libffi.call/strlen_win32.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
- * testsuite/libffi.call/struct2.c: Likewise.
- * testsuite/libffi.call/struct3.c: Likewise.
- * testsuite/libffi.call/struct4.c: Likewise.
- * testsuite/libffi.call/struct5.c: Likewise.
- * testsuite/libffi.call/struct6.c: Likewise.
- * testsuite/libffi.call/struct7.c: Likewise.
- * testsuite/libffi.call/struct8.c: Likewise.
- * testsuite/libffi.call/struct9.c: Likewise.
- * testsuite/libffi.special/special.exp: New file.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
- copyright years.
-
-2003-08-02 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
- structure passing.
- (ffi_closure_helper_LINUX64): Likewise.
- * src/powerpc/linux64.S: Remove code writing to parm save area.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
- address in lr from ffi_closure_helper_LINUX64 call to calculate
- table address. Optimize function tail.
-
-2003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/sparc/ffi.c: Handle all floating point registers.
- * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
-
- * README: Note that libffi is not part of GCC. Update the project
- URL and status.
-
-2003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
- Use C style comments.
-
-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
- should be read-only.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * include/ffi.h.in (EH_FRAME_FLAGS): Define.
- * src/alpha/osf.S: Use EH_FRAME_FLAGS.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
- * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
- if -fpic/-fPIC/-mrelocatable.
- * src/powerpc/powerpc_closure.S: Likewise.
- * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
- #write in .eh_frame flags.
- * src/sparc/v9.S: Likewise.
- * src/x86/unix64.S: Use EH_FRAME_FLAGS.
- * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
- * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
-
-2003-05-07 Jeff Sturm <jsturm@one-point.com>
-
- Fixes PR bootstrap/10656
- * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
- support for .register pseudo-op.
- * src/sparc/v8.S: Use it.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2003-04-18 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (POWERPC64): Define if 64-bit.
- (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
- Make it the default on POWERPC64.
- (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
- * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
- * configure: Rebuilt.
- * src/powerpc/ffi.c (hidden): Define.
- (ffi_prep_args_SYSV): Renamed from
- ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
- (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
- ASM_NEEDS_REGISTERS64): New.
- (ffi_prep_args64): New function.
- (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
- (ffi_call): Likewise.
- (ffi_prep_closure): Likewise.
- (flush_icache): Surround by #ifndef POWERPC64.
- (ffi_dblfl): New union type.
- (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
- (ffi_closure_helper_LINUX64): New function.
- * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
- __powerpc64__.
- * src/powerpc/sysv.S: Likewise.
- (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
- * src/powerpc/linux64.S: New file.
- * src/powerpc/linux64_closure.S: New file.
- * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
- src/powerpc/linux64_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
- * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
- closure_test_fn3): Fix result printing on big-endian 64-bit
- machines.
- (main): Print tst2_arg instead of uninitialized tst2_result.
-
- * src/ffitest.c (main): Hide what closure pointer really points to
- from the compiler.
-
-2003-04-16 Richard Earnshaw <rearnsha@arm.com>
-
- * configure.in (arm-*-netbsdelf*): Add configuration.
- (configure): Regenerated.
-
-2003-04-04 Loren J. Rittle <ljrittle@acm.org>
-
- * include/Makefile.in: Regenerate.
-
-2003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
-
- * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
- bit mode.
- * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
- Receive closure pointer through parameter, read args using
- __builtin_dwarf_cfa.
- (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12 Andreas Schwab <schwab@suse.de>
-
- * configure.in: Avoid trailing /. in toolexeclibdir.
- * configure: Rebuilt.
-
-2003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/powerpc/darwin_closure.S:
- Fix alignement bug, allocate 8 bytes for the result.
- * libffi/src/powerpc/aix_closure.S:
- Likewise.
- * libffi/src/powerpc/ffi_darwin.c:
- Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06 Jakub Jelinek <jakub@redhat.com>
-
- * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
- attribute.
-
-2003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
- Andreas Schwab <schwab@suse.de>
-
- * configure.in: Adjust command to source config-ml.in to account
- for changes to the libffi_basedir definition.
- (libffi_basedir): Remove ${srcdir} from value and include trailing
- slash if nonempty.
-
- * configure: Regenerate.
-
-2003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
- * src/x86/ffi64.c (ffi_prep_closure): New.
- (ffi_closure_UNIX64_inner): New.
- * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
- Remove USE_LIBDIR conditional.
- * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
- * Makefile.in, configure: Rebuilt.
-
-2003-01027 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
- * Makefile.in: Regenerate.
-
-2003-01-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
- unwind info.
-
-2003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Add unwind info.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
- (ffi_prep_cif_machdep): Likewise.
- * src/x86/unix64.S: Add unwind info.
-
-2003-01-14 Andreas Jaeger <aj@suse.de>
-
- * src/ffitest.c (main): Only use ffi_closures if those are
- supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/ffitest.c
- add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
- * libffi/src/powerpc/ffi.c
- fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c: Remove RCS version string.
- * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
- * src/ffitest.c (main): Use static storage for closure.
- * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
- * src/sparc/v8.S (ffi_closure_v8): New.
- * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10 Ranjit Mathew <rmathew@hotmail.com>
-
- * include/ffi.h.in: Added FFI_STDCALL ffi_type
- enumeration for X86_WIN32.
- * src/x86/win32.S: Added ffi_call_STDCALL function
- definition.
- * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
- switch cases for recognising FFI_STDCALL and
- calling ffi_call_STDCALL if target is X86_WIN32.
- * src/ffitest.c (my_stdcall_strlen/stdcall_many):
- stdcall versions of the "my_strlen" and "many"
- test functions (for X86_WIN32).
- Added test cases to test stdcall invocation using
- these functions.
-
-2002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26 Jim Wilson <wilson@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23 H.J. Lu <hjl@gnu.org>
-
- * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
- Include ../config/accross.m4.
- * aclocal.m4; Rebuild.
- * configure: Likewise.
-
-2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11 DJ Delorie <dj@redhat.com>
-
- * configure.in: Look for common files in the right place.
-
-2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
- raw data as _Jv_word values, not ffi_raw.
- (ffi_java_ptrarray_to_raw): Likewise.
- (ffi_java_rvalue_to_raw): New function.
- (ffi_java_raw_call): Call it.
- (ffi_java_raw_to_rvalue): New function.
- (ffi_java_translate_args): Call it.
- * src/ffitest.c (closure_test_fn): Interpret return value
- as ffi_arg, not int.
- * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
- FFI_TYPE_POINTER case.
- (ffi_closure_helper_SYSV): Likewise. Also, assume return
- values extended to word size.
-
-2002-10-02 Andreas Jaeger <aj@suse.de>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01 Bo Thorsen <bo@smetana.suse.de>
-
- * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
-
- * configure.in: Add s390x-*-linux-* target.
- * configure: Regenerate.
- * include/ffi.h.in: Define S390X for s390x targets.
- (FFI_CLOSURES): Define for s390/s390x.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
- * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
- * src/s390/ffi.c: Major rework of existing code. Add support for
- s390x targets. Add closure support.
- * src/s390/sysv.S: Likewise.
-
-2002-09-29 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: Fix typo.
-
-2002-09-28 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
- has defined __USER_LABEL_PREFIX__, then use it in CNAME.
- (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27 Bo Thorsen <bo@suse.de>
-
- * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * configure.in (sh[34]*-*-linux*): Add brackets.
- * configure: Regenerate.
-
-2002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * Makefile.am: Add SH support.
- * Makefile.in: Regenerate.
- * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
- * configure: Regenerate.
- * include/ffi.h.in: Add SH support.
- * src/sh/ffi.c: New file.
- * src/sh/sysv.S: New file.
- * src/types.c: Add SH support.
-
-2002-07-16 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi64.c: New file that adds x86-64 support.
- * src/x86/unix64.S: New file that handles argument setup for
- x86-64.
- * src/x86/sysv.S: Don't use this on x86-64.
- * src/x86/ffi.c: Don't use this on x86-64.
- Remove unused vars.
- * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
- for x86-64.
- * src/ffitest.c (struct6): New test that tests a special case in
- the x86-64 ABI.
- (struct7): Likewise.
- (struct8): Likewise.
- (struct9): Likewise.
- (closure_test_fn): Silence warning about this when it's not used.
- (main): Add the new tests.
- (main): Fix a couple of wrong casts and silence some compiler warnings.
- * include/ffi.h.in: Add x86-64 ABI definition.
- * fficonfig.h.in: Regenerate.
- * Makefile.am: Add x86-64 support.
- * configure.in: Likewise.
- * Makefile.in: Regenerate.
- * configure: Likewise.
-
-2002-06-24 Bo Thorsen <bo@suse.de>
-
- * src/types.c: Merge settings for similar architectures.
- Add x86-64 sizes and alignments.
-
-2002-06-23 Bo Thorsen <bo@suse.de>
-
- * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
- * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
- * src/mips/ffi.c (ffi_prep_args): Likewise.
- * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18 H.J. Lu (hjl@gnu.org)
-
- * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
- (libffi_la_SOURCES): Support MIPS_LINUX.
- (libffi_convenience_la_SOURCES): Likewise.
- * Makefile.in: Regenerated.
-
- * configure.in (mips64*-*): Skip.
- (mips*-*-linux*): New.
- * configure: Regenerated.
-
- * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
-
-2002-05-27 Roger Sayle <roger@eyesopen.com>
-
- * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
- fix formatting.
-
-2002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
- beginning of function (for older apple cc).
-
-2002-05-08 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
- script entry, and set LD to it when configuring multilibs.
- * configure: Rebuilt.
-
-2002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (sparc64-*-netbsd*): Add target.
- (sparc-*-netbsdelf*): Likewise.
- * configure: Regenerate.
-
-2002-04-28 David S. Miller <davem@redhat.com>
-
- * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
-
- * Makefile.am: Add Linux for S/390 support.
- * Makefile.in: Regenerate.
- * configure.in: Add Linux for S/390 support.
- * configure: Regenerate.
- * include/ffi.h.in: Add Linux for S/390 support.
- * src/s390/ffi.c: New file from libffi CVS tree.
- * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
- %r_disp32().
- * src/sparc/v8.S: Use it.
- * src/sparc/v9.S: Likewise.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2002-04-08 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
- correctly.
- * src/ia64/unix.S: Add unwind information. Fix comments.
- Save sp in a way that's compatible with unwind info.
- (ffi_call_unix): Correctly restore sp in all cases.
- * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08 Jakub Jelinek <jakub@redhat.com>
-
- * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (alpha*-*-netbsd*): Add target.
- * configure: Regenerate.
-
-2002-04-04 Jeff Sturm <jsturm@one-point.com>
-
- * src/sparc/v8.S: Add unwind info.
- * src/sparc/v9.S: Likewise.
-
-2002-03-30 Krister Walfridsson <cato@df.lth.se>
-
- * configure.in: Enable i*86-*-netbsdelf*.
- * configure: Rebuilt.
-
-2002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
-
- PR other/2620
- * src/mips/n32.s: Delete
- * src/mips/o32.s: Delete
-
-2002-03-21 Loren J. Rittle <ljrittle@acm.org>
-
- * configure.in: Enable alpha*-*-freebsd*.
- * configure: Rebuilt.
-
-2002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * Makefile.am: libfficonvenience -> libffi_convenience.
- * Makefile.in: Rebuilt.
-
- * Makefile.am: Define ffitest_OBJECTS.
- * Makefile.in: Rebuilt.
-
-2002-03-07 Andreas Tobler <toa@pop.agri.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
- (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
- (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
- * Makefile.in: Regenerate.
- * include/ffi.h.in: Add AIX and Darwin closure definitions.
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
- (flush_icache, flush_range): New functions.
- (ffi_closure_helper_DARWIN): New function.
- * src/powerpc/aix_closure.S: New file.
- * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add typedef for ffi_arg.
- * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21 Andreas Tobler <toa@pop.agri.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
- number of GPRs for floating-point arguments.
-
-2002-01-31 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Replace CHECK_SIZEOF and endian tests with
- cross-compiler friendly macros.
- * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
- macros.
-
-2002-01-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): New.
- * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
- (TARGET_SRC_POWERPC_AIX): New.
- (POWERPC_AIX): New stanza.
- * Makefile.in: Regenerate.
- * configure.in: Add AIX case.
- * configure: Regenerate.
- * include/ffi.h.in (ffi_abi): Add FFI_AIX.
- * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
- size. Fix "long double" support.
- (ffi_call): Add FFI_AIX case.
- * src/powerpc/aix.S: New.
-
-2001-10-09 John Hornkvist <john@toastedmarshmallow.com>
-
- Implement Darwin PowerPC ABI.
- * configure.in: Handle powerpc-*-darwin*.
- * Makefile.am: Set source files for POWERPC_DARWIN.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
- * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
- POWERPC_DARWIN.
- * src/powerpc/darwin.S: New file.
- * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .balign directive.
- Use C style comments.
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
- Fixes PR bootstrap/3563.
-
-2001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.in: Recognize sparc*-sun-* host.
- * configure: Regenerate.
-
-2001-06-06 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S: Add unwind info.
- * src/powerpc/sysv.S: Add unwind info.
- * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31 Jeff Sturm <jsturm@one-point.com>
-
- * configure.in: Fix AC_ARG_ENABLE usage.
- * configure: Rebuilt.
-
-2001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * configure.in: Remove warning about beta code.
- * configure: Rebuilt.
-
-2001-04-25 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/ia64/unix.S: Restore stack pointer when returning from
- ffi_closure_UNIX.
- * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18 Jim Wilson <wilson@redhat.com>
-
- * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
- to eliminate RAW DV.
-
-2001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
-
- * Makefile.am: Make a libtool convenience library.
- * Makefile.in: Rebuilt.
-
-2001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Use different syntax for subdirectory creation.
- * configure: Rebuilt.
-
-2001-03-27 Jon Beniston <jon@beniston.com>
-
- * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
- * configure: Rebuilt.
- * Makefile.am: Added X86_WIN32 target support.
- * Makefile.in: Rebuilt.
-
- * include/ffi.h.in: Added X86_WIN32 target support.
-
- * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
- * src/types.c: Added X86_WIN32 target support.
-
- * src/x86/win32.S: New file. Based on sysv.S, but with EH
- stuff removed and made to work with CygWin's gas.
-
-2001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Make target subdirectory in build dir.
- * Makefile.am: Override suffix based rules to specify correct output
- subdirectory.
- * Makefile.in: Rebuilt.
- * configure: Rebuilt.
-
-2001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
-
- * src/powerpc/ppc_closure.S: New file.
- * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
- involving long long and register pairs.
- (ffi_prep_closure): New function.
- (flush_icache): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * Makefile.in: Rebuilt.
- * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19 Tom Tromey <tromey@redhat.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02 Nick Clifton <nickc@redhat.com>
-
- * include/ffi.h.in: Remove RCS ident string.
- * include/ffi_mips.h: Remove RCS ident string.
- * src/debug.c: Remove RCS ident string.
- * src/ffitest.c: Remove RCS ident string.
- * src/prep_cif.c: Remove RCS ident string.
- * src/types.c: Remove RCS ident string.
- * src/alpha/ffi.c: Remove RCS ident string.
- * src/alpha/osf.S: Remove RCS ident string.
- * src/arm/ffi.c: Remove RCS ident string.
- * src/arm/sysv.S: Remove RCS ident string.
- * src/mips/ffi.c: Remove RCS ident string.
- * src/mips/n32.S: Remove RCS ident string.
- * src/mips/o32.S: Remove RCS ident string.
- * src/sparc/ffi.c: Remove RCS ident string.
- * src/sparc/v8.S: Remove RCS ident string.
- * src/sparc/v9.S: Remove RCS ident string.
- * src/x86/ffi.c: Remove RCS ident string.
- * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * include/ffi.h.in: Change sourceware.cygnus.com references to
- gcc.gnu.org.
-
-2000-12-09 Richard Henderson <rth@redhat.com>
-
- * src/alpha/ffi.c (ffi_call): Simplify struct return test.
- (ffi_closure_osf_inner): Index rather than increment avalue
- and arg_types. Give ffi_closure_osf the raw return value type.
- * src/alpha/osf.S (ffi_closure_osf): Handle return value type
- promotion.
-
-2000-12-07 Richard Henderson <rth@redhat.com>
-
- * src/raw_api.c (ffi_translate_args): Fix typo.
- (ffi_prep_closure): Likewise.
-
- * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
- FFI_TRAMPOLINE_SIZE.
- * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
- cif->bytes for new ffi_call_osf implementation.
- (ffi_prep_args): Absorb into ...
- (ffi_call): ... here. Do all stack allocation here and
- avoid a callback function.
- (ffi_prep_closure, ffi_closure_osf_inner): New.
- * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
- (ffi_closure_osf): New.
-
-2000-09-10 Alexandre Oliva <aoliva@redhat.com>
-
- * config.guess, config.sub, install-sh: Removed.
- * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
- * Makefile.in: Rebuilt.
-
- * acinclude.m4: Include libtool macros from the top level.
- * aclocal.m4, configure: Rebuilt.
-
-2000-08-22 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
- * configure: Rebuilt.
-
-2000-05-11 Scott Bambrough <scottb@netwinder.org>
-
- * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
- memory correctly. Use conditional instructions, not branches where
- possible.
-
-2000-05-04 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Match `arm*-*-linux-*'.
- From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (SUBDIRS): Define.
- (AM_MAKEFLAGS): Likewise.
- (Multilib support.): Add section.
- * Makefile.in: Rebuilt.
- * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
- New variables. Set for gcc using -print-multi-lib. Export them
- to libtool.
- (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
- * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
- for -shared links.
- (extra_compiler_flags_value, extra_compiler_flags): Check these
- for extra compiler options which need to be passed down in
- compiler_flags.
-
-2000-04-16 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
- Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
- * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
- Replace all void * sizeofs with sizeof(int).
- Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
- different than DOUBLE.
- Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
- (ffi_prep_args_v9): New function.
- (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
- (ffi_V9_return_struct): New function.
- (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
- 32bit code (not yet cross-arch calls).
- * src/sparc/v8.S: Add struct return delay nop.
- Handle long long.
- * src/sparc/v9.S: New file.
- * src/prep_cif.c (ffi_prep_cif): Return structure pointer
- is used on sparc64 only for structures larger than 32 bytes.
- Pass by reference for structures is done for structure arguments
- larger than 16 bytes.
- * src/ffitest.c (main): Use 64bit rint on sparc64.
- Run long long tests on sparc.
- * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
- sparc64.
- (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
- on sparc64.
- * configure.in (sparc-*-linux*): New supported target.
- (sparc64-*-linux*): Likewise.
- * configure: Rebuilt.
- * Makefile.am: Add v9.S to SPARC files.
- * Makefile.in: Likewise.
- (LINK): Surround $(CCLD) into double quotes, so that multilib
- compiles work correctly.
-
-2000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: (i*86-*-solaris*): New libffi target. Patch
- proposed by Bryce McKinlay.
-
-2000-03-20 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
-
- * config.guess, config.sub: Update from the gcc tree.
- Fix for PR libgcj/168.
-
-2000-03-03 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Fixed ia64 by hand.
-
- * configure: Rebuilt.
- * configure.in (--enable-multilib): New option.
- (libffi_basedir): New subst.
- (AC_OUTPUT): Added multilib code.
-
-2000-03-02 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
- directory name.
-
-2000-02-25 Hans Boehm <boehm@acm.org>
-
- * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
- files.
- * src/raw_api.c (ffi_translate_args): Fixed typo in argument
- list.
- (ffi_prep_raw_closure): Use ffi_translate_args, not
- ffi_closure_translate.
- * src/java_raw_api.c: New file.
- * src/ffitest.c (closure_test_fn): New function.
- (main): Define `rint' as long long on IA64. Added new test when
- FFI_CLOSURES is defined.
- * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
- (ffi_abi): Recognize IA64.
- (ffi_raw): Added `flt' field.
- Added "Java raw API" code.
- * configure.in: Recognize ia64.
- * Makefile.am (TARGET_SRC_IA64): New macro.
- (libffi_la_common_SOURCES): Added java_raw_api.c.
- (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01 Tom Tromey <tromey@cygnus.com>
-
- * include/ffi.h.in: Removed PACKAGE and VERSION defines and
- undefs.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
- * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
- Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
- * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09 Anthony Green <green@cygnus.com>
-
- * include/ffi.h.in: Try to work around messy header problem
- with PACKAGE and VERSION.
-
- * configure: Rebuilt.
- * configure.in: Change version to 2.00-beta.
-
- * fficonfig.h.in: Rebuilt.
- * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
- * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
-
- * src/x86/ffi.c (ffi_closure_SYSV): New function.
- (ffi_prep_incoming_args_SYSV): Ditto.
- (ffi_prep_closure): Ditto.
- (ffi_closure_raw_SYSV): Ditto.
- (ffi_prep_raw_closure): More ditto.
- (ffi_call_raw): Final ditto.
-
- * include/ffi.h.in: Add definitions for closure and raw API.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
- FFI_TYPE_UINT64.
-
- * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
- * src/raw_api.c: New file.
-
- * include/ffi.h.in (ffi_raw): New type.
- (UINT_ARG, SINT_ARG): New defines.
- (ffi_closure, ffi_raw_closure): New types.
- (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
- * configure.in: Add check for endianness and sizeof void*.
-
- * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
- instead of directly.
-
- * configure: Rebuilt.
-
-Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
-
- * configure.in: Add x86 and powerpc BeOS configurations.
- From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09 Anthony Green <green@cygnus.com>
-
- * configure.in: Add warning about this being beta code.
- Remove src/Makefile.am from the picture.
- * configure: Rebuilt.
-
- * Makefile.am: Move logic from src/Makefile.am. Add changes
- to support libffi as a target library.
- * Makefile.in: Rebuilt.
-
- * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
- Upgraded to new autoconf, automake, libtool.
-
- * README: Tweaks.
-
- * LICENSE: Update copyright date.
-
- * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29 Anthony Green <green@cygnus.com>
-
- * include/ChangeLog: Removed.
- * src/ChangeLog: Removed.
- * src/mips/ChangeLog: Removed.
- * src/sparc/ChangeLog: Remboved.
- * src/x86/ChangeLog: Removed.
-
- * ChangeLog.v1: Created.
diff --git a/.pc/windows-ce-arm/src/arm/ffi.c b/.pc/windows-ce-arm/src/arm/ffi.c
deleted file mode 100644
index 0fb6754..0000000
--- a/.pc/windows-ce-arm/src/arm/ffi.c
+++ /dev/null
@@ -1,728 +0,0 @@
-/* -----------------------------------------------------------------------
- ffi.c - Copyright (c) 2011 Plausible Labs Cooperative, Inc.
- Copyright (c) 2011 Anthony Green
- Copyright (c) 2011 Free Software Foundation
- Copyright (c) 1998, 2008, 2011 Red Hat, Inc.
-
- ARM Foreign Function Interface
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
- ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#include <stdlib.h>
-
-/* Forward declares. */
-static int vfp_type_p (ffi_type *);
-static void layout_vfp_args (ffi_cif *);
-
-/* ffi_prep_args is called by the assembly routine once stack space
- has been allocated for the function's arguments
-
- The vfp_space parameter is the load area for VFP regs, the return
- value is cif->vfp_used (word bitset of VFP regs used for passing
- arguments). These are only used for the VFP hard-float ABI.
-*/
-int ffi_prep_args(char *stack, extended_cif *ecif, float *vfp_space)
-{
- register unsigned int i, vi = 0;
- register void **p_argv;
- register char *argp;
- register ffi_type **p_arg;
-
- argp = stack;
-
- if ( ecif->cif->flags == FFI_TYPE_STRUCT ) {
- *(void **) argp = ecif->rvalue;
- argp += 4;
- }
-
- p_argv = ecif->avalue;
-
- for (i = ecif->cif->nargs, p_arg = ecif->cif->arg_types;
- (i != 0);
- i--, p_arg++)
- {
- size_t z;
-
- /* Allocated in VFP registers. */
- if (ecif->cif->abi == FFI_VFP
- && vi < ecif->cif->vfp_nargs && vfp_type_p (*p_arg))
- {
- float* vfp_slot = vfp_space + ecif->cif->vfp_args[vi++];
- if ((*p_arg)->type == FFI_TYPE_FLOAT)
- *((float*)vfp_slot) = *((float*)*p_argv);
- else if ((*p_arg)->type == FFI_TYPE_DOUBLE)
- *((double*)vfp_slot) = *((double*)*p_argv);
- else
- memcpy(vfp_slot, *p_argv, (*p_arg)->size);
- p_argv++;
- continue;
- }
-
- /* Align if necessary */
- if (((*p_arg)->alignment - 1) & (unsigned) argp) {
- argp = (char *) ALIGN(argp, (*p_arg)->alignment);
- }
-
- if ((*p_arg)->type == FFI_TYPE_STRUCT)
- argp = (char *) ALIGN(argp, 4);
-
- z = (*p_arg)->size;
- if (z < sizeof(int))
- {
- z = sizeof(int);
- switch ((*p_arg)->type)
- {
- case FFI_TYPE_SINT8:
- *(signed int *) argp = (signed int)*(SINT8 *)(* p_argv);
- break;
-
- case FFI_TYPE_UINT8:
- *(unsigned int *) argp = (unsigned int)*(UINT8 *)(* p_argv);
- break;
-
- case FFI_TYPE_SINT16:
- *(signed int *) argp = (signed int)*(SINT16 *)(* p_argv);
- break;
-
- case FFI_TYPE_UINT16:
- *(unsigned int *) argp = (unsigned int)*(UINT16 *)(* p_argv);
- break;
-
- case FFI_TYPE_STRUCT:
- memcpy(argp, *p_argv, (*p_arg)->size);
- break;
-
- default:
- FFI_ASSERT(0);
- }
- }
- else if (z == sizeof(int))
- {
- *(unsigned int *) argp = (unsigned int)*(UINT32 *)(* p_argv);
- }
- else
- {
- memcpy(argp, *p_argv, z);
- }
- p_argv++;
- argp += z;
- }
-
- /* Indicate the VFP registers used. */
- return ecif->cif->vfp_used;
-}
-
-/* Perform machine dependent cif processing */
-ffi_status ffi_prep_cif_machdep(ffi_cif *cif)
-{
- int type_code;
- /* Round the stack up to a multiple of 8 bytes. This isn't needed
- everywhere, but it is on some platforms, and it doesn't harm anything
- when it isn't needed. */
- cif->bytes = (cif->bytes + 7) & ~7;
-
- /* Set the return type flag */
- switch (cif->rtype->type)
- {
- case FFI_TYPE_VOID:
- case FFI_TYPE_FLOAT:
- case FFI_TYPE_DOUBLE:
- cif->flags = (unsigned) cif->rtype->type;
- break;
-
- case FFI_TYPE_SINT64:
- case FFI_TYPE_UINT64:
- cif->flags = (unsigned) FFI_TYPE_SINT64;
- break;
-
- case FFI_TYPE_STRUCT:
- if (cif->abi == FFI_VFP
- && (type_code = vfp_type_p (cif->rtype)) != 0)
- {
- /* A Composite Type passed in VFP registers, either
- FFI_TYPE_STRUCT_VFP_FLOAT or FFI_TYPE_STRUCT_VFP_DOUBLE. */
- cif->flags = (unsigned) type_code;
- }
- else if (cif->rtype->size <= 4)
- /* A Composite Type not larger than 4 bytes is returned in r0. */
- cif->flags = (unsigned)FFI_TYPE_INT;
- else
- /* A Composite Type larger than 4 bytes, or whose size cannot
- be determined statically ... is stored in memory at an
- address passed [in r0]. */
- cif->flags = (unsigned)FFI_TYPE_STRUCT;
- break;
-
- default:
- cif->flags = FFI_TYPE_INT;
- break;
- }
-
- /* Map out the register placements of VFP register args.
- The VFP hard-float calling conventions are slightly more sophisticated than
- the base calling conventions, so we do it here instead of in ffi_prep_args(). */
- if (cif->abi == FFI_VFP)
- layout_vfp_args (cif);
-
- return FFI_OK;
-}
-
-/* Prototypes for assembly functions, in sysv.S */
-extern void ffi_call_SYSV (void (*fn)(void), extended_cif *, unsigned, unsigned, unsigned *);
-extern void ffi_call_VFP (void (*fn)(void), extended_cif *, unsigned, unsigned, unsigned *);
-
-void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
-{
- extended_cif ecif;
-
- int small_struct = (cif->flags == FFI_TYPE_INT
- && cif->rtype->type == FFI_TYPE_STRUCT);
- int vfp_struct = (cif->flags == FFI_TYPE_STRUCT_VFP_FLOAT
- || cif->flags == FFI_TYPE_STRUCT_VFP_DOUBLE);
-
- ecif.cif = cif;
- ecif.avalue = avalue;
-
- unsigned int temp;
-
- /* If the return value is a struct and we don't have a return */
- /* value address then we need to make one */
-
- if ((rvalue == NULL) &&
- (cif->flags == FFI_TYPE_STRUCT))
- {
- ecif.rvalue = alloca(cif->rtype->size);
- }
- else if (small_struct)
- ecif.rvalue = &temp;
- else if (vfp_struct)
- {
- /* Largest case is double x 4. */
- ecif.rvalue = alloca(32);
- }
- else
- ecif.rvalue = rvalue;
-
- switch (cif->abi)
- {
- case FFI_SYSV:
- ffi_call_SYSV (fn, &ecif, cif->bytes, cif->flags, ecif.rvalue);
- break;
-
- case FFI_VFP:
- ffi_call_VFP (fn, &ecif, cif->bytes, cif->flags, ecif.rvalue);
- break;
-
- default:
- FFI_ASSERT(0);
- break;
- }
- if (small_struct)
- memcpy (rvalue, &temp, cif->rtype->size);
- else if (vfp_struct)
- memcpy (rvalue, ecif.rvalue, cif->rtype->size);
-}
-
-/** private members **/
-
-static void ffi_prep_incoming_args_SYSV (char *stack, void **ret,
- void** args, ffi_cif* cif, float *vfp_stack);
-
-void ffi_closure_SYSV (ffi_closure *);
-
-void ffi_closure_VFP (ffi_closure *);
-
-/* This function is jumped to by the trampoline */
-
-unsigned int
-ffi_closure_SYSV_inner (closure, respp, args, vfp_args)
- ffi_closure *closure;
- void **respp;
- void *args;
- void *vfp_args;
-{
- // our various things...
- ffi_cif *cif;
- void **arg_area;
-
- cif = closure->cif;
- arg_area = (void**) alloca (cif->nargs * sizeof (void*));
-
- /* this call will initialize ARG_AREA, such that each
- * element in that array points to the corresponding
- * value on the stack; and if the function returns
- * a structure, it will re-set RESP to point to the
- * structure return address. */
-
- ffi_prep_incoming_args_SYSV(args, respp, arg_area, cif, vfp_args);
-
- (closure->fun) (cif, *respp, arg_area, closure->user_data);
-
- return cif->flags;
-}
-
-/*@-exportheader@*/
-static void
-ffi_prep_incoming_args_SYSV(char *stack, void **rvalue,
- void **avalue, ffi_cif *cif,
- /* Used only under VFP hard-float ABI. */
- float *vfp_stack)
-/*@=exportheader@*/
-{
- register unsigned int i, vi = 0;
- register void **p_argv;
- register char *argp;
- register ffi_type **p_arg;
-
- argp = stack;
-
- if ( cif->flags == FFI_TYPE_STRUCT ) {
- *rvalue = *(void **) argp;
- argp += 4;
- }
-
- p_argv = avalue;
-
- for (i = cif->nargs, p_arg = cif->arg_types; (i != 0); i--, p_arg++)
- {
- size_t z;
- size_t alignment;
-
- if (cif->abi == FFI_VFP
- && vi < cif->vfp_nargs && vfp_type_p (*p_arg))
- {
- *p_argv++ = (void*)(vfp_stack + cif->vfp_args[vi++]);
- continue;
- }
-
- alignment = (*p_arg)->alignment;
- if (alignment < 4)
- alignment = 4;
- /* Align if necessary */
- if ((alignment - 1) & (unsigned) argp) {
- argp = (char *) ALIGN(argp, alignment);
- }
-
- z = (*p_arg)->size;
-
- /* because we're little endian, this is what it turns into. */
-
- *p_argv = (void*) argp;
-
- p_argv++;
- argp += z;
- }
-
- return;
-}
-
-/* How to make a trampoline. */
-
-extern unsigned int ffi_arm_trampoline[3];
-
-#if FFI_EXEC_TRAMPOLINE_TABLE
-
-#include <mach/mach.h>
-#include <pthread.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-extern void *ffi_closure_trampoline_table_page;
-
-typedef struct ffi_trampoline_table ffi_trampoline_table;
-typedef struct ffi_trampoline_table_entry ffi_trampoline_table_entry;
-
-struct ffi_trampoline_table {
- /* contigious writable and executable pages */
- vm_address_t config_page;
- vm_address_t trampoline_page;
-
- /* free list tracking */
- uint16_t free_count;
- ffi_trampoline_table_entry *free_list;
- ffi_trampoline_table_entry *free_list_pool;
-
- ffi_trampoline_table *prev;
- ffi_trampoline_table *next;
-};
-
-struct ffi_trampoline_table_entry {
- void *(*trampoline)();
- ffi_trampoline_table_entry *next;
-};
-
-/* Override the standard architecture trampoline size */
-// XXX TODO - Fix
-#undef FFI_TRAMPOLINE_SIZE
-#define FFI_TRAMPOLINE_SIZE 12
-
-/* The trampoline configuration is placed at 4080 bytes prior to the trampoline's entry point */
-#define FFI_TRAMPOLINE_CODELOC_CONFIG(codeloc) ((void **) (((uint8_t *) codeloc) - 4080));
-
-/* The first 16 bytes of the config page are unused, as they are unaddressable from the trampoline page. */
-#define FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET 16
-
-/* Total number of trampolines that fit in one trampoline table */
-#define FFI_TRAMPOLINE_COUNT ((PAGE_SIZE - FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET) / FFI_TRAMPOLINE_SIZE)
-
-static pthread_mutex_t ffi_trampoline_lock = PTHREAD_MUTEX_INITIALIZER;
-static ffi_trampoline_table *ffi_trampoline_tables = NULL;
-
-static ffi_trampoline_table *
-ffi_trampoline_table_alloc ()
-{
- ffi_trampoline_table *table = NULL;
-
- /* Loop until we can allocate two contigious pages */
- while (table == NULL) {
- vm_address_t config_page = 0x0;
- kern_return_t kt;
-
- /* Try to allocate two pages */
- kt = vm_allocate (mach_task_self (), &config_page, PAGE_SIZE*2, VM_FLAGS_ANYWHERE);
- if (kt != KERN_SUCCESS) {
- fprintf(stderr, "vm_allocate() failure: %d at %s:%d\n", kt, __FILE__, __LINE__);
- break;
- }
-
- /* Now drop the second half of the allocation to make room for the trampoline table */
- vm_address_t trampoline_page = config_page+PAGE_SIZE;
- kt = vm_deallocate (mach_task_self (), trampoline_page, PAGE_SIZE);
- if (kt != KERN_SUCCESS) {
- fprintf(stderr, "vm_deallocate() failure: %d at %s:%d\n", kt, __FILE__, __LINE__);
- break;
- }
-
- /* Remap the trampoline table to directly follow the config page */
- vm_prot_t cur_prot;
- vm_prot_t max_prot;
-
- kt = vm_remap (mach_task_self (), &trampoline_page, PAGE_SIZE, 0x0, FALSE, mach_task_self (), (vm_address_t) &ffi_closure_trampoline_table_page, FALSE, &cur_prot, &max_prot, VM_INHERIT_SHARE);
-
- /* If we lost access to the destination trampoline page, drop our config allocation mapping and retry */
- if (kt != KERN_SUCCESS) {
- /* Log unexpected failures */
- if (kt != KERN_NO_SPACE) {
- fprintf(stderr, "vm_remap() failure: %d at %s:%d\n", kt, __FILE__, __LINE__);
- }
-
- vm_deallocate (mach_task_self (), config_page, PAGE_SIZE);
- continue;
- }
-
- /* We have valid trampoline and config pages */
- table = calloc (1, sizeof(ffi_trampoline_table));
- table->free_count = FFI_TRAMPOLINE_COUNT;
- table->config_page = config_page;
- table->trampoline_page = trampoline_page;
-
- /* Create and initialize the free list */
- table->free_list_pool = calloc(FFI_TRAMPOLINE_COUNT, sizeof(ffi_trampoline_table_entry));
-
- uint16_t i;
- for (i = 0; i < table->free_count; i++) {
- ffi_trampoline_table_entry *entry = &table->free_list_pool[i];
- entry->trampoline = (void *) (table->trampoline_page + (i * FFI_TRAMPOLINE_SIZE));
-
- if (i < table->free_count - 1)
- entry->next = &table->free_list_pool[i+1];
- }
-
- table->free_list = table->free_list_pool;
- }
-
- return table;
-}
-
-void *
-ffi_closure_alloc (size_t size, void **code)
-{
- /* Create the closure */
- ffi_closure *closure = malloc(size);
- if (closure == NULL)
- return NULL;
-
- pthread_mutex_lock(&ffi_trampoline_lock);
-
- /* Check for an active trampoline table with available entries. */
- ffi_trampoline_table *table = ffi_trampoline_tables;
- if (table == NULL || table->free_list == NULL) {
- table = ffi_trampoline_table_alloc ();
- if (table == NULL) {
- free(closure);
- return NULL;
- }
-
- /* Insert the new table at the top of the list */
- table->next = ffi_trampoline_tables;
- if (table->next != NULL)
- table->next->prev = table;
-
- ffi_trampoline_tables = table;
- }
-
- /* Claim the free entry */
- ffi_trampoline_table_entry *entry = ffi_trampoline_tables->free_list;
- ffi_trampoline_tables->free_list = entry->next;
- ffi_trampoline_tables->free_count--;
- entry->next = NULL;
-
- pthread_mutex_unlock(&ffi_trampoline_lock);
-
- /* Initialize the return values */
- *code = entry->trampoline;
- closure->trampoline_table = table;
- closure->trampoline_table_entry = entry;
-
- return closure;
-}
-
-void
-ffi_closure_free (void *ptr)
-{
- ffi_closure *closure = ptr;
-
- pthread_mutex_lock(&ffi_trampoline_lock);
-
- /* Fetch the table and entry references */
- ffi_trampoline_table *table = closure->trampoline_table;
- ffi_trampoline_table_entry *entry = closure->trampoline_table_entry;
-
- /* Return the entry to the free list */
- entry->next = table->free_list;
- table->free_list = entry;
- table->free_count++;
-
- /* If all trampolines within this table are free, and at least one other table exists, deallocate
- * the table */
- if (table->free_count == FFI_TRAMPOLINE_COUNT && ffi_trampoline_tables != table) {
- /* Remove from the list */
- if (table->prev != NULL)
- table->prev->next = table->next;
-
- if (table->next != NULL)
- table->next->prev = table->prev;
-
- /* Deallocate pages */
- kern_return_t kt;
- kt = vm_deallocate (mach_task_self (), table->config_page, PAGE_SIZE);
- if (kt != KERN_SUCCESS)
- fprintf(stderr, "vm_deallocate() failure: %d at %s:%d\n", kt, __FILE__, __LINE__);
-
- kt = vm_deallocate (mach_task_self (), table->trampoline_page, PAGE_SIZE);
- if (kt != KERN_SUCCESS)
- fprintf(stderr, "vm_deallocate() failure: %d at %s:%d\n", kt, __FILE__, __LINE__);
-
- /* Deallocate free list */
- free (table->free_list_pool);
- free (table);
- } else if (ffi_trampoline_tables != table) {
- /* Otherwise, bump this table to the top of the list */
- table->prev = NULL;
- table->next = ffi_trampoline_tables;
- if (ffi_trampoline_tables != NULL)
- ffi_trampoline_tables->prev = table;
-
- ffi_trampoline_tables = table;
- }
-
- pthread_mutex_unlock (&ffi_trampoline_lock);
-
- /* Free the closure */
- free (closure);
-}
-
-#else
-
-#define FFI_INIT_TRAMPOLINE(TRAMP,FUN,CTX) \
-({ unsigned char *__tramp = (unsigned char*)(TRAMP); \
- unsigned int __fun = (unsigned int)(FUN); \
- unsigned int __ctx = (unsigned int)(CTX); \
- unsigned char *insns = (unsigned char *)(CTX); \
- memcpy (__tramp, ffi_arm_trampoline, sizeof ffi_arm_trampoline); \
- *(unsigned int*) &__tramp[12] = __ctx; \
- *(unsigned int*) &__tramp[16] = __fun; \
- __clear_cache((&__tramp[0]), (&__tramp[19])); /* Clear data mapping. */ \
- __clear_cache(insns, insns + 3 * sizeof (unsigned int)); \
- /* Clear instruction \
- mapping. */ \
- })
-
-#endif
-
-/* the cif must already be prep'ed */
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure* closure,
- ffi_cif* cif,
- void (*fun)(ffi_cif*,void*,void**,void*),
- void *user_data,
- void *codeloc)
-{
- void (*closure_func)(ffi_closure*) = NULL;
-
- if (cif->abi == FFI_SYSV)
- closure_func = &ffi_closure_SYSV;
- else if (cif->abi == FFI_VFP)
- closure_func = &ffi_closure_VFP;
- else
- return FFI_BAD_ABI;
-
-#if FFI_EXEC_TRAMPOLINE_TABLE
- void **config = FFI_TRAMPOLINE_CODELOC_CONFIG(codeloc);
- config[0] = closure;
- config[1] = closure_func;
-#else
- FFI_INIT_TRAMPOLINE (&closure->tramp[0], \
- closure_func, \
- codeloc);
-#endif
-
- closure->cif = cif;
- closure->user_data = user_data;
- closure->fun = fun;
-
- return FFI_OK;
-}
-
-/* Below are routines for VFP hard-float support. */
-
-static int rec_vfp_type_p (ffi_type *t, int *elt, int *elnum)
-{
- switch (t->type)
- {
- case FFI_TYPE_FLOAT:
- case FFI_TYPE_DOUBLE:
- *elt = (int) t->type;
- *elnum = 1;
- return 1;
-
- case FFI_TYPE_STRUCT_VFP_FLOAT:
- *elt = FFI_TYPE_FLOAT;
- *elnum = t->size / sizeof (float);
- return 1;
-
- case FFI_TYPE_STRUCT_VFP_DOUBLE:
- *elt = FFI_TYPE_DOUBLE;
- *elnum = t->size / sizeof (double);
- return 1;
-
- case FFI_TYPE_STRUCT:;
- {
- int base_elt = 0, total_elnum = 0;
- ffi_type **el = t->elements;
- while (*el)
- {
- int el_elt = 0, el_elnum = 0;
- if (! rec_vfp_type_p (*el, &el_elt, &el_elnum)
- || (base_elt && base_elt != el_elt)
- || total_elnum + el_elnum > 4)
- return 0;
- base_elt = el_elt;
- total_elnum += el_elnum;
- el++;
- }
- *elnum = total_elnum;
- *elt = base_elt;
- return 1;
- }
- default: ;
- }
- return 0;
-}
-
-static int vfp_type_p (ffi_type *t)
-{
- int elt, elnum;
- if (rec_vfp_type_p (t, &elt, &elnum))
- {
- if (t->type == FFI_TYPE_STRUCT)
- {
- if (elnum == 1)
- t->type = elt;
- else
- t->type = (elt == FFI_TYPE_FLOAT
- ? FFI_TYPE_STRUCT_VFP_FLOAT
- : FFI_TYPE_STRUCT_VFP_DOUBLE);
- }
- return (int) t->type;
- }
- return 0;
-}
-
-static void place_vfp_arg (ffi_cif *cif, ffi_type *t)
-{
- int reg = cif->vfp_reg_free;
- int nregs = t->size / sizeof (float);
- int align = ((t->type == FFI_TYPE_STRUCT_VFP_FLOAT
- || t->type == FFI_TYPE_FLOAT) ? 1 : 2);
- /* Align register number. */
- if ((reg & 1) && align == 2)
- reg++;
- while (reg + nregs <= 16)
- {
- int s, new_used = 0;
- for (s = reg; s < reg + nregs; s++)
- {
- new_used |= (1 << s);
- if (cif->vfp_used & (1 << s))
- {
- reg += align;
- goto next_reg;
- }
- }
- /* Found regs to allocate. */
- cif->vfp_used |= new_used;
- cif->vfp_args[cif->vfp_nargs++] = reg;
-
- /* Update vfp_reg_free. */
- if (cif->vfp_used & (1 << cif->vfp_reg_free))
- {
- reg += nregs;
- while (cif->vfp_used & (1 << reg))
- reg += 1;
- cif->vfp_reg_free = reg;
- }
- return;
- next_reg: ;
- }
-}
-
-static void layout_vfp_args (ffi_cif *cif)
-{
- int i;
- /* Init VFP fields */
- cif->vfp_used = 0;
- cif->vfp_nargs = 0;
- cif->vfp_reg_free = 0;
- memset (cif->vfp_args, -1, 16); /* Init to -1. */
-
- for (i = 0; i < cif->nargs; i++)
- {
- ffi_type *t = cif->arg_types[i];
- if (vfp_type_p (t))
- place_vfp_arg (cif, t);
- }
-}
diff --git a/.pc/x32-abi/.timestamp b/.pc/x32-abi/.timestamp
deleted file mode 100644
index e69de29..0000000
--- a/.pc/x32-abi/.timestamp
+++ /dev/null
diff --git a/.pc/x32-abi/ChangeLog b/.pc/x32-abi/ChangeLog
deleted file mode 100644
index f1f76ae..0000000
--- a/.pc/x32-abi/ChangeLog
+++ /dev/null
@@ -1,4768 +0,0 @@
-2012-03-03 H.J. Lu <hongjiu.lu@intel.com>
-
- * src/prep_cif.c (ffi_prep_cif_core): Properly check bad ABI.
-
-2012-03-03 Andoni Morales Alastruey <ylatuya@gmail.com>
-
- * configure.ac: Add -no-undefined for both 32- and 64-bit x86
- windows-like hosts.
- * configure: Rebuilt.
-
-2012-02-23 Anthony Green <green@moxielogic.com>
-
- * src/*/ffitarget.h: Ensure that users never include ffitarget.h
- directly.
-
-2012-02-10 Kai Tietz <ktietz@redhat.com>
-
- * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
- windows target.
- * configure: Regenerated.
-
-2012-02-08 Kai Tietz <ktietz@redhat.com>
-
- * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
- also FFI_THISCALL.
- * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
- (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
- (ffi_prep_closure_loc): Add FFI_THISCALL support.
- * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
- * src/x86/win32.S (ffi_closure_THISCALL): New closure code
- for thiscall-calling convention.
- * testsuite/libffi.call/closure_thiscall.c: New test.
-
-2012-01-28 Kai Tietz <ktietz@redhat.com>
-
- * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
- argument to prototype for specify calling-convention.
- (ffi_call): Add support for stdcall/thiscall convention.
- (ffi_prep_args): Likewise.
- (ffi_raw_call): Likewise.
- * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
- FFI_FASTCALL.
- * src/x86/win32.S (_ffi_call_win32): Add support for
- fastcall/thiscall calling-convention calls.
- * testsuite/libffi.call/fastthis1_win32.c: New test.
- * testsuite/libffi.call/fastthis2_win32.c: New test.
- * testsuite/libffi.call/fastthis3_win32.c: New test.
- * testsuite/libffi.call/strlen2_win32.c: New test.
- * testsuite/libffi.call/many2_win32.c: New test.
- * testsuite/libffi.call/struct1_win32.c: New test.
- * testsuite/libffi.call/struct2_win32.c: New test.
-
-2012-01-23 Uros Bizjak <ubizjak@gmail.com>
-
- * src/alpha/ffi.c (ffi_prep_closure_loc): Check for bad ABI.
-
-2012-01-23 Anthony Green <green@moxielogic.com>
- Chris Young <cdyoung@ntlworld.com>
-
- * configure.ac: Add Amiga support.
- * configure: Rebuilt.
-
-2012-01-23 Dmitry Nadezhin <dmitry.nadezhin@gmail.com>
-
- * include/ffi_common.h (LIKELY, UNLIKELY): Fix definitions.
-
-2012-01-23 Andreas Schwab <schwab@linux-m68k.org>
-
- * src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
- mc68000. Test for __HAVE_68881__ in addition to __MC68881__.
-
-2012-01-19 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/48496
- * src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
-
-2012-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (i?86-*-*): Set TARGET to X86_64.
- * configure: Regenerate.
-
-2011-12-07 Andrew Pinski <apinski@cavium.com>
-
- PR libffi/50051
- * src/mips/n32.S: Add ".set mips4".
-
-2011-11-21 Andreas Tobler <andreast@fgznet.ch>
-
- * configure: Regenerate.
-
-2011-11-12 David Gilbert <david.gilbert@linaro.org>
-
- * doc/libffi.texi, include/ffi.h.in, include/ffi_common.h,
- man/Makefile.am, man/ffi.3, man/ffi_prep_cif.3,
- man/ffi_prep_cif_var.3, src/arm/ffi.c, src/arm/ffitarget.h,
- src/cris/ffi.c, src/prep_cif.c,
- testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/float_va.c: Many changes to support variadic
- function calls.
-
-2011-11-12 Kyle Moffett <Kyle.D.Moffett@boeing.com>
-
- * src/powerpc/ffi.c, src/powerpc/ffitarget.h,
- src/powerpc/ppc_closure.S, src/powerpc/sysv.S: Many changes for
- softfloat powerpc variants.
-
-2011-11-12 Petr Salinger <Petr.Salinger@seznam.cz>
-
- * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Fix kfreebsd support.
- * configure: Rebuilt.
-
-2011-11-12 Timothy Wall <twall@users.sf.net>
-
- * src/arm/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV): Max
- alignment of 4 for wince on ARM.
-
-2011-11-12 Kyle Moffett <Kyle.D.Moffett@boeing.com>
- Anthony Green <green@moxielogic.com>
-
- * src/ppc/sysv.S, src/ppc/ffi.c: Remove use of ppc string
- instructions (not available on some cores, like the PPC440).
-
-2011-11-12 Kimura Wataru <kimuraw@i.nifty.jp>
-
- * m4/ax_enable_builddir: Change from string comparison to numeric
- comparison for wc output.
- * configure.ac: Enable FFI_MMAP_EXEC_WRIT for darwin11 aka Mac OS
- X 10.7.
- * configure: Rebuilt.
-
-2011-11-12 Anthony Green <green@moxielogic.com>
-
- * Makefile.am (AM_CCASFLAGS): Add -g option to build assembly
- files with debug info.
- * Makefile.in: Rebuilt.
-
-2011-11-12 Jasper Lievisse Adriaanse <jasper@openbsd.org>
-
- * README: Update list of supported OpenBSD systems.
-
-2011-11-12 Anthony Green <green@moxielogic.com>
-
- * libtool-version: Update.
- * Makefile.am (nodist_libffi_la_SOURCES): Add src/debug.c if
- FFI_DEBUG.
- (libffi_la_SOURCES): Remove src/debug.c
- (EXTRA_DIST): Add src/debug.c
- * Makefile.in: Rebuilt.
- * README: Update for 3.0.11.
-
-2011-11-10 Richard Henderson <rth@redhat.com>
-
- * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
- * configure, aclocal.m4: Rebuild.
-
-2011-09-04 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/49594
- * src/powerpc/darwin_closure.S (stubs): Make the stub binding
- helper reference track the architecture pointer size.
-
-2011-08-25 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
- instructions.
- * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
-
-2011-07-11 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46660
- * testsuite/libffi.call/cls_double_va.c: xfail dg-output on
- mips-sgi-irix6*.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
- PRId8 instead of %hhu, %hhd.
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
- PRIu8): Define.
- [__sgi__] (PRId8, PRIu8): Define.
-
-2011-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
- Define.
- Use them to handle ELF vs. ECOFF differences.
- [__osf__] (_GLOBAL__F_ffi_call_osf): Define.
-
-2011-03-30 Timothy Wall <twall@users.sf.net>
-
- * src/powerpc/darwin.S: Fix unknown FDE encoding.
- * src/powerpc/darwin_closure.S: ditto.
-
-2011-02-25 Anthony Green <green@moxielogic.com>
-
- * src/powerpc/ffi.c (ffi_prep_closure_loc): Allow for more
- 32-bit ABIs.
-
-2011-02-15 Anthony Green <green@moxielogic.com>
-
- * m4/ax_cc_maxopt.m4: Don't -malign-double or use -ffast-math.
- * configure: Rebuilt.
-
-2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2011-02-13 Anthony Green <green@moxielogic.com>
-
- * include/ffi_common.h (UNLIKELY, LIKELY): Define.
- * src/x86/ffi64.c (UNLIKELY, LIKELY): Remove definition.
- * src/prep_cif.c (UNLIKELY, LIKELY): Remove definition.
-
- * src/prep_cif.c (initialize_aggregate): Convert assertion into
- FFI_BAD_TYPEDEF return. Initialize arg size and alignment to 0.
-
- * src/pa/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
- just return FFI_BAD_ABI when things are wrong.
- * src/arm/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/powerpc/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/mips/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/ia64/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/avr32/ffi.c (ffi_prep_closure_loc): Ditto.
-
-2011-02-11 Anthony Green <green@moxielogic.com>
-
- * src/sparc/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
- just return FFI_BAD_ABI when things are wrong.
-
-2011-02-09 Stuart Shelton <srcshelton@gmail.com>
-
- http://bugs.gentoo.org/show_bug.cgi?id=286911
- * src/mips/ffitarget.h: Clean up error messages.
- * src/java_raw_api.c (ffi_java_translate_args): Cast raw arg to
- ffi_raw*.
- * include/ffi.h.in: Add pragma for SGI compiler.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * configure.ac: Add powerpc64-*-darwin* support.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * README: Mention Interix.
-
-2011-02-09 Jonathan Callen <abcd@gentoo.org>
-
- * configure.ac: Add Interix to win32/cygwin/mingw case.
- * configure: Ditto.
- * src/closures.c: Treat Interix like Cygwin, instead of as a
- generic win32.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * testsuite/libffi.call/err_bad_typedef.c: Remove xfail.
- * testsuite/libffi.call/err_bad_abi.c: Remove xfail.
- * src/x86/ffi64.c (UNLIKELY, LIKELY): Define.
- (ffi_prep_closure_loc): Check for bad ABI.
- * src/prep_cif.c (UNLIKELY, LIKELY): Define.
- (initialize_aggregate): Check for bad types.
-
-2011-02-09 Landon Fuller <landonf@plausible.coop>
-
- * Makefile.am (EXTRA_DIST): Add build-ios.sh, src/arm/gentramp.sh,
- src/arm/trampoline.S.
- (nodist_libffi_la_SOURCES): Add src/arc/trampoline.S.
- * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Define.
- * src/arm/ffi.c (ffi_trampoline_table)
- (ffi_closure_trampoline_table_page, ffi_trampoline_table_entry)
- (FFI_TRAMPOLINE_CODELOC_CONFIG, FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET)
- (FFI_TRAMPOLINE_COUNT, ffi_trampoline_lock, ffi_trampoline_tables)
- (ffi_trampoline_table_alloc, ffi_closure_alloc, ffi_closure_free):
- Define for FFI_EXEC_TRAMPOLINE_TABLE case (iOS).
- (ffi_prep_closure_loc): Handl FFI_EXEC_TRAMPOLINE_TABLE case
- separately.
- * src/arm/sysv.S: Handle Apple iOS host.
- * src/closures.c: Handle FFI_EXEC_TRAMPOLINE_TABLE case.
- * build-ios.sh: New file.
- * fficonfig.h.in, configure, Makefile.in: Rebuilt.
- * README: Mention ARM iOS.
-
-2011-02-08 Oren Held <orenhe@il.ibm.com>
-
- * src/dlmalloc.c (_STRUCT_MALLINFO): Define in order to avoid
- redefinition of mallinfo on HP-UX.
-
-2011-02-08 Ginn Chen <ginn.chen@oracle.com>
-
- * src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
- aggregate return ABI. Flush cache.
- (ffi_prep_closure_loc): Flush cache.
-
-2011-02-11 Anthony Green <green@moxielogic.com>
-
- From Tom Honermann <tom.honermann@oracle.com>:
- * src/powerpc/aix.S (ffi_call_AIX): Support for xlc toolchain on
- AIX. Declare .ffi_prep_args. Insert nops after branch
- instructions so that the AIX linker can insert TOC reload
- instructions.
- * src/powerpc/aix_closure.S: Declare .ffi_closure_helper_DARWIN.
-
-2011-02-08 Ed <ed@kdtc.net>
-
- * src/powerpc/asm.h: Fix grammar nit in comment.
-
-2011-02-08 Uli Link <ul.mcamafia@linkitup.de>
-
- * include/ffi.h.in (FFI_64_BIT_MAX): Define and use.
-
-2011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46661
- * testsuite/libffi.call/cls_pointer.c (main): Cast void * to
- uintptr_t first.
- * testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
-
-2011-02-08 Rafael Avila de Espindola <respindola@mozilla.com>
-
- * configure.ac: Fix x86 test for pc related relocs.
- * configure: Rebuilt.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
- Handle case when CPU variant does not have long double support.
- * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
- and cores with soft floating point.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * configure.ac: Add mips*-*-rtems* support.
- * configure: Regenerate.
- * src/mips/ffitarget.h: Ensure needed constants are available
- for targets which do not have sgidefs.h.
-
-2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR target/40125
- * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
- * configure: Regenerate.
-
-2010-12-18 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/29152
- PR libffi/42378
- * src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
- (FFI_TRAMPOLINE_SIZE): Update for Darwin64.
- * src/powerpc/darwin.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
- backslashes.
- (libffi_cv_as_string_pseudo_op): Likewise.
- * configure: Regenerate.
-
-2010-12-03 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
- (ffi_closure_VFP): Same.
- (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
- directive.
-
-2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
- (PRIuPTR): Define.
-
-2010-11-29 Richard Henderson <rth@redhat.com>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
- (.eh_frame): Use FDE_ENCODING.
- (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
-
-2010-11-22 Jacek Caban <jacek@codeweavers.com>
-
- * configure.ac: Check for symbol underscores on mingw-w64.
- * configure: Rebuilt.
- * src/x86/win64.S: Correctly access extern symbols in respect to
- underscores.
-
-2010-11-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp: Rename ...
- * testsuite/lib/libffi.exp: ... to this.
- * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
- * libffi/testsuite/libffi.special/special.exp: Likewise.
-
-2010-10-28 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
- code, new parameter, and return value. Update comments.
- (ffi_prep_cif_machdep): Add case for VFP struct return values. Add
- call to layout_vfp_args().
- (ffi_call_SYSV): Update declaration.
- (ffi_call_VFP): New declaration.
- (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
- when ABI is FFI_VFP.
- (ffi_closure_VFP): New declaration.
- (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
- ffi_prep_incoming_args_SYSV().
- (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
- case handling.
- (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
- construction under VFP hard-float.
- (rec_vfp_type_p): New function.
- (vfp_type_p): Same.
- (place_vfp_arg): Same.
- (layout_vfp_args): Same.
- * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
- based on __ARM_PCS_VFP.
- (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
- fields.
- (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
- (FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
- * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
- direct call. Move function pointer load upwards.
- (ffi_call_VFP): New function.
- (ffi_closure_VFP): Same.
-
- * testsuite/lib/libffi-dg.exp (check-flags): New function.
- (dg-skip-if): New function.
- * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
- and compiler options include -mfloat-abi=hard.
- * testsuite/libffi.call/cls_longdouble_va.c: Same.
-
-2010-10-01 Jakub Jelinek <jakub@redhat.com>
-
- PR libffi/45677
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
- a multiple of 8.
- * testsuite/libffi.call/many2.c: New test.
-
-2010-08-20 Mark Wielaard <mjw@redhat.com>
-
- * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
- returns NULL.
-
-2010-08-09 Andreas Tobler <andreast@fgznet.ch>
-
- * configure.ac: Add target powerpc64-*-freebsd*.
- * configure: Regenerate.
- * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
- -mlong-double-128 only to linux targets.
- * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
- * testsuite/libffi.call/cls_longdouble.c: Likewise.
- * testsuite/libffi.call/huge_struct.c: Likewise.
-
-2010-08-05 Dan Witte <dwitte@mozilla.com>
-
- * Makefile.am: Pass FFI_DEBUG define to msvcc.sh for linking to the
- debug CRT when --enable-debug is given.
- * configure.ac: Define it.
- * msvcc.sh: Translate -g and -DFFI_DEBUG appropriately.
-
-2010-08-04 Dan Witte <dwitte@mozilla.com>
-
- * src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64
- platforms.
- * src/x86/ffi.c: Remove redundant ifdef checks.
- * src/prep_cif.c: Push stack space computation into src/x86/ffi.c
- for X86_ANY so return value space doesn't get added twice.
-
-2010-08-03 Neil Rashbrooke <neil@parkwaycc.co.uk>
-
- * msvcc.sh: Don't pass -safeseh to ml64 because behavior is buggy.
-
-2010-07-22 Dan Witte <dwitte@mozilla.com>
-
- * src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
- * src/prep_cif.c: Fix ABI assertion.
- * src/cris/ffi.c: Ditto.
-
-2010-07-10 Evan Phoenix <evan@fallingsnow.net>
-
- * src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
-
-2010-07-07 Dan Horák <dan@danny.cz>
-
- * include/ffi.h.in: Protect #define with #ifndef.
- * src/powerpc/ffitarget.h: Ditto.
- * src/s390/ffitarget.h: Ditto.
- * src/sparc/ffitarget.h: Ditto.
-
-2010-07-07 Neil Roberts <neil@linux.intel.com>
-
- * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
- 16-bytes.
-
-2010-07-02 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
- * Makefile.in: Regenerated.
-
-2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
- output, too.
- (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
- (libffi_cv_as_string_pseudo_op): Check for .string.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
-
-2010-05-11 Dan Witte <dwitte@mozilla.com>
-
- * doc/libffi.tex: Document previous change.
-
-2010-05-11 Makoto Kato <m_kato@ga2.so-net.ne.jp>
-
- * src/x86/ffi.c (ffi_call): Don't copy structs passed by value.
-
-2010-05-05 Michael Kohler <michaelkohler@live.com>
-
- * src/dlmalloc.c (dlfree): Fix spelling.
- * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
- * configure.ac: Ditto.
- * configure: Rebuilt.
-
-2010-04-13 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Build with -W3 instead of -Wall.
- * src/powerpc/ffi_darwin.c: Remove build warnings.
- * src/x86/ffi.c: Ditto.
- * src/x86/ffitarget.h: Ditto.
-
-2010-04-12 Dan Witte <dwitte@mozilla.com>
- Walter Meinl <wuno@lsvw.de>
-
- * configure.ac: Add OS/2 support.
- * configure: Rebuilt.
- * src/closures.c: Ditto.
- * src/dlmalloc.c: Ditto.
- * src/x86/win32.S: Ditto.
-
-2010-04-07 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
-
-2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2010-03-30 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Disable build warnings.
- * README (tested): Clarify windows build procedure.
-
-2010-03-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * libffi/src/x86/unix64.S (.eh_frame)
- [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
-
-2010-03-14 Matthias Klose <doko@ubuntu.com>
-
- * src/x86/ffi64.c: Fix typo in comment.
- * src/x86/ffi.c: Use /* ... */ comment style.
-
-2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/libffi.texi (The Closure API): Fix typo.
- * doc/libffi.info: Remove.
-
-2010-02-15 Matthias Klose <doko@ubuntu.com>
-
- * src/arm/sysv.S (__ARM_ARCH__): Define for processor
- __ARM_ARCH_7EM__.
-
-2010-01-15 Anthony Green <green@redhat.com>
-
- * README: Add notes on building with Microsoft Visual C++.
-
-2010-01-15 Daniel Witte <dwitte@mozilla.com>
-
- * msvcc.sh: New file.
-
- * src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
- * src/x86/ffi.c: Tweak function declaration and remove excess
- parens.
- * include/ffi.h.in: Add __declspec(align(8)) to typedef struct
- ffi_closure.
-
- * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
- function ffi_call_win32 on X86_WIN32.
- * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
- (ffi_call_STDCALL): Remove.
-
- * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
- to ffi_prep_cif_machdep for x86.
- * src/x86/ffi.c (ffi_prep_cif_machdep): To here.
-
-2010-01-15 Oliver Kiddle <okiddle@yahoo.co.uk>
-
- * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
- Sun Studio compiler compatibility.
-
-2010-01-12 Conrad Irwin <conrad.irwin@gmail.com>
-
- * doc/libffi.texi: Add closure example.
-
-2010-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40701
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
- PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
- * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
- alpha*-dec-osf*.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/return_ll1.c: Likewise.
- * testsuite/libffi.call/stret_medium2.c: Likewise.
- * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
- MAP_FAILED to char *.
-
-2010-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
-
-2009-12-31 Anthony Green <green@redhat.com>
-
- * README: Update for libffi 3.0.9.
-
-2009-12-27 Matthias Klose <doko@ubuntu.com>
-
- * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
- appropriate.
- * configure: Rebuilt.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
- avr32*-*-*.
- * testsuite/libffi.call/cls_double_va.c: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
- and inttypes.h.
- * testsuite/libffi.special/unwindtest.cc: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-openbsd*.
- * configure: Rebuilt.
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
- openbsd programs with -lpthread.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
- mips*-*-* and arm*-*-*.
- * testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c,
- testsuite/libffi.call/stret_medium2.c,
- testsuite/libffi.call/stret_medium.c,
- testsuite/libffi.call/stret_large.c,
- testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
-
-2009-12-31 Kay Tietz <ktietz70@googlemail.com>
-
- * testsuite/libffi.call/ffitest.h,
- testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
- definitions.
-
-2009-12-31 Carlo Bramini <carlo.bramix@libero.it>
-
- * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
- * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
-
-2009-12-31 Anthony Green <green@redhat.com>
- Blake Chaffin.
-
- * testsuite/libffi.call/huge_struct.c: New test case from Blake
- Chaffin @ Apple.
-
-2009-12-28 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
- local variables.
- (aix_adjust_aggregate_sizes): New function.
- (ffi_prep_cif_machdep): Call it.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
- * configure: Regenerate.
- * fficonfig.h.in: Likewise.
- * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
- Solaris/x86.
-
-2009-12-26 Andreas Schwab <schwab@linux-m68k.org>
-
- * 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.
-
-2009-12-25 Matthias Klose <doko@ubuntu.com>
-
- * man/ffi_call.3: Fix #include in examples.
- * doc/libffi.texi: Add dircategory.
-
-2009-12-25 Frank Everdij <f.p.x.everdij@tudelft.nl>
-
- * include/ffi.h.in: Placed '__GNUC__' ifdef around
- '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
- IRIX MIPSPro c99.
- * include/ffi_common.h: Added '__sgi' define to non
- '__attribute__((__mode__()))' integer typedefs.
- * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
- ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
- (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
- FFI_LONGDOUBLE support and alignment(N32 only).
- * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
- fixed non '__attribute__((__mode__()))' integer typedefs.
- * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
- since they are Linux/GNU Assembler specific.
-
-2009-12-25 Bradley Smith <brad@brad-smith.co.uk>
-
- * configure.ac, Makefile.am, src/avr32/ffi.c,
- src/avr32/ffitarget.h,
- src/avr32/sysv.S: Add AVR32 port.
- * configure, Makefile.in: Rebuilt.
-
-2009-12-21 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
- * configure: Regenerate.
-
-2009-12-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
- type on HP-UX.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
- double' arguments.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40700
- * src/closures.c [X86_64 && __sun__ && __svr4__]
- (FFI_MMAP_EXEC_WRIT): Define.
-
-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.
-
-2009-12-07 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
- typo.
-
-2009-12-05 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
- code.
- * src/powerpc/aix_closure.S: Same.
-
-2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
- linux64_closure.S.
-
-2009-12-04 Uros Bizjak <ubizjak@gmail.com>
-
- 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.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
- pfr for long double split between fpr13 and stack.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
- fparg_count twice for long double.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- PR libffi/42243
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03 Uros Bizjak <ubizjak@gmail.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
- Remove xfails for x86 linux targets.
-
-2009-12-02 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
- case.
-
-2009-12-01 David Edelsohn <edelsohn@gnu.org>
-
- * 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.
-
-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.
-
-2009-11-02 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/41908
- * testsuite/libffi.call/testclosure.c: New test.
-
-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.
-
-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.
-
-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.
-
-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.
-
-2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.am (install-html, install-pdf): Remove.
- * Makefile.in: Regenerate.
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2011-08-22 Jasper Lievisse Adriaanse <jasper@openbsd.org>
-
- * configure.ac: Add OpenBSD/hppa and OpenBSD/powerpc support.
- * configure: Rebuilt.
-
-2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24 Dave Korn <dave.korn.cygwin@gmail.com>
-
- 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.
-
-2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
-
- 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.
-
-2009-07-01 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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 "".)
-
-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.
-
-2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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.
-
-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.
-
-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.
-
-2009-06-16 Andrew Haley <aph@redhat.com>
-
- * configure.ac (TARGETDIR): Add missing blank lines.
- * configure: Regenerate.
-
-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.
-
-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.
-
-2009-06-12 Andrew Haley <aph@redhat.com>
-
- * Makefile.am: Remove info_TEXINFOS.
-
-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-11 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * 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.
-
-2009-06-09 Andrew Haley <aph@redhat.com>
-
- * src/x86/freebsd.S: Add missing file.
-
-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).
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * README: Import from libffi 3.0.8.
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Add xfails.
- * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
- * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
- * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
- * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
- * testsuite/libffi.call/stret_medium.c: Likewise.
- * testsuite/libffi.call/stret_large2.c: Likewise.
- * testsuite/libffi.call/stret_large.c: Likewise.
-
-2008-12-26 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_align_longdouble.c,
- testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
- failures on x86_64 cygwin/mingw.
-
-2008-12-22 Timothy Wall <twall@users.sf.net>
-
- * 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_loc_fn0.c,
- testsuite/libffi.call/closure_stdcall.c,
- testsuite/libffi.call/cls_align_pointer.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
- pointer to integer (intptr_t).
- * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_dbls_struct.c,
- testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c,
- testsuite/libffi.call/err_bad_abi.c: Clean up failures from
- compiler warnings.
-
-2008-03-04 Anthony Green <green@redhat.com>
- Blake Chaffin
- hos@tamanegi.org
-
- * testsuite/libffi.call/cls_align_longdouble_split2.c
- testsuite/libffi.call/cls_align_longdouble_split.c
- testsuite/libffi.call/cls_dbls_struct.c
- testsuite/libffi.call/cls_double_va.c
- testsuite/libffi.call/cls_longdouble.c
- testsuite/libffi.call/cls_longdouble_va.c
- testsuite/libffi.call/cls_pointer.c
- testsuite/libffi.call/cls_pointer_stack.c
- testsuite/libffi.call/err_bad_abi.c
- testsuite/libffi.call/err_bad_typedef.c
- testsuite/libffi.call/stret_large2.c
- testsuite/libffi.call/stret_large.c
- testsuite/libffi.call/stret_medium2.c
- testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
- libffi.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
- stdcall changes.
-
-2008-02-26 Anthony Green <green@redhat.com>
- Thomas Heller <theller@ctypes.org>
-
- * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
- comment.
-
-2008-02-03 Timothy Wall <twall@users.sf.net>
-
- * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
- offset based on code pointer, not data pointer.
-
-2008-01-31 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
- closures.
- * src/x86/ffitarget.h: Increase size of trampoline for stdcall
- closures.
- * src/x86/win32.S: Add assembly for stdcall closure.
- * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Change void (*)() to void (*)(void).
- * src/x86/ffi.c: Likewise.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ppc_closure.S: Insert licence header.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/m68k/sysv.S: Likewise.
-
- * src/sh64/ffi.c: Change void (*)() to void (*)(void).
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/m32r/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi64.c: Likewise.
- * src/alpha/ffi.c: Likewise.
- * src/alpha/osf.S: Likewise.
- * src/frv/ffi.c: Likewise.
- * src/s390/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/pa/hpux32.S: Likewise.
- * src/ia64/unix.S: Likewise.
- * src/ia64/ffi.c: Likewise.
- * src/sparc/ffi.c: Likewise.
- * src/mips/ffi.c: Likewise.
- * src/sh/ffi.c: Likewise.
-
-2008-02-15 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
- Define (conditionally), and use it to include cachectl.h.
- (ffi_prep_closure_loc): Fix cache flushing.
- * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- include/ffi.h.in,
- src/arm/ffitarget.h,
- src/arm/ffi.c,
- src/arm/sysv.S,
- src/powerpc/ffitarget.h,
- src/closures.c,
- src/sh64/ffitarget.h,
- src/sh64/ffi.c,
- src/sh64/sysv.S,
- src/types.c,
- src/x86/ffi64.c,
- src/x86/ffitarget.h,
- src/x86/win32.S,
- src/x86/darwin.S,
- src/x86/ffi.c,
- src/x86/sysv.S,
- src/x86/unix64.S,
- src/alpha/ffitarget.h,
- src/alpha/ffi.c,
- src/alpha/osf.S,
- src/m68k/ffitarget.h,
- src/frv/ffitarget.h,
- src/frv/ffi.c,
- src/s390/ffitarget.h,
- src/s390/sysv.S,
- src/cris/ffitarget.h,
- src/pa/linux.S,
- src/pa/ffitarget.h,
- src/pa/ffi.c,
- src/raw_api.c,
- src/ia64/ffitarget.h,
- src/ia64/unix.S,
- src/ia64/ffi.c,
- src/ia64/ia64_flags.h,
- src/java_raw_api.c,
- src/debug.c,
- src/sparc/v9.S,
- src/sparc/ffitarget.h,
- src/sparc/ffi.c,
- src/sparc/v8.S,
- src/mips/ffitarget.h,
- src/mips/n32.S,
- src/mips/o32.S,
- src/mips/ffi.c,
- src/prep_cif.c,
- src/sh/ffitarget.h,
- src/sh/ffi.c,
- src/sh/sysv.S: Update license text.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * src/x86/win32.S (_ffi_closure_STDCALL): New function.
- (.eh_frame): Add FDE for it.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * configure.ac: Also check if assembler supports pc-relative
- relocs on X86_WIN32 targets.
- * configure: Regenerate.
- * src/x86/win32.S (ffi_prep_args): Declare extern, not global.
- (_ffi_call_SYSV): Add missing function type symbol .def and
- add EH markup labels.
- (_ffi_call_STDCALL): Likewise.
- (_ffi_closure_SYSV): Likewise.
- (_ffi_closure_raw_SYSV): Likewise.
- (.eh_frame): Add hand-crafted EH data.
-
-2009-04-09 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
- version 3 of the GNU General Public License and to point readers
- at the COPYING3 file and the FSF's license web page.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-12-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libffi/26048
- * configure.ac (HAVE_AS_X86_PCREL): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
- RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
- RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
- * src/x86/unix64.S (.Lstore_table): Move to .text section.
- (.Lload_table): Likewise.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
- signed/unsigned int8/16 return values.
- * src/sparc/v8.S (ffi_call_v8): Likewise.
- (ffi_closure_v8): Likewise.
-
-2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
- Steve Ellcey <sje@cup.hp.com>
-
- * configure: Regenerate for new libtool.
- * Makefile.in: Ditto.
- * include/Makefile.in: Ditto.
- * aclocal.m4: Ditto.
-
-2008-08-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
- FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
- Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
- Adjust copyright notice.
- * src/powerpc/ffi.c: Add two new flags to indicate if we have one
- register or two register to use for FFI_SYSV structs.
- (ffi_prep_cif_machdep): Pass the right register flag introduced above.
- (ffi_closure_helper_SYSV): Fix the return type for
- FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
- Adjust copyright notice.
-
-2008-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
- int.
-
-2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2008-06-07 Joseph Myers <joseph@codesourcery.com>
-
- * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
- powerpc-*-beos*): Remove.
- * configure: Regenerate.
-
-2008-05-09 Julian Brown <julian@codesourcery.com>
-
- * Makefile.am (LTLDFLAGS): New.
- (libffi_la_LDFLAGS): Use above.
- * Makefile.in: Regenerate.
-
-2008-04-18 Paolo Bonzini <bonzini@gnu.org>
-
- PR bootstrap/35457
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2008-03-26 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add .note.GNU-stack on Linux.
- * src/sh64/sysv.S: Likewise.
-
-2008-03-26 Daniel Jacobowitz <dan@debian.org>
-
- * src/arm/sysv.S: Fix ARM comment marker.
-
-2008-03-26 Jakub Jelinek <jakub@redhat.com>
-
- * src/alpha/osf.S: Add .note.GNU-stack on Linux.
- * src/s390/sysv.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
- * src/x86/unix64.S: Likewise.
- * src/x86/sysv.S: Likewise.
- * src/sparc/v8.S: Likewise.
- * src/sparc/v9.S: Likewise.
- * src/m68k/sysv.S: Likewise.
- * src/arm/sysv.S: Likewise.
-
-2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * aclocal.m4: Regenerate.
- * configure: Likewise.
- * Makefile.in: Likewise.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2008-02-12 Bjoern Koenig <bkoenig@alpha-tierchen.de>
- Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-freebsd* target.
- * configure: Regenerate.
-
-2008-01-30 H.J. Lu <hongjiu.lu@intel.com>
-
- PR libffi/34612
- * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
- returning struct.
-
- * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
- tests.
-
-2008-01-24 David Edelsohn <edelsohn@gnu.org>
-
- * configure: Regenerate.
-
-2008-01-06 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
-
-2008-01-05 Andreas Tobler <a.tobler@schweiz.org>
-
- PR testsuite/32843
- * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
- signed/unsigned int8/16 for X86_DARWIN.
- Updated copyright info.
- Handle one and two byte structs with special cif->flags.
- * src/x86/ffitarget.h: Add special types for one and two byte structs.
- Updated copyright info.
- * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
- sysv.S
- Remove code to pop args from the stack after call.
- Special-case signed/unsigned for int8/16, one and two byte structs.
- (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
- FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
- FFI_TYPE_SINT32.
- Updated copyright info.
-
-2007-12-08 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_call_N32): Replace dadd with ADDU, dsub with
- SUBU, add with ADDU and use smaller code sequences.
-
-2007-12-07 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
- type.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
- defined.
- (ffi_java_raw): New typedef.
- (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
- ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
- ffi_java_raw.
- (ffi_java_raw_closure) : Same.
- (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
- parameter types.
- * src/java_raw_api.c (ffi_java_raw_size): Replace FFI_SIZEOF_ARG with
- FFI_SIZEOF_JAVA_RAW.
- (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
- Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
- sizeof(ffi_java_raw) for alignment calculations.
- (ffi_java_ptrarray_to_raw): Same.
- (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
- if FFI_SIZEOF_JAVA_RAW == 4.
- (ffi_java_raw_to_rvalue): Same.
- (ffi_java_raw_call): Change type of raw to ffi_java_raw.
- (ffi_java_translate_args): Same.
- (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
- parameter types.
- * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
- pointer values.
-
-2007-12-01 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/31937
- * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
- Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
- * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
- set the NUM_FPR_ARG_REGISTERS according to.
- Add support for potential soft-float support under hard-float
- architecture.
- (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
- FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
- to the FFI_LINUX_SOFT_FLOAT ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Make sure not to store float/double
- on archs where __NO_FPRS__ is true.
- Add FFI_TYPE_UINT128 support.
- * src/powerpc/sysv.S: Add support for soft-float long-double-128.
- Adjust copyright notice.
-
-2007-11-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
- * include/ffi_common.h: ... here.
- Update copyright.
-
-2007-11-17 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
- * testsuite/libffi.call/return_ldl.c: New test.
-
-2007-09-04 <aph@redhat.com>
-
- * src/arm/sysv.S (UNWIND): New.
- (Whole file): Conditionally compile unwinder directives.
- * src/arm/sysv.S: Add unwinder directives.
-
- * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
- Only treat r0 as a struct address if we're actually returning a
- struct by address.
- Only copy the bytes that are actually within a struct.
- (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
- is returned in r0, not passed by address.
- (ffi_call): Allocate a word-sized temporary for the case where
- a composite is returned in r0.
- (ffi_prep_incoming_args_SYSV): Align as necessary.
-
-2007-08-05 Steven Newbury <s_j_newbury@yahoo.co.uk>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
- directly using the sys_cacheflush syscall.
-
-2007-07-27 Andrew Haley <aph@redhat.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
-
-2007-09-03 Maciej W. Rozycki <macro@linux-mips.org>
-
- * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure: Likewise.
-
-2007-08-24 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/return_sl.c: New test.
-
-2007-08-10 David Daney <ddaney@avtrex.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/nested_struct5.c,
- testsuite/libffi.call/cls_double.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/nested_struct.c,
- testsuite/libffi.call/cls_2byte.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_sint16.c,
- testsuite/libffi.call/cls_align_uint32.c,
- testsuite/libffi.call/cls_20byte.c,
- testsuite/libffi.call/cls_float.c,
- testsuite/libffi.call/nested_struct2.c,
- testsuite/libffi.call/cls_5_1_byte.c,
- testsuite/libffi.call/nested_struct4.c,
- testsuite/libffi.call/cls_24byte.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: Remove xfail for mips64*-*-*.
-
-2007-08-10 David Daney <ddaney@avtrex.com>
-
- 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.
-
-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*.
- * 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.
-
-2006-12-13 Andreas Tobler <a.tobler@schweiz.org>
-
- * aclocal.m4: Regenerate with aclocal -I .. as written in the
- Makefile.am.
-
-2006-10-31 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
- (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
- Darwin.
- * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
- * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10 Paolo Bonzini <bonzini@gnu.org>
- Sandro Tolaini <tolaini@libero.it>
-
- * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
- conditional.
- * configure: Regenerated.
- * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
- (EXTRA_DIST): Add src/x86/darwin.S.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
- X86_WIN32, and additionally align stack to 16 bytes.
- * src/x86/darwin.S: New, based on sysv.S.
- * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12 David Daney <ddaney@avtrex.com>
-
- PR libffi/23935
- * include/Makefile.am: Install both ffi.h and ffitarget.h in
- $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
- * aclocal.m4: Regenerated for automake 1.9.6.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
-2006-08-17 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h: Remove lint directives.
- * include/ffi.h.in: Likewise.
-
-2006-07-25 Torsten Schoenfeld <kaffeetisch@gmx.de>
-
- * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
- for 32-bit architectures.
- * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
- xfail remains for mips64.
-
-2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
-
- * Makefile.am: Add install-html target. Add install-html to .PHONY
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
- stack slot.
-
-2006-04-22 Andreas Tobler <a.tobler@schweiz.ch>
-
- * README: Remove notice about 'Crazy Comments'.
- * src/debug.c: Remove lint directives. Cleanup white spaces.
- * src/java_raw_api.c: Likewise.
- * src/prep_cif.c: Likewise.
- * src/raw_api.c: Likewise.
- * src/ffitest.c: Delete. No longer needed, all test cases migrated
- to the testsuite.
- * src/arm/ffi.c: Remove lint directives.
- * src/m32r/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/sh/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/pa/hpux32.S: Correct unwind offset calculation for
- ffi_closure_pa32.
- * src/pa/linux.S: Likewise.
-
-2006-04-12 James E Wilson <wilson@specifix.com>
-
- PR libgcj/26483
- * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
- (hfa_type_load): Call stf_spill.
- (hfa_type_store): Call ldf_fill.
- (ffi_call): Adjust calls to above routines. Add local temps for
- macro result.
-
-2006-04-10 Matthias Klose <doko@debian.org>
-
- * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
- directory names containing underscores.
-
-2006-04-07 James E Wilson <wilson@specifix.com>
-
- * testsuite/libffi.call/float4.c: New testcase.
-
-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.
-
-2006-03-24 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Default
- for 32-bit using IBM extended double format. Fix FFI_LAST_ABI.
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
- FFI_TYPE_LONGDOUBLE.
- (ffi_prep_args64): Assert using IBM extended double.
- (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
- Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
- (ffi_call): Handle FFI_LINUX.
- (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
- gpr3 return pointer as for struct return. Handle FFI_LINUX
- FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf"
- unnecessarily.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
- for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table.
- Don't use r6 as pointer to results, instead use sp offset. Don't
- make a special call to load lr with case table address, instead
- use offset from previous call.
- * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
- return.
-
-2006-03-15 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
- passed with FP registers correctly.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S: Likewise.
-
-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.
-
-2006-02-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
- -O2, -O3, -Os and the warning flags -W -Wall.
- * testsuite/libffi.special/special.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
- unused parameter unused for gcc or else do nothing.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
- * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
- * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
- * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
- * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
- * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
- * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
- * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
- * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
- void* to avoid compiler warning.
- (main): Likewise.
- (cls_struct_align_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
- * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
- * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
- userdata unused.
- (cls_ret_schar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
- userdata unused.
- (cls_ret_sint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
- userdata unused.
- (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn): Mark cif and
- userdata unused.
- (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
- userdata unused.
- (cls_ret_uint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
- userdata unused.
- (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
- * testsuite/libffi.call/float1.c (main): Remove unused variable i.
- Cleanup white spaces.
- * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
- * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
- cif and userdata unused.
- * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
- Likewise.
- * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
- formatters to silence gcc.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct4.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct6.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
- * testsuite/libffi.call/problem1.c (stub): Likewise.
- * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
- gcc.
- * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
- in the last commit for this test case in the test case itself.
- * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
- unused.
- * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
- * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
- * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
- * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
- * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
- * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Fix register numbers in the FDE for
- ffi_closure_SYSV.
-
-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.
-
-2006-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
- and cast integer to void * if needed. Update the pointer to
- the FP register saved area correctly.
-
-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.
-
-2006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/return_dbl.c: New test case.
- * testsuite/libffi.call/return_dbl1.c: Likewise.
- * testsuite/libffi.call/return_dbl2.c: Likewise.
- * testsuite/libffi.call/return_fl.c: Likewise.
- * testsuite/libffi.call/return_fl1.c: Likewise.
- * testsuite/libffi.call/return_fl2.c: Likewise.
- * testsuite/libffi.call/return_fl3.c: Likewise.
- * testsuite/libffi.call/closure_fn6.c: Likewise.
-
- * 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.
-
-2006-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.ac: Enable libffi for sparc64-*-freebsd*.
- * configure: Rebuilt.
-
-2006-01-18 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
- instead do the shifting inline.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
- shift count unconditionally. Simplify load sequences for 1, 2, 3, 4
- and 8 byte structs, for the remaining struct sizes don't call
- __lshrdi3, instead do the shifting inline.
-
-2005-12-07 Thiemo Seufer <ths@networkno.de>
-
- * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
- missing parentheses.
- * src/mips/o32.S (ffi_call_O32): Code formatting. Define
- and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
- (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
- A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
- V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
- FA_0_0_OFF2.
- * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
- endianness bugs.
- (ffi_prep_closure): Improve trampoline instruction scheduling.
- (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c: Formatting.
- (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
- (ffi_prep_args64): Likewise.
-
-2005-09-30 Geoffrey Keating <geoffk@apple.com>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
- darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26 Tom Tromey <tromey@redhat.com>
-
- * 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.
-
-2005-08-25 Alan Modra <amodra@bigpond.net.au>
-
- PR target/23404
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
- homed fp args.
- (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11 Jakub Jelinek <jakub@redhat.com>
-
- * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
- (AH_BOTTOM): Add FFI_HIDDEN definition.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * src/powerpc/ffi.c (hidden): Remove.
- (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
- ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
- .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
- * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
- add FFI_HIDDEN to its prototype.
- (ffi_closure_SYSV_inner): New.
- * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
- * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10 Alfred M. Szmidt <ams@gnu.org>
-
- PR libffi/21819:
- * configure: Rebuilt.
- * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
- DW_CFA_offset_extended_sf rather than
- DW_CFA_GNU_negative_offset_extended.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
-
- * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
- on sh3.
- (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
- * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
- partially on register.
- (ffi_closure_helper_SYSV): Likewise.
- (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_call): Handle small structures correctly.
- Remove empty line.
- * src/sh64/ffi.c (simple_type): Remove.
- (return_type): Handle small structures correctly.
- (ffi_prep_args): Likewise.
- (ffi_call): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
- Emit position independent code if PIC and remove wrong datalabel
- prefixes from EH data.
-
-2005-07-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure.ac: Add POWERPC_FREEBSD rules.
- * configure: Regenerate.
- * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
- (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
- * src/powerpc/ffi.c: Add flags to handle small structure returns
- in ffi_call_SYSV.
- (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
- Aka FFI_SYSV.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Add return types for small structures.
- * src/powerpc/sysv.S: Add bits to handle small structures for
- final SYSV 4 ABI.
-
-2005-07-10 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_5_1_byte.c: New test file.
- * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05 Randolph Chung <tausq@debian.org>
-
- * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
- as FFI_TYPE_SMALL_STRUCT3. Break out handling for 5-7 byte
- structures. Kill compilation warnings.
- (ffi_closure_inner_LINUX): Print return values as hex in debug
- message. Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
- Properly handle 5-7 byte structure returns.
- * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
- (FFI_TYPE_SMALL_STRUCT2): Remove.
- (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
- (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
- * src/pa/linux.S: Mark source file as using PA1.1 assembly.
- (checksmst1, checksmst2): Remove.
- (checksmst3): Optimize handling of 3-byte struct returns.
- (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libgcj/21943
- * src/mips/n32.S: Enforce PIC code.
- * src/mips/o32.S: Likewise.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
- * configure: Regenerate.
-
-2005-06-01 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
- to call ffi_closure_helper_SYSV. Append @local instead.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
- Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
- * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
- * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
- include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-05-08 Richard Henderson <rth@redhat.com>
-
- PR libffi/21285
- * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04 Andreas Degert <ad@papyrus-gmbh.de>
- Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
- bit 11 of flags.
- (ffi_call): Mask return type field. Pass ssecount to ffi_call_unix64.
- (ffi_prep_closure): Set carry bit if sse-used flag set.
- * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
- Only load sse registers if ssecount non-zero.
- (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
- powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
- * configure: Regenerate.
-
-2005-04-20 Hans-Peter Nilsson <hp@axis.com>
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
- have Tcl8.3-compatible intermediate variable.
-
-2005-04-18 Simon Posnjak <simon.posnjak@siol.net>
- Hans-Peter Nilsson <hp@axis.com>
-
- * Makefile.am: Add CRIS support.
- * configure.ac: Likewise.
- * Makefile.in, configure, testsuite/Makefile.in,
- include/Makefile.in: Regenerate.
- * src/cris: New directory.
- * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
- * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
- \r?\n in output tests.
-
-2005-04-12 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-03-30 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30 Steve Ellcey <sje@cup.hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
- (ffi_sarg) Ditto.
- * src/ia64/unix.S (ffi_closure_unix): Extend gp
- to 64 bits in ILP32 mode.
- Load 64 bits even for short data.
-
-2005-03-23 Mike Stump <mrs@apple.com>
-
- * src/powerpc/darwin.S: Update for -m64 multilib.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21 Zack Weinberg <zack@codesourcery.com>
-
- * 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.
-
-2005-02-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
- odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR libffi/20104
- * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11 Janis Johnson <janis187@us.ibm.com>
-
- * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
- * testsuite/libffi.call/float.c: Ditto.
- * testsuite/libffi.call/float2.c: Ditto.
- * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * testsuite/libffi.special/special.exp (cxx_options): Add
- -shared-libgcc.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
- (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
- offset parameters with a type parameter; deduce size and structure
- alignment. Update all users.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
- (FFI_TYPE_LONGDOUBLE): Fix for ia64.
- * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
- into ffi_prep_closure.
- * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
- from scratch.
-
-2004-12-27 Richard Henderson <rth@redhat.com>
-
- * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25 Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
- (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
- (merge_classes): Check for it.
- (SSE_CLASS_P): New.
- (classify_argument): Pass byte_offset by value; perform all updates
- inside struct case.
- (examine_argument): Add classes argument; handle
- X86_64_COMPLEX_X87_CLASS.
- (ffi_prep_args): Merge into ...
- (ffi_call): ... here. Share stack frame with ffi_call_unix64.
- (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
- (ffi_fill_return_value): Remove.
- (ffi_prep_closure): Remove dead assert.
- (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
- Rewrite to use struct register_args instead of va_list. Create
- flags for handling structure returns.
- * src/x86/unix64.S: Remove dead strings.
- (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share
- stack frame with ffi_call. Handle structure returns properly.
- (float2sse, floatfloat2sse, double2sse): Remove.
- (sse2float, sse2double, sse2floatfloat): Remove.
- (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite
- to handle structure returns properly.
-
-2004-12-08 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
- PICFLAG.
- * Makefile.in: Regenerated.
-
-2004-12-02 Richard Sandiford <rsandifo@redhat.com>
-
- * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
- * configure, aclocal.m4, Makefile.in: Regenerate.
- * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-25 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool reversion.
-
-2004-11-24 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23 Richard Sandiford <rsandifo@redhat.com>
-
- * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
- of jal. Use an absolute encoding for the frame information.
-
-2004-11-23 Kelley Cook <kcook@gcc.gnu.org>
-
- * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS.
- * acinclude.m4: Delete logic for sincludes.
- * aclocal.m4, Makefile.in, configure: Regenerate.
- * include/Makefile: Likewise.
- * testsuite/Makefile: Likewise.
-
-2004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
- on a 8-byte boundary.
- * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
- long long values. Round stack allocation to a multiple of 8 bytes
- for ATPCS compatibility.
- * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
- names. Handle returning long long types. Add Thumb and interworking
- support. Improve soft-float code.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
- (libffi_exit): New function.
- (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR other/18138
- * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
- * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
- the function returning a structure pointed with R2.
- * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
- the structure return value if T bit set. Emit position
- independent code and EH data if PIC.
-
-2004-10-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * Makefile.am: Add m32r support.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * confiugre: Regenerate.
- * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
- (uint64, sint64, double, longdouble)
- * src/m32r: New directory.
- * src/m32r/ffi.c: New file.
- * src/m32r/sysv.S: Likewise.
- * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * testsuite/libffi.call/negint.c: New test case.
-
-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.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/many_win32.c: Remove whitespaces.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
- whitespaces.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Fix comments and identation.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
- (ffi_prep_args): Handle longdouble arguments.
- (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
- longdouble.
- (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
- * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
- values.
- * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
- * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/aix.S: Remove whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
- * src/powerpc/asm.h: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffitarget.h: Likewise.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
-
-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.in: Read configure.host.
- * 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 shouldn't 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.
-
-2004-08-24 David Daney <daney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
- to zero.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23 David Daney <daney@avtrex.com>
-
- PR libgcj/13141
- * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
- * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
- (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
- parameters and return types.
- (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
- (ffi_prep_closure): Ditto.
- (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
- alignment calculations.
- * src/mips/o32.S (ffi_closure_O32): Don't use floating point
- instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14 Casey Marshall <csm@gnu.org>
-
- * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
- contain `FFI_TYPE_UINT64' as return type for any 64-bit
- integer (O32 ABI only).
- (ffi_prep_closure): new function.
- (ffi_closure_mips_inner_O32): new function.
- * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
- `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
- * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
- 64 bit integers correctly.
- (ffi_closure_O32): new function.
- Added DWARF-2 unwind info for both functions.
-
-2004-08-10 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01 Robert Millan <robertmh@gnu.org>
-
- * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
- * configure: Regenerate.
-
-2004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
-
- * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
- and mmap() explicitly instead of relying on preset autoconf cache
- variables.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
- (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
- character on Darwin, use '\n\t' instead.
-
-2004-06-26 Matthias Klose <doko@debian.org>
-
- * libtool-version: Fix typo in revision/age.
-
-2004-06-17 Matthias Klose <doko@debian.org>
-
- * libtool-version: New.
- * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
- * Makefile.in: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * Makefile.am: Remove useless multilib rules.
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate with automake 1.8.5.
- * configure.ac: Remove useless multilib configury.
- * configure: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * .cvsignore: New file.
-
-2004-06-10 Jakub Jelinek <jakub@redhat.com>
-
- * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
- fp_done.
- (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
- changed from 8.
-
-2004-06-06 Sean McNeil <sean@mcneil.com>
-
- * configure.ac: Add x86_64-*-freebsd* support.
- * configure: Regenerate.
-
-2004-04-26 Joe Buck <jbuck@welsh-buck.org>
-
- Bug 15093
- * configure.ac: Test for existence of mmap and sys/mman.h before
- checking blacklist. Fix suggested by Jim Wilson.
- * configure: Regenerate.
-
-2004-04-26 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
- FDE location.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
- error. Reported by Thomas Heller <theller@python.net>.
- * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20 Matthias Klose <doko@debian.org>
-
- * src/pa/linux.S: Fix typo.
-
-2004-03-19 Matthias Klose <doko@debian.org>
-
- * Makefile.am: Update.
- * Makefile.in: Regenerate.
- * src/pa/ffi.h.in: Remove.
- * src/pa/ffitarget.h: New file.
-
-2004-02-10 Randolph Chung <tausq@debian.org>
-
- * Makefile.am: Add PA support.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * configure.ac: Add PA target.
- * configure: Regenerate.
- * src/pa/ffi.c: New file.
- * src/pa/ffi.h.in: Add PA support.
- * src/pa/linux.S: New file.
- * prep_cif.c: Add PA support.
-
-2004-03-16 Hosaka Yuji <hos@tamanegi.org>
-
- * src/types.c: Fix alignment size of X86_WIN32 case int64 and
- double.
- * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
- with ecif->cif->flags.
- (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
- with cif->flags.
- (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
- (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
- * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
- sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.in: Rename file to ...
- * configure.ac: ... this.
- * fficonfig.h.in: Regenerate.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2004-03-12 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Fix EH information so it corresponds to
- changes in EH format resulting from addition of linkonce support.
- * src/powerpc/darwin_closure.S: Likewise.
-
-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.
-
-2004-03-11 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
- arguments from fp registers only for the first 8 parameter slots.
- Don't convert a float parameter when passed in memory.
-
-2004-03-09 Hans-Peter Nilsson <hp@axis.com>
-
- * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
-
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
- ecif->cif->bytes to bytes.
- (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
- * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
- (ffi_closure_helper_LINUX64): Fix typo.
- * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
- for powerpc64-*-*.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
- long double function return and long double arg handling.
- (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
- Use "end_pfr" instead of "nf". Correct long double handling.
- Localise "temp".
- * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
- return value.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
- space for long double return value. Adjust stack frame and offsets.
- Load f2 long double return.
-
-2004-02-07 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
- when the structure return address is passed in %o0.
- (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
- (ffi_v9_layout_struct): Align the field following a nested structure
- on a word boundary. Use memmove instead of memcpy.
- (ffi_call): Update call to ffi_V9_return_struct.
- (ffi_prep_closure): Define 'ctx' only for V8.
- (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
- and ffi_closure_sparc_inner_v9.
- (ffi_closure_sparc_inner_v8): Return long doubles by reference.
- Always skip the structure return address. For structures and long
- doubles, copy the argument directly.
- (ffi_closure_sparc_inner_v9): Skip the structure return address only
- if required. Shift the maximum floating-point slot accordingly. For
- big structures, copy the argument directly; otherwise, left-justify the
- argument and call ffi_v9_layout_struct to lay out the structure on
- the stack.
- * src/sparc/v8.S: Undef STACKFRAME before defining it.
- (ffi_closure_v8): Pass the structure return address. Update call to
- ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
- Skip the 'unimp' insn when returning long doubles and structures.
- * src/sparc/v9.S: Undef STACKFRAME before defining it.
- (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
- FFI_TYPE_INT handling. Load structures both in integers and
- floating-point registers on return.
- * README: Update status of the SPARC port.
-
-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.
-
-2004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
-
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
- value as of type ffi_arg, not unsigned int.
-
-2004-01-21 Michael Ritzert <ritzert@t-online.de>
-
- * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
- of the LHS.
-
-2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
- Solaris.
-
-2004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
- to void *.
-
-2003-12-10 Richard Henderson <rth@redhat.com>
-
- * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
- size_t instead of int.
-
-2003-12-04 Hosaka Yuji <hos@tamanegi.org>
-
- * testsuite/libffi.call/many_win32.c: Include <float.h>.
- * testsuite/libffi.call/many_win32.c (main): Replace variable
- int i with unsigned long ul.
-
- * testsuite/libffi.call/cls_align_uint64.c: New test case.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02 Hosaka Yuji <hos@tamanegi.org>
-
- PR other/13221
- * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
- Align arguments to 32 bits.
-
-2003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR other/13221
- * testsuite/libffi.call/cls_multi_sshort.c: New test case.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-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.
-
-2003-11-21 Andreas Jaeger <aj@suse.de>
- Andreas Tobler <a.tobler@schweiz.ch>
-
- * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
- * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
- * Makefile.in: Rebuilt.
- * aclocal.m4: Likewise.
- * configure: Likewise.
- * fficonfig.h.in: Likewise.
- * testsuite/lib/libffi-dg.exp: Add include dir.
- * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
- for ffi_closure if available.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
- Add -lgcc_s to additional flags.
-
-2003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.in, include/Makefile.am: PR libgcj/11147, install
- the ffitarget.h header file in a gcc versioned and target
- dependent place.
- * configure: Regenerated.
- * Makefile.in, include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Print result and check
- with dg-output to make debugging easier.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
- static.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_9byte2.c: New test case.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_double.c: Do a check on the result.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/prep_cif.c (ffi_prep_cif): Move the validity check after
- the initialization.
-
-2003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
- FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
- __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-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
-
-2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
- _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
- Used when FFI_DEBUG = 1.
-
-2003-10-14 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
- and align.
-
-2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
- FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
- SPARC64. Cleanup whitespaces.
-
-2003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
- strongarm, xscale. Cleanup whitespaces.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Cleanup whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
- * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
- parameter stack.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
- according to the Darwin/AIX ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_DARWIN): Likewise.
- Remove the outgoing parameter stack logic. Simplify the evaluation
- of the different CASE types.
- (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
- statement in the trampoline code.
-
-2003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
- for the register size.
- (ffi_closure_helper_SYSV): Handle the structure return value
- address correctly.
- (ffi_closure_helper_SYSV): Return the appropriate type when
- the registers are used for the structure return value.
- * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
- the 64-bit return value. Update copyright years.
-
-2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
- srcdir for ffi_mips.h.
-
-2003-09-12 Alan Modra <amodra@bigpond.net.au>
-
- * src/prep_cif.c (initialize_aggregate): Include tail padding in
- structure size.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
- placement of float result.
- * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
- cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Merge identical SH and ARM
- typedefs, and add POWERPC64.
- * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
- struct split over gpr and rest.
- (ffi_prep_cif_machdep): Correct intarg_count for structures.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
- passing correctly.
-
-2003-09-09 Alan Modra <amodra@bigpond.net.au>
-
- * configure: Regenerate.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Remove build rules for ffitest.
- * Makefile.in: Rebuilt.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
- about implicit declaration of abort().
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
- * Makefile.in: Rebuilt.
- * configure.in: Add dejagnu test framework.
- * configure: Rebuilt.
-
- * testsuite/Makefile.am: New file.
- * testsuite/Makefile.in: Built
- * testsuite/lib/libffi-dg.exp: New file.
- * testsuite/config/default.exp: Likewise.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Likewise.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float1.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/many.c: Likewise.
- * testsuite/libffi.call/many_win32.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
- * testsuite/libffi.call/strlen.c: Likewise.
- * testsuite/libffi.call/strlen_win32.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
- * testsuite/libffi.call/struct2.c: Likewise.
- * testsuite/libffi.call/struct3.c: Likewise.
- * testsuite/libffi.call/struct4.c: Likewise.
- * testsuite/libffi.call/struct5.c: Likewise.
- * testsuite/libffi.call/struct6.c: Likewise.
- * testsuite/libffi.call/struct7.c: Likewise.
- * testsuite/libffi.call/struct8.c: Likewise.
- * testsuite/libffi.call/struct9.c: Likewise.
- * testsuite/libffi.special/special.exp: New file.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
- copyright years.
-
-2003-08-02 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
- structure passing.
- (ffi_closure_helper_LINUX64): Likewise.
- * src/powerpc/linux64.S: Remove code writing to parm save area.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
- address in lr from ffi_closure_helper_LINUX64 call to calculate
- table address. Optimize function tail.
-
-2003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/sparc/ffi.c: Handle all floating point registers.
- * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
-
- * README: Note that libffi is not part of GCC. Update the project
- URL and status.
-
-2003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
- Use C style comments.
-
-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
- should be read-only.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * include/ffi.h.in (EH_FRAME_FLAGS): Define.
- * src/alpha/osf.S: Use EH_FRAME_FLAGS.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
- * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
- if -fpic/-fPIC/-mrelocatable.
- * src/powerpc/powerpc_closure.S: Likewise.
- * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
- #write in .eh_frame flags.
- * src/sparc/v9.S: Likewise.
- * src/x86/unix64.S: Use EH_FRAME_FLAGS.
- * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
- * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
-
-2003-05-07 Jeff Sturm <jsturm@one-point.com>
-
- Fixes PR bootstrap/10656
- * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
- support for .register pseudo-op.
- * src/sparc/v8.S: Use it.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2003-04-18 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (POWERPC64): Define if 64-bit.
- (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
- Make it the default on POWERPC64.
- (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
- * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
- * configure: Rebuilt.
- * src/powerpc/ffi.c (hidden): Define.
- (ffi_prep_args_SYSV): Renamed from
- ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
- (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
- ASM_NEEDS_REGISTERS64): New.
- (ffi_prep_args64): New function.
- (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
- (ffi_call): Likewise.
- (ffi_prep_closure): Likewise.
- (flush_icache): Surround by #ifndef POWERPC64.
- (ffi_dblfl): New union type.
- (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
- (ffi_closure_helper_LINUX64): New function.
- * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
- __powerpc64__.
- * src/powerpc/sysv.S: Likewise.
- (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
- * src/powerpc/linux64.S: New file.
- * src/powerpc/linux64_closure.S: New file.
- * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
- src/powerpc/linux64_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
- * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
- closure_test_fn3): Fix result printing on big-endian 64-bit
- machines.
- (main): Print tst2_arg instead of uninitialized tst2_result.
-
- * src/ffitest.c (main): Hide what closure pointer really points to
- from the compiler.
-
-2003-04-16 Richard Earnshaw <rearnsha@arm.com>
-
- * configure.in (arm-*-netbsdelf*): Add configuration.
- (configure): Regenerated.
-
-2003-04-04 Loren J. Rittle <ljrittle@acm.org>
-
- * include/Makefile.in: Regenerate.
-
-2003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
-
- * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
- bit mode.
- * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
- Receive closure pointer through parameter, read args using
- __builtin_dwarf_cfa.
- (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12 Andreas Schwab <schwab@suse.de>
-
- * configure.in: Avoid trailing /. in toolexeclibdir.
- * configure: Rebuilt.
-
-2003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/powerpc/darwin_closure.S:
- Fix alignement bug, allocate 8 bytes for the result.
- * libffi/src/powerpc/aix_closure.S:
- Likewise.
- * libffi/src/powerpc/ffi_darwin.c:
- Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06 Jakub Jelinek <jakub@redhat.com>
-
- * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
- attribute.
-
-2003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
- Andreas Schwab <schwab@suse.de>
-
- * configure.in: Adjust command to source config-ml.in to account
- for changes to the libffi_basedir definition.
- (libffi_basedir): Remove ${srcdir} from value and include trailing
- slash if nonempty.
-
- * configure: Regenerate.
-
-2003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
- * src/x86/ffi64.c (ffi_prep_closure): New.
- (ffi_closure_UNIX64_inner): New.
- * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
- Remove USE_LIBDIR conditional.
- * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
- * Makefile.in, configure: Rebuilt.
-
-2003-01027 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
- * Makefile.in: Regenerate.
-
-2003-01-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
- unwind info.
-
-2003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Add unwind info.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
- (ffi_prep_cif_machdep): Likewise.
- * src/x86/unix64.S: Add unwind info.
-
-2003-01-14 Andreas Jaeger <aj@suse.de>
-
- * src/ffitest.c (main): Only use ffi_closures if those are
- supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/ffitest.c
- add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
- * libffi/src/powerpc/ffi.c
- fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c: Remove RCS version string.
- * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
- * src/ffitest.c (main): Use static storage for closure.
- * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
- * src/sparc/v8.S (ffi_closure_v8): New.
- * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10 Ranjit Mathew <rmathew@hotmail.com>
-
- * include/ffi.h.in: Added FFI_STDCALL ffi_type
- enumeration for X86_WIN32.
- * src/x86/win32.S: Added ffi_call_STDCALL function
- definition.
- * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
- switch cases for recognising FFI_STDCALL and
- calling ffi_call_STDCALL if target is X86_WIN32.
- * src/ffitest.c (my_stdcall_strlen/stdcall_many):
- stdcall versions of the "my_strlen" and "many"
- test functions (for X86_WIN32).
- Added test cases to test stdcall invocation using
- these functions.
-
-2002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26 Jim Wilson <wilson@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23 H.J. Lu <hjl@gnu.org>
-
- * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
- Include ../config/accross.m4.
- * aclocal.m4; Rebuild.
- * configure: Likewise.
-
-2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11 DJ Delorie <dj@redhat.com>
-
- * configure.in: Look for common files in the right place.
-
-2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
- raw data as _Jv_word values, not ffi_raw.
- (ffi_java_ptrarray_to_raw): Likewise.
- (ffi_java_rvalue_to_raw): New function.
- (ffi_java_raw_call): Call it.
- (ffi_java_raw_to_rvalue): New function.
- (ffi_java_translate_args): Call it.
- * src/ffitest.c (closure_test_fn): Interpret return value
- as ffi_arg, not int.
- * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
- FFI_TYPE_POINTER case.
- (ffi_closure_helper_SYSV): Likewise. Also, assume return
- values extended to word size.
-
-2002-10-02 Andreas Jaeger <aj@suse.de>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01 Bo Thorsen <bo@smetana.suse.de>
-
- * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
-
- * configure.in: Add s390x-*-linux-* target.
- * configure: Regenerate.
- * include/ffi.h.in: Define S390X for s390x targets.
- (FFI_CLOSURES): Define for s390/s390x.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
- * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
- * src/s390/ffi.c: Major rework of existing code. Add support for
- s390x targets. Add closure support.
- * src/s390/sysv.S: Likewise.
-
-2002-09-29 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: Fix typo.
-
-2002-09-28 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
- has defined __USER_LABEL_PREFIX__, then use it in CNAME.
- (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27 Bo Thorsen <bo@suse.de>
-
- * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * configure.in (sh[34]*-*-linux*): Add brackets.
- * configure: Regenerate.
-
-2002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * Makefile.am: Add SH support.
- * Makefile.in: Regenerate.
- * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
- * configure: Regenerate.
- * include/ffi.h.in: Add SH support.
- * src/sh/ffi.c: New file.
- * src/sh/sysv.S: New file.
- * src/types.c: Add SH support.
-
-2002-07-16 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi64.c: New file that adds x86-64 support.
- * src/x86/unix64.S: New file that handles argument setup for
- x86-64.
- * src/x86/sysv.S: Don't use this on x86-64.
- * src/x86/ffi.c: Don't use this on x86-64.
- Remove unused vars.
- * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
- for x86-64.
- * src/ffitest.c (struct6): New test that tests a special case in
- the x86-64 ABI.
- (struct7): Likewise.
- (struct8): Likewise.
- (struct9): Likewise.
- (closure_test_fn): Silence warning about this when it's not used.
- (main): Add the new tests.
- (main): Fix a couple of wrong casts and silence some compiler warnings.
- * include/ffi.h.in: Add x86-64 ABI definition.
- * fficonfig.h.in: Regenerate.
- * Makefile.am: Add x86-64 support.
- * configure.in: Likewise.
- * Makefile.in: Regenerate.
- * configure: Likewise.
-
-2002-06-24 Bo Thorsen <bo@suse.de>
-
- * src/types.c: Merge settings for similar architectures.
- Add x86-64 sizes and alignments.
-
-2002-06-23 Bo Thorsen <bo@suse.de>
-
- * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
- * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
- * src/mips/ffi.c (ffi_prep_args): Likewise.
- * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18 H.J. Lu (hjl@gnu.org)
-
- * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
- (libffi_la_SOURCES): Support MIPS_LINUX.
- (libffi_convenience_la_SOURCES): Likewise.
- * Makefile.in: Regenerated.
-
- * configure.in (mips64*-*): Skip.
- (mips*-*-linux*): New.
- * configure: Regenerated.
-
- * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
-
-2002-05-27 Roger Sayle <roger@eyesopen.com>
-
- * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
- fix formatting.
-
-2002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
- beginning of function (for older apple cc).
-
-2002-05-08 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
- script entry, and set LD to it when configuring multilibs.
- * configure: Rebuilt.
-
-2002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (sparc64-*-netbsd*): Add target.
- (sparc-*-netbsdelf*): Likewise.
- * configure: Regenerate.
-
-2002-04-28 David S. Miller <davem@redhat.com>
-
- * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
-
- * Makefile.am: Add Linux for S/390 support.
- * Makefile.in: Regenerate.
- * configure.in: Add Linux for S/390 support.
- * configure: Regenerate.
- * include/ffi.h.in: Add Linux for S/390 support.
- * src/s390/ffi.c: New file from libffi CVS tree.
- * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
- %r_disp32().
- * src/sparc/v8.S: Use it.
- * src/sparc/v9.S: Likewise.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2002-04-08 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
- correctly.
- * src/ia64/unix.S: Add unwind information. Fix comments.
- Save sp in a way that's compatible with unwind info.
- (ffi_call_unix): Correctly restore sp in all cases.
- * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08 Jakub Jelinek <jakub@redhat.com>
-
- * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (alpha*-*-netbsd*): Add target.
- * configure: Regenerate.
-
-2002-04-04 Jeff Sturm <jsturm@one-point.com>
-
- * src/sparc/v8.S: Add unwind info.
- * src/sparc/v9.S: Likewise.
-
-2002-03-30 Krister Walfridsson <cato@df.lth.se>
-
- * configure.in: Enable i*86-*-netbsdelf*.
- * configure: Rebuilt.
-
-2002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
-
- PR other/2620
- * src/mips/n32.s: Delete
- * src/mips/o32.s: Delete
-
-2002-03-21 Loren J. Rittle <ljrittle@acm.org>
-
- * configure.in: Enable alpha*-*-freebsd*.
- * configure: Rebuilt.
-
-2002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * Makefile.am: libfficonvenience -> libffi_convenience.
- * Makefile.in: Rebuilt.
-
- * Makefile.am: Define ffitest_OBJECTS.
- * Makefile.in: Rebuilt.
-
-2002-03-07 Andreas Tobler <toa@pop.agri.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
- (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
- (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
- * Makefile.in: Regenerate.
- * include/ffi.h.in: Add AIX and Darwin closure definitions.
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
- (flush_icache, flush_range): New functions.
- (ffi_closure_helper_DARWIN): New function.
- * src/powerpc/aix_closure.S: New file.
- * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add typedef for ffi_arg.
- * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21 Andreas Tobler <toa@pop.agri.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
- number of GPRs for floating-point arguments.
-
-2002-01-31 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Replace CHECK_SIZEOF and endian tests with
- cross-compiler friendly macros.
- * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
- macros.
-
-2002-01-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): New.
- * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
- (TARGET_SRC_POWERPC_AIX): New.
- (POWERPC_AIX): New stanza.
- * Makefile.in: Regenerate.
- * configure.in: Add AIX case.
- * configure: Regenerate.
- * include/ffi.h.in (ffi_abi): Add FFI_AIX.
- * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
- size. Fix "long double" support.
- (ffi_call): Add FFI_AIX case.
- * src/powerpc/aix.S: New.
-
-2001-10-09 John Hornkvist <john@toastedmarshmallow.com>
-
- Implement Darwin PowerPC ABI.
- * configure.in: Handle powerpc-*-darwin*.
- * Makefile.am: Set source files for POWERPC_DARWIN.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
- * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
- POWERPC_DARWIN.
- * src/powerpc/darwin.S: New file.
- * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .balign directive.
- Use C style comments.
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
- Fixes PR bootstrap/3563.
-
-2001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.in: Recognize sparc*-sun-* host.
- * configure: Regenerate.
-
-2001-06-06 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S: Add unwind info.
- * src/powerpc/sysv.S: Add unwind info.
- * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31 Jeff Sturm <jsturm@one-point.com>
-
- * configure.in: Fix AC_ARG_ENABLE usage.
- * configure: Rebuilt.
-
-2001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * configure.in: Remove warning about beta code.
- * configure: Rebuilt.
-
-2001-04-25 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/ia64/unix.S: Restore stack pointer when returning from
- ffi_closure_UNIX.
- * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18 Jim Wilson <wilson@redhat.com>
-
- * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
- to eliminate RAW DV.
-
-2001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
-
- * Makefile.am: Make a libtool convenience library.
- * Makefile.in: Rebuilt.
-
-2001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Use different syntax for subdirectory creation.
- * configure: Rebuilt.
-
-2001-03-27 Jon Beniston <jon@beniston.com>
-
- * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
- * configure: Rebuilt.
- * Makefile.am: Added X86_WIN32 target support.
- * Makefile.in: Rebuilt.
-
- * include/ffi.h.in: Added X86_WIN32 target support.
-
- * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
- * src/types.c: Added X86_WIN32 target support.
-
- * src/x86/win32.S: New file. Based on sysv.S, but with EH
- stuff removed and made to work with CygWin's gas.
-
-2001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Make target subdirectory in build dir.
- * Makefile.am: Override suffix based rules to specify correct output
- subdirectory.
- * Makefile.in: Rebuilt.
- * configure: Rebuilt.
-
-2001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
-
- * src/powerpc/ppc_closure.S: New file.
- * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
- involving long long and register pairs.
- (ffi_prep_closure): New function.
- (flush_icache): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * Makefile.in: Rebuilt.
- * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19 Tom Tromey <tromey@redhat.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02 Nick Clifton <nickc@redhat.com>
-
- * include/ffi.h.in: Remove RCS ident string.
- * include/ffi_mips.h: Remove RCS ident string.
- * src/debug.c: Remove RCS ident string.
- * src/ffitest.c: Remove RCS ident string.
- * src/prep_cif.c: Remove RCS ident string.
- * src/types.c: Remove RCS ident string.
- * src/alpha/ffi.c: Remove RCS ident string.
- * src/alpha/osf.S: Remove RCS ident string.
- * src/arm/ffi.c: Remove RCS ident string.
- * src/arm/sysv.S: Remove RCS ident string.
- * src/mips/ffi.c: Remove RCS ident string.
- * src/mips/n32.S: Remove RCS ident string.
- * src/mips/o32.S: Remove RCS ident string.
- * src/sparc/ffi.c: Remove RCS ident string.
- * src/sparc/v8.S: Remove RCS ident string.
- * src/sparc/v9.S: Remove RCS ident string.
- * src/x86/ffi.c: Remove RCS ident string.
- * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * include/ffi.h.in: Change sourceware.cygnus.com references to
- gcc.gnu.org.
-
-2000-12-09 Richard Henderson <rth@redhat.com>
-
- * src/alpha/ffi.c (ffi_call): Simplify struct return test.
- (ffi_closure_osf_inner): Index rather than increment avalue
- and arg_types. Give ffi_closure_osf the raw return value type.
- * src/alpha/osf.S (ffi_closure_osf): Handle return value type
- promotion.
-
-2000-12-07 Richard Henderson <rth@redhat.com>
-
- * src/raw_api.c (ffi_translate_args): Fix typo.
- (ffi_prep_closure): Likewise.
-
- * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
- FFI_TRAMPOLINE_SIZE.
- * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
- cif->bytes for new ffi_call_osf implementation.
- (ffi_prep_args): Absorb into ...
- (ffi_call): ... here. Do all stack allocation here and
- avoid a callback function.
- (ffi_prep_closure, ffi_closure_osf_inner): New.
- * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
- (ffi_closure_osf): New.
-
-2000-09-10 Alexandre Oliva <aoliva@redhat.com>
-
- * config.guess, config.sub, install-sh: Removed.
- * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
- * Makefile.in: Rebuilt.
-
- * acinclude.m4: Include libtool macros from the top level.
- * aclocal.m4, configure: Rebuilt.
-
-2000-08-22 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
- * configure: Rebuilt.
-
-2000-05-11 Scott Bambrough <scottb@netwinder.org>
-
- * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
- memory correctly. Use conditional instructions, not branches where
- possible.
-
-2000-05-04 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Match `arm*-*-linux-*'.
- From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (SUBDIRS): Define.
- (AM_MAKEFLAGS): Likewise.
- (Multilib support.): Add section.
- * Makefile.in: Rebuilt.
- * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
- New variables. Set for gcc using -print-multi-lib. Export them
- to libtool.
- (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
- * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
- for -shared links.
- (extra_compiler_flags_value, extra_compiler_flags): Check these
- for extra compiler options which need to be passed down in
- compiler_flags.
-
-2000-04-16 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
- Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
- * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
- Replace all void * sizeofs with sizeof(int).
- Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
- different than DOUBLE.
- Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
- (ffi_prep_args_v9): New function.
- (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
- (ffi_V9_return_struct): New function.
- (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
- 32bit code (not yet cross-arch calls).
- * src/sparc/v8.S: Add struct return delay nop.
- Handle long long.
- * src/sparc/v9.S: New file.
- * src/prep_cif.c (ffi_prep_cif): Return structure pointer
- is used on sparc64 only for structures larger than 32 bytes.
- Pass by reference for structures is done for structure arguments
- larger than 16 bytes.
- * src/ffitest.c (main): Use 64bit rint on sparc64.
- Run long long tests on sparc.
- * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
- sparc64.
- (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
- on sparc64.
- * configure.in (sparc-*-linux*): New supported target.
- (sparc64-*-linux*): Likewise.
- * configure: Rebuilt.
- * Makefile.am: Add v9.S to SPARC files.
- * Makefile.in: Likewise.
- (LINK): Surround $(CCLD) into double quotes, so that multilib
- compiles work correctly.
-
-2000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: (i*86-*-solaris*): New libffi target. Patch
- proposed by Bryce McKinlay.
-
-2000-03-20 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
-
- * config.guess, config.sub: Update from the gcc tree.
- Fix for PR libgcj/168.
-
-2000-03-03 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Fixed ia64 by hand.
-
- * configure: Rebuilt.
- * configure.in (--enable-multilib): New option.
- (libffi_basedir): New subst.
- (AC_OUTPUT): Added multilib code.
-
-2000-03-02 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
- directory name.
-
-2000-02-25 Hans Boehm <boehm@acm.org>
-
- * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
- files.
- * src/raw_api.c (ffi_translate_args): Fixed typo in argument
- list.
- (ffi_prep_raw_closure): Use ffi_translate_args, not
- ffi_closure_translate.
- * src/java_raw_api.c: New file.
- * src/ffitest.c (closure_test_fn): New function.
- (main): Define `rint' as long long on IA64. Added new test when
- FFI_CLOSURES is defined.
- * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
- (ffi_abi): Recognize IA64.
- (ffi_raw): Added `flt' field.
- Added "Java raw API" code.
- * configure.in: Recognize ia64.
- * Makefile.am (TARGET_SRC_IA64): New macro.
- (libffi_la_common_SOURCES): Added java_raw_api.c.
- (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01 Tom Tromey <tromey@cygnus.com>
-
- * include/ffi.h.in: Removed PACKAGE and VERSION defines and
- undefs.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
- * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
- Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
- * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09 Anthony Green <green@cygnus.com>
-
- * include/ffi.h.in: Try to work around messy header problem
- with PACKAGE and VERSION.
-
- * configure: Rebuilt.
- * configure.in: Change version to 2.00-beta.
-
- * fficonfig.h.in: Rebuilt.
- * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
- * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
-
- * src/x86/ffi.c (ffi_closure_SYSV): New function.
- (ffi_prep_incoming_args_SYSV): Ditto.
- (ffi_prep_closure): Ditto.
- (ffi_closure_raw_SYSV): Ditto.
- (ffi_prep_raw_closure): More ditto.
- (ffi_call_raw): Final ditto.
-
- * include/ffi.h.in: Add definitions for closure and raw API.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
- FFI_TYPE_UINT64.
-
- * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
- * src/raw_api.c: New file.
-
- * include/ffi.h.in (ffi_raw): New type.
- (UINT_ARG, SINT_ARG): New defines.
- (ffi_closure, ffi_raw_closure): New types.
- (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
- * configure.in: Add check for endianness and sizeof void*.
-
- * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
- instead of directly.
-
- * configure: Rebuilt.
-
-Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
-
- * configure.in: Add x86 and powerpc BeOS configurations.
- From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09 Anthony Green <green@cygnus.com>
-
- * configure.in: Add warning about this being beta code.
- Remove src/Makefile.am from the picture.
- * configure: Rebuilt.
-
- * Makefile.am: Move logic from src/Makefile.am. Add changes
- to support libffi as a target library.
- * Makefile.in: Rebuilt.
-
- * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
- Upgraded to new autoconf, automake, libtool.
-
- * README: Tweaks.
-
- * LICENSE: Update copyright date.
-
- * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29 Anthony Green <green@cygnus.com>
-
- * include/ChangeLog: Removed.
- * src/ChangeLog: Removed.
- * src/mips/ChangeLog: Removed.
- * src/sparc/ChangeLog: Remboved.
- * src/x86/ChangeLog: Removed.
-
- * ChangeLog.v1: Created.
diff --git a/.pc/x32-abi/README b/.pc/x32-abi/README
deleted file mode 100644
index 8e3d79e..0000000
--- a/.pc/x32-abi/README
+++ /dev/null
@@ -1,349 +0,0 @@
-Status
-======
-
-libffi-3.0.11 was released on *****************. Check the libffi web
-page for updates: <URL:http://sourceware.org/libffi/>.
-
-
-What is libffi?
-===============
-
-Compilers for high level languages generate code that follow certain
-conventions. These conventions are necessary, in part, for separate
-compilation to work. One such convention is the "calling
-convention". The "calling convention" is essentially a set of
-assumptions made by the compiler about where function arguments will
-be found on entry to a function. A "calling convention" also specifies
-where the return value for a function is found.
-
-Some programs may not know at the time of compilation what arguments
-are to be passed to a function. For instance, an interpreter may be
-told at run-time about the number and types of arguments used to call
-a given function. Libffi can be used in such programs to provide a
-bridge from the interpreter program to compiled code.
-
-The libffi library provides a portable, high level programming
-interface to various calling conventions. This allows a programmer to
-call any function specified by a call interface description at run
-time.
-
-FFI stands for Foreign Function Interface. A foreign function
-interface is the popular name for the interface that allows code
-written in one language to call code written in another language. The
-libffi library really only provides the lowest, machine dependent
-layer of a fully featured foreign function interface. A layer must
-exist above libffi that handles type conversions for values passed
-between the two languages.
-
-
-Supported Platforms
-===================
-
-Libffi has been ported to many different platforms.
-For specific configuration details and testing status, please
-refer to the wiki page here:
-
- http://www.moxielogic.org/wiki/index.php?title=Libffi_3.0.11
-
-At the time of release, the following basic configurations have been
-tested:
-
-|--------------+------------------|
-| Architecture | Operating System |
-|--------------+------------------|
-| Alpha | Linux |
-| Alpha | Tru64 |
-| ARM | Linux |
-| ARM | iOS |
-| AVR32 | Linux |
-| HPPA | HPUX |
-| IA-64 | Linux |
-| M68K | RTEMS |
-| MIPS | IRIX |
-| MIPS | Linux |
-| MIPS | RTEMS |
-| MIPS64 | Linux |
-| PowerPC | AMIGA |
-| PowerPC | Linux |
-| PowerPC | Mac OSX |
-| PowerPC | FreeBSD |
-| PowerPC64 | Linux |
-| S390 | Linux |
-| S390X | Linux |
-| SPARC | Linux |
-| SPARC | Solaris |
-| SPARC64 | Linux |
-| SPARC64 | FreeBSD |
-| X86 | FreeBSD |
-| X86 | Interix |
-| X86 | kFreeBSD |
-| X86 | Linux |
-| X86 | Mac OSX |
-| X86 | OpenBSD |
-| X86 | OS/2 |
-| X86 | Solaris |
-| X86 | Windows/Cygwin |
-| X86 | Windows/MingW |
-| X86-64 | FreeBSD |
-| X86-64 | Linux |
-| X86-64 | OpenBSD |
-| X86-64 | Windows/MingW |
-|--------------+------------------|
-
-Please send additional platform test results to
-libffi-discuss@sourceware.org and feel free to update the wiki page
-above.
-
-Installing libffi
-=================
-
-First you must configure the distribution for your particular
-system. Go to the directory you wish to build libffi in and run the
-"configure" program found in the root directory of the libffi source
-distribution.
-
-You may want to tell configure where to install the libffi library and
-header files. To do that, use the --prefix configure switch. Libffi
-will install under /usr/local by default.
-
-If you want to enable extra run-time debugging checks use the the
---enable-debug configure switch. This is useful when your program dies
-mysteriously while using libffi.
-
-Another useful configure switch is --enable-purify-safety. Using this
-will add some extra code which will suppress certain warnings when you
-are using Purify with libffi. Only use this switch when using
-Purify, as it will slow down the library.
-
-It's also possible to build libffi on Windows platforms with
-Microsoft's Visual C++ compiler. In this case, use the msvcc.sh
-wrapper script during configuration like so:
-
-path/to/configure CC=path/to/msvcc.sh LD=link CPP=\"cl -nologo -EP\"
-
-For 64-bit Windows builds, use CC="path/to/msvcc.sh -m64".
-You may also need to specify --build appropriately. When building with MSVC
-under a MingW environment, you may need to remove the line in configure
-that sets 'fix_srcfile_path' to a 'cygpath' command. ('cygpath' is not
-present in MingW, and is not required when using MingW-style paths.)
-
-For iOS builds, refer to the build-ios.sh script for guidance.
-
-Configure has many other options. Use "configure --help" to see them all.
-
-Once configure has finished, type "make". Note that you must be using
-GNU make. You can ftp GNU make from prep.ai.mit.edu:/pub/gnu.
-
-To ensure that libffi is working as advertised, type "make check".
-This will require that you have DejaGNU installed.
-
-To install the library and header files, type "make install".
-
-
-History
-=======
-
-See the ChangeLog files for details.
-
-3.0.11 MMM-DD-YY
- Lots of build fixes.
- Add Amiga newer MacOS support.
- Fix Octeon and MC68881 support.
- Fix code pessimizations.
-
-3.0.10 Aug-23-11
- Add support for Apple's iOS.
- Add support for ARM VFP ABI.
- Add RTEMS support for MIPS and M68K.
- Fix instruction cache clearing problems on
- ARM and SPARC.
- Fix the N64 build on mips-sgi-irix6.5.
- Enable builds with Microsoft's compiler.
- Enable x86 builds with Oracle's Solaris compiler.
- Fix support for calling code compiled with Oracle's Sparc
- Solaris compiler.
- Testsuite fixes for Tru64 Unix.
- Additional platform support.
-
-3.0.9 Dec-31-09
- Add AVR32 and win64 ports. Add ARM softfp support.
- Many fixes for AIX, Solaris, HP-UX, *BSD.
- Several PowerPC and x86-64 bug fixes.
- Build DLL for windows.
-
-3.0.8 Dec-19-08
- Add *BSD, BeOS, and PA-Linux support.
-
-3.0.7 Nov-11-08
- Fix for ppc FreeBSD.
- (thanks to Andreas Tobler)
-
-3.0.6 Jul-17-08
- Fix for closures on sh.
- Mark the sh/sh64 stack as non-executable.
- (both thanks to Kaz Kojima)
-
-3.0.5 Apr-3-08
- Fix libffi.pc file.
- Fix #define ARM for IcedTea users.
- Fix x86 closure bug.
-
-3.0.4 Feb-24-08
- Fix x86 OpenBSD configury.
-
-3.0.3 Feb-22-08
- Enable x86 OpenBSD thanks to Thomas Heller, and
- x86-64 FreeBSD thanks to Björn König and Andreas Tobler.
- Clean up test instruction in README.
-
-3.0.2 Feb-21-08
- Improved x86 FreeBSD support.
- Thanks to Björn König.
-
-3.0.1 Feb-15-08
- Fix instruction cache flushing bug on MIPS.
- Thanks to David Daney.
-
-3.0.0 Feb-15-08
- Many changes, mostly thanks to the GCC project.
- Cygnus Solutions is now Red Hat.
-
- [10 years go by...]
-
-1.20 Oct-5-98
- Raffaele Sena produces ARM port.
-
-1.19 Oct-5-98
- Fixed x86 long double and long long return support.
- m68k bug fixes from Andreas Schwab.
- Patch for DU assembler compatibility for the Alpha from Richard
- Henderson.
-
-1.18 Apr-17-98
- Bug fixes and MIPS configuration changes.
-
-1.17 Feb-24-98
- Bug fixes and m68k port from Andreas Schwab. PowerPC port from
- Geoffrey Keating. Various bug x86, Sparc and MIPS bug fixes.
-
-1.16 Feb-11-98
- Richard Henderson produces Alpha port.
-
-1.15 Dec-4-97
- Fixed an n32 ABI bug. New libtool, auto* support.
-
-1.14 May-13-97
- libtool is now used to generate shared and static libraries.
- Fixed a minor portability problem reported by Russ McManus
- <mcmanr@eq.gs.com>.
-
-1.13 Dec-2-96
- Added --enable-purify-safety to keep Purify from complaining
- about certain low level code.
- Sparc fix for calling functions with < 6 args.
- Linux x86 a.out fix.
-
-1.12 Nov-22-96
- Added missing ffi_type_void, needed for supporting void return
- types. Fixed test case for non MIPS machines. Cygnus Support
- is now Cygnus Solutions.
-
-1.11 Oct-30-96
- Added notes about GNU make.
-
-1.10 Oct-29-96
- Added configuration fix for non GNU compilers.
-
-1.09 Oct-29-96
- Added --enable-debug configure switch. Clean-ups based on LCLint
- feedback. ffi_mips.h is always installed. Many configuration
- fixes. Fixed ffitest.c for sparc builds.
-
-1.08 Oct-15-96
- Fixed n32 problem. Many clean-ups.
-
-1.07 Oct-14-96
- Gordon Irlam rewrites v8.S again. Bug fixes.
-
-1.06 Oct-14-96
- Gordon Irlam improved the sparc port.
-
-1.05 Oct-14-96
- Interface changes based on feedback.
-
-1.04 Oct-11-96
- Sparc port complete (modulo struct passing bug).
-
-1.03 Oct-10-96
- Passing struct args, and returning struct values works for
- all architectures/calling conventions. Expanded tests.
-
-1.02 Oct-9-96
- Added SGI n32 support. Fixed bugs in both o32 and Linux support.
- Added "make test".
-
-1.01 Oct-8-96
- Fixed float passing bug in mips version. Restructured some
- of the code. Builds cleanly with SGI tools.
-
-1.00 Oct-7-96
- First release. No public announcement.
-
-
-Authors & Credits
-=================
-
-libffi was originally written by Anthony Green <green@redhat.com>.
-
-The developers of the GNU Compiler Collection project have made
-innumerable valuable contributions. See the ChangeLog file for
-details.
-
-Some of the ideas behind libffi were inspired by Gianni Mariani's free
-gencall library for Silicon Graphics machines.
-
-The closure mechanism was designed and implemented by Kresten Krab
-Thorup.
-
-Major processor architecture ports were contributed by the following
-developers:
-
-alpha Richard Henderson
-arm Raffaele Sena
-cris Simon Posnjak, Hans-Peter Nilsson
-frv Anthony Green
-ia64 Hans Boehm
-m32r Kazuhiro Inaoka
-m68k Andreas Schwab
-mips Anthony Green, Casey Marshall
-mips64 David Daney
-pa Randolph Chung, Dave Anglin, Andreas Tobler
-powerpc Geoffrey Keating, Andreas Tobler,
- David Edelsohn, John Hornkvist
-powerpc64 Jakub Jelinek
-s390 Gerhard Tonn, Ulrich Weigand
-sh Kaz Kojima
-sh64 Kaz Kojima
-sparc Anthony Green, Gordon Irlam
-x86 Anthony Green, Jon Beniston
-x86-64 Bo Thorsen
-
-Jesper Skov and Andrew Haley both did more than their fair share of
-stepping through the code and tracking down bugs.
-
-Thanks also to Tom Tromey for bug fixes, documentation and
-configuration help.
-
-Thanks to Jim Blandy, who provided some useful feedback on the libffi
-interface.
-
-Andreas Tobler has done a tremendous amount of work on the testsuite.
-
-Alex Oliva solved the executable page problem for SElinux.
-
-The list above is almost certainly incomplete and inaccurate. I'm
-happy to make corrections or additions upon request.
-
-If you have a problem, or have found a bug, please send a note to the
-author at green@moxielogic.com, or the project mailing list at
-libffi-discuss@sourceware.org.
diff --git a/.pc/x32-abi/src/x86/ffi64.c b/.pc/x32-abi/src/x86/ffi64.c
deleted file mode 100644
index c8eb455..0000000
--- a/.pc/x32-abi/src/x86/ffi64.c
+++ /dev/null
@@ -1,635 +0,0 @@
-/* -----------------------------------------------------------------------
- ffi64.c - Copyright (c) 20011 Anthony Green
- Copyright (c) 2008, 2010 Red Hat, Inc.
- Copyright (c) 2002, 2007 Bo Thorsen <bo@suse.de>
-
- x86-64 Foreign Function Interface
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
- ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#include <stdlib.h>
-#include <stdarg.h>
-
-#ifdef __x86_64__
-
-#define MAX_GPR_REGS 6
-#define MAX_SSE_REGS 8
-
-struct register_args
-{
- /* Registers for argument passing. */
- UINT64 gpr[MAX_GPR_REGS];
- __int128_t sse[MAX_SSE_REGS];
-};
-
-extern void ffi_call_unix64 (void *args, unsigned long bytes, unsigned flags,
- void *raddr, void (*fnaddr)(void), unsigned ssecount);
-
-/* All reference to register classes here is identical to the code in
- gcc/config/i386/i386.c. Do *not* change one without the other. */
-
-/* Register class used for passing given 64bit part of the argument.
- These represent classes as documented by the PS ABI, with the
- exception of SSESF, SSEDF classes, that are basically SSE class,
- just gcc will use SF or DFmode move instead of DImode to avoid
- reformatting penalties.
-
- Similary we play games with INTEGERSI_CLASS to use cheaper SImode moves
- whenever possible (upper half does contain padding). */
-enum x86_64_reg_class
- {
- X86_64_NO_CLASS,
- X86_64_INTEGER_CLASS,
- X86_64_INTEGERSI_CLASS,
- X86_64_SSE_CLASS,
- X86_64_SSESF_CLASS,
- X86_64_SSEDF_CLASS,
- X86_64_SSEUP_CLASS,
- X86_64_X87_CLASS,
- X86_64_X87UP_CLASS,
- X86_64_COMPLEX_X87_CLASS,
- X86_64_MEMORY_CLASS
- };
-
-#define MAX_CLASSES 4
-
-#define SSE_CLASS_P(X) ((X) >= X86_64_SSE_CLASS && X <= X86_64_SSEUP_CLASS)
-
-/* x86-64 register passing implementation. See x86-64 ABI for details. Goal
- of this code is to classify each 8bytes of incoming argument by the register
- class and assign registers accordingly. */
-
-/* Return the union class of CLASS1 and CLASS2.
- See the x86-64 PS ABI for details. */
-
-static enum x86_64_reg_class
-merge_classes (enum x86_64_reg_class class1, enum x86_64_reg_class class2)
-{
- /* Rule #1: If both classes are equal, this is the resulting class. */
- if (class1 == class2)
- return class1;
-
- /* Rule #2: If one of the classes is NO_CLASS, the resulting class is
- the other class. */
- if (class1 == X86_64_NO_CLASS)
- return class2;
- if (class2 == X86_64_NO_CLASS)
- return class1;
-
- /* Rule #3: If one of the classes is MEMORY, the result is MEMORY. */
- if (class1 == X86_64_MEMORY_CLASS || class2 == X86_64_MEMORY_CLASS)
- return X86_64_MEMORY_CLASS;
-
- /* Rule #4: If one of the classes is INTEGER, the result is INTEGER. */
- if ((class1 == X86_64_INTEGERSI_CLASS && class2 == X86_64_SSESF_CLASS)
- || (class2 == X86_64_INTEGERSI_CLASS && class1 == X86_64_SSESF_CLASS))
- return X86_64_INTEGERSI_CLASS;
- if (class1 == X86_64_INTEGER_CLASS || class1 == X86_64_INTEGERSI_CLASS
- || class2 == X86_64_INTEGER_CLASS || class2 == X86_64_INTEGERSI_CLASS)
- return X86_64_INTEGER_CLASS;
-
- /* Rule #5: If one of the classes is X87, X87UP, or COMPLEX_X87 class,
- MEMORY is used. */
- if (class1 == X86_64_X87_CLASS
- || class1 == X86_64_X87UP_CLASS
- || class1 == X86_64_COMPLEX_X87_CLASS
- || class2 == X86_64_X87_CLASS
- || class2 == X86_64_X87UP_CLASS
- || class2 == X86_64_COMPLEX_X87_CLASS)
- return X86_64_MEMORY_CLASS;
-
- /* Rule #6: Otherwise class SSE is used. */
- return X86_64_SSE_CLASS;
-}
-
-/* Classify the argument of type TYPE and mode MODE.
- CLASSES will be filled by the register class used to pass each word
- of the operand. The number of words is returned. In case the parameter
- should be passed in memory, 0 is returned. As a special case for zero
- sized containers, classes[0] will be NO_CLASS and 1 is returned.
-
- See the x86-64 PS ABI for details.
-*/
-static int
-classify_argument (ffi_type *type, enum x86_64_reg_class classes[],
- size_t byte_offset)
-{
- switch (type->type)
- {
- case FFI_TYPE_UINT8:
- case FFI_TYPE_SINT8:
- case FFI_TYPE_UINT16:
- case FFI_TYPE_SINT16:
- case FFI_TYPE_UINT32:
- case FFI_TYPE_SINT32:
- case FFI_TYPE_UINT64:
- case FFI_TYPE_SINT64:
- case FFI_TYPE_POINTER:
- {
- int size = byte_offset + type->size;
-
- if (size <= 4)
- {
- classes[0] = X86_64_INTEGERSI_CLASS;
- return 1;
- }
- else if (size <= 8)
- {
- classes[0] = X86_64_INTEGER_CLASS;
- return 1;
- }
- else if (size <= 12)
- {
- classes[0] = X86_64_INTEGER_CLASS;
- classes[1] = X86_64_INTEGERSI_CLASS;
- return 2;
- }
- else if (size <= 16)
- {
- classes[0] = classes[1] = X86_64_INTEGERSI_CLASS;
- return 2;
- }
- else
- FFI_ASSERT (0);
- }
- case FFI_TYPE_FLOAT:
- if (!(byte_offset % 8))
- classes[0] = X86_64_SSESF_CLASS;
- else
- classes[0] = X86_64_SSE_CLASS;
- return 1;
- case FFI_TYPE_DOUBLE:
- classes[0] = X86_64_SSEDF_CLASS;
- return 1;
- case FFI_TYPE_LONGDOUBLE:
- classes[0] = X86_64_X87_CLASS;
- classes[1] = X86_64_X87UP_CLASS;
- return 2;
- case FFI_TYPE_STRUCT:
- {
- const int UNITS_PER_WORD = 8;
- int words = (type->size + UNITS_PER_WORD - 1) / UNITS_PER_WORD;
- ffi_type **ptr;
- int i;
- enum x86_64_reg_class subclasses[MAX_CLASSES];
-
- /* If the struct is larger than 32 bytes, pass it on the stack. */
- if (type->size > 32)
- return 0;
-
- for (i = 0; i < words; i++)
- classes[i] = X86_64_NO_CLASS;
-
- /* Zero sized arrays or structures are NO_CLASS. We return 0 to
- signalize memory class, so handle it as special case. */
- if (!words)
- {
- classes[0] = X86_64_NO_CLASS;
- return 1;
- }
-
- /* Merge the fields of structure. */
- for (ptr = type->elements; *ptr != NULL; ptr++)
- {
- int num;
-
- byte_offset = ALIGN (byte_offset, (*ptr)->alignment);
-
- num = classify_argument (*ptr, subclasses, byte_offset % 8);
- if (num == 0)
- return 0;
- for (i = 0; i < num; i++)
- {
- int pos = byte_offset / 8;
- classes[i + pos] =
- merge_classes (subclasses[i], classes[i + pos]);
- }
-
- byte_offset += (*ptr)->size;
- }
-
- if (words > 2)
- {
- /* When size > 16 bytes, if the first one isn't
- X86_64_SSE_CLASS or any other ones aren't
- X86_64_SSEUP_CLASS, everything should be passed in
- memory. */
- if (classes[0] != X86_64_SSE_CLASS)
- return 0;
-
- for (i = 1; i < words; i++)
- if (classes[i] != X86_64_SSEUP_CLASS)
- return 0;
- }
-
- /* Final merger cleanup. */
- for (i = 0; i < words; i++)
- {
- /* If one class is MEMORY, everything should be passed in
- memory. */
- if (classes[i] == X86_64_MEMORY_CLASS)
- return 0;
-
- /* The X86_64_SSEUP_CLASS should be always preceded by
- X86_64_SSE_CLASS or X86_64_SSEUP_CLASS. */
- if (classes[i] == X86_64_SSEUP_CLASS
- && classes[i - 1] != X86_64_SSE_CLASS
- && classes[i - 1] != X86_64_SSEUP_CLASS)
- {
- /* The first one should never be X86_64_SSEUP_CLASS. */
- FFI_ASSERT (i != 0);
- classes[i] = X86_64_SSE_CLASS;
- }
-
- /* If X86_64_X87UP_CLASS isn't preceded by X86_64_X87_CLASS,
- everything should be passed in memory. */
- if (classes[i] == X86_64_X87UP_CLASS
- && (classes[i - 1] != X86_64_X87_CLASS))
- {
- /* The first one should never be X86_64_X87UP_CLASS. */
- FFI_ASSERT (i != 0);
- return 0;
- }
- }
- return words;
- }
-
- default:
- FFI_ASSERT(0);
- }
- return 0; /* Never reached. */
-}
-
-/* Examine the argument and return set number of register required in each
- class. Return zero iff parameter should be passed in memory, otherwise
- the number of registers. */
-
-static int
-examine_argument (ffi_type *type, enum x86_64_reg_class classes[MAX_CLASSES],
- _Bool in_return, int *pngpr, int *pnsse)
-{
- int i, n, ngpr, nsse;
-
- n = classify_argument (type, classes, 0);
- if (n == 0)
- return 0;
-
- ngpr = nsse = 0;
- for (i = 0; i < n; ++i)
- switch (classes[i])
- {
- case X86_64_INTEGER_CLASS:
- case X86_64_INTEGERSI_CLASS:
- ngpr++;
- break;
- case X86_64_SSE_CLASS:
- case X86_64_SSESF_CLASS:
- case X86_64_SSEDF_CLASS:
- nsse++;
- break;
- case X86_64_NO_CLASS:
- case X86_64_SSEUP_CLASS:
- break;
- case X86_64_X87_CLASS:
- case X86_64_X87UP_CLASS:
- case X86_64_COMPLEX_X87_CLASS:
- return in_return != 0;
- default:
- abort ();
- }
-
- *pngpr = ngpr;
- *pnsse = nsse;
-
- return n;
-}
-
-/* Perform machine dependent cif processing. */
-
-ffi_status
-ffi_prep_cif_machdep (ffi_cif *cif)
-{
- int gprcount, ssecount, i, avn, n, ngpr, nsse, flags;
- enum x86_64_reg_class classes[MAX_CLASSES];
- size_t bytes;
-
- gprcount = ssecount = 0;
-
- flags = cif->rtype->type;
- if (flags != FFI_TYPE_VOID)
- {
- n = examine_argument (cif->rtype, classes, 1, &ngpr, &nsse);
- if (n == 0)
- {
- /* The return value is passed in memory. A pointer to that
- memory is the first argument. Allocate a register for it. */
- gprcount++;
- /* We don't have to do anything in asm for the return. */
- flags = FFI_TYPE_VOID;
- }
- else if (flags == FFI_TYPE_STRUCT)
- {
- /* Mark which registers the result appears in. */
- _Bool sse0 = SSE_CLASS_P (classes[0]);
- _Bool sse1 = n == 2 && SSE_CLASS_P (classes[1]);
- if (sse0 && !sse1)
- flags |= 1 << 8;
- else if (!sse0 && sse1)
- flags |= 1 << 9;
- else if (sse0 && sse1)
- flags |= 1 << 10;
- /* Mark the true size of the structure. */
- flags |= cif->rtype->size << 12;
- }
- }
-
- /* Go over all arguments and determine the way they should be passed.
- If it's in a register and there is space for it, let that be so. If
- not, add it's size to the stack byte count. */
- for (bytes = 0, i = 0, avn = cif->nargs; i < avn; i++)
- {
- if (examine_argument (cif->arg_types[i], classes, 0, &ngpr, &nsse) == 0
- || gprcount + ngpr > MAX_GPR_REGS
- || ssecount + nsse > MAX_SSE_REGS)
- {
- long align = cif->arg_types[i]->alignment;
-
- if (align < 8)
- align = 8;
-
- bytes = ALIGN (bytes, align);
- bytes += cif->arg_types[i]->size;
- }
- else
- {
- gprcount += ngpr;
- ssecount += nsse;
- }
- }
- if (ssecount)
- flags |= 1 << 11;
- cif->flags = flags;
- cif->bytes = ALIGN (bytes, 8);
-
- return FFI_OK;
-}
-
-void
-ffi_call (ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
-{
- enum x86_64_reg_class classes[MAX_CLASSES];
- char *stack, *argp;
- ffi_type **arg_types;
- int gprcount, ssecount, ngpr, nsse, i, avn;
- _Bool ret_in_memory;
- struct register_args *reg_args;
-
- /* Can't call 32-bit mode from 64-bit mode. */
- FFI_ASSERT (cif->abi == FFI_UNIX64);
-
- /* If the return value is a struct and we don't have a return value
- address then we need to make one. Note the setting of flags to
- VOID above in ffi_prep_cif_machdep. */
- ret_in_memory = (cif->rtype->type == FFI_TYPE_STRUCT
- && (cif->flags & 0xff) == FFI_TYPE_VOID);
- if (rvalue == NULL && ret_in_memory)
- rvalue = alloca (cif->rtype->size);
-
- /* Allocate the space for the arguments, plus 4 words of temp space. */
- stack = alloca (sizeof (struct register_args) + cif->bytes + 4*8);
- reg_args = (struct register_args *) stack;
- argp = stack + sizeof (struct register_args);
-
- gprcount = ssecount = 0;
-
- /* If the return value is passed in memory, add the pointer as the
- first integer argument. */
- if (ret_in_memory)
- reg_args->gpr[gprcount++] = (long) rvalue;
-
- avn = cif->nargs;
- arg_types = cif->arg_types;
-
- for (i = 0; i < avn; ++i)
- {
- size_t size = arg_types[i]->size;
- int n;
-
- n = examine_argument (arg_types[i], classes, 0, &ngpr, &nsse);
- if (n == 0
- || gprcount + ngpr > MAX_GPR_REGS
- || ssecount + nsse > MAX_SSE_REGS)
- {
- long align = arg_types[i]->alignment;
-
- /* Stack arguments are *always* at least 8 byte aligned. */
- if (align < 8)
- align = 8;
-
- /* Pass this argument in memory. */
- argp = (void *) ALIGN (argp, align);
- memcpy (argp, avalue[i], size);
- argp += size;
- }
- else
- {
- /* The argument is passed entirely in registers. */
- char *a = (char *) avalue[i];
- int j;
-
- for (j = 0; j < n; j++, a += 8, size -= 8)
- {
- switch (classes[j])
- {
- case X86_64_INTEGER_CLASS:
- case X86_64_INTEGERSI_CLASS:
- reg_args->gpr[gprcount] = 0;
- memcpy (&reg_args->gpr[gprcount], a, size < 8 ? size : 8);
- gprcount++;
- break;
- case X86_64_SSE_CLASS:
- case X86_64_SSEDF_CLASS:
- reg_args->sse[ssecount++] = *(UINT64 *) a;
- break;
- case X86_64_SSESF_CLASS:
- reg_args->sse[ssecount++] = *(UINT32 *) a;
- break;
- default:
- abort();
- }
- }
- }
- }
-
- ffi_call_unix64 (stack, cif->bytes + sizeof (struct register_args),
- cif->flags, rvalue, fn, ssecount);
-}
-
-
-extern void ffi_closure_unix64(void);
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure* closure,
- ffi_cif* cif,
- void (*fun)(ffi_cif*, void*, void**, void*),
- void *user_data,
- void *codeloc)
-{
- volatile unsigned short *tramp;
-
- /* Sanity check on the cif ABI. */
- {
- int abi = cif->abi;
- if (UNLIKELY (! (abi > FFI_FIRST_ABI && abi < FFI_LAST_ABI)))
- return FFI_BAD_ABI;
- }
-
- tramp = (volatile unsigned short *) &closure->tramp[0];
-
- tramp[0] = 0xbb49; /* mov <code>, %r11 */
- *(void * volatile *) &tramp[1] = ffi_closure_unix64;
- tramp[5] = 0xba49; /* mov <data>, %r10 */
- *(void * volatile *) &tramp[6] = codeloc;
-
- /* Set the carry bit iff the function uses any sse registers.
- This is clc or stc, together with the first byte of the jmp. */
- tramp[10] = cif->flags & (1 << 11) ? 0x49f9 : 0x49f8;
-
- tramp[11] = 0xe3ff; /* jmp *%r11 */
-
- closure->cif = cif;
- closure->fun = fun;
- closure->user_data = user_data;
-
- return FFI_OK;
-}
-
-int
-ffi_closure_unix64_inner(ffi_closure *closure, void *rvalue,
- struct register_args *reg_args, char *argp)
-{
- ffi_cif *cif;
- void **avalue;
- ffi_type **arg_types;
- long i, avn;
- int gprcount, ssecount, ngpr, nsse;
- int ret;
-
- cif = closure->cif;
- avalue = alloca(cif->nargs * sizeof(void *));
- gprcount = ssecount = 0;
-
- ret = cif->rtype->type;
- if (ret != FFI_TYPE_VOID)
- {
- enum x86_64_reg_class classes[MAX_CLASSES];
- int n = examine_argument (cif->rtype, classes, 1, &ngpr, &nsse);
- if (n == 0)
- {
- /* The return value goes in memory. Arrange for the closure
- return value to go directly back to the original caller. */
- rvalue = (void *) reg_args->gpr[gprcount++];
- /* We don't have to do anything in asm for the return. */
- ret = FFI_TYPE_VOID;
- }
- else if (ret == FFI_TYPE_STRUCT && n == 2)
- {
- /* Mark which register the second word of the structure goes in. */
- _Bool sse0 = SSE_CLASS_P (classes[0]);
- _Bool sse1 = SSE_CLASS_P (classes[1]);
- if (!sse0 && sse1)
- ret |= 1 << 8;
- else if (sse0 && !sse1)
- ret |= 1 << 9;
- }
- }
-
- avn = cif->nargs;
- arg_types = cif->arg_types;
-
- for (i = 0; i < avn; ++i)
- {
- enum x86_64_reg_class classes[MAX_CLASSES];
- int n;
-
- n = examine_argument (arg_types[i], classes, 0, &ngpr, &nsse);
- if (n == 0
- || gprcount + ngpr > MAX_GPR_REGS
- || ssecount + nsse > MAX_SSE_REGS)
- {
- long align = arg_types[i]->alignment;
-
- /* Stack arguments are *always* at least 8 byte aligned. */
- if (align < 8)
- align = 8;
-
- /* Pass this argument in memory. */
- argp = (void *) ALIGN (argp, align);
- avalue[i] = argp;
- argp += arg_types[i]->size;
- }
- /* If the argument is in a single register, or two consecutive
- integer registers, then we can use that address directly. */
- else if (n == 1
- || (n == 2 && !(SSE_CLASS_P (classes[0])
- || SSE_CLASS_P (classes[1]))))
- {
- /* The argument is in a single register. */
- if (SSE_CLASS_P (classes[0]))
- {
- avalue[i] = &reg_args->sse[ssecount];
- ssecount += n;
- }
- else
- {
- avalue[i] = &reg_args->gpr[gprcount];
- gprcount += n;
- }
- }
- /* Otherwise, allocate space to make them consecutive. */
- else
- {
- char *a = alloca (16);
- int j;
-
- avalue[i] = a;
- for (j = 0; j < n; j++, a += 8)
- {
- if (SSE_CLASS_P (classes[j]))
- memcpy (a, &reg_args->sse[ssecount++], 8);
- else
- memcpy (a, &reg_args->gpr[gprcount++], 8);
- }
- }
- }
-
- /* Invoke the closure. */
- closure->fun (cif, rvalue, avalue, closure->user_data);
-
- /* Tell assembly how to perform return type promotions. */
- return ret;
-}
-
-#endif /* __x86_64__ */
diff --git a/.pc/x32-abi/src/x86/ffitarget.h b/.pc/x32-abi/src/x86/ffitarget.h
deleted file mode 100644
index 17f60bc..0000000
--- a/.pc/x32-abi/src/x86/ffitarget.h
+++ /dev/null
@@ -1,128 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
- ffitarget.h - Copyright (c) 2012 Anthony Green
- Copyright (c) 1996-2003, 2010 Red Hat, Inc.
- Copyright (C) 2008 Free Software Foundation, Inc.
-
- Target configuration macros for x86 and x86-64.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
-
- ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-#ifndef LIBFFI_H
-#error "Please do not include ffitarget.h directly into your source. Use ffi.h instead."
-#endif
-
-/* ---- System specific configurations ----------------------------------- */
-
-/* For code common to all platforms on x86 and x86_64. */
-#define X86_ANY
-
-#if defined (X86_64) && defined (__i386__)
-#undef X86_64
-#define X86
-#endif
-
-#ifdef X86_WIN64
-#define FFI_SIZEOF_ARG 8
-#define USE_BUILTIN_FFS 0 /* not yet implemented in mingw-64 */
-#endif
-
-/* ---- Generic type definitions ----------------------------------------- */
-
-#ifndef LIBFFI_ASM
-#ifdef X86_WIN64
-#ifdef _MSC_VER
-typedef unsigned __int64 ffi_arg;
-typedef __int64 ffi_sarg;
-#else
-typedef unsigned long long ffi_arg;
-typedef long long ffi_sarg;
-#endif
-#else
-typedef unsigned long ffi_arg;
-typedef signed long ffi_sarg;
-#endif
-
-typedef enum ffi_abi {
- FFI_FIRST_ABI = 0,
-
- /* ---- Intel x86 Win32 ---------- */
-#ifdef X86_WIN32
- FFI_SYSV,
- FFI_STDCALL,
- FFI_THISCALL,
- FFI_FASTCALL,
- FFI_LAST_ABI,
- /* TODO: Add fastcall support for the sake of completeness */
- FFI_DEFAULT_ABI = FFI_SYSV
-
-#elif defined(X86_WIN64)
- FFI_WIN64,
- FFI_LAST_ABI,
- FFI_DEFAULT_ABI = FFI_WIN64
-
-#else
- /* ---- Intel x86 and AMD x86-64 - */
- FFI_SYSV,
- FFI_UNIX64, /* Unix variants all use the same ABI for x86-64 */
- FFI_LAST_ABI,
-#if defined(__i386__) || defined(__i386)
- FFI_DEFAULT_ABI = FFI_SYSV
-#else
- FFI_DEFAULT_ABI = FFI_UNIX64
-#endif
-#endif
-} ffi_abi;
-#endif
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#define FFI_TYPE_SMALL_STRUCT_1B (FFI_TYPE_LAST + 1)
-#define FFI_TYPE_SMALL_STRUCT_2B (FFI_TYPE_LAST + 2)
-#define FFI_TYPE_SMALL_STRUCT_4B (FFI_TYPE_LAST + 3)
-
-#if defined (X86_64) || (defined (__x86_64__) && defined (X86_DARWIN))
-#define FFI_TRAMPOLINE_SIZE 24
-#define FFI_NATIVE_RAW_API 0
-#else
-#ifdef X86_WIN32
-#define FFI_TRAMPOLINE_SIZE 52
-#else
-#ifdef X86_WIN64
-#define FFI_TRAMPOLINE_SIZE 29
-#define FFI_NATIVE_RAW_API 0
-#define FFI_NO_RAW_API 1
-#else
-#define FFI_TRAMPOLINE_SIZE 10
-#endif
-#endif
-#ifndef X86_WIN64
-#define FFI_NATIVE_RAW_API 1 /* x86 has native raw api support */
-#endif
-#endif
-
-#endif
-
diff --git a/.pc/x86_abi_check_fix/.timestamp b/.pc/x86_abi_check_fix/.timestamp
deleted file mode 100644
index e69de29..0000000
--- a/.pc/x86_abi_check_fix/.timestamp
+++ /dev/null
diff --git a/.pc/x86_abi_check_fix/ChangeLog b/.pc/x86_abi_check_fix/ChangeLog
deleted file mode 100644
index 0c825e9..0000000
--- a/.pc/x86_abi_check_fix/ChangeLog
+++ /dev/null
@@ -1,4764 +0,0 @@
-2012-03-03 Andoni Morales Alastruey <ylatuya@gmail.com>
-
- * configure.ac: Add -no-undefined for both 32- and 64-bit x86
- windows-like hosts.
- * configure: Rebuilt.
-
-2012-02-23 Anthony Green <green@moxielogic.com>
-
- * src/*/ffitarget.h: Ensure that users never include ffitarget.h
- directly.
-
-2012-02-10 Kai Tietz <ktietz@redhat.com>
-
- * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
- windows target.
- * configure: Regenerated.
-
-2012-02-08 Kai Tietz <ktietz@redhat.com>
-
- * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
- also FFI_THISCALL.
- * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
- (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
- (ffi_prep_closure_loc): Add FFI_THISCALL support.
- * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
- * src/x86/win32.S (ffi_closure_THISCALL): New closure code
- for thiscall-calling convention.
- * testsuite/libffi.call/closure_thiscall.c: New test.
-
-2012-01-28 Kai Tietz <ktietz@redhat.com>
-
- * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
- argument to prototype for specify calling-convention.
- (ffi_call): Add support for stdcall/thiscall convention.
- (ffi_prep_args): Likewise.
- (ffi_raw_call): Likewise.
- * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
- FFI_FASTCALL.
- * src/x86/win32.S (_ffi_call_win32): Add support for
- fastcall/thiscall calling-convention calls.
- * testsuite/libffi.call/fastthis1_win32.c: New test.
- * testsuite/libffi.call/fastthis2_win32.c: New test.
- * testsuite/libffi.call/fastthis3_win32.c: New test.
- * testsuite/libffi.call/strlen2_win32.c: New test.
- * testsuite/libffi.call/many2_win32.c: New test.
- * testsuite/libffi.call/struct1_win32.c: New test.
- * testsuite/libffi.call/struct2_win32.c: New test.
-
-2012-01-23 Uros Bizjak <ubizjak@gmail.com>
-
- * src/alpha/ffi.c (ffi_prep_closure_loc): Check for bad ABI.
-
-2012-01-23 Anthony Green <green@moxielogic.com>
- Chris Young <cdyoung@ntlworld.com>
-
- * configure.ac: Add Amiga support.
- * configure: Rebuilt.
-
-2012-01-23 Dmitry Nadezhin <dmitry.nadezhin@gmail.com>
-
- * include/ffi_common.h (LIKELY, UNLIKELY): Fix definitions.
-
-2012-01-23 Andreas Schwab <schwab@linux-m68k.org>
-
- * src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
- mc68000. Test for __HAVE_68881__ in addition to __MC68881__.
-
-2012-01-19 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/48496
- * src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
-
-2012-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (i?86-*-*): Set TARGET to X86_64.
- * configure: Regenerate.
-
-2011-12-07 Andrew Pinski <apinski@cavium.com>
-
- PR libffi/50051
- * src/mips/n32.S: Add ".set mips4".
-
-2011-11-21 Andreas Tobler <andreast@fgznet.ch>
-
- * configure: Regenerate.
-
-2011-11-12 David Gilbert <david.gilbert@linaro.org>
-
- * doc/libffi.texi, include/ffi.h.in, include/ffi_common.h,
- man/Makefile.am, man/ffi.3, man/ffi_prep_cif.3,
- man/ffi_prep_cif_var.3, src/arm/ffi.c, src/arm/ffitarget.h,
- src/cris/ffi.c, src/prep_cif.c,
- testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/float_va.c: Many changes to support variadic
- function calls.
-
-2011-11-12 Kyle Moffett <Kyle.D.Moffett@boeing.com>
-
- * src/powerpc/ffi.c, src/powerpc/ffitarget.h,
- src/powerpc/ppc_closure.S, src/powerpc/sysv.S: Many changes for
- softfloat powerpc variants.
-
-2011-11-12 Petr Salinger <Petr.Salinger@seznam.cz>
-
- * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Fix kfreebsd support.
- * configure: Rebuilt.
-
-2011-11-12 Timothy Wall <twall@users.sf.net>
-
- * src/arm/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV): Max
- alignment of 4 for wince on ARM.
-
-2011-11-12 Kyle Moffett <Kyle.D.Moffett@boeing.com>
- Anthony Green <green@moxielogic.com>
-
- * src/ppc/sysv.S, src/ppc/ffi.c: Remove use of ppc string
- instructions (not available on some cores, like the PPC440).
-
-2011-11-12 Kimura Wataru <kimuraw@i.nifty.jp>
-
- * m4/ax_enable_builddir: Change from string comparison to numeric
- comparison for wc output.
- * configure.ac: Enable FFI_MMAP_EXEC_WRIT for darwin11 aka Mac OS
- X 10.7.
- * configure: Rebuilt.
-
-2011-11-12 Anthony Green <green@moxielogic.com>
-
- * Makefile.am (AM_CCASFLAGS): Add -g option to build assembly
- files with debug info.
- * Makefile.in: Rebuilt.
-
-2011-11-12 Jasper Lievisse Adriaanse <jasper@openbsd.org>
-
- * README: Update list of supported OpenBSD systems.
-
-2011-11-12 Anthony Green <green@moxielogic.com>
-
- * libtool-version: Update.
- * Makefile.am (nodist_libffi_la_SOURCES): Add src/debug.c if
- FFI_DEBUG.
- (libffi_la_SOURCES): Remove src/debug.c
- (EXTRA_DIST): Add src/debug.c
- * Makefile.in: Rebuilt.
- * README: Update for 3.0.11.
-
-2011-11-10 Richard Henderson <rth@redhat.com>
-
- * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
- * configure, aclocal.m4: Rebuild.
-
-2011-09-04 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/49594
- * src/powerpc/darwin_closure.S (stubs): Make the stub binding
- helper reference track the architecture pointer size.
-
-2011-08-25 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
- instructions.
- * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
-
-2011-07-11 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46660
- * testsuite/libffi.call/cls_double_va.c: xfail dg-output on
- mips-sgi-irix6*.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
- PRId8 instead of %hhu, %hhd.
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
- PRIu8): Define.
- [__sgi__] (PRId8, PRIu8): Define.
-
-2011-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
- Define.
- Use them to handle ELF vs. ECOFF differences.
- [__osf__] (_GLOBAL__F_ffi_call_osf): Define.
-
-2011-03-30 Timothy Wall <twall@users.sf.net>
-
- * src/powerpc/darwin.S: Fix unknown FDE encoding.
- * src/powerpc/darwin_closure.S: ditto.
-
-2011-02-25 Anthony Green <green@moxielogic.com>
-
- * src/powerpc/ffi.c (ffi_prep_closure_loc): Allow for more
- 32-bit ABIs.
-
-2011-02-15 Anthony Green <green@moxielogic.com>
-
- * m4/ax_cc_maxopt.m4: Don't -malign-double or use -ffast-math.
- * configure: Rebuilt.
-
-2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2011-02-13 Anthony Green <green@moxielogic.com>
-
- * include/ffi_common.h (UNLIKELY, LIKELY): Define.
- * src/x86/ffi64.c (UNLIKELY, LIKELY): Remove definition.
- * src/prep_cif.c (UNLIKELY, LIKELY): Remove definition.
-
- * src/prep_cif.c (initialize_aggregate): Convert assertion into
- FFI_BAD_TYPEDEF return. Initialize arg size and alignment to 0.
-
- * src/pa/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
- just return FFI_BAD_ABI when things are wrong.
- * src/arm/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/powerpc/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/mips/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/ia64/ffi.c (ffi_prep_closure_loc): Ditto.
- * src/avr32/ffi.c (ffi_prep_closure_loc): Ditto.
-
-2011-02-11 Anthony Green <green@moxielogic.com>
-
- * src/sparc/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
- just return FFI_BAD_ABI when things are wrong.
-
-2011-02-09 Stuart Shelton <srcshelton@gmail.com>
-
- http://bugs.gentoo.org/show_bug.cgi?id=286911
- * src/mips/ffitarget.h: Clean up error messages.
- * src/java_raw_api.c (ffi_java_translate_args): Cast raw arg to
- ffi_raw*.
- * include/ffi.h.in: Add pragma for SGI compiler.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * configure.ac: Add powerpc64-*-darwin* support.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * README: Mention Interix.
-
-2011-02-09 Jonathan Callen <abcd@gentoo.org>
-
- * configure.ac: Add Interix to win32/cygwin/mingw case.
- * configure: Ditto.
- * src/closures.c: Treat Interix like Cygwin, instead of as a
- generic win32.
-
-2011-02-09 Anthony Green <green@moxielogic.com>
-
- * testsuite/libffi.call/err_bad_typedef.c: Remove xfail.
- * testsuite/libffi.call/err_bad_abi.c: Remove xfail.
- * src/x86/ffi64.c (UNLIKELY, LIKELY): Define.
- (ffi_prep_closure_loc): Check for bad ABI.
- * src/prep_cif.c (UNLIKELY, LIKELY): Define.
- (initialize_aggregate): Check for bad types.
-
-2011-02-09 Landon Fuller <landonf@plausible.coop>
-
- * Makefile.am (EXTRA_DIST): Add build-ios.sh, src/arm/gentramp.sh,
- src/arm/trampoline.S.
- (nodist_libffi_la_SOURCES): Add src/arc/trampoline.S.
- * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Define.
- * src/arm/ffi.c (ffi_trampoline_table)
- (ffi_closure_trampoline_table_page, ffi_trampoline_table_entry)
- (FFI_TRAMPOLINE_CODELOC_CONFIG, FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET)
- (FFI_TRAMPOLINE_COUNT, ffi_trampoline_lock, ffi_trampoline_tables)
- (ffi_trampoline_table_alloc, ffi_closure_alloc, ffi_closure_free):
- Define for FFI_EXEC_TRAMPOLINE_TABLE case (iOS).
- (ffi_prep_closure_loc): Handl FFI_EXEC_TRAMPOLINE_TABLE case
- separately.
- * src/arm/sysv.S: Handle Apple iOS host.
- * src/closures.c: Handle FFI_EXEC_TRAMPOLINE_TABLE case.
- * build-ios.sh: New file.
- * fficonfig.h.in, configure, Makefile.in: Rebuilt.
- * README: Mention ARM iOS.
-
-2011-02-08 Oren Held <orenhe@il.ibm.com>
-
- * src/dlmalloc.c (_STRUCT_MALLINFO): Define in order to avoid
- redefinition of mallinfo on HP-UX.
-
-2011-02-08 Ginn Chen <ginn.chen@oracle.com>
-
- * src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
- aggregate return ABI. Flush cache.
- (ffi_prep_closure_loc): Flush cache.
-
-2011-02-11 Anthony Green <green@moxielogic.com>
-
- From Tom Honermann <tom.honermann@oracle.com>:
- * src/powerpc/aix.S (ffi_call_AIX): Support for xlc toolchain on
- AIX. Declare .ffi_prep_args. Insert nops after branch
- instructions so that the AIX linker can insert TOC reload
- instructions.
- * src/powerpc/aix_closure.S: Declare .ffi_closure_helper_DARWIN.
-
-2011-02-08 Ed <ed@kdtc.net>
-
- * src/powerpc/asm.h: Fix grammar nit in comment.
-
-2011-02-08 Uli Link <ul.mcamafia@linkitup.de>
-
- * include/ffi.h.in (FFI_64_BIT_MAX): Define and use.
-
-2011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46661
- * testsuite/libffi.call/cls_pointer.c (main): Cast void * to
- uintptr_t first.
- * testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
-
-2011-02-08 Rafael Avila de Espindola <respindola@mozilla.com>
-
- * configure.ac: Fix x86 test for pc related relocs.
- * configure: Rebuilt.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
- Handle case when CPU variant does not have long double support.
- * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
- and cores with soft floating point.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * configure.ac: Add mips*-*-rtems* support.
- * configure: Regenerate.
- * src/mips/ffitarget.h: Ensure needed constants are available
- for targets which do not have sgidefs.h.
-
-2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR target/40125
- * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
- * configure: Regenerate.
-
-2010-12-18 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/29152
- PR libffi/42378
- * src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
- (FFI_TRAMPOLINE_SIZE): Update for Darwin64.
- * src/powerpc/darwin.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
- backslashes.
- (libffi_cv_as_string_pseudo_op): Likewise.
- * configure: Regenerate.
-
-2010-12-03 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
- (ffi_closure_VFP): Same.
- (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
- directive.
-
-2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
- (PRIuPTR): Define.
-
-2010-11-29 Richard Henderson <rth@redhat.com>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
- (.eh_frame): Use FDE_ENCODING.
- (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
-
-2010-11-22 Jacek Caban <jacek@codeweavers.com>
-
- * configure.ac: Check for symbol underscores on mingw-w64.
- * configure: Rebuilt.
- * src/x86/win64.S: Correctly access extern symbols in respect to
- underscores.
-
-2010-11-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp: Rename ...
- * testsuite/lib/libffi.exp: ... to this.
- * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
- * libffi/testsuite/libffi.special/special.exp: Likewise.
-
-2010-10-28 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
- code, new parameter, and return value. Update comments.
- (ffi_prep_cif_machdep): Add case for VFP struct return values. Add
- call to layout_vfp_args().
- (ffi_call_SYSV): Update declaration.
- (ffi_call_VFP): New declaration.
- (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
- when ABI is FFI_VFP.
- (ffi_closure_VFP): New declaration.
- (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
- ffi_prep_incoming_args_SYSV().
- (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
- case handling.
- (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
- construction under VFP hard-float.
- (rec_vfp_type_p): New function.
- (vfp_type_p): Same.
- (place_vfp_arg): Same.
- (layout_vfp_args): Same.
- * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
- based on __ARM_PCS_VFP.
- (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
- fields.
- (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
- (FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
- * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
- direct call. Move function pointer load upwards.
- (ffi_call_VFP): New function.
- (ffi_closure_VFP): Same.
-
- * testsuite/lib/libffi-dg.exp (check-flags): New function.
- (dg-skip-if): New function.
- * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
- and compiler options include -mfloat-abi=hard.
- * testsuite/libffi.call/cls_longdouble_va.c: Same.
-
-2010-10-01 Jakub Jelinek <jakub@redhat.com>
-
- PR libffi/45677
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
- a multiple of 8.
- * testsuite/libffi.call/many2.c: New test.
-
-2010-08-20 Mark Wielaard <mjw@redhat.com>
-
- * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
- returns NULL.
-
-2010-08-09 Andreas Tobler <andreast@fgznet.ch>
-
- * configure.ac: Add target powerpc64-*-freebsd*.
- * configure: Regenerate.
- * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
- -mlong-double-128 only to linux targets.
- * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
- * testsuite/libffi.call/cls_longdouble.c: Likewise.
- * testsuite/libffi.call/huge_struct.c: Likewise.
-
-2010-08-05 Dan Witte <dwitte@mozilla.com>
-
- * Makefile.am: Pass FFI_DEBUG define to msvcc.sh for linking to the
- debug CRT when --enable-debug is given.
- * configure.ac: Define it.
- * msvcc.sh: Translate -g and -DFFI_DEBUG appropriately.
-
-2010-08-04 Dan Witte <dwitte@mozilla.com>
-
- * src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64
- platforms.
- * src/x86/ffi.c: Remove redundant ifdef checks.
- * src/prep_cif.c: Push stack space computation into src/x86/ffi.c
- for X86_ANY so return value space doesn't get added twice.
-
-2010-08-03 Neil Rashbrooke <neil@parkwaycc.co.uk>
-
- * msvcc.sh: Don't pass -safeseh to ml64 because behavior is buggy.
-
-2010-07-22 Dan Witte <dwitte@mozilla.com>
-
- * src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
- * src/prep_cif.c: Fix ABI assertion.
- * src/cris/ffi.c: Ditto.
-
-2010-07-10 Evan Phoenix <evan@fallingsnow.net>
-
- * src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
-
-2010-07-07 Dan Horák <dan@danny.cz>
-
- * include/ffi.h.in: Protect #define with #ifndef.
- * src/powerpc/ffitarget.h: Ditto.
- * src/s390/ffitarget.h: Ditto.
- * src/sparc/ffitarget.h: Ditto.
-
-2010-07-07 Neil Roberts <neil@linux.intel.com>
-
- * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
- 16-bytes.
-
-2010-07-02 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
- * Makefile.in: Regenerated.
-
-2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
- output, too.
- (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
- (libffi_cv_as_string_pseudo_op): Check for .string.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
-
-2010-05-11 Dan Witte <dwitte@mozilla.com>
-
- * doc/libffi.tex: Document previous change.
-
-2010-05-11 Makoto Kato <m_kato@ga2.so-net.ne.jp>
-
- * src/x86/ffi.c (ffi_call): Don't copy structs passed by value.
-
-2010-05-05 Michael Kohler <michaelkohler@live.com>
-
- * src/dlmalloc.c (dlfree): Fix spelling.
- * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
- * configure.ac: Ditto.
- * configure: Rebuilt.
-
-2010-04-13 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Build with -W3 instead of -Wall.
- * src/powerpc/ffi_darwin.c: Remove build warnings.
- * src/x86/ffi.c: Ditto.
- * src/x86/ffitarget.h: Ditto.
-
-2010-04-12 Dan Witte <dwitte@mozilla.com>
- Walter Meinl <wuno@lsvw.de>
-
- * configure.ac: Add OS/2 support.
- * configure: Rebuilt.
- * src/closures.c: Ditto.
- * src/dlmalloc.c: Ditto.
- * src/x86/win32.S: Ditto.
-
-2010-04-07 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
-
-2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2010-03-30 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Disable build warnings.
- * README (tested): Clarify windows build procedure.
-
-2010-03-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * libffi/src/x86/unix64.S (.eh_frame)
- [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
-
-2010-03-14 Matthias Klose <doko@ubuntu.com>
-
- * src/x86/ffi64.c: Fix typo in comment.
- * src/x86/ffi.c: Use /* ... */ comment style.
-
-2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/libffi.texi (The Closure API): Fix typo.
- * doc/libffi.info: Remove.
-
-2010-02-15 Matthias Klose <doko@ubuntu.com>
-
- * src/arm/sysv.S (__ARM_ARCH__): Define for processor
- __ARM_ARCH_7EM__.
-
-2010-01-15 Anthony Green <green@redhat.com>
-
- * README: Add notes on building with Microsoft Visual C++.
-
-2010-01-15 Daniel Witte <dwitte@mozilla.com>
-
- * msvcc.sh: New file.
-
- * src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
- * src/x86/ffi.c: Tweak function declaration and remove excess
- parens.
- * include/ffi.h.in: Add __declspec(align(8)) to typedef struct
- ffi_closure.
-
- * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
- function ffi_call_win32 on X86_WIN32.
- * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
- (ffi_call_STDCALL): Remove.
-
- * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
- to ffi_prep_cif_machdep for x86.
- * src/x86/ffi.c (ffi_prep_cif_machdep): To here.
-
-2010-01-15 Oliver Kiddle <okiddle@yahoo.co.uk>
-
- * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
- Sun Studio compiler compatibility.
-
-2010-01-12 Conrad Irwin <conrad.irwin@gmail.com>
-
- * doc/libffi.texi: Add closure example.
-
-2010-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40701
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
- PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
- * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
- alpha*-dec-osf*.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/return_ll1.c: Likewise.
- * testsuite/libffi.call/stret_medium2.c: Likewise.
- * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
- MAP_FAILED to char *.
-
-2010-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
-
-2009-12-31 Anthony Green <green@redhat.com>
-
- * README: Update for libffi 3.0.9.
-
-2009-12-27 Matthias Klose <doko@ubuntu.com>
-
- * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
- appropriate.
- * configure: Rebuilt.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
- avr32*-*-*.
- * testsuite/libffi.call/cls_double_va.c: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
- and inttypes.h.
- * testsuite/libffi.special/unwindtest.cc: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-openbsd*.
- * configure: Rebuilt.
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
- openbsd programs with -lpthread.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
- mips*-*-* and arm*-*-*.
- * testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c,
- testsuite/libffi.call/stret_medium2.c,
- testsuite/libffi.call/stret_medium.c,
- testsuite/libffi.call/stret_large.c,
- testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
-
-2009-12-31 Kay Tietz <ktietz70@googlemail.com>
-
- * testsuite/libffi.call/ffitest.h,
- testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
- definitions.
-
-2009-12-31 Carlo Bramini <carlo.bramix@libero.it>
-
- * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
- * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
-
-2009-12-31 Anthony Green <green@redhat.com>
- Blake Chaffin.
-
- * testsuite/libffi.call/huge_struct.c: New test case from Blake
- Chaffin @ Apple.
-
-2009-12-28 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
- local variables.
- (aix_adjust_aggregate_sizes): New function.
- (ffi_prep_cif_machdep): Call it.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
- * configure: Regenerate.
- * fficonfig.h.in: Likewise.
- * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
- Solaris/x86.
-
-2009-12-26 Andreas Schwab <schwab@linux-m68k.org>
-
- * 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.
-
-2009-12-25 Matthias Klose <doko@ubuntu.com>
-
- * man/ffi_call.3: Fix #include in examples.
- * doc/libffi.texi: Add dircategory.
-
-2009-12-25 Frank Everdij <f.p.x.everdij@tudelft.nl>
-
- * include/ffi.h.in: Placed '__GNUC__' ifdef around
- '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
- IRIX MIPSPro c99.
- * include/ffi_common.h: Added '__sgi' define to non
- '__attribute__((__mode__()))' integer typedefs.
- * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
- ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
- (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
- FFI_LONGDOUBLE support and alignment(N32 only).
- * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
- fixed non '__attribute__((__mode__()))' integer typedefs.
- * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
- since they are Linux/GNU Assembler specific.
-
-2009-12-25 Bradley Smith <brad@brad-smith.co.uk>
-
- * configure.ac, Makefile.am, src/avr32/ffi.c,
- src/avr32/ffitarget.h,
- src/avr32/sysv.S: Add AVR32 port.
- * configure, Makefile.in: Rebuilt.
-
-2009-12-21 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
- * configure: Regenerate.
-
-2009-12-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
- type on HP-UX.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
- double' arguments.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40700
- * src/closures.c [X86_64 && __sun__ && __svr4__]
- (FFI_MMAP_EXEC_WRIT): Define.
-
-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.
-
-2009-12-07 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
- typo.
-
-2009-12-05 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
- code.
- * src/powerpc/aix_closure.S: Same.
-
-2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
- linux64_closure.S.
-
-2009-12-04 Uros Bizjak <ubizjak@gmail.com>
-
- 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.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
- pfr for long double split between fpr13 and stack.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
- fparg_count twice for long double.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- PR libffi/42243
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03 Uros Bizjak <ubizjak@gmail.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
- Remove xfails for x86 linux targets.
-
-2009-12-02 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
- case.
-
-2009-12-01 David Edelsohn <edelsohn@gnu.org>
-
- * 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.
-
-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.
-
-2009-11-02 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/41908
- * testsuite/libffi.call/testclosure.c: New test.
-
-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.
-
-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.
-
-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.
-
-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.
-
-2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.am (install-html, install-pdf): Remove.
- * Makefile.in: Regenerate.
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2011-08-22 Jasper Lievisse Adriaanse <jasper@openbsd.org>
-
- * configure.ac: Add OpenBSD/hppa and OpenBSD/powerpc support.
- * configure: Rebuilt.
-
-2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24 Dave Korn <dave.korn.cygwin@gmail.com>
-
- 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.
-
-2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
-
- 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.
-
-2009-07-01 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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 "".)
-
-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.
-
-2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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.
-
-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.
-
-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.
-
-2009-06-16 Andrew Haley <aph@redhat.com>
-
- * configure.ac (TARGETDIR): Add missing blank lines.
- * configure: Regenerate.
-
-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.
-
-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.
-
-2009-06-12 Andrew Haley <aph@redhat.com>
-
- * Makefile.am: Remove info_TEXINFOS.
-
-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-11 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * 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.
-
-2009-06-09 Andrew Haley <aph@redhat.com>
-
- * src/x86/freebsd.S: Add missing file.
-
-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).
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * README: Import from libffi 3.0.8.
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Add xfails.
- * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
- * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
- * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
- * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
- * testsuite/libffi.call/stret_medium.c: Likewise.
- * testsuite/libffi.call/stret_large2.c: Likewise.
- * testsuite/libffi.call/stret_large.c: Likewise.
-
-2008-12-26 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_align_longdouble.c,
- testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
- failures on x86_64 cygwin/mingw.
-
-2008-12-22 Timothy Wall <twall@users.sf.net>
-
- * 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_loc_fn0.c,
- testsuite/libffi.call/closure_stdcall.c,
- testsuite/libffi.call/cls_align_pointer.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
- pointer to integer (intptr_t).
- * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_dbls_struct.c,
- testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c,
- testsuite/libffi.call/err_bad_abi.c: Clean up failures from
- compiler warnings.
-
-2008-03-04 Anthony Green <green@redhat.com>
- Blake Chaffin
- hos@tamanegi.org
-
- * testsuite/libffi.call/cls_align_longdouble_split2.c
- testsuite/libffi.call/cls_align_longdouble_split.c
- testsuite/libffi.call/cls_dbls_struct.c
- testsuite/libffi.call/cls_double_va.c
- testsuite/libffi.call/cls_longdouble.c
- testsuite/libffi.call/cls_longdouble_va.c
- testsuite/libffi.call/cls_pointer.c
- testsuite/libffi.call/cls_pointer_stack.c
- testsuite/libffi.call/err_bad_abi.c
- testsuite/libffi.call/err_bad_typedef.c
- testsuite/libffi.call/stret_large2.c
- testsuite/libffi.call/stret_large.c
- testsuite/libffi.call/stret_medium2.c
- testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
- libffi.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
- stdcall changes.
-
-2008-02-26 Anthony Green <green@redhat.com>
- Thomas Heller <theller@ctypes.org>
-
- * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
- comment.
-
-2008-02-03 Timothy Wall <twall@users.sf.net>
-
- * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
- offset based on code pointer, not data pointer.
-
-2008-01-31 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
- closures.
- * src/x86/ffitarget.h: Increase size of trampoline for stdcall
- closures.
- * src/x86/win32.S: Add assembly for stdcall closure.
- * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Change void (*)() to void (*)(void).
- * src/x86/ffi.c: Likewise.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ppc_closure.S: Insert licence header.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/m68k/sysv.S: Likewise.
-
- * src/sh64/ffi.c: Change void (*)() to void (*)(void).
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/m32r/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi64.c: Likewise.
- * src/alpha/ffi.c: Likewise.
- * src/alpha/osf.S: Likewise.
- * src/frv/ffi.c: Likewise.
- * src/s390/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/pa/hpux32.S: Likewise.
- * src/ia64/unix.S: Likewise.
- * src/ia64/ffi.c: Likewise.
- * src/sparc/ffi.c: Likewise.
- * src/mips/ffi.c: Likewise.
- * src/sh/ffi.c: Likewise.
-
-2008-02-15 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
- Define (conditionally), and use it to include cachectl.h.
- (ffi_prep_closure_loc): Fix cache flushing.
- * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- include/ffi.h.in,
- src/arm/ffitarget.h,
- src/arm/ffi.c,
- src/arm/sysv.S,
- src/powerpc/ffitarget.h,
- src/closures.c,
- src/sh64/ffitarget.h,
- src/sh64/ffi.c,
- src/sh64/sysv.S,
- src/types.c,
- src/x86/ffi64.c,
- src/x86/ffitarget.h,
- src/x86/win32.S,
- src/x86/darwin.S,
- src/x86/ffi.c,
- src/x86/sysv.S,
- src/x86/unix64.S,
- src/alpha/ffitarget.h,
- src/alpha/ffi.c,
- src/alpha/osf.S,
- src/m68k/ffitarget.h,
- src/frv/ffitarget.h,
- src/frv/ffi.c,
- src/s390/ffitarget.h,
- src/s390/sysv.S,
- src/cris/ffitarget.h,
- src/pa/linux.S,
- src/pa/ffitarget.h,
- src/pa/ffi.c,
- src/raw_api.c,
- src/ia64/ffitarget.h,
- src/ia64/unix.S,
- src/ia64/ffi.c,
- src/ia64/ia64_flags.h,
- src/java_raw_api.c,
- src/debug.c,
- src/sparc/v9.S,
- src/sparc/ffitarget.h,
- src/sparc/ffi.c,
- src/sparc/v8.S,
- src/mips/ffitarget.h,
- src/mips/n32.S,
- src/mips/o32.S,
- src/mips/ffi.c,
- src/prep_cif.c,
- src/sh/ffitarget.h,
- src/sh/ffi.c,
- src/sh/sysv.S: Update license text.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * src/x86/win32.S (_ffi_closure_STDCALL): New function.
- (.eh_frame): Add FDE for it.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * configure.ac: Also check if assembler supports pc-relative
- relocs on X86_WIN32 targets.
- * configure: Regenerate.
- * src/x86/win32.S (ffi_prep_args): Declare extern, not global.
- (_ffi_call_SYSV): Add missing function type symbol .def and
- add EH markup labels.
- (_ffi_call_STDCALL): Likewise.
- (_ffi_closure_SYSV): Likewise.
- (_ffi_closure_raw_SYSV): Likewise.
- (.eh_frame): Add hand-crafted EH data.
-
-2009-04-09 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
- version 3 of the GNU General Public License and to point readers
- at the COPYING3 file and the FSF's license web page.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-12-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libffi/26048
- * configure.ac (HAVE_AS_X86_PCREL): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
- RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
- RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
- * src/x86/unix64.S (.Lstore_table): Move to .text section.
- (.Lload_table): Likewise.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
- signed/unsigned int8/16 return values.
- * src/sparc/v8.S (ffi_call_v8): Likewise.
- (ffi_closure_v8): Likewise.
-
-2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
- Steve Ellcey <sje@cup.hp.com>
-
- * configure: Regenerate for new libtool.
- * Makefile.in: Ditto.
- * include/Makefile.in: Ditto.
- * aclocal.m4: Ditto.
-
-2008-08-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
- FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
- Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
- Adjust copyright notice.
- * src/powerpc/ffi.c: Add two new flags to indicate if we have one
- register or two register to use for FFI_SYSV structs.
- (ffi_prep_cif_machdep): Pass the right register flag introduced above.
- (ffi_closure_helper_SYSV): Fix the return type for
- FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
- Adjust copyright notice.
-
-2008-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
- int.
-
-2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2008-06-07 Joseph Myers <joseph@codesourcery.com>
-
- * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
- powerpc-*-beos*): Remove.
- * configure: Regenerate.
-
-2008-05-09 Julian Brown <julian@codesourcery.com>
-
- * Makefile.am (LTLDFLAGS): New.
- (libffi_la_LDFLAGS): Use above.
- * Makefile.in: Regenerate.
-
-2008-04-18 Paolo Bonzini <bonzini@gnu.org>
-
- PR bootstrap/35457
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2008-03-26 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add .note.GNU-stack on Linux.
- * src/sh64/sysv.S: Likewise.
-
-2008-03-26 Daniel Jacobowitz <dan@debian.org>
-
- * src/arm/sysv.S: Fix ARM comment marker.
-
-2008-03-26 Jakub Jelinek <jakub@redhat.com>
-
- * src/alpha/osf.S: Add .note.GNU-stack on Linux.
- * src/s390/sysv.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
- * src/x86/unix64.S: Likewise.
- * src/x86/sysv.S: Likewise.
- * src/sparc/v8.S: Likewise.
- * src/sparc/v9.S: Likewise.
- * src/m68k/sysv.S: Likewise.
- * src/arm/sysv.S: Likewise.
-
-2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * aclocal.m4: Regenerate.
- * configure: Likewise.
- * Makefile.in: Likewise.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2008-02-12 Bjoern Koenig <bkoenig@alpha-tierchen.de>
- Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-freebsd* target.
- * configure: Regenerate.
-
-2008-01-30 H.J. Lu <hongjiu.lu@intel.com>
-
- PR libffi/34612
- * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
- returning struct.
-
- * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
- tests.
-
-2008-01-24 David Edelsohn <edelsohn@gnu.org>
-
- * configure: Regenerate.
-
-2008-01-06 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
-
-2008-01-05 Andreas Tobler <a.tobler@schweiz.org>
-
- PR testsuite/32843
- * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
- signed/unsigned int8/16 for X86_DARWIN.
- Updated copyright info.
- Handle one and two byte structs with special cif->flags.
- * src/x86/ffitarget.h: Add special types for one and two byte structs.
- Updated copyright info.
- * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
- sysv.S
- Remove code to pop args from the stack after call.
- Special-case signed/unsigned for int8/16, one and two byte structs.
- (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
- FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
- FFI_TYPE_SINT32.
- Updated copyright info.
-
-2007-12-08 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_call_N32): Replace dadd with ADDU, dsub with
- SUBU, add with ADDU and use smaller code sequences.
-
-2007-12-07 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
- type.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
- defined.
- (ffi_java_raw): New typedef.
- (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
- ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
- ffi_java_raw.
- (ffi_java_raw_closure) : Same.
- (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
- parameter types.
- * src/java_raw_api.c (ffi_java_raw_size): Replace FFI_SIZEOF_ARG with
- FFI_SIZEOF_JAVA_RAW.
- (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
- Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
- sizeof(ffi_java_raw) for alignment calculations.
- (ffi_java_ptrarray_to_raw): Same.
- (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
- if FFI_SIZEOF_JAVA_RAW == 4.
- (ffi_java_raw_to_rvalue): Same.
- (ffi_java_raw_call): Change type of raw to ffi_java_raw.
- (ffi_java_translate_args): Same.
- (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
- parameter types.
- * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
- pointer values.
-
-2007-12-01 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/31937
- * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
- Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
- * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
- set the NUM_FPR_ARG_REGISTERS according to.
- Add support for potential soft-float support under hard-float
- architecture.
- (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
- FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
- to the FFI_LINUX_SOFT_FLOAT ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Make sure not to store float/double
- on archs where __NO_FPRS__ is true.
- Add FFI_TYPE_UINT128 support.
- * src/powerpc/sysv.S: Add support for soft-float long-double-128.
- Adjust copyright notice.
-
-2007-11-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
- * include/ffi_common.h: ... here.
- Update copyright.
-
-2007-11-17 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
- * testsuite/libffi.call/return_ldl.c: New test.
-
-2007-09-04 <aph@redhat.com>
-
- * src/arm/sysv.S (UNWIND): New.
- (Whole file): Conditionally compile unwinder directives.
- * src/arm/sysv.S: Add unwinder directives.
-
- * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
- Only treat r0 as a struct address if we're actually returning a
- struct by address.
- Only copy the bytes that are actually within a struct.
- (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
- is returned in r0, not passed by address.
- (ffi_call): Allocate a word-sized temporary for the case where
- a composite is returned in r0.
- (ffi_prep_incoming_args_SYSV): Align as necessary.
-
-2007-08-05 Steven Newbury <s_j_newbury@yahoo.co.uk>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
- directly using the sys_cacheflush syscall.
-
-2007-07-27 Andrew Haley <aph@redhat.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
-
-2007-09-03 Maciej W. Rozycki <macro@linux-mips.org>
-
- * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure: Likewise.
-
-2007-08-24 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/return_sl.c: New test.
-
-2007-08-10 David Daney <ddaney@avtrex.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/nested_struct5.c,
- testsuite/libffi.call/cls_double.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/nested_struct.c,
- testsuite/libffi.call/cls_2byte.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_sint16.c,
- testsuite/libffi.call/cls_align_uint32.c,
- testsuite/libffi.call/cls_20byte.c,
- testsuite/libffi.call/cls_float.c,
- testsuite/libffi.call/nested_struct2.c,
- testsuite/libffi.call/cls_5_1_byte.c,
- testsuite/libffi.call/nested_struct4.c,
- testsuite/libffi.call/cls_24byte.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: Remove xfail for mips64*-*-*.
-
-2007-08-10 David Daney <ddaney@avtrex.com>
-
- 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.
-
-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*.
- * 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.
-
-2006-12-13 Andreas Tobler <a.tobler@schweiz.org>
-
- * aclocal.m4: Regenerate with aclocal -I .. as written in the
- Makefile.am.
-
-2006-10-31 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
- (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
- Darwin.
- * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
- * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10 Paolo Bonzini <bonzini@gnu.org>
- Sandro Tolaini <tolaini@libero.it>
-
- * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
- conditional.
- * configure: Regenerated.
- * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
- (EXTRA_DIST): Add src/x86/darwin.S.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
- X86_WIN32, and additionally align stack to 16 bytes.
- * src/x86/darwin.S: New, based on sysv.S.
- * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12 David Daney <ddaney@avtrex.com>
-
- PR libffi/23935
- * include/Makefile.am: Install both ffi.h and ffitarget.h in
- $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
- * aclocal.m4: Regenerated for automake 1.9.6.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
-2006-08-17 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h: Remove lint directives.
- * include/ffi.h.in: Likewise.
-
-2006-07-25 Torsten Schoenfeld <kaffeetisch@gmx.de>
-
- * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
- for 32-bit architectures.
- * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
- xfail remains for mips64.
-
-2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
-
- * Makefile.am: Add install-html target. Add install-html to .PHONY
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
- stack slot.
-
-2006-04-22 Andreas Tobler <a.tobler@schweiz.ch>
-
- * README: Remove notice about 'Crazy Comments'.
- * src/debug.c: Remove lint directives. Cleanup white spaces.
- * src/java_raw_api.c: Likewise.
- * src/prep_cif.c: Likewise.
- * src/raw_api.c: Likewise.
- * src/ffitest.c: Delete. No longer needed, all test cases migrated
- to the testsuite.
- * src/arm/ffi.c: Remove lint directives.
- * src/m32r/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/sh/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/pa/hpux32.S: Correct unwind offset calculation for
- ffi_closure_pa32.
- * src/pa/linux.S: Likewise.
-
-2006-04-12 James E Wilson <wilson@specifix.com>
-
- PR libgcj/26483
- * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
- (hfa_type_load): Call stf_spill.
- (hfa_type_store): Call ldf_fill.
- (ffi_call): Adjust calls to above routines. Add local temps for
- macro result.
-
-2006-04-10 Matthias Klose <doko@debian.org>
-
- * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
- directory names containing underscores.
-
-2006-04-07 James E Wilson <wilson@specifix.com>
-
- * testsuite/libffi.call/float4.c: New testcase.
-
-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.
-
-2006-03-24 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Default
- for 32-bit using IBM extended double format. Fix FFI_LAST_ABI.
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
- FFI_TYPE_LONGDOUBLE.
- (ffi_prep_args64): Assert using IBM extended double.
- (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
- Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
- (ffi_call): Handle FFI_LINUX.
- (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
- gpr3 return pointer as for struct return. Handle FFI_LINUX
- FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf"
- unnecessarily.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
- for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table.
- Don't use r6 as pointer to results, instead use sp offset. Don't
- make a special call to load lr with case table address, instead
- use offset from previous call.
- * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
- return.
-
-2006-03-15 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
- passed with FP registers correctly.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S: Likewise.
-
-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.
-
-2006-02-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
- -O2, -O3, -Os and the warning flags -W -Wall.
- * testsuite/libffi.special/special.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
- unused parameter unused for gcc or else do nothing.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
- * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
- * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
- * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
- * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
- * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
- * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
- * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
- * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
- void* to avoid compiler warning.
- (main): Likewise.
- (cls_struct_align_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
- * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
- * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
- userdata unused.
- (cls_ret_schar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
- userdata unused.
- (cls_ret_sint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
- userdata unused.
- (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn): Mark cif and
- userdata unused.
- (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
- userdata unused.
- (cls_ret_uint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
- userdata unused.
- (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
- * testsuite/libffi.call/float1.c (main): Remove unused variable i.
- Cleanup white spaces.
- * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
- * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
- cif and userdata unused.
- * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
- Likewise.
- * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
- formatters to silence gcc.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct4.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct6.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
- * testsuite/libffi.call/problem1.c (stub): Likewise.
- * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
- gcc.
- * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
- in the last commit for this test case in the test case itself.
- * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
- unused.
- * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
- * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
- * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
- * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
- * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
- * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Fix register numbers in the FDE for
- ffi_closure_SYSV.
-
-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.
-
-2006-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
- and cast integer to void * if needed. Update the pointer to
- the FP register saved area correctly.
-
-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.
-
-2006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/return_dbl.c: New test case.
- * testsuite/libffi.call/return_dbl1.c: Likewise.
- * testsuite/libffi.call/return_dbl2.c: Likewise.
- * testsuite/libffi.call/return_fl.c: Likewise.
- * testsuite/libffi.call/return_fl1.c: Likewise.
- * testsuite/libffi.call/return_fl2.c: Likewise.
- * testsuite/libffi.call/return_fl3.c: Likewise.
- * testsuite/libffi.call/closure_fn6.c: Likewise.
-
- * 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.
-
-2006-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.ac: Enable libffi for sparc64-*-freebsd*.
- * configure: Rebuilt.
-
-2006-01-18 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
- instead do the shifting inline.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
- shift count unconditionally. Simplify load sequences for 1, 2, 3, 4
- and 8 byte structs, for the remaining struct sizes don't call
- __lshrdi3, instead do the shifting inline.
-
-2005-12-07 Thiemo Seufer <ths@networkno.de>
-
- * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
- missing parentheses.
- * src/mips/o32.S (ffi_call_O32): Code formatting. Define
- and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
- (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
- A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
- V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
- FA_0_0_OFF2.
- * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
- endianness bugs.
- (ffi_prep_closure): Improve trampoline instruction scheduling.
- (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c: Formatting.
- (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
- (ffi_prep_args64): Likewise.
-
-2005-09-30 Geoffrey Keating <geoffk@apple.com>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
- darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26 Tom Tromey <tromey@redhat.com>
-
- * 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.
-
-2005-08-25 Alan Modra <amodra@bigpond.net.au>
-
- PR target/23404
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
- homed fp args.
- (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11 Jakub Jelinek <jakub@redhat.com>
-
- * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
- (AH_BOTTOM): Add FFI_HIDDEN definition.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * src/powerpc/ffi.c (hidden): Remove.
- (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
- ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
- .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
- * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
- add FFI_HIDDEN to its prototype.
- (ffi_closure_SYSV_inner): New.
- * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
- * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10 Alfred M. Szmidt <ams@gnu.org>
-
- PR libffi/21819:
- * configure: Rebuilt.
- * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
- DW_CFA_offset_extended_sf rather than
- DW_CFA_GNU_negative_offset_extended.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
-
- * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
- on sh3.
- (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
- * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
- partially on register.
- (ffi_closure_helper_SYSV): Likewise.
- (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_call): Handle small structures correctly.
- Remove empty line.
- * src/sh64/ffi.c (simple_type): Remove.
- (return_type): Handle small structures correctly.
- (ffi_prep_args): Likewise.
- (ffi_call): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
- Emit position independent code if PIC and remove wrong datalabel
- prefixes from EH data.
-
-2005-07-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure.ac: Add POWERPC_FREEBSD rules.
- * configure: Regenerate.
- * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
- (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
- * src/powerpc/ffi.c: Add flags to handle small structure returns
- in ffi_call_SYSV.
- (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
- Aka FFI_SYSV.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Add return types for small structures.
- * src/powerpc/sysv.S: Add bits to handle small structures for
- final SYSV 4 ABI.
-
-2005-07-10 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_5_1_byte.c: New test file.
- * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05 Randolph Chung <tausq@debian.org>
-
- * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
- as FFI_TYPE_SMALL_STRUCT3. Break out handling for 5-7 byte
- structures. Kill compilation warnings.
- (ffi_closure_inner_LINUX): Print return values as hex in debug
- message. Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
- Properly handle 5-7 byte structure returns.
- * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
- (FFI_TYPE_SMALL_STRUCT2): Remove.
- (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
- (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
- * src/pa/linux.S: Mark source file as using PA1.1 assembly.
- (checksmst1, checksmst2): Remove.
- (checksmst3): Optimize handling of 3-byte struct returns.
- (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libgcj/21943
- * src/mips/n32.S: Enforce PIC code.
- * src/mips/o32.S: Likewise.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
- * configure: Regenerate.
-
-2005-06-01 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
- to call ffi_closure_helper_SYSV. Append @local instead.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
- Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
- * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
- * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
- include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-05-08 Richard Henderson <rth@redhat.com>
-
- PR libffi/21285
- * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04 Andreas Degert <ad@papyrus-gmbh.de>
- Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
- bit 11 of flags.
- (ffi_call): Mask return type field. Pass ssecount to ffi_call_unix64.
- (ffi_prep_closure): Set carry bit if sse-used flag set.
- * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
- Only load sse registers if ssecount non-zero.
- (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
- powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
- * configure: Regenerate.
-
-2005-04-20 Hans-Peter Nilsson <hp@axis.com>
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
- have Tcl8.3-compatible intermediate variable.
-
-2005-04-18 Simon Posnjak <simon.posnjak@siol.net>
- Hans-Peter Nilsson <hp@axis.com>
-
- * Makefile.am: Add CRIS support.
- * configure.ac: Likewise.
- * Makefile.in, configure, testsuite/Makefile.in,
- include/Makefile.in: Regenerate.
- * src/cris: New directory.
- * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
- * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
- \r?\n in output tests.
-
-2005-04-12 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-03-30 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30 Steve Ellcey <sje@cup.hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
- (ffi_sarg) Ditto.
- * src/ia64/unix.S (ffi_closure_unix): Extend gp
- to 64 bits in ILP32 mode.
- Load 64 bits even for short data.
-
-2005-03-23 Mike Stump <mrs@apple.com>
-
- * src/powerpc/darwin.S: Update for -m64 multilib.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21 Zack Weinberg <zack@codesourcery.com>
-
- * 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.
-
-2005-02-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
- odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR libffi/20104
- * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11 Janis Johnson <janis187@us.ibm.com>
-
- * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
- * testsuite/libffi.call/float.c: Ditto.
- * testsuite/libffi.call/float2.c: Ditto.
- * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * testsuite/libffi.special/special.exp (cxx_options): Add
- -shared-libgcc.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
- (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
- offset parameters with a type parameter; deduce size and structure
- alignment. Update all users.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
- (FFI_TYPE_LONGDOUBLE): Fix for ia64.
- * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
- into ffi_prep_closure.
- * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
- from scratch.
-
-2004-12-27 Richard Henderson <rth@redhat.com>
-
- * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25 Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
- (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
- (merge_classes): Check for it.
- (SSE_CLASS_P): New.
- (classify_argument): Pass byte_offset by value; perform all updates
- inside struct case.
- (examine_argument): Add classes argument; handle
- X86_64_COMPLEX_X87_CLASS.
- (ffi_prep_args): Merge into ...
- (ffi_call): ... here. Share stack frame with ffi_call_unix64.
- (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
- (ffi_fill_return_value): Remove.
- (ffi_prep_closure): Remove dead assert.
- (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
- Rewrite to use struct register_args instead of va_list. Create
- flags for handling structure returns.
- * src/x86/unix64.S: Remove dead strings.
- (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share
- stack frame with ffi_call. Handle structure returns properly.
- (float2sse, floatfloat2sse, double2sse): Remove.
- (sse2float, sse2double, sse2floatfloat): Remove.
- (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite
- to handle structure returns properly.
-
-2004-12-08 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
- PICFLAG.
- * Makefile.in: Regenerated.
-
-2004-12-02 Richard Sandiford <rsandifo@redhat.com>
-
- * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
- * configure, aclocal.m4, Makefile.in: Regenerate.
- * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-25 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool reversion.
-
-2004-11-24 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23 Richard Sandiford <rsandifo@redhat.com>
-
- * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
- of jal. Use an absolute encoding for the frame information.
-
-2004-11-23 Kelley Cook <kcook@gcc.gnu.org>
-
- * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS.
- * acinclude.m4: Delete logic for sincludes.
- * aclocal.m4, Makefile.in, configure: Regenerate.
- * include/Makefile: Likewise.
- * testsuite/Makefile: Likewise.
-
-2004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
- on a 8-byte boundary.
- * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
- long long values. Round stack allocation to a multiple of 8 bytes
- for ATPCS compatibility.
- * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
- names. Handle returning long long types. Add Thumb and interworking
- support. Improve soft-float code.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
- (libffi_exit): New function.
- (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR other/18138
- * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
- * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
- the function returning a structure pointed with R2.
- * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
- the structure return value if T bit set. Emit position
- independent code and EH data if PIC.
-
-2004-10-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * Makefile.am: Add m32r support.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * confiugre: Regenerate.
- * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
- (uint64, sint64, double, longdouble)
- * src/m32r: New directory.
- * src/m32r/ffi.c: New file.
- * src/m32r/sysv.S: Likewise.
- * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * testsuite/libffi.call/negint.c: New test case.
-
-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.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/many_win32.c: Remove whitespaces.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
- whitespaces.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Fix comments and identation.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
- (ffi_prep_args): Handle longdouble arguments.
- (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
- longdouble.
- (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
- * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
- values.
- * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
- * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/aix.S: Remove whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
- * src/powerpc/asm.h: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffitarget.h: Likewise.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
-
-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.in: Read configure.host.
- * 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 shouldn't 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.
-
-2004-08-24 David Daney <daney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
- to zero.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23 David Daney <daney@avtrex.com>
-
- PR libgcj/13141
- * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
- * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
- (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
- parameters and return types.
- (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
- (ffi_prep_closure): Ditto.
- (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
- alignment calculations.
- * src/mips/o32.S (ffi_closure_O32): Don't use floating point
- instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14 Casey Marshall <csm@gnu.org>
-
- * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
- contain `FFI_TYPE_UINT64' as return type for any 64-bit
- integer (O32 ABI only).
- (ffi_prep_closure): new function.
- (ffi_closure_mips_inner_O32): new function.
- * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
- `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
- * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
- 64 bit integers correctly.
- (ffi_closure_O32): new function.
- Added DWARF-2 unwind info for both functions.
-
-2004-08-10 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01 Robert Millan <robertmh@gnu.org>
-
- * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
- * configure: Regenerate.
-
-2004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
-
- * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
- and mmap() explicitly instead of relying on preset autoconf cache
- variables.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
- (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
- character on Darwin, use '\n\t' instead.
-
-2004-06-26 Matthias Klose <doko@debian.org>
-
- * libtool-version: Fix typo in revision/age.
-
-2004-06-17 Matthias Klose <doko@debian.org>
-
- * libtool-version: New.
- * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
- * Makefile.in: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * Makefile.am: Remove useless multilib rules.
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate with automake 1.8.5.
- * configure.ac: Remove useless multilib configury.
- * configure: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * .cvsignore: New file.
-
-2004-06-10 Jakub Jelinek <jakub@redhat.com>
-
- * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
- fp_done.
- (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
- changed from 8.
-
-2004-06-06 Sean McNeil <sean@mcneil.com>
-
- * configure.ac: Add x86_64-*-freebsd* support.
- * configure: Regenerate.
-
-2004-04-26 Joe Buck <jbuck@welsh-buck.org>
-
- Bug 15093
- * configure.ac: Test for existence of mmap and sys/mman.h before
- checking blacklist. Fix suggested by Jim Wilson.
- * configure: Regenerate.
-
-2004-04-26 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
- FDE location.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
- error. Reported by Thomas Heller <theller@python.net>.
- * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20 Matthias Klose <doko@debian.org>
-
- * src/pa/linux.S: Fix typo.
-
-2004-03-19 Matthias Klose <doko@debian.org>
-
- * Makefile.am: Update.
- * Makefile.in: Regenerate.
- * src/pa/ffi.h.in: Remove.
- * src/pa/ffitarget.h: New file.
-
-2004-02-10 Randolph Chung <tausq@debian.org>
-
- * Makefile.am: Add PA support.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * configure.ac: Add PA target.
- * configure: Regenerate.
- * src/pa/ffi.c: New file.
- * src/pa/ffi.h.in: Add PA support.
- * src/pa/linux.S: New file.
- * prep_cif.c: Add PA support.
-
-2004-03-16 Hosaka Yuji <hos@tamanegi.org>
-
- * src/types.c: Fix alignment size of X86_WIN32 case int64 and
- double.
- * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
- with ecif->cif->flags.
- (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
- with cif->flags.
- (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
- (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
- * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
- sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.in: Rename file to ...
- * configure.ac: ... this.
- * fficonfig.h.in: Regenerate.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2004-03-12 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Fix EH information so it corresponds to
- changes in EH format resulting from addition of linkonce support.
- * src/powerpc/darwin_closure.S: Likewise.
-
-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.
-
-2004-03-11 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
- arguments from fp registers only for the first 8 parameter slots.
- Don't convert a float parameter when passed in memory.
-
-2004-03-09 Hans-Peter Nilsson <hp@axis.com>
-
- * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
-
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
- ecif->cif->bytes to bytes.
- (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
- * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
- (ffi_closure_helper_LINUX64): Fix typo.
- * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
- for powerpc64-*-*.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
- long double function return and long double arg handling.
- (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
- Use "end_pfr" instead of "nf". Correct long double handling.
- Localise "temp".
- * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
- return value.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
- space for long double return value. Adjust stack frame and offsets.
- Load f2 long double return.
-
-2004-02-07 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
- when the structure return address is passed in %o0.
- (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
- (ffi_v9_layout_struct): Align the field following a nested structure
- on a word boundary. Use memmove instead of memcpy.
- (ffi_call): Update call to ffi_V9_return_struct.
- (ffi_prep_closure): Define 'ctx' only for V8.
- (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
- and ffi_closure_sparc_inner_v9.
- (ffi_closure_sparc_inner_v8): Return long doubles by reference.
- Always skip the structure return address. For structures and long
- doubles, copy the argument directly.
- (ffi_closure_sparc_inner_v9): Skip the structure return address only
- if required. Shift the maximum floating-point slot accordingly. For
- big structures, copy the argument directly; otherwise, left-justify the
- argument and call ffi_v9_layout_struct to lay out the structure on
- the stack.
- * src/sparc/v8.S: Undef STACKFRAME before defining it.
- (ffi_closure_v8): Pass the structure return address. Update call to
- ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
- Skip the 'unimp' insn when returning long doubles and structures.
- * src/sparc/v9.S: Undef STACKFRAME before defining it.
- (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
- FFI_TYPE_INT handling. Load structures both in integers and
- floating-point registers on return.
- * README: Update status of the SPARC port.
-
-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.
-
-2004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
-
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
- value as of type ffi_arg, not unsigned int.
-
-2004-01-21 Michael Ritzert <ritzert@t-online.de>
-
- * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
- of the LHS.
-
-2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
- Solaris.
-
-2004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
- to void *.
-
-2003-12-10 Richard Henderson <rth@redhat.com>
-
- * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
- size_t instead of int.
-
-2003-12-04 Hosaka Yuji <hos@tamanegi.org>
-
- * testsuite/libffi.call/many_win32.c: Include <float.h>.
- * testsuite/libffi.call/many_win32.c (main): Replace variable
- int i with unsigned long ul.
-
- * testsuite/libffi.call/cls_align_uint64.c: New test case.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02 Hosaka Yuji <hos@tamanegi.org>
-
- PR other/13221
- * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
- Align arguments to 32 bits.
-
-2003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR other/13221
- * testsuite/libffi.call/cls_multi_sshort.c: New test case.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-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.
-
-2003-11-21 Andreas Jaeger <aj@suse.de>
- Andreas Tobler <a.tobler@schweiz.ch>
-
- * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
- * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
- * Makefile.in: Rebuilt.
- * aclocal.m4: Likewise.
- * configure: Likewise.
- * fficonfig.h.in: Likewise.
- * testsuite/lib/libffi-dg.exp: Add include dir.
- * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
- for ffi_closure if available.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
- Add -lgcc_s to additional flags.
-
-2003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.in, include/Makefile.am: PR libgcj/11147, install
- the ffitarget.h header file in a gcc versioned and target
- dependent place.
- * configure: Regenerated.
- * Makefile.in, include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Print result and check
- with dg-output to make debugging easier.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
- static.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_9byte2.c: New test case.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_double.c: Do a check on the result.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/prep_cif.c (ffi_prep_cif): Move the validity check after
- the initialization.
-
-2003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
- FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
- __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-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
-
-2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
- _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
- Used when FFI_DEBUG = 1.
-
-2003-10-14 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
- and align.
-
-2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
- FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
- SPARC64. Cleanup whitespaces.
-
-2003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
- strongarm, xscale. Cleanup whitespaces.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Cleanup whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
- * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
- parameter stack.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
- according to the Darwin/AIX ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_DARWIN): Likewise.
- Remove the outgoing parameter stack logic. Simplify the evaluation
- of the different CASE types.
- (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
- statement in the trampoline code.
-
-2003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
- for the register size.
- (ffi_closure_helper_SYSV): Handle the structure return value
- address correctly.
- (ffi_closure_helper_SYSV): Return the appropriate type when
- the registers are used for the structure return value.
- * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
- the 64-bit return value. Update copyright years.
-
-2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
- srcdir for ffi_mips.h.
-
-2003-09-12 Alan Modra <amodra@bigpond.net.au>
-
- * src/prep_cif.c (initialize_aggregate): Include tail padding in
- structure size.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
- placement of float result.
- * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
- cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Merge identical SH and ARM
- typedefs, and add POWERPC64.
- * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
- struct split over gpr and rest.
- (ffi_prep_cif_machdep): Correct intarg_count for structures.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
- passing correctly.
-
-2003-09-09 Alan Modra <amodra@bigpond.net.au>
-
- * configure: Regenerate.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Remove build rules for ffitest.
- * Makefile.in: Rebuilt.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
- about implicit declaration of abort().
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
- * Makefile.in: Rebuilt.
- * configure.in: Add dejagnu test framework.
- * configure: Rebuilt.
-
- * testsuite/Makefile.am: New file.
- * testsuite/Makefile.in: Built
- * testsuite/lib/libffi-dg.exp: New file.
- * testsuite/config/default.exp: Likewise.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Likewise.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float1.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/many.c: Likewise.
- * testsuite/libffi.call/many_win32.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
- * testsuite/libffi.call/strlen.c: Likewise.
- * testsuite/libffi.call/strlen_win32.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
- * testsuite/libffi.call/struct2.c: Likewise.
- * testsuite/libffi.call/struct3.c: Likewise.
- * testsuite/libffi.call/struct4.c: Likewise.
- * testsuite/libffi.call/struct5.c: Likewise.
- * testsuite/libffi.call/struct6.c: Likewise.
- * testsuite/libffi.call/struct7.c: Likewise.
- * testsuite/libffi.call/struct8.c: Likewise.
- * testsuite/libffi.call/struct9.c: Likewise.
- * testsuite/libffi.special/special.exp: New file.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
- copyright years.
-
-2003-08-02 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
- structure passing.
- (ffi_closure_helper_LINUX64): Likewise.
- * src/powerpc/linux64.S: Remove code writing to parm save area.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
- address in lr from ffi_closure_helper_LINUX64 call to calculate
- table address. Optimize function tail.
-
-2003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/sparc/ffi.c: Handle all floating point registers.
- * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
-
- * README: Note that libffi is not part of GCC. Update the project
- URL and status.
-
-2003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
- Use C style comments.
-
-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
- should be read-only.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * include/ffi.h.in (EH_FRAME_FLAGS): Define.
- * src/alpha/osf.S: Use EH_FRAME_FLAGS.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
- * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
- if -fpic/-fPIC/-mrelocatable.
- * src/powerpc/powerpc_closure.S: Likewise.
- * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
- #write in .eh_frame flags.
- * src/sparc/v9.S: Likewise.
- * src/x86/unix64.S: Use EH_FRAME_FLAGS.
- * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
- * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
-
-2003-05-07 Jeff Sturm <jsturm@one-point.com>
-
- Fixes PR bootstrap/10656
- * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
- support for .register pseudo-op.
- * src/sparc/v8.S: Use it.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2003-04-18 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (POWERPC64): Define if 64-bit.
- (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
- Make it the default on POWERPC64.
- (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
- * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
- * configure: Rebuilt.
- * src/powerpc/ffi.c (hidden): Define.
- (ffi_prep_args_SYSV): Renamed from
- ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
- (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
- ASM_NEEDS_REGISTERS64): New.
- (ffi_prep_args64): New function.
- (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
- (ffi_call): Likewise.
- (ffi_prep_closure): Likewise.
- (flush_icache): Surround by #ifndef POWERPC64.
- (ffi_dblfl): New union type.
- (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
- (ffi_closure_helper_LINUX64): New function.
- * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
- __powerpc64__.
- * src/powerpc/sysv.S: Likewise.
- (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
- * src/powerpc/linux64.S: New file.
- * src/powerpc/linux64_closure.S: New file.
- * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
- src/powerpc/linux64_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
- * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
- closure_test_fn3): Fix result printing on big-endian 64-bit
- machines.
- (main): Print tst2_arg instead of uninitialized tst2_result.
-
- * src/ffitest.c (main): Hide what closure pointer really points to
- from the compiler.
-
-2003-04-16 Richard Earnshaw <rearnsha@arm.com>
-
- * configure.in (arm-*-netbsdelf*): Add configuration.
- (configure): Regenerated.
-
-2003-04-04 Loren J. Rittle <ljrittle@acm.org>
-
- * include/Makefile.in: Regenerate.
-
-2003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
-
- * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
- bit mode.
- * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
- Receive closure pointer through parameter, read args using
- __builtin_dwarf_cfa.
- (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12 Andreas Schwab <schwab@suse.de>
-
- * configure.in: Avoid trailing /. in toolexeclibdir.
- * configure: Rebuilt.
-
-2003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/powerpc/darwin_closure.S:
- Fix alignement bug, allocate 8 bytes for the result.
- * libffi/src/powerpc/aix_closure.S:
- Likewise.
- * libffi/src/powerpc/ffi_darwin.c:
- Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06 Jakub Jelinek <jakub@redhat.com>
-
- * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
- attribute.
-
-2003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
- Andreas Schwab <schwab@suse.de>
-
- * configure.in: Adjust command to source config-ml.in to account
- for changes to the libffi_basedir definition.
- (libffi_basedir): Remove ${srcdir} from value and include trailing
- slash if nonempty.
-
- * configure: Regenerate.
-
-2003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
- * src/x86/ffi64.c (ffi_prep_closure): New.
- (ffi_closure_UNIX64_inner): New.
- * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
- Remove USE_LIBDIR conditional.
- * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
- * Makefile.in, configure: Rebuilt.
-
-2003-01027 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
- * Makefile.in: Regenerate.
-
-2003-01-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
- unwind info.
-
-2003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Add unwind info.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
- (ffi_prep_cif_machdep): Likewise.
- * src/x86/unix64.S: Add unwind info.
-
-2003-01-14 Andreas Jaeger <aj@suse.de>
-
- * src/ffitest.c (main): Only use ffi_closures if those are
- supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/ffitest.c
- add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
- * libffi/src/powerpc/ffi.c
- fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c: Remove RCS version string.
- * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
- * src/ffitest.c (main): Use static storage for closure.
- * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
- * src/sparc/v8.S (ffi_closure_v8): New.
- * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10 Ranjit Mathew <rmathew@hotmail.com>
-
- * include/ffi.h.in: Added FFI_STDCALL ffi_type
- enumeration for X86_WIN32.
- * src/x86/win32.S: Added ffi_call_STDCALL function
- definition.
- * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
- switch cases for recognising FFI_STDCALL and
- calling ffi_call_STDCALL if target is X86_WIN32.
- * src/ffitest.c (my_stdcall_strlen/stdcall_many):
- stdcall versions of the "my_strlen" and "many"
- test functions (for X86_WIN32).
- Added test cases to test stdcall invocation using
- these functions.
-
-2002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26 Jim Wilson <wilson@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23 H.J. Lu <hjl@gnu.org>
-
- * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
- Include ../config/accross.m4.
- * aclocal.m4; Rebuild.
- * configure: Likewise.
-
-2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11 DJ Delorie <dj@redhat.com>
-
- * configure.in: Look for common files in the right place.
-
-2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
- raw data as _Jv_word values, not ffi_raw.
- (ffi_java_ptrarray_to_raw): Likewise.
- (ffi_java_rvalue_to_raw): New function.
- (ffi_java_raw_call): Call it.
- (ffi_java_raw_to_rvalue): New function.
- (ffi_java_translate_args): Call it.
- * src/ffitest.c (closure_test_fn): Interpret return value
- as ffi_arg, not int.
- * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
- FFI_TYPE_POINTER case.
- (ffi_closure_helper_SYSV): Likewise. Also, assume return
- values extended to word size.
-
-2002-10-02 Andreas Jaeger <aj@suse.de>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01 Bo Thorsen <bo@smetana.suse.de>
-
- * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
-
- * configure.in: Add s390x-*-linux-* target.
- * configure: Regenerate.
- * include/ffi.h.in: Define S390X for s390x targets.
- (FFI_CLOSURES): Define for s390/s390x.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
- * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
- * src/s390/ffi.c: Major rework of existing code. Add support for
- s390x targets. Add closure support.
- * src/s390/sysv.S: Likewise.
-
-2002-09-29 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: Fix typo.
-
-2002-09-28 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
- has defined __USER_LABEL_PREFIX__, then use it in CNAME.
- (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27 Bo Thorsen <bo@suse.de>
-
- * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * configure.in (sh[34]*-*-linux*): Add brackets.
- * configure: Regenerate.
-
-2002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * Makefile.am: Add SH support.
- * Makefile.in: Regenerate.
- * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
- * configure: Regenerate.
- * include/ffi.h.in: Add SH support.
- * src/sh/ffi.c: New file.
- * src/sh/sysv.S: New file.
- * src/types.c: Add SH support.
-
-2002-07-16 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi64.c: New file that adds x86-64 support.
- * src/x86/unix64.S: New file that handles argument setup for
- x86-64.
- * src/x86/sysv.S: Don't use this on x86-64.
- * src/x86/ffi.c: Don't use this on x86-64.
- Remove unused vars.
- * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
- for x86-64.
- * src/ffitest.c (struct6): New test that tests a special case in
- the x86-64 ABI.
- (struct7): Likewise.
- (struct8): Likewise.
- (struct9): Likewise.
- (closure_test_fn): Silence warning about this when it's not used.
- (main): Add the new tests.
- (main): Fix a couple of wrong casts and silence some compiler warnings.
- * include/ffi.h.in: Add x86-64 ABI definition.
- * fficonfig.h.in: Regenerate.
- * Makefile.am: Add x86-64 support.
- * configure.in: Likewise.
- * Makefile.in: Regenerate.
- * configure: Likewise.
-
-2002-06-24 Bo Thorsen <bo@suse.de>
-
- * src/types.c: Merge settings for similar architectures.
- Add x86-64 sizes and alignments.
-
-2002-06-23 Bo Thorsen <bo@suse.de>
-
- * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
- * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
- * src/mips/ffi.c (ffi_prep_args): Likewise.
- * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18 H.J. Lu (hjl@gnu.org)
-
- * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
- (libffi_la_SOURCES): Support MIPS_LINUX.
- (libffi_convenience_la_SOURCES): Likewise.
- * Makefile.in: Regenerated.
-
- * configure.in (mips64*-*): Skip.
- (mips*-*-linux*): New.
- * configure: Regenerated.
-
- * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
-
-2002-05-27 Roger Sayle <roger@eyesopen.com>
-
- * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
- fix formatting.
-
-2002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
- beginning of function (for older apple cc).
-
-2002-05-08 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
- script entry, and set LD to it when configuring multilibs.
- * configure: Rebuilt.
-
-2002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (sparc64-*-netbsd*): Add target.
- (sparc-*-netbsdelf*): Likewise.
- * configure: Regenerate.
-
-2002-04-28 David S. Miller <davem@redhat.com>
-
- * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
-
- * Makefile.am: Add Linux for S/390 support.
- * Makefile.in: Regenerate.
- * configure.in: Add Linux for S/390 support.
- * configure: Regenerate.
- * include/ffi.h.in: Add Linux for S/390 support.
- * src/s390/ffi.c: New file from libffi CVS tree.
- * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
- %r_disp32().
- * src/sparc/v8.S: Use it.
- * src/sparc/v9.S: Likewise.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2002-04-08 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
- correctly.
- * src/ia64/unix.S: Add unwind information. Fix comments.
- Save sp in a way that's compatible with unwind info.
- (ffi_call_unix): Correctly restore sp in all cases.
- * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08 Jakub Jelinek <jakub@redhat.com>
-
- * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (alpha*-*-netbsd*): Add target.
- * configure: Regenerate.
-
-2002-04-04 Jeff Sturm <jsturm@one-point.com>
-
- * src/sparc/v8.S: Add unwind info.
- * src/sparc/v9.S: Likewise.
-
-2002-03-30 Krister Walfridsson <cato@df.lth.se>
-
- * configure.in: Enable i*86-*-netbsdelf*.
- * configure: Rebuilt.
-
-2002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
-
- PR other/2620
- * src/mips/n32.s: Delete
- * src/mips/o32.s: Delete
-
-2002-03-21 Loren J. Rittle <ljrittle@acm.org>
-
- * configure.in: Enable alpha*-*-freebsd*.
- * configure: Rebuilt.
-
-2002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * Makefile.am: libfficonvenience -> libffi_convenience.
- * Makefile.in: Rebuilt.
-
- * Makefile.am: Define ffitest_OBJECTS.
- * Makefile.in: Rebuilt.
-
-2002-03-07 Andreas Tobler <toa@pop.agri.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
- (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
- (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
- * Makefile.in: Regenerate.
- * include/ffi.h.in: Add AIX and Darwin closure definitions.
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
- (flush_icache, flush_range): New functions.
- (ffi_closure_helper_DARWIN): New function.
- * src/powerpc/aix_closure.S: New file.
- * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add typedef for ffi_arg.
- * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21 Andreas Tobler <toa@pop.agri.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
- number of GPRs for floating-point arguments.
-
-2002-01-31 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Replace CHECK_SIZEOF and endian tests with
- cross-compiler friendly macros.
- * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
- macros.
-
-2002-01-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): New.
- * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
- (TARGET_SRC_POWERPC_AIX): New.
- (POWERPC_AIX): New stanza.
- * Makefile.in: Regenerate.
- * configure.in: Add AIX case.
- * configure: Regenerate.
- * include/ffi.h.in (ffi_abi): Add FFI_AIX.
- * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
- size. Fix "long double" support.
- (ffi_call): Add FFI_AIX case.
- * src/powerpc/aix.S: New.
-
-2001-10-09 John Hornkvist <john@toastedmarshmallow.com>
-
- Implement Darwin PowerPC ABI.
- * configure.in: Handle powerpc-*-darwin*.
- * Makefile.am: Set source files for POWERPC_DARWIN.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
- * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
- POWERPC_DARWIN.
- * src/powerpc/darwin.S: New file.
- * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .balign directive.
- Use C style comments.
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
- Fixes PR bootstrap/3563.
-
-2001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.in: Recognize sparc*-sun-* host.
- * configure: Regenerate.
-
-2001-06-06 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S: Add unwind info.
- * src/powerpc/sysv.S: Add unwind info.
- * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31 Jeff Sturm <jsturm@one-point.com>
-
- * configure.in: Fix AC_ARG_ENABLE usage.
- * configure: Rebuilt.
-
-2001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * configure.in: Remove warning about beta code.
- * configure: Rebuilt.
-
-2001-04-25 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/ia64/unix.S: Restore stack pointer when returning from
- ffi_closure_UNIX.
- * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18 Jim Wilson <wilson@redhat.com>
-
- * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
- to eliminate RAW DV.
-
-2001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
-
- * Makefile.am: Make a libtool convenience library.
- * Makefile.in: Rebuilt.
-
-2001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Use different syntax for subdirectory creation.
- * configure: Rebuilt.
-
-2001-03-27 Jon Beniston <jon@beniston.com>
-
- * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
- * configure: Rebuilt.
- * Makefile.am: Added X86_WIN32 target support.
- * Makefile.in: Rebuilt.
-
- * include/ffi.h.in: Added X86_WIN32 target support.
-
- * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
- * src/types.c: Added X86_WIN32 target support.
-
- * src/x86/win32.S: New file. Based on sysv.S, but with EH
- stuff removed and made to work with CygWin's gas.
-
-2001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Make target subdirectory in build dir.
- * Makefile.am: Override suffix based rules to specify correct output
- subdirectory.
- * Makefile.in: Rebuilt.
- * configure: Rebuilt.
-
-2001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
-
- * src/powerpc/ppc_closure.S: New file.
- * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
- involving long long and register pairs.
- (ffi_prep_closure): New function.
- (flush_icache): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * Makefile.in: Rebuilt.
- * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19 Tom Tromey <tromey@redhat.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02 Nick Clifton <nickc@redhat.com>
-
- * include/ffi.h.in: Remove RCS ident string.
- * include/ffi_mips.h: Remove RCS ident string.
- * src/debug.c: Remove RCS ident string.
- * src/ffitest.c: Remove RCS ident string.
- * src/prep_cif.c: Remove RCS ident string.
- * src/types.c: Remove RCS ident string.
- * src/alpha/ffi.c: Remove RCS ident string.
- * src/alpha/osf.S: Remove RCS ident string.
- * src/arm/ffi.c: Remove RCS ident string.
- * src/arm/sysv.S: Remove RCS ident string.
- * src/mips/ffi.c: Remove RCS ident string.
- * src/mips/n32.S: Remove RCS ident string.
- * src/mips/o32.S: Remove RCS ident string.
- * src/sparc/ffi.c: Remove RCS ident string.
- * src/sparc/v8.S: Remove RCS ident string.
- * src/sparc/v9.S: Remove RCS ident string.
- * src/x86/ffi.c: Remove RCS ident string.
- * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * include/ffi.h.in: Change sourceware.cygnus.com references to
- gcc.gnu.org.
-
-2000-12-09 Richard Henderson <rth@redhat.com>
-
- * src/alpha/ffi.c (ffi_call): Simplify struct return test.
- (ffi_closure_osf_inner): Index rather than increment avalue
- and arg_types. Give ffi_closure_osf the raw return value type.
- * src/alpha/osf.S (ffi_closure_osf): Handle return value type
- promotion.
-
-2000-12-07 Richard Henderson <rth@redhat.com>
-
- * src/raw_api.c (ffi_translate_args): Fix typo.
- (ffi_prep_closure): Likewise.
-
- * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
- FFI_TRAMPOLINE_SIZE.
- * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
- cif->bytes for new ffi_call_osf implementation.
- (ffi_prep_args): Absorb into ...
- (ffi_call): ... here. Do all stack allocation here and
- avoid a callback function.
- (ffi_prep_closure, ffi_closure_osf_inner): New.
- * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
- (ffi_closure_osf): New.
-
-2000-09-10 Alexandre Oliva <aoliva@redhat.com>
-
- * config.guess, config.sub, install-sh: Removed.
- * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
- * Makefile.in: Rebuilt.
-
- * acinclude.m4: Include libtool macros from the top level.
- * aclocal.m4, configure: Rebuilt.
-
-2000-08-22 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
- * configure: Rebuilt.
-
-2000-05-11 Scott Bambrough <scottb@netwinder.org>
-
- * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
- memory correctly. Use conditional instructions, not branches where
- possible.
-
-2000-05-04 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Match `arm*-*-linux-*'.
- From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (SUBDIRS): Define.
- (AM_MAKEFLAGS): Likewise.
- (Multilib support.): Add section.
- * Makefile.in: Rebuilt.
- * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
- New variables. Set for gcc using -print-multi-lib. Export them
- to libtool.
- (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
- * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
- for -shared links.
- (extra_compiler_flags_value, extra_compiler_flags): Check these
- for extra compiler options which need to be passed down in
- compiler_flags.
-
-2000-04-16 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
- Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
- * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
- Replace all void * sizeofs with sizeof(int).
- Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
- different than DOUBLE.
- Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
- (ffi_prep_args_v9): New function.
- (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
- (ffi_V9_return_struct): New function.
- (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
- 32bit code (not yet cross-arch calls).
- * src/sparc/v8.S: Add struct return delay nop.
- Handle long long.
- * src/sparc/v9.S: New file.
- * src/prep_cif.c (ffi_prep_cif): Return structure pointer
- is used on sparc64 only for structures larger than 32 bytes.
- Pass by reference for structures is done for structure arguments
- larger than 16 bytes.
- * src/ffitest.c (main): Use 64bit rint on sparc64.
- Run long long tests on sparc.
- * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
- sparc64.
- (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
- on sparc64.
- * configure.in (sparc-*-linux*): New supported target.
- (sparc64-*-linux*): Likewise.
- * configure: Rebuilt.
- * Makefile.am: Add v9.S to SPARC files.
- * Makefile.in: Likewise.
- (LINK): Surround $(CCLD) into double quotes, so that multilib
- compiles work correctly.
-
-2000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: (i*86-*-solaris*): New libffi target. Patch
- proposed by Bryce McKinlay.
-
-2000-03-20 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
-
- * config.guess, config.sub: Update from the gcc tree.
- Fix for PR libgcj/168.
-
-2000-03-03 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Fixed ia64 by hand.
-
- * configure: Rebuilt.
- * configure.in (--enable-multilib): New option.
- (libffi_basedir): New subst.
- (AC_OUTPUT): Added multilib code.
-
-2000-03-02 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
- directory name.
-
-2000-02-25 Hans Boehm <boehm@acm.org>
-
- * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
- files.
- * src/raw_api.c (ffi_translate_args): Fixed typo in argument
- list.
- (ffi_prep_raw_closure): Use ffi_translate_args, not
- ffi_closure_translate.
- * src/java_raw_api.c: New file.
- * src/ffitest.c (closure_test_fn): New function.
- (main): Define `rint' as long long on IA64. Added new test when
- FFI_CLOSURES is defined.
- * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
- (ffi_abi): Recognize IA64.
- (ffi_raw): Added `flt' field.
- Added "Java raw API" code.
- * configure.in: Recognize ia64.
- * Makefile.am (TARGET_SRC_IA64): New macro.
- (libffi_la_common_SOURCES): Added java_raw_api.c.
- (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01 Tom Tromey <tromey@cygnus.com>
-
- * include/ffi.h.in: Removed PACKAGE and VERSION defines and
- undefs.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
- * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
- Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
- * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09 Anthony Green <green@cygnus.com>
-
- * include/ffi.h.in: Try to work around messy header problem
- with PACKAGE and VERSION.
-
- * configure: Rebuilt.
- * configure.in: Change version to 2.00-beta.
-
- * fficonfig.h.in: Rebuilt.
- * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
- * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
-
- * src/x86/ffi.c (ffi_closure_SYSV): New function.
- (ffi_prep_incoming_args_SYSV): Ditto.
- (ffi_prep_closure): Ditto.
- (ffi_closure_raw_SYSV): Ditto.
- (ffi_prep_raw_closure): More ditto.
- (ffi_call_raw): Final ditto.
-
- * include/ffi.h.in: Add definitions for closure and raw API.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
- FFI_TYPE_UINT64.
-
- * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
- * src/raw_api.c: New file.
-
- * include/ffi.h.in (ffi_raw): New type.
- (UINT_ARG, SINT_ARG): New defines.
- (ffi_closure, ffi_raw_closure): New types.
- (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
- * configure.in: Add check for endianness and sizeof void*.
-
- * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
- instead of directly.
-
- * configure: Rebuilt.
-
-Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
-
- * configure.in: Add x86 and powerpc BeOS configurations.
- From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09 Anthony Green <green@cygnus.com>
-
- * configure.in: Add warning about this being beta code.
- Remove src/Makefile.am from the picture.
- * configure: Rebuilt.
-
- * Makefile.am: Move logic from src/Makefile.am. Add changes
- to support libffi as a target library.
- * Makefile.in: Rebuilt.
-
- * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
- Upgraded to new autoconf, automake, libtool.
-
- * README: Tweaks.
-
- * LICENSE: Update copyright date.
-
- * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29 Anthony Green <green@cygnus.com>
-
- * include/ChangeLog: Removed.
- * src/ChangeLog: Removed.
- * src/mips/ChangeLog: Removed.
- * src/sparc/ChangeLog: Remboved.
- * src/x86/ChangeLog: Removed.
-
- * ChangeLog.v1: Created.
diff --git a/.pc/x86_abi_check_fix/src/prep_cif.c b/.pc/x86_abi_check_fix/src/prep_cif.c
deleted file mode 100644
index f50a63c..0000000
--- a/.pc/x86_abi_check_fix/src/prep_cif.c
+++ /dev/null
@@ -1,216 +0,0 @@
-/* -----------------------------------------------------------------------
- prep_cif.c - Copyright (c) 2011, 2012 Anthony Green
- Copyright (c) 1996, 1998, 2007 Red Hat, Inc.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- ``Software''), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
- ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-#include <stdlib.h>
-
-/* Round up to FFI_SIZEOF_ARG. */
-
-#define STACK_ARG_SIZE(x) ALIGN(x, FFI_SIZEOF_ARG)
-
-/* Perform machine independent initialization of aggregate type
- specifications. */
-
-static ffi_status initialize_aggregate(ffi_type *arg)
-{
- ffi_type **ptr;
-
- if (UNLIKELY(arg == NULL || arg->elements == NULL))
- return FFI_BAD_TYPEDEF;
-
- arg->size = 0;
- arg->alignment = 0;
-
- ptr = &(arg->elements[0]);
-
- if (UNLIKELY(ptr == 0))
- return FFI_BAD_TYPEDEF;
-
- while ((*ptr) != NULL)
- {
- if (UNLIKELY(((*ptr)->size == 0)
- && (initialize_aggregate((*ptr)) != FFI_OK)))
- return FFI_BAD_TYPEDEF;
-
- /* Perform a sanity check on the argument type */
- FFI_ASSERT_VALID_TYPE(*ptr);
-
- arg->size = ALIGN(arg->size, (*ptr)->alignment);
- arg->size += (*ptr)->size;
-
- arg->alignment = (arg->alignment > (*ptr)->alignment) ?
- arg->alignment : (*ptr)->alignment;
-
- ptr++;
- }
-
- /* Structure size includes tail padding. This is important for
- structures that fit in one register on ABIs like the PowerPC64
- Linux ABI that right justify small structs in a register.
- It's also needed for nested structure layout, for example
- struct A { long a; char b; }; struct B { struct A x; char y; };
- should find y at an offset of 2*sizeof(long) and result in a
- total size of 3*sizeof(long). */
- arg->size = ALIGN (arg->size, arg->alignment);
-
- if (arg->size == 0)
- return FFI_BAD_TYPEDEF;
- else
- return FFI_OK;
-}
-
-#ifndef __CRIS__
-/* The CRIS ABI specifies structure elements to have byte
- alignment only, so it completely overrides this functions,
- which assumes "natural" alignment and padding. */
-
-/* Perform machine independent ffi_cif preparation, then call
- machine dependent routine. */
-
-/* For non variadic functions isvariadic should be 0 and
- nfixedargs==ntotalargs.
-
- For variadic calls, isvariadic should be 1 and nfixedargs
- and ntotalargs set as appropriate. nfixedargs must always be >=1 */
-
-
-ffi_status FFI_HIDDEN ffi_prep_cif_core(ffi_cif *cif, ffi_abi abi,
- unsigned int isvariadic,
- unsigned int nfixedargs,
- unsigned int ntotalargs,
- ffi_type *rtype, ffi_type **atypes)
-{
- unsigned bytes = 0;
- unsigned int i;
- ffi_type **ptr;
-
- FFI_ASSERT(cif != NULL);
- FFI_ASSERT((!isvariadic) || (nfixedargs >= 1));
- FFI_ASSERT(nfixedargs <= ntotalargs);
-
-#ifndef X86_WIN32
- if (! (abi > FFI_FIRST_ABI) && (abi <= FFI_LAST_ABI))
- return FFI_BAD_ABI;
-#else
- if (! (abi > FFI_FIRST_ABI && abi < FFI_LAST_ABI || abi == FFI_THISCALL))
- return FFI_BAD_ABI;
-#endif
-
- cif->abi = abi;
- cif->arg_types = atypes;
- cif->nargs = ntotalargs;
- cif->rtype = rtype;
-
- cif->flags = 0;
-
- /* Initialize the return type if necessary */
- if ((cif->rtype->size == 0) && (initialize_aggregate(cif->rtype) != FFI_OK))
- return FFI_BAD_TYPEDEF;
-
- /* Perform a sanity check on the return type */
- FFI_ASSERT_VALID_TYPE(cif->rtype);
-
- /* x86, x86-64 and s390 stack space allocation is handled in prep_machdep. */
-#if !defined M68K && !defined X86_ANY && !defined S390 && !defined PA
- /* Make space for the return structure pointer */
- if (cif->rtype->type == FFI_TYPE_STRUCT
-#ifdef SPARC
- && (cif->abi != FFI_V9 || cif->rtype->size > 32)
-#endif
- )
- bytes = STACK_ARG_SIZE(sizeof(void*));
-#endif
-
- for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++)
- {
-
- /* Initialize any uninitialized aggregate type definitions */
- if (((*ptr)->size == 0) && (initialize_aggregate((*ptr)) != FFI_OK))
- return FFI_BAD_TYPEDEF;
-
- /* Perform a sanity check on the argument type, do this
- check after the initialization. */
- FFI_ASSERT_VALID_TYPE(*ptr);
-
-#if !defined X86_ANY && !defined S390 && !defined PA
-#ifdef SPARC
- if (((*ptr)->type == FFI_TYPE_STRUCT
- && ((*ptr)->size > 16 || cif->abi != FFI_V9))
- || ((*ptr)->type == FFI_TYPE_LONGDOUBLE
- && cif->abi != FFI_V9))
- bytes += sizeof(void*);
- else
-#endif
- {
- /* Add any padding if necessary */
- if (((*ptr)->alignment - 1) & bytes)
- bytes = ALIGN(bytes, (*ptr)->alignment);
-
- bytes += STACK_ARG_SIZE((*ptr)->size);
- }
-#endif
- }
-
- cif->bytes = bytes;
-
- /* Perform machine dependent cif processing */
-#ifdef FFI_TARGET_SPECIFIC_VARIADIC
- if (isvariadic)
- return ffi_prep_cif_machdep_var(cif, nfixedargs, ntotalargs);
-#endif
-
- return ffi_prep_cif_machdep(cif);
-}
-#endif /* not __CRIS__ */
-
-ffi_status ffi_prep_cif(ffi_cif *cif, ffi_abi abi, unsigned int nargs,
- ffi_type *rtype, ffi_type **atypes)
-{
- return ffi_prep_cif_core(cif, abi, 0, nargs, nargs, rtype, atypes);
-}
-
-ffi_status ffi_prep_cif_var(ffi_cif *cif,
- ffi_abi abi,
- unsigned int nfixedargs,
- unsigned int ntotalargs,
- ffi_type *rtype,
- ffi_type **atypes)
-{
- return ffi_prep_cif_core(cif, abi, 1, nfixedargs, ntotalargs, rtype, atypes);
-}
-
-#if FFI_CLOSURES
-
-ffi_status
-ffi_prep_closure (ffi_closure* closure,
- ffi_cif* cif,
- void (*fun)(ffi_cif*,void*,void**,void*),
- void *user_data)
-{
- return ffi_prep_closure_loc (closure, cif, fun, user_data, closure);
-}
-
-#endif
diff --git a/.pc/x86_pcrel_test/.timestamp b/.pc/x86_pcrel_test/.timestamp
deleted file mode 100644
index e69de29..0000000
--- a/.pc/x86_pcrel_test/.timestamp
+++ /dev/null
diff --git a/.pc/x86_pcrel_test/ChangeLog b/.pc/x86_pcrel_test/ChangeLog
deleted file mode 100644
index 732fb99..0000000
--- a/.pc/x86_pcrel_test/ChangeLog
+++ /dev/null
@@ -1,4551 +0,0 @@
-2012-02-10 Kai Tietz <ktietz@redhat.com>
-
- * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
- windows target.
- * configure: Regenerated.
-
-2012-02-08 Kai Tietz <ktietz@redhat.com>
-
- * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
- also FFI_THISCALL.
- * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
- (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
- (ffi_prep_closure_loc): Add FFI_THISCALL support.
- * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
- * src/x86/win32.S (ffi_closure_THISCALL): New closure code
- for thiscall-calling convention.
- * testsuite/libffi.call/closure_thiscall.c: New test.
-
-2012-01-28 Kai Tietz <ktietz@redhat.com>
-
- * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
- argument to prototype for specify calling-convention.
- (ffi_call): Add support for stdcall/thiscall convention.
- (ffi_prep_args): Likewise.
- (ffi_raw_call): Likewise.
- * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
- FFI_FASTCALL.
- * src/x86/win32.S (_ffi_call_win32): Add support for
- fastcall/thiscall calling-convention calls.
- * testsuite/libffi.call/fastthis1_win32.c: New test.
- * testsuite/libffi.call/fastthis2_win32.c: New test.
- * testsuite/libffi.call/fastthis3_win32.c: New test.
- * testsuite/libffi.call/strlen2_win32.c: New test.
- * testsuite/libffi.call/many2_win32.c: New test.
- * testsuite/libffi.call/struct1_win32.c: New test.
- * testsuite/libffi.call/struct2_win32.c: New test.
-
-2012-01-23 Andreas Schwab <schwab@linux-m68k.org>
-
- * src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
- mc68000. Test for __HAVE_68881__ in addition to __MC68881__.
-
-2012-01-19 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/48496
- * src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
-
-2012-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (i?86-*-*): Set TARGET to X86_64.
- * configure: Regenerate.
-
-2011-12-07 Andrew Pinski <apinski@cavium.com>
-
- PR libffi/50051
- * src/mips/n32.S: Add ".set mips4".
-
-2011-11-21 Andreas Tobler <andreast@fgznet.ch>
-
- * configure: Regenerate.
-
-2011-11-10 Richard Henderson <rth@redhat.com>
-
- * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
- * configure, aclocal.m4: Rebuild.
-
-2011-09-04 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/49594
- * src/powerpc/darwin_closure.S (stubs): Make the stub binding
- helper reference track the architecture pointer size.
-
-2011-08-25 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
- instructions.
- * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
-
-2011-07-11 Andrew Haley <aph@redhat.com>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46660
- * testsuite/libffi.call/cls_double_va.c: xfail dg-output on
- mips-sgi-irix6*.
- * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
-
-2011-06-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
- PRId8 instead of %hhu, %hhd.
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
- PRIu8): Define.
- [__sgi__] (PRId8, PRIu8): Define.
-
-2011-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
- Define.
- Use them to handle ELF vs. ECOFF differences.
- [__osf__] (_GLOBAL__F_ffi_call_osf): Define.
-
-2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/46661
- * testsuite/libffi.call/cls_pointer.c (main): Cast void * to
- uintptr_t first.
- * testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
- Handle case when CPU variant does not have long double support.
- * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
- and cores with soft floating point.
-
-2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * configure.ac: Add mips*-*-rtems* support.
- * configure: Regenerate.
- * src/mips/ffitarget.h: Ensure needed constants are available
- for targets which do not have sgidefs.h.
-
-2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR target/40125
- * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
- * configure: Regenerate.
-
-2010-12-18 Iain Sandoe <iains@gcc.gnu.org>
-
- PR libffi/29152
- PR libffi/42378
- * src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
- (FFI_TRAMPOLINE_SIZE): Update for Darwin64.
- * src/powerpc/darwin.S: Provide Darwin64 implementation,
- update comments.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
- backslashes.
- (libffi_cv_as_string_pseudo_op): Likewise.
- * configure: Regenerate.
-
-2010-12-03 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
- (ffi_closure_VFP): Same.
- (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
- directive.
-
-2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
- (PRIuPTR): Define.
-
-2010-11-29 Richard Henderson <rth@redhat.com>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
- (.eh_frame): Use FDE_ENCODING.
- (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
-
-2010-11-22 Jacek Caban <jacek@codeweavers.com>
-
- * configure.ac: Check for symbol underscores on mingw-w64.
- * configure: Rebuilt.
- * src/x86/win64.S: Correctly access extern symbols in respect to
- underscores.
-
-2010-11-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp: Rename ...
- * testsuite/lib/libffi.exp: ... to this.
- * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
- * libffi/testsuite/libffi.special/special.exp: Likewise.
-
-2010-10-28 Chung-Lin Tang <cltang@codesourcery.com>
-
- * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
- code, new parameter, and return value. Update comments.
- (ffi_prep_cif_machdep): Add case for VFP struct return values. Add
- call to layout_vfp_args().
- (ffi_call_SYSV): Update declaration.
- (ffi_call_VFP): New declaration.
- (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
- when ABI is FFI_VFP.
- (ffi_closure_VFP): New declaration.
- (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
- ffi_prep_incoming_args_SYSV().
- (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
- case handling.
- (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
- construction under VFP hard-float.
- (rec_vfp_type_p): New function.
- (vfp_type_p): Same.
- (place_vfp_arg): Same.
- (layout_vfp_args): Same.
- * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
- based on __ARM_PCS_VFP.
- (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
- fields.
- (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
- (FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
- * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
- direct call. Move function pointer load upwards.
- (ffi_call_VFP): New function.
- (ffi_closure_VFP): Same.
-
- * testsuite/lib/libffi-dg.exp (check-flags): New function.
- (dg-skip-if): New function.
- * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
- and compiler options include -mfloat-abi=hard.
- * testsuite/libffi.call/cls_longdouble_va.c: Same.
-
-2010-10-01 Jakub Jelinek <jakub@redhat.com>
-
- PR libffi/45677
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
- a multiple of 8.
- * testsuite/libffi.call/many2.c: New test.
-
-2010-08-20 Mark Wielaard <mjw@redhat.com>
-
- * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
- returns NULL.
-
-2010-08-09 Andreas Tobler <andreast@fgznet.ch>
-
- * configure.ac: Add target powerpc64-*-freebsd*.
- * configure: Regenerate.
- * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
- -mlong-double-128 only to linux targets.
- * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
- * testsuite/libffi.call/cls_longdouble.c: Likewise.
- * testsuite/libffi.call/huge_struct.c: Likewise.
-
-2010-08-05 Dan Witte <dwitte@mozilla.com>
-
- * Makefile.am: Pass FFI_DEBUG define to msvcc.sh for linking to the
- debug CRT when --enable-debug is given.
- * configure.ac: Define it.
- * msvcc.sh: Translate -g and -DFFI_DEBUG appropriately.
-
-2010-08-04 Dan Witte <dwitte@mozilla.com>
-
- * src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64
- platforms.
- * src/x86/ffi.c: Remove redundant ifdef checks.
- * src/prep_cif.c: Push stack space computation into src/x86/ffi.c
- for X86_ANY so return value space doesn't get added twice.
-
-2010-08-03 Neil Rashbrooke <neil@parkwaycc.co.uk>
-
- * msvcc.sh: Don't pass -safeseh to ml64 because behavior is buggy.
-
-2010-07-22 Dan Witte <dwitte@mozilla.com>
-
- * src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
- * src/prep_cif.c: Fix ABI assertion.
- * src/cris/ffi.c: Ditto.
-
-2010-07-10 Evan Phoenix <evan@fallingsnow.net>
-
- * src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
-
-2010-07-07 Dan Horák <dan@danny.cz>
-
- * include/ffi.h.in: Protect #define with #ifndef.
- * src/powerpc/ffitarget.h: Ditto.
- * src/s390/ffitarget.h: Ditto.
- * src/sparc/ffitarget.h: Ditto.
-
-2010-07-07 Neil Roberts <neil@linux.intel.com>
-
- * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
- 16-bytes.
-
-2010-07-02 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
- * Makefile.in: Regenerated.
-
-2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
- output, too.
- (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
- (libffi_cv_as_string_pseudo_op): Check for .string.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
-
-2010-05-11 Dan Witte <dwitte@mozilla.com>
-
- * doc/libffi.tex: Document previous change.
-
-2010-05-11 Makoto Kato <m_kato@ga2.so-net.ne.jp>
-
- * src/x86/ffi.c (ffi_call): Don't copy structs passed by value.
-
-2010-05-05 Michael Kohler <michaelkohler@live.com>
-
- * src/dlmalloc.c (dlfree): Fix spelling.
- * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
- * configure.ac: Ditto.
- * configure: Rebuilt.
-
-2010-04-13 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Build with -W3 instead of -Wall.
- * src/powerpc/ffi_darwin.c: Remove build warnings.
- * src/x86/ffi.c: Ditto.
- * src/x86/ffitarget.h: Ditto.
-
-2010-04-12 Dan Witte <dwitte@mozilla.com>
- Walter Meinl <wuno@lsvw.de>
-
- * configure.ac: Add OS/2 support.
- * configure: Rebuilt.
- * src/closures.c: Ditto.
- * src/dlmalloc.c: Ditto.
- * src/x86/win32.S: Ditto.
-
-2010-04-07 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
-
-2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2010-03-30 Dan Witte <dwitte@mozilla.com>
-
- * msvcc.sh: Disable build warnings.
- * README (tested): Clarify windows build procedure.
-
-2010-03-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * libffi/src/x86/unix64.S (.eh_frame)
- [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
-
-2010-03-14 Matthias Klose <doko@ubuntu.com>
-
- * src/x86/ffi64.c: Fix typo in comment.
- * src/x86/ffi.c: Use /* ... */ comment style.
-
-2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/libffi.texi (The Closure API): Fix typo.
- * doc/libffi.info: Remove.
-
-2010-02-15 Matthias Klose <doko@ubuntu.com>
-
- * src/arm/sysv.S (__ARM_ARCH__): Define for processor
- __ARM_ARCH_7EM__.
-
-2010-01-15 Anthony Green <green@redhat.com>
-
- * README: Add notes on building with Microsoft Visual C++.
-
-2010-01-15 Daniel Witte <dwitte@mozilla.com>
-
- * msvcc.sh: New file.
-
- * src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
- * src/x86/ffi.c: Tweak function declaration and remove excess
- parens.
- * include/ffi.h.in: Add __declspec(align(8)) to typedef struct
- ffi_closure.
-
- * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
- function ffi_call_win32 on X86_WIN32.
- * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
- (ffi_call_STDCALL): Remove.
-
- * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
- to ffi_prep_cif_machdep for x86.
- * src/x86/ffi.c (ffi_prep_cif_machdep): To here.
-
-2010-01-15 Oliver Kiddle <okiddle@yahoo.co.uk>
-
- * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
- Sun Studio compiler compatibility.
-
-2010-01-12 Conrad Irwin <conrad.irwin@gmail.com>
-
- * doc/libffi.texi: Add closure example.
-
-2010-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40701
- * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
- PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
- * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
- alpha*-dec-osf*.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/return_ll1.c: Likewise.
- * testsuite/libffi.call/stret_medium2.c: Likewise.
- * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
- MAP_FAILED to char *.
-
-2010-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
-
-2009-12-31 Anthony Green <green@redhat.com>
-
- * README: Update for libffi 3.0.9.
-
-2009-12-27 Matthias Klose <doko@ubuntu.com>
-
- * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
- appropriate.
- * configure: Rebuilt.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
- avr32*-*-*.
- * testsuite/libffi.call/cls_double_va.c: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
- and inttypes.h.
- * testsuite/libffi.special/unwindtest.cc: Ditto.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-openbsd*.
- * configure: Rebuilt.
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
- openbsd programs with -lpthread.
-
-2009-12-26 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
- mips*-*-* and arm*-*-*.
- * testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c,
- testsuite/libffi.call/stret_medium2.c,
- testsuite/libffi.call/stret_medium.c,
- testsuite/libffi.call/stret_large.c,
- testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
-
-2009-12-31 Kay Tietz <ktietz70@googlemail.com>
-
- * testsuite/libffi.call/ffitest.h,
- testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
- definitions.
-
-2009-12-31 Carlo Bramini <carlo.bramix@libero.it>
-
- * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
- * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
-
-2009-12-31 Anthony Green <green@redhat.com>
- Blake Chaffin.
-
- * testsuite/libffi.call/huge_struct.c: New test case from Blake
- Chaffin @ Apple.
-
-2009-12-28 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
- local variables.
- (aix_adjust_aggregate_sizes): New function.
- (ffi_prep_cif_machdep): Call it.
-
-2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
- * configure: Regenerate.
- * fficonfig.h.in: Likewise.
- * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
- Solaris/x86.
-
-2009-12-26 Andreas Schwab <schwab@linux-m68k.org>
-
- * 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.
-
-2009-12-25 Matthias Klose <doko@ubuntu.com>
-
- * man/ffi_call.3: Fix #include in examples.
- * doc/libffi.texi: Add dircategory.
-
-2009-12-25 Frank Everdij <f.p.x.everdij@tudelft.nl>
-
- * include/ffi.h.in: Placed '__GNUC__' ifdef around
- '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
- IRIX MIPSPro c99.
- * include/ffi_common.h: Added '__sgi' define to non
- '__attribute__((__mode__()))' integer typedefs.
- * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
- ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
- (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
- FFI_LONGDOUBLE support and alignment(N32 only).
- * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
- fixed non '__attribute__((__mode__()))' integer typedefs.
- * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
- since they are Linux/GNU Assembler specific.
-
-2009-12-25 Bradley Smith <brad@brad-smith.co.uk>
-
- * configure.ac, Makefile.am, src/avr32/ffi.c,
- src/avr32/ffitarget.h,
- src/avr32/sysv.S: Add AVR32 port.
- * configure, Makefile.in: Rebuilt.
-
-2009-12-21 Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
- * configure: Regenerate.
-
-2009-12-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
- type on HP-UX.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
- double' arguments.
-
-2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libffi/40700
- * src/closures.c [X86_64 && __sun__ && __svr4__]
- (FFI_MMAP_EXEC_WRIT): Define.
-
-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.
-
-2009-12-07 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
- typo.
-
-2009-12-05 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
- code.
- * src/powerpc/aix_closure.S: Same.
-
-2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
- linux64_closure.S.
-
-2009-12-04 Uros Bizjak <ubizjak@gmail.com>
-
- 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.
-
-2009-12-04 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
- pfr for long double split between fpr13 and stack.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
- fparg_count twice for long double.
-
-2009-12-03 David Edelsohn <edelsohn@gnu.org>
-
- PR libffi/42243
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03 Uros Bizjak <ubizjak@gmail.com>
-
- * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
- Remove xfails for x86 linux targets.
-
-2009-12-02 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
- case.
-
-2009-12-01 David Edelsohn <edelsohn@gnu.org>
-
- * 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.
-
-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.
-
-2009-11-02 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/41908
- * testsuite/libffi.call/testclosure.c: New test.
-
-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.
-
-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.
-
-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.
-
-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.
-
-2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.am (install-html, install-pdf): Remove.
- * Makefile.in: Regenerate.
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * man/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24 Dave Korn <dave.korn.cygwin@gmail.com>
-
- 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.
-
-2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
-
- 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.
-
-2009-07-01 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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 "".)
-
-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.
-
-2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * 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.
-
-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.
-
-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.
-
-2009-06-16 Andrew Haley <aph@redhat.com>
-
- * configure.ac (TARGETDIR): Add missing blank lines.
- * configure: Regenerate.
-
-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.
-
-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.
-
-2009-06-12 Andrew Haley <aph@redhat.com>
-
- * Makefile.am: Remove info_TEXINFOS.
-
-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-11 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * 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.
-
-2009-06-09 Andrew Haley <aph@redhat.com>
-
- * src/x86/freebsd.S: Add missing file.
-
-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).
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * README: Import from libffi 3.0.8.
-
-2009-06-08 Andrew Haley <aph@redhat.com>
-
- * testsuite/libffi.call/err_bad_abi.c: Add xfails.
- * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
- * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
- * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
- * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
- * testsuite/libffi.call/stret_medium.c: Likewise.
- * testsuite/libffi.call/stret_large2.c: Likewise.
- * testsuite/libffi.call/stret_large.c: Likewise.
-
-2008-12-26 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_align_longdouble.c,
- testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
- failures on x86_64 cygwin/mingw.
-
-2008-12-22 Timothy Wall <twall@users.sf.net>
-
- * 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_loc_fn0.c,
- testsuite/libffi.call/closure_stdcall.c,
- testsuite/libffi.call/cls_align_pointer.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
- pointer to integer (intptr_t).
- * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24 Anthony Green <green@redhat.com>
-
- * testsuite/libffi.call/cls_dbls_struct.c,
- testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c,
- testsuite/libffi.call/err_bad_abi.c: Clean up failures from
- compiler warnings.
-
-2008-03-04 Anthony Green <green@redhat.com>
- Blake Chaffin
- hos@tamanegi.org
-
- * testsuite/libffi.call/cls_align_longdouble_split2.c
- testsuite/libffi.call/cls_align_longdouble_split.c
- testsuite/libffi.call/cls_dbls_struct.c
- testsuite/libffi.call/cls_double_va.c
- testsuite/libffi.call/cls_longdouble.c
- testsuite/libffi.call/cls_longdouble_va.c
- testsuite/libffi.call/cls_pointer.c
- testsuite/libffi.call/cls_pointer_stack.c
- testsuite/libffi.call/err_bad_abi.c
- testsuite/libffi.call/err_bad_typedef.c
- testsuite/libffi.call/stret_large2.c
- testsuite/libffi.call/stret_large.c
- testsuite/libffi.call/stret_medium2.c
- testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
- libffi.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
- stdcall changes.
-
-2008-02-26 Anthony Green <green@redhat.com>
- Thomas Heller <theller@ctypes.org>
-
- * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
- comment.
-
-2008-02-03 Timothy Wall <twall@users.sf.net>
-
- * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
- offset based on code pointer, not data pointer.
-
-2008-01-31 Timothy Wall <twall@users.sf.net>
-
- * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
- closures.
- * src/x86/ffitarget.h: Increase size of trampoline for stdcall
- closures.
- * src/x86/win32.S: Add assembly for stdcall closure.
- * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Change void (*)() to void (*)(void).
- * src/x86/ffi.c: Likewise.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ppc_closure.S: Insert licence header.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/m68k/sysv.S: Likewise.
-
- * src/sh64/ffi.c: Change void (*)() to void (*)(void).
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/m32r/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi64.c: Likewise.
- * src/alpha/ffi.c: Likewise.
- * src/alpha/osf.S: Likewise.
- * src/frv/ffi.c: Likewise.
- * src/s390/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/pa/hpux32.S: Likewise.
- * src/ia64/unix.S: Likewise.
- * src/ia64/ffi.c: Likewise.
- * src/sparc/ffi.c: Likewise.
- * src/mips/ffi.c: Likewise.
- * src/sh/ffi.c: Likewise.
-
-2008-02-15 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
- Define (conditionally), and use it to include cachectl.h.
- (ffi_prep_closure_loc): Fix cache flushing.
- * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04 Andrew Haley <aph@redhat.com>
-
- include/ffi.h.in,
- src/arm/ffitarget.h,
- src/arm/ffi.c,
- src/arm/sysv.S,
- src/powerpc/ffitarget.h,
- src/closures.c,
- src/sh64/ffitarget.h,
- src/sh64/ffi.c,
- src/sh64/sysv.S,
- src/types.c,
- src/x86/ffi64.c,
- src/x86/ffitarget.h,
- src/x86/win32.S,
- src/x86/darwin.S,
- src/x86/ffi.c,
- src/x86/sysv.S,
- src/x86/unix64.S,
- src/alpha/ffitarget.h,
- src/alpha/ffi.c,
- src/alpha/osf.S,
- src/m68k/ffitarget.h,
- src/frv/ffitarget.h,
- src/frv/ffi.c,
- src/s390/ffitarget.h,
- src/s390/sysv.S,
- src/cris/ffitarget.h,
- src/pa/linux.S,
- src/pa/ffitarget.h,
- src/pa/ffi.c,
- src/raw_api.c,
- src/ia64/ffitarget.h,
- src/ia64/unix.S,
- src/ia64/ffi.c,
- src/ia64/ia64_flags.h,
- src/java_raw_api.c,
- src/debug.c,
- src/sparc/v9.S,
- src/sparc/ffitarget.h,
- src/sparc/ffi.c,
- src/sparc/v8.S,
- src/mips/ffitarget.h,
- src/mips/n32.S,
- src/mips/o32.S,
- src/mips/ffi.c,
- src/prep_cif.c,
- src/sh/ffitarget.h,
- src/sh/ffi.c,
- src/sh/sysv.S: Update license text.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * src/x86/win32.S (_ffi_closure_STDCALL): New function.
- (.eh_frame): Add FDE for it.
-
-2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * configure.ac: Also check if assembler supports pc-relative
- relocs on X86_WIN32 targets.
- * configure: Regenerate.
- * src/x86/win32.S (ffi_prep_args): Declare extern, not global.
- (_ffi_call_SYSV): Add missing function type symbol .def and
- add EH markup labels.
- (_ffi_call_STDCALL): Likewise.
- (_ffi_closure_SYSV): Likewise.
- (_ffi_closure_raw_SYSV): Likewise.
- (.eh_frame): Add hand-crafted EH data.
-
-2009-04-09 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
- version 3 of the GNU General Public License and to point readers
- at the COPYING3 file and the FSF's license web page.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-12-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libffi/26048
- * configure.ac (HAVE_AS_X86_PCREL): New test.
- * configure: Regenerate.
- * fficonfig.h.in: Regenerate.
- * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
- RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
- RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
- * src/x86/unix64.S (.Lstore_table): Move to .text section.
- (.Lload_table): Likewise.
- (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
- signed/unsigned int8/16 return values.
- * src/sparc/v8.S (ffi_call_v8): Likewise.
- (ffi_closure_v8): Likewise.
-
-2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
- Steve Ellcey <sje@cup.hp.com>
-
- * configure: Regenerate for new libtool.
- * Makefile.in: Ditto.
- * include/Makefile.in: Ditto.
- * aclocal.m4: Ditto.
-
-2008-08-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
- FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
- Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
- Adjust copyright notice.
- * src/powerpc/ffi.c: Add two new flags to indicate if we have one
- register or two register to use for FFI_SYSV structs.
- (ffi_prep_cif_machdep): Pass the right register flag introduced above.
- (ffi_closure_helper_SYSV): Fix the return type for
- FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
- Adjust copyright notice.
-
-2008-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
- int.
-
-2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2008-06-07 Joseph Myers <joseph@codesourcery.com>
-
- * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
- powerpc-*-beos*): Remove.
- * configure: Regenerate.
-
-2008-05-09 Julian Brown <julian@codesourcery.com>
-
- * Makefile.am (LTLDFLAGS): New.
- (libffi_la_LDFLAGS): Use above.
- * Makefile.in: Regenerate.
-
-2008-04-18 Paolo Bonzini <bonzini@gnu.org>
-
- PR bootstrap/35457
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2008-03-26 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add .note.GNU-stack on Linux.
- * src/sh64/sysv.S: Likewise.
-
-2008-03-26 Daniel Jacobowitz <dan@debian.org>
-
- * src/arm/sysv.S: Fix ARM comment marker.
-
-2008-03-26 Jakub Jelinek <jakub@redhat.com>
-
- * src/alpha/osf.S: Add .note.GNU-stack on Linux.
- * src/s390/sysv.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
- * src/x86/unix64.S: Likewise.
- * src/x86/sysv.S: Likewise.
- * src/sparc/v8.S: Likewise.
- * src/sparc/v9.S: Likewise.
- * src/m68k/sysv.S: Likewise.
- * src/arm/sysv.S: Likewise.
-
-2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * aclocal.m4: Regenerate.
- * configure: Likewise.
- * Makefile.in: Likewise.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2008-02-12 Bjoern Koenig <bkoenig@alpha-tierchen.de>
- Andreas Tobler <a.tobler@schweiz.org>
-
- * configure.ac: Add amd64-*-freebsd* target.
- * configure: Regenerate.
-
-2008-01-30 H.J. Lu <hongjiu.lu@intel.com>
-
- PR libffi/34612
- * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
- returning struct.
-
- * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
- tests.
-
-2008-01-24 David Edelsohn <edelsohn@gnu.org>
-
- * configure: Regenerate.
-
-2008-01-06 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
-
-2008-01-05 Andreas Tobler <a.tobler@schweiz.org>
-
- PR testsuite/32843
- * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
- signed/unsigned int8/16 for X86_DARWIN.
- Updated copyright info.
- Handle one and two byte structs with special cif->flags.
- * src/x86/ffitarget.h: Add special types for one and two byte structs.
- Updated copyright info.
- * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
- sysv.S
- Remove code to pop args from the stack after call.
- Special-case signed/unsigned for int8/16, one and two byte structs.
- (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
- FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
- FFI_TYPE_SINT32.
- Updated copyright info.
-
-2007-12-08 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_call_N32): Replace dadd with ADDU, dsub with
- SUBU, add with ADDU and use smaller code sequences.
-
-2007-12-07 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
- type.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
- defined.
- (ffi_java_raw): New typedef.
- (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
- ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
- ffi_java_raw.
- (ffi_java_raw_closure) : Same.
- (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
- parameter types.
- * src/java_raw_api.c (ffi_java_raw_size): Replace FFI_SIZEOF_ARG with
- FFI_SIZEOF_JAVA_RAW.
- (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
- Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
- sizeof(ffi_java_raw) for alignment calculations.
- (ffi_java_ptrarray_to_raw): Same.
- (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
- if FFI_SIZEOF_JAVA_RAW == 4.
- (ffi_java_raw_to_rvalue): Same.
- (ffi_java_raw_call): Change type of raw to ffi_java_raw.
- (ffi_java_translate_args): Same.
- (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
- parameter types.
- * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
-
-2007-12-06 David Daney <ddaney@avtrex.com>
-
- * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
- pointer values.
-
-2007-12-01 Andreas Tobler <a.tobler@schweiz.org>
-
- PR libffi/31937
- * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
- Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
- * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
- set the NUM_FPR_ARG_REGISTERS according to.
- Add support for potential soft-float support under hard-float
- architecture.
- (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
- FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
- to the FFI_LINUX_SOFT_FLOAT ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Make sure not to store float/double
- on archs where __NO_FPRS__ is true.
- Add FFI_TYPE_UINT128 support.
- * src/powerpc/sysv.S: Add support for soft-float long-double-128.
- Adjust copyright notice.
-
-2007-11-25 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
- * include/ffi_common.h: ... here.
- Update copyright.
-
-2007-11-17 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
- * testsuite/libffi.call/return_ldl.c: New test.
-
-2007-09-04 <aph@redhat.com>
-
- * src/arm/sysv.S (UNWIND): New.
- (Whole file): Conditionally compile unwinder directives.
- * src/arm/sysv.S: Add unwinder directives.
-
- * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
- Only treat r0 as a struct address if we're actually returning a
- struct by address.
- Only copy the bytes that are actually within a struct.
- (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
- is returned in r0, not passed by address.
- (ffi_call): Allocate a word-sized temporary for the case where
- a composite is returned in r0.
- (ffi_prep_incoming_args_SYSV): Align as necessary.
-
-2007-08-05 Steven Newbury <s_j_newbury@yahoo.co.uk>
-
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
- directly using the sys_cacheflush syscall.
-
-2007-07-27 Andrew Haley <aph@redhat.com>
-
- * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
-
-2007-09-03 Maciej W. Rozycki <macro@linux-mips.org>
-
- * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure: Likewise.
-
-2007-08-24 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/return_sl.c: New test.
-
-2007-08-10 David Daney <ddaney@avtrex.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/nested_struct5.c,
- testsuite/libffi.call/cls_double.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/nested_struct.c,
- testsuite/libffi.call/cls_2byte.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_sint16.c,
- testsuite/libffi.call/cls_align_uint32.c,
- testsuite/libffi.call/cls_20byte.c,
- testsuite/libffi.call/cls_float.c,
- testsuite/libffi.call/nested_struct2.c,
- testsuite/libffi.call/cls_5_1_byte.c,
- testsuite/libffi.call/nested_struct4.c,
- testsuite/libffi.call/cls_24byte.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: Remove xfail for mips64*-*-*.
-
-2007-08-10 David Daney <ddaney@avtrex.com>
-
- 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.
-
-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*.
- * 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.
-
-2006-12-13 Andreas Tobler <a.tobler@schweiz.org>
-
- * aclocal.m4: Regenerate with aclocal -I .. as written in the
- Makefile.am.
-
-2006-10-31 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
- (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
- Darwin.
- * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
- * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10 Paolo Bonzini <bonzini@gnu.org>
- Sandro Tolaini <tolaini@libero.it>
-
- * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
- conditional.
- * configure: Regenerated.
- * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
- (EXTRA_DIST): Add src/x86/darwin.S.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
- X86_WIN32, and additionally align stack to 16 bytes.
- * src/x86/darwin.S: New, based on sysv.S.
- * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12 David Daney <ddaney@avtrex.com>
-
- PR libffi/23935
- * include/Makefile.am: Install both ffi.h and ffitarget.h in
- $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
- * aclocal.m4: Regenerated for automake 1.9.6.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
-2006-08-17 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15 Andreas Tobler <a.tobler@schweiz.ch>
-
- * include/ffi_common.h: Remove lint directives.
- * include/ffi.h.in: Likewise.
-
-2006-07-25 Torsten Schoenfeld <kaffeetisch@gmx.de>
-
- * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
- for 32-bit architectures.
- * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19 David Daney <ddaney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
- xfail remains for mips64.
-
-2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
-
- * Makefile.am: Add install-html target. Add install-html to .PHONY
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
- stack slot.
-
-2006-04-22 Andreas Tobler <a.tobler@schweiz.ch>
-
- * README: Remove notice about 'Crazy Comments'.
- * src/debug.c: Remove lint directives. Cleanup white spaces.
- * src/java_raw_api.c: Likewise.
- * src/prep_cif.c: Likewise.
- * src/raw_api.c: Likewise.
- * src/ffitest.c: Delete. No longer needed, all test cases migrated
- to the testsuite.
- * src/arm/ffi.c: Remove lint directives.
- * src/m32r/ffi.c: Likewise.
- * src/pa/ffi.c: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
- * src/sh/ffi.c: Likewise.
- * src/sh64/ffi.c: Likewise.
- * src/x86/ffi.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/pa/hpux32.S: Correct unwind offset calculation for
- ffi_closure_pa32.
- * src/pa/linux.S: Likewise.
-
-2006-04-12 James E Wilson <wilson@specifix.com>
-
- PR libgcj/26483
- * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
- (hfa_type_load): Call stf_spill.
- (hfa_type_store): Call ldf_fill.
- (ffi_call): Adjust calls to above routines. Add local temps for
- macro result.
-
-2006-04-10 Matthias Klose <doko@debian.org>
-
- * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
- directory names containing underscores.
-
-2006-04-07 James E Wilson <wilson@specifix.com>
-
- * testsuite/libffi.call/float4.c: New testcase.
-
-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.
-
-2006-03-24 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Default
- for 32-bit using IBM extended double format. Fix FFI_LAST_ABI.
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
- FFI_TYPE_LONGDOUBLE.
- (ffi_prep_args64): Assert using IBM extended double.
- (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
- Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
- (ffi_call): Handle FFI_LINUX.
- (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
- gpr3 return pointer as for struct return. Handle FFI_LINUX
- FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf"
- unnecessarily.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
- for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table.
- Don't use r6 as pointer to results, instead use sp offset. Don't
- make a special call to load lr with case table address, instead
- use offset from previous call.
- * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
- return.
-
-2006-03-15 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
- passed with FP registers correctly.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S: Likewise.
-
-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.
-
-2006-02-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
- -O2, -O3, -Os and the warning flags -W -Wall.
- * testsuite/libffi.special/special.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
- unused parameter unused for gcc or else do nothing.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
- * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
- * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
- * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
- * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
- * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
- * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
- * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
- * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
- * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
- * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
- * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
- * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
- * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
- * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
- void* to avoid compiler warning.
- (main): Likewise.
- (cls_struct_align_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
- Likewise.
- * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
- * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
- * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
- data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
- and data unused.
- (main): Cast res_call to silence gcc.
- * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
- userdata unused.
- (cls_ret_schar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
- userdata unused.
- (cls_ret_sint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
- userdata unused.
- (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn): Mark cif and
- userdata unused.
- (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
- userdata unused.
- (cls_ret_uint_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
- and userdata unused.
- * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
- userdata unused.
- (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
- * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
- * testsuite/libffi.call/float1.c (main): Remove unused variable i.
- Cleanup white spaces.
- * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
- * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
- cif and userdata unused.
- * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
- Likewise.
- * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
- formatters to silence gcc.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct4.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct6.c: Mention related PR.
- (B_gn): Mark cif and userdata unused.
- * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
- unused.
- * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
- * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
- * testsuite/libffi.call/problem1.c (stub): Likewise.
- * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
- gcc.
- * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
- in the last commit for this test case in the test case itself.
- * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
- unused.
- * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
- * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
- * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
- * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
- * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
- * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Fix register numbers in the FDE for
- ffi_closure_SYSV.
-
-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.
-
-2006-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
- and cast integer to void * if needed. Update the pointer to
- the FP register saved area correctly.
-
-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.
-
-2006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/return_dbl.c: New test case.
- * testsuite/libffi.call/return_dbl1.c: Likewise.
- * testsuite/libffi.call/return_dbl2.c: Likewise.
- * testsuite/libffi.call/return_fl.c: Likewise.
- * testsuite/libffi.call/return_fl1.c: Likewise.
- * testsuite/libffi.call/return_fl2.c: Likewise.
- * testsuite/libffi.call/return_fl3.c: Likewise.
- * testsuite/libffi.call/closure_fn6.c: Likewise.
-
- * 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.
-
-2006-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.ac: Enable libffi for sparc64-*-freebsd*.
- * configure: Rebuilt.
-
-2006-01-18 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
- instead do the shifting inline.
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
- shift count unconditionally. Simplify load sequences for 1, 2, 3, 4
- and 8 byte structs, for the remaining struct sizes don't call
- __lshrdi3, instead do the shifting inline.
-
-2005-12-07 Thiemo Seufer <ths@networkno.de>
-
- * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
- missing parentheses.
- * src/mips/o32.S (ffi_call_O32): Code formatting. Define
- and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
- (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
- A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
- V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
- FA_0_0_OFF2.
- * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
- endianness bugs.
- (ffi_prep_closure): Improve trampoline instruction scheduling.
- (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c: Formatting.
- (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
- (ffi_prep_args64): Likewise.
-
-2005-09-30 Geoffrey Keating <geoffk@apple.com>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
- darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26 Tom Tromey <tromey@redhat.com>
-
- * 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.
-
-2005-08-25 Alan Modra <amodra@bigpond.net.au>
-
- PR target/23404
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
- homed fp args.
- (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11 Jakub Jelinek <jakub@redhat.com>
-
- * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
- (AH_BOTTOM): Add FFI_HIDDEN definition.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * src/powerpc/ffi.c (hidden): Remove.
- (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
- ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
- .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
- * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
- add FFI_HIDDEN to its prototype.
- (ffi_closure_SYSV_inner): New.
- * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
- * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10 Alfred M. Szmidt <ams@gnu.org>
-
- PR libffi/21819:
- * configure: Rebuilt.
- * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09 Jakub Jelinek <jakub@redhat.com>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
- DW_CFA_offset_extended_sf rather than
- DW_CFA_GNU_negative_offset_extended.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
-
- * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
- on sh3.
- (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
- * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
- partially on register.
- (ffi_closure_helper_SYSV): Likewise.
- (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_call): Handle small structures correctly.
- Remove empty line.
- * src/sh64/ffi.c (simple_type): Remove.
- (return_type): Handle small structures correctly.
- (ffi_prep_args): Likewise.
- (ffi_call): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
- Emit position independent code if PIC and remove wrong datalabel
- prefixes from EH data.
-
-2005-07-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * configure.ac: Add POWERPC_FREEBSD rules.
- * configure: Regenerate.
- * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
- (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
- * src/powerpc/ffi.c: Add flags to handle small structure returns
- in ffi_call_SYSV.
- (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
- Aka FFI_SYSV.
- (ffi_closure_helper_SYSV): Likewise.
- * src/powerpc/ppc_closure.S: Add return types for small structures.
- * src/powerpc/sysv.S: Add bits to handle small structures for
- final SYSV 4 ABI.
-
-2005-07-10 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_5_1_byte.c: New test file.
- * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
- * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05 Randolph Chung <tausq@debian.org>
-
- * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
- as FFI_TYPE_SMALL_STRUCT3. Break out handling for 5-7 byte
- structures. Kill compilation warnings.
- (ffi_closure_inner_LINUX): Print return values as hex in debug
- message. Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
- Properly handle 5-7 byte structure returns.
- * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
- (FFI_TYPE_SMALL_STRUCT2): Remove.
- (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
- (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
- * src/pa/linux.S: Mark source file as using PA1.1 assembly.
- (checksmst1, checksmst2): Remove.
- (checksmst3): Optimize handling of 3-byte struct returns.
- (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libgcj/21943
- * src/mips/n32.S: Enforce PIC code.
- * src/mips/o32.S: Likewise.
-
-2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
- * configure: Regenerate.
-
-2005-06-01 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
- to call ffi_closure_helper_SYSV. Append @local instead.
- * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
- Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
- * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
- * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
- include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-05-08 Richard Henderson <rth@redhat.com>
-
- PR libffi/21285
- * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04 Andreas Degert <ad@papyrus-gmbh.de>
- Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
- bit 11 of flags.
- (ffi_call): Mask return type field. Pass ssecount to ffi_call_unix64.
- (ffi_prep_closure): Set carry bit if sse-used flag set.
- * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
- Only load sse registers if ssecount non-zero.
- (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
- powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
- * configure: Regenerate.
-
-2005-04-20 Hans-Peter Nilsson <hp@axis.com>
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
- have Tcl8.3-compatible intermediate variable.
-
-2005-04-18 Simon Posnjak <simon.posnjak@siol.net>
- Hans-Peter Nilsson <hp@axis.com>
-
- * Makefile.am: Add CRIS support.
- * configure.ac: Likewise.
- * Makefile.in, configure, testsuite/Makefile.in,
- include/Makefile.in: Regenerate.
- * src/cris: New directory.
- * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
- * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
- * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
- \r?\n in output tests.
-
-2005-04-12 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-03-30 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30 Steve Ellcey <sje@cup.hp.com>
-
- * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
- (ffi_sarg) Ditto.
- * src/ia64/unix.S (ffi_closure_unix): Extend gp
- to 64 bits in ILP32 mode.
- Load 64 bits even for short data.
-
-2005-03-23 Mike Stump <mrs@apple.com>
-
- * src/powerpc/darwin.S: Update for -m64 multilib.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21 Zack Weinberg <zack@codesourcery.com>
-
- * 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.
-
-2005-02-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
- odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR libffi/20104
- * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11 Janis Johnson <janis187@us.ibm.com>
-
- * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
- * testsuite/libffi.call/float.c: Ditto.
- * testsuite/libffi.call/float2.c: Ditto.
- * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * testsuite/libffi.special/special.exp (cxx_options): Add
- -shared-libgcc.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
- (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
- offset parameters with a type parameter; deduce size and structure
- alignment. Update all users.
-
-2004-12-31 Richard Henderson <rth@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
- (FFI_TYPE_LONGDOUBLE): Fix for ia64.
- * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
- into ffi_prep_closure.
- * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
- from scratch.
-
-2004-12-27 Richard Henderson <rth@redhat.com>
-
- * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25 Richard Henderson <rth@redhat.com>
-
- * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
- (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
- (merge_classes): Check for it.
- (SSE_CLASS_P): New.
- (classify_argument): Pass byte_offset by value; perform all updates
- inside struct case.
- (examine_argument): Add classes argument; handle
- X86_64_COMPLEX_X87_CLASS.
- (ffi_prep_args): Merge into ...
- (ffi_call): ... here. Share stack frame with ffi_call_unix64.
- (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
- (ffi_fill_return_value): Remove.
- (ffi_prep_closure): Remove dead assert.
- (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
- Rewrite to use struct register_args instead of va_list. Create
- flags for handling structure returns.
- * src/x86/unix64.S: Remove dead strings.
- (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share
- stack frame with ffi_call. Handle structure returns properly.
- (float2sse, floatfloat2sse, double2sse): Remove.
- (sse2float, sse2double, sse2floatfloat): Remove.
- (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite
- to handle structure returns properly.
-
-2004-12-08 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
- PICFLAG.
- * Makefile.in: Regenerated.
-
-2004-12-02 Richard Sandiford <rsandifo@redhat.com>
-
- * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
- * configure, aclocal.m4, Makefile.in: Regenerate.
- * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-25 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool reversion.
-
-2004-11-24 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23 Richard Sandiford <rsandifo@redhat.com>
-
- * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
- of jal. Use an absolute encoding for the frame information.
-
-2004-11-23 Kelley Cook <kcook@gcc.gnu.org>
-
- * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS.
- * acinclude.m4: Delete logic for sincludes.
- * aclocal.m4, Makefile.in, configure: Regenerate.
- * include/Makefile: Likewise.
- * testsuite/Makefile: Likewise.
-
-2004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
- on a 8-byte boundary.
- * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
- long long values. Round stack allocation to a multiple of 8 bytes
- for ATPCS compatibility.
- * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
- names. Handle returning long long types. Add Thumb and interworking
- support. Improve soft-float code.
-
-2004-10-27 Richard Earnshaw <rearnsha@arm.com>
-
- * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
- (libffi_exit): New function.
- (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR other/18138
- * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
- * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
- the function returning a structure pointed with R2.
- * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
- the structure return value if T bit set. Emit position
- independent code and EH data if PIC.
-
-2004-10-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * Makefile.am: Add m32r support.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * confiugre: Regenerate.
- * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
- (uint64, sint64, double, longdouble)
- * src/m32r: New directory.
- * src/m32r/ffi.c: New file.
- * src/m32r/sysv.S: Likewise.
- * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * testsuite/libffi.call/negint.c: New test case.
-
-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.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/many_win32.c: Remove whitespaces.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
- whitespaces.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Fix comments and identation.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
- (ffi_prep_args): Handle longdouble arguments.
- (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
- longdouble.
- (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
- * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
- values.
- * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
- * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/aix.S: Remove whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
- * src/powerpc/asm.h: Likewise.
- * src/powerpc/ffi.c: Likewise.
- * src/powerpc/ffitarget.h: Likewise.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
-
-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.in: Read configure.host.
- * 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 shouldn't 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.
-
-2004-08-24 David Daney <daney@avtrex.com>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint64.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
- to zero.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23 David Daney <daney@avtrex.com>
-
- PR libgcj/13141
- * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
- * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
- (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
- parameters and return types.
- (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
- (ffi_prep_closure): Ditto.
- (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
- alignment calculations.
- * src/mips/o32.S (ffi_closure_O32): Don't use floating point
- instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14 Casey Marshall <csm@gnu.org>
-
- * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
- contain `FFI_TYPE_UINT64' as return type for any 64-bit
- integer (O32 ABI only).
- (ffi_prep_closure): new function.
- (ffi_closure_mips_inner_O32): new function.
- * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
- `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
- * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
- 64 bit integers correctly.
- (ffi_closure_O32): new function.
- Added DWARF-2 unwind info for both functions.
-
-2004-08-10 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01 Robert Millan <robertmh@gnu.org>
-
- * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
- * configure: Regenerate.
-
-2004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
-
- * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
- and mmap() explicitly instead of relying on preset autoconf cache
- variables.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
- (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
- character on Darwin, use '\n\t' instead.
-
-2004-06-26 Matthias Klose <doko@debian.org>
-
- * libtool-version: Fix typo in revision/age.
-
-2004-06-17 Matthias Klose <doko@debian.org>
-
- * libtool-version: New.
- * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
- * Makefile.in: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * Makefile.am: Remove useless multilib rules.
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate with automake 1.8.5.
- * configure.ac: Remove useless multilib configury.
- * configure: Regenerate.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * .cvsignore: New file.
-
-2004-06-10 Jakub Jelinek <jakub@redhat.com>
-
- * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
- fp_done.
- (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
- changed from 8.
-
-2004-06-06 Sean McNeil <sean@mcneil.com>
-
- * configure.ac: Add x86_64-*-freebsd* support.
- * configure: Regenerate.
-
-2004-04-26 Joe Buck <jbuck@welsh-buck.org>
-
- Bug 15093
- * configure.ac: Test for existence of mmap and sys/mman.h before
- checking blacklist. Fix suggested by Jim Wilson.
- * configure: Regenerate.
-
-2004-04-26 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
- FDE location.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
- error. Reported by Thomas Heller <theller@python.net>.
- * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20 Matthias Klose <doko@debian.org>
-
- * src/pa/linux.S: Fix typo.
-
-2004-03-19 Matthias Klose <doko@debian.org>
-
- * Makefile.am: Update.
- * Makefile.in: Regenerate.
- * src/pa/ffi.h.in: Remove.
- * src/pa/ffitarget.h: New file.
-
-2004-02-10 Randolph Chung <tausq@debian.org>
-
- * Makefile.am: Add PA support.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * configure.ac: Add PA target.
- * configure: Regenerate.
- * src/pa/ffi.c: New file.
- * src/pa/ffi.h.in: Add PA support.
- * src/pa/linux.S: New file.
- * prep_cif.c: Add PA support.
-
-2004-03-16 Hosaka Yuji <hos@tamanegi.org>
-
- * src/types.c: Fix alignment size of X86_WIN32 case int64 and
- double.
- * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
- with ecif->cif->flags.
- (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
- with cif->flags.
- (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
- (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
- * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
- sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.in: Rename file to ...
- * configure.ac: ... this.
- * fficonfig.h.in: Regenerate.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2004-03-12 Matt Austern <austern@apple.com>
-
- * src/powerpc/darwin.S: Fix EH information so it corresponds to
- changes in EH format resulting from addition of linkonce support.
- * src/powerpc/darwin_closure.S: Likewise.
-
-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.
-
-2004-03-11 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
- arguments from fp registers only for the first 8 parameter slots.
- Don't convert a float parameter when passed in memory.
-
-2004-03-09 Hans-Peter Nilsson <hp@axis.com>
-
- * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
-
- * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
- ecif->cif->bytes to bytes.
- (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
- * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
- (ffi_closure_helper_LINUX64): Fix typo.
- * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
- for powerpc64-*-*.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
- long double function return and long double arg handling.
- (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
- Use "end_pfr" instead of "nf". Correct long double handling.
- Localise "temp".
- * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
- return value.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
- space for long double return value. Adjust stack frame and offsets.
- Load f2 long double return.
-
-2004-02-07 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
- when the structure return address is passed in %o0.
- (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
- (ffi_v9_layout_struct): Align the field following a nested structure
- on a word boundary. Use memmove instead of memcpy.
- (ffi_call): Update call to ffi_V9_return_struct.
- (ffi_prep_closure): Define 'ctx' only for V8.
- (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
- and ffi_closure_sparc_inner_v9.
- (ffi_closure_sparc_inner_v8): Return long doubles by reference.
- Always skip the structure return address. For structures and long
- doubles, copy the argument directly.
- (ffi_closure_sparc_inner_v9): Skip the structure return address only
- if required. Shift the maximum floating-point slot accordingly. For
- big structures, copy the argument directly; otherwise, left-justify the
- argument and call ffi_v9_layout_struct to lay out the structure on
- the stack.
- * src/sparc/v8.S: Undef STACKFRAME before defining it.
- (ffi_closure_v8): Pass the structure return address. Update call to
- ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
- Skip the 'unimp' insn when returning long doubles and structures.
- * src/sparc/v9.S: Undef STACKFRAME before defining it.
- (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
- FFI_TYPE_INT handling. Load structures both in integers and
- floating-point registers on return.
- * README: Update status of the SPARC port.
-
-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.
-
-2004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
-
- * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
- value as of type ffi_arg, not unsigned int.
-
-2004-01-21 Michael Ritzert <ritzert@t-online.de>
-
- * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
- of the LHS.
-
-2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
- Solaris.
-
-2004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
- to void *.
-
-2003-12-10 Richard Henderson <rth@redhat.com>
-
- * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
- size_t instead of int.
-
-2003-12-04 Hosaka Yuji <hos@tamanegi.org>
-
- * testsuite/libffi.call/many_win32.c: Include <float.h>.
- * testsuite/libffi.call/many_win32.c (main): Replace variable
- int i with unsigned long ul.
-
- * testsuite/libffi.call/cls_align_uint64.c: New test case.
- * testsuite/libffi.call/cls_align_sint64.c: Likewise.
- * testsuite/libffi.call/cls_align_uint32.c: Likewise.
- * testsuite/libffi.call/cls_align_sint32.c: Likewise.
- * testsuite/libffi.call/cls_align_uint16.c: Likewise.
- * testsuite/libffi.call/cls_align_sint16.c: Likewise.
- * testsuite/libffi.call/cls_align_float.c: Likewise.
- * testsuite/libffi.call/cls_align_double.c: Likewise.
- * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
- * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02 Hosaka Yuji <hos@tamanegi.org>
-
- PR other/13221
- * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
- Align arguments to 32 bits.
-
-2003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- PR other/13221
- * testsuite/libffi.call/cls_multi_sshort.c: New test case.
- * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_schar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
- * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-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.
-
-2003-11-21 Andreas Jaeger <aj@suse.de>
- Andreas Tobler <a.tobler@schweiz.ch>
-
- * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
- * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
- * Makefile.in: Rebuilt.
- * aclocal.m4: Likewise.
- * configure: Likewise.
- * fficonfig.h.in: Likewise.
- * testsuite/lib/libffi-dg.exp: Add include dir.
- * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
- for ffi_closure if available.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
- Add -lgcc_s to additional flags.
-
-2003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.in, include/Makefile.am: PR libgcj/11147, install
- the ffitarget.h header file in a gcc versioned and target
- dependent place.
- * configure: Regenerated.
- * Makefile.in, include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Print result and check
- with dg-output to make debugging easier.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_9byte2.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
-
- * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
- static.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_9byte2.c: New test case.
- * testsuite/libffi.call/cls_9byte1.c: Likewise.
- * testsuite/libffi.call/cls_64byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte1.c: Likewise.
- * testsuite/libffi.call/cls_19byte.c: Likewise.
- * testsuite/libffi.call/cls_18byte.c: Likewise.
- * testsuite/libffi.call/closure_fn4.c: Likewise.
- * testsuite/libffi.call/closure_fn5.c: Likewise.
- * testsuite/libffi.call/cls_schar.c: Likewise.
- * testsuite/libffi.call/cls_sint.c: Likewise.
- * testsuite/libffi.call/cls_sshort.c: Likewise.
- * testsuite/libffi.call/nested_struct2.c: Likewise.
- * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/cls_double.c: Do a check on the result.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/prep_cif.c (ffi_prep_cif): Move the validity check after
- the initialization.
-
-2003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
- FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22 David Daney <ddaney@avtrex.com>
-
- * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
- __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22 Andreas Schwab <schwab@suse.de>
-
- * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-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
-
-2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
- _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
- Used when FFI_DEBUG = 1.
-
-2003-10-14 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
- and align.
-
-2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
- FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
- SPARC64. Cleanup whitespaces.
-
-2003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
- strongarm, xscale. Cleanup whitespaces.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/aix.S: Cleanup whitespaces.
- * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
- * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
- parameter stack.
- * src/powerpc/darwin_closure.S: Likewise.
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
- according to the Darwin/AIX ABI.
- (ffi_prep_cif_machdep): Likewise.
- (ffi_closure_helper_DARWIN): Likewise.
- Remove the outgoing parameter stack logic. Simplify the evaluation
- of the different CASE types.
- (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
- statement in the trampoline code.
-
-2003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
- for the register size.
- (ffi_closure_helper_SYSV): Handle the structure return value
- address correctly.
- (ffi_closure_helper_SYSV): Return the appropriate type when
- the registers are used for the structure return value.
- * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
- the 64-bit return value. Update copyright years.
-
-2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
- srcdir for ffi_mips.h.
-
-2003-09-12 Alan Modra <amodra@bigpond.net.au>
-
- * src/prep_cif.c (initialize_aggregate): Include tail padding in
- structure size.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
- placement of float result.
- * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
- cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11 Alan Modra <amodra@bigpond.net.au>
-
- * src/types.c (double, longdouble): Merge identical SH and ARM
- typedefs, and add POWERPC64.
- * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
- struct split over gpr and rest.
- (ffi_prep_cif_machdep): Correct intarg_count for structures.
- * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
- passing correctly.
-
-2003-09-09 Alan Modra <amodra@bigpond.net.au>
-
- * configure: Regenerate.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Remove build rules for ffitest.
- * Makefile.in: Rebuilt.
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
- about implicit declaration of abort().
-
-2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
-
- * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
- * Makefile.in: Rebuilt.
- * configure.in: Add dejagnu test framework.
- * configure: Rebuilt.
-
- * testsuite/Makefile.am: New file.
- * testsuite/Makefile.in: Built
- * testsuite/lib/libffi-dg.exp: New file.
- * testsuite/config/default.exp: Likewise.
- * testsuite/libffi.call/call.exp: Likewise.
- * testsuite/libffi.call/ffitest.h: Likewise.
- * testsuite/libffi.call/closure_fn0.c: Likewise.
- * testsuite/libffi.call/closure_fn1.c: Likewise.
- * testsuite/libffi.call/closure_fn2.c: Likewise.
- * testsuite/libffi.call/closure_fn3.c: Likewise.
- * testsuite/libffi.call/cls_1_1byte.c: Likewise.
- * testsuite/libffi.call/cls_3_1byte.c: Likewise.
- * testsuite/libffi.call/cls_4_1byte.c: Likewise.
- * testsuite/libffi.call/cls_2byte.c: Likewise.
- * testsuite/libffi.call/cls_3byte1.c: Likewise.
- * testsuite/libffi.call/cls_3byte2.c: Likewise.
- * testsuite/libffi.call/cls_4byte.c: Likewise.
- * testsuite/libffi.call/cls_5byte.c: Likewise.
- * testsuite/libffi.call/cls_6byte.c: Likewise.
- * testsuite/libffi.call/cls_7byte.c: Likewise.
- * testsuite/libffi.call/cls_8byte.c: Likewise.
- * testsuite/libffi.call/cls_12byte.c: Likewise.
- * testsuite/libffi.call/cls_16byte.c: Likewise.
- * testsuite/libffi.call/cls_20byte.c: Likewise.
- * testsuite/libffi.call/cls_24byte.c: Likewise.
- * testsuite/libffi.call/cls_double.c: Likewise.
- * testsuite/libffi.call/cls_float.c: Likewise.
- * testsuite/libffi.call/cls_uchar.c: Likewise.
- * testsuite/libffi.call/cls_uint.c: Likewise.
- * testsuite/libffi.call/cls_ulonglong.c: Likewise.
- * testsuite/libffi.call/cls_ushort.c: Likewise.
- * testsuite/libffi.call/float.c: Likewise.
- * testsuite/libffi.call/float1.c: Likewise.
- * testsuite/libffi.call/float2.c: Likewise.
- * testsuite/libffi.call/many.c: Likewise.
- * testsuite/libffi.call/many_win32.c: Likewise.
- * testsuite/libffi.call/nested_struct.c: Likewise.
- * testsuite/libffi.call/nested_struct1.c: Likewise.
- * testsuite/libffi.call/pyobjc-tc.c: Likewise.
- * testsuite/libffi.call/problem1.c: Likewise.
- * testsuite/libffi.call/promotion.c: Likewise.
- * testsuite/libffi.call/return_ll.c: Likewise.
- * testsuite/libffi.call/return_sc.c: Likewise.
- * testsuite/libffi.call/return_uc.c: Likewise.
- * testsuite/libffi.call/strlen.c: Likewise.
- * testsuite/libffi.call/strlen_win32.c: Likewise.
- * testsuite/libffi.call/struct1.c: Likewise.
- * testsuite/libffi.call/struct2.c: Likewise.
- * testsuite/libffi.call/struct3.c: Likewise.
- * testsuite/libffi.call/struct4.c: Likewise.
- * testsuite/libffi.call/struct5.c: Likewise.
- * testsuite/libffi.call/struct6.c: Likewise.
- * testsuite/libffi.call/struct7.c: Likewise.
- * testsuite/libffi.call/struct8.c: Likewise.
- * testsuite/libffi.call/struct9.c: Likewise.
- * testsuite/libffi.special/special.exp: New file.
- * testsuite/libffi.special/ffitestcxx.h: Likewise.
- * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
- copyright years.
-
-2003-08-02 Alan Modra <amodra@bigpond.net.au>
-
- * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
- structure passing.
- (ffi_closure_helper_LINUX64): Likewise.
- * src/powerpc/linux64.S: Remove code writing to parm save area.
- * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
- address in lr from ffi_closure_helper_LINUX64 call to calculate
- table address. Optimize function tail.
-
-2003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/sparc/ffi.c: Handle all floating point registers.
- * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
-
- * README: Note that libffi is not part of GCC. Update the project
- URL and status.
-
-2003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
- Use C style comments.
-
-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
- should be read-only.
- * configure: Rebuilt.
- * fficonfig.h.in: Rebuilt.
- * include/ffi.h.in (EH_FRAME_FLAGS): Define.
- * src/alpha/osf.S: Use EH_FRAME_FLAGS.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
- * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
- if -fpic/-fPIC/-mrelocatable.
- * src/powerpc/powerpc_closure.S: Likewise.
- * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
- #write in .eh_frame flags.
- * src/sparc/v9.S: Likewise.
- * src/x86/unix64.S: Use EH_FRAME_FLAGS.
- * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
- * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
-
-2003-05-07 Jeff Sturm <jsturm@one-point.com>
-
- Fixes PR bootstrap/10656
- * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
- support for .register pseudo-op.
- * src/sparc/v8.S: Use it.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2003-04-18 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (POWERPC64): Define if 64-bit.
- (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
- Make it the default on POWERPC64.
- (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
- * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
- * configure: Rebuilt.
- * src/powerpc/ffi.c (hidden): Define.
- (ffi_prep_args_SYSV): Renamed from
- ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
- (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
- ASM_NEEDS_REGISTERS64): New.
- (ffi_prep_args64): New function.
- (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
- (ffi_call): Likewise.
- (ffi_prep_closure): Likewise.
- (flush_icache): Surround by #ifndef POWERPC64.
- (ffi_dblfl): New union type.
- (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
- (ffi_closure_helper_LINUX64): New function.
- * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
- __powerpc64__.
- * src/powerpc/sysv.S: Likewise.
- (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
- * src/powerpc/linux64.S: New file.
- * src/powerpc/linux64_closure.S: New file.
- * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
- src/powerpc/linux64_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
- * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
- closure_test_fn3): Fix result printing on big-endian 64-bit
- machines.
- (main): Print tst2_arg instead of uninitialized tst2_result.
-
- * src/ffitest.c (main): Hide what closure pointer really points to
- from the compiler.
-
-2003-04-16 Richard Earnshaw <rearnsha@arm.com>
-
- * configure.in (arm-*-netbsdelf*): Add configuration.
- (configure): Regenerated.
-
-2003-04-04 Loren J. Rittle <ljrittle@acm.org>
-
- * include/Makefile.in: Regenerate.
-
-2003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
-
- * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
- bit mode.
- * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
- Receive closure pointer through parameter, read args using
- __builtin_dwarf_cfa.
- (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12 Andreas Schwab <schwab@suse.de>
-
- * configure.in: Avoid trailing /. in toolexeclibdir.
- * configure: Rebuilt.
-
-2003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/powerpc/darwin_closure.S:
- Fix alignement bug, allocate 8 bytes for the result.
- * libffi/src/powerpc/aix_closure.S:
- Likewise.
- * libffi/src/powerpc/ffi_darwin.c:
- Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06 Jakub Jelinek <jakub@redhat.com>
-
- * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
- attribute.
-
-2003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
- Andreas Schwab <schwab@suse.de>
-
- * configure.in: Adjust command to source config-ml.in to account
- for changes to the libffi_basedir definition.
- (libffi_basedir): Remove ${srcdir} from value and include trailing
- slash if nonempty.
-
- * configure: Regenerate.
-
-2003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28 Andrew Haley <aph@redhat.com>
-
- * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
- * src/x86/ffi64.c (ffi_prep_closure): New.
- (ffi_closure_UNIX64_inner): New.
- * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
- Remove USE_LIBDIR conditional.
- * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
- * Makefile.in, configure: Rebuilt.
-
-2003-01027 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
- * Makefile.in: Regenerate.
-
-2003-01-22 Andrew Haley <aph@redhat.com>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
- unwind info.
-
-2003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/darwin.S: Add unwind info.
- * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14 Andrew Haley <aph@redhat.com>
-
- * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
- (ffi_prep_cif_machdep): Likewise.
- * src/x86/unix64.S: Add unwind info.
-
-2003-01-14 Andreas Jaeger <aj@suse.de>
-
- * src/ffitest.c (main): Only use ffi_closures if those are
- supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * libffi/src/ffitest.c
- add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
- * libffi/src/powerpc/ffi.c
- fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09 Geoffrey Keating <geoffk@apple.com>
-
- * src/powerpc/ffi_darwin.c: Remove RCS version string.
- * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
- * src/ffitest.c (main): Use static storage for closure.
- * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
- * src/sparc/v8.S (ffi_closure_v8): New.
- * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10 Ranjit Mathew <rmathew@hotmail.com>
-
- * include/ffi.h.in: Added FFI_STDCALL ffi_type
- enumeration for X86_WIN32.
- * src/x86/win32.S: Added ffi_call_STDCALL function
- definition.
- * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
- switch cases for recognising FFI_STDCALL and
- calling ffi_call_STDCALL if target is X86_WIN32.
- * src/ffitest.c (my_stdcall_strlen/stdcall_many):
- stdcall versions of the "my_strlen" and "many"
- test functions (for X86_WIN32).
- Added test cases to test stdcall invocation using
- these functions.
-
-2002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26 Jim Wilson <wilson@redhat.com>
-
- * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23 H.J. Lu <hjl@gnu.org>
-
- * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
- Include ../config/accross.m4.
- * aclocal.m4; Rebuild.
- * configure: Likewise.
-
-2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11 DJ Delorie <dj@redhat.com>
-
- * configure.in: Look for common files in the right place.
-
-2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
- raw data as _Jv_word values, not ffi_raw.
- (ffi_java_ptrarray_to_raw): Likewise.
- (ffi_java_rvalue_to_raw): New function.
- (ffi_java_raw_call): Call it.
- (ffi_java_raw_to_rvalue): New function.
- (ffi_java_translate_args): Call it.
- * src/ffitest.c (closure_test_fn): Interpret return value
- as ffi_arg, not int.
- * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
- FFI_TYPE_POINTER case.
- (ffi_closure_helper_SYSV): Likewise. Also, assume return
- values extended to word size.
-
-2002-10-02 Andreas Jaeger <aj@suse.de>
-
- * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01 Bo Thorsen <bo@smetana.suse.de>
-
- * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
-
- * configure.in: Add s390x-*-linux-* target.
- * configure: Regenerate.
- * include/ffi.h.in: Define S390X for s390x targets.
- (FFI_CLOSURES): Define for s390/s390x.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
- * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
- * src/s390/ffi.c: Major rework of existing code. Add support for
- s390x targets. Add closure support.
- * src/s390/sysv.S: Likewise.
-
-2002-09-29 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: Fix typo.
-
-2002-09-28 Richard Earnshaw <rearnsha@arm.com>
-
- * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
- has defined __USER_LABEL_PREFIX__, then use it in CNAME.
- (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27 Bo Thorsen <bo@suse.de>
-
- * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * configure.in (sh[34]*-*-linux*): Add brackets.
- * configure: Regenerate.
-
-2002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * Makefile.am: Add SH support.
- * Makefile.in: Regenerate.
- * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
- * configure: Regenerate.
- * include/ffi.h.in: Add SH support.
- * src/sh/ffi.c: New file.
- * src/sh/sysv.S: New file.
- * src/types.c: Add SH support.
-
-2002-07-16 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi64.c: New file that adds x86-64 support.
- * src/x86/unix64.S: New file that handles argument setup for
- x86-64.
- * src/x86/sysv.S: Don't use this on x86-64.
- * src/x86/ffi.c: Don't use this on x86-64.
- Remove unused vars.
- * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
- for x86-64.
- * src/ffitest.c (struct6): New test that tests a special case in
- the x86-64 ABI.
- (struct7): Likewise.
- (struct8): Likewise.
- (struct9): Likewise.
- (closure_test_fn): Silence warning about this when it's not used.
- (main): Add the new tests.
- (main): Fix a couple of wrong casts and silence some compiler warnings.
- * include/ffi.h.in: Add x86-64 ABI definition.
- * fficonfig.h.in: Regenerate.
- * Makefile.am: Add x86-64 support.
- * configure.in: Likewise.
- * Makefile.in: Regenerate.
- * configure: Likewise.
-
-2002-06-24 Bo Thorsen <bo@suse.de>
-
- * src/types.c: Merge settings for similar architectures.
- Add x86-64 sizes and alignments.
-
-2002-06-23 Bo Thorsen <bo@suse.de>
-
- * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
- * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
- * src/mips/ffi.c (ffi_prep_args): Likewise.
- * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18 H.J. Lu (hjl@gnu.org)
-
- * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
- (libffi_la_SOURCES): Support MIPS_LINUX.
- (libffi_convenience_la_SOURCES): Likewise.
- * Makefile.in: Regenerated.
-
- * configure.in (mips64*-*): Skip.
- (mips*-*-linux*): New.
- * configure: Regenerated.
-
- * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
-
-2002-05-27 Roger Sayle <roger@eyesopen.com>
-
- * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27 Bo Thorsen <bo@suse.de>
-
- * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
- fix formatting.
-
-2002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
- beginning of function (for older apple cc).
-
-2002-05-08 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
- script entry, and set LD to it when configuring multilibs.
- * configure: Rebuilt.
-
-2002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (sparc64-*-netbsd*): Add target.
- (sparc-*-netbsdelf*): Likewise.
- * configure: Regenerate.
-
-2002-04-28 David S. Miller <davem@redhat.com>
-
- * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
-
- * Makefile.am: Add Linux for S/390 support.
- * Makefile.in: Regenerate.
- * configure.in: Add Linux for S/390 support.
- * configure: Regenerate.
- * include/ffi.h.in: Add Linux for S/390 support.
- * src/s390/ffi.c: New file from libffi CVS tree.
- * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
- %r_disp32().
- * src/sparc/v8.S: Use it.
- * src/sparc/v9.S: Likewise.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
-
-2002-04-08 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
- correctly.
- * src/ia64/unix.S: Add unwind information. Fix comments.
- Save sp in a way that's compatible with unwind info.
- (ffi_call_unix): Correctly restore sp in all cases.
- * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08 Jakub Jelinek <jakub@redhat.com>
-
- * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (alpha*-*-netbsd*): Add target.
- * configure: Regenerate.
-
-2002-04-04 Jeff Sturm <jsturm@one-point.com>
-
- * src/sparc/v8.S: Add unwind info.
- * src/sparc/v9.S: Likewise.
-
-2002-03-30 Krister Walfridsson <cato@df.lth.se>
-
- * configure.in: Enable i*86-*-netbsdelf*.
- * configure: Rebuilt.
-
-2002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
-
- PR other/2620
- * src/mips/n32.s: Delete
- * src/mips/o32.s: Delete
-
-2002-03-21 Loren J. Rittle <ljrittle@acm.org>
-
- * configure.in: Enable alpha*-*-freebsd*.
- * configure: Rebuilt.
-
-2002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * Makefile.am: libfficonvenience -> libffi_convenience.
- * Makefile.in: Rebuilt.
-
- * Makefile.am: Define ffitest_OBJECTS.
- * Makefile.in: Rebuilt.
-
-2002-03-07 Andreas Tobler <toa@pop.agri.ch>
- David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
- (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
- (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
- * Makefile.in: Regenerate.
- * include/ffi.h.in: Add AIX and Darwin closure definitions.
- * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
- (flush_icache, flush_range): New functions.
- (ffi_closure_helper_DARWIN): New function.
- * src/powerpc/aix_closure.S: New file.
- * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24 Jeff Sturm <jsturm@one-point.com>
-
- * include/ffi.h.in: Add typedef for ffi_arg.
- * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21 Andreas Tobler <toa@pop.agri.ch>
-
- * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
- number of GPRs for floating-point arguments.
-
-2002-01-31 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Replace CHECK_SIZEOF and endian tests with
- cross-compiler friendly macros.
- * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
- macros.
-
-2002-01-18 David Edelsohn <edelsohn@gnu.org>
-
- * src/powerpc/darwin.S (_ffi_call_AIX): New.
- * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
- (TARGET_SRC_POWERPC_AIX): New.
- (POWERPC_AIX): New stanza.
- * Makefile.in: Regenerate.
- * configure.in: Add AIX case.
- * configure: Regenerate.
- * include/ffi.h.in (ffi_abi): Add FFI_AIX.
- * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
- size. Fix "long double" support.
- (ffi_call): Add FFI_AIX case.
- * src/powerpc/aix.S: New.
-
-2001-10-09 John Hornkvist <john@toastedmarshmallow.com>
-
- Implement Darwin PowerPC ABI.
- * configure.in: Handle powerpc-*-darwin*.
- * Makefile.am: Set source files for POWERPC_DARWIN.
- * configure: Rebuilt.
- * Makefile.in: Rebuilt.
- * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
- POWERPC_DARWIN.
- * src/powerpc/darwin.S: New file.
- * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/x86/sysv.S: Avoid gas-only .balign directive.
- Use C style comments.
-
-2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
- Fixes PR bootstrap/3563.
-
-2001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.in: Recognize sparc*-sun-* host.
- * configure: Regenerate.
-
-2001-06-06 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03 Andrew Haley <aph@redhat.com>
-
- * src/alpha/osf.S: Add unwind info.
- * src/powerpc/sysv.S: Add unwind info.
- * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31 Jeff Sturm <jsturm@one-point.com>
-
- * configure.in: Fix AC_ARG_ENABLE usage.
- * configure: Rebuilt.
-
-2001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
-
- * configure.in: Remove warning about beta code.
- * configure: Rebuilt.
-
-2001-04-25 Hans Boehm <Hans_Boehm@hp.com>
-
- * src/ia64/unix.S: Restore stack pointer when returning from
- ffi_closure_UNIX.
- * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18 Jim Wilson <wilson@redhat.com>
-
- * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
- to eliminate RAW DV.
-
-2001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
-
- * Makefile.am: Make a libtool convenience library.
- * Makefile.in: Rebuilt.
-
-2001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Use different syntax for subdirectory creation.
- * configure: Rebuilt.
-
-2001-03-27 Jon Beniston <jon@beniston.com>
-
- * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
- * configure: Rebuilt.
- * Makefile.am: Added X86_WIN32 target support.
- * Makefile.in: Rebuilt.
-
- * include/ffi.h.in: Added X86_WIN32 target support.
-
- * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
- * src/types.c: Added X86_WIN32 target support.
-
- * src/x86/win32.S: New file. Based on sysv.S, but with EH
- stuff removed and made to work with CygWin's gas.
-
-2001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
-
- * configure.in: Make target subdirectory in build dir.
- * Makefile.am: Override suffix based rules to specify correct output
- subdirectory.
- * Makefile.in: Rebuilt.
- * configure: Rebuilt.
-
-2001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
-
- * src/powerpc/ppc_closure.S: New file.
- * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
- involving long long and register pairs.
- (ffi_prep_closure): New function.
- (flush_icache): Likewise.
- (ffi_closure_helper_SYSV): Likewise.
- * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
- (FFI_TRAMPOLINE_SIZE): Likewise.
- (FFI_NATIVE_RAW_API): Likewise.
- * Makefile.in: Rebuilt.
- * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
- (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19 Tom Tromey <tromey@redhat.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02 Nick Clifton <nickc@redhat.com>
-
- * include/ffi.h.in: Remove RCS ident string.
- * include/ffi_mips.h: Remove RCS ident string.
- * src/debug.c: Remove RCS ident string.
- * src/ffitest.c: Remove RCS ident string.
- * src/prep_cif.c: Remove RCS ident string.
- * src/types.c: Remove RCS ident string.
- * src/alpha/ffi.c: Remove RCS ident string.
- * src/alpha/osf.S: Remove RCS ident string.
- * src/arm/ffi.c: Remove RCS ident string.
- * src/arm/sysv.S: Remove RCS ident string.
- * src/mips/ffi.c: Remove RCS ident string.
- * src/mips/n32.S: Remove RCS ident string.
- * src/mips/o32.S: Remove RCS ident string.
- * src/sparc/ffi.c: Remove RCS ident string.
- * src/sparc/v8.S: Remove RCS ident string.
- * src/sparc/v9.S: Remove RCS ident string.
- * src/x86/ffi.c: Remove RCS ident string.
- * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * include/ffi.h.in: Change sourceware.cygnus.com references to
- gcc.gnu.org.
-
-2000-12-09 Richard Henderson <rth@redhat.com>
-
- * src/alpha/ffi.c (ffi_call): Simplify struct return test.
- (ffi_closure_osf_inner): Index rather than increment avalue
- and arg_types. Give ffi_closure_osf the raw return value type.
- * src/alpha/osf.S (ffi_closure_osf): Handle return value type
- promotion.
-
-2000-12-07 Richard Henderson <rth@redhat.com>
-
- * src/raw_api.c (ffi_translate_args): Fix typo.
- (ffi_prep_closure): Likewise.
-
- * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
- FFI_TRAMPOLINE_SIZE.
- * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
- cif->bytes for new ffi_call_osf implementation.
- (ffi_prep_args): Absorb into ...
- (ffi_call): ... here. Do all stack allocation here and
- avoid a callback function.
- (ffi_prep_closure, ffi_closure_osf_inner): New.
- * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
- (ffi_closure_osf): New.
-
-2000-09-10 Alexandre Oliva <aoliva@redhat.com>
-
- * config.guess, config.sub, install-sh: Removed.
- * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
- * Makefile.in: Rebuilt.
-
- * acinclude.m4: Include libtool macros from the top level.
- * aclocal.m4, configure: Rebuilt.
-
-2000-08-22 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
- * configure: Rebuilt.
-
-2000-05-11 Scott Bambrough <scottb@netwinder.org>
-
- * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
- memory correctly. Use conditional instructions, not branches where
- possible.
-
-2000-05-04 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Match `arm*-*-linux-*'.
- From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (SUBDIRS): Define.
- (AM_MAKEFLAGS): Likewise.
- (Multilib support.): Add section.
- * Makefile.in: Rebuilt.
- * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
- New variables. Set for gcc using -print-multi-lib. Export them
- to libtool.
- (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
- * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
- for -shared links.
- (extra_compiler_flags_value, extra_compiler_flags): Check these
- for extra compiler options which need to be passed down in
- compiler_flags.
-
-2000-04-16 Anthony Green <green@redhat.com>
-
- * configure: Rebuilt.
- * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14 Jakub Jelinek <jakub@redhat.com>
-
- * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
- Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
- * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
- Replace all void * sizeofs with sizeof(int).
- Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
- different than DOUBLE.
- Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
- (ffi_prep_args_v9): New function.
- (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
- (ffi_V9_return_struct): New function.
- (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
- 32bit code (not yet cross-arch calls).
- * src/sparc/v8.S: Add struct return delay nop.
- Handle long long.
- * src/sparc/v9.S: New file.
- * src/prep_cif.c (ffi_prep_cif): Return structure pointer
- is used on sparc64 only for structures larger than 32 bytes.
- Pass by reference for structures is done for structure arguments
- larger than 16 bytes.
- * src/ffitest.c (main): Use 64bit rint on sparc64.
- Run long long tests on sparc.
- * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
- sparc64.
- (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
- on sparc64.
- * configure.in (sparc-*-linux*): New supported target.
- (sparc64-*-linux*): Likewise.
- * configure: Rebuilt.
- * Makefile.am: Add v9.S to SPARC files.
- * Makefile.in: Likewise.
- (LINK): Surround $(CCLD) into double quotes, so that multilib
- compiles work correctly.
-
-2000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: (i*86-*-solaris*): New libffi target. Patch
- proposed by Bryce McKinlay.
-
-2000-03-20 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
-
- * config.guess, config.sub: Update from the gcc tree.
- Fix for PR libgcj/168.
-
-2000-03-03 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Fixed ia64 by hand.
-
- * configure: Rebuilt.
- * configure.in (--enable-multilib): New option.
- (libffi_basedir): New subst.
- (AC_OUTPUT): Added multilib code.
-
-2000-03-02 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
- directory name.
-
-2000-02-25 Hans Boehm <boehm@acm.org>
-
- * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
- files.
- * src/raw_api.c (ffi_translate_args): Fixed typo in argument
- list.
- (ffi_prep_raw_closure): Use ffi_translate_args, not
- ffi_closure_translate.
- * src/java_raw_api.c: New file.
- * src/ffitest.c (closure_test_fn): New function.
- (main): Define `rint' as long long on IA64. Added new test when
- FFI_CLOSURES is defined.
- * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
- (ffi_abi): Recognize IA64.
- (ffi_raw): Added `flt' field.
- Added "Java raw API" code.
- * configure.in: Recognize ia64.
- * Makefile.am (TARGET_SRC_IA64): New macro.
- (libffi_la_common_SOURCES): Added java_raw_api.c.
- (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01 Tom Tromey <tromey@cygnus.com>
-
- * include/ffi.h.in: Removed PACKAGE and VERSION defines and
- undefs.
- * fficonfig.h.in: Rebuilt.
- * configure: Rebuilt.
- * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
- Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
- * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09 Anthony Green <green@cygnus.com>
-
- * include/ffi.h.in: Try to work around messy header problem
- with PACKAGE and VERSION.
-
- * configure: Rebuilt.
- * configure.in: Change version to 2.00-beta.
-
- * fficonfig.h.in: Rebuilt.
- * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
- * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
-
- * src/x86/ffi.c (ffi_closure_SYSV): New function.
- (ffi_prep_incoming_args_SYSV): Ditto.
- (ffi_prep_closure): Ditto.
- (ffi_closure_raw_SYSV): Ditto.
- (ffi_prep_raw_closure): More ditto.
- (ffi_call_raw): Final ditto.
-
- * include/ffi.h.in: Add definitions for closure and raw API.
-
- * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
- FFI_TYPE_UINT64.
-
- * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
- * src/raw_api.c: New file.
-
- * include/ffi.h.in (ffi_raw): New type.
- (UINT_ARG, SINT_ARG): New defines.
- (ffi_closure, ffi_raw_closure): New types.
- (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
- * configure.in: Add check for endianness and sizeof void*.
-
- * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
- instead of directly.
-
- * configure: Rebuilt.
-
-Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
-
- * configure.in: Add x86 and powerpc BeOS configurations.
- From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09 Anthony Green <green@cygnus.com>
-
- * configure.in: Add warning about this being beta code.
- Remove src/Makefile.am from the picture.
- * configure: Rebuilt.
-
- * Makefile.am: Move logic from src/Makefile.am. Add changes
- to support libffi as a target library.
- * Makefile.in: Rebuilt.
-
- * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
- Upgraded to new autoconf, automake, libtool.
-
- * README: Tweaks.
-
- * LICENSE: Update copyright date.
-
- * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29 Anthony Green <green@cygnus.com>
-
- * include/ChangeLog: Removed.
- * src/ChangeLog: Removed.
- * src/mips/ChangeLog: Removed.
- * src/sparc/ChangeLog: Remboved.
- * src/x86/ChangeLog: Removed.
-
- * ChangeLog.v1: Created.
diff --git a/.pc/x86_pcrel_test/configure b/.pc/x86_pcrel_test/configure
deleted file mode 100755
index 3a3c06f..0000000
--- a/.pc/x86_pcrel_test/configure
+++ /dev/null
@@ -1,16028 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for libffi 3.0.11-rc2.
-#
-# Report bugs to <http://github.com/atgreen/libffi/issues>.
-#
-#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-# Foundation, Inc.
-#
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in #(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test "x$CONFIG_SHELL" = x; then
- as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '\${1+\"\$@\"}'='\"\$@\"'
- setopt NO_GLOB_SUBST
-else
- case \`(set -o) 2>/dev/null\` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-"
- as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-
-else
- exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1"
- as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
- as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
- eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
- test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-
- test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
- ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
- ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
- ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
- PATH=/empty FPATH=/empty; export PATH FPATH
- test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
- || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
- if (eval "$as_required") 2>/dev/null; then :
- as_have_required=yes
-else
- as_have_required=no
-fi
- if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- as_found=:
- case $as_dir in #(
- /*)
- for as_base in sh bash ksh sh5; do
- # Try only shells that exist, to save several forks.
- as_shell=$as_dir/$as_base
- if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
- CONFIG_SHELL=$as_shell as_have_required=yes
- if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
- break 2
-fi
-fi
- done;;
- esac
- as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
- CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
- if test "x$CONFIG_SHELL" != x; then :
- # We cannot yet assume a decent shell, so we have to provide a
- # neutralization value for shells without unset; and this also
- # works around shells that cannot unset nonexistent variables.
- # Preserve -v and -x to the replacement shell.
- BASH_ENV=/dev/null
- ENV=/dev/null
- (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
- export CONFIG_SHELL
- case $- in # ((((
- *v*x* | *x*v* ) as_opts=-vx ;;
- *v* ) as_opts=-v ;;
- *x* ) as_opts=-x ;;
- * ) as_opts= ;;
- esac
- exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
-fi
-
- if test x$as_have_required = xno; then :
- $as_echo "$0: This script requires a shell more modern than all"
- $as_echo "$0: the shells that I found on your system."
- if test x${ZSH_VERSION+set} = xset ; then
- $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
- $as_echo "$0: be upgraded to zsh 4.3.4 or later."
- else
- $as_echo "$0: Please tell bug-autoconf@gnu.org and
-$0: http://github.com/atgreen/libffi/issues about your
-$0: system, including any error possibly output before this
-$0: message. Then install a modern shell, or manually run
-$0: the script under such a shell if you do have one."
- fi
- exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} # as_fn_exit
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- fi
- $as_echo "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} # as_fn_error
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
- as_lineno_1=$LINENO as_lineno_1a=$LINENO
- as_lineno_2=$LINENO as_lineno_2a=$LINENO
- eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
- test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
- # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
- sed -n '
- p
- /[$]LINENO/=
- ' <$as_myself |
- sed '
- s/[$]LINENO.*/&-/
- t lineno
- b
- :lineno
- N
- :loop
- s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
- t loop
- s/-\n.*//
- ' >$as_me.lineno &&
- chmod +x "$as_me.lineno" ||
- { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensitive to this).
- . "./$as_me.lineno"
- # Exit status is that of the last command.
- exit
-}
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -p'
- fi
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in #(
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-
-test -n "$DJDIR" || exec 7<&0 </dev/null
-exec 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-
-# Identity of this package.
-PACKAGE_NAME='libffi'
-PACKAGE_TARNAME='libffi'
-PACKAGE_VERSION='3.0.11-rc2'
-PACKAGE_STRING='libffi 3.0.11-rc2'
-PACKAGE_BUGREPORT='http://github.com/atgreen/libffi/issues'
-PACKAGE_URL=''
-
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-# include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-# include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='am__EXEEXT_FALSE
-am__EXEEXT_TRUE
-LTLIBOBJS
-LIBOBJS
-toolexeclibdir
-toolexecdir
-FFI_DEBUG_FALSE
-FFI_DEBUG_TRUE
-TARGETDIR
-TARGET
-sys_symbol_underscore
-HAVE_LONG_DOUBLE
-ALLOCA
-PA64_HPUX_FALSE
-PA64_HPUX_TRUE
-PA_HPUX_FALSE
-PA_HPUX_TRUE
-PA_LINUX_FALSE
-PA_LINUX_TRUE
-SH64_FALSE
-SH64_TRUE
-SH_FALSE
-SH_TRUE
-X86_64_FALSE
-X86_64_TRUE
-S390_FALSE
-S390_TRUE
-FRV_FALSE
-FRV_TRUE
-LIBFFI_CRIS_FALSE
-LIBFFI_CRIS_TRUE
-AVR32_FALSE
-AVR32_TRUE
-ARM_FALSE
-ARM_TRUE
-POWERPC_FREEBSD_FALSE
-POWERPC_FREEBSD_TRUE
-POWERPC_DARWIN_FALSE
-POWERPC_DARWIN_TRUE
-POWERPC_AIX_FALSE
-POWERPC_AIX_TRUE
-POWERPC_FALSE
-POWERPC_TRUE
-MOXIE_FALSE
-MOXIE_TRUE
-M68K_FALSE
-M68K_TRUE
-M32R_FALSE
-M32R_TRUE
-IA64_FALSE
-IA64_TRUE
-ALPHA_FALSE
-ALPHA_TRUE
-X86_DARWIN_FALSE
-X86_DARWIN_TRUE
-X86_WIN64_FALSE
-X86_WIN64_TRUE
-X86_WIN32_FALSE
-X86_WIN32_TRUE
-X86_FREEBSD_FALSE
-X86_FREEBSD_TRUE
-X86_FALSE
-X86_TRUE
-SPARC_FALSE
-SPARC_TRUE
-MIPS_FALSE
-MIPS_TRUE
-AM_LTLDFLAGS
-AM_RUNTESTFLAGS
-TESTSUBDIR_FALSE
-TESTSUBDIR_TRUE
-MAINT
-MAINTAINER_MODE_FALSE
-MAINTAINER_MODE_TRUE
-CPP
-OTOOL64
-OTOOL
-LIPO
-NMEDIT
-DSYMUTIL
-MANIFEST_TOOL
-RANLIB
-ac_ct_AR
-AR
-DLLTOOL
-OBJDUMP
-LN_S
-NM
-ac_ct_DUMPBIN
-DUMPBIN
-LD
-FGREP
-EGREP
-GREP
-SED
-LIBTOOL
-am__fastdepCCAS_FALSE
-am__fastdepCCAS_TRUE
-CCASDEPMODE
-CCASFLAGS
-CCAS
-am__fastdepCC_FALSE
-am__fastdepCC_TRUE
-CCDEPMODE
-AMDEPBACKSLASH
-AMDEP_FALSE
-AMDEP_TRUE
-am__quote
-am__include
-DEPDIR
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-am__untar
-am__tar
-AMTAR
-am__leading_dot
-SET_MAKE
-AWK
-mkdir_p
-MKDIR_P
-INSTALL_STRIP_PROGRAM
-STRIP
-install_sh
-MAKEINFO
-AUTOHEADER
-AUTOMAKE
-AUTOCONF
-ACLOCAL
-VERSION
-PACKAGE
-CYGPATH_W
-am__isrc
-INSTALL_DATA
-INSTALL_SCRIPT
-INSTALL_PROGRAM
-target_os
-target_vendor
-target_cpu
-target
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-enable_dependency_tracking
-enable_shared
-enable_static
-with_pic
-enable_fast_install
-with_gnu_ld
-with_sysroot
-enable_libtool_lock
-enable_maintainer_mode
-enable_debug
-enable_structs
-enable_raw_api
-enable_purify_safety
-'
- ac_precious_vars='build_alias
-host_alias
-target_alias
-CCAS
-CCASFLAGS
-CPP
-CPPFLAGS'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval $ac_prev=\$ac_option
- ac_prev=
- continue
- fi
-
- case $ac_option in
- *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
- *=) ac_optarg= ;;
- *) ac_optarg=yes ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case $ac_dashdash$ac_option in
- --)
- ac_dashdash=yes ;;
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir=$ac_optarg ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build_alias ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build_alias=$ac_optarg ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file=$ac_optarg ;;
-
- --config-cache | -C)
- cache_file=config.cache ;;
-
- -datadir | --datadir | --datadi | --datad)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=*)
- datadir=$ac_optarg ;;
-
- -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
- | --dataroo | --dataro | --datar)
- ac_prev=datarootdir ;;
- -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
- | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
- datarootdir=$ac_optarg ;;
-
- -disable-* | --disable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=no ;;
-
- -docdir | --docdir | --docdi | --doc | --do)
- ac_prev=docdir ;;
- -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
- docdir=$ac_optarg ;;
-
- -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
- ac_prev=dvidir ;;
- -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
- dvidir=$ac_optarg ;;
-
- -enable-* | --enable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=\$ac_optarg ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix=$ac_optarg ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he | -h)
- ac_init_help=long ;;
- -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
- ac_init_help=recursive ;;
- -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
- ac_init_help=short ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host_alias ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host_alias=$ac_optarg ;;
-
- -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
- ac_prev=htmldir ;;
- -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
- | --ht=*)
- htmldir=$ac_optarg ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir=$ac_optarg ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir=$ac_optarg ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir=$ac_optarg ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir=$ac_optarg ;;
-
- -localedir | --localedir | --localedi | --localed | --locale)
- ac_prev=localedir ;;
- -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
- localedir=$ac_optarg ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst | --locals)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
- localstatedir=$ac_optarg ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir=$ac_optarg ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c | -n)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir=$ac_optarg ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix=$ac_optarg ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix=$ac_optarg ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix=$ac_optarg ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name=$ac_optarg ;;
-
- -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
- ac_prev=pdfdir ;;
- -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
- pdfdir=$ac_optarg ;;
-
- -psdir | --psdir | --psdi | --psd | --ps)
- ac_prev=psdir ;;
- -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
- psdir=$ac_optarg ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir=$ac_optarg ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir=$ac_optarg ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site=$ac_optarg ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir=$ac_optarg ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir=$ac_optarg ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target_alias ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target_alias=$ac_optarg ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers | -V)
- ac_init_version=: ;;
-
- -with-* | --with-*)
- ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=\$ac_optarg ;;
-
- -without-* | --without-*)
- ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=no ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes=$ac_optarg ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries=$ac_optarg ;;
-
- -*) as_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
- ;;
-
- *=*)
- ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
- # Reject names that are not valid shell variable names.
- case $ac_envvar in #(
- '' | [0-9]* | *[!_$as_cr_alnum]* )
- as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
- esac
- eval $ac_envvar=\$ac_optarg
- export $ac_envvar ;;
-
- *)
- # FIXME: should be removed in autoconf 3.0.
- $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
- expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- as_fn_error $? "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
- case $enable_option_checking in
- no) ;;
- fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
- *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
- esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
- datadir sysconfdir sharedstatedir localstatedir includedir \
- oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir
-do
- eval ac_val=\$$ac_var
- # Remove trailing slashes.
- case $ac_val in
- */ )
- ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
- eval $ac_var=\$ac_val;;
- esac
- # Be sure to have absolute directory names.
- case $ac_val in
- [\\/$]* | ?:[\\/]* ) continue;;
- NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
- esac
- as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
- if test "x$build_alias" = x; then
- cross_compiling=maybe
- $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
- If a cross compiler is detected then cross compile mode will be used" >&2
- elif test "x$build_alias" != "x$host_alias"; then
- cross_compiling=yes
- fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
- as_fn_error $? "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
- as_fn_error $? "pwd does not report name of working directory"
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then the parent directory.
- ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_myself" : 'X\(//\)[^/]' \| \
- X"$as_myself" : 'X\(//\)$' \| \
- X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- srcdir=$ac_confdir
- if test ! -r "$srcdir/$ac_unique_file"; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
- test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
- as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
- cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
- pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
- srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
- eval ac_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_env_${ac_var}_value=\$${ac_var}
- eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat <<_ACEOF
-\`configure' configures libffi 3.0.11-rc2 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE. See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
- -h, --help display this help and exit
- --help=short display options specific to this package
- --help=recursive display the short help of all the included packages
- -V, --version display version information and exit
- -q, --quiet, --silent do not print \`checking ...' messages
- --cache-file=FILE cache test results in FILE [disabled]
- -C, --config-cache alias for \`--cache-file=config.cache'
- -n, --no-create do not create output files
- --srcdir=DIR find the sources in DIR [configure dir or \`..']
-
-Installation directories:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
- --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
- --infodir=DIR info documentation [DATAROOTDIR/info]
- --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
- --mandir=DIR man documentation [DATAROOTDIR/man]
- --docdir=DIR documentation root [DATAROOTDIR/doc/libffi]
- --htmldir=DIR html documentation [DOCDIR]
- --dvidir=DIR dvi documentation [DOCDIR]
- --pdfdir=DIR pdf documentation [DOCDIR]
- --psdir=DIR ps documentation [DOCDIR]
-_ACEOF
-
- cat <<\_ACEOF
-
-Program names:
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM run sed PROGRAM on installed program names
-
-System types:
- --build=BUILD configure for building on BUILD [guessed]
- --host=HOST cross-compile to build programs to run on HOST [BUILD]
- --target=TARGET configure for building compilers for TARGET [HOST]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
- case $ac_init_help in
- short | recursive ) echo "Configuration of libffi 3.0.11-rc2:";;
- esac
- cat <<\_ACEOF
-
-Optional Features:
- --disable-option-checking ignore unrecognized --enable/--with options
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --disable-dependency-tracking speeds up one-time build
- --enable-dependency-tracking do not reject slow dependency extractors
- --enable-shared[=PKGS] build shared libraries [default=yes]
- --enable-static[=PKGS] build static libraries [default=yes]
- --enable-fast-install[=PKGS]
- optimize for fast installation [default=yes]
- --disable-libtool-lock avoid locking (might break parallel builds)
- --enable-maintainer-mode enable make rules and dependencies not useful
- (and sometimes confusing) to the casual installer
- --enable-debug debugging mode
- --disable-structs omit code for struct support
- --disable-raw-api make the raw api unavailable
- --enable-purify-safety purify-safe mode
-
-Optional Packages:
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --with-pic try to use only PIC/non-PIC objects [default=use
- both]
- --with-gnu-ld assume the C compiler uses GNU ld [default=no]
- --with-sysroot=DIR Search for dependent libraries within DIR
- (or the compiler's sysroot if not specified).
-
-Some influential environment variables:
- CC C compiler command
- CFLAGS C compiler flags
- LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
- nonstandard directory <lib dir>
- LIBS libraries to pass to the linker, e.g. -l<library>
- CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
- you have headers in a nonstandard directory <include dir>
- CCAS assembler compiler command (defaults to CC)
- CCASFLAGS assembler compiler flags (defaults to CFLAGS)
- CPP C preprocessor
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to <http://github.com/atgreen/libffi/issues>.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
- # If there are subdirs, report their specific --help.
- for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d "$ac_dir" ||
- { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
- continue
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
- cd "$ac_dir" || { ac_status=$?; continue; }
- # Check for guested configure.
- if test -f "$ac_srcdir/configure.gnu"; then
- echo &&
- $SHELL "$ac_srcdir/configure.gnu" --help=recursive
- elif test -f "$ac_srcdir/configure"; then
- echo &&
- $SHELL "$ac_srcdir/configure" --help=recursive
- else
- $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi || ac_status=$?
- cd "$ac_pwd" || { ac_status=$?; break; }
- done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
- cat <<\_ACEOF
-libffi configure 3.0.11-rc2
-generated by GNU Autoconf 2.68
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
- exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-# ac_fn_c_try_compile LINENO
-# --------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext
- if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_compile
-
-# ac_fn_c_try_link LINENO
-# -----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext conftest$ac_exeext
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext && {
- test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
- }; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
- # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
- # interfere with the next link command; also delete a directory that is
- # left behind by Apple's compiler. We do this before executing the actions.
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_link
-
-# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists and can be compiled using the include files in
-# INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- eval "$3=yes"
-else
- eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_compile
-
-# ac_fn_c_try_cpp LINENO
-# ----------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } > conftest.i && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_cpp
-
-# ac_fn_c_try_run LINENO
-# ----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
-ac_fn_c_try_run ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
- ac_retval=0
-else
- $as_echo "$as_me: program exited with status $ac_status" >&5
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=$ac_status
-fi
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_run
-
-# ac_fn_c_check_func LINENO FUNC VAR
-# ----------------------------------
-# Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_c_check_func ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $2 innocuous_$2
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $2 (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $2
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $2 ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_$2 || defined __stub___$2
-choke me
-#endif
-
-int
-main ()
-{
-return $2 ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- eval "$3=yes"
-else
- eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_func
-
-# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists, giving a warning if it cannot be compiled using
-# the include files in INCLUDES and setting the cache variable VAR
-# accordingly.
-ac_fn_c_check_header_mongrel ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if eval \${$3+:} false; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
- # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_header_compiler=yes
-else
- ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <$2>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- ac_header_preproc=yes
-else
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
- yes:no: )
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
- ;;
- no:yes:* )
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( $as_echo "## ------------------------------------------------------ ##
-## Report this to http://github.com/atgreen/libffi/issues ##
-## ------------------------------------------------------ ##"
- ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_mongrel
-
-# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
-# -------------------------------------------
-# Tests whether TYPE exists after having included INCLUDES, setting cache
-# variable VAR accordingly.
-ac_fn_c_check_type ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- eval "$3=no"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-if (sizeof ($2))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-if (sizeof (($2)))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
- eval "$3=yes"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_type
-
-# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
-# --------------------------------------------
-# Tries to find the compile-time value of EXPR in a program that includes
-# INCLUDES, setting VAR accordingly. Returns whether the value could be
-# computed
-ac_fn_c_compute_int ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if test "$cross_compiling" = yes; then
- # Depending upon the size, compute the lo and hi bounds.
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_lo=0 ac_mid=0
- while :; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_hi=$ac_mid; break
-else
- as_fn_arith $ac_mid + 1 && ac_lo=$as_val
- if test $ac_lo -le $ac_mid; then
- ac_lo= ac_hi=
- break
- fi
- as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) < 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_hi=-1 ac_mid=-1
- while :; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_lo=$ac_mid; break
-else
- as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
- if test $ac_mid -le $ac_hi; then
- ac_lo= ac_hi=
- break
- fi
- as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- ac_lo= ac_hi=
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
- as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_hi=$ac_mid
-else
- as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in #((
-?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
-'') ac_retval=1 ;;
-esac
- else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-static long int longval () { return $2; }
-static unsigned long int ulongval () { return $2; }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
- FILE *f = fopen ("conftest.val", "w");
- if (! f)
- return 1;
- if (($2) < 0)
- {
- long int i = longval ();
- if (i != ($2))
- return 1;
- fprintf (f, "%ld", i);
- }
- else
- {
- unsigned long int i = ulongval ();
- if (i != ($2))
- return 1;
- fprintf (f, "%lu", i);
- }
- /* Do not output a trailing newline, as this causes \r\n confusion
- on some platforms. */
- return ferror (f) || fclose (f) != 0;
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- echo >>conftest.val; read $3 <conftest.val; ac_retval=0
-else
- ac_retval=1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-rm -f conftest.val
-
- fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_compute_int
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by libffi $as_me 3.0.11-rc2, which was
-generated by GNU Autoconf 2.68. Invocation command line was
-
- $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
-
-/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
-/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
-/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- $as_echo "PATH: $as_dir"
- done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
- for ac_arg
- do
- case $ac_arg in
- -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- continue ;;
- *\'*)
- ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- case $ac_pass in
- 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
- 2)
- as_fn_append ac_configure_args1 " '$ac_arg'"
- if test $ac_must_keep_next = true; then
- ac_must_keep_next=false # Got value, back to normal.
- else
- case $ac_arg in
- *=* | --config-cache | -C | -disable-* | --disable-* \
- | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
- | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
- | -with-* | --with-* | -without-* | --without-* | --x)
- case "$ac_configure_args0 " in
- "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
- esac
- ;;
- -* ) ac_must_keep_next=true ;;
- esac
- fi
- as_fn_append ac_configure_args " '$ac_arg'"
- ;;
- esac
- done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log. We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
- # Save into config.log some information that might help in debugging.
- {
- echo
-
- $as_echo "## ---------------- ##
-## Cache variables. ##
-## ---------------- ##"
- echo
- # The following way of writing the cache mishandles newlines in values,
-(
- for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
- (set) 2>&1 |
- case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- sed -n \
- "s/'\''/'\''\\\\'\'''\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
- ;; #(
- *)
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-)
- echo
-
- $as_echo "## ----------------- ##
-## Output variables. ##
-## ----------------- ##"
- echo
- for ac_var in $ac_subst_vars
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
-
- if test -n "$ac_subst_files"; then
- $as_echo "## ------------------- ##
-## File substitutions. ##
-## ------------------- ##"
- echo
- for ac_var in $ac_subst_files
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
- fi
-
- if test -s confdefs.h; then
- $as_echo "## ----------- ##
-## confdefs.h. ##
-## ----------- ##"
- echo
- cat confdefs.h
- echo
- fi
- test "$ac_signal" != 0 &&
- $as_echo "$as_me: caught signal $ac_signal"
- $as_echo "$as_me: exit $exit_status"
- } >&5
- rm -f core *.core core.conftest.* &&
- rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
- exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
- trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-$as_echo "/* confdefs.h */" > confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
- # We do not want a PATH search for config.site.
- case $CONFIG_SITE in #((
- -*) ac_site_file1=./$CONFIG_SITE;;
- */*) ac_site_file1=$CONFIG_SITE;;
- *) ac_site_file1=./$CONFIG_SITE;;
- esac
-elif test "x$prefix" != xNONE; then
- ac_site_file1=$prefix/share/config.site
- ac_site_file2=$prefix/etc/config.site
-else
- ac_site_file1=$ac_default_prefix/share/config.site
- ac_site_file2=$ac_default_prefix/etc/config.site
-fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
- test "x$ac_site_file" = xNONE && continue
- if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
- sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file" \
- || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5; }
- fi
-done
-
-if test -r "$cache_file"; then
- # Some versions of bash will fail to source /dev/null (special files
- # actually), so we avoid doing that. DJGPP emulates it as a regular file.
- if test /dev/null != "$cache_file" && test -f "$cache_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
- case $cache_file in
- [\\/]* | ?:[\\/]* ) . "$cache_file";;
- *) . "./$cache_file";;
- esac
- fi
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
- >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
- eval ac_old_set=\$ac_cv_env_${ac_var}_set
- eval ac_new_set=\$ac_env_${ac_var}_set
- eval ac_old_val=\$ac_cv_env_${ac_var}_value
- eval ac_new_val=\$ac_env_${ac_var}_value
- case $ac_old_set,$ac_new_set in
- set,)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,set)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,);;
- *)
- if test "x$ac_old_val" != "x$ac_new_val"; then
- # differences in whitespace do not lead to failure.
- ac_old_val_w=`echo x $ac_old_val`
- ac_new_val_w=`echo x $ac_new_val`
- if test "$ac_old_val_w" != "$ac_new_val_w"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- ac_cache_corrupted=:
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
- eval $ac_var=\$ac_old_val
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
-$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
-$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
- fi;;
- esac
- # Pass precious variables to config.status.
- if test "$ac_new_set" = set; then
- case $ac_new_val in
- *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
- *) ac_arg=$ac_var=$ac_new_val ;;
- esac
- case " $ac_configure_args " in
- *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
- *) as_fn_append ac_configure_args " '$ac_arg'" ;;
- esac
- fi
-done
-if $ac_cache_corrupted; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-ac_config_headers="$ac_config_headers fficonfig.h"
-
-
-ac_aux_dir=
-for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
- if test -f "$ac_dir/install-sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f "$ac_dir/install.sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- elif test -f "$ac_dir/shtool"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/shtool install -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
-
-
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
- as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if ${ac_cv_build+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
- ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
- as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if ${ac_cv_host+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "x$host_alias" = x; then
- ac_cv_host=$ac_cv_build
-else
- ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
-$as_echo_n "checking target system type... " >&6; }
-if ${ac_cv_target+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "x$target_alias" = x; then
- ac_cv_target=$ac_cv_host
-else
- ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
-$as_echo "$ac_cv_target" >&6; }
-case $ac_cv_target in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
-esac
-target=$ac_cv_target
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_target
-shift
-target_cpu=$1
-target_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-target_os=$*
-IFS=$ac_save_IFS
-case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
-
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-test -n "$target_alias" &&
- test "$program_prefix$program_suffix$program_transform_name" = \
- NONENONEs,x,x, &&
- program_prefix=${target_alias}-
-
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-am__api_version='1.11'
-
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-# Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
-if test -z "$INSTALL"; then
-if ${ac_cv_path_install+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in #((
- ./ | .// | /[cC]/* | \
- /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
- ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
- /usr/ucb/* ) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
- if test $ac_prog = install &&
- grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- elif test $ac_prog = install &&
- grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # program-specific install script used by HP pwplus--don't use.
- :
- else
- rm -rf conftest.one conftest.two conftest.dir
- echo one > conftest.one
- echo two > conftest.two
- mkdir conftest.dir
- if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
- test -s conftest.one && test -s conftest.two &&
- test -s conftest.dir/conftest.one &&
- test -s conftest.dir/conftest.two
- then
- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
- break 3
- fi
- fi
- fi
- done
- done
- ;;
-esac
-
- done
-IFS=$as_save_IFS
-
-rm -rf conftest.one conftest.two conftest.dir
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL=$ac_cv_path_install
- else
- # As a last resort, use the slow shell script. Don't cache a
- # value for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- INSTALL=$ac_install_sh
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
-$as_echo_n "checking whether build environment is sane... " >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name. Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
- *[\\\"\#\$\&\'\`$am_lf]*)
- as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
-esac
-case $srcdir in
- *[\\\"\#\$\&\'\`$am_lf\ \ ]*)
- as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
-esac
-
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
- if test "$*" = "X"; then
- # -L didn't work.
- set X `ls -t "$srcdir/configure" conftest.file`
- fi
- rm -f conftest.file
- if test "$*" != "X $srcdir/configure conftest.file" \
- && test "$*" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
-alias in your environment" "$LINENO" 5
- fi
-
- test "$2" = conftest.file
- )
-then
- # Ok.
- :
-else
- as_fn_error $? "newly created file is older than distributed files!
-Check your system clock" "$LINENO" 5
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-test "$program_prefix" != NONE &&
- program_transform_name="s&^&$program_prefix&;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
- program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $.
-# By default was `s,x,x', remove it if useless.
-ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
-if test x"${MISSING+set}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
- *)
- MISSING="\${SHELL} $am_aux_dir/missing" ;;
- esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
-else
- am_missing_run=
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
-fi
-
-if test x"${install_sh}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
- *)
- install_sh="\${SHELL} $am_aux_dir/install-sh"
- esac
-fi
-
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_STRIP="strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_STRIP" = x; then
- STRIP=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- STRIP=$ac_ct_STRIP
- fi
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
-$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
-if test -z "$MKDIR_P"; then
- if ${ac_cv_path_mkdir+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in mkdir gmkdir; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
- case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
- 'mkdir (GNU coreutils) '* | \
- 'mkdir (coreutils) '* | \
- 'mkdir (fileutils) '4.1*)
- ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
- break 3;;
- esac
- done
- done
- done
-IFS=$as_save_IFS
-
-fi
-
- test -d ./--version && rmdir ./--version
- if test "${ac_cv_path_mkdir+set}" = set; then
- MKDIR_P="$ac_cv_path_mkdir -p"
- else
- # As a last resort, use the slow shell script. Don't cache a
- # value for MKDIR_P within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- MKDIR_P="$ac_install_sh -d"
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
-$as_echo "$MKDIR_P" >&6; }
-
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
- [\\/$]* | ?:[\\/]*) ;;
- */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-
-for ac_prog in gawk mawk nawk awk
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AWK+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$AWK"; then
- ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_AWK="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$AWK" && break
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
- @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
- *@@@%%%=?*=@@@%%%*)
- eval ac_cv_prog_make_${ac_make}_set=yes;;
- *)
- eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- SET_MAKE=
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
- am__leading_dot=.
-else
- am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
- # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
- # is not polluted with repeated "-I."
- am__isrc=' -I$(srcdir)'
- # test to see if srcdir already configured
- if test -f $srcdir/config.status; then
- as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
- fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
- if (cygpath --version) >/dev/null 2>/dev/null; then
- CYGPATH_W='cygpath -w'
- else
- CYGPATH_W=echo
- fi
-fi
-
-
-# Define the identity of the package.
- PACKAGE='libffi'
- VERSION='3.0.11-rc2'
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE "$PACKAGE"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define VERSION "$VERSION"
-_ACEOF
-
-# Some tools Automake needs.
-
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-
-
-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-
-
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-
-
-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-
-
-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
-# Always define AMTAR for backward compatibility.
-
-AMTAR=${AMTAR-"${am_missing_run}tar"}
-
-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
-
-
-
-
-
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-# Also save and restore CFLAGS, since AC_PROG_CC will come up with
-# defaults of its own if none are provided.
-
-
-
-save_CFLAGS=$CFLAGS
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="${ac_tool_prefix}gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_CC="gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-else
- CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="${ac_tool_prefix}cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- fi
-fi
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# != 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
- fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- for ac_prog in cl.exe
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$CC" && break
- done
-fi
-if test -z "$CC"; then
- ac_ct_CC=$CC
- for ac_prog in cl.exe
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_CC="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_CC" && break
-done
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
- { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compiler $ac_option >&5") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- sed '10a\
-... rest of stderr output deleted ...
- 10q' conftest.err >conftest.er1
- cat conftest.er1 >&5
- fi
- rm -f conftest.er1 conftest.err
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- * ) ac_rmfiles="$ac_rmfiles $ac_file";;
- esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link_default") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile. We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
- ;;
- [ab].out )
- # We found the default executable, but exeext='' is most
- # certainly right.
- break;;
- *.* )
- if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
- then :; else
- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- fi
- # We set ac_cv_exeext here because the later test for it is not
- # safe: cross compilers may not add the suffix if given an `-o'
- # argument, so we may need to know it at that point already.
- # Even if this section looks crufty: it has the advantage of
- # actually working.
- break;;
- * )
- break;;
- esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
- ac_file=''
-fi
-if test -z "$ac_file"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-ac_exeext=$ac_cv_exeext
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- break;;
- * ) break;;
- esac
-done
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdio.h>
-int
-main ()
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
- { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if { ac_try='./conftest$ac_cv_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- cross_compiling=no
- else
- if test "$cross_compiling" = maybe; then
- cross_compiling=yes
- else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5; }
- fi
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- for ac_file in conftest.o conftest.obj conftest.*; do
- test -f "$ac_file" || continue;
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
- *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
- break;;
- esac
-done
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-#ifndef __GNUC__
- choke me
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_compiler_gnu=yes
-else
- ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
- GCC=yes
-else
- GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_save_c_werror_flag=$ac_c_werror_flag
- ac_c_werror_flag=yes
- ac_cv_prog_cc_g=no
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-else
- CFLAGS=""
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
- ac_c_werror_flag=$ac_save_c_werror_flag
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
- CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
- if test "$GCC" = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-g"
- fi
-else
- if test "$GCC" = yes; then
- CFLAGS="-O2"
- else
- CFLAGS=
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
- char **p;
- int i;
-{
- return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
- char *s;
- va_list v;
- va_start (v,p);
- s = g (p, va_arg (v,int));
- va_end (v);
- return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
- function prototypes and stuff, but not '\xHH' hex character constants.
- These don't provoke an error unfortunately, instead are silently treated
- as 'x'. The following induces an error, until -std is added to get
- proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
- array size at least. It's necessary to write '\x00'==0 to get something
- that's true only with -std. */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
- inside strings and character constants. */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
- ;
- return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
- -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
- CC="$ac_save_CC $ac_arg"
- if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
- test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
- x)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
- xno)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
- *)
- CC="$CC $ac_cv_prog_cc_c89"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
-
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
- @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
-$as_echo_n "checking for style of include used by $am_make... " >&6; }
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
- am__include=include
- am__quote=
- _am_result=GNU
- ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- case `$am_make -s -f confmf 2> /dev/null` in #(
- *the\ am__doit\ target*)
- am__include=.include
- am__quote="\""
- _am_result=BSD
- ;;
- esac
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
-rm -f confinc confmf
-
-# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then :
- enableval=$enable_dependency_tracking;
-fi
-
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
-fi
- if test "x$enable_dependency_tracking" != xno; then
- AMDEP_TRUE=
- AMDEP_FALSE='#'
-else
- AMDEP_TRUE='#'
- AMDEP_FALSE=
-fi
-
-
-
-depcc="$CC" am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CC_dependencies_compiler_type+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_CC_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
- fi
- am__universal=false
- case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac
-
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs
- am__obj=sub/conftest.${OBJEXT-o}
- am__minus_obj="-o $am__obj"
- case $depmode in
- gcc)
- # This depmode causes a compiler race in universal mode.
- test "$am__universal" = false || continue
- ;;
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- msvisualcpp | msvcmsys)
- # This compiler won't grok `-c -o', but also, the minuso test has
- # not run yet. These depmodes are late enough in the game, and
- # so weak that their functioning should not be impacted.
- am__obj=conftest.${OBJEXT-o}
- am__minus_obj=
- ;;
- none) break ;;
- esac
- if depmode=$depmode \
- source=sub/conftest.c object=$am__obj \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_CC_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
- am__fastdepCC_TRUE=
- am__fastdepCC_FALSE='#'
-else
- am__fastdepCC_TRUE='#'
- am__fastdepCC_FALSE=
-fi
-
-
-CFLAGS=$save_CFLAGS
-
-
-
-
-
-# By default we simply use the C compiler to build assembly code.
-
-test "${CCAS+set}" = set || CCAS=$CC
-test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
-
-
-
-depcc="$CCAS" am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CCAS_dependencies_compiler_type+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_CCAS_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
- fi
- am__universal=false
-
-
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs
- am__obj=sub/conftest.${OBJEXT-o}
- am__minus_obj="-o $am__obj"
- case $depmode in
- gcc)
- # This depmode causes a compiler race in universal mode.
- test "$am__universal" = false || continue
- ;;
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- msvisualcpp | msvcmsys)
- # This compiler won't grok `-c -o', but also, the minuso test has
- # not run yet. These depmodes are late enough in the game, and
- # so weak that their functioning should not be impacted.
- am__obj=conftest.${OBJEXT-o}
- am__minus_obj=
- ;;
- none) break ;;
- esac
- if depmode=$depmode \
- source=sub/conftest.c object=$am__obj \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_CCAS_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_CCAS_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CCAS_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CCAS_dependencies_compiler_type" >&6; }
-CCASDEPMODE=depmode=$am_cv_CCAS_dependencies_compiler_type
-
- if
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CCAS_dependencies_compiler_type" = gcc3; then
- am__fastdepCCAS_TRUE=
- am__fastdepCCAS_FALSE='#'
-else
- am__fastdepCCAS_TRUE='#'
- am__fastdepCCAS_FALSE=
-fi
-
-
-if test "x$CC" != xcc; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
-$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5
-$as_echo_n "checking whether cc understands -c and -o together... " >&6; }
-fi
-set dummy $CC; ac_cc=`$as_echo "$2" |
- sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-# Make sure it works both with $CC and with simple cc.
-# We do the test twice because some compilers refuse to overwrite an
-# existing .o file with -o, though they will create one.
-ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-rm -f conftest2.*
-if { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } &&
- test -f conftest2.$ac_objext && { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; };
-then
- eval ac_cv_prog_cc_${ac_cc}_c_o=yes
- if test "x$CC" != xcc; then
- # Test first that cc exists at all.
- if { ac_try='cc -c conftest.$ac_ext >&5'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
- rm -f conftest2.*
- if { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } &&
- test -f conftest2.$ac_objext && { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; };
- then
- # cc works too.
- :
- else
- # cc exists but doesn't like -o.
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
- fi
- fi
- fi
-else
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
-fi
-rm -f core conftest*
-
-fi
-if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h
-
-fi
-
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
- # Losing compiler, so override with the script.
- # FIXME: It is wrong to rewrite CC.
- # But if we don't then we get into trouble of one sort or another.
- # A longer-term fix would be to have automake use am__CC in this case,
- # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
- CC="$am_aux_dir/compile $CC"
-fi
-
-
-case `pwd` in
- *\ * | *\ *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
-$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
-esac
-
-
-
-macro_version='2.4'
-macro_revision='1.3293'
-
-
-
-
-
-
-
-
-
-
-
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-# Backslashify metacharacters that are still active within
-# double-quoted strings.
-sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
-$as_echo_n "checking how to print strings... " >&6; }
-# Test print first, because it will be a builtin if present.
-if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
- test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
- ECHO='print -r --'
-elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
- ECHO='printf %s\n'
-else
- # Use this function as a fallback that always works.
- func_fallback_echo ()
- {
- eval 'cat <<_LTECHO_EOF
-$1
-_LTECHO_EOF'
- }
- ECHO='func_fallback_echo'
-fi
-
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
- $ECHO ""
-}
-
-case "$ECHO" in
- printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
-$as_echo "printf" >&6; } ;;
- print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
-$as_echo "print -r" >&6; } ;;
- *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
-$as_echo "cat" >&6; } ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
-$as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if ${ac_cv_path_SED+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
- for ac_i in 1 2 3 4 5 6 7; do
- ac_script="$ac_script$as_nl$ac_script"
- done
- echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
- { ac_script=; unset ac_script;}
- if test -z "$SED"; then
- ac_path_SED_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in sed gsed; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
-# Check for GNU ac_path_SED and select it if it is found.
- # Check for GNU $ac_path_SED
-case `"$ac_path_SED" --version 2>&1` in
-*GNU*)
- ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo '' >> "conftest.nl"
- "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_SED_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_SED="$ac_path_SED"
- ac_path_SED_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_SED_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_SED"; then
- as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
- fi
-else
- ac_cv_path_SED=$SED
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
-$as_echo "$ac_cv_path_SED" >&6; }
- SED="$ac_cv_path_SED"
- rm -f conftest.sed
-
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$GREP"; then
- ac_path_GREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in grep ggrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
-# Check for GNU ac_path_GREP and select it if it is found.
- # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'GREP' >> "conftest.nl"
- "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_GREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_GREP="$ac_path_GREP"
- ac_path_GREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_GREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_GREP"; then
- as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
- then ac_cv_path_EGREP="$GREP -E"
- else
- if test -z "$EGREP"; then
- ac_path_EGREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in egrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
- # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'EGREP' >> "conftest.nl"
- "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_EGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_EGREP="$ac_path_EGREP"
- ac_path_EGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_EGREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_EGREP"; then
- as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_EGREP=$EGREP
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
-$as_echo_n "checking for fgrep... " >&6; }
-if ${ac_cv_path_FGREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
- then ac_cv_path_FGREP="$GREP -F"
- else
- if test -z "$FGREP"; then
- ac_path_FGREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in fgrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
-# Check for GNU ac_path_FGREP and select it if it is found.
- # Check for GNU $ac_path_FGREP
-case `"$ac_path_FGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'FGREP' >> "conftest.nl"
- "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_FGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_FGREP="$ac_path_FGREP"
- ac_path_FGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_FGREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_FGREP"; then
- as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_FGREP=$FGREP
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
-$as_echo "$ac_cv_path_FGREP" >&6; }
- FGREP="$ac_cv_path_FGREP"
-
-
-test -z "$GREP" && GREP=grep
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then :
- withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
- with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test "$GCC" = yes; then
- # Check if gcc -print-prog-name=ld gives a path.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
-$as_echo_n "checking for ld used by $CC... " >&6; }
- case $host in
- *-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case $ac_prog in
- # Accept absolute paths.
- [\\/]* | ?:[\\/]*)
- re_direlt='/[^/][^/]*/\.\./'
- # Canonicalize the pathname of ld
- ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
- while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
- done
- test -z "$LD" && LD="$ac_prog"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if ${lt_cv_path_LD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$LD"; then
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- lt_cv_path_LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some variants of GNU ld only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
- *GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break
- ;;
- *)
- test "$with_gnu_ld" != yes && break
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
-else
- lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
-$as_echo "$LD" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if ${lt_cv_prog_gnu_ld+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
- lt_cv_prog_gnu_ld=yes
- ;;
-*)
- lt_cv_prog_gnu_ld=no
- ;;
-esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
-$as_echo "$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
-$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if ${lt_cv_path_NM+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$NM"; then
- # Let the user override the test.
- lt_cv_path_NM="$NM"
-else
- lt_nm_to_check="${ac_tool_prefix}nm"
- if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
- lt_nm_to_check="$lt_nm_to_check nm"
- fi
- for lt_tmp_nm in $lt_nm_to_check; do
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- tmp_nm="$ac_dir/$lt_tmp_nm"
- if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
- # Check to see if the nm accepts a BSD-compat flag.
- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
- # nm: unknown option "B" ignored
- # Tru64's nm complains that /dev/null is an invalid object file
- case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
- */dev/null* | *'Invalid file or object type'*)
- lt_cv_path_NM="$tmp_nm -B"
- break
- ;;
- *)
- case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
- */dev/null*)
- lt_cv_path_NM="$tmp_nm -p"
- break
- ;;
- *)
- lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
- continue # so that we can try to find one that supports BSD flags
- ;;
- esac
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
- done
- : ${lt_cv_path_NM=no}
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
-$as_echo "$lt_cv_path_NM" >&6; }
-if test "$lt_cv_path_NM" != "no"; then
- NM="$lt_cv_path_NM"
-else
- # Didn't find any BSD compatible name lister, look for dumpbin.
- if test -n "$DUMPBIN"; then :
- # Let the user override the test.
- else
- if test -n "$ac_tool_prefix"; then
- for ac_prog in dumpbin "link -dump"
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DUMPBIN+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$DUMPBIN"; then
- ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-DUMPBIN=$ac_cv_prog_DUMPBIN
-if test -n "$DUMPBIN"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
-$as_echo "$DUMPBIN" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$DUMPBIN" && break
- done
-fi
-if test -z "$DUMPBIN"; then
- ac_ct_DUMPBIN=$DUMPBIN
- for ac_prog in dumpbin "link -dump"
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_DUMPBIN"; then
- ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
-if test -n "$ac_ct_DUMPBIN"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
-$as_echo "$ac_ct_DUMPBIN" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_DUMPBIN" && break
-done
-
- if test "x$ac_ct_DUMPBIN" = x; then
- DUMPBIN=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- DUMPBIN=$ac_ct_DUMPBIN
- fi
-fi
-
- case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
- *COFF*)
- DUMPBIN="$DUMPBIN -symbols"
- ;;
- *)
- DUMPBIN=:
- ;;
- esac
- fi
-
- if test "$DUMPBIN" != ":"; then
- NM="$DUMPBIN"
- fi
-fi
-test -z "$NM" && NM=nm
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
-$as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if ${lt_cv_nm_interface+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_nm_interface="BSD nm"
- echo "int some_variable = 0;" > conftest.$ac_ext
- (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
- (eval "$ac_compile" 2>conftest.err)
- cat conftest.err >&5
- (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
- (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
- cat conftest.err >&5
- (eval echo "\"\$as_me:$LINENO: output\"" >&5)
- cat conftest.out >&5
- if $GREP 'External.*some_variable' conftest.out > /dev/null; then
- lt_cv_nm_interface="MS dumpbin"
- fi
- rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
-$as_echo "$lt_cv_nm_interface" >&6; }
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
-$as_echo_n "checking whether ln -s works... " >&6; }
-LN_S=$as_ln_s
-if test "$LN_S" = "ln -s"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
-$as_echo "no, using $LN_S" >&6; }
-fi
-
-# find the maximum length of command line arguments
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
-$as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if ${lt_cv_sys_max_cmd_len+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- i=0
- teststring="ABCD"
-
- case $build_os in
- msdosdjgpp*)
- # On DJGPP, this test can blow up pretty badly due to problems in libc
- # (any single argument exceeding 2000 bytes causes a buffer overrun
- # during glob expansion). Even if it were fixed, the result of this
- # check would be larger than it should be.
- lt_cv_sys_max_cmd_len=12288; # 12K is about right
- ;;
-
- gnu*)
- # Under GNU Hurd, this test is not required because there is
- # no limit to the length of command line arguments.
- # Libtool will interpret -1 as no limit whatsoever
- lt_cv_sys_max_cmd_len=-1;
- ;;
-
- cygwin* | mingw* | cegcc*)
- # On Win9x/ME, this test blows up -- it succeeds, but takes
- # about 5 minutes as the teststring grows exponentially.
- # Worse, since 9x/ME are not pre-emptively multitasking,
- # you end up with a "frozen" computer, even though with patience
- # the test eventually succeeds (with a max line length of 256k).
- # Instead, let's just punt: use the minimum linelength reported by
- # all of the supported platforms: 8192 (on NT/2K/XP).
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- mint*)
- # On MiNT this can take a long time and run out of memory.
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- amigaos*)
- # On AmigaOS with pdksh, this test takes hours, literally.
- # So we just punt and use a minimum line length of 8192.
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
- # This has been around since 386BSD, at least. Likely further.
- if test -x /sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
- elif test -x /usr/sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
- else
- lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
- fi
- # And add a safety zone
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- ;;
-
- interix*)
- # We know the value 262144 and hardcode it with a safety zone (like BSD)
- lt_cv_sys_max_cmd_len=196608
- ;;
-
- osf*)
- # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
- # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
- # nice to cause kernel panics so lets avoid the loop below.
- # First set a reasonable default.
- lt_cv_sys_max_cmd_len=16384
- #
- if test -x /sbin/sysconfig; then
- case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
- *1*) lt_cv_sys_max_cmd_len=-1 ;;
- esac
- fi
- ;;
- sco3.2v5*)
- lt_cv_sys_max_cmd_len=102400
- ;;
- sysv5* | sco5v6* | sysv4.2uw2*)
- kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
- if test -n "$kargmax"; then
- lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
- else
- lt_cv_sys_max_cmd_len=32768
- fi
- ;;
- *)
- lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
- if test -n "$lt_cv_sys_max_cmd_len"; then
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- else
- # Make teststring a little bigger before we do anything with it.
- # a 1K string should be a reasonable start.
- for i in 1 2 3 4 5 6 7 8 ; do
- teststring=$teststring$teststring
- done
- SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
- # If test is not a shell built-in, we'll probably end up computing a
- # maximum length that is only half of the actual maximum length, but
- # we can't tell.
- while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
- = "X$teststring$teststring"; } >/dev/null 2>&1 &&
- test $i != 17 # 1/2 MB should be enough
- do
- i=`expr $i + 1`
- teststring=$teststring$teststring
- done
- # Only check the string length outside the loop.
- lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
- teststring=
- # Add a significant safety factor because C++ compilers can tack on
- # massive amounts of additional arguments before passing them to the
- # linker. It appears as though 1/2 is a usable value.
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
- fi
- ;;
- esac
-
-fi
-
-if test -n $lt_cv_sys_max_cmd_len ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
-$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
-$as_echo "none" >&6; }
-fi
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-
-
-
-
-
-: ${CP="cp -f"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
-$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
- test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
- = c,a/b,b/c, \
- && eval 'test $(( 1 + 1 )) -eq 2 \
- && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
- && xsi_shell=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
-$as_echo "$xsi_shell" >&6; }
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
-$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
- >/dev/null 2>&1 \
- && lt_shell_append=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
-$as_echo "$lt_shell_append" >&6; }
-
-
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- lt_unset=unset
-else
- lt_unset=false
-fi
-
-
-
-
-
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
- # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
- lt_SP2NL='tr \040 \012'
- lt_NL2SP='tr \015\012 \040\040'
- ;;
- *) # EBCDIC based system
- lt_SP2NL='tr \100 \n'
- lt_NL2SP='tr \r\n \100\100'
- ;;
-esac
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
-$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
-if ${lt_cv_to_host_file_cmd+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $host in
- *-*-mingw* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
- ;;
- *-*-cygwin* )
- lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
- ;;
- * ) # otherwise, assume *nix
- lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
- ;;
- esac
- ;;
- *-*-cygwin* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
- ;;
- *-*-cygwin* )
- lt_cv_to_host_file_cmd=func_convert_file_noop
- ;;
- * ) # otherwise, assume *nix
- lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
- ;;
- esac
- ;;
- * ) # unhandled hosts (and "normal" native builds)
- lt_cv_to_host_file_cmd=func_convert_file_noop
- ;;
-esac
-
-fi
-
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
-$as_echo "$lt_cv_to_host_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
-$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
-if ${lt_cv_to_tool_file_cmd+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- #assume ordinary cross tools, or native build.
-lt_cv_to_tool_file_cmd=func_convert_file_noop
-case $host in
- *-*-mingw* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
- ;;
- esac
- ;;
-esac
-
-fi
-
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
-$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
-$as_echo_n "checking for $LD option to reload object files... " >&6; }
-if ${lt_cv_ld_reload_flag+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ld_reload_flag='-r'
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
-$as_echo "$lt_cv_ld_reload_flag" >&6; }
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
- cygwin* | mingw* | pw32* | cegcc*)
- if test "$GCC" != yes; then
- reload_cmds=false
- fi
- ;;
- darwin*)
- if test "$GCC" = yes; then
- reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
- else
- reload_cmds='$LD$reload_flag -o $output$reload_objs'
- fi
- ;;
-esac
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
-set dummy ${ac_tool_prefix}objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OBJDUMP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$OBJDUMP"; then
- ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-OBJDUMP=$ac_cv_prog_OBJDUMP
-if test -n "$OBJDUMP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
-$as_echo "$OBJDUMP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OBJDUMP"; then
- ac_ct_OBJDUMP=$OBJDUMP
- # Extract the first word of "objdump", so it can be a program name with args.
-set dummy objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_OBJDUMP"; then
- ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_OBJDUMP="objdump"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
-if test -n "$ac_ct_OBJDUMP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
-$as_echo "$ac_ct_OBJDUMP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_OBJDUMP" = x; then
- OBJDUMP="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- OBJDUMP=$ac_ct_OBJDUMP
- fi
-else
- OBJDUMP="$ac_cv_prog_OBJDUMP"
-fi
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
-$as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if ${lt_cv_deplibs_check_method+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[4-9]*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-beos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-bsdi[45]*)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
- lt_cv_file_magic_cmd='/usr/bin/file -L'
- lt_cv_file_magic_test_file=/shlib/libc.so
- ;;
-
-cygwin*)
- # func_win32_libid is a shell function defined in ltmain.sh
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- ;;
-
-mingw* | pw32*)
- # Base MSYS/MinGW do not provide the 'file' command needed by
- # func_win32_libid shell function, so use a weaker test based on 'objdump',
- # unless we find 'file', for example because we are cross-compiling.
- # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
- if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- else
- # Keep this pattern in sync with the one in func_win32_libid.
- lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- fi
- ;;
-
-cegcc*)
- # use the weaker test based on 'objdump'. See mingw*.
- lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- ;;
-
-darwin* | rhapsody*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-freebsd* | dragonfly*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
- case $host_cpu in
- i*86 )
- # Not sure whether the presence of OpenBSD here was a mistake.
- # Let's accept both of them until this is cleared up.
- lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
- ;;
- esac
- else
- lt_cv_deplibs_check_method=pass_all
- fi
- ;;
-
-gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-haiku*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-hpux10.20* | hpux11*)
- lt_cv_file_magic_cmd=/usr/bin/file
- case $host_cpu in
- ia64*)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
- lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
- ;;
- hppa*64*)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
- lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
- ;;
- *)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
- lt_cv_file_magic_test_file=/usr/lib/libc.sl
- ;;
- esac
- ;;
-
-interix[3-9]*)
- # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $LD in
- *-32|*"-32 ") libmagic=32-bit;;
- *-n32|*"-n32 ") libmagic=N32;;
- *-64|*"-64 ") libmagic=64-bit;;
- *) libmagic=never-match;;
- esac
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
- fi
- ;;
-
-newos6*)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=/usr/lib/libnls.so
- ;;
-
-*nto* | *qnx*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-openbsd*)
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
- fi
- ;;
-
-osf3* | osf4* | osf5*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-rdos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-solaris*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sysv4 | sysv4.3*)
- case $host_vendor in
- motorola)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
- ;;
- ncr)
- lt_cv_deplibs_check_method=pass_all
- ;;
- sequent)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
- ;;
- sni)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
- lt_cv_file_magic_test_file=/lib/libc.so
- ;;
- siemens)
- lt_cv_deplibs_check_method=pass_all
- ;;
- pc)
- lt_cv_deplibs_check_method=pass_all
- ;;
- esac
- ;;
-
-tpf*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
-$as_echo "$lt_cv_deplibs_check_method" >&6; }
-
-file_magic_glob=
-want_nocaseglob=no
-if test "$build" = "$host"; then
- case $host_os in
- mingw* | pw32*)
- if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
- want_nocaseglob=yes
- else
- file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
- fi
- ;;
- esac
-fi
-
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DLLTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$DLLTOOL"; then
- ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-DLLTOOL=$ac_cv_prog_DLLTOOL
-if test -n "$DLLTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
-$as_echo "$DLLTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DLLTOOL"; then
- ac_ct_DLLTOOL=$DLLTOOL
- # Extract the first word of "dlltool", so it can be a program name with args.
-set dummy dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_DLLTOOL"; then
- ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_DLLTOOL="dlltool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
-if test -n "$ac_ct_DLLTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
-$as_echo "$ac_ct_DLLTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_DLLTOOL" = x; then
- DLLTOOL="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- DLLTOOL=$ac_ct_DLLTOOL
- fi
-else
- DLLTOOL="$ac_cv_prog_DLLTOOL"
-fi
-
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
-$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
-if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_sharedlib_from_linklib_cmd='unknown'
-
-case $host_os in
-cygwin* | mingw* | pw32* | cegcc*)
- # two different shell functions defined in ltmain.sh
- # decide which to use based on capabilities of $DLLTOOL
- case `$DLLTOOL --help 2>&1` in
- *--identify-strict*)
- lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
- ;;
- *)
- lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
- ;;
- esac
- ;;
-*)
- # fallback: assume linklib IS sharedlib
- lt_cv_sharedlib_from_linklib_cmd="$ECHO"
- ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
-$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
-sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
-test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- for ac_prog in ar
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$AR"; then
- ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$AR" && break
- done
-fi
-if test -z "$AR"; then
- ac_ct_AR=$AR
- for ac_prog in ar
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_AR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_AR"; then
- ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_AR="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-$as_echo "$ac_ct_AR" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_AR" && break
-done
-
- if test "x$ac_ct_AR" = x; then
- AR="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- AR=$ac_ct_AR
- fi
-fi
-
-: ${AR=ar}
-: ${AR_FLAGS=cru}
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
-$as_echo_n "checking for archiver @FILE support... " >&6; }
-if ${lt_cv_ar_at_file+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ar_at_file=no
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- echo conftest.$ac_objext > conftest.lst
- lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
- (eval $lt_ar_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if test "$ac_status" -eq 0; then
- # Ensure the archiver fails upon bogus file names.
- rm -f conftest.$ac_objext libconftest.a
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
- (eval $lt_ar_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if test "$ac_status" -ne 0; then
- lt_cv_ar_at_file=@
- fi
- fi
- rm -f conftest.* libconftest.a
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
-$as_echo "$lt_cv_ar_at_file" >&6; }
-
-if test "x$lt_cv_ar_at_file" = xno; then
- archiver_list_spec=
-else
- archiver_list_spec=$lt_cv_ar_at_file
-fi
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_STRIP="strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_STRIP" = x; then
- STRIP=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- STRIP=$ac_ct_STRIP
- fi
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
-
-test -z "$STRIP" && STRIP=:
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
- ac_ct_RANLIB=$RANLIB
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_RANLIB"; then
- ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_RANLIB="ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_RANLIB" = x; then
- RANLIB=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- RANLIB=$ac_ct_RANLIB
- fi
-else
- RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-test -z "$RANLIB" && RANLIB=:
-
-
-
-
-
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
- case $host_os in
- openbsd*)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
- ;;
- *)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
- ;;
- esac
- old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-
-case $host_os in
- darwin*)
- lock_old_archive_extraction=yes ;;
- *)
- lock_old_archive_extraction=no ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
-$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if ${lt_cv_sys_global_symbol_pipe+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix. What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Define system-specific variables.
-case $host_os in
-aix*)
- symcode='[BCDT]'
- ;;
-cygwin* | mingw* | pw32* | cegcc*)
- symcode='[ABCDGISTW]'
- ;;
-hpux*)
- if test "$host_cpu" = ia64; then
- symcode='[ABCDEGRST]'
- fi
- ;;
-irix* | nonstopux*)
- symcode='[BCDEGRST]'
- ;;
-osf*)
- symcode='[BCDEGQRST]'
- ;;
-solaris*)
- symcode='[BDRT]'
- ;;
-sco3.2v5*)
- symcode='[DT]'
- ;;
-sysv4.2uw2*)
- symcode='[DT]'
- ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
- symcode='[ABDT]'
- ;;
-sysv4)
- symcode='[DFNSTU]'
- ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
- symcode='[ABCDGIRSTW]' ;;
-esac
-
-# Transform an extracted symbol line into a proper C declaration.
-# Some systems (esp. on ia64) link data and code symbols differently,
-# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
- opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
- ;;
-esac
-
-# Try without a prefix underscore, then with it.
-for ac_symprfx in "" "_"; do
-
- # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
- symxfrm="\\1 $ac_symprfx\\2 \\2"
-
- # Write the raw and C identifiers.
- if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- # Fake it for dumpbin and say T for any non-static function
- # and D for any global variable.
- # Also find C++ and __fastcall symbols from MSVC++,
- # which start with @ or ?.
- lt_cv_sys_global_symbol_pipe="$AWK '"\
-" {last_section=section; section=\$ 3};"\
-" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-" \$ 0!~/External *\|/{next};"\
-" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-" {if(hide[section]) next};"\
-" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-" s[1]~/^[@?]/{print s[1], s[1]; next};"\
-" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
-" ' prfx=^$ac_symprfx"
- else
- lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
- fi
- lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
-
- # Check to see that the pipe works correctly.
- pipe_works=no
-
- rm -f conftest*
- cat > conftest.$ac_ext <<_LT_EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(void);
-void nm_test_func(void){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-_LT_EOF
-
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- # Now try to grab the symbols.
- nlist=conftest.nm
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
- (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s "$nlist"; then
- # Try sorting and uniquifying the output.
- if sort "$nlist" | uniq > "$nlist"T; then
- mv -f "$nlist"T "$nlist"
- else
- rm -f "$nlist"T
- fi
-
- # Make sure that we snagged all the symbols we need.
- if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
- if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
- cat <<_LT_EOF > conftest.$ac_ext
-/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-/* DATA imports from DLLs on WIN32 con't be const, because runtime
- relocations are performed -- see ld's documentation on pseudo-relocs. */
-# define LT_DLSYM_CONST
-#elif defined(__osf__)
-/* This system does not cope well with relocations in const data. */
-# define LT_DLSYM_CONST
-#else
-# define LT_DLSYM_CONST const
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_LT_EOF
- # Now generate the symbol file.
- eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
-
- cat <<_LT_EOF >> conftest.$ac_ext
-
-/* The mapping between symbol names and symbols. */
-LT_DLSYM_CONST struct {
- const char *name;
- void *address;
-}
-lt__PROGRAM__LTX_preloaded_symbols[] =
-{
- { "@PROGRAM@", (void *) 0 },
-_LT_EOF
- $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
- cat <<\_LT_EOF >> conftest.$ac_ext
- {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
- return lt__PROGRAM__LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-_LT_EOF
- # Now try linking the two files.
- mv conftest.$ac_objext conftstm.$ac_objext
- lt_globsym_save_LIBS=$LIBS
- lt_globsym_save_CFLAGS=$CFLAGS
- LIBS="conftstm.$ac_objext"
- CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext}; then
- pipe_works=yes
- fi
- LIBS=$lt_globsym_save_LIBS
- CFLAGS=$lt_globsym_save_CFLAGS
- else
- echo "cannot find nm_test_func in $nlist" >&5
- fi
- else
- echo "cannot find nm_test_var in $nlist" >&5
- fi
- else
- echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
- fi
- else
- echo "$progname: failed program was:" >&5
- cat conftest.$ac_ext >&5
- fi
- rm -rf conftest* conftst*
-
- # Do not use the global_symbol_pipe unless it works.
- if test "$pipe_works" = yes; then
- break
- else
- lt_cv_sys_global_symbol_pipe=
- fi
-done
-
-fi
-
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
- lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
-$as_echo "ok" >&6; }
-fi
-
-# Response file support.
-if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- nm_file_list_spec='@'
-elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
- nm_file_list_spec='@'
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
-$as_echo_n "checking for sysroot... " >&6; }
-
-# Check whether --with-sysroot was given.
-if test "${with_sysroot+set}" = set; then :
- withval=$with_sysroot;
-else
- with_sysroot=no
-fi
-
-
-lt_sysroot=
-case ${with_sysroot} in #(
- yes)
- if test "$GCC" = yes; then
- lt_sysroot=`$CC --print-sysroot 2>/dev/null`
- fi
- ;; #(
- /*)
- lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
- ;; #(
- no|'')
- ;; #(
- *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
-$as_echo "${with_sysroot}" >&6; }
- as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
- ;;
-esac
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
-$as_echo "${lt_sysroot:-no}" >&6; }
-
-
-
-
-
-# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then :
- enableval=$enable_libtool_lock;
-fi
-
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- case `/usr/bin/file conftest.$ac_objext` in
- *ELF-32*)
- HPUX_IA64_MODE="32"
- ;;
- *ELF-64*)
- HPUX_IA64_MODE="64"
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-*-*-irix6*)
- # Find out which ABI we are using.
- echo '#line '$LINENO' "configure"' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- if test "$lt_cv_prog_gnu_ld" = yes; then
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -melf32bsmip"
- ;;
- *N32*)
- LD="${LD-ld} -melf32bmipn32"
- ;;
- *64-bit*)
- LD="${LD-ld} -melf64bmip"
- ;;
- esac
- else
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -32"
- ;;
- *N32*)
- LD="${LD-ld} -n32"
- ;;
- *64-bit*)
- LD="${LD-ld} -64"
- ;;
- esac
- fi
- fi
- rm -rf conftest*
- ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- case `/usr/bin/file conftest.o` in
- *32-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_i386_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_i386"
- ;;
- ppc64-*linux*|powerpc64-*linux*)
- LD="${LD-ld} -m elf32ppclinux"
- ;;
- s390x-*linux*)
- LD="${LD-ld} -m elf_s390"
- ;;
- sparc64-*linux*)
- LD="${LD-ld} -m elf32_sparc"
- ;;
- esac
- ;;
- *64-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_x86_64_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_x86_64"
- ;;
- ppc*-*linux*|powerpc*-*linux*)
- LD="${LD-ld} -m elf64ppc"
- ;;
- s390*-*linux*|s390*-*tpf*)
- LD="${LD-ld} -m elf64_s390"
- ;;
- sparc*-*linux*)
- LD="${LD-ld} -m elf64_sparc"
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-
-*-*-sco3.2v5*)
- # On SCO OpenServer 5, we need -belf to get full-featured binaries.
- SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -belf"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
-$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if ${lt_cv_cc_needs_belf+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- lt_cv_cc_needs_belf=yes
-else
- lt_cv_cc_needs_belf=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
-$as_echo "$lt_cv_cc_needs_belf" >&6; }
- if test x"$lt_cv_cc_needs_belf" != x"yes"; then
- # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
- CFLAGS="$SAVE_CFLAGS"
- fi
- ;;
-sparc*-*solaris*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- case `/usr/bin/file conftest.o` in
- *64-bit*)
- case $lt_cv_prog_gnu_ld in
- yes*) LD="${LD-ld} -m elf64_sparc" ;;
- *)
- if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
- LD="${LD-ld} -64"
- fi
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-esac
-
-need_locks="$enable_libtool_lock"
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
-set dummy ${ac_tool_prefix}mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$MANIFEST_TOOL"; then
- ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
-if test -n "$MANIFEST_TOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
-$as_echo "$MANIFEST_TOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
- ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
- # Extract the first word of "mt", so it can be a program name with args.
-set dummy mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_MANIFEST_TOOL"; then
- ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
-if test -n "$ac_ct_MANIFEST_TOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
-$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_MANIFEST_TOOL" = x; then
- MANIFEST_TOOL=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
- fi
-else
- MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
-fi
-
-test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
-$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
-if ${lt_cv_path_mainfest_tool+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_path_mainfest_tool=no
- echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
- $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
- cat conftest.err >&5
- if $GREP 'Manifest Tool' conftest.out > /dev/null; then
- lt_cv_path_mainfest_tool=yes
- fi
- rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
-$as_echo "$lt_cv_path_mainfest_tool" >&6; }
-if test "x$lt_cv_path_mainfest_tool" != xyes; then
- MANIFEST_TOOL=:
-fi
-
-
-
-
-
-
- case $host_os in
- rhapsody* | darwin*)
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DSYMUTIL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$DSYMUTIL"; then
- ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-DSYMUTIL=$ac_cv_prog_DSYMUTIL
-if test -n "$DSYMUTIL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
-$as_echo "$DSYMUTIL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DSYMUTIL"; then
- ac_ct_DSYMUTIL=$DSYMUTIL
- # Extract the first word of "dsymutil", so it can be a program name with args.
-set dummy dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_DSYMUTIL"; then
- ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
-if test -n "$ac_ct_DSYMUTIL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
-$as_echo "$ac_ct_DSYMUTIL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_DSYMUTIL" = x; then
- DSYMUTIL=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- DSYMUTIL=$ac_ct_DSYMUTIL
- fi
-else
- DSYMUTIL="$ac_cv_prog_DSYMUTIL"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
-set dummy ${ac_tool_prefix}nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_NMEDIT+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$NMEDIT"; then
- ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-NMEDIT=$ac_cv_prog_NMEDIT
-if test -n "$NMEDIT"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
-$as_echo "$NMEDIT" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_NMEDIT"; then
- ac_ct_NMEDIT=$NMEDIT
- # Extract the first word of "nmedit", so it can be a program name with args.
-set dummy nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_NMEDIT"; then
- ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_NMEDIT="nmedit"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
-if test -n "$ac_ct_NMEDIT"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
-$as_echo "$ac_ct_NMEDIT" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_NMEDIT" = x; then
- NMEDIT=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- NMEDIT=$ac_ct_NMEDIT
- fi
-else
- NMEDIT="$ac_cv_prog_NMEDIT"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
-set dummy ${ac_tool_prefix}lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_LIPO+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$LIPO"; then
- ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-LIPO=$ac_cv_prog_LIPO
-if test -n "$LIPO"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
-$as_echo "$LIPO" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_LIPO"; then
- ac_ct_LIPO=$LIPO
- # Extract the first word of "lipo", so it can be a program name with args.
-set dummy lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_LIPO"; then
- ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_LIPO="lipo"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
-if test -n "$ac_ct_LIPO"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
-$as_echo "$ac_ct_LIPO" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_LIPO" = x; then
- LIPO=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- LIPO=$ac_ct_LIPO
- fi
-else
- LIPO="$ac_cv_prog_LIPO"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$OTOOL"; then
- ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL=$ac_cv_prog_OTOOL
-if test -n "$OTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
-$as_echo "$OTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL"; then
- ac_ct_OTOOL=$OTOOL
- # Extract the first word of "otool", so it can be a program name with args.
-set dummy otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_OTOOL"; then
- ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_OTOOL="otool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
-if test -n "$ac_ct_OTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
-$as_echo "$ac_ct_OTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_OTOOL" = x; then
- OTOOL=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- OTOOL=$ac_ct_OTOOL
- fi
-else
- OTOOL="$ac_cv_prog_OTOOL"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL64+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$OTOOL64"; then
- ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL64=$ac_cv_prog_OTOOL64
-if test -n "$OTOOL64"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
-$as_echo "$OTOOL64" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL64"; then
- ac_ct_OTOOL64=$OTOOL64
- # Extract the first word of "otool64", so it can be a program name with args.
-set dummy otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_OTOOL64"; then
- ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_OTOOL64="otool64"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
-if test -n "$ac_ct_OTOOL64"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
-$as_echo "$ac_ct_OTOOL64" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_OTOOL64" = x; then
- OTOOL64=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- OTOOL64=$ac_ct_OTOOL64
- fi
-else
- OTOOL64="$ac_cv_prog_OTOOL64"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
-$as_echo_n "checking for -single_module linker flag... " >&6; }
-if ${lt_cv_apple_cc_single_mod+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_apple_cc_single_mod=no
- if test -z "${LT_MULTI_MODULE}"; then
- # By default we will add the -single_module flag. You can override
- # by either setting the environment variable LT_MULTI_MODULE
- # non-empty at configure time, or by adding -multi_module to the
- # link flags.
- rm -rf libconftest.dylib*
- echo "int foo(void){return 1;}" > conftest.c
- echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
--dynamiclib -Wl,-single_module conftest.c" >&5
- $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
- -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
- _lt_result=$?
- if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
- lt_cv_apple_cc_single_mod=yes
- else
- cat conftest.err >&5
- fi
- rm -rf libconftest.dylib*
- rm -f conftest.*
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
-$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
-$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if ${lt_cv_ld_exported_symbols_list+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ld_exported_symbols_list=no
- save_LDFLAGS=$LDFLAGS
- echo "_main" > conftest.sym
- LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- lt_cv_ld_exported_symbols_list=yes
-else
- lt_cv_ld_exported_symbols_list=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
-$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
-$as_echo_n "checking for -force_load linker flag... " >&6; }
-if ${lt_cv_ld_force_load+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ld_force_load=no
- cat > conftest.c << _LT_EOF
-int forced_loaded() { return 2;}
-_LT_EOF
- echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
- $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
- echo "$AR cru libconftest.a conftest.o" >&5
- $AR cru libconftest.a conftest.o 2>&5
- echo "$RANLIB libconftest.a" >&5
- $RANLIB libconftest.a 2>&5
- cat > conftest.c << _LT_EOF
-int main() { return 0;}
-_LT_EOF
- echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
- $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
- _lt_result=$?
- if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
- lt_cv_ld_force_load=yes
- else
- cat conftest.err >&5
- fi
- rm -f conftest.err libconftest.a conftest conftest.c
- rm -rf conftest.dSYM
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
-$as_echo "$lt_cv_ld_force_load" >&6; }
- case $host_os in
- rhapsody* | darwin1.[012])
- _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
- darwin1.*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- darwin*) # darwin 5.x on
- # if running on 10.5 or later, the deployment target defaults
- # to the OS version, if on x86, and 10.4, the deployment
- # target defaults to 10.4. Don't you love it?
- case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
- 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- 10.[012]*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- 10.*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- esac
- ;;
- esac
- if test "$lt_cv_apple_cc_single_mod" = "yes"; then
- _lt_dar_single_mod='$single_module'
- fi
- if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
- _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
- else
- _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
- fi
- if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
- _lt_dsymutil='~$DSYMUTIL $lib || :'
- else
- _lt_dsymutil=
- fi
- ;;
- esac
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
- if ${ac_cv_prog_CPP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Double quotes because CPP needs to be expanded
- for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
- do
- ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
- break
-fi
-
- done
- ac_cv_prog_CPP=$CPP
-
-fi
- CPP=$ac_cv_prog_CPP
-else
- ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_header_stdc=yes
-else
- ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then :
- :
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- return 2;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
- inttypes.h stdint.h unistd.h
-do :
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_header in dlfcn.h
-do :
- ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
-"
-if test "x$ac_cv_header_dlfcn_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_DLFCN_H 1
-_ACEOF
-
-fi
-
-done
-
-
-
-
-
-# Set options
-
-
-
- enable_dlopen=no
-
-
- enable_win32_dll=no
-
-
- # Check whether --enable-shared was given.
-if test "${enable_shared+set}" = set; then :
- enableval=$enable_shared; p=${PACKAGE-default}
- case $enableval in
- yes) enable_shared=yes ;;
- no) enable_shared=no ;;
- *)
- enable_shared=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_shared=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_shared=yes
-fi
-
-
-
-
-
-
-
-
-
- # Check whether --enable-static was given.
-if test "${enable_static+set}" = set; then :
- enableval=$enable_static; p=${PACKAGE-default}
- case $enableval in
- yes) enable_static=yes ;;
- no) enable_static=no ;;
- *)
- enable_static=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_static=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_static=yes
-fi
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-pic was given.
-if test "${with_pic+set}" = set; then :
- withval=$with_pic; pic_mode="$withval"
-else
- pic_mode=default
-fi
-
-
-test -z "$pic_mode" && pic_mode=default
-
-
-
-
-
-
-
- # Check whether --enable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then :
- enableval=$enable_fast_install; p=${PACKAGE-default}
- case $enableval in
- yes) enable_fast_install=yes ;;
- no) enable_fast_install=no ;;
- *)
- enable_fast_install=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_fast_install=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_fast_install=yes
-fi
-
-
-
-
-
-
-
-
-
-
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-test -z "$LN_S" && LN_S="ln -s"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
-$as_echo_n "checking for objdir... " >&6; }
-if ${lt_cv_objdir+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
- lt_cv_objdir=.libs
-else
- # MS-DOS does not allow filenames that begin with a dot.
- lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
-$as_echo "$lt_cv_objdir" >&6; }
-objdir=$lt_cv_objdir
-
-
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define LT_OBJDIR "$lt_cv_objdir/"
-_ACEOF
-
-
-
-
-case $host_os in
-aix3*)
- # AIX sometimes has problems with the GCC collect2 program. For some
- # reason, if we set the COLLECT_NAMES environment variable, the problems
- # vanish in a puff of smoke.
- if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
- fi
- ;;
-esac
-
-# Global variables:
-ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$LD" && LD=ld
-test -z "$ac_objext" && ac_objext=o
-
-for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
-
-
-# Only perform the check for file, if the check method requires it
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-case $deplibs_check_method in
-file_magic*)
- if test "$file_magic_cmd" = '$MAGIC_CMD'; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
-$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $MAGIC_CMD in
-[\\/*] | ?:[\\/]*)
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- ;;
-*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
- for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/${ac_tool_prefix}file; then
- lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
- if test -n "$file_magic_test_file"; then
- case $deplibs_check_method in
- "file_magic "*)
- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- $EGREP "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
- fi ;;
- esac
- fi
- break
- fi
- done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
- ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-
-
-if test -z "$lt_cv_path_MAGIC_CMD"; then
- if test -n "$ac_tool_prefix"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
-$as_echo_n "checking for file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $MAGIC_CMD in
-[\\/*] | ?:[\\/]*)
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- ;;
-*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
- for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/file; then
- lt_cv_path_MAGIC_CMD="$ac_dir/file"
- if test -n "$file_magic_test_file"; then
- case $deplibs_check_method in
- "file_magic "*)
- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- $EGREP "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
- fi ;;
- esac
- fi
- break
- fi
- done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
- ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- else
- MAGIC_CMD=:
- fi
-fi
-
- fi
- ;;
-esac
-
-# Use C for the default configuration in the libtool script
-
-lt_save_CC="$CC"
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-objext=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-# Save the default compiler, since it gets overwritten when the other
-# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
-compiler_DEFAULT=$CC
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$RM conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$RM -r conftest*
-
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-if test -n "$compiler"; then
-
-lt_prog_compiler_no_builtin_flag=
-
-if test "$GCC" = yes; then
- case $cc_basename in
- nvcc*)
- lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
- *)
- lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
- esac
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_rtti_exceptions=no
- ac_outfile=conftest.$ac_objext
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="-fno-rtti -fno-exceptions"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_rtti_exceptions=yes
- fi
- fi
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
-
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
- lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
-else
- :
-fi
-
-fi
-
-
-
-
-
-
- lt_prog_compiler_wl=
-lt_prog_compiler_pic=
-lt_prog_compiler_static=
-
-
- if test "$GCC" = yes; then
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_static='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static='-Bstatic'
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- lt_prog_compiler_pic='-fPIC'
- ;;
- m68k)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
- ;;
- esac
- ;;
-
- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
-
- mingw* | cygwin* | pw32* | os2* | cegcc*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- # Although the cygwin gcc ignores -fPIC, still need this for old-style
- # (--disable-auto-import) libraries
- lt_prog_compiler_pic='-DDLL_EXPORT'
- ;;
-
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- lt_prog_compiler_pic='-fno-common'
- ;;
-
- haiku*)
- # PIC is the default for Haiku.
- # The "-static" flag exists, but is broken.
- lt_prog_compiler_static=
- ;;
-
- hpux*)
- # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
- # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
- # sets the default TLS model and affects inlining.
- case $host_cpu in
- hppa*64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic='-fPIC'
- ;;
- esac
- ;;
-
- interix[3-9]*)
- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- # Instead, we relocate shared libraries at runtime.
- ;;
-
- msdosdjgpp*)
- # Just because we use GCC doesn't mean we suddenly get shared libraries
- # on systems that don't support them.
- lt_prog_compiler_can_build_shared=no
- enable_shared=no
- ;;
-
- *nto* | *qnx*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- lt_prog_compiler_pic='-fPIC -shared'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- lt_prog_compiler_pic=-Kconform_pic
- fi
- ;;
-
- *)
- lt_prog_compiler_pic='-fPIC'
- ;;
- esac
-
- case $cc_basename in
- nvcc*) # Cuda Compiler Driver 2.2
- lt_prog_compiler_wl='-Xlinker '
- lt_prog_compiler_pic='-Xcompiler -fPIC'
- ;;
- esac
- else
- # PORTME Check for flag to pass linker flags through the system compiler.
- case $host_os in
- aix*)
- lt_prog_compiler_wl='-Wl,'
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static='-Bstatic'
- else
- lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
-
- mingw* | cygwin* | pw32* | os2* | cegcc*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- lt_prog_compiler_pic='-DDLL_EXPORT'
- ;;
-
- hpux9* | hpux10* | hpux11*)
- lt_prog_compiler_wl='-Wl,'
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic='+Z'
- ;;
- esac
- # Is there a better lt_prog_compiler_static that works with the bundled CC?
- lt_prog_compiler_static='${wl}-a ${wl}archive'
- ;;
-
- irix5* | irix6* | nonstopux*)
- lt_prog_compiler_wl='-Wl,'
- # PIC (with -KPIC) is the default.
- lt_prog_compiler_static='-non_shared'
- ;;
-
- linux* | k*bsd*-gnu | kopensolaris*-gnu)
- case $cc_basename in
- # old Intel for x86_64 which still supported -KPIC.
- ecc*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-static'
- ;;
- # icc used to be incompatible with GCC.
- # ICC 10 doesn't accept -KPIC any more.
- icc* | ifort*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-fPIC'
- lt_prog_compiler_static='-static'
- ;;
- # Lahey Fortran 8.1.
- lf95*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='--shared'
- lt_prog_compiler_static='--static'
- ;;
- nagfor*)
- # NAG Fortran compiler
- lt_prog_compiler_wl='-Wl,-Wl,,'
- lt_prog_compiler_pic='-PIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
- pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
- # Portland Group compilers (*not* the Pentium gcc compiler,
- # which looks to be a dead project)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-fpic'
- lt_prog_compiler_static='-Bstatic'
- ;;
- ccc*)
- lt_prog_compiler_wl='-Wl,'
- # All Alpha code is PIC.
- lt_prog_compiler_static='-non_shared'
- ;;
- xl* | bgxl* | bgf* | mpixl*)
- # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-qpic'
- lt_prog_compiler_static='-qstaticlink'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ F* | *Sun*Fortran*)
- # Sun Fortran 8.3 passes all unrecognized flags to the linker
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- lt_prog_compiler_wl=''
- ;;
- *Sun\ C*)
- # Sun C 5.9
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- lt_prog_compiler_wl='-Wl,'
- ;;
- esac
- ;;
- esac
- ;;
-
- newsos6)
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- *nto* | *qnx*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- lt_prog_compiler_pic='-fPIC -shared'
- ;;
-
- osf3* | osf4* | osf5*)
- lt_prog_compiler_wl='-Wl,'
- # All OSF/1 code is PIC.
- lt_prog_compiler_static='-non_shared'
- ;;
-
- rdos*)
- lt_prog_compiler_static='-non_shared'
- ;;
-
- solaris*)
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- case $cc_basename in
- f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
- lt_prog_compiler_wl='-Qoption ld ';;
- *)
- lt_prog_compiler_wl='-Wl,';;
- esac
- ;;
-
- sunos4*)
- lt_prog_compiler_wl='-Qoption ld '
- lt_prog_compiler_pic='-PIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- sysv4 | sysv4.2uw2* | sysv4.3*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec ;then
- lt_prog_compiler_pic='-Kconform_pic'
- lt_prog_compiler_static='-Bstatic'
- fi
- ;;
-
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- unicos*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_can_build_shared=no
- ;;
-
- uts4*)
- lt_prog_compiler_pic='-pic'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- *)
- lt_prog_compiler_can_build_shared=no
- ;;
- esac
- fi
-
-case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- lt_prog_compiler_pic=
- ;;
- *)
- lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
- ;;
-esac
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
-if ${lt_cv_prog_compiler_pic+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
-$as_echo "$lt_cv_prog_compiler_pic" >&6; }
-lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if ${lt_cv_prog_compiler_pic_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_pic_works=no
- ac_outfile=conftest.$ac_objext
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_pic_works=yes
- fi
- fi
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
-$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
- case $lt_prog_compiler_pic in
- "" | " "*) ;;
- *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
- esac
-else
- lt_prog_compiler_pic=
- lt_prog_compiler_can_build_shared=no
-fi
-
-fi
-
-
-
-
-
-
-
-
-
-
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if ${lt_cv_prog_compiler_static_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_static_works=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
- echo "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_static_works=yes
- fi
- else
- lt_cv_prog_compiler_static_works=yes
- fi
- fi
- $RM -r conftest*
- LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
-$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_static_works" = xyes; then
- :
-else
- lt_prog_compiler_static=
-fi
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_c_o=no
- $RM -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o=yes
- fi
- fi
- chmod u+w . 2>&5
- $RM conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
- $RM out/* && rmdir out
- cd ..
- $RM -r conftest
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_c_o=no
- $RM -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o=yes
- fi
- fi
- chmod u+w . 2>&5
- $RM conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
- $RM out/* && rmdir out
- cd ..
- $RM -r conftest
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
- # do not overwrite the value of need_locks provided by the user
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
-$as_echo_n "checking if we can lock with hard links... " >&6; }
- hard_links=yes
- $RM conftest*
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- touch conftest.a
- ln conftest.a conftest.b 2>&5 || hard_links=no
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
-$as_echo "$hard_links" >&6; }
- if test "$hard_links" = no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
- need_locks=warn
- fi
-else
- need_locks=no
-fi
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
-
- runpath_var=
- allow_undefined_flag=
- always_export_symbols=no
- archive_cmds=
- archive_expsym_cmds=
- compiler_needs_object=no
- enable_shared_with_static_runtimes=no
- export_dynamic_flag_spec=
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- hardcode_automatic=no
- hardcode_direct=no
- hardcode_direct_absolute=no
- hardcode_libdir_flag_spec=
- hardcode_libdir_flag_spec_ld=
- hardcode_libdir_separator=
- hardcode_minus_L=no
- hardcode_shlibpath_var=unsupported
- inherit_rpath=no
- link_all_deplibs=unknown
- module_cmds=
- module_expsym_cmds=
- old_archive_from_new_cmds=
- old_archive_from_expsyms_cmds=
- thread_safe_flag_spec=
- whole_archive_flag_spec=
- # include_expsyms should be a list of space-separated symbols to be *always*
- # included in the symbol list
- include_expsyms=
- # exclude_expsyms can be an extended regexp of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
- exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
- # platforms (ab)use it in PIC code, but their linkers get confused if
- # the symbol is explicitly referenced. Since portable code cannot
- # rely on this symbol name, it's probably fine to never include it in
- # preloaded symbol tables.
- # Exclude shared library initialization/finalization symbols.
- extract_expsyms_cmds=
-
- case $host_os in
- cygwin* | mingw* | pw32* | cegcc*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- if test "$GCC" != yes; then
- with_gnu_ld=no
- fi
- ;;
- interix*)
- # we just hope/assume this is gcc and not c89 (= MSVC++)
- with_gnu_ld=yes
- ;;
- openbsd*)
- with_gnu_ld=no
- ;;
- esac
-
- ld_shlibs=yes
-
- # On some targets, GNU ld is compatible enough with the native linker
- # that we're better off using the native interface for both.
- lt_use_gnu_ld_interface=no
- if test "$with_gnu_ld" = yes; then
- case $host_os in
- aix*)
- # The AIX port of GNU ld has always aspired to compatibility
- # with the native linker. However, as the warning in the GNU ld
- # block says, versions before 2.19.5* couldn't really create working
- # shared libraries, regardless of the interface used.
- case `$LD -v 2>&1` in
- *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
- *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
- *\ \(GNU\ Binutils\)\ [3-9]*) ;;
- *)
- lt_use_gnu_ld_interface=yes
- ;;
- esac
- ;;
- *)
- lt_use_gnu_ld_interface=yes
- ;;
- esac
- fi
-
- if test "$lt_use_gnu_ld_interface" = yes; then
- # If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
-
- # Set some defaults for GNU ld with shared library support. These
- # are reset later if shared libraries are not supported. Putting them
- # here allows them to be overridden if necessary.
- runpath_var=LD_RUN_PATH
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- export_dynamic_flag_spec='${wl}--export-dynamic'
- # ancient GNU ld didn't support --whole-archive et. al.
- if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
- whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- whole_archive_flag_spec=
- fi
- supports_anon_versioning=no
- case `$LD -v 2>&1` in
- *GNU\ gold*) supports_anon_versioning=yes ;;
- *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
- *\ 2.11.*) ;; # other 2.11 versions
- *) supports_anon_versioning=yes ;;
- esac
-
- # See if GNU ld supports shared libraries.
- case $host_os in
- aix[3-9]*)
- # On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
- ld_shlibs=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.19, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support. If you
-*** really care for shared libraries, you may want to install binutils
-*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
-*** You will then need to restart the configuration process.
-
-_LT_EOF
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds=''
- ;;
- m68k)
- archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- ;;
- esac
- ;;
-
- beos*)
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- allow_undefined_flag=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
-
- cygwin* | mingw* | pw32* | cegcc*)
- # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
- # as there is no search path for DLLs.
- hardcode_libdir_flag_spec='-L$libdir'
- export_dynamic_flag_spec='${wl}--export-all-symbols'
- allow_undefined_flag=unsupported
- always_export_symbols=no
- enable_shared_with_static_runtimes=yes
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
- exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
-
- if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- ld_shlibs=no
- fi
- ;;
-
- haiku*)
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- link_all_deplibs=yes
- ;;
-
- interix[3-9]*)
- hardcode_direct=no
- hardcode_shlibpath_var=no
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- export_dynamic_flag_spec='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
-
- gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
- tmp_diet=no
- if test "$host_os" = linux-dietlibc; then
- case $cc_basename in
- diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
- esac
- fi
- if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
- && test "$tmp_diet" = no
- then
- tmp_addflag=' $pic_flag'
- tmp_sharedflag='-shared'
- case $cc_basename,$host_cpu in
- pgcc*) # Portland Group C compiler
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag'
- ;;
- pgf77* | pgf90* | pgf95* | pgfortran*)
- # Portland Group f77 and f90 compilers
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag -Mnomain' ;;
- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
- tmp_addflag=' -i_dynamic' ;;
- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
- tmp_addflag=' -i_dynamic -nofor_main' ;;
- ifc* | ifort*) # Intel Fortran compiler
- tmp_addflag=' -nofor_main' ;;
- lf95*) # Lahey Fortran 8.1
- whole_archive_flag_spec=
- tmp_sharedflag='--shared' ;;
- xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
- tmp_sharedflag='-qmkshrobj'
- tmp_addflag= ;;
- nvcc*) # Cuda Compiler Driver 2.2
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- compiler_needs_object=yes
- ;;
- esac
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*) # Sun C 5.9
- whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- compiler_needs_object=yes
- tmp_sharedflag='-G' ;;
- *Sun\ F*) # Sun Fortran 8.3
- tmp_sharedflag='-G' ;;
- esac
- archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
- if test "x$supports_anon_versioning" = xyes; then
- archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- fi
-
- case $cc_basename in
- xlf* | bgf* | bgxlf* | mpixlf*)
- # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
- whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
- hardcode_libdir_flag_spec=
- hardcode_libdir_flag_spec_ld='-rpath $libdir'
- archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
- if test "x$supports_anon_versioning" = xyes; then
- archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
- fi
- ;;
- esac
- else
- ld_shlibs=no
- fi
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
- wlarc=
- else
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- fi
- ;;
-
- solaris*)
- if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
- ld_shlibs=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
- case `$LD -v 2>&1` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
- ld_shlibs=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- ;;
- *)
- # For security reasons, it is highly recommended that you always
- # use absolute paths for naming shared libraries, and exclude the
- # DT_RUNPATH tag from executables and libraries. But doing so
- # requires that you compile everything twice, which is a pain.
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
- esac
- ;;
-
- sunos4*)
- archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- wlarc=
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- *)
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
- esac
-
- if test "$ld_shlibs" = no; then
- runpath_var=
- hardcode_libdir_flag_spec=
- export_dynamic_flag_spec=
- whole_archive_flag_spec=
- fi
- else
- # PORTME fill in a description of your system's linker (not GNU ld)
- case $host_os in
- aix3*)
- allow_undefined_flag=unsupported
- always_export_symbols=yes
- archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
- # Note: this linker hardcodes the directories in LIBPATH if there
- # are no directories specified by -L.
- hardcode_minus_L=yes
- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
- # Neither direct hardcoding nor static linking is supported with a
- # broken collect2.
- hardcode_direct=unsupported
- fi
- ;;
-
- aix[4-9]*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- # Also, AIX nm treats weak defined symbols like other global
- # defined symbols, whereas GNU nm marks them as "W".
- if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
- export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- else
- export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- fi
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
- for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- aix_use_runtimelinking=yes
- break
- fi
- done
- ;;
- esac
-
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
-
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- archive_cmds=''
- hardcode_direct=yes
- hardcode_direct_absolute=yes
- hardcode_libdir_separator=':'
- link_all_deplibs=yes
- file_list_spec='${wl}-f,'
-
- if test "$GCC" = yes; then
- case $host_os in aix4.[012]|aix4.[012].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" &&
- strings "$collect2name" | $GREP resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- :
- else
- # We have old collect2
- hardcode_direct=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- hardcode_minus_L=yes
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_libdir_separator=
- fi
- ;;
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
-
- export_dynamic_flag_spec='${wl}-bexpall'
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- always_export_symbols=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- allow_undefined_flag='-berok'
- # Determine the default libpath from the value encoded in an
- # empty executable.
- if test "${lt_cv_aix_libpath+set}" = set; then
- aix_libpath=$lt_cv_aix_libpath
-else
- if ${lt_cv_aix_libpath_+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
- lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\([^ ]*\) *$/\1/
- p
- }
- }'
- lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- # Check for a 64-bit object if we didn't find anything.
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_="/usr/lib:/lib"
- fi
-
-fi
-
- aix_libpath=$lt_cv_aix_libpath_
-fi
-
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
- allow_undefined_flag="-z nodefs"
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an
- # empty executable.
- if test "${lt_cv_aix_libpath+set}" = set; then
- aix_libpath=$lt_cv_aix_libpath
-else
- if ${lt_cv_aix_libpath_+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
- lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\([^ ]*\) *$/\1/
- p
- }
- }'
- lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- # Check for a 64-bit object if we didn't find anything.
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_="/usr/lib:/lib"
- fi
-
-fi
-
- aix_libpath=$lt_cv_aix_libpath_
-fi
-
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- no_undefined_flag=' ${wl}-bernotok'
- allow_undefined_flag=' ${wl}-berok'
- if test "$with_gnu_ld" = yes; then
- # We only use this code for GNU lds that support --whole-archive.
- whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
- else
- # Exported symbols can be pulled into shared objects from archives
- whole_archive_flag_spec='$convenience'
- fi
- archive_cmds_need_lc=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds=''
- ;;
- m68k)
- archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- ;;
- esac
- ;;
-
- bsdi[45]*)
- export_dynamic_flag_spec=-rdynamic
- ;;
-
- cygwin* | mingw* | pw32* | cegcc*)
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- case $cc_basename in
- cl*)
- # Native MSVC
- hardcode_libdir_flag_spec=' '
- allow_undefined_flag=unsupported
- always_export_symbols=yes
- file_list_spec='@'
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
- archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
- else
- sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
- fi~
- $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
- linknames='
- # The linker will not automatically build a static lib if we build a DLL.
- # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
- enable_shared_with_static_runtimes=yes
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
- # Don't use ranlib
- old_postinstall_cmds='chmod 644 $oldlib'
- postlink_cmds='lt_outputfile="@OUTPUT@"~
- lt_tool_outputfile="@TOOL_OUTPUT@"~
- case $lt_outputfile in
- *.exe|*.EXE) ;;
- *)
- lt_outputfile="$lt_outputfile.exe"
- lt_tool_outputfile="$lt_tool_outputfile.exe"
- ;;
- esac~
- if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
- $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
- $RM "$lt_outputfile.manifest";
- fi'
- ;;
- *)
- # Assume MSVC wrapper
- hardcode_libdir_flag_spec=' '
- allow_undefined_flag=unsupported
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
- # The linker will automatically build a .lib file if we build a DLL.
- old_archive_from_new_cmds='true'
- # FIXME: Should let the user specify the lib program.
- old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
- enable_shared_with_static_runtimes=yes
- ;;
- esac
- ;;
-
- darwin* | rhapsody*)
-
-
- archive_cmds_need_lc=no
- hardcode_direct=no
- hardcode_automatic=yes
- hardcode_shlibpath_var=unsupported
- if test "$lt_cv_ld_force_load" = "yes"; then
- whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
- else
- whole_archive_flag_spec=''
- fi
- link_all_deplibs=yes
- allow_undefined_flag="$_lt_dar_allow_undefined"
- case $cc_basename in
- ifort*) _lt_dar_can_shared=yes ;;
- *) _lt_dar_can_shared=$GCC ;;
- esac
- if test "$_lt_dar_can_shared" = "yes"; then
- output_verbose_link_cmd=func_echo_all
- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-
- else
- ld_shlibs=no
- fi
-
- ;;
-
- dgux*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_shlibpath_var=no
- ;;
-
- freebsd1*)
- ld_shlibs=no
- ;;
-
- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
- # support. Future versions do this automatically, but an explicit c++rt0.o
- # does not break anything, and helps significantly (at the cost of a little
- # extra space).
- freebsd2.2*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes
- hardcode_minus_L=yes
- hardcode_shlibpath_var=no
- ;;
-
- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | dragonfly*)
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- hpux9*)
- if test "$GCC" = yes; then
- archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- fi
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_direct=yes
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- export_dynamic_flag_spec='${wl}-E'
- ;;
-
- hpux10*)
- if test "$GCC" = yes && test "$with_gnu_ld" = no; then
- archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_flag_spec_ld='+b $libdir'
- hardcode_libdir_separator=:
- hardcode_direct=yes
- hardcode_direct_absolute=yes
- export_dynamic_flag_spec='${wl}-E'
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- fi
- ;;
-
- hpux11*)
- if test "$GCC" = yes && test "$with_gnu_ld" = no; then
- case $host_cpu in
- hppa*64*)
- archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- else
- case $host_cpu in
- hppa*64*)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
-
- # Older versions of the 11.00 compiler do not understand -b yet
- # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
-$as_echo_n "checking if $CC understands -b... " >&6; }
-if ${lt_cv_prog_compiler__b+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler__b=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS -b"
- echo "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler__b=yes
- fi
- else
- lt_cv_prog_compiler__b=yes
- fi
- fi
- $RM -r conftest*
- LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
-$as_echo "$lt_cv_prog_compiler__b" >&6; }
-
-if test x"$lt_cv_prog_compiler__b" = xyes; then
- archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-else
- archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-fi
-
- ;;
- esac
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
-
- case $host_cpu in
- hppa*64*|ia64*)
- hardcode_direct=no
- hardcode_shlibpath_var=no
- ;;
- *)
- hardcode_direct=yes
- hardcode_direct_absolute=yes
- export_dynamic_flag_spec='${wl}-E'
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- ;;
- esac
- fi
- ;;
-
- irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- # Try to use the -exported_symbol ld option, if it does not
- # work, assume that -exports_file does not work either and
- # implicitly export all symbols.
- # This should be the same for all languages, so no per-tag cache variable.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
-$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
-if ${lt_cv_irix_exported_symbol+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-int foo (void) { return 0; }
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- lt_cv_irix_exported_symbol=yes
-else
- lt_cv_irix_exported_symbol=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS="$save_LDFLAGS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
-$as_echo "$lt_cv_irix_exported_symbol" >&6; }
- if test "$lt_cv_irix_exported_symbol" = yes; then
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
- fi
- else
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
- fi
- archive_cmds_need_lc='no'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- inherit_rpath=yes
- link_all_deplibs=yes
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
- else
- archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
- fi
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- newsos6)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_shlibpath_var=no
- ;;
-
- *nto* | *qnx*)
- ;;
-
- openbsd*)
- if test -f /usr/libexec/ld.so; then
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- hardcode_direct_absolute=yes
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- export_dynamic_flag_spec='${wl}-E'
- else
- case $host_os in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-R$libdir'
- ;;
- *)
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- ;;
- esac
- fi
- else
- ld_shlibs=no
- fi
- ;;
-
- os2*)
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- allow_undefined_flag=unsupported
- archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
- ;;
-
- osf3*)
- if test "$GCC" = yes; then
- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- fi
- archive_cmds_need_lc='no'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- ;;
-
- osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- else
- allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
- $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
-
- # Both c and cxx compiler support -rpath directly
- hardcode_libdir_flag_spec='-rpath $libdir'
- fi
- archive_cmds_need_lc='no'
- hardcode_libdir_separator=:
- ;;
-
- solaris*)
- no_undefined_flag=' -z defs'
- if test "$GCC" = yes; then
- wlarc='${wl}'
- archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
- else
- case `$CC -V 2>&1` in
- *"Compilers 5.0"*)
- wlarc=''
- archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
- ;;
- *)
- wlarc='${wl}'
- archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
- ;;
- esac
- fi
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_shlibpath_var=no
- case $host_os in
- solaris2.[0-5] | solaris2.[0-5].*) ;;
- *)
- # The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'. GCC discards it without `$wl',
- # but is careful enough not to reorder.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- if test "$GCC" = yes; then
- whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
- else
- whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
- fi
- ;;
- esac
- link_all_deplibs=yes
- ;;
-
- sunos4*)
- if test "x$host_vendor" = xsequent; then
- # Use $CC to link under sequent, because it throws in some extra .o
- # files that make .init and .fini sections work.
- archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
- fi
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_direct=yes
- hardcode_minus_L=yes
- hardcode_shlibpath_var=no
- ;;
-
- sysv4)
- case $host_vendor in
- sni)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes # is this really true???
- ;;
- siemens)
- ## LD is ld it makes a PLAMLIB
- ## CC just makes a GrossModule.
- archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- reload_cmds='$CC -r -o $output$reload_objs'
- hardcode_direct=no
- ;;
- motorola)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=no #Motorola manual says yes, but my tests say they lie
- ;;
- esac
- runpath_var='LD_RUN_PATH'
- hardcode_shlibpath_var=no
- ;;
-
- sysv4.3*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var=no
- export_dynamic_flag_spec='-Bexport'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var=no
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- ld_shlibs=yes
- fi
- ;;
-
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
- no_undefined_flag='${wl}-z,text'
- archive_cmds_need_lc=no
- hardcode_shlibpath_var=no
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- no_undefined_flag='${wl}-z,text'
- allow_undefined_flag='${wl}-z,nodefs'
- archive_cmds_need_lc=no
- hardcode_shlibpath_var=no
- hardcode_libdir_flag_spec='${wl}-R,$libdir'
- hardcode_libdir_separator=':'
- link_all_deplibs=yes
- export_dynamic_flag_spec='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- uts4*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_shlibpath_var=no
- ;;
-
- *)
- ld_shlibs=no
- ;;
- esac
-
- if test x$host_vendor = xsni; then
- case $host in
- sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- export_dynamic_flag_spec='${wl}-Blargedynsym'
- ;;
- esac
- fi
- fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
-$as_echo "$ld_shlibs" >&6; }
-test "$ld_shlibs" = no && can_build_shared=no
-
-with_gnu_ld=$with_gnu_ld
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc" in
-x|xyes)
- # Assume -lc should be added
- archive_cmds_need_lc=yes
-
- if test "$enable_shared" = yes && test "$GCC" = yes; then
- case $archive_cmds in
- *'~'*)
- # FIXME: we may have to deal with multi-command sequences.
- ;;
- '$CC '*)
- # Test whether the compiler implicitly links with -lc since on some
- # systems, -lgcc has to come before -lc. If gcc already passes -lc
- # to ld, don't add -lc before -lgcc.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
-$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if ${lt_cv_archive_cmds_need_lc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- $RM conftest*
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$lt_prog_compiler_wl
- pic_flag=$lt_prog_compiler_pic
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$allow_undefined_flag
- allow_undefined_flag=
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
- (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- then
- lt_cv_archive_cmds_need_lc=no
- else
- lt_cv_archive_cmds_need_lc=yes
- fi
- allow_undefined_flag=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
-$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
- archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
- ;;
- esac
- fi
- ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
-$as_echo_n "checking dynamic linker characteristics... " >&6; }
-
-if test "$GCC" = yes; then
- case $host_os in
- darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
- *) lt_awk_arg="/^libraries:/" ;;
- esac
- case $host_os in
- mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;;
- *) lt_sed_strip_eq="s,=/,/,g" ;;
- esac
- lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
- case $lt_search_path_spec in
- *\;*)
- # if the path contains ";" then we assume it to be the separator
- # otherwise default to the standard path separator (i.e. ":") - it is
- # assumed that no part of a normal pathname contains ";" but that should
- # okay in the real world where ";" in dirpaths is itself problematic.
- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
- ;;
- *)
- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
- ;;
- esac
- # Ok, now we have the path, separated by spaces, we can step through it
- # and add multilib dir if necessary.
- lt_tmp_lt_search_path_spec=
- lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
- for lt_sys_path in $lt_search_path_spec; do
- if test -d "$lt_sys_path/$lt_multi_os_dir"; then
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
- else
- test -d "$lt_sys_path" && \
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
- fi
- done
- lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
-BEGIN {RS=" "; FS="/|\n";} {
- lt_foo="";
- lt_count=0;
- for (lt_i = NF; lt_i > 0; lt_i--) {
- if ($lt_i != "" && $lt_i != ".") {
- if ($lt_i == "..") {
- lt_count++;
- } else {
- if (lt_count == 0) {
- lt_foo="/" $lt_i lt_foo;
- } else {
- lt_count--;
- }
- }
- }
- }
- if (lt_foo != "") { lt_freq[lt_foo]++; }
- if (lt_freq[lt_foo] == 1) { print lt_foo; }
-}'`
- # AWK program above erroneously prepends '/' to C:/dos/paths
- # for these hosts.
- case $host_os in
- mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
- $SED 's,/\([A-Za-z]:\),\1,g'` ;;
- esac
- sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
-else
- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
- shlibpath_var=LIBPATH
-
- # AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
-
-aix[4-9]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
- # AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- else
- # With GCC up to 2.95.x, collect2 would create an import file
- # for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
- # development snapshots of GCC prior to 3.0.
- case $host_os in
- aix4 | aix4.[01] | aix4.[01].*)
- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
- echo ' yes '
- echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
- :
- else
- can_build_shared=no
- fi
- ;;
- esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
- # soname into executable. Probably we can add versioning support to
- # collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
- # instead of lib<name>.a to let people know that these are not
- # typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
- # We preserve .a as extension for shared libraries through AIX4.2
- # and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
- shlibpath_var=LIBPATH
- fi
- ;;
-
-amigaos*)
- case $host_cpu in
- powerpc)
- # Since July 2007 AmigaOS4 officially supports .so libraries.
- # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- ;;
- m68k)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
- ;;
- esac
- ;;
-
-beos*)
- library_names_spec='${libname}${shared_ext}'
- dynamic_linker="$host_os ld.so"
- shlibpath_var=LIBRARY_PATH
- ;;
-
-bsdi[45]*)
- version_type=linux
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
- # the default ld.so.conf also contains /usr/contrib/lib and
- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
- # libtool to hard-code these into programs
- ;;
-
-cygwin* | mingw* | pw32* | cegcc*)
- version_type=windows
- shrext_cmds=".dll"
- need_version=no
- need_lib_prefix=no
-
- case $GCC,$cc_basename in
- yes,*)
- # gcc
- library_names_spec='$libname.dll.a'
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname~
- chmod a+x \$dldir/$dlname~
- if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
- eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
- fi'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $RM \$dlpath'
- shlibpath_overrides_runpath=yes
-
- case $host_os in
- cygwin*)
- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-
- sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
- ;;
- mingw* | cegcc*)
- # MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- ;;
- pw32*)
- # pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- ;;
- esac
- dynamic_linker='Win32 ld.exe'
- ;;
-
- *,cl*)
- # Native MSVC
- libname_spec='$name'
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- library_names_spec='${libname}.dll.lib'
-
- case $build_os in
- mingw*)
- sys_lib_search_path_spec=
- lt_save_ifs=$IFS
- IFS=';'
- for lt_path in $LIB
- do
- IFS=$lt_save_ifs
- # Let DOS variable expansion print the short 8.3 style file name.
- lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
- sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
- done
- IFS=$lt_save_ifs
- # Convert to MSYS style.
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
- ;;
- cygwin*)
- # Convert to unix form, then to dos form, then back to unix form
- # but this time dos style (no spaces!) so that the unix form looks
- # like /cygdrive/c/PROGRA~1:/cygdr...
- sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
- sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
- sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- ;;
- *)
- sys_lib_search_path_spec="$LIB"
- if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
- # It is most probably a Windows format PATH.
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- # FIXME: find the short name or the path components, as spaces are
- # common. (e.g. "Program Files" -> "PROGRA~1")
- ;;
- esac
-
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $RM \$dlpath'
- shlibpath_overrides_runpath=yes
- dynamic_linker='Win32 link.exe'
- ;;
-
- *)
- # Assume MSVC wrapper
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
- dynamic_linker='Win32 ld.exe'
- ;;
- esac
- # FIXME: first we should search . and the directory the executable is in
- shlibpath_var=PATH
- ;;
-
-darwin* | rhapsody*)
- dynamic_linker="$host_os dyld"
- version_type=darwin
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
- shlibpath_overrides_runpath=yes
- shlibpath_var=DYLD_LIBRARY_PATH
- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-
- sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
- ;;
-
-dgux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-freebsd1*)
- dynamic_linker=no
- ;;
-
-freebsd* | dragonfly*)
- # DragonFly does not have aout. When/if they implement a new
- # versioning mechanism, adjust this.
- if test -x /usr/bin/objformat; then
- objformat=`/usr/bin/objformat`
- else
- case $host_os in
- freebsd[123]*) objformat=aout ;;
- *) objformat=elf ;;
- esac
- fi
- version_type=freebsd-$objformat
- case $version_type in
- freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- need_version=no
- need_lib_prefix=no
- ;;
- freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
- need_version=yes
- ;;
- esac
- shlibpath_var=LD_LIBRARY_PATH
- case $host_os in
- freebsd2*)
- shlibpath_overrides_runpath=yes
- ;;
- freebsd3.[01]* | freebsdelf3.[01]*)
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
- freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
- *) # from 4.6 on, and DragonFly
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- esac
- ;;
-
-gnu*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- ;;
-
-haiku*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- dynamic_linker="$host_os runtime_loader"
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
- hardcode_into_libs=yes
- ;;
-
-hpux9* | hpux10* | hpux11*)
- # Give a soname corresponding to the major version so that dld.sl refuses to
- # link against other versions.
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- case $host_cpu in
- ia64*)
- shrext_cmds='.so'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.so"
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
- else
- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
- fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
- shrext_cmds='.sl'
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=SHLIB_PATH
- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
- esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
- postinstall_cmds='chmod 555 $lib'
- # or fails outright, so override atomically:
- install_override_mode=555
- ;;
-
-interix[3-9]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $host_os in
- nonstopux*) version_type=nonstopux ;;
- *)
- if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
- else
- version_type=irix
- fi ;;
- esac
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
- case $host_os in
- irix5* | nonstopux*)
- libsuff= shlibsuff=
- ;;
- *)
- case $LD in # libtool.m4 will add one of these switches to LD
- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
- libsuff= shlibsuff= libmagic=32-bit;;
- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
- libsuff=32 shlibsuff=N32 libmagic=N32;;
- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
- libsuff=64 shlibsuff=64 libmagic=64-bit;;
- *) libsuff= shlibsuff= libmagic=never-match;;
- esac
- ;;
- esac
- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
- hardcode_into_libs=yes
- ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
- dynamic_linker=no
- ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
-
- # Some binutils ld are patched to set DT_RUNPATH
- if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_shlibpath_overrides_runpath=no
- save_LDFLAGS=$LDFLAGS
- save_libdir=$libdir
- eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
- LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
- lt_cv_shlibpath_overrides_runpath=yes
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS=$save_LDFLAGS
- libdir=$save_libdir
-
-fi
-
- shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
-
- # This implies no fast_install, which is unacceptable.
- # Some rework will be needed to allow for fast_install
- # before this can be enabled.
- hardcode_into_libs=yes
-
- # Append ld.so.conf contents to the search path
- if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
- fi
-
- # We used to test for /lib/ld.so.1 and disable shared libraries on
- # powerpc, because MkLinux only supported shared libraries with the
- # GNU dynamic linker. Since this was broken with cross compilers,
- # most powerpc-linux boxes support dynamic linking these days and
- # people can always --disable-shared, the test was removed, and we
- # assume the GNU/Linux dynamic linker is in use.
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-netbsd*)
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- dynamic_linker='NetBSD (a.out) ld.so'
- else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='NetBSD ld.elf_so'
- fi
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
-
-newsos6)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-*nto* | *qnx*)
- version_type=qnx
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='ldqnx.so'
- ;;
-
-openbsd*)
- version_type=sunos
- sys_lib_dlsearch_path_spec="/usr/lib"
- need_lib_prefix=no
- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
- case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
- esac
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[89] | openbsd2.[89].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
- else
- shlibpath_overrides_runpath=yes
- fi
- ;;
-
-os2*)
- libname_spec='$name'
- shrext_cmds=".dll"
- need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
- dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
- ;;
-
-osf3* | osf4* | osf5*)
- version_type=osf
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
- ;;
-
-rdos*)
- dynamic_linker=no
- ;;
-
-solaris*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- # ldd complains unless libraries are executable
- postinstall_cmds='chmod +x $lib'
- ;;
-
-sunos4*)
- version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- fi
- need_version=yes
- ;;
-
-sysv4 | sysv4.3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- case $host_vendor in
- sni)
- shlibpath_overrides_runpath=no
- need_lib_prefix=no
- runpath_var=LD_RUN_PATH
- ;;
- siemens)
- need_lib_prefix=no
- ;;
- motorola)
- need_lib_prefix=no
- need_version=no
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
- ;;
- esac
- ;;
-
-sysv4*MP*)
- if test -d /usr/nec ;then
- version_type=linux
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
- shlibpath_var=LD_LIBRARY_PATH
- fi
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- version_type=freebsd-elf
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- if test "$with_gnu_ld" = yes; then
- sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
- else
- sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
- case $host_os in
- sco3.2v5*)
- sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
- ;;
- esac
- fi
- sys_lib_dlsearch_path_spec='/usr/lib'
- ;;
-
-tpf*)
- # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-uts4*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-*)
- dynamic_linker=no
- ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
-$as_echo "$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
- sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
- sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
-$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
-hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" ||
- test -n "$runpath_var" ||
- test "X$hardcode_automatic" = "Xyes" ; then
-
- # We can hardcode non-existent directories.
- if test "$hardcode_direct" != no &&
- # If the only mechanism to avoid hardcoding is shlibpath_var, we
- # have to relink, otherwise we might link with an installed library
- # when we should be linking with a yet-to-be-installed one
- ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
- test "$hardcode_minus_L" != no; then
- # Linking always hardcodes the temporary library directory.
- hardcode_action=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- hardcode_action=immediate
- fi
-else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- hardcode_action=unsupported
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
-$as_echo "$hardcode_action" >&6; }
-
-if test "$hardcode_action" = relink ||
- test "$inherit_rpath" = yes; then
- # Fast installation is not supported
- enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
- # Fast installation is not necessary
- enable_fast_install=needless
-fi
-
-
-
-
-
-
- if test "x$enable_dlopen" != xyes; then
- enable_dlopen=unknown
- enable_dlopen_self=unknown
- enable_dlopen_self_static=unknown
-else
- lt_cv_dlopen=no
- lt_cv_dlopen_libs=
-
- case $host_os in
- beos*)
- lt_cv_dlopen="load_add_on"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
- ;;
-
- mingw* | pw32* | cegcc*)
- lt_cv_dlopen="LoadLibrary"
- lt_cv_dlopen_libs=
- ;;
-
- cygwin*)
- lt_cv_dlopen="dlopen"
- lt_cv_dlopen_libs=
- ;;
-
- darwin*)
- # if libdl is installed we need to link against it
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dl_dlopen=yes
-else
- ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-
- lt_cv_dlopen="dyld"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
-
-fi
-
- ;;
-
- *)
- ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = xyes; then :
- lt_cv_dlopen="shl_load"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
-$as_echo_n "checking for shl_load in -ldld... " >&6; }
-if ${ac_cv_lib_dld_shl_load+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load ();
-int
-main ()
-{
-return shl_load ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dld_shl_load=yes
-else
- ac_cv_lib_dld_shl_load=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
-$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
- lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
-else
- ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dl_dlopen=yes
-else
- ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
-$as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if ${ac_cv_lib_svld_dlopen+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsvld $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_svld_dlopen=yes
-else
- ac_cv_lib_svld_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
-$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
-$as_echo_n "checking for dld_link in -ldld... " >&6; }
-if ${ac_cv_lib_dld_dld_link+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dld_link ();
-int
-main ()
-{
-return dld_link ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dld_dld_link=yes
-else
- ac_cv_lib_dld_dld_link=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
-$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
- lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
- ;;
- esac
-
- if test "x$lt_cv_dlopen" != xno; then
- enable_dlopen=yes
- else
- enable_dlopen=no
- fi
-
- case $lt_cv_dlopen in
- dlopen)
- save_CPPFLAGS="$CPPFLAGS"
- test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
- save_LDFLAGS="$LDFLAGS"
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
- save_LIBS="$LIBS"
- LIBS="$lt_cv_dlopen_libs $LIBS"
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
-$as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- lt_cv_dlopen_self=cross
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
- correspondingly for the symbols needed. */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
-
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else
- {
- if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- else puts (dlerror ());
- }
- /* dlclose (self); */
- }
- else
- puts (dlerror ());
-
- return status;
-}
-_LT_EOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) >&5 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
- x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
- x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
- esac
- else :
- # compilation failed
- lt_cv_dlopen_self=no
- fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
-$as_echo "$lt_cv_dlopen_self" >&6; }
-
- if test "x$lt_cv_dlopen_self" = xyes; then
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
-$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self_static+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- lt_cv_dlopen_self_static=cross
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
- correspondingly for the symbols needed. */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
-
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else
- {
- if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- else puts (dlerror ());
- }
- /* dlclose (self); */
- }
- else
- puts (dlerror ());
-
- return status;
-}
-_LT_EOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) >&5 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
- x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
- x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
- esac
- else :
- # compilation failed
- lt_cv_dlopen_self_static=no
- fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
-$as_echo "$lt_cv_dlopen_self_static" >&6; }
- fi
-
- CPPFLAGS="$save_CPPFLAGS"
- LDFLAGS="$save_LDFLAGS"
- LIBS="$save_LIBS"
- ;;
- esac
-
- case $lt_cv_dlopen_self in
- yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
- *) enable_dlopen_self=unknown ;;
- esac
-
- case $lt_cv_dlopen_self_static in
- yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
- *) enable_dlopen_self_static=unknown ;;
- esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-striplib=
-old_striplib=
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
-$as_echo_n "checking whether stripping libraries is possible... " >&6; }
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
- test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-# FIXME - insert some real tests, host_os isn't really good enough
- case $host_os in
- darwin*)
- if test -n "$STRIP" ; then
- striplib="$STRIP -x"
- old_striplib="$STRIP -S"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- fi
- ;;
- *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- ;;
- esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
- # Report which library types will actually be built
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
-$as_echo_n "checking if libtool supports shared libraries... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
-$as_echo "$can_build_shared" >&6; }
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
-$as_echo_n "checking whether to build shared libraries... " >&6; }
- test "$can_build_shared" = "no" && enable_shared=no
-
- # On AIX, shared libraries and static libraries use the same namespace, and
- # are all built from PIC.
- case $host_os in
- aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
-
- aix[4-9]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
- esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
-$as_echo "$enable_shared" >&6; }
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
-$as_echo_n "checking whether to build static libraries... " >&6; }
- # Make sure either enable_shared or enable_static is yes.
- test "$enable_shared" = yes || enable_static=yes
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
-$as_echo "$enable_static" >&6; }
-
-
-
-
-fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC="$lt_save_CC"
-
-
-
-
-
-
-
-
-
-
-
-
-
- ac_config_commands="$ac_config_commands libtool"
-
-
-
-
-# Only expand once:
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
-$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
- # Check whether --enable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then :
- enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
-else
- USE_MAINTAINER_MODE=no
-fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
-$as_echo "$USE_MAINTAINER_MODE" >&6; }
- if test $USE_MAINTAINER_MODE = yes; then
- MAINTAINER_MODE_TRUE=
- MAINTAINER_MODE_FALSE='#'
-else
- MAINTAINER_MODE_TRUE='#'
- MAINTAINER_MODE_FALSE=
-fi
-
- MAINT=$MAINTAINER_MODE_TRUE
-
-
-
-for ac_header in sys/mman.h
-do :
- ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_SYS_MMAN_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_func in mmap
-do :
- ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_MMAP 1
-_ACEOF
-
-fi
-done
-
-
-ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
- libffi_header_sys_mman_h=yes
-else
- libffi_header_sys_mman_h=no
-fi
-
-
-ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
- libffi_func_mmap=yes
-else
- libffi_func_mmap=no
-fi
-
-if test "$libffi_header_sys_mman_h" != yes \
- || test "$libffi_func_mmap" != yes; then
- ac_cv_func_mmap_file=no
- ac_cv_func_mmap_dev_zero=no
- ac_cv_func_mmap_anon=no
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether read-only mmap of a plain file works" >&5
-$as_echo_n "checking whether read-only mmap of a plain file works... " >&6; }
-if ${ac_cv_func_mmap_file+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Add a system to this blacklist if
- # mmap(0, stat_size, PROT_READ, MAP_PRIVATE, fd, 0) doesn't return a
- # memory area containing the same data that you'd get if you applied
- # read() to the same fd. The only system known to have a problem here
- # is VMS, where text files have record structure.
- case "$host_os" in
- vms* | ultrix*)
- ac_cv_func_mmap_file=no ;;
- *)
- ac_cv_func_mmap_file=yes;;
- esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_file" >&5
-$as_echo "$ac_cv_func_mmap_file" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap from /dev/zero works" >&5
-$as_echo_n "checking whether mmap from /dev/zero works... " >&6; }
-if ${ac_cv_func_mmap_dev_zero+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Add a system to this blacklist if it has mmap() but /dev/zero
- # does not exist, or if mmapping /dev/zero does not give anonymous
- # zeroed pages with both the following properties:
- # 1. If you map N consecutive pages in with one call, and then
- # unmap any subset of those pages, the pages that were not
- # explicitly unmapped remain accessible.
- # 2. If you map two adjacent blocks of memory and then unmap them
- # both at once, they must both go away.
- # Systems known to be in this category are Windows (all variants),
- # VMS, and Darwin.
- case "$host_os" in
- vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00)
- ac_cv_func_mmap_dev_zero=no ;;
- *)
- ac_cv_func_mmap_dev_zero=yes;;
- esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_dev_zero" >&5
-$as_echo "$ac_cv_func_mmap_dev_zero" >&6; }
-
- # Unlike /dev/zero, the MAP_ANON(YMOUS) defines can be probed for.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANON(YMOUS)" >&5
-$as_echo_n "checking for MAP_ANON(YMOUS)... " >&6; }
-if ${ac_cv_decl_map_anon+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <unistd.h>
-
-#ifndef MAP_ANONYMOUS
-#define MAP_ANONYMOUS MAP_ANON
-#endif
-
-int
-main ()
-{
-int n = MAP_ANONYMOUS;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_decl_map_anon=yes
-else
- ac_cv_decl_map_anon=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_decl_map_anon" >&5
-$as_echo "$ac_cv_decl_map_anon" >&6; }
-
- if test $ac_cv_decl_map_anon = no; then
- ac_cv_func_mmap_anon=no
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap with MAP_ANON(YMOUS) works" >&5
-$as_echo_n "checking whether mmap with MAP_ANON(YMOUS) works... " >&6; }
-if ${ac_cv_func_mmap_anon+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Add a system to this blacklist if it has mmap() and MAP_ANON or
- # MAP_ANONYMOUS, but using mmap(..., MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
- # doesn't give anonymous zeroed pages with the same properties listed
- # above for use of /dev/zero.
- # Systems known to be in this category are Windows, VMS, and SCO Unix.
- case "$host_os" in
- vms* | cygwin* | pe | mingw* | sco* | udk* )
- ac_cv_func_mmap_anon=no ;;
- *)
- ac_cv_func_mmap_anon=yes;;
- esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_anon" >&5
-$as_echo "$ac_cv_func_mmap_anon" >&6; }
- fi
-fi
-
-if test $ac_cv_func_mmap_file = yes; then
-
-$as_echo "#define HAVE_MMAP_FILE 1" >>confdefs.h
-
-fi
-if test $ac_cv_func_mmap_dev_zero = yes; then
-
-$as_echo "#define HAVE_MMAP_DEV_ZERO 1" >>confdefs.h
-
-fi
-if test $ac_cv_func_mmap_anon = yes; then
-
-$as_echo "#define HAVE_MMAP_ANON 1" >>confdefs.h
-
-fi
-
-
- if test -d $srcdir/testsuite; then
- TESTSUBDIR_TRUE=
- TESTSUBDIR_FALSE='#'
-else
- TESTSUBDIR_TRUE='#'
- TESTSUBDIR_FALSE=
-fi
-
-
-TARGETDIR="unknown"
-case "$host" in
- alpha*-*-*)
- TARGET=ALPHA; TARGETDIR=alpha;
- # Support 128-bit long double, changeable via command-line switch.
- HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
- ;;
-
- arm*-*-*)
- TARGET=ARM; TARGETDIR=arm
- ;;
-
- amd64-*-freebsd* | amd64-*-openbsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- amd64-*-freebsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- avr32*-*-*)
- TARGET=AVR32; TARGETDIR=avr32
- ;;
-
- cris-*-*)
- TARGET=LIBFFI_CRIS; TARGETDIR=cris
- ;;
-
- frv-*-*)
- TARGET=FRV; TARGETDIR=frv
- ;;
-
- hppa*-*-linux* | parisc*-*-linux*)
- TARGET=PA_LINUX; TARGETDIR=pa
- ;;
- hppa*64-*-hpux*)
- TARGET=PA64_HPUX; TARGETDIR=pa
- ;;
- hppa*-*-hpux*)
- TARGET=PA_HPUX; TARGETDIR=pa
- ;;
-
- i?86-*-freebsd* | i?86-*-openbsd*)
- TARGET=X86_FREEBSD; TARGETDIR=x86
- ;;
- i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2*)
- TARGET=X86_WIN32; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
- i?86-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
- i?86-*-solaris2.1[0-9]*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
- i?86-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- ia64*-*-*)
- TARGET=IA64; TARGETDIR=ia64
- ;;
-
- m32r*-*-*)
- TARGET=M32R; TARGETDIR=m32r
- ;;
-
- m68k-*-*)
- TARGET=M68K; TARGETDIR=m68k
- ;;
-
- mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
- TARGET=MIPS; TARGETDIR=mips
- ;;
- mips*-*-linux*)
- # Support 128-bit long double for NewABI.
- HAVE_LONG_DOUBLE='defined(__mips64)'
- TARGET=MIPS; TARGETDIR=mips
- ;;
-
- moxie-*-*)
- TARGET=MOXIE; TARGETDIR=moxie
- ;;
-
- powerpc*-*-linux* | powerpc-*-sysv*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-beos*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-darwin*)
- TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
- ;;
- powerpc-*-aix* | rs6000-*-aix*)
- TARGET=POWERPC_AIX; TARGETDIR=powerpc
- ;;
- powerpc-*-freebsd*)
- TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
- ;;
- powerpc64-*-freebsd*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc*-*-rtems*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
-
- s390-*-* | s390x-*-*)
- TARGET=S390; TARGETDIR=s390
- ;;
-
- sh-*-* | sh[34]*-*-*)
- TARGET=SH; TARGETDIR=sh
- ;;
- sh64-*-* | sh5*-*-*)
- TARGET=SH64; TARGETDIR=sh64
- ;;
-
- sparc*-*-*)
- TARGET=SPARC; TARGETDIR=sparc
- ;;
-
- x86_64-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
-
- x86_64-*-cygwin* | x86_64-*-mingw*)
- TARGET=X86_WIN64; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
-
- x86_64-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-esac
-
-
-
-
-if test $TARGETDIR = unknown; then
- as_fn_error $? "\"libffi has not been ported to $host.\"" "$LINENO" 5
-fi
-
- if test x$TARGET = xMIPS; then
- MIPS_TRUE=
- MIPS_FALSE='#'
-else
- MIPS_TRUE='#'
- MIPS_FALSE=
-fi
-
- if test x$TARGET = xSPARC; then
- SPARC_TRUE=
- SPARC_FALSE='#'
-else
- SPARC_TRUE='#'
- SPARC_FALSE=
-fi
-
- if test x$TARGET = xX86; then
- X86_TRUE=
- X86_FALSE='#'
-else
- X86_TRUE='#'
- X86_FALSE=
-fi
-
- if test x$TARGET = xX86_FREEBSD; then
- X86_FREEBSD_TRUE=
- X86_FREEBSD_FALSE='#'
-else
- X86_FREEBSD_TRUE='#'
- X86_FREEBSD_FALSE=
-fi
-
- if test x$TARGET = xX86_WIN32; then
- X86_WIN32_TRUE=
- X86_WIN32_FALSE='#'
-else
- X86_WIN32_TRUE='#'
- X86_WIN32_FALSE=
-fi
-
- if test x$TARGET = xX86_WIN64; then
- X86_WIN64_TRUE=
- X86_WIN64_FALSE='#'
-else
- X86_WIN64_TRUE='#'
- X86_WIN64_FALSE=
-fi
-
- if test x$TARGET = xX86_DARWIN; then
- X86_DARWIN_TRUE=
- X86_DARWIN_FALSE='#'
-else
- X86_DARWIN_TRUE='#'
- X86_DARWIN_FALSE=
-fi
-
- if test x$TARGET = xALPHA; then
- ALPHA_TRUE=
- ALPHA_FALSE='#'
-else
- ALPHA_TRUE='#'
- ALPHA_FALSE=
-fi
-
- if test x$TARGET = xIA64; then
- IA64_TRUE=
- IA64_FALSE='#'
-else
- IA64_TRUE='#'
- IA64_FALSE=
-fi
-
- if test x$TARGET = xM32R; then
- M32R_TRUE=
- M32R_FALSE='#'
-else
- M32R_TRUE='#'
- M32R_FALSE=
-fi
-
- if test x$TARGET = xM68K; then
- M68K_TRUE=
- M68K_FALSE='#'
-else
- M68K_TRUE='#'
- M68K_FALSE=
-fi
-
- if test x$TARGET = xMOXIE; then
- MOXIE_TRUE=
- MOXIE_FALSE='#'
-else
- MOXIE_TRUE='#'
- MOXIE_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC; then
- POWERPC_TRUE=
- POWERPC_FALSE='#'
-else
- POWERPC_TRUE='#'
- POWERPC_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_AIX; then
- POWERPC_AIX_TRUE=
- POWERPC_AIX_FALSE='#'
-else
- POWERPC_AIX_TRUE='#'
- POWERPC_AIX_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_DARWIN; then
- POWERPC_DARWIN_TRUE=
- POWERPC_DARWIN_FALSE='#'
-else
- POWERPC_DARWIN_TRUE='#'
- POWERPC_DARWIN_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_FREEBSD; then
- POWERPC_FREEBSD_TRUE=
- POWERPC_FREEBSD_FALSE='#'
-else
- POWERPC_FREEBSD_TRUE='#'
- POWERPC_FREEBSD_FALSE=
-fi
-
- if test x$TARGET = xARM; then
- ARM_TRUE=
- ARM_FALSE='#'
-else
- ARM_TRUE='#'
- ARM_FALSE=
-fi
-
- if test x$TARGET = xAVR32; then
- AVR32_TRUE=
- AVR32_FALSE='#'
-else
- AVR32_TRUE='#'
- AVR32_FALSE=
-fi
-
- if test x$TARGET = xLIBFFI_CRIS; then
- LIBFFI_CRIS_TRUE=
- LIBFFI_CRIS_FALSE='#'
-else
- LIBFFI_CRIS_TRUE='#'
- LIBFFI_CRIS_FALSE=
-fi
-
- if test x$TARGET = xFRV; then
- FRV_TRUE=
- FRV_FALSE='#'
-else
- FRV_TRUE='#'
- FRV_FALSE=
-fi
-
- if test x$TARGET = xS390; then
- S390_TRUE=
- S390_FALSE='#'
-else
- S390_TRUE='#'
- S390_FALSE=
-fi
-
- if test x$TARGET = xX86_64; then
- X86_64_TRUE=
- X86_64_FALSE='#'
-else
- X86_64_TRUE='#'
- X86_64_FALSE=
-fi
-
- if test x$TARGET = xSH; then
- SH_TRUE=
- SH_FALSE='#'
-else
- SH_TRUE='#'
- SH_FALSE=
-fi
-
- if test x$TARGET = xSH64; then
- SH64_TRUE=
- SH64_FALSE='#'
-else
- SH64_TRUE='#'
- SH64_FALSE=
-fi
-
- if test x$TARGET = xPA_LINUX; then
- PA_LINUX_TRUE=
- PA_LINUX_FALSE='#'
-else
- PA_LINUX_TRUE='#'
- PA_LINUX_FALSE=
-fi
-
- if test x$TARGET = xPA_HPUX; then
- PA_HPUX_TRUE=
- PA_HPUX_FALSE='#'
-else
- PA_HPUX_TRUE='#'
- PA_HPUX_FALSE=
-fi
-
- if test x$TARGET = xPA64_HPUX; then
- PA64_HPUX_TRUE=
- PA64_HPUX_FALSE='#'
-else
- PA64_HPUX_TRUE='#'
- PA64_HPUX_FALSE=
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_header_stdc=yes
-else
- ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then :
- :
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- return 2;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-for ac_func in memcpy
-do :
- ac_fn_c_check_func "$LINENO" "memcpy" "ac_cv_func_memcpy"
-if test "x$ac_cv_func_memcpy" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_MEMCPY 1
-_ACEOF
-
-fi
-done
-
-ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-if test "x$ac_cv_type_size_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define size_t unsigned int
-_ACEOF
-
-fi
-
-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
-# for constant arguments. Useless!
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
-$as_echo_n "checking for working alloca.h... " >&6; }
-if ${ac_cv_working_alloca_h+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <alloca.h>
-int
-main ()
-{
-char *p = (char *) alloca (2 * sizeof (int));
- if (p) return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_working_alloca_h=yes
-else
- ac_cv_working_alloca_h=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
-$as_echo "$ac_cv_working_alloca_h" >&6; }
-if test $ac_cv_working_alloca_h = yes; then
-
-$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
-$as_echo_n "checking for alloca... " >&6; }
-if ${ac_cv_func_alloca_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# ifdef _MSC_VER
-# include <malloc.h>
-# define alloca _alloca
-# else
-# ifdef HAVE_ALLOCA_H
-# include <alloca.h>
-# else
-# ifdef _AIX
- #pragma alloca
-# else
-# ifndef alloca /* predefined by HP cc +Olibcalls */
-void *alloca (size_t);
-# endif
-# endif
-# endif
-# endif
-#endif
-
-int
-main ()
-{
-char *p = (char *) alloca (1);
- if (p) return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_func_alloca_works=yes
-else
- ac_cv_func_alloca_works=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
-$as_echo "$ac_cv_func_alloca_works" >&6; }
-
-if test $ac_cv_func_alloca_works = yes; then
-
-$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
-
-else
- # The SVR3 libPW and SVR4 libucb both contain incompatible functions
-# that cause trouble. Some versions do not even contain alloca or
-# contain a buggy version. If you still want to use their alloca,
-# use ar to extract alloca.o from them instead of compiling alloca.c.
-
-ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
-
-$as_echo "#define C_ALLOCA 1" >>confdefs.h
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
-$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
-if ${ac_cv_os_cray+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#if defined CRAY && ! defined CRAY2
-webecray
-#else
-wenotbecray
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "webecray" >/dev/null 2>&1; then :
- ac_cv_os_cray=yes
-else
- ac_cv_os_cray=no
-fi
-rm -f conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5
-$as_echo "$ac_cv_os_cray" >&6; }
-if test $ac_cv_os_cray = yes; then
- for ac_func in _getb67 GETB67 getb67; do
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-
-cat >>confdefs.h <<_ACEOF
-#define CRAY_STACKSEG_END $ac_func
-_ACEOF
-
- break
-fi
-
- done
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
-$as_echo_n "checking stack direction for C alloca... " >&6; }
-if ${ac_cv_c_stack_direction+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- ac_cv_c_stack_direction=0
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
-int
-find_stack_direction ()
-{
- static char *addr = 0;
- auto char dummy;
- if (addr == 0)
- {
- addr = &dummy;
- return find_stack_direction ();
- }
- else
- return (&dummy > addr) ? 1 : -1;
-}
-
-int
-main ()
-{
- return find_stack_direction () < 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_c_stack_direction=1
-else
- ac_cv_c_stack_direction=-1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
-$as_echo "$ac_cv_c_stack_direction" >&6; }
-cat >>confdefs.h <<_ACEOF
-#define STACK_DIRECTION $ac_cv_c_stack_direction
-_ACEOF
-
-
-fi
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of double" >&5
-$as_echo_n "checking size of double... " >&6; }
-if ${ac_cv_sizeof_double+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (double))" "ac_cv_sizeof_double" "$ac_includes_default"; then :
-
-else
- if test "$ac_cv_type_double" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (double)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_double=0
- fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_double" >&5
-$as_echo "$ac_cv_sizeof_double" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_DOUBLE $ac_cv_sizeof_double
-_ACEOF
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long double" >&5
-$as_echo_n "checking size of long double... " >&6; }
-if ${ac_cv_sizeof_long_double+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long double))" "ac_cv_sizeof_long_double" "$ac_includes_default"; then :
-
-else
- if test "$ac_cv_type_long_double" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (long double)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_long_double=0
- fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_double" >&5
-$as_echo "$ac_cv_sizeof_long_double" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_LONG_DOUBLE $ac_cv_sizeof_long_double
-_ACEOF
-
-
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
- HAVE_LONG_DOUBLE=0
- if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
- if test $ac_cv_sizeof_long_double != 0; then
- HAVE_LONG_DOUBLE=1
-
-$as_echo "#define HAVE_LONG_DOUBLE 1" >>confdefs.h
-
- fi
- fi
-fi
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
-$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if ${ac_cv_c_bigendian+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_c_bigendian=unknown
- # See if we're dealing with a universal compiler.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifndef __APPLE_CC__
- not a universal capable compiler
- #endif
- typedef int dummy;
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
- # Check for potential -arch flags. It is not universal unless
- # there are at least two -arch flags with different values.
- ac_arch=
- ac_prev=
- for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
- if test -n "$ac_prev"; then
- case $ac_word in
- i?86 | x86_64 | ppc | ppc64)
- if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
- ac_arch=$ac_word
- else
- ac_cv_c_bigendian=universal
- break
- fi
- ;;
- esac
- ac_prev=
- elif test "x$ac_word" = "x-arch"; then
- ac_prev=arch
- fi
- done
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- if test $ac_cv_c_bigendian = unknown; then
- # See if sys/param.h defines the BYTE_ORDER macro.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
- #include <sys/param.h>
-
-int
-main ()
-{
-#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
- && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
- && LITTLE_ENDIAN)
- bogus endian macros
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- # It does; now see whether it defined to BIG_ENDIAN or not.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
- #include <sys/param.h>
-
-int
-main ()
-{
-#if BYTE_ORDER != BIG_ENDIAN
- not big endian
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_c_bigendian=yes
-else
- ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- if test $ac_cv_c_bigendian = unknown; then
- # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <limits.h>
-
-int
-main ()
-{
-#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
- bogus endian macros
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- # It does; now see whether it defined to _BIG_ENDIAN or not.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <limits.h>
-
-int
-main ()
-{
-#ifndef _BIG_ENDIAN
- not big endian
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_c_bigendian=yes
-else
- ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- if test $ac_cv_c_bigendian = unknown; then
- # Compile a test program.
- if test "$cross_compiling" = yes; then :
- # Try to guess by grepping values from an object file.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-short int ascii_mm[] =
- { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
- short int ascii_ii[] =
- { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
- int use_ascii (int i) {
- return ascii_mm[i] + ascii_ii[i];
- }
- short int ebcdic_ii[] =
- { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
- short int ebcdic_mm[] =
- { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
- int use_ebcdic (int i) {
- return ebcdic_mm[i] + ebcdic_ii[i];
- }
- extern int foo;
-
-int
-main ()
-{
-return use_ascii (foo) == use_ebcdic (foo);
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
- ac_cv_c_bigendian=yes
- fi
- if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
- if test "$ac_cv_c_bigendian" = unknown; then
- ac_cv_c_bigendian=no
- else
- # finding both strings is unlikely to happen, but who knows?
- ac_cv_c_bigendian=unknown
- fi
- fi
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-
- /* Are we little or big endian? From Harbison&Steele. */
- union
- {
- long int l;
- char c[sizeof (long int)];
- } u;
- u.l = 1;
- return u.c[sizeof (long int) - 1] == 1;
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_c_bigendian=no
-else
- ac_cv_c_bigendian=yes
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
-$as_echo "$ac_cv_c_bigendian" >&6; }
- case $ac_cv_c_bigendian in #(
- yes)
- $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
-;; #(
- no)
- ;; #(
- universal)
-
-$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
-
- ;; #(
- *)
- as_fn_error $? "unknown endianness
- presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
- esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .cfi pseudo-op support" >&5
-$as_echo_n "checking assembler .cfi pseudo-op support... " >&6; }
-if ${gcc_cv_as_cfi_pseudo_op+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- gcc_cv_as_cfi_pseudo_op=unknown
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".cfi_startproc\n\t.cfi_endproc");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- gcc_cv_as_cfi_pseudo_op=yes
-else
- gcc_cv_as_cfi_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_cfi_pseudo_op" >&5
-$as_echo "$gcc_cv_as_cfi_pseudo_op" >&6; }
- if test "x$gcc_cv_as_cfi_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_CFI_PSEUDO_OP 1" >>confdefs.h
-
- fi
-
-
-if test x$TARGET = xSPARC; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler and linker support unaligned pc related relocs" >&5
-$as_echo_n "checking assembler and linker support unaligned pc related relocs... " >&6; }
-if ${libffi_cv_as_sparc_ua_pcrel+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- save_CFLAGS="$CFLAGS"
- save_LDFLAGS="$LDFLAGS"
- CFLAGS="$CFLAGS -fpic"
- LDFLAGS="$LDFLAGS -shared"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- libffi_cv_as_sparc_ua_pcrel=yes
-else
- libffi_cv_as_sparc_ua_pcrel=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- CFLAGS="$save_CFLAGS"
- LDFLAGS="$save_LDFLAGS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_sparc_ua_pcrel" >&5
-$as_echo "$libffi_cv_as_sparc_ua_pcrel" >&6; }
- if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
-
-$as_echo "#define HAVE_AS_SPARC_UA_PCREL 1" >>confdefs.h
-
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .register pseudo-op support" >&5
-$as_echo_n "checking assembler .register pseudo-op support... " >&6; }
-if ${libffi_cv_as_register_pseudo_op+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_register_pseudo_op=unknown
- # Check if we have .register
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".register %g2, #scratch");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- libffi_cv_as_register_pseudo_op=yes
-else
- libffi_cv_as_register_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_register_pseudo_op" >&5
-$as_echo "$libffi_cv_as_register_pseudo_op" >&6; }
- if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_REGISTER_PSEUDO_OP 1" >>confdefs.h
-
- fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports pc related relocs" >&5
-$as_echo_n "checking assembler supports pc related relocs... " >&6; }
-if ${libffi_cv_as_x86_pcrel+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_x86_pcrel=yes
- echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
- if $CC $CFLAGS -c conftest.s 2>&1 | $EGREP -i 'illegal|warning' > /dev/null; then
- libffi_cv_as_x86_pcrel=no
- fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_x86_pcrel" >&5
-$as_echo "$libffi_cv_as_x86_pcrel" >&6; }
- if test "x$libffi_cv_as_x86_pcrel" = xyes; then
-
-$as_echo "#define HAVE_AS_X86_PCREL 1" >>confdefs.h
-
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .ascii pseudo-op support" >&5
-$as_echo_n "checking assembler .ascii pseudo-op support... " >&6; }
-if ${libffi_cv_as_ascii_pseudo_op+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_ascii_pseudo_op=unknown
- # Check if we have .ascii
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".ascii \\"string\\"");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- libffi_cv_as_ascii_pseudo_op=yes
-else
- libffi_cv_as_ascii_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_ascii_pseudo_op" >&5
-$as_echo "$libffi_cv_as_ascii_pseudo_op" >&6; }
- if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_ASCII_PSEUDO_OP 1" >>confdefs.h
-
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .string pseudo-op support" >&5
-$as_echo_n "checking assembler .string pseudo-op support... " >&6; }
-if ${libffi_cv_as_string_pseudo_op+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_string_pseudo_op=unknown
- # Check if we have .string
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-asm (".string \\"string\\"");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- libffi_cv_as_string_pseudo_op=yes
-else
- libffi_cv_as_string_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_string_pseudo_op" >&5
-$as_echo "$libffi_cv_as_string_pseudo_op" >&6; }
- if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_STRING_PSEUDO_OP 1" >>confdefs.h
-
- fi
-fi
-
-if test x$TARGET = xX86_WIN64; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ prefix in compiled symbols" >&5
-$as_echo_n "checking for _ prefix in compiled symbols... " >&6; }
-if ${lt_cv_sys_symbol_underscore+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_sys_symbol_underscore=no
- cat > conftest.$ac_ext <<_LT_EOF
-void nm_test_func(){}
-int main(){nm_test_func;return 0;}
-_LT_EOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- # Now try to grab the symbols.
- ac_nlist=conftest.nm
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist\""; } >&5
- (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s "$ac_nlist"; then
- # See whether the symbols have a leading underscore.
- if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then
- lt_cv_sys_symbol_underscore=yes
- else
- if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then
- :
- else
- echo "configure: cannot find nm_test_func in $ac_nlist" >&5
- fi
- fi
- else
- echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&5
- fi
- else
- echo "configure: failed program was:" >&5
- cat conftest.c >&5
- fi
- rm -rf conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_symbol_underscore" >&5
-$as_echo "$lt_cv_sys_symbol_underscore" >&6; }
- sys_symbol_underscore=$lt_cv_sys_symbol_underscore
-
-
- if test "x$sys_symbol_underscore" = xyes; then
-
-$as_echo "#define SYMBOL_UNDERSCORE 1" >>confdefs.h
-
- fi
-fi
-
-case "$target" in
- *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
-
-$as_echo "#define FFI_MMAP_EXEC_WRIT 1" >>confdefs.h
-
- ;;
-esac
-
-if test x$TARGET = xX86_64; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports unwind section type" >&5
-$as_echo_n "checking assembler supports unwind section type... " >&6; }
-if ${libffi_cv_as_x86_64_unwind_section_type+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_as_x86_64_unwind_section_type=yes
- echo '.section .eh_frame,"a",@unwind' > conftest.s
- if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
- libffi_cv_as_x86_64_unwind_section_type=no
- fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_x86_64_unwind_section_type" >&5
-$as_echo "$libffi_cv_as_x86_64_unwind_section_type" >&6; }
- if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
-
-$as_echo "#define HAVE_AS_X86_64_UNWIND_SECTION_TYPE 1" >>confdefs.h
-
- fi
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether .eh_frame section should be read-only" >&5
-$as_echo_n "checking whether .eh_frame section should be read-only... " >&6; }
-if ${libffi_cv_ro_eh_frame+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- libffi_cv_ro_eh_frame=no
- echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
- if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
- if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- elif grep '.section.*eh_frame.*#alloc' conftest.c \
- | grep -v '#write' > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- fi
- fi
- rm -f conftest.*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_ro_eh_frame" >&5
-$as_echo "$libffi_cv_ro_eh_frame" >&6; }
-if test "x$libffi_cv_ro_eh_frame" = xyes; then
-
-$as_echo "#define HAVE_RO_EH_FRAME 1" >>confdefs.h
-
-
-$as_echo "#define EH_FRAME_FLAGS \"a\"" >>confdefs.h
-
-else
-
-$as_echo "#define EH_FRAME_FLAGS \"aw\"" >>confdefs.h
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __attribute__((visibility(\"hidden\")))" >&5
-$as_echo_n "checking for __attribute__((visibility(\"hidden\")))... " >&6; }
-if ${libffi_cv_hidden_visibility_attribute+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1; }' > conftest.c
- libffi_cv_hidden_visibility_attribute=no
- if { ac_try='${CC-cc} -Werror -S conftest.c -o conftest.s 1>&5'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- if grep '\.hidden.*foo' conftest.s >/dev/null; then
- libffi_cv_hidden_visibility_attribute=yes
- fi
- fi
- rm -f conftest.*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_hidden_visibility_attribute" >&5
-$as_echo "$libffi_cv_hidden_visibility_attribute" >&6; }
-if test $libffi_cv_hidden_visibility_attribute = yes; then
-
-$as_echo "#define HAVE_HIDDEN_VISIBILITY_ATTRIBUTE 1" >>confdefs.h
-
-fi
-
-
-
-
-
-
-
-
-# Check whether --enable-debug was given.
-if test "${enable_debug+set}" = set; then :
- enableval=$enable_debug; if test "$enable_debug" = "yes"; then
-
-$as_echo "#define FFI_DEBUG 1" >>confdefs.h
-
- fi
-fi
-
- if test "$enable_debug" = "yes"; then
- FFI_DEBUG_TRUE=
- FFI_DEBUG_FALSE='#'
-else
- FFI_DEBUG_TRUE='#'
- FFI_DEBUG_FALSE=
-fi
-
-
-# Check whether --enable-structs was given.
-if test "${enable_structs+set}" = set; then :
- enableval=$enable_structs; if test "$enable_structs" = "no"; then
-
-$as_echo "#define FFI_NO_STRUCTS 1" >>confdefs.h
-
- fi
-fi
-
-
-# Check whether --enable-raw-api was given.
-if test "${enable_raw_api+set}" = set; then :
- enableval=$enable_raw_api; if test "$enable_raw_api" = "no"; then
-
-$as_echo "#define FFI_NO_RAW_API 1" >>confdefs.h
-
- fi
-fi
-
-
-# Check whether --enable-purify-safety was given.
-if test "${enable_purify_safety+set}" = set; then :
- enableval=$enable_purify_safety; if test "$enable_purify_safety" = "yes"; then
-
-$as_echo "#define USING_PURIFY 1" >>confdefs.h
-
- fi
-fi
-
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- toolexecdir='$(exec_prefix)/$(target_alias)'
- toolexeclibdir='$(toolexecdir)/lib'
- else
- toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
- toolexeclibdir='$(libdir)'
- fi
- multi_os_directory=`$CC -print-multi-os-directory`
- case $multi_os_directory in
- .) ;; # Avoid trailing /.
- *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
- esac
-
-
-fi
-
-if test "${multilib}" = "yes"; then
- multilib_arg="--enable-multilib"
-else
- multilib_arg=
-fi
-
-ac_config_commands="$ac_config_commands include"
-
-ac_config_commands="$ac_config_commands src"
-
-
-ac_config_links="$ac_config_links include/ffitarget.h:src/$TARGETDIR/ffitarget.h"
-
-
-ac_config_files="$ac_config_files include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc"
-
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems. If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
- for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
-
- (set) 2>&1 |
- case $as_nl`(ac_space=' '; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- # `set' does not quote correctly, so add quotes: double-quote
- # substitution turns \\\\ into \\, and sed turns \\ into \.
- sed -n \
- "s/'/'\\\\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- ;; #(
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-) |
- sed '
- /^ac_cv_env_/b end
- t clear
- :clear
- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
- t end
- s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
- if test -w "$cache_file"; then
- if test "x$cache_file" != "x/dev/null"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
- if test ! -f "$cache_file" || test -h "$cache_file"; then
- cat confcache >"$cache_file"
- else
- case $cache_file in #(
- */* | ?:*)
- mv -f confcache "$cache_file"$$ &&
- mv -f "$cache_file"$$ "$cache_file" ;; #(
- *)
- mv -f confcache "$cache_file" ;;
- esac
- fi
- fi
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
- fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-U=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
- # 1. Remove the extension, and $U if already installed.
- ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
- ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
- # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
- # will be set to the directory where LIBOBJS objects are built.
- as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
- as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
- if test -n "$EXEEXT"; then
- am__EXEEXT_TRUE=
- am__EXEEXT_FALSE='#'
-else
- am__EXEEXT_TRUE='#'
- am__EXEEXT_FALSE=
-fi
-
-if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
- as_fn_error $? "conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
- as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCCAS_TRUE}" && test -z "${am__fastdepCCAS_FALSE}"; then
- as_fn_error $? "conditional \"am__fastdepCCAS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
- as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${TESTSUBDIR_TRUE}" && test -z "${TESTSUBDIR_FALSE}"; then
- as_fn_error $? "conditional \"TESTSUBDIR\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MIPS_TRUE}" && test -z "${MIPS_FALSE}"; then
- as_fn_error $? "conditional \"MIPS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SPARC_TRUE}" && test -z "${SPARC_FALSE}"; then
- as_fn_error $? "conditional \"SPARC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_TRUE}" && test -z "${X86_FALSE}"; then
- as_fn_error $? "conditional \"X86\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_FREEBSD_TRUE}" && test -z "${X86_FREEBSD_FALSE}"; then
- as_fn_error $? "conditional \"X86_FREEBSD\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_WIN32_TRUE}" && test -z "${X86_WIN32_FALSE}"; then
- as_fn_error $? "conditional \"X86_WIN32\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_WIN64_TRUE}" && test -z "${X86_WIN64_FALSE}"; then
- as_fn_error $? "conditional \"X86_WIN64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_DARWIN_TRUE}" && test -z "${X86_DARWIN_FALSE}"; then
- as_fn_error $? "conditional \"X86_DARWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${ALPHA_TRUE}" && test -z "${ALPHA_FALSE}"; then
- as_fn_error $? "conditional \"ALPHA\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${IA64_TRUE}" && test -z "${IA64_FALSE}"; then
- as_fn_error $? "conditional \"IA64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${M32R_TRUE}" && test -z "${M32R_FALSE}"; then
- as_fn_error $? "conditional \"M32R\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${M68K_TRUE}" && test -z "${M68K_FALSE}"; then
- as_fn_error $? "conditional \"M68K\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MOXIE_TRUE}" && test -z "${MOXIE_FALSE}"; then
- as_fn_error $? "conditional \"MOXIE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_TRUE}" && test -z "${POWERPC_FALSE}"; then
- as_fn_error $? "conditional \"POWERPC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_AIX_TRUE}" && test -z "${POWERPC_AIX_FALSE}"; then
- as_fn_error $? "conditional \"POWERPC_AIX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_DARWIN_TRUE}" && test -z "${POWERPC_DARWIN_FALSE}"; then
- as_fn_error $? "conditional \"POWERPC_DARWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_FREEBSD_TRUE}" && test -z "${POWERPC_FREEBSD_FALSE}"; then
- as_fn_error $? "conditional \"POWERPC_FREEBSD\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${ARM_TRUE}" && test -z "${ARM_FALSE}"; then
- as_fn_error $? "conditional \"ARM\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${AVR32_TRUE}" && test -z "${AVR32_FALSE}"; then
- as_fn_error $? "conditional \"AVR32\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${LIBFFI_CRIS_TRUE}" && test -z "${LIBFFI_CRIS_FALSE}"; then
- as_fn_error $? "conditional \"LIBFFI_CRIS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${FRV_TRUE}" && test -z "${FRV_FALSE}"; then
- as_fn_error $? "conditional \"FRV\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${S390_TRUE}" && test -z "${S390_FALSE}"; then
- as_fn_error $? "conditional \"S390\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_64_TRUE}" && test -z "${X86_64_FALSE}"; then
- as_fn_error $? "conditional \"X86_64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SH_TRUE}" && test -z "${SH_FALSE}"; then
- as_fn_error $? "conditional \"SH\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SH64_TRUE}" && test -z "${SH64_FALSE}"; then
- as_fn_error $? "conditional \"SH64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA_LINUX_TRUE}" && test -z "${PA_LINUX_FALSE}"; then
- as_fn_error $? "conditional \"PA_LINUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA_HPUX_TRUE}" && test -z "${PA_HPUX_FALSE}"; then
- as_fn_error $? "conditional \"PA_HPUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA64_HPUX_TRUE}" && test -z "${PA64_HPUX_FALSE}"; then
- as_fn_error $? "conditional \"PA64_HPUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-if test -z "${FFI_DEBUG_TRUE}" && test -z "${FFI_DEBUG_FALSE}"; then
- as_fn_error $? "conditional \"FFI_DEBUG\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-: "${CONFIG_STATUS=./config.status}"
-ac_write_fail=0
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in #(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- fi
- $as_echo "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} # as_fn_error
-
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} # as_fn_exit
-
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
-
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -p'
- fi
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in #(
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by libffi $as_me 3.0.11-rc2, which was
-generated by GNU Autoconf 2.68. Invocation command line was
-
- CONFIG_FILES = $CONFIG_FILES
- CONFIG_HEADERS = $CONFIG_HEADERS
- CONFIG_LINKS = $CONFIG_LINKS
- CONFIG_COMMANDS = $CONFIG_COMMANDS
- $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-case $ac_config_headers in *"
-"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
-esac
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-config_links="$ac_config_links"
-config_commands="$ac_config_commands"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration. Unless the files
-and actions are specified as TAGs, all are instantiated by default.
-
-Usage: $0 [OPTION]... [TAG]...
-
- -h, --help print this help, then exit
- -V, --version print version number and configuration settings, then exit
- --config print configuration, then exit
- -q, --quiet, --silent
- do not print progress messages
- -d, --debug don't remove temporary files
- --recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
- --header=FILE[:TEMPLATE]
- instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration links:
-$config_links
-
-Configuration commands:
-$config_commands
-
-Report bugs to <http://github.com/atgreen/libffi/issues>."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-ac_cs_version="\\
-libffi config.status 3.0.11-rc2
-configured by $0, generated by GNU Autoconf 2.68,
- with options \\"\$ac_cs_config\\"
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-INSTALL='$INSTALL'
-MKDIR_P='$MKDIR_P'
-AWK='$AWK'
-test -n "\$AWK" || AWK=awk
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
-ac_need_defaults=:
-while test $# != 0
-do
- case $1 in
- --*=?*)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
- ac_shift=:
- ;;
- --*=)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=
- ac_shift=:
- ;;
- *)
- ac_option=$1
- ac_optarg=$2
- ac_shift=shift
- ;;
- esac
-
- case $ac_option in
- # Handling of the options.
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- ac_cs_recheck=: ;;
- --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
- $as_echo "$ac_cs_version"; exit ;;
- --config | --confi | --conf | --con | --co | --c )
- $as_echo "$ac_cs_config"; exit ;;
- --debug | --debu | --deb | --de | --d | -d )
- debug=: ;;
- --file | --fil | --fi | --f )
- $ac_shift
- case $ac_optarg in
- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
- '') as_fn_error $? "missing file argument" ;;
- esac
- as_fn_append CONFIG_FILES " '$ac_optarg'"
- ac_need_defaults=false;;
- --header | --heade | --head | --hea )
- $ac_shift
- case $ac_optarg in
- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- as_fn_append CONFIG_HEADERS " '$ac_optarg'"
- ac_need_defaults=false;;
- --he | --h)
- # Conflict between --help and --header
- as_fn_error $? "ambiguous option: \`$1'
-Try \`$0 --help' for more information.";;
- --help | --hel | -h )
- $as_echo "$ac_cs_usage"; exit ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil | --si | --s)
- ac_cs_silent=: ;;
-
- # This is an error.
- -*) as_fn_error $? "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
-
- *) as_fn_append ac_config_targets " $1"
- ac_need_defaults=false ;;
-
- esac
- shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
- exec 6>/dev/null
- ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-if \$ac_cs_recheck; then
- set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
- shift
- \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
- CONFIG_SHELL='$SHELL'
- export CONFIG_SHELL
- exec "\$@"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
- $as_echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-#
-# INIT-COMMANDS
-#
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-sed_quote_subst='$sed_quote_subst'
-double_quote_subst='$double_quote_subst'
-delay_variable_subst='$delay_variable_subst'
-macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
-macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
-enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
-enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
-pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
-enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
-SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
-ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
-host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
-host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
-host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
-build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
-build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
-build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
-SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
-Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
-GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
-EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
-FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
-LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
-NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
-LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
-max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
-ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
-exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
-lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
-lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
-lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
-reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
-reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
-OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
-deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
-file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
-file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
-want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
-DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
-sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
-AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
-AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
-archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
-STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
-RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
-old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
-lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
-CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
-CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
-compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
-GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
-nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
-lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
-objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
-MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
-lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
-need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
-MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
-DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
-NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
-LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
-OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
-libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
-shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
-extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
-enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
-export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
-whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
-compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
-old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
-archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
-module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
-allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
-no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_ld='`$ECHO "$hardcode_libdir_flag_spec_ld" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
-hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
-hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
-hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
-hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
-hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
-inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
-link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
-always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
-export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
-exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
-include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
-prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
-postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
-file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
-variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
-need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
-version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
-runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
-libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
-library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
-soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
-install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
-postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
-finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
-hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
-sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
-sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
-enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
-old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
-striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
-
-LTCC='$LTCC'
-LTCFLAGS='$LTCFLAGS'
-compiler='$compiler_DEFAULT'
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
- eval 'cat <<_LTECHO_EOF
-\$1
-_LTECHO_EOF'
-}
-
-# Quote evaled strings.
-for var in SHELL \
-ECHO \
-SED \
-GREP \
-EGREP \
-FGREP \
-LD \
-NM \
-LN_S \
-lt_SP2NL \
-lt_NL2SP \
-reload_flag \
-OBJDUMP \
-deplibs_check_method \
-file_magic_cmd \
-file_magic_glob \
-want_nocaseglob \
-DLLTOOL \
-sharedlib_from_linklib_cmd \
-AR \
-AR_FLAGS \
-archiver_list_spec \
-STRIP \
-RANLIB \
-CC \
-CFLAGS \
-compiler \
-lt_cv_sys_global_symbol_pipe \
-lt_cv_sys_global_symbol_to_cdecl \
-lt_cv_sys_global_symbol_to_c_name_address \
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
-nm_file_list_spec \
-lt_prog_compiler_no_builtin_flag \
-lt_prog_compiler_pic \
-lt_prog_compiler_wl \
-lt_prog_compiler_static \
-lt_cv_prog_compiler_c_o \
-need_locks \
-MANIFEST_TOOL \
-DSYMUTIL \
-NMEDIT \
-LIPO \
-OTOOL \
-OTOOL64 \
-shrext_cmds \
-export_dynamic_flag_spec \
-whole_archive_flag_spec \
-compiler_needs_object \
-with_gnu_ld \
-allow_undefined_flag \
-no_undefined_flag \
-hardcode_libdir_flag_spec \
-hardcode_libdir_flag_spec_ld \
-hardcode_libdir_separator \
-exclude_expsyms \
-include_expsyms \
-file_list_spec \
-variables_saved_for_relink \
-libname_spec \
-library_names_spec \
-soname_spec \
-install_override_mode \
-finish_eval \
-old_striplib \
-striplib; do
- case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
- *[\\\\\\\`\\"\\\$]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
- ;;
- *)
- eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
- ;;
- esac
-done
-
-# Double-quote double-evaled strings.
-for var in reload_cmds \
-old_postinstall_cmds \
-old_postuninstall_cmds \
-old_archive_cmds \
-extract_expsyms_cmds \
-old_archive_from_new_cmds \
-old_archive_from_expsyms_cmds \
-archive_cmds \
-archive_expsym_cmds \
-module_cmds \
-module_expsym_cmds \
-export_symbols_cmds \
-prelink_cmds \
-postlink_cmds \
-postinstall_cmds \
-postuninstall_cmds \
-finish_cmds \
-sys_lib_search_path_spec \
-sys_lib_dlsearch_path_spec; do
- case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
- *[\\\\\\\`\\"\\\$]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
- ;;
- *)
- eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
- ;;
- esac
-done
-
-ac_aux_dir='$ac_aux_dir'
-xsi_shell='$xsi_shell'
-lt_shell_append='$lt_shell_append'
-
-# See if we are running on zsh, and set the options which allow our
-# commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
-fi
-
-
- PACKAGE='$PACKAGE'
- VERSION='$VERSION'
- TIMESTAMP='$TIMESTAMP'
- RM='$RM'
- ofile='$ofile'
-
-
-
-TARGETDIR="$TARGETDIR"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
- case $ac_config_target in
- "fficonfig.h") CONFIG_HEADERS="$CONFIG_HEADERS fficonfig.h" ;;
- "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
- "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
- "include") CONFIG_COMMANDS="$CONFIG_COMMANDS include" ;;
- "src") CONFIG_COMMANDS="$CONFIG_COMMANDS src" ;;
- "include/ffitarget.h") CONFIG_LINKS="$CONFIG_LINKS include/ffitarget.h:src/$TARGETDIR/ffitarget.h" ;;
- "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
- "include/ffi.h") CONFIG_FILES="$CONFIG_FILES include/ffi.h" ;;
- "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- "testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;;
- "man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;;
- "libffi.pc") CONFIG_FILES="$CONFIG_FILES libffi.pc" ;;
-
- *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
- esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used. Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
- test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
- test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
- test "${CONFIG_LINKS+set}" = set || CONFIG_LINKS=$config_links
- test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience. Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
- tmp= ac_tmp=
- trap 'exit_status=$?
- : "${ac_tmp:=$tmp}"
- { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
-' 0
- trap 'as_fn_exit 1' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
- tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
- test -d "$tmp"
-} ||
-{
- tmp=./conf$$-$RANDOM
- (umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-ac_tmp=$tmp
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
- eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
- ac_cs_awk_cr='\\r'
-else
- ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
-_ACEOF
-
-
-{
- echo "cat >conf$$subs.awk <<_ACEOF" &&
- echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
- echo "_ACEOF"
-} >conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
- . ./conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-
- ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
- if test $ac_delim_n = $ac_delim_num; then
- break
- elif $ac_last_try; then
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\)..*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\)..*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^""]/{
- N
- s/\n//
-}
-' >>$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
- for (key in S) S_is_set[key] = 1
- FS = ""
-
-}
-{
- line = $ 0
- nfields = split(line, field, "@")
- substed = 0
- len = length(field[1])
- for (i = 2; i < nfields; i++) {
- key = field[i]
- keylen = length(key)
- if (S_is_set[key]) {
- value = S[key]
- line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
- len += length(value) + length(field[++i])
- substed = 1
- } else
- len += 1 + keylen
- }
-
- print line
-}
-
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
- sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
- cat
-fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
- || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
-# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
-h
-s///
-s/^/:/
-s/[ ]*$/:/
-s/:\$(srcdir):/:/g
-s/:\${srcdir}:/:/g
-s/:@srcdir@:/:/g
-s/^:*//
-s/:*$//
-x
-s/\(=[ ]*\).*/\1/
-G
-s/\n//
-s/^[^=]*=[ ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
-
-# Set up the scripts for CONFIG_HEADERS section.
-# No need to generate them if there are no CONFIG_HEADERS.
-# This happens for instance with `./config.status Makefile'.
-if test -n "$CONFIG_HEADERS"; then
-cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
-BEGIN {
-_ACEOF
-
-# Transform confdefs.h into an awk script `defines.awk', embedded as
-# here-document in config.status, that substitutes the proper values into
-# config.h.in to produce config.h.
-
-# Create a delimiter string that does not exist in confdefs.h, to ease
-# handling of long lines.
-ac_delim='%!_!# '
-for ac_last_try in false false :; do
- ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
- if test -z "$ac_tt"; then
- break
- elif $ac_last_try; then
- as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-
-# For the awk script, D is an array of macro values keyed by name,
-# likewise P contains macro parameters if any. Preserve backslash
-# newline sequences.
-
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-sed -n '
-s/.\{148\}/&'"$ac_delim"'/g
-t rset
-:rset
-s/^[ ]*#[ ]*define[ ][ ]*/ /
-t def
-d
-:def
-s/\\$//
-t bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3"/p
-s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
-d
-:bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3\\\\\\n"\\/p
-t cont
-s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
-t cont
-d
-:cont
-n
-s/.\{148\}/&'"$ac_delim"'/g
-t clear
-:clear
-s/\\$//
-t bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/"/p
-d
-:bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
-b cont
-' <confdefs.h | sed '
-s/'"$ac_delim"'/"\\\
-"/g' >>$CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- for (key in D) D_is_set[key] = 1
- FS = ""
-}
-/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
- line = \$ 0
- split(line, arg, " ")
- if (arg[1] == "#") {
- defundef = arg[2]
- mac1 = arg[3]
- } else {
- defundef = substr(arg[1], 2)
- mac1 = arg[2]
- }
- split(mac1, mac2, "(") #)
- macro = mac2[1]
- prefix = substr(line, 1, index(line, defundef) - 1)
- if (D_is_set[macro]) {
- # Preserve the white space surrounding the "#".
- print prefix "define", macro P[macro] D[macro]
- next
- } else {
- # Replace #undef with comments. This is necessary, for example,
- # in the case of _POSIX_SOURCE, which is predefined and required
- # on some systems where configure will not decide to define it.
- if (defundef == "undef") {
- print "/*", prefix defundef, macro, "*/"
- next
- }
- }
-}
-{ print }
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
- as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
-fi # test -n "$CONFIG_HEADERS"
-
-
-eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :L $CONFIG_LINKS :C $CONFIG_COMMANDS"
-shift
-for ac_tag
-do
- case $ac_tag in
- :[FHLC]) ac_mode=$ac_tag; continue;;
- esac
- case $ac_mode$ac_tag in
- :[FHL]*:*);;
- :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
- :[FH]-) ac_tag=-:-;;
- :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
- esac
- ac_save_IFS=$IFS
- IFS=:
- set x $ac_tag
- IFS=$ac_save_IFS
- shift
- ac_file=$1
- shift
-
- case $ac_mode in
- :L) ac_source=$1;;
- :[FH])
- ac_file_inputs=
- for ac_f
- do
- case $ac_f in
- -) ac_f="$ac_tmp/stdin";;
- *) # Look for the file first in the build tree, then in the source tree
- # (if the path is not absolute). The absolute path cannot be DOS-style,
- # because $ac_f cannot contain `:'.
- test -f "$ac_f" ||
- case $ac_f in
- [\\/$]*) false;;
- *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
- esac ||
- as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
- esac
- case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
- as_fn_append ac_file_inputs " '$ac_f'"
- done
-
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- configure_input='Generated from '`
- $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
- `' by configure.'
- if test x"$ac_file" != x-; then
- configure_input="$ac_file. $configure_input"
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
- fi
- # Neutralize special characters interpreted by sed in replacement strings.
- case $configure_input in #(
- *\&* | *\|* | *\\* )
- ac_sed_conf_input=`$as_echo "$configure_input" |
- sed 's/[\\\\&|]/\\\\&/g'`;; #(
- *) ac_sed_conf_input=$configure_input;;
- esac
-
- case $ac_tag in
- *:-:* | *:-) cat >"$ac_tmp/stdin" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
- esac
- ;;
- esac
-
- ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- as_dir="$ac_dir"; as_fn_mkdir_p
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
- case $ac_mode in
- :F)
- #
- # CONFIG_FILE
- #
-
- case $INSTALL in
- [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
- *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
- esac
- ac_MKDIR_P=$MKDIR_P
- case $MKDIR_P in
- [\\/$]* | ?:[\\/]* ) ;;
- */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
- esac
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
- p
- q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- ac_datarootdir_hack='
- s&@datadir@&$datadir&g
- s&@docdir@&$docdir&g
- s&@infodir@&$infodir&g
- s&@localedir@&$localedir&g
- s&@mandir@&$mandir&g
- s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-s&@INSTALL@&$ac_INSTALL&;t t
-s&@MKDIR_P@&$ac_MKDIR_P&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
- >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
- { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
- { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
- "$ac_tmp/out"`; test -z "$ac_out"; } &&
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined" >&2;}
-
- rm -f "$ac_tmp/stdin"
- case $ac_file in
- -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
- *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
- esac \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- ;;
- :H)
- #
- # CONFIG_HEADER
- #
- if test x"$ac_file" != x-; then
- {
- $as_echo "/* $configure_input */" \
- && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
- } >"$ac_tmp/config.h" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
- else
- rm -f "$ac_file"
- mv "$ac_tmp/config.h" "$ac_file" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- fi
- else
- $as_echo "/* $configure_input */" \
- && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
- || as_fn_error $? "could not create -" "$LINENO" 5
- fi
-# Compute "$ac_file"'s index in $config_headers.
-_am_arg="$ac_file"
-_am_stamp_count=1
-for _am_header in $config_headers :; do
- case $_am_header in
- $_am_arg | $_am_arg:* )
- break ;;
- * )
- _am_stamp_count=`expr $_am_stamp_count + 1` ;;
- esac
-done
-echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
-$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$_am_arg" : 'X\(//\)[^/]' \| \
- X"$_am_arg" : 'X\(//\)$' \| \
- X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$_am_arg" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`/stamp-h$_am_stamp_count
- ;;
- :L)
- #
- # CONFIG_LINK
- #
-
- if test "$ac_source" = "$ac_file" && test "$srcdir" = '.'; then
- :
- else
- # Prefer the file from the source tree if names are identical.
- if test "$ac_source" = "$ac_file" || test ! -r "$ac_source"; then
- ac_source=$srcdir/$ac_source
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: linking $ac_source to $ac_file" >&5
-$as_echo "$as_me: linking $ac_source to $ac_file" >&6;}
-
- if test ! -r "$ac_source"; then
- as_fn_error $? "$ac_source: file not found" "$LINENO" 5
- fi
- rm -f "$ac_file"
-
- # Try a relative symlink, then a hard link, then a copy.
- case $ac_source in
- [\\/$]* | ?:[\\/]* ) ac_rel_source=$ac_source ;;
- *) ac_rel_source=$ac_top_build_prefix$ac_source ;;
- esac
- ln -s "$ac_rel_source" "$ac_file" 2>/dev/null ||
- ln "$ac_source" "$ac_file" 2>/dev/null ||
- cp -p "$ac_source" "$ac_file" ||
- as_fn_error $? "cannot link or copy $ac_source to $ac_file" "$LINENO" 5
- fi
- ;;
- :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-$as_echo "$as_me: executing $ac_file commands" >&6;}
- ;;
- esac
-
-
- case $ac_file$ac_mode in
- "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
- # Autoconf 2.62 quotes --file arguments for eval, but not when files
- # are listed without --file. Let's play safe and only enable the eval
- # if we detect the quoting.
- case $CONFIG_FILES in
- *\'*) eval set x "$CONFIG_FILES" ;;
- *) set x $CONFIG_FILES ;;
- esac
- shift
- for mf
- do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # Grep'ing the whole file is not good either: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
- dirpart=`$as_dirname -- "$mf" ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$mf" : 'X\(//\)[^/]' \| \
- X"$mf" : 'X\(//\)$' \| \
- X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$mf" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`$as_dirname -- "$file" ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$file" : 'X\(//\)[^/]' \| \
- X"$file" : 'X\(//\)$' \| \
- X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- as_dir=$dirpart/$fdir; as_fn_mkdir_p
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
- done
-}
- ;;
- "libtool":C)
-
- # See if we are running on zsh, and set the options which allow our
- # commands through without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
-
- cfgfile="${ofile}T"
- trap "$RM \"$cfgfile\"; exit 1" 1 2 15
- $RM "$cfgfile"
-
- cat <<_LT_EOF >> "$cfgfile"
-#! $SHELL
-
-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-# Inc.
-# Written by Gordon Matzigkeit, 1996
-#
-# This file is part of GNU Libtool.
-#
-# GNU Libtool is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
-#
-# GNU Libtool is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING. If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-
-# The names of the tagged configurations supported by this script.
-available_tags=""
-
-# ### BEGIN LIBTOOL CONFIG
-
-# Which release of libtool.m4 was used?
-macro_version=$macro_version
-macro_revision=$macro_revision
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# What type of objects to build.
-pic_mode=$pic_mode
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# An echo program that protects backslashes.
-ECHO=$lt_ECHO
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# A sed program that does not truncate output.
-SED=$lt_SED
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="\$SED -e 1s/^X//"
-
-# A grep program that handles long lines.
-GREP=$lt_GREP
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# A literal string matcher.
-FGREP=$lt_FGREP
-
-# A BSD- or MS-compatible name lister.
-NM=$lt_NM
-
-# Whether we need soft or hard links.
-LN_S=$lt_LN_S
-
-# What is the maximum length of a command?
-max_cmd_len=$max_cmd_len
-
-# Object file suffix (normally "o").
-objext=$ac_objext
-
-# Executable file suffix (normally "").
-exeext=$exeext
-
-# whether the shell understands "unset".
-lt_unset=$lt_unset
-
-# turn spaces into newlines.
-SP2NL=$lt_lt_SP2NL
-
-# turn newlines into spaces.
-NL2SP=$lt_lt_NL2SP
-
-# convert \$build file names to \$host format.
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-
-# convert \$build files to toolchain format.
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-
-# An object symbol dumper.
-OBJDUMP=$lt_OBJDUMP
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method = "file_magic".
-file_magic_cmd=$lt_file_magic_cmd
-
-# How to find potential files when deplibs_check_method = "file_magic".
-file_magic_glob=$lt_file_magic_glob
-
-# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
-want_nocaseglob=$lt_want_nocaseglob
-
-# DLL creation program.
-DLLTOOL=$lt_DLLTOOL
-
-# Command to associate shared and link libraries.
-sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
-
-# The archiver.
-AR=$lt_AR
-
-# Flags to create an archive.
-AR_FLAGS=$lt_AR_FLAGS
-
-# How to feed a file listing to the archiver.
-archiver_list_spec=$lt_archiver_list_spec
-
-# A symbol stripping program.
-STRIP=$lt_STRIP
-
-# Commands used to install an old-style archive.
-RANLIB=$lt_RANLIB
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Whether to use a lock for old archive extraction.
-lock_old_archive_extraction=$lock_old_archive_extraction
-
-# A C compiler.
-LTCC=$lt_CC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_CFLAGS
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration.
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair.
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# Transform the output of nm in a C name address pair when lib prefix is needed.
-global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
-
-# Specify filename containing input files for \$NM.
-nm_file_list_spec=$lt_nm_file_list_spec
-
-# The root where to search for dependent libraries,and in which our libraries should be installed.
-lt_sysroot=$lt_sysroot
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# Used to examine libraries when file_magic_cmd begins with "file".
-MAGIC_CMD=$MAGIC_CMD
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Manifest tool.
-MANIFEST_TOOL=$lt_MANIFEST_TOOL
-
-# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
-DSYMUTIL=$lt_DSYMUTIL
-
-# Tool to change global to local symbols on Mac OS X.
-NMEDIT=$lt_NMEDIT
-
-# Tool to manipulate fat objects and archives on Mac OS X.
-LIPO=$lt_LIPO
-
-# ldd/readelf like tool for Mach-O binaries on Mac OS X.
-OTOOL=$lt_OTOOL
-
-# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
-OTOOL64=$lt_OTOOL64
-
-# Old archive suffix (normally "a").
-libext=$libext
-
-# Shared library suffix (normally ".so").
-shrext_cmds=$lt_shrext_cmds
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at link time.
-variables_saved_for_relink=$lt_variables_saved_for_relink
-
-# Do we need the "lib" prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Library versioning type.
-version_type=$version_type
-
-# Shared library runtime path variable.
-runpath_var=$runpath_var
-
-# Shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Permission mode override for installation of shared libraries.
-install_override_mode=$lt_install_override_mode
-
-# Command to use after installation of a shared archive.
-postinstall_cmds=$lt_postinstall_cmds
-
-# Command to use after uninstallation of a shared archive.
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# As "finish_cmds", except a single script fragment to be evaled but
-# not shown.
-finish_eval=$lt_finish_eval
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Compile-time system search path for libraries.
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries.
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-
-# The linker used to build libraries.
-LD=$lt_LD
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# Commands used to build an old-style archive.
-old_archive_cmds=$lt_old_archive_cmds
-
-# A language specific compiler.
-CC=$lt_compiler
-
-# Is the compiler the GNU compiler?
-with_gcc=$GCC
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc
-
-# Whether or not to disallow shared libs when runtime libs are static.
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec
-
-# Whether the compiler copes with passing no objects directly.
-compiler_needs_object=$lt_compiler_needs_object
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
-
-# Commands used to build a shared archive.
-archive_cmds=$lt_archive_cmds
-archive_expsym_cmds=$lt_archive_expsym_cmds
-
-# Commands used to build a loadable module if different from building
-# a shared archive.
-module_cmds=$lt_module_cmds
-module_expsym_cmds=$lt_module_expsym_cmds
-
-# Whether we are building with GNU ld or not.
-with_gnu_ld=$lt_with_gnu_ld
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag
-
-# Flag that enforces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
-
-# If ld is used when linking, flag to hardcode \$libdir into a binary
-# during linking. This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
-
-# Whether we need a single "-rpath" flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary.
-hardcode_direct=$hardcode_direct
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary and the resulting library dependency is
-# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
-# library is relocated.
-hardcode_direct_absolute=$hardcode_direct_absolute
-
-# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
-# into the resulting binary.
-hardcode_minus_L=$hardcode_minus_L
-
-# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
-# into the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var
-
-# Set to "yes" if building a shared library automatically hardcodes DIR
-# into the library and all subsequent libraries and executables linked
-# against it.
-hardcode_automatic=$hardcode_automatic
-
-# Set to yes if linker adds runtime paths of dependent libraries
-# to runtime path list.
-inherit_rpath=$inherit_rpath
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs
-
-# Set to "yes" if exported symbols are required.
-always_export_symbols=$always_export_symbols
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms
-
-# Commands necessary for linking programs (against libraries) with templates.
-prelink_cmds=$lt_prelink_cmds
-
-# Commands necessary for finishing linking programs.
-postlink_cmds=$lt_postlink_cmds
-
-# Specify filename containing input files.
-file_list_spec=$lt_file_list_spec
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action
-
-# ### END LIBTOOL CONFIG
-
-_LT_EOF
-
- case $host_os in
- aix3*)
- cat <<\_LT_EOF >> "$cfgfile"
-# AIX sometimes has problems with the GCC collect2 program. For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
-fi
-_LT_EOF
- ;;
- esac
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-
- # We use sed instead of cat because bash on DJGPP gets confused if
- # if finds mixed CR/LF and LF-only lines. Since sed operates in
- # text mode, it properly converts lines to CR/LF. This bash problem
- # is reportedly fixed, but why not run on old versions too?
- sed '$q' "$ltmain" >> "$cfgfile" \
- || (rm -f "$cfgfile"; exit 1)
-
- if test x"$xsi_shell" = xyes; then
- sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
-func_dirname ()\
-{\
-\ case ${1} in\
-\ */*) func_dirname_result="${1%/*}${2}" ;;\
-\ * ) func_dirname_result="${3}" ;;\
-\ esac\
-} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_basename ()$/,/^} # func_basename /c\
-func_basename ()\
-{\
-\ func_basename_result="${1##*/}"\
-} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
-func_dirname_and_basename ()\
-{\
-\ case ${1} in\
-\ */*) func_dirname_result="${1%/*}${2}" ;;\
-\ * ) func_dirname_result="${3}" ;;\
-\ esac\
-\ func_basename_result="${1##*/}"\
-} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
-func_stripname ()\
-{\
-\ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
-\ # positional parameters, so assign one to ordinary parameter first.\
-\ func_stripname_result=${3}\
-\ func_stripname_result=${func_stripname_result#"${1}"}\
-\ func_stripname_result=${func_stripname_result%"${2}"}\
-} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
-func_split_long_opt ()\
-{\
-\ func_split_long_opt_name=${1%%=*}\
-\ func_split_long_opt_arg=${1#*=}\
-} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
-func_split_short_opt ()\
-{\
-\ func_split_short_opt_arg=${1#??}\
-\ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
-} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
-func_lo2o ()\
-{\
-\ case ${1} in\
-\ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
-\ *) func_lo2o_result=${1} ;;\
-\ esac\
-} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_xform ()$/,/^} # func_xform /c\
-func_xform ()\
-{\
- func_xform_result=${1%.*}.lo\
-} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_arith ()$/,/^} # func_arith /c\
-func_arith ()\
-{\
- func_arith_result=$(( $* ))\
-} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_len ()$/,/^} # func_len /c\
-func_len ()\
-{\
- func_len_result=${#1}\
-} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-fi
-
-if test x"$lt_shell_append" = xyes; then
- sed -e '/^func_append ()$/,/^} # func_append /c\
-func_append ()\
-{\
- eval "${1}+=\\${2}"\
-} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
-func_append_quoted ()\
-{\
-\ func_quote_for_eval "${2}"\
-\ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
-} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- # Save a `func_append' function call where possible by direct use of '+='
- sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
- test 0 -eq $? || _lt_function_replace_fail=:
-else
- # Save a `func_append' function call even when '+=' is not available
- sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
- test 0 -eq $? || _lt_function_replace_fail=:
-fi
-
-if test x"$_lt_function_replace_fail" = x":"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
-$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
-fi
-
-
- mv -f "$cfgfile" "$ofile" ||
- (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
- chmod +x "$ofile"
-
- ;;
- "include":C) test -d include || mkdir include ;;
- "src":C)
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
- ;;
-
- esac
-done # for ac_tag
-
-
-as_fn_exit 0
-_ACEOF
-ac_clean_files=$ac_clean_files_save
-
-test $ac_write_fail = 0 ||
- as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded. So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status. When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
- ac_cs_success=:
- ac_config_status_args=
- test "$silent" = yes &&
- ac_config_status_args="$ac_config_status_args --quiet"
- exec 5>/dev/null
- $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
- exec 5>>config.log
- # Use ||, not &&, to avoid exiting from the if with $? = 1, which
- # would make configure fail if this is the last instruction.
- $ac_cs_success || as_fn_exit 1
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
-
diff --git a/.pc/x86_pcrel_test/configure.ac b/.pc/x86_pcrel_test/configure.ac
deleted file mode 100644
index 66e61ff..0000000
--- a/.pc/x86_pcrel_test/configure.ac
+++ /dev/null
@@ -1,479 +0,0 @@
-dnl Process this with autoconf to create configure
-
-AC_PREREQ(2.63)
-
-AC_INIT([libffi], [3.0.11-rc2], [http://github.com/atgreen/libffi/issues])
-AC_CONFIG_HEADERS([fficonfig.h])
-
-AC_CANONICAL_SYSTEM
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-AM_INIT_AUTOMAKE
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-# Also save and restore CFLAGS, since AC_PROG_CC will come up with
-# defaults of its own if none are provided.
-
-m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS])
-m4_define([_AC_ARG_VAR_PRECIOUS],[])
-save_CFLAGS=$CFLAGS
-AC_PROG_CC
-CFLAGS=$save_CFLAGS
-m4_undefine([_AC_ARG_VAR_PRECIOUS])
-m4_rename([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
-
-AC_SUBST(CFLAGS)
-
-AM_PROG_AS
-AM_PROG_CC_C_O
-AC_PROG_LIBTOOL
-AC_CONFIG_MACRO_DIR([m4])
-
-AM_MAINTAINER_MODE
-
-AC_CHECK_HEADERS(sys/mman.h)
-AC_CHECK_FUNCS(mmap)
-AC_FUNC_MMAP_BLACKLIST
-
-dnl The -no-testsuite modules omit the test subdir.
-AM_CONDITIONAL(TESTSUBDIR, test -d $srcdir/testsuite)
-
-TARGETDIR="unknown"
-case "$host" in
- alpha*-*-*)
- TARGET=ALPHA; TARGETDIR=alpha;
- # Support 128-bit long double, changeable via command-line switch.
- HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
- ;;
-
- arm*-*-*)
- TARGET=ARM; TARGETDIR=arm
- ;;
-
- amd64-*-freebsd* | amd64-*-openbsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- amd64-*-freebsd*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- avr32*-*-*)
- TARGET=AVR32; TARGETDIR=avr32
- ;;
-
- cris-*-*)
- TARGET=LIBFFI_CRIS; TARGETDIR=cris
- ;;
-
- frv-*-*)
- TARGET=FRV; TARGETDIR=frv
- ;;
-
- hppa*-*-linux* | parisc*-*-linux*)
- TARGET=PA_LINUX; TARGETDIR=pa
- ;;
- hppa*64-*-hpux*)
- TARGET=PA64_HPUX; TARGETDIR=pa
- ;;
- hppa*-*-hpux*)
- TARGET=PA_HPUX; TARGETDIR=pa
- ;;
-
- i?86-*-freebsd* | i?86-*-openbsd*)
- TARGET=X86_FREEBSD; TARGETDIR=x86
- ;;
- i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2*)
- TARGET=X86_WIN32; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
- i?86-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
- i?86-*-solaris2.1[[0-9]]*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
- i?86-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-
- ia64*-*-*)
- TARGET=IA64; TARGETDIR=ia64
- ;;
-
- m32r*-*-*)
- TARGET=M32R; TARGETDIR=m32r
- ;;
-
- m68k-*-*)
- TARGET=M68K; TARGETDIR=m68k
- ;;
-
- mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
- TARGET=MIPS; TARGETDIR=mips
- ;;
- mips*-*-linux*)
- # Support 128-bit long double for NewABI.
- HAVE_LONG_DOUBLE='defined(__mips64)'
- TARGET=MIPS; TARGETDIR=mips
- ;;
-
- moxie-*-*)
- TARGET=MOXIE; TARGETDIR=moxie
- ;;
-
- powerpc*-*-linux* | powerpc-*-sysv*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-beos*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc-*-darwin*)
- TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
- ;;
- powerpc-*-aix* | rs6000-*-aix*)
- TARGET=POWERPC_AIX; TARGETDIR=powerpc
- ;;
- powerpc-*-freebsd*)
- TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
- ;;
- powerpc64-*-freebsd*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
- powerpc*-*-rtems*)
- TARGET=POWERPC; TARGETDIR=powerpc
- ;;
-
- s390-*-* | s390x-*-*)
- TARGET=S390; TARGETDIR=s390
- ;;
-
- sh-*-* | sh[[34]]*-*-*)
- TARGET=SH; TARGETDIR=sh
- ;;
- sh64-*-* | sh5*-*-*)
- TARGET=SH64; TARGETDIR=sh64
- ;;
-
- sparc*-*-*)
- TARGET=SPARC; TARGETDIR=sparc
- ;;
-
- x86_64-*-darwin*)
- TARGET=X86_DARWIN; TARGETDIR=x86
- ;;
-
- x86_64-*-cygwin* | x86_64-*-mingw*)
- TARGET=X86_WIN64; TARGETDIR=x86
- # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
- # We must also check with_cross_host to decide if this is a native
- # or cross-build and select where to install dlls appropriately.
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
- else
- AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
- fi
- ;;
-
- x86_64-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-esac
-
-AC_SUBST(AM_RUNTESTFLAGS)
-AC_SUBST(AM_LTLDFLAGS)
-
-if test $TARGETDIR = unknown; then
- AC_MSG_ERROR(["libffi has not been ported to $host."])
-fi
-
-AM_CONDITIONAL(MIPS, test x$TARGET = xMIPS)
-AM_CONDITIONAL(SPARC, test x$TARGET = xSPARC)
-AM_CONDITIONAL(X86, test x$TARGET = xX86)
-AM_CONDITIONAL(X86_FREEBSD, test x$TARGET = xX86_FREEBSD)
-AM_CONDITIONAL(X86_WIN32, test x$TARGET = xX86_WIN32)
-AM_CONDITIONAL(X86_WIN64, test x$TARGET = xX86_WIN64)
-AM_CONDITIONAL(X86_DARWIN, test x$TARGET = xX86_DARWIN)
-AM_CONDITIONAL(ALPHA, test x$TARGET = xALPHA)
-AM_CONDITIONAL(IA64, test x$TARGET = xIA64)
-AM_CONDITIONAL(M32R, test x$TARGET = xM32R)
-AM_CONDITIONAL(M68K, test x$TARGET = xM68K)
-AM_CONDITIONAL(MOXIE, test x$TARGET = xMOXIE)
-AM_CONDITIONAL(POWERPC, test x$TARGET = xPOWERPC)
-AM_CONDITIONAL(POWERPC_AIX, test x$TARGET = xPOWERPC_AIX)
-AM_CONDITIONAL(POWERPC_DARWIN, test x$TARGET = xPOWERPC_DARWIN)
-AM_CONDITIONAL(POWERPC_FREEBSD, test x$TARGET = xPOWERPC_FREEBSD)
-AM_CONDITIONAL(ARM, test x$TARGET = xARM)
-AM_CONDITIONAL(AVR32, test x$TARGET = xAVR32)
-AM_CONDITIONAL(LIBFFI_CRIS, test x$TARGET = xLIBFFI_CRIS)
-AM_CONDITIONAL(FRV, test x$TARGET = xFRV)
-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)
-AM_CONDITIONAL(PA_LINUX, test x$TARGET = xPA_LINUX)
-AM_CONDITIONAL(PA_HPUX, test x$TARGET = xPA_HPUX)
-AM_CONDITIONAL(PA64_HPUX, test x$TARGET = xPA64_HPUX)
-
-AC_HEADER_STDC
-AC_CHECK_FUNCS(memcpy)
-AC_FUNC_ALLOCA
-
-AC_CHECK_SIZEOF(double)
-AC_CHECK_SIZEOF(long double)
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
- HAVE_LONG_DOUBLE=0
- if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
- if test $ac_cv_sizeof_long_double != 0; then
- HAVE_LONG_DOUBLE=1
- AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the long double type and it is bigger than a double])
- fi
- fi
-fi
-AC_SUBST(HAVE_LONG_DOUBLE)
-
-AC_C_BIGENDIAN
-
-GCC_AS_CFI_PSEUDO_OP
-
-if test x$TARGET = xSPARC; then
- AC_CACHE_CHECK([assembler and linker support unaligned pc related relocs],
- libffi_cv_as_sparc_ua_pcrel, [
- save_CFLAGS="$CFLAGS"
- save_LDFLAGS="$LDFLAGS"
- CFLAGS="$CFLAGS -fpic"
- LDFLAGS="$LDFLAGS -shared"
- AC_TRY_LINK([asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");],,
- [libffi_cv_as_sparc_ua_pcrel=yes],
- [libffi_cv_as_sparc_ua_pcrel=no])
- CFLAGS="$save_CFLAGS"
- LDFLAGS="$save_LDFLAGS"])
- if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
- AC_DEFINE(HAVE_AS_SPARC_UA_PCREL, 1,
- [Define if your assembler and linker support unaligned PC relative relocs.])
- fi
-
- AC_CACHE_CHECK([assembler .register pseudo-op support],
- libffi_cv_as_register_pseudo_op, [
- libffi_cv_as_register_pseudo_op=unknown
- # Check if we have .register
- AC_TRY_COMPILE([asm (".register %g2, #scratch");],,
- [libffi_cv_as_register_pseudo_op=yes],
- [libffi_cv_as_register_pseudo_op=no])
- ])
- if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
- AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP, 1,
- [Define if your assembler supports .register.])
- fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
- AC_CACHE_CHECK([assembler supports pc related relocs],
- libffi_cv_as_x86_pcrel, [
- libffi_cv_as_x86_pcrel=yes
- echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
- if $CC $CFLAGS -c conftest.s 2>&1 | $EGREP -i 'illegal|warning' > /dev/null; then
- libffi_cv_as_x86_pcrel=no
- fi
- ])
- if test "x$libffi_cv_as_x86_pcrel" = xyes; then
- AC_DEFINE(HAVE_AS_X86_PCREL, 1,
- [Define if your assembler supports PC relative relocs.])
- fi
-
- AC_CACHE_CHECK([assembler .ascii pseudo-op support],
- libffi_cv_as_ascii_pseudo_op, [
- libffi_cv_as_ascii_pseudo_op=unknown
- # Check if we have .ascii
- AC_TRY_COMPILE([asm (".ascii \\"string\\"");],,
- [libffi_cv_as_ascii_pseudo_op=yes],
- [libffi_cv_as_ascii_pseudo_op=no])
- ])
- if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
- AC_DEFINE(HAVE_AS_ASCII_PSEUDO_OP, 1,
- [Define if your assembler supports .ascii.])
- fi
-
- AC_CACHE_CHECK([assembler .string pseudo-op support],
- libffi_cv_as_string_pseudo_op, [
- libffi_cv_as_string_pseudo_op=unknown
- # Check if we have .string
- AC_TRY_COMPILE([asm (".string \\"string\\"");],,
- [libffi_cv_as_string_pseudo_op=yes],
- [libffi_cv_as_string_pseudo_op=no])
- ])
- if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
- AC_DEFINE(HAVE_AS_STRING_PSEUDO_OP, 1,
- [Define if your assembler supports .string.])
- fi
-fi
-
-if test x$TARGET = xX86_WIN64; then
- LT_SYS_SYMBOL_USCORE
- if test "x$sys_symbol_underscore" = xyes; then
- AC_DEFINE(SYMBOL_UNDERSCORE, 1, [Define if symbols are underscored.])
- fi
-fi
-
-case "$target" in
- *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
- AC_DEFINE(FFI_MMAP_EXEC_WRIT, 1,
- [Cannot use malloc on this target, so, we revert to
- alternative means])
- ;;
-esac
-
-if test x$TARGET = xX86_64; then
- AC_CACHE_CHECK([assembler supports unwind section type],
- libffi_cv_as_x86_64_unwind_section_type, [
- libffi_cv_as_x86_64_unwind_section_type=yes
- echo '.section .eh_frame,"a",@unwind' > conftest.s
- if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
- libffi_cv_as_x86_64_unwind_section_type=no
- fi
- ])
- if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
- AC_DEFINE(HAVE_AS_X86_64_UNWIND_SECTION_TYPE, 1,
- [Define if your assembler supports unwind section type.])
- fi
-fi
-
-AC_CACHE_CHECK([whether .eh_frame section should be read-only],
- libffi_cv_ro_eh_frame, [
- libffi_cv_ro_eh_frame=no
- echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
- if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
- if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- elif grep '.section.*eh_frame.*#alloc' conftest.c \
- | grep -v '#write' > /dev/null; then
- libffi_cv_ro_eh_frame=yes
- fi
- fi
- rm -f conftest.*
- ])
-if test "x$libffi_cv_ro_eh_frame" = xyes; then
- AC_DEFINE(HAVE_RO_EH_FRAME, 1,
- [Define if .eh_frame sections should be read-only.])
- AC_DEFINE(EH_FRAME_FLAGS, "a",
- [Define to the flags needed for the .section .eh_frame directive.])
-else
- AC_DEFINE(EH_FRAME_FLAGS, "aw",
- [Define to the flags needed for the .section .eh_frame directive.])
-fi
-
-AC_CACHE_CHECK([for __attribute__((visibility("hidden")))],
- libffi_cv_hidden_visibility_attribute, [
- echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1; }' > conftest.c
- libffi_cv_hidden_visibility_attribute=no
- if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
- if grep '\.hidden.*foo' conftest.s >/dev/null; then
- libffi_cv_hidden_visibility_attribute=yes
- fi
- fi
- rm -f conftest.*
- ])
-if test $libffi_cv_hidden_visibility_attribute = yes; then
- AC_DEFINE(HAVE_HIDDEN_VISIBILITY_ATTRIBUTE, 1,
- [Define if __attribute__((visibility("hidden"))) is supported.])
-fi
-
-AH_BOTTOM([
-#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
-])
-
-AC_SUBST(TARGET)
-AC_SUBST(TARGETDIR)
-
-AC_SUBST(SHELL)
-
-AC_ARG_ENABLE(debug,
-[ --enable-debug debugging mode],
- if test "$enable_debug" = "yes"; then
- AC_DEFINE(FFI_DEBUG, 1, [Define this if you want extra debugging.])
- fi)
-AM_CONDITIONAL(FFI_DEBUG, test "$enable_debug" = "yes")
-
-AC_ARG_ENABLE(structs,
-[ --disable-structs omit code for struct support],
- if test "$enable_structs" = "no"; then
- AC_DEFINE(FFI_NO_STRUCTS, 1, [Define this is you do not want support for aggregate types.])
- fi)
-
-AC_ARG_ENABLE(raw-api,
-[ --disable-raw-api make the raw api unavailable],
- if test "$enable_raw_api" = "no"; then
- AC_DEFINE(FFI_NO_RAW_API, 1, [Define this is you do not want support for the raw API.])
- fi)
-
-AC_ARG_ENABLE(purify-safety,
-[ --enable-purify-safety purify-safe mode],
- if test "$enable_purify_safety" = "yes"; then
- AC_DEFINE(USING_PURIFY, 1, [Define this if you are using Purify and want to suppress spurious messages.])
- fi)
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- toolexecdir='$(exec_prefix)/$(target_alias)'
- toolexeclibdir='$(toolexecdir)/lib'
- else
- toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
- toolexeclibdir='$(libdir)'
- fi
- multi_os_directory=`$CC -print-multi-os-directory`
- case $multi_os_directory in
- .) ;; # Avoid trailing /.
- *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
- esac
- AC_SUBST(toolexecdir)
- AC_SUBST(toolexeclibdir)
-fi
-
-if test "${multilib}" = "yes"; then
- multilib_arg="--enable-multilib"
-else
- multilib_arg=
-fi
-
-AC_CONFIG_COMMANDS(include, [test -d include || mkdir include])
-AC_CONFIG_COMMANDS(src, [
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
-], [TARGETDIR="$TARGETDIR"])
-
-AC_CONFIG_LINKS(include/ffitarget.h:src/$TARGETDIR/ffitarget.h)
-
-AC_CONFIG_FILES(include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc)
-
-AC_OUTPUT
diff --git a/ChangeLog b/ChangeLog
index bb5bc16..216a142 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2012-03-13 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * src/sh/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
+ just return FFI_BAD_ABI when things are wrong.
+ * src/sh64/ffi.c (ffi_prep_closure_loc): Ditto.
+
+2012-03-09 David Edelsohn <dje.gcc@gmail.com>
+
+ * src/powerpc/aix_closure.S (ffi_closure_ASM): Adjust for Darwin64
+ change to return value of ffi_closure_helper_DARWIN and load type
+ from return type.
+
2012-03-03 H.J. Lu <hongjiu.lu@intel.com>
* src/x86/ffi64.c (ffi_call): Cast the return value to unsigned
diff --git a/LICENSE b/LICENSE
index 7d12666..aa60342 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-libffi - Copyright (c) 1996-2011 Anthony Green, Red Hat, Inc and others.
+libffi - Copyright (c) 1996-2012 Anthony Green, Red Hat, Inc and others.
See source files for details.
Permission is hereby granted, free of charge, to any person obtaining
diff --git a/Makefile.in b/Makefile.in
index 799a0e2..6bf6cc5 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -403,6 +403,7 @@ psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
+sys_symbol_underscore = @sys_symbol_underscore@
sysconfdir = @sysconfdir@
target = @target@
target_alias = @target_alias@
diff --git a/config.guess b/config.guess
index dc84c68..b02565c 100755
--- a/config.guess
+++ b/config.guess
@@ -1,10 +1,10 @@
#! /bin/sh
# Attempt to guess a canonical system name.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
-# Free Software Foundation, Inc.
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+# 2011 Free Software Foundation, Inc.
-timestamp='2009-11-20'
+timestamp='2011-06-03'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -56,8 +56,9 @@ version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
+Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -180,7 +181,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
fi
;;
*)
- os=netbsd
+ os=netbsd
;;
esac
# The OS release
@@ -223,7 +224,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
;;
*5.*)
- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
;;
esac
# According to Compaq, /usr/sbin/psrinfo has been available on
@@ -269,7 +270,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# A Xn.n version is an unreleased experimental baselevel.
# 1.2 uses "1.2" for uname -r.
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- exit ;;
+ # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
+ exitcode=$?
+ trap '' 0
+ exit $exitcode ;;
Alpha\ *:Windows_NT*:*)
# How do we know it's Interix rather than the generic POSIX subsystem?
# Should we change UNAME_MACHINE based on the output of uname instead
@@ -295,7 +299,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
echo s390-ibm-zvmoe
exit ;;
*:OS400:*:*)
- echo powerpc-ibm-os400
+ echo powerpc-ibm-os400
exit ;;
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
echo arm-acorn-riscix${UNAME_RELEASE}
@@ -394,23 +398,23 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# MiNT. But MiNT is downward compatible to TOS, so this should
# be no problem.
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
+ echo m68k-atari-mint${UNAME_RELEASE}
exit ;;
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
- exit ;;
+ exit ;;
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
+ echo m68k-atari-mint${UNAME_RELEASE}
exit ;;
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
- echo m68k-milan-mint${UNAME_RELEASE}
- exit ;;
+ echo m68k-milan-mint${UNAME_RELEASE}
+ exit ;;
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
- echo m68k-hades-mint${UNAME_RELEASE}
- exit ;;
+ echo m68k-hades-mint${UNAME_RELEASE}
+ exit ;;
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
- echo m68k-unknown-mint${UNAME_RELEASE}
- exit ;;
+ echo m68k-unknown-mint${UNAME_RELEASE}
+ exit ;;
m68k:machten:*:*)
echo m68k-apple-machten${UNAME_RELEASE}
exit ;;
@@ -480,8 +484,8 @@ EOF
echo m88k-motorola-sysv3
exit ;;
AViiON:dgux:*:*)
- # DG/UX returns AViiON for all architectures
- UNAME_PROCESSOR=`/usr/bin/uname -p`
+ # DG/UX returns AViiON for all architectures
+ UNAME_PROCESSOR=`/usr/bin/uname -p`
if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
then
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
@@ -494,7 +498,7 @@ EOF
else
echo i586-dg-dgux${UNAME_RELEASE}
fi
- exit ;;
+ exit ;;
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
echo m88k-dolphin-sysv3
exit ;;
@@ -551,7 +555,7 @@ EOF
echo rs6000-ibm-aix3.2
fi
exit ;;
- *:AIX:*:[456])
+ *:AIX:*:[4567])
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
IBM_ARCH=rs6000
@@ -594,52 +598,52 @@ EOF
9000/[678][0-9][0-9])
if [ -x /usr/bin/getconf ]; then
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
- sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
- case "${sc_cpu_version}" in
- 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
- 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
- 532) # CPU_PA_RISC2_0
- case "${sc_kernel_bits}" in
- 32) HP_ARCH="hppa2.0n" ;;
- 64) HP_ARCH="hppa2.0w" ;;
+ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+ case "${sc_cpu_version}" in
+ 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+ 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+ 532) # CPU_PA_RISC2_0
+ case "${sc_kernel_bits}" in
+ 32) HP_ARCH="hppa2.0n" ;;
+ 64) HP_ARCH="hppa2.0w" ;;
'') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
- esac ;;
- esac
+ esac ;;
+ esac
fi
if [ "${HP_ARCH}" = "" ]; then
eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
+ sed 's/^ //' << EOF >$dummy.c
- #define _HPUX_SOURCE
- #include <stdlib.h>
- #include <unistd.h>
+ #define _HPUX_SOURCE
+ #include <stdlib.h>
+ #include <unistd.h>
- int main ()
- {
- #if defined(_SC_KERNEL_BITS)
- long bits = sysconf(_SC_KERNEL_BITS);
- #endif
- long cpu = sysconf (_SC_CPU_VERSION);
+ int main ()
+ {
+ #if defined(_SC_KERNEL_BITS)
+ long bits = sysconf(_SC_KERNEL_BITS);
+ #endif
+ long cpu = sysconf (_SC_CPU_VERSION);
- switch (cpu)
- {
- case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
- case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
- case CPU_PA_RISC2_0:
- #if defined(_SC_KERNEL_BITS)
- switch (bits)
- {
- case 64: puts ("hppa2.0w"); break;
- case 32: puts ("hppa2.0n"); break;
- default: puts ("hppa2.0"); break;
- } break;
- #else /* !defined(_SC_KERNEL_BITS) */
- puts ("hppa2.0"); break;
- #endif
- default: puts ("hppa1.0"); break;
- }
- exit (0);
- }
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+ case CPU_PA_RISC2_0:
+ #if defined(_SC_KERNEL_BITS)
+ switch (bits)
+ {
+ case 64: puts ("hppa2.0w"); break;
+ case 32: puts ("hppa2.0n"); break;
+ default: puts ("hppa2.0"); break;
+ } break;
+ #else /* !defined(_SC_KERNEL_BITS) */
+ puts ("hppa2.0"); break;
+ #endif
+ default: puts ("hppa1.0"); break;
+ }
+ exit (0);
+ }
EOF
(CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
test -z "$HP_ARCH" && HP_ARCH=hppa
@@ -730,22 +734,22 @@ EOF
exit ;;
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
echo c1-convex-bsd
- exit ;;
+ exit ;;
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
if getsysinfo -f scalar_acc
then echo c32-convex-bsd
else echo c2-convex-bsd
fi
- exit ;;
+ exit ;;
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
echo c34-convex-bsd
- exit ;;
+ exit ;;
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
echo c38-convex-bsd
- exit ;;
+ exit ;;
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
echo c4-convex-bsd
- exit ;;
+ exit ;;
CRAY*Y-MP:*:*:*)
echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit ;;
@@ -769,14 +773,14 @@ EOF
exit ;;
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
- echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
- exit ;;
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit ;;
5000:UNIX_System_V:4.*:*)
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
- echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit ;;
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
@@ -804,14 +808,14 @@ EOF
echo ${UNAME_MACHINE}-pc-mingw32
exit ;;
i*:windows32*:*)
- # uname -m includes "-pc" on this system.
- echo ${UNAME_MACHINE}-mingw32
+ # uname -m includes "-pc" on this system.
+ echo ${UNAME_MACHINE}-mingw32
exit ;;
i*:PW*:*)
echo ${UNAME_MACHINE}-pc-pw32
exit ;;
*:Interix*:*)
- case ${UNAME_MACHINE} in
+ case ${UNAME_MACHINE} in
x86)
echo i586-pc-interix${UNAME_RELEASE}
exit ;;
@@ -866,7 +870,7 @@ EOF
EV6) UNAME_MACHINE=alphaev6 ;;
EV67) UNAME_MACHINE=alphaev67 ;;
EV68*) UNAME_MACHINE=alphaev68 ;;
- esac
+ esac
objdump --private-headers /bin/sh | grep -q ld.so.1
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
@@ -878,7 +882,13 @@ EOF
then
echo ${UNAME_MACHINE}-unknown-linux-gnu
else
- echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ARM_PCS_VFP
+ then
+ echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+ else
+ echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
+ fi
fi
exit ;;
avr32*:Linux:*:*)
@@ -891,7 +901,7 @@ EOF
echo crisv32-axis-linux-gnu
exit ;;
frv:Linux:*:*)
- echo frv-unknown-linux-gnu
+ echo frv-unknown-linux-gnu
exit ;;
i*86:Linux:*:*)
LIBC=gnu
@@ -959,7 +969,7 @@ EOF
echo ${UNAME_MACHINE}-ibm-linux
exit ;;
sh64*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
sh*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
@@ -967,6 +977,9 @@ EOF
sparc:Linux:*:* | sparc64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
+ tile*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
vax:Linux:*:*)
echo ${UNAME_MACHINE}-dec-linux-gnu
exit ;;
@@ -974,7 +987,7 @@ EOF
echo x86_64-unknown-linux-gnu
exit ;;
xtensa*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
i*86:DYNIX/ptx:4*:*)
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
@@ -983,11 +996,11 @@ EOF
echo i386-sequent-sysv4
exit ;;
i*86:UNIX_SV:4.2MP:2.*)
- # Unixware is an offshoot of SVR4, but it has its own version
- # number series starting with 2...
- # I am not positive that other SVR4 systems won't match this,
+ # Unixware is an offshoot of SVR4, but it has its own version
+ # number series starting with 2...
+ # I am not positive that other SVR4 systems won't match this,
# I just have to hope. -- rms.
- # Use sysv4.2uw... so that sysv4* matches it.
+ # Use sysv4.2uw... so that sysv4* matches it.
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
exit ;;
i*86:OS/2:*:*)
@@ -1019,7 +1032,7 @@ EOF
fi
exit ;;
i*86:*:5:[678]*)
- # UnixWare 7.x, OpenUNIX and OpenServer 6.
+ # UnixWare 7.x, OpenUNIX and OpenServer 6.
case `/bin/uname -X | grep "^Machine"` in
*486*) UNAME_MACHINE=i486 ;;
*Pentium) UNAME_MACHINE=i586 ;;
@@ -1047,13 +1060,13 @@ EOF
exit ;;
pc:*:*:*)
# Left here for compatibility:
- # uname -m prints for DJGPP always 'pc', but it prints nothing about
- # the processor, so we play safe by assuming i586.
+ # uname -m prints for DJGPP always 'pc', but it prints nothing about
+ # the processor, so we play safe by assuming i586.
# Note: whatever this is, it MUST be the same as what config.sub
# prints for the "djgpp" host, or else GDB configury will decide that
# this is a cross-build.
echo i586-pc-msdosdjgpp
- exit ;;
+ exit ;;
Intel:Mach:3*:*)
echo i386-pc-mach3
exit ;;
@@ -1088,8 +1101,8 @@ EOF
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
&& { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && { echo i486-ncr-sysv4; exit; } ;;
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4; exit; } ;;
NCR*:*:4.2:* | MPRAS*:*:4.2:*)
OS_REL='.3'
test -r /etc/.relid \
@@ -1132,10 +1145,10 @@ EOF
echo ns32k-sni-sysv
fi
exit ;;
- PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
- # says <Richard.M.Bartel@ccMail.Census.GOV>
- echo i586-unisys-sysv4
- exit ;;
+ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+ # says <Richard.M.Bartel@ccMail.Census.GOV>
+ echo i586-unisys-sysv4
+ exit ;;
*:UNIX_System_V:4*:FTX*)
# From Gerald Hewes <hewes@openmarket.com>.
# How about differentiating between stratus architectures? -djm
@@ -1161,11 +1174,11 @@ EOF
exit ;;
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
if [ -d /usr/nec ]; then
- echo mips-nec-sysv${UNAME_RELEASE}
+ echo mips-nec-sysv${UNAME_RELEASE}
else
- echo mips-unknown-sysv${UNAME_RELEASE}
+ echo mips-unknown-sysv${UNAME_RELEASE}
fi
- exit ;;
+ exit ;;
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
echo powerpc-be-beos
exit ;;
@@ -1230,6 +1243,9 @@ EOF
*:QNX:*:4*)
echo i386-pc-qnx
exit ;;
+ NEO-?:NONSTOP_KERNEL:*:*)
+ echo neo-tandem-nsk${UNAME_RELEASE}
+ exit ;;
NSE-?:NONSTOP_KERNEL:*:*)
echo nse-tandem-nsk${UNAME_RELEASE}
exit ;;
@@ -1275,13 +1291,13 @@ EOF
echo pdp10-unknown-its
exit ;;
SEI:*:*:SEIUX)
- echo mips-sei-seiux${UNAME_RELEASE}
+ echo mips-sei-seiux${UNAME_RELEASE}
exit ;;
*:DragonFly:*:*)
echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
exit ;;
*:*VMS:*:*)
- UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
case "${UNAME_MACHINE}" in
A*) echo alpha-dec-vms ; exit ;;
I*) echo ia64-dec-vms ; exit ;;
@@ -1321,11 +1337,11 @@ main ()
#include <sys/param.h>
printf ("m68k-sony-newsos%s\n",
#ifdef NEWSOS4
- "4"
+ "4"
#else
- ""
+ ""
#endif
- ); exit (0);
+ ); exit (0);
#endif
#endif
diff --git a/config.sub b/config.sub
index 2a55a50..78176a4 100755
--- a/config.sub
+++ b/config.sub
@@ -1,10 +1,10 @@
#! /bin/sh
# Configuration validation subroutine script.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
-# Free Software Foundation, Inc.
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+# 2011 Free Software Foundation, Inc.
-timestamp='2009-11-20'
+timestamp='2011-10-29'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
@@ -75,8 +75,9 @@ Report bugs and patches to <config-patches@gnu.org>."
version="\
GNU config.sub ($timestamp)
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
+Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -123,8 +124,9 @@ esac
# Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
- nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
- uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
+ nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
+ linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
+ knetbsd*-gnu* | netbsd*-gnu* | \
kopensolaris*-gnu* | \
storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
@@ -156,8 +158,8 @@ case $os in
os=
basic_machine=$1
;;
- -bluegene*)
- os=-cnk
+ -bluegene*)
+ os=-cnk
;;
-sim | -cisco | -oki | -wec | -winbond)
os=
@@ -173,10 +175,10 @@ case $os in
os=-chorusos
basic_machine=$1
;;
- -chorusrdb)
- os=-chorusrdb
+ -chorusrdb)
+ os=-chorusrdb
basic_machine=$1
- ;;
+ ;;
-hiux*)
os=-hiuxwe2
;;
@@ -249,13 +251,17 @@ case $basic_machine in
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
| am33_2.0 \
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
+ | be32 | be64 \
| bfin \
| c4x | clipper \
| d10v | d30v | dlx | dsp16xx \
+ | epiphany \
| fido | fr30 | frv \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+ | hexagon \
| i370 | i860 | i960 | ia64 \
| ip2k | iq2000 \
+ | le32 | le64 \
| lm32 \
| m32c | m32r | m32rle | m68000 | m68k | m88k \
| maxq | mb | microblaze | mcore | mep | metag \
@@ -281,27 +287,38 @@ case $basic_machine in
| moxie \
| mt \
| msp430 \
+ | nds32 | nds32le | nds32be \
| nios | nios2 \
| ns16k | ns32k \
+ | open8 \
| or32 \
| pdp10 | pdp11 | pj | pjl \
- | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
+ | powerpc | powerpc64 | powerpc64le | powerpcle \
| pyramid \
- | rx \
+ | rl78 | rx \
| score \
| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
- | spu | strongarm \
- | tahoe | thumb | tic4x | tic80 | tron \
+ | spu \
+ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
| ubicom32 \
- | v850 | v850e \
+ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
| we32k \
- | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
+ | x86 | xc16x | xstormy16 | xtensa \
| z8k | z80)
basic_machine=$basic_machine-unknown
;;
+ c54x)
+ basic_machine=tic54x-unknown
+ ;;
+ c55x)
+ basic_machine=tic55x-unknown
+ ;;
+ c6x)
+ basic_machine=tic6x-unknown
+ ;;
m6811 | m68hc11 | m6812 | m68hc12 | picochip)
# Motorola 68HC11/12.
basic_machine=$basic_machine-unknown
@@ -313,6 +330,18 @@ case $basic_machine in
basic_machine=mt-unknown
;;
+ strongarm | thumb | xscale)
+ basic_machine=arm-unknown
+ ;;
+
+ xscaleeb)
+ basic_machine=armeb-unknown
+ ;;
+
+ xscaleel)
+ basic_machine=armel-unknown
+ ;;
+
# We use `pc' rather than `unknown'
# because (1) that's what they normally are, and
# (2) the word "unknown" tends to confuse beginning users.
@@ -332,16 +361,19 @@ case $basic_machine in
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
| avr-* | avr32-* \
+ | be32-* | be64-* \
| bfin-* | bs2000-* \
- | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
+ | c[123]* | c30-* | [cjt]90-* | c4x-* \
| clipper-* | craynv-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
| elxsi-* \
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
| h8300-* | h8500-* \
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+ | hexagon-* \
| i*86-* | i860-* | i960-* | ia64-* \
| ip2k-* | iq2000-* \
+ | le32-* | le64-* \
| lm32-* \
| m32c-* | m32r-* | m32rle-* \
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
@@ -367,25 +399,29 @@ case $basic_machine in
| mmix-* \
| mt-* \
| msp430-* \
+ | nds32-* | nds32le-* | nds32be-* \
| nios-* | nios2-* \
| none-* | np1-* | ns16k-* | ns32k-* \
+ | open8-* \
| orion-* \
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
- | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
+ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
| pyramid-* \
- | romp-* | rs6000-* | rx-* \
+ | rl78-* | romp-* | rs6000-* | rx-* \
| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
| sparclite-* \
- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
- | tahoe-* | thumb-* \
- | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
+ | tahoe-* \
+ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+ | tile*-* \
| tron-* \
| ubicom32-* \
- | v850-* | v850e-* | vax-* \
+ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
+ | vax-* \
| we32k-* \
- | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
+ | x86-* | x86_64-* | xc16x-* | xps100-* \
| xstormy16-* | xtensa*-* \
| ymp-* \
| z8k-* | z80-*)
@@ -410,7 +446,7 @@ case $basic_machine in
basic_machine=a29k-amd
os=-udi
;;
- abacus)
+ abacus)
basic_machine=abacus-unknown
;;
adobe68k)
@@ -480,11 +516,20 @@ case $basic_machine in
basic_machine=powerpc-ibm
os=-cnk
;;
+ c54x-*)
+ basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ c55x-*)
+ basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ c6x-*)
+ basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
c90)
basic_machine=c90-cray
os=-unicos
;;
- cegcc)
+ cegcc)
basic_machine=arm-unknown
os=-cegcc
;;
@@ -516,7 +561,7 @@ case $basic_machine in
basic_machine=craynv-cray
os=-unicosmp
;;
- cr16)
+ cr16 | cr16-*)
basic_machine=cr16-unknown
os=-elf
;;
@@ -732,7 +777,7 @@ case $basic_machine in
basic_machine=ns32k-utek
os=-sysv
;;
- microblaze)
+ microblaze)
basic_machine=microblaze-xilinx
;;
mingw32)
@@ -775,6 +820,10 @@ case $basic_machine in
basic_machine=i370-ibm
os=-mvs
;;
+ nacl)
+ basic_machine=le32-unknown
+ os=-nacl
+ ;;
ncr3000)
basic_machine=i486-ncr
os=-sysv4
@@ -839,6 +888,12 @@ case $basic_machine in
np1)
basic_machine=np1-gould
;;
+ neo-tandem)
+ basic_machine=neo-tandem
+ ;;
+ nse-tandem)
+ basic_machine=nse-tandem
+ ;;
nsr-tandem)
basic_machine=nsr-tandem
;;
@@ -921,9 +976,10 @@ case $basic_machine in
;;
power) basic_machine=power-ibm
;;
- ppc) basic_machine=powerpc-unknown
+ ppc | ppcbe) basic_machine=powerpc-unknown
;;
- ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ppc-* | ppcbe-*)
+ basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
ppcle | powerpclittle | ppc-le | powerpc-little)
basic_machine=powerpcle-unknown
@@ -1017,6 +1073,9 @@ case $basic_machine in
basic_machine=i860-stratus
os=-sysv4
;;
+ strongarm-* | thumb-*)
+ basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
sun2)
basic_machine=m68000-sun
;;
@@ -1073,20 +1132,8 @@ case $basic_machine in
basic_machine=t90-cray
os=-unicos
;;
- tic54x | c54x*)
- basic_machine=tic54x-unknown
- os=-coff
- ;;
- tic55x | c55x*)
- basic_machine=tic55x-unknown
- os=-coff
- ;;
- tic6x | c6x*)
- basic_machine=tic6x-unknown
- os=-coff
- ;;
tile*)
- basic_machine=tile-unknown
+ basic_machine=$basic_machine-unknown
os=-linux-gnu
;;
tx39)
@@ -1156,6 +1203,9 @@ case $basic_machine in
xps | xps100)
basic_machine=xps100-honeywell
;;
+ xscale-* | xscalee[bl]-*)
+ basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
+ ;;
ymp)
basic_machine=ymp-cray
os=-unicos
@@ -1253,11 +1303,11 @@ esac
if [ x"$os" != x"" ]
then
case $os in
- # First match some system type aliases
- # that might get confused with valid system types.
+ # First match some system type aliases
+ # that might get confused with valid system types.
# -solaris* is a basic system type, with this one exception.
- -auroraux)
- os=-auroraux
+ -auroraux)
+ os=-auroraux
;;
-solaris1 | -solaris1.*)
os=`echo $os | sed -e 's|solaris1|sunos4|'`
@@ -1294,7 +1344,8 @@ case $os in
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -chorusos* | -chorusrdb* | -cegcc* \
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
+ | -mingw32* | -linux-gnu* | -linux-android* \
+ | -linux-newlib* | -linux-uclibc* \
| -uxpv* | -beos* | -mpeix* | -udk* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
@@ -1341,7 +1392,7 @@ case $os in
-opened*)
os=-openedition
;;
- -os400*)
+ -os400*)
os=-os400
;;
-wince*)
@@ -1390,7 +1441,7 @@ case $os in
-sinix*)
os=-sysv4
;;
- -tpf*)
+ -tpf*)
os=-tpf
;;
-triton*)
@@ -1435,6 +1486,8 @@ case $os in
-dicos*)
os=-dicos
;;
+ -nacl*)
+ ;;
-none)
;;
*)
@@ -1457,10 +1510,10 @@ else
# system, and we'll never get to this point.
case $basic_machine in
- score-*)
+ score-*)
os=-elf
;;
- spu-*)
+ spu-*)
os=-elf
;;
*-acorn)
@@ -1472,8 +1525,17 @@ case $basic_machine in
arm*-semi)
os=-aout
;;
- c4x-* | tic4x-*)
- os=-coff
+ c4x-* | tic4x-*)
+ os=-coff
+ ;;
+ tic54x-*)
+ os=-coff
+ ;;
+ tic55x-*)
+ os=-coff
+ ;;
+ tic6x-*)
+ os=-coff
;;
# This must come before the *-dec entry.
pdp10-*)
@@ -1500,7 +1562,7 @@ case $basic_machine in
m68*-cisco)
os=-aout
;;
- mep-*)
+ mep-*)
os=-elf
;;
mips*-cisco)
@@ -1527,7 +1589,7 @@ case $basic_machine in
*-ibm)
os=-aix
;;
- *-knuth)
+ *-knuth)
os=-mmixware
;;
*-wec)
diff --git a/configure b/configure
index 2deed39..cec095b 100755
--- a/configure
+++ b/configure
@@ -13166,6 +13166,15 @@ case "$host" in
;;
i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2* | i?86-*-interix*)
TARGET=X86_WIN32; TARGETDIR=x86
+ # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
+ # We must also check with_cross_host to decide if this is a native
+ # or cross-build and select where to install dlls appropriately.
+ if test -n "$with_cross_host" &&
+ test x"$with_cross_host" != x"no"; then
+ AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
+ else
+ AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
+ fi
;;
i?86-*-darwin*)
TARGET=X86_DARWIN; TARGETDIR=x86
@@ -13248,15 +13257,6 @@ case "$host" in
x86_64-*-cygwin* | x86_64-*-mingw*)
TARGET=X86_WIN64; TARGETDIR=x86
- ;;
-
- x86_64-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-esac
-
-case "$host" in
- *-win32* | *-*-cygwin* | *-*-mingw* | *-*-os2* | *-*-interix*)
# All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
# We must also check with_cross_host to decide if this is a native
# or cross-build and select where to install dlls appropriately.
@@ -13267,6 +13267,10 @@ case "$host" in
AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
fi
;;
+
+ x86_64-*-*)
+ TARGET=X86_64; TARGETDIR=x86
+ ;;
esac
diff --git a/configure.ac b/configure.ac
index 6646c03..4d75c5c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
dnl Process this with autoconf to create configure
-AC_PREREQ(2.63)
+AC_PREREQ(2.64)
AC_INIT([libffi], [3.0.11-rc2], [http://github.com/atgreen/libffi/issues])
AC_CONFIG_HEADERS([fficonfig.h])
@@ -98,6 +98,15 @@ case "$host" in
;;
i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2* | i?86-*-interix*)
TARGET=X86_WIN32; TARGETDIR=x86
+ # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
+ # We must also check with_cross_host to decide if this is a native
+ # or cross-build and select where to install dlls appropriately.
+ if test -n "$with_cross_host" &&
+ test x"$with_cross_host" != x"no"; then
+ AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
+ else
+ AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
+ fi
;;
i?86-*-darwin*)
TARGET=X86_DARWIN; TARGETDIR=x86
@@ -180,15 +189,6 @@ case "$host" in
x86_64-*-cygwin* | x86_64-*-mingw*)
TARGET=X86_WIN64; TARGETDIR=x86
- ;;
-
- x86_64-*-*)
- TARGET=X86_64; TARGETDIR=x86
- ;;
-esac
-
-case "$host" in
- *-win32* | *-*-cygwin* | *-*-mingw* | *-*-os2* | *-*-interix*)
# All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
# We must also check with_cross_host to decide if this is a native
# or cross-build and select where to install dlls appropriately.
@@ -199,6 +199,10 @@ case "$host" in
AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
fi
;;
+
+ x86_64-*-*)
+ TARGET=X86_64; TARGETDIR=x86
+ ;;
esac
AC_SUBST(AM_RUNTESTFLAGS)
@@ -293,10 +297,10 @@ fi
if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
AC_CACHE_CHECK([assembler supports pc related relocs],
libffi_cv_as_x86_pcrel, [
- libffi_cv_as_x86_pcrel=no
+ libffi_cv_as_x86_pcrel=yes
echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
- if $CC $CFLAGS -c conftest.s > /dev/null; then
- libffi_cv_as_x86_pcrel=yes
+ if $CC $CFLAGS -c conftest.s 2>&1 | $EGREP -i 'illegal|warning' > /dev/null; then
+ libffi_cv_as_x86_pcrel=no
fi
])
if test "x$libffi_cv_as_x86_pcrel" = xyes; then
diff --git a/doc/libffi.info b/doc/libffi.info
index 402f760..f92aae6 100644
--- a/doc/libffi.info
+++ b/doc/libffi.info
@@ -1,10 +1,10 @@
-This is ../libffi/doc/libffi.info, produced by makeinfo version 4.13
-from ../libffi/doc/libffi.texi.
+This is /home/green/libffi/doc/libffi.info, produced by makeinfo
+version 4.13 from /home/green/libffi/doc/libffi.texi.
This manual is for Libffi, a portable foreign-function interface
library.
- Copyright (C) 2008, 2010, 2011 Red Hat, Inc.
+ Copyright (C) 2008, 2010 Red Hat, Inc.
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU General Public License as
@@ -27,7 +27,7 @@ libffi
This manual is for Libffi, a portable foreign-function interface
library.
- Copyright (C) 2008, 2010, 2011 Red Hat, Inc.
+ Copyright (C) 2008, 2010 Red Hat, Inc.
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU General Public License as
@@ -115,6 +115,8 @@ To prepare a call interface object, use the function `ffi_prep_cif'.
want. *note Multiple ABIs:: for more information.
NARGS is the number of arguments that this function accepts.
+ `libffi' does not yet handle varargs functions; see *note Missing
+ Features:: for more information.
RTYPE is a pointer to an `ffi_type' structure that describes the
return type of the function. *Note Types::.
@@ -127,30 +129,6 @@ To prepare a call interface object, use the function `ffi_prep_cif'.
properly; `FFI_BAD_TYPEDEF' if one of the `ffi_type' objects is
incorrect; or `FFI_BAD_ABI' if the ABI parameter is invalid.
- If the function being called is variadic (varargs) then
-`ffi_prep_cif_var' must be used instead of `ffi_prep_cif'.
-
- -- Function: ffi_status ffi_prep_cif_var (ffi_cif *CIF, ffi_abi
- varabi, unsigned int NFIXEDARGS, unsigned int varntotalargs,
- ffi_type *RTYPE, ffi_type **ARGTYPES)
- This initializes CIF according to the given parameters for a call
- to a variadic function. In general it's operation is the same as
- for `ffi_prep_cif' except that:
-
- NFIXEDARGS is the number of fixed arguments, prior to any variadic
- arguments. It must be greater than zero.
-
- NTOTALARGS the total number of arguments, including variadic and
- fixed arguments.
-
- Note that, different cif's must be prepped for calls to the same
- function when different numbers of arguments are passed.
-
- Also note that a call to `ffi_prep_cif_var' with
- NFIXEDARGS=NOTOTALARGS is NOT equivalent to a call to
- `ffi_prep_cif'.
-
-
To call a function using an initialized `ffi_cif', use the
`ffi_call' function:
@@ -169,9 +147,7 @@ To prepare a call interface object, use the function `ffi_prep_cif'.
AVALUES is a vector of `void *' pointers that point to the memory
locations holding the argument values for a call. If CIF declares
that the function has no arguments (i.e., NARGS was 0), then
- AVALUES is ignored. Note that argument values may be modified by
- the callee (for instance, structs passed by value); the burden of
- copying pass-by-value arguments is placed on the caller.
+ AVALUES is ignored.

File: libffi.info, Node: Simple Example, Next: Types, Prev: The Basics, Up: Using libffi
@@ -533,7 +509,9 @@ File: libffi.info, Node: Missing Features, Next: Index, Prev: Using libffi,
`libffi' is missing a few features. We welcome patches to add support
for these.
- * Variadic closures.
+ * There is no support for calling varargs functions. This may work
+ on some platforms, depending on how the ABI is defined, but it is
+ not reliable.
* There is no support for bit fields in structures.
@@ -541,9 +519,6 @@ for these.
* The "raw" API is undocumented.
- Note that variadic support is very new and tested on a relatively
-small number of platforms.
-

File: libffi.info, Node: Index, Prev: Missing Features, Up: Top
@@ -561,12 +536,11 @@ Index
* closure API: The Closure API. (line 13)
* closures: The Closure API. (line 13)
* FFI: Introduction. (line 31)
-* ffi_call: The Basics. (line 63)
+* ffi_call: The Basics. (line 41)
* ffi_closure_alloc: The Closure API. (line 19)
* ffi_closure_free: The Closure API. (line 26)
* FFI_CLOSURES: The Closure API. (line 13)
* ffi_prep_cif: The Basics. (line 16)
-* ffi_prep_cif_var: The Basics. (line 39)
* ffi_prep_closure_loc: The Closure API. (line 34)
* ffi_status <1>: The Closure API. (line 37)
* ffi_status: The Basics. (line 18)
@@ -594,24 +568,24 @@ Index
* ffi_type_void: Primitive Types. (line 10)
* Foreign Function Interface: Introduction. (line 31)
* void <1>: The Closure API. (line 20)
-* void: The Basics. (line 65)
+* void: The Basics. (line 43)

Tag Table:
-Node: Top712
-Node: Introduction1460
-Node: Using libffi3096
-Node: The Basics3582
-Node: Simple Example7224
-Node: Types8251
-Node: Primitive Types8534
-Node: Structures10354
-Node: Type Example11214
-Node: Multiple ABIs12437
-Node: The Closure API12808
-Node: Closure Example15752
-Node: Missing Features17311
-Node: Index17764
+Node: Top724
+Node: Introduction1466
+Node: Using libffi3102
+Node: The Basics3588
+Node: Simple Example6195
+Node: Types7222
+Node: Primitive Types7505
+Node: Structures9325
+Node: Type Example10185
+Node: Multiple ABIs11408
+Node: The Closure API11779
+Node: Closure Example14723
+Node: Missing Features16282
+Node: Index16775

End Tag Table
diff --git a/include/Makefile.in b/include/Makefile.in
index b7d88da..6d7634a 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -114,6 +114,7 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
+FFI_EXEC_TRAMPOLINE_TABLE = @FFI_EXEC_TRAMPOLINE_TABLE@
FGREP = @FGREP@
GREP = @GREP@
HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
@@ -205,6 +206,7 @@ psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
+sys_symbol_underscore = @sys_symbol_underscore@
sysconfdir = @sysconfdir@
target = @target@
target_alias = @target_alias@
diff --git a/libtool-version b/libtool-version
index 95f48c5..b8b80e0 100644
--- a/libtool-version
+++ b/libtool-version
@@ -26,4 +26,4 @@
# release, then set age to 0.
#
# CURRENT:REVISION:AGE
-6:0:0
+5:10:0
diff --git a/man/Makefile.in b/man/Makefile.in
index 2653d69..7b47d07 100644
--- a/man/Makefile.in
+++ b/man/Makefile.in
@@ -112,6 +112,7 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
+FFI_EXEC_TRAMPOLINE_TABLE = @FFI_EXEC_TRAMPOLINE_TABLE@
FGREP = @FGREP@
GREP = @GREP@
HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
@@ -203,6 +204,7 @@ psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
+sys_symbol_underscore = @sys_symbol_underscore@
sysconfdir = @sysconfdir@
target = @target@
target_alias = @target_alias@
@@ -215,8 +217,8 @@ top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = foreign
-EXTRA_DIST = ffi.3 ffi_call.3 ffi_prep_cif.3
-man_MANS = ffi.3 ffi_call.3 ffi_prep_cif.3
+EXTRA_DIST = ffi.3 ffi_call.3 ffi_prep_cif.3 ffi_prep_cif_var.3
+man_MANS = ffi.3 ffi_call.3 ffi_prep_cif.3 ffi_prep_cif_var.3
all: all-am
.SUFFIXES:
diff --git a/patches/series b/patches/series
index 55ec241..525760b 100644
--- a/patches/series
+++ b/patches/series
@@ -1,48 +1,2 @@
-stand-alone
-msvcc-warning
-ffi_last_abi
-win64-struct-args
-stdcall-x86-closure-fix
-ml64-safeseh
-debug-build
-win64-underscore
-x86_pcrel_test
-aix-ibm-xlc
-fix-grammar
-sparc-v8-aggregate-returns
-hpux-mallinfo
-copyright-updates
-ios
-fix-xfails
-interix
-ppc64-darwin
-irix
-sparc-abi-check
-ungccify
-ios-fixes
-bad-abi-fix
-msvcc
-fix_maxopt
-fix-ppc32
-darwin-EH-fix
-more-openbsd
-more-openbsd-mips
-darwin11
-powerpc-sysv-without-string-ops
-windows-ce-arm
-kfreebsd-mmap
-minix
-interix-patch
-remove-debug-code
-powerpc-ffi-softfloat
-variadic
-m68k-patches
-unlikely
-amiga
-alpha
-autoconf-archive-update
-ffitarget-include-fix
-no-undefined-fix
-x86_abi_check_fix
-x32-abi
+stand-alone
diff --git a/patches/stand-alone b/patches/stand-alone
index 24db447..6b810fc 100644
--- a/patches/stand-alone
+++ b/patches/stand-alone
@@ -587,34 +587,6 @@ Index: libffi/ChangeLog.libffi
+ * testsuite/lib/libffi-dg.exp: Many changes to allow for execution
+ outside of gcc tree.
+
-Index: libffi/LICENSE
-===================================================================
---- libffi.orig/LICENSE
-+++ libffi/LICENSE
-@@ -1,4 +1,5 @@
--libffi - Copyright (c) 1996-2003 Red Hat, Inc.
-+libffi - Copyright (c) 1996-2009 Anthony Green, Red Hat, Inc and others.
-+See source files for details.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
-@@ -11,10 +12,10 @@ the following conditions:
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
--THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS
--OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
--IN NO EVENT SHALL CYGNUS SOLUTIONS BE LIABLE FOR ANY CLAIM, DAMAGES OR
--OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
--ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
--OTHER DEALINGS IN THE SOFTWARE.
-+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Index: libffi/Makefile.am
===================================================================
--- libffi.orig/Makefile.am
@@ -627,27 +599,64 @@ Index: libffi/Makefile.am
SUBDIRS = include testsuite man
-@@ -28,10 +27,16 @@ EXTRA_DIST = LICENSE ChangeLog.v1 Change
- src/sparc/v8.S src/sparc/v9.S src/sparc/ffitarget.h \
- src/sparc/ffi.c src/x86/darwin64.S \
+@@ -11,26 +10,32 @@ EXTRA_DIST = LICENSE ChangeLog.v1 Change
+ src/avr32/ffi.c src/avr32/sysv.S src/avr32/ffitarget.h \
+ src/cris/ffi.c src/cris/sysv.S src/cris/ffitarget.h \
+ src/ia64/ffi.c src/ia64/ffitarget.h src/ia64/ia64_flags.h \
+- src/ia64/unix.S \
+- src/mips/ffi.c src/mips/n32.S src/mips/o32.S \
+- src/mips/ffitarget.h \
+- src/m32r/ffi.c src/m32r/sysv.S src/m32r/ffitarget.h \
+- src/m68k/ffi.c src/m68k/sysv.S src/m68k/ffitarget.h \
+- src/powerpc/ffi.c src/powerpc/sysv.S \
++ src/ia64/unix.S src/mips/ffi.c src/mips/n32.S src/mips/o32.S \
++ src/mips/ffitarget.h src/m32r/ffi.c src/m32r/sysv.S \
++ src/m32r/ffitarget.h src/m68k/ffi.c src/m68k/sysv.S \
++ src/m68k/ffitarget.h src/powerpc/ffi.c src/powerpc/sysv.S \
+ src/powerpc/linux64.S src/powerpc/linux64_closure.S \
+- src/powerpc/ppc_closure.S src/powerpc/asm.h \
+- src/powerpc/aix.S src/powerpc/darwin.S \
+- src/powerpc/aix_closure.S src/powerpc/darwin_closure.S \
+- src/powerpc/ffi_darwin.c src/powerpc/ffitarget.h \
+- src/s390/ffi.c src/s390/sysv.S src/s390/ffitarget.h \
+- src/sh/ffi.c src/sh/sysv.S src/sh/ffitarget.h \
+- src/sh64/ffi.c src/sh64/sysv.S src/sh64/ffitarget.h \
+- src/sparc/v8.S src/sparc/v9.S src/sparc/ffitarget.h \
+- src/sparc/ffi.c src/x86/darwin64.S \
++ src/powerpc/ppc_closure.S src/powerpc/asm.h src/powerpc/aix.S \
++ src/powerpc/darwin.S src/powerpc/aix_closure.S \
++ src/powerpc/darwin_closure.S src/powerpc/ffi_darwin.c \
++ src/powerpc/ffitarget.h src/s390/ffi.c src/s390/sysv.S \
++ src/s390/ffitarget.h src/sh/ffi.c src/sh/sysv.S \
++ src/sh/ffitarget.h src/sh64/ffi.c src/sh64/sysv.S \
++ src/sh64/ffitarget.h src/sparc/v8.S src/sparc/v9.S \
++ src/sparc/ffitarget.h src/sparc/ffi.c src/x86/darwin64.S \
src/x86/ffi.c src/x86/sysv.S src/x86/win32.S src/x86/darwin.S \
-+ src/x86/win64.S src/x86/freebsd.S \
- src/x86/ffi64.c src/x86/unix64.S src/x86/ffitarget.h \
- src/pa/ffitarget.h src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S \
-- src/frv/ffi.c src/frv/eabi.S src/frv/ffitarget.h src/dlmalloc.c \
-- src/moxie/ffi.c src/moxie/eabi.S
-+ src/frv/ffi.c src/frv/eabi.S src/frv/ffitarget.h \
-+ src/dlmalloc.c \
-+ src/moxie/ffi.c src/moxie/eabi.S \
-+ libtool-version ChangeLog.libffi m4/libtool.m4 \
-+ m4/lt~obsolete.m4 m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4
+- src/x86/ffi64.c src/x86/unix64.S src/x86/ffitarget.h \
+- src/pa/ffitarget.h src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S \
+- src/frv/ffi.c src/frv/eabi.S src/frv/ffitarget.h src/dlmalloc.c
++ src/x86/win64.S src/x86/freebsd.S src/x86/ffi64.c \
++ src/x86/unix64.S src/x86/ffitarget.h src/pa/ffitarget.h \
++ src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S src/frv/ffi.c \
++ src/frv/eabi.S src/frv/ffitarget.h src/dlmalloc.c \
++ src/moxie/ffi.c src/moxie/eabi.S libtool-version \
++ ChangeLog.libffi m4/libtool.m4 m4/lt~obsolete.m4 \
++ m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4 build-ios.sh \
++ m4/ltversion.m4 build-ios.sh src/arm/gentramp.sh src/debug.c \
++ msvcc.sh
++
+
+info_TEXINFOS = doc/libffi.texi
## ################################################################
-@@ -79,12 +84,17 @@ AM_MAKEFLAGS = \
+@@ -76,19 +81,25 @@ AM_MAKEFLAGS = \
+ "RANLIB=$(RANLIB)" \
+ "DESTDIR=$(DESTDIR)"
+-# Subdir rules rely on $(FLAGS_TO_PASS)
+-FLAGS_TO_PASS = $(AM_MAKEFLAGS)
+-
MAKEOVERRIDES=
-toolexeclib_LTLIBRARIES = libffi.la
@@ -656,7 +665,8 @@ Index: libffi/Makefile.am
+lib_LTLIBRARIES = libffi.la
noinst_LTLIBRARIES = libffi_convenience.la
- libffi_la_SOURCES = src/debug.c src/prep_cif.c src/types.c \
+-libffi_la_SOURCES = src/debug.c src/prep_cif.c src/types.c \
++libffi_la_SOURCES = src/prep_cif.c src/types.c \
src/raw_api.c src/java_raw_api.c src/closures.c
+pkgconfigdir = $(libdir)/pkgconfig
@@ -664,17 +674,52 @@ Index: libffi/Makefile.am
+
nodist_libffi_la_SOURCES =
++if FFI_DEBUG
++nodist_libffi_la_SOURCES += src/debug.c
++endif
++
if MIPS
-@@ -171,17 +181,12 @@ nodist_libffi_convenience_la_SOURCES = $
-
- AM_CFLAGS = -Wall -g -fexceptions
-
--LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
+ nodist_libffi_la_SOURCES += src/mips/ffi.c src/mips/o32.S src/mips/n32.S
+ endif
+@@ -136,6 +147,9 @@ nodist_libffi_la_SOURCES += src/powerpc/
+ endif
+ if ARM
+ nodist_libffi_la_SOURCES += src/arm/sysv.S src/arm/ffi.c
++if FFI_EXEC_TRAMPOLINE_TABLE
++nodist_libffi_la_SOURCES += src/arm/trampoline.S
++endif
+ endif
+ if AVR32
+ nodist_libffi_la_SOURCES += src/avr32/sysv.S src/avr32/ffi.c
+@@ -146,6 +160,9 @@ endif
+ if FRV
+ nodist_libffi_la_SOURCES += src/frv/eabi.S src/frv/ffi.c
+ endif
++if MOXIE
++nodist_libffi_la_SOURCES += src/moxie/eabi.S src/moxie/ffi.c
++endif
+ if S390
+ nodist_libffi_la_SOURCES += src/s390/sysv.S src/s390/ffi.c
+ endif
+@@ -168,19 +185,19 @@ endif
+ libffi_convenience_la_SOURCES = $(libffi_la_SOURCES)
+ nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
+
+-AM_CFLAGS = -Wall -g -fexceptions
-
+-LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
++AM_CFLAGS = -g
++if FFI_DEBUG
++# Build debug. Define FFI_DEBUG on the commandline so that, when building with
++# MSVC, it can link against the debug CRT.
++AM_CFLAGS += -DFFI_DEBUG
++endif
+
libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LTLDFLAGS) $(AM_LTLDFLAGS)
AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
- AM_CCASFLAGS = $(AM_CPPFLAGS)
+-AM_CCASFLAGS = $(AM_CPPFLAGS)
++AM_CCASFLAGS = $(AM_CPPFLAGS) -g
-# Multilib support. Automake should provide these on its own.
-all-recursive: all-multi
@@ -813,7 +858,22 @@ Index: libffi/configure
PACKAGE_URL=''
# Factoring default headers for most tests.
-@@ -640,6 +651,8 @@ POWERPC_AIX_FALSE
+@@ -606,8 +617,14 @@ LTLIBOBJS
+ LIBOBJS
+ toolexeclibdir
+ toolexecdir
++FFI_DEBUG_FALSE
++FFI_DEBUG_TRUE
+ TARGETDIR
+ TARGET
++FFI_EXEC_TRAMPOLINE_TABLE
++FFI_EXEC_TRAMPOLINE_TABLE_FALSE
++FFI_EXEC_TRAMPOLINE_TABLE_TRUE
++sys_symbol_underscore
+ HAVE_LONG_DOUBLE
+ ALLOCA
+ PA64_HPUX_FALSE
+@@ -640,6 +657,8 @@ POWERPC_AIX_FALSE
POWERPC_AIX_TRUE
POWERPC_FALSE
POWERPC_TRUE
@@ -822,7 +882,14 @@ Index: libffi/configure
M68K_FALSE
M68K_TRUE
M32R_FALSE
-@@ -675,8 +688,11 @@ OTOOL
+@@ -669,14 +688,18 @@ TESTSUBDIR_TRUE
+ MAINT
+ MAINTAINER_MODE_FALSE
+ MAINTAINER_MODE_TRUE
++PRTDIAG
+ CPP
+ OTOOL64
+ OTOOL
LIPO
NMEDIT
DSYMUTIL
@@ -834,7 +901,15 @@ Index: libffi/configure
OBJDUMP
LN_S
NM
-@@ -744,7 +760,6 @@ build_os
+@@ -732,6 +755,7 @@ am__isrc
+ INSTALL_DATA
+ INSTALL_SCRIPT
+ INSTALL_PROGRAM
++ax_enable_builddir_sed
+ target_os
+ target_vendor
+ target_cpu
+@@ -744,7 +768,6 @@ build_os
build_vendor
build_cpu
build
@@ -842,11 +917,12 @@ Index: libffi/configure
target_alias
host_alias
build_alias
-@@ -786,13 +801,13 @@ SHELL'
+@@ -786,14 +809,17 @@ SHELL'
ac_subst_files=''
ac_user_opts='
enable_option_checking
-enable_multilib
++enable_builddir
enable_dependency_tracking
enable_shared
enable_static
@@ -855,9 +931,12 @@ Index: libffi/configure
with_gnu_ld
+with_sysroot
enable_libtool_lock
++enable_portable_binary
++with_gcc_arch
enable_maintainer_mode
enable_debug
-@@ -869,8 +884,9 @@ do
+ enable_structs
+@@ -869,8 +895,9 @@ do
fi
case $ac_option in
@@ -869,7 +948,7 @@ Index: libffi/configure
esac
# Accept the important Cygnus configure options, so we can diagnose typos.
-@@ -915,7 +931,7 @@ do
+@@ -915,7 +942,7 @@ do
ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
@@ -878,7 +957,7 @@ Index: libffi/configure
ac_useropt_orig=$ac_useropt
ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
-@@ -941,7 +957,7 @@ do
+@@ -941,7 +968,7 @@ do
ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
@@ -887,7 +966,7 @@ Index: libffi/configure
ac_useropt_orig=$ac_useropt
ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
-@@ -1145,7 +1161,7 @@ do
+@@ -1145,7 +1172,7 @@ do
ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
@@ -896,7 +975,7 @@ Index: libffi/configure
ac_useropt_orig=$ac_useropt
ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
-@@ -1161,7 +1177,7 @@ do
+@@ -1161,7 +1188,7 @@ do
ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
@@ -905,7 +984,7 @@ Index: libffi/configure
ac_useropt_orig=$ac_useropt
ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
-@@ -1191,8 +1207,8 @@ do
+@@ -1191,8 +1218,8 @@ do
| --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
x_libraries=$ac_optarg ;;
@@ -916,7 +995,7 @@ Index: libffi/configure
;;
*=*)
-@@ -1200,7 +1216,7 @@ Try \`$0 --help' for more information."
+@@ -1200,7 +1227,7 @@ Try \`$0 --help' for more information."
# Reject names that are not valid shell variable names.
case $ac_envvar in #(
'' | [0-9]* | *[!_$as_cr_alnum]* )
@@ -925,7 +1004,7 @@ Index: libffi/configure
esac
eval $ac_envvar=\$ac_optarg
export $ac_envvar ;;
-@@ -1210,7 +1226,7 @@ Try \`$0 --help' for more information."
+@@ -1210,7 +1237,7 @@ Try \`$0 --help' for more information."
$as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
$as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
@@ -934,7 +1013,7 @@ Index: libffi/configure
;;
esac
-@@ -1218,13 +1234,13 @@ done
+@@ -1218,13 +1245,13 @@ done
if test -n "$ac_prev"; then
ac_option=--`echo $ac_prev | sed 's/_/-/g'`
@@ -950,7 +1029,7 @@ Index: libffi/configure
*) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
esac
fi
-@@ -1247,7 +1263,7 @@ do
+@@ -1247,7 +1274,7 @@ do
[\\/$]* | ?:[\\/]* ) continue;;
NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
esac
@@ -959,7 +1038,7 @@ Index: libffi/configure
done
# There might be people who depend on the old broken behavior: `$host'
-@@ -1261,8 +1277,8 @@ target=$target_alias
+@@ -1261,8 +1288,8 @@ target=$target_alias
if test "x$host_alias" != x; then
if test "x$build_alias" = x; then
cross_compiling=maybe
@@ -970,7 +1049,7 @@ Index: libffi/configure
elif test "x$build_alias" != "x$host_alias"; then
cross_compiling=yes
fi
-@@ -1277,9 +1293,9 @@ test "$silent" = yes && exec 6>/dev/null
+@@ -1277,9 +1304,9 @@ test "$silent" = yes && exec 6>/dev/null
ac_pwd=`pwd` && test -n "$ac_pwd" &&
ac_ls_di=`ls -di .` &&
ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
@@ -982,7 +1061,7 @@ Index: libffi/configure
# Find the source files, if location was not specified.
-@@ -1318,11 +1334,11 @@ else
+@@ -1318,11 +1345,11 @@ else
fi
if test ! -r "$srcdir/$ac_unique_file"; then
test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
@@ -996,7 +1075,7 @@ Index: libffi/configure
pwd)`
# When building in place, set srcdir=.
if test "$ac_abs_confdir" = "$ac_pwd"; then
-@@ -1348,7 +1364,7 @@ if test "$ac_init_help" = "long"; then
+@@ -1348,7 +1375,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
@@ -1005,7 +1084,7 @@ Index: libffi/configure
Usage: $0 [OPTION]... [VAR=VALUE]...
-@@ -1362,7 +1378,7 @@ Configuration:
+@@ -1362,7 +1389,7 @@ Configuration:
--help=short display options specific to this package
--help=recursive display the short help of all the included packages
-V, --version display version information and exit
@@ -1014,7 +1093,7 @@ Index: libffi/configure
--cache-file=FILE cache test results in FILE [disabled]
-C, --config-cache alias for \`--cache-file=config.cache'
-n, --no-create do not create output files
-@@ -1419,7 +1435,7 @@ fi
+@@ -1419,7 +1446,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
@@ -1023,24 +1102,38 @@ Index: libffi/configure
esac
cat <<\_ACEOF
-@@ -1427,7 +1443,6 @@ Optional Features:
+@@ -1427,7 +1454,8 @@ Optional Features:
--disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --enable-multilib build many library versions (default)
++ --disable-builddir disable automatic build in subdir of sources
++
--disable-dependency-tracking speeds up one-time build
--enable-dependency-tracking do not reject slow dependency extractors
--enable-shared[=PKGS] build shared libraries [default=yes]
-@@ -1448,6 +1463,8 @@ Optional Packages:
+@@ -1435,6 +1463,9 @@ Optional Features:
+ --enable-fast-install[=PKGS]
+ optimize for fast installation [default=yes]
+ --disable-libtool-lock avoid locking (might break parallel builds)
++ --enable-portable-binary
++ disable compiler optimizations that would produce
++ unportable binaries
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer
+ --enable-debug debugging mode
+@@ -1448,6 +1479,10 @@ Optional Packages:
--with-pic try to use only PIC/non-PIC objects [default=use
both]
--with-gnu-ld assume the C compiler uses GNU ld [default=no]
+ --with-sysroot=DIR Search for dependent libraries within DIR
+ (or the compiler's sysroot if not specified).
++ --with-gcc-arch=<arch> use architecture <arch> for gcc -march/-mtune,
++ instead of guessing
Some influential environment variables:
CC C compiler command
-@@ -1455,7 +1472,7 @@ Some influential environment variables:
+@@ -1455,7 +1490,7 @@ Some influential environment variables:
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
nonstandard directory <lib dir>
LIBS libraries to pass to the linker, e.g. -l<library>
@@ -1049,7 +1142,7 @@ Index: libffi/configure
you have headers in a nonstandard directory <include dir>
CCAS assembler compiler command (defaults to CC)
CCASFLAGS assembler compiler flags (defaults to CFLAGS)
-@@ -1464,7 +1481,7 @@ Some influential environment variables:
+@@ -1464,7 +1499,7 @@ Some influential environment variables:
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
@@ -1058,7 +1151,7 @@ Index: libffi/configure
_ACEOF
ac_status=$?
fi
-@@ -1527,10 +1544,10 @@ fi
+@@ -1527,10 +1562,10 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
@@ -1072,7 +1165,7 @@ Index: libffi/configure
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
_ACEOF
-@@ -1574,8 +1591,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
+@@ -1574,8 +1609,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=1
fi
@@ -1083,7 +1176,7 @@ Index: libffi/configure
} # ac_fn_c_try_compile
-@@ -1620,8 +1637,8 @@ fi
+@@ -1620,8 +1655,8 @@ fi
# interfere with the next link command; also delete a directory that is
# left behind by Apple's compiler. We do this before executing the actions.
rm -rf conftest.dSYM conftest_ipa8_conftest.oo
@@ -1094,7 +1187,7 @@ Index: libffi/configure
} # ac_fn_c_try_link
-@@ -1634,7 +1651,7 @@ ac_fn_c_check_header_compile ()
+@@ -1634,7 +1669,7 @@ ac_fn_c_check_header_compile ()
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
@@ -1103,7 +1196,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-@@ -1652,7 +1669,7 @@ fi
+@@ -1652,7 +1687,7 @@ fi
eval ac_res=\$$3
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
@@ -1112,7 +1205,7 @@ Index: libffi/configure
} # ac_fn_c_check_header_compile
-@@ -1677,7 +1694,7 @@ $as_echo "$ac_try_echo"; } >&5
+@@ -1677,7 +1712,7 @@ $as_echo "$ac_try_echo"; } >&5
mv -f conftest.er1 conftest.err
fi
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
@@ -1121,7 +1214,7 @@ Index: libffi/configure
test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
test ! -s conftest.err
}; then :
-@@ -1688,8 +1705,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
+@@ -1688,8 +1723,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=1
fi
@@ -1132,7 +1225,7 @@ Index: libffi/configure
} # ac_fn_c_try_cpp
-@@ -1730,8 +1747,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
+@@ -1730,8 +1765,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=$ac_status
fi
rm -rf conftest.dSYM conftest_ipa8_conftest.oo
@@ -1143,7 +1236,7 @@ Index: libffi/configure
} # ac_fn_c_try_run
-@@ -1743,7 +1760,7 @@ ac_fn_c_check_func ()
+@@ -1743,7 +1778,7 @@ ac_fn_c_check_func ()
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
@@ -1152,7 +1245,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-@@ -1798,7 +1815,7 @@ fi
+@@ -1798,7 +1833,7 @@ fi
eval ac_res=\$$3
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
@@ -1161,7 +1254,7 @@ Index: libffi/configure
} # ac_fn_c_check_func
-@@ -1810,10 +1827,10 @@ $as_echo "$ac_res" >&6; }
+@@ -1810,10 +1845,10 @@ $as_echo "$ac_res" >&6; }
ac_fn_c_check_header_mongrel ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
@@ -1174,7 +1267,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
fi
eval ac_res=\$$3
-@@ -1849,7 +1866,7 @@ if ac_fn_c_try_cpp "$LINENO"; then :
+@@ -1849,7 +1884,7 @@ if ac_fn_c_try_cpp "$LINENO"; then :
else
ac_header_preproc=no
fi
@@ -1183,7 +1276,7 @@ Index: libffi/configure
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
$as_echo "$ac_header_preproc" >&6; }
-@@ -1872,17 +1889,15 @@ $as_echo "$as_me: WARNING: $2: see the A
+@@ -1872,17 +1907,15 @@ $as_echo "$as_me: WARNING: $2: see the A
$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
@@ -1205,7 +1298,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
eval "$3=\$ac_header_compiler"
-@@ -1891,10 +1906,64 @@ eval ac_res=\$$3
+@@ -1891,10 +1924,64 @@ eval ac_res=\$$3
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
fi
@@ -1271,7 +1364,7 @@ Index: libffi/configure
# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
# --------------------------------------------
# Tries to find the compile-time value of EXPR in a program that includes
-@@ -2068,16 +2137,16 @@ rm -f core *.core core.conftest.* gmon.o
+@@ -2068,16 +2155,16 @@ rm -f core *.core core.conftest.* gmon.o
rm -f conftest.val
fi
@@ -1292,7 +1385,7 @@ Index: libffi/configure
$ $0 $@
-@@ -2187,11 +2256,9 @@ trap 'exit_status=$?
+@@ -2187,11 +2274,9 @@ trap 'exit_status=$?
{
echo
@@ -1306,7 +1399,7 @@ Index: libffi/configure
echo
# The following way of writing the cache mishandles newlines in values,
(
-@@ -2225,11 +2292,9 @@ $as_echo "$as_me: WARNING: cache variabl
+@@ -2225,11 +2310,9 @@ $as_echo "$as_me: WARNING: cache variabl
)
echo
@@ -1320,7 +1413,7 @@ Index: libffi/configure
echo
for ac_var in $ac_subst_vars
do
-@@ -2242,11 +2307,9 @@ _ASBOX
+@@ -2242,11 +2325,9 @@ _ASBOX
echo
if test -n "$ac_subst_files"; then
@@ -1334,7 +1427,7 @@ Index: libffi/configure
echo
for ac_var in $ac_subst_files
do
-@@ -2260,11 +2323,9 @@ _ASBOX
+@@ -2260,11 +2341,9 @@ _ASBOX
fi
if test -s confdefs.h; then
@@ -1348,7 +1441,7 @@ Index: libffi/configure
echo
cat confdefs.h
echo
-@@ -2319,7 +2380,12 @@ _ACEOF
+@@ -2319,7 +2398,12 @@ _ACEOF
ac_site_file1=NONE
ac_site_file2=NONE
if test -n "$CONFIG_SITE"; then
@@ -1362,7 +1455,7 @@ Index: libffi/configure
elif test "x$prefix" != xNONE; then
ac_site_file1=$prefix/share/config.site
ac_site_file2=$prefix/etc/config.site
-@@ -2330,18 +2396,22 @@ fi
+@@ -2330,18 +2414,22 @@ fi
for ac_site_file in "$ac_site_file1" "$ac_site_file2"
do
test "x$ac_site_file" = xNONE && continue
@@ -1390,7 +1483,7 @@ Index: libffi/configure
{ $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
$as_echo "$as_me: loading cache $cache_file" >&6;}
case $cache_file in
-@@ -2410,7 +2480,7 @@ if $ac_cache_corrupted; then
+@@ -2410,7 +2498,7 @@ if $ac_cache_corrupted; then
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
@@ -1399,7 +1492,7 @@ Index: libffi/configure
fi
## -------------------- ##
## Main body of script. ##
-@@ -2423,62 +2493,27 @@ ac_link='$CC -o conftest$ac_exeext $CFLA
+@@ -2423,62 +2511,27 @@ ac_link='$CC -o conftest$ac_exeext $CFLA
ac_compiler_gnu=$ac_cv_c_compiler_gnu
@@ -1476,7 +1569,7 @@ Index: libffi/configure
fi
# These three variables are undocumented and unsupported,
-@@ -2492,27 +2527,27 @@ ac_configure="$SHELL $ac_aux_dir/configu
+@@ -2492,27 +2545,27 @@ ac_configure="$SHELL $ac_aux_dir/configu
# Make sure we can run config.sub.
$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
@@ -1509,7 +1602,7 @@ Index: libffi/configure
esac
build=$ac_cv_build
ac_save_IFS=$IFS; IFS='-'
-@@ -2530,14 +2565,14 @@ case $build_os in *\ *) build_os=`echo "
+@@ -2530,14 +2583,14 @@ case $build_os in *\ *) build_os=`echo "
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
$as_echo_n "checking host system type... " >&6; }
@@ -1526,7 +1619,7 @@ Index: libffi/configure
fi
fi
-@@ -2545,7 +2580,7 @@ fi
+@@ -2545,7 +2598,7 @@ fi
$as_echo "$ac_cv_host" >&6; }
case $ac_cv_host in
*-*-*) ;;
@@ -1535,7 +1628,7 @@ Index: libffi/configure
esac
host=$ac_cv_host
ac_save_IFS=$IFS; IFS='-'
-@@ -2563,14 +2598,14 @@ case $host_os in *\ *) host_os=`echo "$h
+@@ -2563,14 +2616,14 @@ case $host_os in *\ *) host_os=`echo "$h
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
$as_echo_n "checking target system type... " >&6; }
@@ -1552,7 +1645,7 @@ Index: libffi/configure
fi
fi
-@@ -2578,7 +2613,7 @@ fi
+@@ -2578,7 +2631,7 @@ fi
$as_echo "$ac_cv_target" >&6; }
case $ac_cv_target in
*-*-*) ;;
@@ -1561,7 +1654,118 @@ Index: libffi/configure
esac
target=$ac_cv_target
ac_save_IFS=$IFS; IFS='-'
-@@ -2624,7 +2659,7 @@ am__api_version='1.11'
+@@ -2605,6 +2658,110 @@ target_alias=${target_alias-$host_alias}
+
+ . ${srcdir}/configure.host
+
++
++ # [$]@ is unsable in 2.60+ but earlier autoconf had no ac_configure_args
++ if test "${ac_configure_args+set}" != "set" ; then
++ ac_configure_args=
++ for ac_arg in ${1+"$@"}; do
++ ac_configure_args="$ac_configure_args '$ac_arg'"
++ done
++ fi
++
++# expand $ac_aux_dir to an absolute path
++am_aux_dir=`cd $ac_aux_dir && pwd`
++
++
++ax_enable_builddir="."
++# Check whether --enable-builddir was given.
++if test "${enable_builddir+set}" = set; then :
++ enableval=$enable_builddir; ax_enable_builddir="$enableval"
++else
++ ax_enable_builddir="auto"
++fi
++
++if test ".$ac_srcdir_defaulted" != ".no" ; then
++if test ".$srcdir" = ".." ; then
++ if test -f config.status ; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: toplevel srcdir already configured... skipping subdir build" >&5
++$as_echo "$as_me: toplevel srcdir already configured... skipping subdir build" >&6;}
++ else
++ test ".$ax_enable_builddir" = "." && ax_enable_builddir="."
++ test ".$ax_enable_builddir" = ".no" && ax_enable_builddir="."
++ test ".$TARGET" = "." && TARGET="$target"
++ test ".$ax_enable_builddir" = ".auto" && ax_enable_builddir="$TARGET"
++ if test ".$ax_enable_builddir" != ".." ; then # we know where to go and
++ as_dir=$ax_enable_builddir; as_fn_mkdir_p
++ echo __.$ax_enable_builddir.__ > $ax_enable_builddir/conftest.tmp
++ cd $ax_enable_builddir
++ if grep __.$ax_enable_builddir.__ conftest.tmp >/dev/null 2>/dev/null ; then
++ rm conftest.tmp
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: continue configure in default builddir \"./$ax_enable_builddir\"" >&5
++$as_echo "continue configure in default builddir \"./$ax_enable_builddir\"" >&6; }
++ else
++ as_fn_error $? "could not change to default builddir \"./$ax_enable_builddir\"" "$LINENO" 5
++ fi
++ srcdir=`echo "$ax_enable_builddir" |
++ sed -e 's,^\./,,;s,[^/]$,&/,;s,[^/]*/,../,g;s,[/]$,,;'`
++ # going to restart from subdirectory location
++ test -f $srcdir/config.log && mv $srcdir/config.log .
++ test -f $srcdir/confdefs.h && mv $srcdir/confdefs.h .
++ test -f $srcdir/conftest.log && mv $srcdir/conftest.log .
++ test -f $srcdir/$cache_file && mv $srcdir/$cache_file .
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ....exec $SHELL $srcdir/$0 \"--srcdir=$srcdir\" \"--enable-builddir=$ax_enable_builddir\" ${1+\"$@\"}" >&5
++$as_echo "....exec $SHELL $srcdir/$0 \"--srcdir=$srcdir\" \"--enable-builddir=$ax_enable_builddir\" ${1+\"$@\"}" >&6; }
++ case "$0" in # restart
++ /\\*) eval $SHELL "'$0'" "'--srcdir=$srcdir'" "'--enable-builddir=$ax_enable_builddir'" $ac_configure_args ;;
++ *) eval $SHELL "'$srcdir/$0'" "'--srcdir=$srcdir'" "'--enable-builddir=$ax_enable_builddir'" $ac_configure_args ;;
++ esac ; exit $?
++ fi
++ fi
++fi fi
++test ".$ax_enable_builddir" = ".auto" && ax_enable_builddir="."
++# Extract the first word of "gsed sed", so it can be a program name with args.
++set dummy gsed sed; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_path_ax_enable_builddir_sed+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ case $ax_enable_builddir_sed in
++ [\\/]* | ?:[\\/]*)
++ ac_cv_path_ax_enable_builddir_sed="$ax_enable_builddir_sed" # Let the user override the test with a path.
++ ;;
++ *)
++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_path_ax_enable_builddir_sed="$as_dir/$ac_word$ac_exec_ext"
++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++ done
++IFS=$as_save_IFS
++
++ test -z "$ac_cv_path_ax_enable_builddir_sed" && ac_cv_path_ax_enable_builddir_sed="sed"
++ ;;
++esac
++fi
++ax_enable_builddir_sed=$ac_cv_path_ax_enable_builddir_sed
++if test -n "$ax_enable_builddir_sed"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_enable_builddir_sed" >&5
++$as_echo "$ax_enable_builddir_sed" >&6; }
++else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++ax_enable_builddir_auxdir="$am_aux_dir"
++ac_config_commands="$ac_config_commands buildir"
++
++
+ am__api_version='1.11'
+
+ # Find a good install program. We prefer a C program (faster),
+@@ -2624,7 +2781,7 @@ am__api_version='1.11'
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
$as_echo_n "checking for a BSD-compatible install... " >&6; }
if test -z "$INSTALL"; then
@@ -1570,7 +1774,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-@@ -2711,11 +2746,11 @@ am_lf='
+@@ -2711,11 +2868,11 @@ am_lf='
'
case `pwd` in
*[\\\"\#\$\&\'\`$am_lf]*)
@@ -1584,7 +1788,7 @@ Index: libffi/configure
esac
# Do `set' in a subshell so we don't clobber the current shell's
-@@ -2737,7 +2772,7 @@ if (
+@@ -2737,7 +2894,7 @@ if (
# if, for instance, CONFIG_SHELL is bash and it inherits a
# broken ls alias from the environment. This has actually
# happened. Such a system could not be considered "sane".
@@ -1593,7 +1797,7 @@ Index: libffi/configure
alias in your environment" "$LINENO" 5
fi
-@@ -2747,7 +2782,7 @@ then
+@@ -2747,7 +2904,7 @@ then
# Ok.
:
else
@@ -1602,7 +1806,17 @@ Index: libffi/configure
Check your system clock" "$LINENO" 5
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-@@ -2801,7 +2836,7 @@ if test "$cross_compiling" != no; then
+@@ -2762,9 +2919,6 @@ test "$program_suffix" != NONE &&
+ ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
+ program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
+
+-# expand $ac_aux_dir to an absolute path
+-am_aux_dir=`cd $ac_aux_dir && pwd`
+-
+ if test x"${MISSING+set}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+@@ -2801,7 +2955,7 @@ if test "$cross_compiling" != no; then
set dummy ${ac_tool_prefix}strip; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
@@ -1611,7 +1825,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
if test -n "$STRIP"; then
-@@ -2841,7 +2876,7 @@ if test -z "$ac_cv_prog_STRIP"; then
+@@ -2841,7 +2995,7 @@ if test -z "$ac_cv_prog_STRIP"; then
set dummy strip; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
@@ -1620,7 +1834,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_STRIP"; then
-@@ -2894,7 +2929,7 @@ INSTALL_STRIP_PROGRAM="\$(install_sh) -c
+@@ -2894,7 +3048,7 @@ INSTALL_STRIP_PROGRAM="\$(install_sh) -c
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
if test -z "$MKDIR_P"; then
@@ -1629,7 +1843,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-@@ -2919,6 +2954,7 @@ IFS=$as_save_IFS
+@@ -2919,6 +3073,7 @@ IFS=$as_save_IFS
fi
@@ -1637,7 +1851,7 @@ Index: libffi/configure
if test "${ac_cv_path_mkdir+set}" = set; then
MKDIR_P="$ac_cv_path_mkdir -p"
else
-@@ -2926,7 +2962,6 @@ fi
+@@ -2926,7 +3081,6 @@ fi
# value for MKDIR_P within a source directory, because that will
# break other packages using the cache if that directory is
# removed, or if the value is a relative name.
@@ -1645,7 +1859,7 @@ Index: libffi/configure
MKDIR_P="$ac_install_sh -d"
fi
fi
-@@ -2945,7 +2980,7 @@ do
+@@ -2945,7 +3099,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
@@ -1654,7 +1868,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
if test -n "$AWK"; then
-@@ -2985,7 +3020,7 @@ done
+@@ -2985,7 +3139,7 @@ done
$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
set x ${MAKE-make}
ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
@@ -1663,7 +1877,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
cat >conftest.make <<\_ACEOF
-@@ -2993,7 +3028,7 @@ SHELL = /bin/sh
+@@ -2993,7 +3147,7 @@ SHELL = /bin/sh
all:
@echo '@@@%%%=$(MAKE)=@@@%%%'
_ACEOF
@@ -1672,7 +1886,7 @@ Index: libffi/configure
case `${MAKE-make} -f conftest.make 2>/dev/null` in
*@@@%%%=?*=@@@%%%*)
eval ac_cv_prog_make_${ac_make}_set=yes;;
-@@ -3027,7 +3062,7 @@ if test "`cd $srcdir && pwd`" != "`pwd`"
+@@ -3027,7 +3181,7 @@ if test "`cd $srcdir && pwd`" != "`pwd`"
am__isrc=' -I$(srcdir)'
# test to see if srcdir already configured
if test -f $srcdir/config.status; then
@@ -1681,7 +1895,7 @@ Index: libffi/configure
fi
fi
-@@ -3043,7 +3078,7 @@ fi
+@@ -3043,7 +3197,7 @@ fi
# Define the identity of the package.
PACKAGE='libffi'
@@ -1690,7 +1904,20 @@ Index: libffi/configure
cat >>confdefs.h <<_ACEOF
-@@ -3101,7 +3136,7 @@ if test -n "$ac_tool_prefix"; then
+@@ -3088,9 +3242,12 @@ am__tar='${AMTAR} chof - "$$tardir"'; am
+ # We must force CC to /not/ be precious variables; otherwise
+ # the wrong, non-multilib-adjusted value will be used in multilibs.
+ # As a side effect, we have to subst CFLAGS ourselves.
++# Also save and restore CFLAGS, since AC_PROG_CC will come up with
++# defaults of its own if none are provided.
+
+
+
++save_CFLAGS=$CFLAGS
+ ac_ext=c
+ ac_cpp='$CPP $CPPFLAGS'
+ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+@@ -3101,7 +3258,7 @@ if test -n "$ac_tool_prefix"; then
set dummy ${ac_tool_prefix}gcc; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
@@ -1699,7 +1926,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
-@@ -3141,7 +3176,7 @@ if test -z "$ac_cv_prog_CC"; then
+@@ -3141,7 +3298,7 @@ if test -z "$ac_cv_prog_CC"; then
set dummy gcc; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
@@ -1708,7 +1935,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CC"; then
-@@ -3194,7 +3229,7 @@ if test -z "$CC"; then
+@@ -3194,7 +3351,7 @@ if test -z "$CC"; then
set dummy ${ac_tool_prefix}cc; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
@@ -1717,7 +1944,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
-@@ -3234,7 +3269,7 @@ if test -z "$CC"; then
+@@ -3234,7 +3391,7 @@ if test -z "$CC"; then
set dummy cc; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
@@ -1726,7 +1953,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
-@@ -3293,7 +3328,7 @@ if test -z "$CC"; then
+@@ -3293,7 +3450,7 @@ if test -z "$CC"; then
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
@@ -1735,7 +1962,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
-@@ -3337,7 +3372,7 @@ do
+@@ -3337,7 +3494,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
@@ -1744,7 +1971,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CC"; then
-@@ -3391,8 +3426,8 @@ fi
+@@ -3391,8 +3548,8 @@ fi
test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
@@ -1755,7 +1982,7 @@ Index: libffi/configure
# Provide some information about the compiler.
$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-@@ -3413,8 +3448,8 @@ $as_echo "$ac_try_echo"; } >&5
+@@ -3413,8 +3570,8 @@ $as_echo "$ac_try_echo"; } >&5
... rest of stderr output deleted ...
10q' conftest.err >conftest.er1
cat conftest.er1 >&5
@@ -1765,7 +1992,7 @@ Index: libffi/configure
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
done
-@@ -3431,12 +3466,12 @@ main ()
+@@ -3431,12 +3588,12 @@ main ()
}
_ACEOF
ac_clean_files_save=$ac_clean_files
@@ -1781,7 +2008,7 @@ Index: libffi/configure
ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
# The possible output files:
-@@ -3498,62 +3533,28 @@ test "$ac_cv_exeext" = no && ac_cv_exeex
+@@ -3498,62 +3655,28 @@ test "$ac_cv_exeext" = no && ac_cv_exeex
else
ac_file=''
fi
@@ -1857,7 +2084,7 @@ Index: libffi/configure
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
$as_echo_n "checking for suffix of executables... " >&6; }
if { { ac_try="$ac_link"
-@@ -3583,19 +3584,78 @@ done
+@@ -3583,19 +3706,78 @@ done
else
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
@@ -1940,7 +2167,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-@@ -3635,8 +3695,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
+@@ -3635,8 +3817,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
@@ -1951,7 +2178,7 @@ Index: libffi/configure
fi
rm -f conftest.$ac_cv_objext conftest.$ac_ext
fi
-@@ -3646,7 +3706,7 @@ OBJEXT=$ac_cv_objext
+@@ -3646,7 +3828,7 @@ OBJEXT=$ac_cv_objext
ac_objext=$OBJEXT
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
@@ -1960,7 +2187,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-@@ -3683,7 +3743,7 @@ ac_test_CFLAGS=${CFLAGS+set}
+@@ -3683,7 +3865,7 @@ ac_test_CFLAGS=${CFLAGS+set}
ac_save_CFLAGS=$CFLAGS
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
$as_echo_n "checking whether $CC accepts -g... " >&6; }
@@ -1969,7 +2196,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
ac_save_c_werror_flag=$ac_c_werror_flag
-@@ -3761,7 +3821,7 @@ else
+@@ -3761,7 +3943,7 @@ else
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
@@ -1978,7 +2205,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
ac_cv_prog_cc_c89=no
-@@ -3922,7 +3982,7 @@ depcc="$CC" am_compiler_list=
+@@ -3922,7 +4104,7 @@ depcc="$CC" am_compiler_list=
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
$as_echo_n "checking dependency style of $depcc... " >&6; }
@@ -1987,15 +2214,16 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-@@ -4049,6 +4109,7 @@ fi
-
+@@ -4045,6 +4227,8 @@ else
+ fi
++CFLAGS=$save_CFLAGS
+
- # By default we simply use the C compiler to build assembly code.
- test "${CCAS+set}" = set || CCAS=$CC
-@@ -4060,7 +4121,7 @@ depcc="$CCAS" am_compiler_list=
+
+
+@@ -4060,7 +4244,7 @@ depcc="$CCAS" am_compiler_list=
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
$as_echo_n "checking dependency style of $depcc... " >&6; }
@@ -2004,7 +2232,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-@@ -4190,7 +4251,7 @@ $as_echo_n "checking whether cc understa
+@@ -4190,7 +4374,7 @@ $as_echo_n "checking whether cc understa
fi
set dummy $CC; ac_cc=`$as_echo "$2" |
sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
@@ -2013,7 +2241,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-@@ -4315,8 +4376,8 @@ esac
+@@ -4315,8 +4499,8 @@ esac
@@ -2024,7 +2252,7 @@ Index: libffi/configure
-@@ -4356,7 +4417,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+@@ -4356,7 +4540,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
$as_echo_n "checking how to print strings... " >&6; }
# Test print first, because it will be a builtin if present.
@@ -2033,7 +2261,7 @@ Index: libffi/configure
test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
ECHO='print -r --'
elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-@@ -4403,7 +4464,7 @@ esac
+@@ -4403,7 +4587,7 @@ esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
$as_echo_n "checking for a sed that does not truncate output... " >&6; }
@@ -2042,7 +2270,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
-@@ -4458,7 +4519,7 @@ esac
+@@ -4458,7 +4642,7 @@ esac
done
IFS=$as_save_IFS
if test -z "$ac_cv_path_SED"; then
@@ -2051,7 +2279,7 @@ Index: libffi/configure
fi
else
ac_cv_path_SED=$SED
-@@ -4485,7 +4546,7 @@ Xsed="$SED -e 1s/^X//"
+@@ -4485,7 +4669,7 @@ Xsed="$SED -e 1s/^X//"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
@@ -2060,7 +2288,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
if test -z "$GREP"; then
-@@ -4534,7 +4595,7 @@ esac
+@@ -4534,7 +4718,7 @@ esac
done
IFS=$as_save_IFS
if test -z "$ac_cv_path_GREP"; then
@@ -2069,7 +2297,7 @@ Index: libffi/configure
fi
else
ac_cv_path_GREP=$GREP
-@@ -4548,7 +4609,7 @@ $as_echo "$ac_cv_path_GREP" >&6; }
+@@ -4548,7 +4732,7 @@ $as_echo "$ac_cv_path_GREP" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
$as_echo_n "checking for egrep... " >&6; }
@@ -2078,7 +2306,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
-@@ -4600,7 +4661,7 @@ esac
+@@ -4600,7 +4784,7 @@ esac
done
IFS=$as_save_IFS
if test -z "$ac_cv_path_EGREP"; then
@@ -2087,7 +2315,7 @@ Index: libffi/configure
fi
else
ac_cv_path_EGREP=$EGREP
-@@ -4615,7 +4676,7 @@ $as_echo "$ac_cv_path_EGREP" >&6; }
+@@ -4615,7 +4799,7 @@ $as_echo "$ac_cv_path_EGREP" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
$as_echo_n "checking for fgrep... " >&6; }
@@ -2096,7 +2324,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
-@@ -4667,7 +4728,7 @@ esac
+@@ -4667,7 +4851,7 @@ esac
done
IFS=$as_save_IFS
if test -z "$ac_cv_path_FGREP"; then
@@ -2105,7 +2333,7 @@ Index: libffi/configure
fi
else
ac_cv_path_FGREP=$FGREP
-@@ -4746,7 +4807,7 @@ else
+@@ -4746,7 +4930,7 @@ else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
$as_echo_n "checking for non-GNU ld... " >&6; }
fi
@@ -2114,7 +2342,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
if test -z "$LD"; then
-@@ -4783,10 +4844,10 @@ else
+@@ -4783,10 +4967,10 @@ else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
@@ -2127,7 +2355,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
# I'd rather use --version here, but apparently some GNU lds only accept -v.
-@@ -4813,7 +4874,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
+@@ -4813,7 +4997,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
@@ -2136,7 +2364,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
if test -n "$NM"; then
-@@ -4876,7 +4937,7 @@ else
+@@ -4876,7 +5060,7 @@ else
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
@@ -2145,7 +2373,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
if test -n "$DUMPBIN"; then
-@@ -4920,7 +4981,7 @@ do
+@@ -4920,7 +5104,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
@@ -2154,7 +2382,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_DUMPBIN"; then
-@@ -4992,7 +5053,7 @@ test -z "$NM" && NM=nm
+@@ -4992,7 +5176,7 @@ test -z "$NM" && NM=nm
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
$as_echo_n "checking the name lister ($NM) interface... " >&6; }
@@ -2163,7 +2391,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
lt_cv_nm_interface="BSD nm"
-@@ -5027,7 +5088,7 @@ fi
+@@ -5027,7 +5211,7 @@ fi
# find the maximum length of command line arguments
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
$as_echo_n "checking the maximum length of command line arguments... " >&6; }
@@ -2172,7 +2400,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
i=0
-@@ -5172,8 +5233,8 @@ $as_echo_n "checking whether the shell u
+@@ -5172,8 +5356,8 @@ $as_echo_n "checking whether the shell u
# Try some XSI features
xsi_shell=no
( _lt_dummy="a/b/c"
@@ -2183,15 +2411,26 @@ Index: libffi/configure
&& eval 'test $(( 1 + 1 )) -eq 2 \
&& test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
&& xsi_shell=yes
-@@ -5222,9 +5283,83 @@ esac
+@@ -5222,22 +5406,101 @@ esac
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
+-$as_echo_n "checking for $LD option to reload object files... " >&6; }
+-if test "${lt_cv_ld_reload_flag+set}" = set; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
+$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
+if ${lt_cv_to_host_file_cmd+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
+ $as_echo_n "(cached) " >&6
+ else
+- lt_cv_ld_reload_flag='-r'
+-fi
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
+-$as_echo "$lt_cv_ld_reload_flag" >&6; }
+-reload_flag=$lt_cv_ld_reload_flag
+-case $reload_flag in
+-"" | " "*) ;;
+-*) reload_flag=" $reload_flag" ;;
+ case $host in
+ *-*-mingw* )
+ case $build in
@@ -2261,14 +2500,19 @@ Index: libffi/configure
+
+
+
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
- $as_echo_n "checking for $LD option to reload object files... " >&6; }
--if test "${lt_cv_ld_reload_flag+set}" = set; then :
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
++$as_echo_n "checking for $LD option to reload object files... " >&6; }
+if ${lt_cv_ld_reload_flag+:} false; then :
- $as_echo_n "(cached) " >&6
- else
- lt_cv_ld_reload_flag='-r'
-@@ -5238,6 +5373,11 @@ case $reload_flag in
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_ld_reload_flag='-r'
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
++$as_echo "$lt_cv_ld_reload_flag" >&6; }
++reload_flag=$lt_cv_ld_reload_flag
++case $reload_flag in
++"" | " "*) ;;
++*) reload_flag=" $reload_flag" ;;
esac
reload_cmds='$LD$reload_flag -o $output$reload_objs'
case $host_os in
@@ -2280,7 +2524,7 @@ Index: libffi/configure
darwin*)
if test "$GCC" = yes; then
reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-@@ -5260,7 +5400,7 @@ if test -n "$ac_tool_prefix"; then
+@@ -5260,7 +5523,7 @@ if test -n "$ac_tool_prefix"; then
set dummy ${ac_tool_prefix}objdump; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
@@ -2289,7 +2533,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
if test -n "$OBJDUMP"; then
-@@ -5300,7 +5440,7 @@ if test -z "$ac_cv_prog_OBJDUMP"; then
+@@ -5300,7 +5563,7 @@ if test -z "$ac_cv_prog_OBJDUMP"; then
set dummy objdump; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
@@ -2298,7 +2542,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_OBJDUMP"; then
-@@ -5359,7 +5499,7 @@ test -z "$OBJDUMP" && OBJDUMP=objdump
+@@ -5359,7 +5622,7 @@ test -z "$OBJDUMP" && OBJDUMP=objdump
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
$as_echo_n "checking how to recognize dependent libraries... " >&6; }
@@ -2307,7 +2551,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
lt_cv_file_magic_cmd='$MAGIC_CMD'
-@@ -5406,7 +5546,8 @@ mingw* | pw32*)
+@@ -5406,7 +5669,8 @@ mingw* | pw32*)
lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
lt_cv_file_magic_cmd='func_win32_libid'
else
@@ -2317,7 +2561,7 @@ Index: libffi/configure
lt_cv_file_magic_cmd='$OBJDUMP -f'
fi
;;
-@@ -5560,6 +5701,21 @@ esac
+@@ -5560,6 +5824,21 @@ esac
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
$as_echo "$lt_cv_deplibs_check_method" >&6; }
@@ -2339,7 +2583,7 @@ Index: libffi/configure
file_magic_cmd=$lt_cv_file_magic_cmd
deplibs_check_method=$lt_cv_deplibs_check_method
test -z "$deplibs_check_method" && deplibs_check_method=unknown
-@@ -5575,12 +5731,166 @@ test -z "$deplibs_check_method" && depli
+@@ -5575,12 +5854,166 @@ test -z "$deplibs_check_method" && depli
@@ -2509,7 +2753,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
if test -n "$AR"; then
-@@ -5593,7 +5903,7 @@ do
+@@ -5593,7 +6026,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
@@ -2518,7 +2762,7 @@ Index: libffi/configure
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
-@@ -5613,14 +5923,18 @@ $as_echo "no" >&6; }
+@@ -5613,14 +6046,18 @@ $as_echo "no" >&6; }
fi
@@ -2541,7 +2785,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_AR"; then
-@@ -5633,7 +5947,7 @@ do
+@@ -5633,7 +6070,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
@@ -2550,7 +2794,7 @@ Index: libffi/configure
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
-@@ -5652,6 +5966,10 @@ else
+@@ -5652,6 +6089,10 @@ else
$as_echo "no" >&6; }
fi
@@ -2561,7 +2805,7 @@ Index: libffi/configure
if test "x$ac_ct_AR" = x; then
AR="false"
else
-@@ -5663,16 +5981,72 @@ ac_tool_warned=yes ;;
+@@ -5663,16 +6104,72 @@ ac_tool_warned=yes ;;
esac
AR=$ac_ct_AR
fi
@@ -2581,7 +2825,7 @@ Index: libffi/configure
+
+
+
-+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
@@ -2625,7 +2869,7 @@ Index: libffi/configure
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
++
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
+$as_echo "$lt_cv_ar_at_file" >&6; }
@@ -2638,7 +2882,7 @@ Index: libffi/configure
-@@ -5685,7 +6059,7 @@ if test -n "$ac_tool_prefix"; then
+@@ -5685,7 +6182,7 @@ if test -n "$ac_tool_prefix"; then
set dummy ${ac_tool_prefix}strip; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
@@ -2647,7 +2891,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
if test -n "$STRIP"; then
-@@ -5725,7 +6099,7 @@ if test -z "$ac_cv_prog_STRIP"; then
+@@ -5725,7 +6222,7 @@ if test -z "$ac_cv_prog_STRIP"; then
set dummy strip; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
@@ -2656,7 +2900,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_STRIP"; then
-@@ -5784,7 +6158,7 @@ if test -n "$ac_tool_prefix"; then
+@@ -5784,7 +6281,7 @@ if test -n "$ac_tool_prefix"; then
set dummy ${ac_tool_prefix}ranlib; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
@@ -2665,7 +2909,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
if test -n "$RANLIB"; then
-@@ -5824,7 +6198,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
+@@ -5824,7 +6321,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
set dummy ranlib; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
@@ -2674,7 +2918,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_RANLIB"; then
-@@ -5953,7 +6327,7 @@ compiler=$CC
+@@ -5953,7 +6450,7 @@ compiler=$CC
# Check for command to grab the raw symbol name followed by C symbol from nm.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
@@ -2683,7 +2927,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
-@@ -6014,8 +6388,8 @@ esac
+@@ -6014,8 +6511,8 @@ esac
lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
# Transform an extracted symbol line into symbol name and symbol address
@@ -2694,7 +2938,7 @@ Index: libffi/configure
# Handle CRLF in mingw tool chain
opt_cr=
-@@ -6051,6 +6425,7 @@ for ac_symprfx in "" "_"; do
+@@ -6051,6 +6548,7 @@ for ac_symprfx in "" "_"; do
else
lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
fi
@@ -2702,7 +2946,7 @@ Index: libffi/configure
# Check to see that the pipe works correctly.
pipe_works=no
-@@ -6092,6 +6467,18 @@ _LT_EOF
+@@ -6092,6 +6590,18 @@ _LT_EOF
if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
cat <<_LT_EOF > conftest.$ac_ext
@@ -2721,7 +2965,7 @@ Index: libffi/configure
#ifdef __cplusplus
extern "C" {
#endif
-@@ -6103,7 +6490,7 @@ _LT_EOF
+@@ -6103,7 +6613,7 @@ _LT_EOF
cat <<_LT_EOF >> conftest.$ac_ext
/* The mapping between symbol names and symbols. */
@@ -2730,7 +2974,7 @@ Index: libffi/configure
const char *name;
void *address;
}
-@@ -6129,8 +6516,8 @@ static const void *lt_preloaded_setup()
+@@ -6129,8 +6639,8 @@ static const void *lt_preloaded_setup()
_LT_EOF
# Now try linking the two files.
mv conftest.$ac_objext conftstm.$ac_objext
@@ -2741,7 +2985,7 @@ Index: libffi/configure
LIBS="conftstm.$ac_objext"
CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-@@ -6140,8 +6527,8 @@ _LT_EOF
+@@ -6140,8 +6650,8 @@ _LT_EOF
test $ac_status = 0; } && test -s conftest${ac_exeext}; then
pipe_works=yes
fi
@@ -2752,7 +2996,7 @@ Index: libffi/configure
else
echo "cannot find nm_test_func in $nlist" >&5
fi
-@@ -6178,6 +6565,23 @@ else
+@@ -6178,6 +6688,19 @@ else
$as_echo "ok" >&6; }
fi
@@ -2769,20 +3013,16 @@ Index: libffi/configure
+
+
+
-+
-+
-+
-+
-@@ -6194,7 +6598,38 @@ fi
+@@ -6198,6 +6721,41 @@ fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
+$as_echo_n "checking for sysroot... " >&6; }
-
++
+# Check whether --with-sysroot was given.
+if test "${with_sysroot+set}" = set; then :
+ withval=$with_sysroot;
@@ -2812,10 +3052,13 @@ Index: libffi/configure
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
+$as_echo "${lt_sysroot:-no}" >&6; }
++
++
++
-
-@@ -6325,7 +6760,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*
+ # Check whether --enable-libtool-lock was given.
+@@ -6325,7 +6883,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*
CFLAGS="$CFLAGS -belf"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
@@ -2824,28 +3067,163 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
ac_ext=c
-@@ -6387,11 +6822,128 @@ sparc*-*solaris*)
- ;;
- esac
- fi
-- rm -rf conftest*
-- ;;
-+ rm -rf conftest*
-+ ;;
-+esac
-+
-+need_locks="$enable_libtool_lock"
-+
+@@ -6393,19 +6951,16 @@ esac
+
+ need_locks="$enable_libtool_lock"
+
+-
+- case $host_os in
+- rhapsody* | darwin*)
+- if test -n "$ac_tool_prefix"; then
+- # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
+-set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
+set dummy ${ac_tool_prefix}mt; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if test "${ac_cv_prog_DSYMUTIL+set}" = set; then :
++if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+- if test -n "$DSYMUTIL"; then
+- ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
++ if test -n "$MANIFEST_TOOL"; then
++ ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
+ else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+@@ -6414,7 +6969,7 @@ do
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+- ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
++ ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+@@ -6424,10 +6979,10 @@ IFS=$as_save_IFS
+
+ fi
+ fi
+-DSYMUTIL=$ac_cv_prog_DSYMUTIL
+-if test -n "$DSYMUTIL"; then
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
+-$as_echo "$DSYMUTIL" >&6; }
++MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
++if test -n "$MANIFEST_TOOL"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
++$as_echo "$MANIFEST_TOOL" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ $as_echo "no" >&6; }
+@@ -6435,17 +6990,17 @@ fi
+
+
+ fi
+-if test -z "$ac_cv_prog_DSYMUTIL"; then
+- ac_ct_DSYMUTIL=$DSYMUTIL
+- # Extract the first word of "dsymutil", so it can be a program name with args.
+-set dummy dsymutil; ac_word=$2
++if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
++ ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
++ # Extract the first word of "mt", so it can be a program name with args.
++set dummy mt; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then :
++if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+- if test -n "$ac_ct_DSYMUTIL"; then
+- ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
++ if test -n "$ac_ct_MANIFEST_TOOL"; then
++ ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
+ else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+@@ -6454,7 +7009,7 @@ do
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+- ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
++ ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+@@ -6464,17 +7019,17 @@ IFS=$as_save_IFS
+
+ fi
+ fi
+-ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
+-if test -n "$ac_ct_DSYMUTIL"; then
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
+-$as_echo "$ac_ct_DSYMUTIL" >&6; }
++ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
++if test -n "$ac_ct_MANIFEST_TOOL"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
++$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ $as_echo "no" >&6; }
+ fi
+
+- if test "x$ac_ct_DSYMUTIL" = x; then
+- DSYMUTIL=":"
++ if test "x$ac_ct_MANIFEST_TOOL" = x; then
++ MANIFEST_TOOL=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+ yes:)
+@@ -6482,7 +7037,127 @@ yes:)
+ $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ ac_tool_warned=yes ;;
+ esac
+- DSYMUTIL=$ac_ct_DSYMUTIL
++ MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
++ fi
++else
++ MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
++fi
++
++test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
++$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
++if ${lt_cv_path_mainfest_tool+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_path_mainfest_tool=no
++ echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
++ $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
++ cat conftest.err >&5
++ if $GREP 'Manifest Tool' conftest.out > /dev/null; then
++ lt_cv_path_mainfest_tool=yes
++ fi
++ rm -f conftest*
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
++$as_echo "$lt_cv_path_mainfest_tool" >&6; }
++if test "x$lt_cv_path_mainfest_tool" != xyes; then
++ MANIFEST_TOOL=:
++fi
++
++
++
++
++
++
++ case $host_os in
++ rhapsody* | darwin*)
++ if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
++set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
-+if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
++if ${ac_cv_prog_DSYMUTIL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
-+ if test -n "$MANIFEST_TOOL"; then
-+ ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
++ if test -n "$DSYMUTIL"; then
++ ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
@@ -2854,7 +3232,7 @@ Index: libffi/configure
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-+ ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
++ ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
@@ -2864,10 +3242,10 @@ Index: libffi/configure
+
+fi
+fi
-+MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
-+if test -n "$MANIFEST_TOOL"; then
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
-+$as_echo "$MANIFEST_TOOL" >&6; }
++DSYMUTIL=$ac_cv_prog_DSYMUTIL
++if test -n "$DSYMUTIL"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
++$as_echo "$DSYMUTIL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
@@ -2875,17 +3253,17 @@ Index: libffi/configure
+
+
+fi
-+if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
-+ ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
-+ # Extract the first word of "mt", so it can be a program name with args.
-+set dummy mt; ac_word=$2
++if test -z "$ac_cv_prog_DSYMUTIL"; then
++ ac_ct_DSYMUTIL=$DSYMUTIL
++ # Extract the first word of "dsymutil", so it can be a program name with args.
++set dummy dsymutil; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
-+if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
++if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
-+ if test -n "$ac_ct_MANIFEST_TOOL"; then
-+ ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
++ if test -n "$ac_ct_DSYMUTIL"; then
++ ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
@@ -2894,7 +3272,7 @@ Index: libffi/configure
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-+ ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
++ ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
@@ -2904,77 +3282,29 @@ Index: libffi/configure
+
+fi
+fi
-+ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
-+if test -n "$ac_ct_MANIFEST_TOOL"; then
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
-+$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
++ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
++if test -n "$ac_ct_DSYMUTIL"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
++$as_echo "$ac_ct_DSYMUTIL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
-+ if test "x$ac_ct_MANIFEST_TOOL" = x; then
-+ MANIFEST_TOOL=":"
++ if test "x$ac_ct_DSYMUTIL" = x; then
++ DSYMUTIL=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
- esac
-+ MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
-+ fi
-+else
-+ MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
-+fi
-+
-+test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
-+$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
-+if ${lt_cv_path_mainfest_tool+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ lt_cv_path_mainfest_tool=no
-+ echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
-+ $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
-+ cat conftest.err >&5
-+ if $GREP 'Manifest Tool' conftest.out > /dev/null; then
-+ lt_cv_path_mainfest_tool=yes
-+ fi
-+ rm -f conftest*
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
-+$as_echo "$lt_cv_path_mainfest_tool" >&6; }
-+if test "x$lt_cv_path_mainfest_tool" != xyes; then
-+ MANIFEST_TOOL=:
-+fi
-+
-+
-+
-
--need_locks="$enable_libtool_lock"
-
-
- case $host_os in
-@@ -6401,7 +6953,7 @@ need_locks="$enable_libtool_lock"
- set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
- $as_echo_n "checking for $ac_word... " >&6; }
--if test "${ac_cv_prog_DSYMUTIL+set}" = set; then :
-+if ${ac_cv_prog_DSYMUTIL+:} false; then :
- $as_echo_n "(cached) " >&6
- else
- if test -n "$DSYMUTIL"; then
-@@ -6441,7 +6993,7 @@ if test -z "$ac_cv_prog_DSYMUTIL"; then
- set dummy dsymutil; ac_word=$2
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
- $as_echo_n "checking for $ac_word... " >&6; }
--if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then :
-+if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
- $as_echo_n "(cached) " >&6
++esac
++ DSYMUTIL=$ac_ct_DSYMUTIL
+ fi
else
- if test -n "$ac_ct_DSYMUTIL"; then
-@@ -6493,7 +7045,7 @@ fi
+ DSYMUTIL="$ac_cv_prog_DSYMUTIL"
+@@ -6493,7 +7168,7 @@ fi
set dummy ${ac_tool_prefix}nmedit; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
@@ -2983,7 +3313,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
if test -n "$NMEDIT"; then
-@@ -6533,7 +7085,7 @@ if test -z "$ac_cv_prog_NMEDIT"; then
+@@ -6533,7 +7208,7 @@ if test -z "$ac_cv_prog_NMEDIT"; then
set dummy nmedit; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
@@ -2992,7 +3322,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_NMEDIT"; then
-@@ -6585,7 +7137,7 @@ fi
+@@ -6585,7 +7260,7 @@ fi
set dummy ${ac_tool_prefix}lipo; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
@@ -3001,7 +3331,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
if test -n "$LIPO"; then
-@@ -6625,7 +7177,7 @@ if test -z "$ac_cv_prog_LIPO"; then
+@@ -6625,7 +7300,7 @@ if test -z "$ac_cv_prog_LIPO"; then
set dummy lipo; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
@@ -3010,7 +3340,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_LIPO"; then
-@@ -6677,7 +7229,7 @@ fi
+@@ -6677,7 +7352,7 @@ fi
set dummy ${ac_tool_prefix}otool; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
@@ -3019,7 +3349,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
if test -n "$OTOOL"; then
-@@ -6717,7 +7269,7 @@ if test -z "$ac_cv_prog_OTOOL"; then
+@@ -6717,7 +7392,7 @@ if test -z "$ac_cv_prog_OTOOL"; then
set dummy otool; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
@@ -3028,7 +3358,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_OTOOL"; then
-@@ -6769,7 +7321,7 @@ fi
+@@ -6769,7 +7444,7 @@ fi
set dummy ${ac_tool_prefix}otool64; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
@@ -3037,7 +3367,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
if test -n "$OTOOL64"; then
-@@ -6809,7 +7361,7 @@ if test -z "$ac_cv_prog_OTOOL64"; then
+@@ -6809,7 +7484,7 @@ if test -z "$ac_cv_prog_OTOOL64"; then
set dummy otool64; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
@@ -3046,7 +3376,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_OTOOL64"; then
-@@ -6884,7 +7436,7 @@ fi
+@@ -6884,7 +7559,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
$as_echo_n "checking for -single_module linker flag... " >&6; }
@@ -3055,7 +3385,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
lt_cv_apple_cc_single_mod=no
-@@ -6913,7 +7465,7 @@ fi
+@@ -6913,7 +7588,7 @@ fi
$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
@@ -3064,7 +3394,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
lt_cv_ld_exported_symbols_list=no
-@@ -6945,7 +7497,7 @@ fi
+@@ -6945,7 +7620,7 @@ fi
$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
$as_echo_n "checking for -force_load linker flag... " >&6; }
@@ -3073,7 +3403,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
lt_cv_ld_force_load=no
-@@ -6956,6 +7508,8 @@ _LT_EOF
+@@ -6956,6 +7631,8 @@ _LT_EOF
$LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
echo "$AR cru libconftest.a conftest.o" >&5
$AR cru libconftest.a conftest.o 2>&5
@@ -3082,7 +3412,7 @@ Index: libffi/configure
cat > conftest.c << _LT_EOF
int main() { return 0;}
_LT_EOF
-@@ -7020,7 +7574,7 @@ if test -n "$CPP" && test -d "$CPP"; the
+@@ -7020,7 +7697,7 @@ if test -n "$CPP" && test -d "$CPP"; the
CPP=
fi
if test -z "$CPP"; then
@@ -3091,7 +3421,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
# Double quotes because CPP needs to be expanded
-@@ -7050,7 +7604,7 @@ else
+@@ -7050,7 +7727,7 @@ else
# Broken: fails on valid input.
continue
fi
@@ -3100,7 +3430,7 @@ Index: libffi/configure
# OK, works on sane cases. Now check whether nonexistent headers
# can be detected and how.
-@@ -7066,11 +7620,11 @@ else
+@@ -7066,11 +7743,11 @@ else
ac_preproc_ok=:
break
fi
@@ -3114,7 +3444,7 @@ Index: libffi/configure
if $ac_preproc_ok; then :
break
fi
-@@ -7109,7 +7663,7 @@ else
+@@ -7109,7 +7786,7 @@ else
# Broken: fails on valid input.
continue
fi
@@ -3123,7 +3453,7 @@ Index: libffi/configure
# OK, works on sane cases. Now check whether nonexistent headers
# can be detected and how.
-@@ -7125,18 +7679,18 @@ else
+@@ -7125,18 +7802,18 @@ else
ac_preproc_ok=:
break
fi
@@ -3146,7 +3476,7 @@ Index: libffi/configure
fi
ac_ext=c
-@@ -7148,7 +7702,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+@@ -7148,7 +7825,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
$as_echo_n "checking for ANSI C header files... " >&6; }
@@ -3155,7 +3485,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-@@ -7265,8 +7819,7 @@ do :
+@@ -7265,8 +7942,7 @@ do :
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
"
@@ -3165,7 +3495,7 @@ Index: libffi/configure
cat >>confdefs.h <<_ACEOF
#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
_ACEOF
-@@ -7280,7 +7833,7 @@ for ac_header in dlfcn.h
+@@ -7280,7 +7956,7 @@ for ac_header in dlfcn.h
do :
ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
"
@@ -3174,7 +3504,7 @@ Index: libffi/configure
cat >>confdefs.h <<_ACEOF
#define HAVE_DLFCN_H 1
_ACEOF
-@@ -7467,7 +8020,7 @@ fi
+@@ -7467,7 +8143,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
$as_echo_n "checking for objdir... " >&6; }
@@ -3183,7 +3513,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
rm -f .libs 2>/dev/null
-@@ -7545,7 +8098,7 @@ file_magic*)
+@@ -7545,7 +8221,7 @@ file_magic*)
if test "$file_magic_cmd" = '$MAGIC_CMD'; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
@@ -3192,7 +3522,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
case $MAGIC_CMD in
-@@ -7611,7 +8164,7 @@ if test -z "$lt_cv_path_MAGIC_CMD"; then
+@@ -7611,7 +8287,7 @@ if test -z "$lt_cv_path_MAGIC_CMD"; then
if test -n "$ac_tool_prefix"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
$as_echo_n "checking for file... " >&6; }
@@ -3201,7 +3531,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
case $MAGIC_CMD in
-@@ -7753,7 +8306,7 @@ if test "$GCC" = yes; then
+@@ -7753,7 +8429,7 @@ if test "$GCC" = yes; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
@@ -3210,7 +3540,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_rtti_exceptions=no
-@@ -7806,8 +8359,6 @@ fi
+@@ -7806,8 +8482,6 @@ fi
lt_prog_compiler_pic=
lt_prog_compiler_static=
@@ -3219,7 +3549,7 @@ Index: libffi/configure
if test "$GCC" = yes; then
lt_prog_compiler_wl='-Wl,'
-@@ -7972,6 +8523,12 @@ $as_echo_n "checking for $compiler optio
+@@ -7972,6 +8646,12 @@ $as_echo_n "checking for $compiler optio
lt_prog_compiler_pic='--shared'
lt_prog_compiler_static='--static'
;;
@@ -3232,7 +3562,7 @@ Index: libffi/configure
pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
# Portland Group compilers (*not* the Pentium gcc compiler,
# which looks to be a dead project)
-@@ -8034,7 +8591,7 @@ $as_echo_n "checking for $compiler optio
+@@ -8034,7 +8714,7 @@ $as_echo_n "checking for $compiler optio
lt_prog_compiler_pic='-KPIC'
lt_prog_compiler_static='-Bstatic'
case $cc_basename in
@@ -3241,7 +3571,7 @@ Index: libffi/configure
lt_prog_compiler_wl='-Qoption ld ';;
*)
lt_prog_compiler_wl='-Wl,';;
-@@ -8091,13 +8648,17 @@ case $host_os in
+@@ -8091,13 +8771,17 @@ case $host_os in
lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
;;
esac
@@ -3265,7 +3595,7 @@ Index: libffi/configure
#
# Check to make sure the PIC flag actually works.
-@@ -8105,7 +8666,7 @@ $as_echo "$lt_prog_compiler_pic" >&6; }
+@@ -8105,7 +8789,7 @@ $as_echo "$lt_prog_compiler_pic" >&6; }
if test -n "$lt_prog_compiler_pic"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
@@ -3274,7 +3604,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_pic_works=no
-@@ -8158,13 +8719,18 @@ fi
+@@ -8158,13 +8842,18 @@ fi
@@ -3294,7 +3624,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_static_works=no
-@@ -8207,7 +8773,7 @@ fi
+@@ -8207,7 +8896,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
@@ -3303,7 +3633,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_c_o=no
-@@ -8262,7 +8828,7 @@ $as_echo "$lt_cv_prog_compiler_c_o" >&6;
+@@ -8262,7 +8951,7 @@ $as_echo "$lt_cv_prog_compiler_c_o" >&6;
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
@@ -3312,7 +3642,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_c_o=no
-@@ -8508,7 +9074,8 @@ _LT_EOF
+@@ -8508,7 +9197,8 @@ _LT_EOF
allow_undefined_flag=unsupported
always_export_symbols=no
enable_shared_with_static_runtimes=yes
@@ -3322,7 +3652,7 @@ Index: libffi/configure
if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-@@ -8556,7 +9123,7 @@ _LT_EOF
+@@ -8556,7 +9246,7 @@ _LT_EOF
if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
&& test "$tmp_diet" = no
then
@@ -3331,7 +3661,7 @@ Index: libffi/configure
tmp_sharedflag='-shared'
case $cc_basename,$host_cpu in
pgcc*) # Portland Group C compiler
-@@ -8607,12 +9174,12 @@ _LT_EOF
+@@ -8607,12 +9297,12 @@ _LT_EOF
whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
hardcode_libdir_flag_spec=
hardcode_libdir_flag_spec_ld='-rpath $libdir'
@@ -3346,7 +3676,7 @@ Index: libffi/configure
fi
;;
esac
-@@ -8626,8 +9193,8 @@ _LT_EOF
+@@ -8626,8 +9316,8 @@ _LT_EOF
archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
else
@@ -3357,7 +3687,7 @@ Index: libffi/configure
fi
;;
-@@ -8645,8 +9212,8 @@ _LT_EOF
+@@ -8645,8 +9335,8 @@ _LT_EOF
_LT_EOF
elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -3368,7 +3698,7 @@ Index: libffi/configure
else
ld_shlibs=no
fi
-@@ -8692,8 +9259,8 @@ _LT_EOF
+@@ -8692,8 +9382,8 @@ _LT_EOF
*)
if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -3379,7 +3709,7 @@ Index: libffi/configure
else
ld_shlibs=no
fi
-@@ -8823,7 +9390,13 @@ _LT_EOF
+@@ -8823,7 +9513,13 @@ _LT_EOF
allow_undefined_flag='-berok'
# Determine the default libpath from the value encoded in an
# empty executable.
@@ -3394,7 +3724,7 @@ Index: libffi/configure
/* end confdefs.h. */
int
-@@ -8836,22 +9409,29 @@ main ()
+@@ -8836,22 +9532,29 @@ main ()
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
@@ -3437,7 +3767,7 @@ Index: libffi/configure
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-@@ -8863,7 +9443,13 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -8863,7 +9566,13 @@ if test -z "$aix_libpath"; then aix_libp
else
# Determine the default libpath from the value encoded in an
# empty executable.
@@ -3452,7 +3782,7 @@ Index: libffi/configure
/* end confdefs.h. */
int
-@@ -8876,22 +9462,29 @@ main ()
+@@ -8876,22 +9585,29 @@ main ()
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
@@ -3495,7 +3825,7 @@ Index: libffi/configure
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
# Warning - without using the other run time loading flags,
-@@ -8936,20 +9529,63 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -8936,20 +9652,63 @@ if test -z "$aix_libpath"; then aix_libp
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
@@ -3573,7 +3903,7 @@ Index: libffi/configure
;;
darwin* | rhapsody*)
-@@ -8989,6 +9625,10 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -8989,6 +9748,10 @@ if test -z "$aix_libpath"; then aix_libp
hardcode_shlibpath_var=no
;;
@@ -3584,7 +3914,7 @@ Index: libffi/configure
# FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
# support. Future versions do this automatically, but an explicit c++rt0.o
# does not break anything, and helps significantly (at the cost of a little
-@@ -9001,7 +9641,7 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -9001,7 +9764,7 @@ if test -z "$aix_libpath"; then aix_libp
;;
# Unfortunately, older versions of FreeBSD 2 do not have this feature.
@@ -3593,7 +3923,7 @@ Index: libffi/configure
archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
hardcode_direct=yes
hardcode_minus_L=yes
-@@ -9010,7 +9650,7 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -9010,7 +9773,7 @@ if test -z "$aix_libpath"; then aix_libp
# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
freebsd* | dragonfly*)
@@ -3602,7 +3932,7 @@ Index: libffi/configure
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
hardcode_shlibpath_var=no
-@@ -9018,7 +9658,7 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -9018,7 +9781,7 @@ if test -z "$aix_libpath"; then aix_libp
hpux9*)
if test "$GCC" = yes; then
@@ -3611,7 +3941,7 @@ Index: libffi/configure
else
archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
fi
-@@ -9034,7 +9674,7 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -9034,7 +9797,7 @@ if test -z "$aix_libpath"; then aix_libp
hpux10*)
if test "$GCC" = yes && test "$with_gnu_ld" = no; then
@@ -3620,7 +3950,7 @@ Index: libffi/configure
else
archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
fi
-@@ -9058,10 +9698,10 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -9058,10 +9821,10 @@ if test -z "$aix_libpath"; then aix_libp
archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
@@ -3633,7 +3963,7 @@ Index: libffi/configure
;;
esac
else
-@@ -9078,7 +9718,7 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -9078,7 +9841,7 @@ if test -z "$aix_libpath"; then aix_libp
# (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
$as_echo_n "checking if $CC understands -b... " >&6; }
@@ -3642,7 +3972,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler__b=no
-@@ -9140,23 +9780,36 @@ fi
+@@ -9140,23 +9903,36 @@ fi
irix5* | irix6* | nonstopux*)
if test "$GCC" = yes; then
@@ -3687,7 +4017,7 @@ Index: libffi/configure
else
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
-@@ -9241,7 +9894,7 @@ rm -f core conftest.err conftest.$ac_obj
+@@ -9241,7 +10017,7 @@ rm -f core conftest.err conftest.$ac_obj
osf4* | osf5*) # as osf3* with the addition of -msym flag
if test "$GCC" = yes; then
allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
@@ -3696,7 +4026,7 @@ Index: libffi/configure
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
else
allow_undefined_flag=' -expect_unresolved \*'
-@@ -9260,9 +9913,9 @@ rm -f core conftest.err conftest.$ac_obj
+@@ -9260,9 +10036,9 @@ rm -f core conftest.err conftest.$ac_obj
no_undefined_flag=' -z defs'
if test "$GCC" = yes; then
wlarc='${wl}'
@@ -3708,7 +4038,7 @@ Index: libffi/configure
else
case `$CC -V 2>&1` in
*"Compilers 5.0"*)
-@@ -9450,7 +10103,7 @@ x|xyes)
+@@ -9450,7 +10226,7 @@ x|xyes)
# to ld, don't add -lc before -lgcc.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
@@ -3717,7 +4047,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
$RM conftest*
-@@ -9838,8 +10491,9 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -9838,8 +10614,9 @@ cygwin* | mingw* | pw32* | cegcc*)
need_version=no
need_lib_prefix=no
@@ -3729,7 +4059,7 @@ Index: libffi/configure
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
postinstall_cmds='base_file=`basename \${file}`~
-@@ -9872,13 +10526,71 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -9872,13 +10649,71 @@ cygwin* | mingw* | pw32* | cegcc*)
library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
;;
esac
@@ -3802,7 +4132,7 @@ Index: libffi/configure
# FIXME: first we should search . and the directory the executable is in
shlibpath_var=PATH
;;
-@@ -9907,6 +10619,10 @@ dgux*)
+@@ -9907,6 +10742,10 @@ dgux*)
shlibpath_var=LD_LIBRARY_PATH
;;
@@ -3813,7 +4143,7 @@ Index: libffi/configure
freebsd* | dragonfly*)
# DragonFly does not have aout. When/if they implement a new
# versioning mechanism, adjust this.
-@@ -9914,7 +10630,7 @@ freebsd* | dragonfly*)
+@@ -9914,7 +10753,7 @@ freebsd* | dragonfly*)
objformat=`/usr/bin/objformat`
else
case $host_os in
@@ -3822,7 +4152,7 @@ Index: libffi/configure
*) objformat=elf ;;
esac
fi
-@@ -9932,7 +10648,7 @@ freebsd* | dragonfly*)
+@@ -9932,7 +10771,7 @@ freebsd* | dragonfly*)
esac
shlibpath_var=LD_LIBRARY_PATH
case $host_os in
@@ -3831,7 +4161,7 @@ Index: libffi/configure
shlibpath_overrides_runpath=yes
;;
freebsd3.[01]* | freebsdelf3.[01]*)
-@@ -9970,7 +10686,7 @@ haiku*)
+@@ -9970,7 +10809,7 @@ haiku*)
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LIBRARY_PATH
shlibpath_overrides_runpath=yes
@@ -3840,7 +4170,7 @@ Index: libffi/configure
hardcode_into_libs=yes
;;
-@@ -10088,7 +10804,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+@@ -10088,7 +10927,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
shlibpath_overrides_runpath=no
# Some binutils ld are patched to set DT_RUNPATH
@@ -3849,7 +4179,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
lt_cv_shlibpath_overrides_runpath=no
-@@ -10508,7 +11224,7 @@ else
+@@ -10508,7 +11347,7 @@ else
# if libdl is installed we need to link against it
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
$as_echo_n "checking for dlopen in -ldl... " >&6; }
@@ -3858,7 +4188,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
-@@ -10542,7 +11258,7 @@ LIBS=$ac_check_lib_save_LIBS
+@@ -10542,7 +11381,7 @@ LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
@@ -3867,7 +4197,7 @@ Index: libffi/configure
lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
else
-@@ -10556,12 +11272,12 @@ fi
+@@ -10556,12 +11395,12 @@ fi
*)
ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
@@ -3882,7 +4212,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
-@@ -10595,16 +11311,16 @@ LIBS=$ac_check_lib_save_LIBS
+@@ -10595,16 +11434,16 @@ LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
@@ -3902,7 +4232,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
-@@ -10638,12 +11354,12 @@ LIBS=$ac_check_lib_save_LIBS
+@@ -10638,12 +11477,12 @@ LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
@@ -3917,7 +4247,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
-@@ -10677,12 +11393,12 @@ LIBS=$ac_check_lib_save_LIBS
+@@ -10677,12 +11516,12 @@ LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
@@ -3932,7 +4262,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
-@@ -10716,7 +11432,7 @@ LIBS=$ac_check_lib_save_LIBS
+@@ -10716,7 +11555,7 @@ LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
@@ -3941,7 +4271,7 @@ Index: libffi/configure
lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
fi
-@@ -10757,7 +11473,7 @@ fi
+@@ -10757,7 +11596,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
$as_echo_n "checking whether a program can dlopen itself... " >&6; }
@@ -3950,7 +4280,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
if test "$cross_compiling" = yes; then :
-@@ -10766,7 +11482,7 @@ else
+@@ -10766,7 +11605,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
@@ -3959,7 +4289,7 @@ Index: libffi/configure
#include "confdefs.h"
#if HAVE_DLFCN_H
-@@ -10810,10 +11526,10 @@ else
+@@ -10810,10 +11649,10 @@ else
/* When -fvisbility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
@@ -3972,7 +4302,7 @@ Index: libffi/configure
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -10863,7 +11579,7 @@ $as_echo "$lt_cv_dlopen_self" >&6; }
+@@ -10863,7 +11702,7 @@ $as_echo "$lt_cv_dlopen_self" >&6; }
wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
@@ -3981,7 +4311,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
if test "$cross_compiling" = yes; then :
-@@ -10872,7 +11588,7 @@ else
+@@ -10872,7 +11711,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
@@ -3990,7 +4320,7 @@ Index: libffi/configure
#include "confdefs.h"
#if HAVE_DLFCN_H
-@@ -10916,10 +11632,10 @@ else
+@@ -10916,10 +11755,10 @@ else
/* When -fvisbility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
@@ -4003,15 +4333,996 @@ Index: libffi/configure
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -11111,6 +11827,7 @@ CC="$lt_save_CC"
+@@ -11101,14 +11940,986 @@ CC="$lt_save_CC"
+- ac_config_commands="$ac_config_commands libtool"
++ ac_config_commands="$ac_config_commands libtool"
++
++
++
++
++# Only expand once:
+
++
++
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler vendor" >&5
++$as_echo_n "checking for C compiler vendor... " >&6; }
++if ${ax_cv_c_compiler_vendor+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ # note: don't check for gcc first since some other compilers define __GNUC__
++ vendors="intel: __ICC,__ECC,__INTEL_COMPILER
++ ibm: __xlc__,__xlC__,__IBMC__,__IBMCPP__
++ pathscale: __PATHCC__,__PATHSCALE__
++ clang: __clang__
++ gnu: __GNUC__
++ sun: __SUNPRO_C,__SUNPRO_CC
++ hp: __HP_cc,__HP_aCC
++ dec: __DECC,__DECCXX,__DECC_VER,__DECCXX_VER
++ borland: __BORLANDC__,__TURBOC__
++ comeau: __COMO__
++ cray: _CRAYC
++ kai: __KCC
++ lcc: __LCC__
++ sgi: __sgi,sgi
++ microsoft: _MSC_VER
++ metrowerks: __MWERKS__
++ watcom: __WATCOMC__
++ portland: __PGI
++ unknown: UNKNOWN"
++ for ventest in $vendors; do
++ case $ventest in
++ *:) vendor=$ventest; continue ;;
++ *) vencpp="defined("`echo $ventest | sed 's/,/) || defined(/g'`")" ;;
++ esac
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ #if !($vencpp)
++ thisisanerror;
++ #endif
++
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++ break
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ done
++ ax_cv_c_compiler_vendor=`echo $vendor | cut -d: -f1`
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_c_compiler_vendor" >&5
++$as_echo "$ax_cv_c_compiler_vendor" >&6; }
++
++
++
++
++
++
++# Check whether --enable-portable-binary was given.
++if test "${enable_portable_binary+set}" = set; then :
++ enableval=$enable_portable_binary; acx_maxopt_portable=$withval
++else
++ acx_maxopt_portable=no
++fi
++
++
++# Try to determine "good" native compiler flags if none specified via CFLAGS
++if test "$ac_test_CFLAGS" != "set"; then
++ CFLAGS=""
++ case $ax_cv_c_compiler_vendor in
++ dec) CFLAGS="-newc -w0 -O5 -ansi_alias -ansi_args -fp_reorder -tune host"
++ if test "x$acx_maxopt_portable" = xno; then
++ CFLAGS="$CFLAGS -arch host"
++ fi;;
++
++ sun) CFLAGS="-native -fast -xO5 -dalign"
++ if test "x$acx_maxopt_portable" = xyes; then
++ CFLAGS="$CFLAGS -xarch=generic"
++ fi;;
++
++ hp) CFLAGS="+Oall +Optrs_ansi +DSnative"
++ if test "x$acx_maxopt_portable" = xyes; then
++ CFLAGS="$CFLAGS +DAportable"
++ fi;;
++
++ ibm) if test "x$acx_maxopt_portable" = xno; then
++ xlc_opt="-qarch=auto -qtune=auto"
++ else
++ xlc_opt="-qtune=auto"
++ fi
++ as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$xlc_opt" | $as_tr_sh`
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $xlc_opt" >&5
++$as_echo_n "checking whether C compiler accepts $xlc_opt... " >&6; }
++if eval \${$as_CACHEVAR+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++
++ ax_check_save_flags=$CFLAGS
++ CFLAGS="$CFLAGS $xlc_opt"
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++ eval "$as_CACHEVAR=yes"
++else
++ eval "$as_CACHEVAR=no"
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ CFLAGS=$ax_check_save_flags
++fi
++eval ac_res=\$$as_CACHEVAR
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
++$as_echo "$ac_res" >&6; }
++if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
++ CFLAGS="-O3 -qansialias -w $xlc_opt"
++else
++ CFLAGS="-O3 -qansialias -w"
++ echo "******************************************************"
++ echo "* You seem to have the IBM C compiler. It is *"
++ echo "* recommended for best performance that you use: *"
++ echo "* *"
++ echo "* CFLAGS=-O3 -qarch=xxx -qtune=xxx -qansialias -w *"
++ echo "* ^^^ ^^^ *"
++ echo "* where xxx is pwr2, pwr3, 604, or whatever kind of *"
++ echo "* CPU you have. (Set the CFLAGS environment var. *"
++ echo "* and re-run configure.) For more info, man cc. *"
++ echo "******************************************************"
++fi
++
++ ;;
++
++ intel) CFLAGS="-O3 -ansi_alias"
++ if test "x$acx_maxopt_portable" = xno; then
++ icc_archflag=unknown
++ icc_flags=""
++ case $host_cpu in
++ i686*|x86_64*)
++ # icc accepts gcc assembly syntax, so these should work:
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 0 output" >&5
++$as_echo_n "checking for x86 cpuid 0 output... " >&6; }
++if ${ax_cv_gcc_x86_cpuid_0+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test "$cross_compiling" = yes; then :
++ ax_cv_gcc_x86_cpuid_0=unknown
++else
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++#include <stdio.h>
++int
++main ()
++{
++
++ int op = 0, eax, ebx, ecx, edx;
++ FILE *f;
++ __asm__("cpuid"
++ : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
++ : "a" (op));
++ f = fopen("conftest_cpuid", "w"); if (!f) return 1;
++ fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
++ fclose(f);
++ return 0;
++
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_run "$LINENO"; then :
++ ax_cv_gcc_x86_cpuid_0=`cat conftest_cpuid`; rm -f conftest_cpuid
++else
++ ax_cv_gcc_x86_cpuid_0=unknown; rm -f conftest_cpuid
++fi
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
++ conftest.$ac_objext conftest.beam conftest.$ac_ext
++fi
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_0" >&5
++$as_echo "$ax_cv_gcc_x86_cpuid_0" >&6; }
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 1 output" >&5
++$as_echo_n "checking for x86 cpuid 1 output... " >&6; }
++if ${ax_cv_gcc_x86_cpuid_1+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test "$cross_compiling" = yes; then :
++ ax_cv_gcc_x86_cpuid_1=unknown
++else
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++#include <stdio.h>
++int
++main ()
++{
++
++ int op = 1, eax, ebx, ecx, edx;
++ FILE *f;
++ __asm__("cpuid"
++ : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
++ : "a" (op));
++ f = fopen("conftest_cpuid", "w"); if (!f) return 1;
++ fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
++ fclose(f);
++ return 0;
++
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_run "$LINENO"; then :
++ ax_cv_gcc_x86_cpuid_1=`cat conftest_cpuid`; rm -f conftest_cpuid
++else
++ ax_cv_gcc_x86_cpuid_1=unknown; rm -f conftest_cpuid
++fi
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
++ conftest.$ac_objext conftest.beam conftest.$ac_ext
++fi
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_1" >&5
++$as_echo "$ax_cv_gcc_x86_cpuid_1" >&6; }
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++ case $ax_cv_gcc_x86_cpuid_0 in # see AX_GCC_ARCHFLAG
++ *:756e6547:*:*) # Intel
++ case $ax_cv_gcc_x86_cpuid_1 in
++ *6a?:*[234]:*:*|*6[789b]?:*:*:*) icc_flags="-xK";;
++ *f3[347]:*:*:*|*f41347:*:*:*) icc_flags="-xP -xN -xW -xK";;
++ *f??:*:*:*) icc_flags="-xN -xW -xK";;
++ esac ;;
++ esac ;;
++ esac
++ if test "x$icc_flags" != x; then
++ for flag in $icc_flags; do
++ as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$flag" | $as_tr_sh`
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
++$as_echo_n "checking whether C compiler accepts $flag... " >&6; }
++if eval \${$as_CACHEVAR+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++
++ ax_check_save_flags=$CFLAGS
++ CFLAGS="$CFLAGS $flag"
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++ eval "$as_CACHEVAR=yes"
++else
++ eval "$as_CACHEVAR=no"
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ CFLAGS=$ax_check_save_flags
++fi
++eval ac_res=\$$as_CACHEVAR
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
++$as_echo "$ac_res" >&6; }
++if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
++ icc_archflag=$flag; break
++else
++ :
++fi
++
++ done
++ fi
++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for icc architecture flag" >&5
++$as_echo_n "checking for icc architecture flag... " >&6; }
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $icc_archflag" >&5
++$as_echo "$icc_archflag" >&6; }
++ if test "x$icc_archflag" != xunknown; then
++ CFLAGS="$CFLAGS $icc_archflag"
++ fi
++ fi
++ ;;
++
++ gnu)
++ # default optimization flags for gcc on all systems
++ CFLAGS="-O3 -fomit-frame-pointer"
++
++ # -malign-double for x86 systems
++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -malign-double" >&5
++$as_echo_n "checking whether C compiler accepts -malign-double... " >&6; }
++if ${ax_cv_check_cflags___malign_double+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++
++ ax_check_save_flags=$CFLAGS
++ CFLAGS="$CFLAGS -malign-double"
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++ ax_cv_check_cflags___malign_double=yes
++else
++ ax_cv_check_cflags___malign_double=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ CFLAGS=$ax_check_save_flags
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___malign_double" >&5
++$as_echo "$ax_cv_check_cflags___malign_double" >&6; }
++if test x"$ax_cv_check_cflags___malign_double" = xyes; then :
++ CFLAGS="$CFLAGS -malign-double"
++else
++ :
++fi
++
++
++ # -fstrict-aliasing for gcc-2.95+
++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fstrict-aliasing" >&5
++$as_echo_n "checking whether C compiler accepts -fstrict-aliasing... " >&6; }
++if ${ax_cv_check_cflags___fstrict_aliasing+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++
++ ax_check_save_flags=$CFLAGS
++ CFLAGS="$CFLAGS -fstrict-aliasing"
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++ ax_cv_check_cflags___fstrict_aliasing=yes
++else
++ ax_cv_check_cflags___fstrict_aliasing=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ CFLAGS=$ax_check_save_flags
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fstrict_aliasing" >&5
++$as_echo "$ax_cv_check_cflags___fstrict_aliasing" >&6; }
++if test x"$ax_cv_check_cflags___fstrict_aliasing" = xyes; then :
++ CFLAGS="$CFLAGS -fstrict-aliasing"
++else
++ :
++fi
++
++
++ # note that we enable "unsafe" fp optimization with other compilers, too
++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -ffast-math" >&5
++$as_echo_n "checking whether C compiler accepts -ffast-math... " >&6; }
++if ${ax_cv_check_cflags___ffast_math+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++
++ ax_check_save_flags=$CFLAGS
++ CFLAGS="$CFLAGS -ffast-math"
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++ ax_cv_check_cflags___ffast_math=yes
++else
++ ax_cv_check_cflags___ffast_math=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ CFLAGS=$ax_check_save_flags
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___ffast_math" >&5
++$as_echo "$ax_cv_check_cflags___ffast_math" >&6; }
++if test x"$ax_cv_check_cflags___ffast_math" = xyes; then :
++ CFLAGS="$CFLAGS -ffast-math"
++else
++ :
++fi
++
++
++
++
++
++
++# Check whether --with-gcc-arch was given.
++if test "${with_gcc_arch+set}" = set; then :
++ withval=$with_gcc_arch; ax_gcc_arch=$withval
++else
++ ax_gcc_arch=yes
++fi
++
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gcc architecture flag" >&5
++$as_echo_n "checking for gcc architecture flag... " >&6; }
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5
++$as_echo "" >&6; }
++if ${ax_cv_gcc_archflag+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++
++ax_cv_gcc_archflag="unknown"
++
++if test "$GCC" = yes; then
++
++if test "x$ax_gcc_arch" = xyes; then
++ax_gcc_arch=""
++if test "$cross_compiling" = no; then
++case $host_cpu in
++ i[3456]86*|x86_64*) # use cpuid codes, in part from x86info-1.7 by D. Jones
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 0 output" >&5
++$as_echo_n "checking for x86 cpuid 0 output... " >&6; }
++if ${ax_cv_gcc_x86_cpuid_0+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test "$cross_compiling" = yes; then :
++ ax_cv_gcc_x86_cpuid_0=unknown
++else
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++#include <stdio.h>
++int
++main ()
++{
++
++ int op = 0, eax, ebx, ecx, edx;
++ FILE *f;
++ __asm__("cpuid"
++ : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
++ : "a" (op));
++ f = fopen("conftest_cpuid", "w"); if (!f) return 1;
++ fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
++ fclose(f);
++ return 0;
++
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_run "$LINENO"; then :
++ ax_cv_gcc_x86_cpuid_0=`cat conftest_cpuid`; rm -f conftest_cpuid
++else
++ ax_cv_gcc_x86_cpuid_0=unknown; rm -f conftest_cpuid
++fi
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
++ conftest.$ac_objext conftest.beam conftest.$ac_ext
++fi
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_0" >&5
++$as_echo "$ax_cv_gcc_x86_cpuid_0" >&6; }
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 1 output" >&5
++$as_echo_n "checking for x86 cpuid 1 output... " >&6; }
++if ${ax_cv_gcc_x86_cpuid_1+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test "$cross_compiling" = yes; then :
++ ax_cv_gcc_x86_cpuid_1=unknown
++else
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++#include <stdio.h>
++int
++main ()
++{
++
++ int op = 1, eax, ebx, ecx, edx;
++ FILE *f;
++ __asm__("cpuid"
++ : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
++ : "a" (op));
++ f = fopen("conftest_cpuid", "w"); if (!f) return 1;
++ fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
++ fclose(f);
++ return 0;
++
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_run "$LINENO"; then :
++ ax_cv_gcc_x86_cpuid_1=`cat conftest_cpuid`; rm -f conftest_cpuid
++else
++ ax_cv_gcc_x86_cpuid_1=unknown; rm -f conftest_cpuid
++fi
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
++ conftest.$ac_objext conftest.beam conftest.$ac_ext
++fi
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_1" >&5
++$as_echo "$ax_cv_gcc_x86_cpuid_1" >&6; }
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++ case $ax_cv_gcc_x86_cpuid_0 in
++ *:756e6547:*:*) # Intel
++ case $ax_cv_gcc_x86_cpuid_1 in
++ *5[48]?:*:*:*) ax_gcc_arch="pentium-mmx pentium" ;;
++ *5??:*:*:*) ax_gcc_arch=pentium ;;
++ *6[3456]?:*:*:*) ax_gcc_arch="pentium2 pentiumpro" ;;
++ *6a?:*[01]:*:*) ax_gcc_arch="pentium2 pentiumpro" ;;
++ *6a?:*[234]:*:*) ax_gcc_arch="pentium3 pentiumpro" ;;
++ *6[9d]?:*:*:*) ax_gcc_arch="pentium-m pentium3 pentiumpro" ;;
++ *6[78b]?:*:*:*) ax_gcc_arch="pentium3 pentiumpro" ;;
++ *6??:*:*:*) ax_gcc_arch=pentiumpro ;;
++ *f3[347]:*:*:*|*f41347:*:*:*)
++ case $host_cpu in
++ x86_64*) ax_gcc_arch="nocona pentium4 pentiumpro" ;;
++ *) ax_gcc_arch="prescott pentium4 pentiumpro" ;;
++ esac ;;
++ *f??:*:*:*) ax_gcc_arch="pentium4 pentiumpro";;
++ esac ;;
++ *:68747541:*:*) # AMD
++ case $ax_cv_gcc_x86_cpuid_1 in
++ *5[67]?:*:*:*) ax_gcc_arch=k6 ;;
++ *5[8d]?:*:*:*) ax_gcc_arch="k6-2 k6" ;;
++ *5[9]?:*:*:*) ax_gcc_arch="k6-3 k6" ;;
++ *60?:*:*:*) ax_gcc_arch=k7 ;;
++ *6[12]?:*:*:*) ax_gcc_arch="athlon k7" ;;
++ *6[34]?:*:*:*) ax_gcc_arch="athlon-tbird k7" ;;
++ *67?:*:*:*) ax_gcc_arch="athlon-4 athlon k7" ;;
++ *6[68a]?:*:*:*)
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 0x80000006 output" >&5
++$as_echo_n "checking for x86 cpuid 0x80000006 output... " >&6; }
++if ${ax_cv_gcc_x86_cpuid_0x80000006+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test "$cross_compiling" = yes; then :
++ ax_cv_gcc_x86_cpuid_0x80000006=unknown
++else
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++#include <stdio.h>
++int
++main ()
++{
++
++ int op = 0x80000006, eax, ebx, ecx, edx;
++ FILE *f;
++ __asm__("cpuid"
++ : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
++ : "a" (op));
++ f = fopen("conftest_cpuid", "w"); if (!f) return 1;
++ fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
++ fclose(f);
++ return 0;
++
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_run "$LINENO"; then :
++ ax_cv_gcc_x86_cpuid_0x80000006=`cat conftest_cpuid`; rm -f conftest_cpuid
++else
++ ax_cv_gcc_x86_cpuid_0x80000006=unknown; rm -f conftest_cpuid
++fi
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
++ conftest.$ac_objext conftest.beam conftest.$ac_ext
++fi
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_0x80000006" >&5
++$as_echo "$ax_cv_gcc_x86_cpuid_0x80000006" >&6; }
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++ # L2 cache size
++ case $ax_cv_gcc_x86_cpuid_0x80000006 in
++ *:*:*[1-9a-f]??????:*) # (L2 = ecx >> 16) >= 256
++ ax_gcc_arch="athlon-xp athlon-4 athlon k7" ;;
++ *) ax_gcc_arch="athlon-4 athlon k7" ;;
++ esac ;;
++ *f[4cef8b]?:*:*:*) ax_gcc_arch="athlon64 k8" ;;
++ *f5?:*:*:*) ax_gcc_arch="opteron k8" ;;
++ *f7?:*:*:*) ax_gcc_arch="athlon-fx opteron k8" ;;
++ *f??:*:*:*) ax_gcc_arch="k8" ;;
++ esac ;;
++ *:746e6543:*:*) # IDT
++ case $ax_cv_gcc_x86_cpuid_1 in
++ *54?:*:*:*) ax_gcc_arch=winchip-c6 ;;
++ *58?:*:*:*) ax_gcc_arch=winchip2 ;;
++ *6[78]?:*:*:*) ax_gcc_arch=c3 ;;
++ *69?:*:*:*) ax_gcc_arch="c3-2 c3" ;;
++ esac ;;
++ esac
++ if test x"$ax_gcc_arch" = x; then # fallback
++ case $host_cpu in
++ i586*) ax_gcc_arch=pentium ;;
++ i686*) ax_gcc_arch=pentiumpro ;;
++ esac
++ fi
++ ;;
++
++ sparc*)
++ # Extract the first word of "prtdiag", so it can be a program name with args.
++set dummy prtdiag; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_path_PRTDIAG+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ case $PRTDIAG in
++ [\\/]* | ?:[\\/]*)
++ ac_cv_path_PRTDIAG="$PRTDIAG" # Let the user override the test with a path.
++ ;;
++ *)
++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++as_dummy="$PATH:/usr/platform/`uname -i`/sbin/:/usr/platform/`uname -m`/sbin/"
++for as_dir in $as_dummy
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_path_PRTDIAG="$as_dir/$ac_word$ac_exec_ext"
++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++ done
++IFS=$as_save_IFS
++
++ test -z "$ac_cv_path_PRTDIAG" && ac_cv_path_PRTDIAG="prtdiag"
++ ;;
++esac
++fi
++PRTDIAG=$ac_cv_path_PRTDIAG
++if test -n "$PRTDIAG"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PRTDIAG" >&5
++$as_echo "$PRTDIAG" >&6; }
++else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++ cputype=`(((grep cpu /proc/cpuinfo | cut -d: -f2) ; ($PRTDIAG -v |grep -i sparc) ; grep -i cpu /var/run/dmesg.boot ) | head -n 1) 2> /dev/null`
++ cputype=`echo "$cputype" | tr -d ' -' |tr $as_cr_LETTERS $as_cr_letters`
++ case $cputype in
++ *ultrasparciv*) ax_gcc_arch="ultrasparc4 ultrasparc3 ultrasparc v9" ;;
++ *ultrasparciii*) ax_gcc_arch="ultrasparc3 ultrasparc v9" ;;
++ *ultrasparc*) ax_gcc_arch="ultrasparc v9" ;;
++ *supersparc*|*tms390z5[05]*) ax_gcc_arch="supersparc v8" ;;
++ *hypersparc*|*rt62[056]*) ax_gcc_arch="hypersparc v8" ;;
++ *cypress*) ax_gcc_arch=cypress ;;
++ esac ;;
++
++ alphaev5) ax_gcc_arch=ev5 ;;
++ alphaev56) ax_gcc_arch=ev56 ;;
++ alphapca56) ax_gcc_arch="pca56 ev56" ;;
++ alphapca57) ax_gcc_arch="pca57 pca56 ev56" ;;
++ alphaev6) ax_gcc_arch=ev6 ;;
++ alphaev67) ax_gcc_arch=ev67 ;;
++ alphaev68) ax_gcc_arch="ev68 ev67" ;;
++ alphaev69) ax_gcc_arch="ev69 ev68 ev67" ;;
++ alphaev7) ax_gcc_arch="ev7 ev69 ev68 ev67" ;;
++ alphaev79) ax_gcc_arch="ev79 ev7 ev69 ev68 ev67" ;;
++
++ powerpc*)
++ cputype=`((grep cpu /proc/cpuinfo | head -n 1 | cut -d: -f2 | cut -d, -f1 | sed 's/ //g') ; /usr/bin/machine ; /bin/machine; grep CPU /var/run/dmesg.boot | head -n 1 | cut -d" " -f2) 2> /dev/null`
++ cputype=`echo $cputype | sed -e 's/ppc//g;s/ *//g'`
++ case $cputype in
++ *750*) ax_gcc_arch="750 G3" ;;
++ *740[0-9]*) ax_gcc_arch="$cputype 7400 G4" ;;
++ *74[4-5][0-9]*) ax_gcc_arch="$cputype 7450 G4" ;;
++ *74[0-9][0-9]*) ax_gcc_arch="$cputype G4" ;;
++ *970*) ax_gcc_arch="970 G5 power4";;
++ *POWER4*|*power4*|*gq*) ax_gcc_arch="power4 970";;
++ *POWER5*|*power5*|*gr*|*gs*) ax_gcc_arch="power5 power4 970";;
++ 603ev|8240) ax_gcc_arch="$cputype 603e 603";;
++ *) ax_gcc_arch=$cputype ;;
++ esac
++ ax_gcc_arch="$ax_gcc_arch powerpc"
++ ;;
++esac
++fi # not cross-compiling
++fi # guess arch
++
++if test "x$ax_gcc_arch" != x -a "x$ax_gcc_arch" != xno; then
++for arch in $ax_gcc_arch; do
++ if test "x$acx_maxopt_portable" = xyes; then # if we require portable code
++ flags="-mtune=$arch"
++ # -mcpu=$arch and m$arch generate nonportable code on every arch except
++ # x86. And some other arches (e.g. Alpha) don't accept -mtune. Grrr.
++ case $host_cpu in i*86|x86_64*) flags="$flags -mcpu=$arch -m$arch";; esac
++ else
++ flags="-march=$arch -mcpu=$arch -m$arch"
++ fi
++ for flag in $flags; do
++ as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$flag" | $as_tr_sh`
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
++$as_echo_n "checking whether C compiler accepts $flag... " >&6; }
++if eval \${$as_CACHEVAR+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++
++ ax_check_save_flags=$CFLAGS
++ CFLAGS="$CFLAGS $flag"
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++ eval "$as_CACHEVAR=yes"
++else
++ eval "$as_CACHEVAR=no"
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ CFLAGS=$ax_check_save_flags
++fi
++eval ac_res=\$$as_CACHEVAR
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
++$as_echo "$ac_res" >&6; }
++if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
++ ax_cv_gcc_archflag=$flag; break
++else
++ :
++fi
++
++ done
++ test "x$ax_cv_gcc_archflag" = xunknown || break
++done
++fi
++
++fi # $GCC=yes
++
++fi
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gcc architecture flag" >&5
++$as_echo_n "checking for gcc architecture flag... " >&6; }
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_archflag" >&5
++$as_echo "$ax_cv_gcc_archflag" >&6; }
++if test "x$ax_cv_gcc_archflag" = xunknown; then
++ :
++else
++ CFLAGS="$CFLAGS $ax_cv_gcc_archflag"
++fi
++
++ ;;
++ esac
++
++ if test -z "$CFLAGS"; then
++ echo ""
++ echo "********************************************************"
++ echo "* WARNING: Don't know the best CFLAGS for this system *"
++ echo "* Use ./configure CFLAGS=... to specify your own flags *"
++ echo "* (otherwise, a default of CFLAGS=-O3 will be used) *"
++ echo "********************************************************"
++ echo ""
++ CFLAGS="-O3"
++ fi
++
++ as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$CFLAGS" | $as_tr_sh`
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $CFLAGS" >&5
++$as_echo_n "checking whether C compiler accepts $CFLAGS... " >&6; }
++if eval \${$as_CACHEVAR+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++
++ ax_check_save_flags=$CFLAGS
++ CFLAGS="$CFLAGS $CFLAGS"
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++ eval "$as_CACHEVAR=yes"
++else
++ eval "$as_CACHEVAR=no"
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ CFLAGS=$ax_check_save_flags
++fi
++eval ac_res=\$$as_CACHEVAR
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
++$as_echo "$ac_res" >&6; }
++if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
++ :
++else
++
++ echo ""
++ echo "********************************************************"
++ echo "* WARNING: The guessed CFLAGS don't seem to work with *"
++ echo "* your compiler. *"
++ echo "* Use ./configure CFLAGS=... to specify your own flags *"
++ echo "********************************************************"
++ echo ""
++ CFLAGS=""
++
++fi
++
++
++fi
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking CFLAGS for maximum warnings" >&5
++$as_echo_n "checking CFLAGS for maximum warnings... " >&6; }
++if ${ac_cv_cflags_warn_all+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ ac_cv_cflags_warn_all="no, unknown"
++ac_save_CFLAGS="$CFLAGS"
++for ac_arg in "-warn all % -warn all" "-pedantic % -Wall" "-xstrconst % -v" "-std1 % -verbose -w0 -warnprotos" "-qlanglvl=ansi % -qsrcmsg -qinfo=all:noppt:noppc:noobs:nocnd" "-ansi -ansiE % -fullwarn" "+ESlit % +w1" "-Xc % -pvctl,fullmsg" "-h conform % -h msglevel 2" #
++do CFLAGS="$ac_save_CFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
+
++int
++main ()
++{
+
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++ ac_cv_cflags_warn_all=`echo $ac_arg | sed -e 's,.*% *,,'` ; break
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++done
++CFLAGS="$ac_save_CFLAGS"
+
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cflags_warn_all" >&5
++$as_echo "$ac_cv_cflags_warn_all" >&6; }
++case ".$ac_cv_cflags_warn_all" in
++ .ok|.ok,*) ;;
++ .|.no|.no,*) ;;
++ *) if ${CFLAGS+:} false; then :
++ case " $CFLAGS " in
++ *" $ac_cv_cflags_warn_all "*)
++ { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS already contains \$ac_cv_cflags_warn_all"; } >&5
++ (: CFLAGS already contains $ac_cv_cflags_warn_all) 2>&5
++ ac_status=$?
++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++ test $ac_status = 0; }
++ ;;
++ *)
++ { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS=\"\$CFLAGS \$ac_cv_cflags_warn_all\""; } >&5
++ (: CFLAGS="$CFLAGS $ac_cv_cflags_warn_all") 2>&5
++ ac_status=$?
++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++ test $ac_status = 0; }
++ CFLAGS="$CFLAGS $ac_cv_cflags_warn_all"
++ ;;
++ esac
++else
++ CFLAGS="$ac_cv_cflags_warn_all"
++fi
++ ;;
++esac
+
+-# Only expand once:
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
++if test "x$GCC" = "xyes"; then
++ CFLAGS="$CFLAGS -fexceptions"
++fi
+
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
- $as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
- # Check whether --enable-maintainer-mode was given.
-@@ -11137,7 +11854,7 @@ fi
+@@ -11137,7 +12948,7 @@ fi
for ac_header in sys/mman.h
do :
ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
@@ -4020,7 +5331,7 @@ Index: libffi/configure
cat >>confdefs.h <<_ACEOF
#define HAVE_SYS_MMAN_H 1
_ACEOF
-@@ -11149,7 +11866,7 @@ done
+@@ -11149,7 +12960,7 @@ done
for ac_func in mmap
do :
ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
@@ -4029,7 +5340,7 @@ Index: libffi/configure
cat >>confdefs.h <<_ACEOF
#define HAVE_MMAP 1
_ACEOF
-@@ -11159,7 +11876,7 @@ done
+@@ -11159,7 +12970,7 @@ done
ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
@@ -4038,7 +5349,7 @@ Index: libffi/configure
libffi_header_sys_mman_h=yes
else
libffi_header_sys_mman_h=no
-@@ -11167,7 +11884,7 @@ fi
+@@ -11167,7 +12978,7 @@ fi
ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
@@ -4047,7 +5358,7 @@ Index: libffi/configure
libffi_func_mmap=yes
else
libffi_func_mmap=no
-@@ -11181,7 +11898,7 @@ if test "$libffi_header_sys_mman_h" != y
+@@ -11181,7 +12992,7 @@ if test "$libffi_header_sys_mman_h" != y
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether read-only mmap of a plain file works" >&5
$as_echo_n "checking whether read-only mmap of a plain file works... " >&6; }
@@ -4056,7 +5367,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
# Add a system to this blacklist if
-@@ -11200,7 +11917,7 @@ fi
+@@ -11200,7 +13011,7 @@ fi
$as_echo "$ac_cv_func_mmap_file" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap from /dev/zero works" >&5
$as_echo_n "checking whether mmap from /dev/zero works... " >&6; }
@@ -4065,7 +5376,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
# Add a system to this blacklist if it has mmap() but /dev/zero
-@@ -11226,7 +11943,7 @@ $as_echo "$ac_cv_func_mmap_dev_zero" >&6
+@@ -11226,7 +13037,7 @@ $as_echo "$ac_cv_func_mmap_dev_zero" >&6
# Unlike /dev/zero, the MAP_ANON(YMOUS) defines can be probed for.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANON(YMOUS)" >&5
$as_echo_n "checking for MAP_ANON(YMOUS)... " >&6; }
@@ -4074,7 +5385,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-@@ -11262,7 +11979,7 @@ $as_echo "$ac_cv_decl_map_anon" >&6; }
+@@ -11262,7 +13073,7 @@ $as_echo "$ac_cv_decl_map_anon" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap with MAP_ANON(YMOUS) works" >&5
$as_echo_n "checking whether mmap with MAP_ANON(YMOUS) works... " >&6; }
@@ -4083,7 +5394,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
# Add a system to this blacklist if it has mmap() and MAP_ANON or
-@@ -11322,6 +12039,10 @@ case "$host" in
+@@ -11322,6 +13133,10 @@ case "$host" in
amd64-*-freebsd* | amd64-*-openbsd*)
TARGET=X86_64; TARGETDIR=x86
@@ -4094,7 +5405,65 @@ Index: libffi/configure
;;
avr32*-*-*)
-@@ -11459,7 +12180,7 @@ esac
+@@ -11336,7 +13151,7 @@ case "$host" in
+ TARGET=FRV; TARGETDIR=frv
+ ;;
+
+- hppa*-*-linux* | parisc*-*-linux*)
++ hppa*-*-linux* | parisc*-*-linux* | hppa*-*-openbsd*)
+ TARGET=PA_LINUX; TARGETDIR=pa
+ ;;
+ hppa*64-*-hpux*)
+@@ -11349,7 +13164,7 @@ case "$host" in
+ i?86-*-freebsd* | i?86-*-openbsd*)
+ TARGET=X86_FREEBSD; TARGETDIR=x86
+ ;;
+- i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2*)
++ i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2* | i?86-*-interix*)
+ TARGET=X86_WIN32; TARGETDIR=x86
+ # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
+ # We must also check with_cross_host to decide if this is a native
+@@ -11386,28 +13201,35 @@ case "$host" in
+ mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
+ TARGET=MIPS; TARGETDIR=mips
+ ;;
+- mips*-*-linux*)
++ mips*-*-linux* | mips*-*-openbsd*)
+ # Support 128-bit long double for NewABI.
+ HAVE_LONG_DOUBLE='defined(__mips64)'
+ TARGET=MIPS; TARGETDIR=mips
+ ;;
+
++ moxie-*-*)
++ TARGET=MOXIE; TARGETDIR=moxie
++ ;;
++
+ powerpc*-*-linux* | powerpc-*-sysv*)
+ TARGET=POWERPC; TARGETDIR=powerpc
+ ;;
++ powerpc-*-amigaos*)
++ TARGET=POWERPC; TARGETDIR=powerpc
++ ;;
+ powerpc-*-beos*)
+ TARGET=POWERPC; TARGETDIR=powerpc
+ ;;
+- powerpc-*-darwin*)
++ powerpc-*-darwin* | powerpc64-*-darwin*)
+ TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
+ ;;
+ powerpc-*-aix* | rs6000-*-aix*)
+ TARGET=POWERPC_AIX; TARGETDIR=powerpc
+ ;;
+- powerpc-*-freebsd*)
++ powerpc-*-freebsd* | powerpc-*-openbsd*)
+ TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
+ ;;
+- powerpc64-*-freebsd*)
++ powerpc64-*-freebsd*)
+ TARGET=POWERPC; TARGETDIR=powerpc
+ ;;
+ powerpc*-*-rtems*)
+@@ -11455,7 +13277,7 @@ esac
if test $TARGETDIR = unknown; then
@@ -4103,7 +5472,7 @@ Index: libffi/configure
fi
if test x$TARGET = xMIPS; then
-@@ -11550,6 +12271,14 @@ else
+@@ -11546,6 +13368,14 @@ else
M68K_FALSE=
fi
@@ -4118,7 +5487,7 @@ Index: libffi/configure
if test x$TARGET = xPOWERPC; then
POWERPC_TRUE=
POWERPC_FALSE='#'
-@@ -11673,7 +12402,7 @@ fi
+@@ -11669,7 +13499,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
$as_echo_n "checking for ANSI C header files... " >&6; }
@@ -4127,7 +5496,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-@@ -11786,7 +12515,7 @@ fi
+@@ -11782,7 +13612,7 @@ fi
for ac_func in memcpy
do :
ac_fn_c_check_func "$LINENO" "memcpy" "ac_cv_func_memcpy"
@@ -4136,7 +5505,7 @@ Index: libffi/configure
cat >>confdefs.h <<_ACEOF
#define HAVE_MEMCPY 1
_ACEOF
-@@ -11794,11 +12523,22 @@ _ACEOF
+@@ -11790,11 +13620,22 @@ _ACEOF
fi
done
@@ -4160,7 +5529,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-@@ -11831,7 +12571,7 @@ fi
+@@ -11827,7 +13668,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
$as_echo_n "checking for alloca... " >&6; }
@@ -4169,7 +5538,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-@@ -11850,7 +12590,7 @@ else
+@@ -11846,7 +13687,7 @@ else
#pragma alloca
# else
# ifndef alloca /* predefined by HP cc +Olibcalls */
@@ -4178,7 +5547,7 @@ Index: libffi/configure
# endif
# endif
# endif
-@@ -11894,7 +12634,7 @@ $as_echo "#define C_ALLOCA 1" >>confdefs
+@@ -11890,7 +13731,7 @@ $as_echo "#define C_ALLOCA 1" >>confdefs
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
@@ -4187,7 +5556,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-@@ -11921,8 +12661,7 @@ if test $ac_cv_os_cray = yes; then
+@@ -11917,8 +13758,7 @@ if test $ac_cv_os_cray = yes; then
for ac_func in _getb67 GETB67 getb67; do
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
@@ -4197,7 +5566,7 @@ Index: libffi/configure
cat >>confdefs.h <<_ACEOF
#define CRAY_STACKSEG_END $ac_func
-@@ -11936,7 +12675,7 @@ fi
+@@ -11932,7 +13772,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
$as_echo_n "checking stack direction for C alloca... " >&6; }
@@ -4206,7 +5575,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
if test "$cross_compiling" = yes; then :
-@@ -11991,7 +12730,7 @@ fi
+@@ -11987,7 +13827,7 @@ fi
# This bug is HP SR number 8606223364.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of double" >&5
$as_echo_n "checking size of double... " >&6; }
@@ -4215,7 +5584,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (double))" "ac_cv_sizeof_double" "$ac_includes_default"; then :
-@@ -12000,9 +12739,8 @@ else
+@@ -11996,9 +13836,8 @@ else
if test "$ac_cv_type_double" = yes; then
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
@@ -4227,7 +5596,7 @@ Index: libffi/configure
else
ac_cv_sizeof_double=0
fi
-@@ -12025,7 +12763,7 @@ _ACEOF
+@@ -12021,7 +13860,7 @@ _ACEOF
# This bug is HP SR number 8606223364.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long double" >&5
$as_echo_n "checking size of long double... " >&6; }
@@ -4236,7 +5605,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long double))" "ac_cv_sizeof_long_double" "$ac_includes_default"; then :
-@@ -12034,9 +12772,8 @@ else
+@@ -12030,9 +13869,8 @@ else
if test "$ac_cv_type_long_double" = yes; then
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
@@ -4248,7 +5617,7 @@ Index: libffi/configure
else
ac_cv_sizeof_long_double=0
fi
-@@ -12070,7 +12807,7 @@ fi
+@@ -12066,7 +13904,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
@@ -4257,7 +5626,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
ac_cv_c_bigendian=unknown
-@@ -12288,14 +13025,14 @@ $as_echo "#define AC_APPLE_UNIVERSAL_BUI
+@@ -12284,14 +14122,14 @@ $as_echo "#define AC_APPLE_UNIVERSAL_BUI
;; #(
*)
@@ -4274,7 +5643,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
-@@ -12331,7 +13068,7 @@ $as_echo "#define HAVE_AS_CFI_PSEUDO_OP
+@@ -12327,7 +14165,7 @@ $as_echo "#define HAVE_AS_CFI_PSEUDO_OP
if test x$TARGET = xSPARC; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler and linker support unaligned pc related relocs" >&5
$as_echo_n "checking assembler and linker support unaligned pc related relocs... " >&6; }
@@ -4283,7 +5652,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
-@@ -12370,7 +13107,7 @@ $as_echo "#define HAVE_AS_SPARC_UA_PCREL
+@@ -12366,7 +14204,7 @@ $as_echo "#define HAVE_AS_SPARC_UA_PCREL
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .register pseudo-op support" >&5
$as_echo_n "checking assembler .register pseudo-op support... " >&6; }
@@ -4292,7 +5661,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
-@@ -12407,7 +13144,7 @@ fi
+@@ -12403,14 +14241,14 @@ fi
if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports pc related relocs" >&5
$as_echo_n "checking assembler supports pc related relocs... " >&6; }
@@ -4301,7 +5670,17 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
-@@ -12428,7 +13165,7 @@ $as_echo "#define HAVE_AS_X86_PCREL 1" >
+- libffi_cv_as_x86_pcrel=yes
++ libffi_cv_as_x86_pcrel=no
+ echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
+- if $CC $CFLAGS -c conftest.s 2>&1 | $EGREP -i 'illegal|warning' > /dev/null; then
+- libffi_cv_as_x86_pcrel=no
++ if $CC $CFLAGS -c conftest.s > /dev/null; then
++ libffi_cv_as_x86_pcrel=yes
+ fi
+
+ fi
+@@ -12424,7 +14262,7 @@ $as_echo "#define HAVE_AS_X86_PCREL 1" >
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .ascii pseudo-op support" >&5
$as_echo_n "checking assembler .ascii pseudo-op support... " >&6; }
@@ -4310,7 +5689,7 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
-@@ -12463,7 +13200,7 @@ $as_echo "#define HAVE_AS_ASCII_PSEUDO_O
+@@ -12459,7 +14297,7 @@ $as_echo "#define HAVE_AS_ASCII_PSEUDO_O
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .string pseudo-op support" >&5
$as_echo_n "checking assembler .string pseudo-op support... " >&6; }
@@ -4319,7 +5698,91 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
-@@ -12508,7 +13245,7 @@ esac
+@@ -12493,18 +14331,90 @@ $as_echo "#define HAVE_AS_STRING_PSEUDO_
+ fi
+ fi
+
++if test x$TARGET = xX86_WIN64; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ prefix in compiled symbols" >&5
++$as_echo_n "checking for _ prefix in compiled symbols... " >&6; }
++if ${lt_cv_sys_symbol_underscore+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_sys_symbol_underscore=no
++ cat > conftest.$ac_ext <<_LT_EOF
++void nm_test_func(){}
++int main(){nm_test_func;return 0;}
++_LT_EOF
++ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++ test $ac_status = 0; }; then
++ # Now try to grab the symbols.
++ ac_nlist=conftest.nm
++ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist\""; } >&5
++ (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) 2>&5
++ ac_status=$?
++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++ test $ac_status = 0; } && test -s "$ac_nlist"; then
++ # See whether the symbols have a leading underscore.
++ if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then
++ lt_cv_sys_symbol_underscore=yes
++ else
++ if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then
++ :
++ else
++ echo "configure: cannot find nm_test_func in $ac_nlist" >&5
++ fi
++ fi
++ else
++ echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&5
++ fi
++ else
++ echo "configure: failed program was:" >&5
++ cat conftest.c >&5
++ fi
++ rm -rf conftest*
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_symbol_underscore" >&5
++$as_echo "$lt_cv_sys_symbol_underscore" >&6; }
++ sys_symbol_underscore=$lt_cv_sys_symbol_underscore
++
++
++ if test "x$sys_symbol_underscore" = xyes; then
++
++$as_echo "#define SYMBOL_UNDERSCORE 1" >>confdefs.h
++
++ fi
++fi
++
++
++FFI_EXEC_TRAMPOLINE_TABLE=0
+ case "$target" in
+- *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
++ *arm*-apple-darwin*)
++ FFI_EXEC_TRAMPOLINE_TABLE=1
++
++$as_echo "#define FFI_EXEC_TRAMPOLINE_TABLE 1" >>confdefs.h
++
++ ;;
++ *-apple-darwin1[10]* | *-*-freebsd* | *-*-kfreebsd* | *-*-openbsd* | *-pc-solaris*)
+
+ $as_echo "#define FFI_MMAP_EXEC_WRIT 1" >>confdefs.h
+
+ ;;
+ esac
++ if test x$FFI_EXEC_TRAMPOLINE_TABLE = x1; then
++ FFI_EXEC_TRAMPOLINE_TABLE_TRUE=
++ FFI_EXEC_TRAMPOLINE_TABLE_FALSE='#'
++else
++ FFI_EXEC_TRAMPOLINE_TABLE_TRUE='#'
++ FFI_EXEC_TRAMPOLINE_TABLE_FALSE=
++fi
++
++
+
if test x$TARGET = xX86_64; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports unwind section type" >&5
$as_echo_n "checking assembler supports unwind section type... " >&6; }
@@ -4328,25 +5791,119 @@ Index: libffi/configure
$as_echo_n "(cached) " >&6
else
-@@ -12530,7 +13267,7 @@ fi
+@@ -12524,67 +14434,69 @@ $as_echo "#define HAVE_AS_X86_64_UNWIND_
+ fi
+ fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether .eh_frame section should be read-only" >&5
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether .eh_frame section should be read-only" >&5
++if test "x$GCC" = "xyes"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether .eh_frame section should be read-only" >&5
$as_echo_n "checking whether .eh_frame section should be read-only... " >&6; }
-if test "${libffi_cv_ro_eh_frame+set}" = set; then :
+if ${libffi_cv_ro_eh_frame+:} false; then :
$as_echo_n "(cached) " >&6
else
-@@ -12564,7 +13301,7 @@ fi
+- libffi_cv_ro_eh_frame=no
+- echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
+- if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
+- if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
+- libffi_cv_ro_eh_frame=yes
+- elif grep '.section.*eh_frame.*#alloc' conftest.c \
+- | grep -v '#write' > /dev/null; then
+- libffi_cv_ro_eh_frame=yes
+- fi
+- fi
+- rm -f conftest.*
++ libffi_cv_ro_eh_frame=no
++ echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
++ if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
++ if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
++ libffi_cv_ro_eh_frame=yes
++ elif grep '.section.*eh_frame.*#alloc' conftest.c \
++ | grep -v '#write' > /dev/null; then
++ libffi_cv_ro_eh_frame=yes
++ fi
++ fi
++ rm -f conftest.*
+
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_ro_eh_frame" >&5
+ $as_echo "$libffi_cv_ro_eh_frame" >&6; }
+-if test "x$libffi_cv_ro_eh_frame" = xyes; then
++ if test "x$libffi_cv_ro_eh_frame" = xyes; then
+
+ $as_echo "#define HAVE_RO_EH_FRAME 1" >>confdefs.h
+
+
+ $as_echo "#define EH_FRAME_FLAGS \"a\"" >>confdefs.h
+
+-else
++ else
+
+ $as_echo "#define EH_FRAME_FLAGS \"aw\"" >>confdefs.h
+
+-fi
++ fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __attribute__((visibility(\"hidden\")))" >&5
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __attribute__((visibility(\"hidden\")))" >&5
++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __attribute__((visibility(\"hidden\")))" >&5
$as_echo_n "checking for __attribute__((visibility(\"hidden\")))... " >&6; }
-if test "${libffi_cv_hidden_visibility_attribute+set}" = set; then :
+if ${libffi_cv_hidden_visibility_attribute+:} false; then :
$as_echo_n "(cached) " >&6
else
-@@ -12638,21 +13375,25 @@ $as_echo "#define USING_PURIFY 1" >>conf
+- echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1; }' > conftest.c
+- libffi_cv_hidden_visibility_attribute=no
+- if { ac_try='${CC-cc} -Werror -S conftest.c -o conftest.s 1>&5'
++ echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1 ; }' > conftest.c
++ libffi_cv_hidden_visibility_attribute=no
++ if { ac_try='${CC-cc} -Werror -S conftest.c -o conftest.s 1>&5'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then
+- if grep '\.hidden.*foo' conftest.s >/dev/null; then
+- libffi_cv_hidden_visibility_attribute=yes
+- fi
+- fi
+- rm -f conftest.*
++ if grep '\.hidden.*foo' conftest.s >/dev/null; then
++ libffi_cv_hidden_visibility_attribute=yes
++ fi
++ fi
++ rm -f conftest.*
+
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_hidden_visibility_attribute" >&5
+ $as_echo "$libffi_cv_hidden_visibility_attribute" >&6; }
+-if test $libffi_cv_hidden_visibility_attribute = yes; then
++ if test $libffi_cv_hidden_visibility_attribute = yes; then
+
+ $as_echo "#define HAVE_HIDDEN_VISIBILITY_ATTRIBUTE 1" >>confdefs.h
+
++ fi
+ fi
+
+
+@@ -12603,6 +14515,14 @@ $as_echo "#define FFI_DEBUG 1" >>confdef
+ fi
+ fi
+
++ if test "$enable_debug" = "yes"; then
++ FFI_DEBUG_TRUE=
++ FFI_DEBUG_FALSE='#'
++else
++ FFI_DEBUG_TRUE='#'
++ FFI_DEBUG_FALSE=
++fi
++
+
+ # Check whether --enable-structs was given.
+ if test "${enable_structs+set}" = set; then :
+@@ -12634,21 +14554,25 @@ $as_echo "#define USING_PURIFY 1" >>conf
fi
@@ -4385,7 +5942,7 @@ Index: libffi/configure
if test "${multilib}" = "yes"; then
multilib_arg="--enable-multilib"
-@@ -12668,7 +13409,7 @@ ac_config_commands="$ac_config_commands
+@@ -12664,7 +14588,7 @@ ac_config_commands="$ac_config_commands
ac_config_links="$ac_config_links include/ffitarget.h:src/$TARGETDIR/ffitarget.h"
@@ -4394,7 +5951,7 @@ Index: libffi/configure
cat >confcache <<\_ACEOF
-@@ -12735,10 +13476,21 @@ $as_echo "$as_me: WARNING: cache variabl
+@@ -12731,10 +14655,21 @@ $as_echo "$as_me: WARNING: cache variabl
:end' >>confcache
if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
if test -w "$cache_file"; then
@@ -4418,7 +5975,7 @@ Index: libffi/configure
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
-@@ -12754,6 +13506,7 @@ DEFS=-DHAVE_CONFIG_H
+@@ -12750,6 +14685,7 @@ DEFS=-DHAVE_CONFIG_H
ac_libobjs=
ac_ltlibobjs=
@@ -4426,7 +5983,7 @@ Index: libffi/configure
for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
# 1. Remove the extension, and $U if already installed.
ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
-@@ -12777,132 +13530,136 @@ else
+@@ -12773,132 +14709,144 @@ else
fi
if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
@@ -4589,13 +6146,21 @@ Index: libffi/configure
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
++if test -z "${FFI_EXEC_TRAMPOLINE_TABLE_TRUE}" && test -z "${FFI_EXEC_TRAMPOLINE_TABLE_FALSE}"; then
++ as_fn_error $? "conditional \"FFI_EXEC_TRAMPOLINE_TABLE\" was never defined.
++Usually this means the macro was only invoked conditionally." "$LINENO" 5
++fi
++if test -z "${FFI_DEBUG_TRUE}" && test -z "${FFI_DEBUG_FALSE}"; then
++ as_fn_error $? "conditional \"FFI_DEBUG\" was never defined.
++Usually this means the macro was only invoked conditionally." "$LINENO" 5
++fi
-: ${CONFIG_STATUS=./config.status}
+: "${CONFIG_STATUS=./config.status}"
ac_write_fail=0
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-@@ -13003,6 +13760,7 @@ fi
+@@ -12999,6 +14947,7 @@ fi
IFS=" "" $as_nl"
# Find who we are. Look in the path if we contain no directory separator.
@@ -4603,7 +6168,7 @@ Index: libffi/configure
case $0 in #((
*[\\/]* ) as_myself=$0 ;;
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-@@ -13048,19 +13806,19 @@ export LANGUAGE
+@@ -13044,19 +14993,19 @@ export LANGUAGE
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
@@ -4631,7 +6196,7 @@ Index: libffi/configure
as_fn_exit $as_status
} # as_fn_error
-@@ -13256,7 +14014,7 @@ $as_echo X"$as_dir" |
+@@ -13252,7 +15201,7 @@ $as_echo X"$as_dir" |
test -d "$as_dir" && break
done
test -z "$as_dirs" || eval "mkdir $as_dirs"
@@ -4640,7 +6205,7 @@ Index: libffi/configure
} # as_fn_mkdir_p
-@@ -13309,8 +14067,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
+@@ -13305,8 +15254,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
@@ -4651,7 +6216,7 @@ Index: libffi/configure
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
-@@ -13351,6 +14109,7 @@ Usage: $0 [OPTION]... [TAG]...
+@@ -13347,6 +15296,7 @@ Usage: $0 [OPTION]... [TAG]...
-h, --help print this help, then exit
-V, --version print version number and configuration settings, then exit
@@ -4659,7 +6224,7 @@ Index: libffi/configure
-q, --quiet, --silent
do not print progress messages
-d, --debug don't remove temporary files
-@@ -13372,16 +14131,17 @@ $config_links
+@@ -13368,16 +15318,17 @@ $config_links
Configuration commands:
$config_commands
@@ -4682,7 +6247,7 @@ Index: libffi/configure
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."
-@@ -13399,11 +14159,16 @@ ac_need_defaults=:
+@@ -13395,11 +15346,16 @@ ac_need_defaults=:
while test $# != 0
do
case $1 in
@@ -4700,7 +6265,7 @@ Index: libffi/configure
*)
ac_option=$1
ac_optarg=$2
-@@ -13417,12 +14182,15 @@ do
+@@ -13413,12 +15369,15 @@ do
ac_cs_recheck=: ;;
--version | --versio | --versi | --vers | --ver | --ve | --v | -V )
$as_echo "$ac_cs_version"; exit ;;
@@ -4716,7 +6281,7 @@ Index: libffi/configure
esac
as_fn_append CONFIG_FILES " '$ac_optarg'"
ac_need_defaults=false;;
-@@ -13435,7 +14203,7 @@ do
+@@ -13431,7 +15390,7 @@ do
ac_need_defaults=false;;
--he | --h)
# Conflict between --help and --header
@@ -4725,7 +6290,7 @@ Index: libffi/configure
Try \`$0 --help' for more information.";;
--help | --hel | -h )
$as_echo "$ac_cs_usage"; exit ;;
-@@ -13444,7 +14212,7 @@ Try \`$0 --help' for more information.";
+@@ -13440,7 +15399,7 @@ Try \`$0 --help' for more information.";
ac_cs_silent=: ;;
# This is an error.
@@ -4734,11 +6299,18 @@ Index: libffi/configure
Try \`$0 --help' for more information." ;;
*) as_fn_append ac_config_targets " $1"
-@@ -13488,20 +14256,6 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
+@@ -13484,20 +15443,14 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
#
# INIT-COMMANDS
#
--
++ax_enable_builddir_srcdir="$srcdir" # $srcdir
++ax_enable_builddir_host="$HOST" # $HOST / $host
++ax_enable_builddir_version="$VERSION" # $VERSION
++ax_enable_builddir_package="$PACKAGE" # $PACKAGE
++ax_enable_builddir_auxdir="$ax_enable_builddir_auxdir" # $AUX
++ax_enable_builddir_sed="$ax_enable_builddir_sed" # $SED
++ax_enable_builddir="$ax_enable_builddir" # $SUB
+
-srcdir="$srcdir"
-host="$host"
-target="$target"
@@ -4755,7 +6327,7 @@ Index: libffi/configure
AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-@@ -13540,13 +14294,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_
+@@ -13536,13 +15489,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_
lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
@@ -4776,7 +6348,7 @@ Index: libffi/configure
STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-@@ -13561,14 +14322,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$l
+@@ -13557,14 +15517,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$l
lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
@@ -4795,7 +6367,7 @@ Index: libffi/configure
DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-@@ -13601,12 +14365,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcod
+@@ -13597,12 +15560,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcod
hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
@@ -4809,7 +6381,7 @@ Index: libffi/configure
file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-@@ -13661,8 +14425,13 @@ reload_flag \
+@@ -13657,8 +15620,13 @@ reload_flag \
OBJDUMP \
deplibs_check_method \
file_magic_cmd \
@@ -4823,7 +6395,7 @@ Index: libffi/configure
STRIP \
RANLIB \
CC \
-@@ -13672,12 +14441,14 @@ lt_cv_sys_global_symbol_pipe \
+@@ -13668,12 +15636,14 @@ lt_cv_sys_global_symbol_pipe \
lt_cv_sys_global_symbol_to_cdecl \
lt_cv_sys_global_symbol_to_c_name_address \
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
@@ -4839,7 +6411,7 @@ Index: libffi/configure
DSYMUTIL \
NMEDIT \
LIPO \
-@@ -13693,7 +14464,6 @@ no_undefined_flag \
+@@ -13689,7 +15659,6 @@ no_undefined_flag \
hardcode_libdir_flag_spec \
hardcode_libdir_flag_spec_ld \
hardcode_libdir_separator \
@@ -4847,7 +6419,7 @@ Index: libffi/configure
exclude_expsyms \
include_expsyms \
file_list_spec \
-@@ -13729,6 +14499,7 @@ module_cmds \
+@@ -13725,6 +15694,7 @@ module_cmds \
module_expsym_cmds \
export_symbols_cmds \
prelink_cmds \
@@ -4855,15 +6427,16 @@ Index: libffi/configure
postinstall_cmds \
postuninstall_cmds \
finish_cmds \
-@@ -13774,7 +14545,6 @@ for ac_config_target in $ac_config_targe
+@@ -13770,7 +15740,7 @@ for ac_config_target in $ac_config_targe
do
case $ac_config_target in
"fficonfig.h") CONFIG_HEADERS="$CONFIG_HEADERS fficonfig.h" ;;
- "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
++ "buildir") CONFIG_COMMANDS="$CONFIG_COMMANDS buildir" ;;
"depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
"libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
"include") CONFIG_COMMANDS="$CONFIG_COMMANDS include" ;;
-@@ -13785,8 +14555,9 @@ do
+@@ -13781,8 +15751,9 @@ do
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;;
"man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;;
@@ -4874,7 +6447,7 @@ Index: libffi/configure
esac
done
-@@ -13810,9 +14581,10 @@ fi
+@@ -13806,9 +15777,10 @@ fi
# after its creation but before its name has been assigned to `$tmp'.
$debug ||
{
@@ -4887,7 +6460,7 @@ Index: libffi/configure
' 0
trap 'as_fn_exit 1' 1 2 13 15
}
-@@ -13820,12 +14592,13 @@ $debug ||
+@@ -13816,12 +15788,13 @@ $debug ||
{
tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
@@ -4903,7 +6476,7 @@ Index: libffi/configure
# Set up the scripts for CONFIG_FILES section.
# No need to generate them if there are no CONFIG_FILES.
-@@ -13842,12 +14615,12 @@ if test "x$ac_cr" = x; then
+@@ -13838,12 +15811,12 @@ if test "x$ac_cr" = x; then
fi
ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
@@ -4918,7 +6491,7 @@ Index: libffi/configure
_ACEOF
-@@ -13856,18 +14629,18 @@ _ACEOF
+@@ -13852,18 +15825,18 @@ _ACEOF
echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
echo "_ACEOF"
} >conf$$subs.sh ||
@@ -4941,7 +6514,7 @@ Index: libffi/configure
else
ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
fi
-@@ -13875,7 +14648,7 @@ done
+@@ -13871,7 +15844,7 @@ done
rm -f conf$$subs.sh
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
@@ -4950,7 +6523,7 @@ Index: libffi/configure
_ACEOF
sed -n '
h
-@@ -13889,7 +14662,7 @@ s/'"$ac_delim"'$//
+@@ -13885,7 +15858,7 @@ s/'"$ac_delim"'$//
t delim
:nl
h
@@ -4959,7 +6532,7 @@ Index: libffi/configure
t more1
s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
p
-@@ -13903,7 +14676,7 @@ s/.\{148\}//
+@@ -13899,7 +15872,7 @@ s/.\{148\}//
t nl
:delim
h
@@ -4968,7 +6541,7 @@ Index: libffi/configure
t more2
s/["\\]/\\&/g; s/^/"/; s/$/"/
p
-@@ -13923,7 +14696,7 @@ t delim
+@@ -13919,7 +15892,7 @@ t delim
rm -f conf$$subs.awk
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
_ACAWK
@@ -4977,7 +6550,7 @@ Index: libffi/configure
for (key in S) S_is_set[key] = 1
FS = ""
-@@ -13955,21 +14728,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/n
+@@ -13951,21 +15924,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/n
sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
else
cat
@@ -5016,7 +6589,7 @@ Index: libffi/configure
s/^[^=]*=[ ]*$//
}'
fi
-@@ -13981,7 +14762,7 @@ fi # test -n "$CONFIG_FILES"
+@@ -13977,7 +15958,7 @@ fi # test -n "$CONFIG_FILES"
# No need to generate them if there are no CONFIG_HEADERS.
# This happens for instance with `./config.status Makefile'.
if test -n "$CONFIG_HEADERS"; then
@@ -5025,7 +6598,7 @@ Index: libffi/configure
BEGIN {
_ACEOF
-@@ -13993,11 +14774,11 @@ _ACEOF
+@@ -13989,11 +15970,11 @@ _ACEOF
# handling of long lines.
ac_delim='%!_!# '
for ac_last_try in false false :; do
@@ -5040,7 +6613,7 @@ Index: libffi/configure
else
ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
fi
-@@ -14082,7 +14863,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
+@@ -14078,7 +16059,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
_ACAWK
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
@@ -5049,7 +6622,7 @@ Index: libffi/configure
fi # test -n "$CONFIG_HEADERS"
-@@ -14095,7 +14876,7 @@ do
+@@ -14091,7 +16072,7 @@ do
esac
case $ac_mode$ac_tag in
:[FHL]*:*);;
@@ -5058,7 +6631,7 @@ Index: libffi/configure
:[FH]-) ac_tag=-:-;;
:[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
esac
-@@ -14114,7 +14895,7 @@ do
+@@ -14110,7 +16091,7 @@ do
for ac_f
do
case $ac_f in
@@ -5067,7 +6640,7 @@ Index: libffi/configure
*) # Look for the file first in the build tree, then in the source tree
# (if the path is not absolute). The absolute path cannot be DOS-style,
# because $ac_f cannot contain `:'.
-@@ -14123,7 +14904,7 @@ do
+@@ -14119,7 +16100,7 @@ do
[\\/$]*) false;;
*) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
esac ||
@@ -5076,7 +6649,7 @@ Index: libffi/configure
esac
case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
as_fn_append ac_file_inputs " '$ac_f'"
-@@ -14149,8 +14930,8 @@ $as_echo "$as_me: creating $ac_file" >&6
+@@ -14145,8 +16126,8 @@ $as_echo "$as_me: creating $ac_file" >&6
esac
case $ac_tag in
@@ -5087,7 +6660,7 @@ Index: libffi/configure
esac
;;
esac
-@@ -14286,23 +15067,24 @@ s&@INSTALL@&$ac_INSTALL&;t t
+@@ -14282,23 +16263,24 @@ s&@INSTALL@&$ac_INSTALL&;t t
s&@MKDIR_P@&$ac_MKDIR_P&;t t
$ac_datarootdir_hack
"
@@ -5122,7 +6695,7 @@ Index: libffi/configure
;;
:H)
#
-@@ -14311,21 +15093,21 @@ which seems to be undefined. Please mak
+@@ -14307,21 +16289,21 @@ which seems to be undefined. Please mak
if test x"$ac_file" != x-; then
{
$as_echo "/* $configure_input */" \
@@ -5152,7 +6725,7 @@ Index: libffi/configure
fi
# Compute "$ac_file"'s index in $config_headers.
_am_arg="$ac_file"
-@@ -14379,19 +15161,19 @@ $as_echo X"$_am_arg" |
+@@ -14375,19 +16357,19 @@ $as_echo X"$_am_arg" |
$as_echo "$as_me: linking $ac_source to $ac_file" >&6;}
if test ! -r "$ac_source"; then
@@ -5175,7 +6748,7 @@ Index: libffi/configure
fi
;;
:C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-@@ -14401,14 +15183,6 @@ $as_echo "$as_me: executing $ac_file com
+@@ -14397,14 +16379,150 @@ $as_echo "$as_me: executing $ac_file com
case $ac_file$ac_mode in
@@ -5187,10 +6760,154 @@ Index: libffi/configure
- ac_file=Makefile . ${multi_basedir}/config-ml.in
- ;;
-esac ;;
++ "buildir":C) ac_top_srcdir="$ax_enable_builddir_srcdir"
++ if test ".$ax_enable_builddir" = ".." ; then
++ if test -f "$top_srcdir/Makefile" ; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: skipping top_srcdir/Makefile - left untouched" >&5
++$as_echo "$as_me: skipping top_srcdir/Makefile - left untouched" >&6;}
++ else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: skipping top_srcdir/Makefile - not created" >&5
++$as_echo "$as_me: skipping top_srcdir/Makefile - not created" >&6;}
++ fi
++ else
++ if test -f "$ac_top_srcdir/Makefile" ; then
++ a=`grep "^VERSION " "$ac_top_srcdir/Makefile"` ; b=`grep "^VERSION " Makefile`
++ test "$a" != "$b" && rm "$ac_top_srcdir/Makefile"
++ fi
++ if test -f "$ac_top_srcdir/Makefile" ; then
++ echo "$ac_top_srcdir/Makefile : $ac_top_srcdir/Makefile.in" > $tmp/conftemp.mk
++ echo " @ echo 'REMOVED,,,' >\$@" >> $tmp/conftemp.mk
++ eval "${MAKE-make} -f $tmp/conftemp.mk 2>/dev/null >/dev/null"
++ if grep '^REMOVED,,,' "$ac_top_srcdir/Makefile" >/dev/null
++ then rm $ac_top_srcdir/Makefile ; fi
++ cp $tmp/conftemp.mk $ac_top_srcdir/makefiles.mk~ ## DEBUGGING
++ fi
++ if test ! -f "$ac_top_srcdir/Makefile" ; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: create top_srcdir/Makefile guessed from local Makefile" >&5
++$as_echo "$as_me: create top_srcdir/Makefile guessed from local Makefile" >&6;}
++ x='`' ; cat >$tmp/conftemp.sed <<_EOF
++/^\$/n
++x
++/^\$/bS
++x
++/\\\\\$/{H;d;}
++{H;s/.*//;x;}
++bM
++:S
++x
++/\\\\\$/{h;d;}
++{h;s/.*//;x;}
++:M
++s/\\(\\n\\) /\\1 /g
++/^ /d
++/^[ ]*[\\#]/d
++/^VPATH *=/d
++s/^srcdir *=.*/srcdir = ./
++s/^top_srcdir *=.*/top_srcdir = ./
++/[:=]/!d
++/^\\./d
++/ = /b
++/ .= /b
++/:/!b
++s/:.*/:/
++s/ / /g
++s/ \\([a-z][a-z-]*[a-zA-Z0-9]\\)\\([ :]\\)/ \\1 \\1-all\\2/g
++s/^\\([a-z][a-z-]*[a-zA-Z0-9]\\)\\([ :]\\)/\\1 \\1-all\\2/
++s/ / /g
++/^all all-all[ :]/i\\
++all-configured : all-all
++s/ [a-zA-Z0-9-]*-all [a-zA-Z0-9-]*-all-all//g
++/-all-all/d
++a\\
++ @ HOST="\$(HOST)\" \\\\\\
++ ; test ".\$\$HOST" = "." && HOST=$x sh $ax_enable_builddir_auxdir/config.guess $x \\\\\\
++ ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
++ ; use=$x basename "\$\@" -all $x; n=$x echo \$\$BUILD | wc -w $x \\\\\\
++ ; echo "MAKE \$\$HOST : \$\$n * \$\@"; if test "\$\$n" -eq "0" ; then : \\\\\\
++ ; BUILD=$x grep "^####.*|" Makefile |tail -1| sed -e 's/.*|//' $x ; fi \\\\\\
++ ; test ".\$\$BUILD" = "." && BUILD="." \\\\\\
++ ; test "\$\$use" = "\$\@" && BUILD=$x echo "\$\$BUILD" | tail -1 $x \\\\\\
++ ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
++ ; (cd "\$\$i" && test ! -f configure && \$(MAKE) \$\$use) || exit; done
++/dist-all *:/a\\
++ @ HOST="\$(HOST)\" \\\\\\
++ ; test ".\$\$HOST" = "." && HOST=$x sh $ax_enable_builddir_auxdir/config.guess $x \\\\\\
++ ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
++ ; found=$x echo \$\$BUILD | wc -w $x \\\\\\
++ ; echo "MAKE \$\$HOST : \$\$found \$(PACKAGE)-\$(VERSION).tar.*" \\\\\\
++ ; if test "\$\$found" -eq "0" ; then : \\\\\\
++ ; BUILD=$x grep "^#### .*|" Makefile |tail -1| sed -e 's/.*|//' $x \\\\\\
++ ; fi ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
++ ; for f in \$\$i/\$(PACKAGE)-\$(VERSION).tar.* \\\\\\
++ ; do test -f "\$\$f" && mv "\$\$f" \$(PUB). ; done ; break ; done
++/dist-[a-zA-Z0-9]*-all *:/a\\
++ @ HOST="\$(HOST)\" \\\\\\
++ ; test ".\$\$HOST" = "." && HOST=$x sh ./config.guess $x \\\\\\
++ ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
++ ; found=$x echo \$\$BUILD | wc -w $x \\\\\\
++ ; echo "MAKE \$\$HOST : \$\$found \$(PACKAGE)-\$(VERSION).*" \\\\\\
++ ; if test "\$\$found" -eq "0" ; then : \\\\\\
++ ; BUILD=$x grep "^#### .*|" Makefile |tail -1| sed -e 's/.*|//' $x \\\\\\
++ ; fi ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
++ ; for f in \$\$i/\$(PACKAGE)-\$(VERSION).* \\\\\\
++ ; do test -f "\$\$f" && mv "\$\$f" \$(PUB). ; done ; break ; done
++/distclean-all *:/a\\
++ @ HOST="\$(HOST)\" \\\\\\
++ ; test ".\$\$HOST" = "." && HOST=$x sh $ax_enable_builddir_auxdir/config.guess $x \\\\\\
++ ; BUILD=$x grep "^#### .*|" Makefile | sed -e 's/.*|//' $x \\\\\\
++ ; use=$x basename "\$\@" -all $x; n=$x echo \$\$BUILD | wc -w $x \\\\\\
++ ; echo "MAKE \$\$HOST : \$\$n * \$\@ (all local builds)" \\\\\\
++ ; test ".\$\$BUILD" = "." && BUILD="." \\\\\\
++ ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
++ ; echo "# rm -r \$\$i"; done ; echo "# (sleep 3)" ; sleep 3 \\\\\\
++ ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
++ ; echo "\$\$i" | grep "^/" > /dev/null && continue \\\\\\
++ ; echo "\$\$i" | grep "^../" > /dev/null && continue \\\\\\
++ ; echo "rm -r \$\$i"; (rm -r "\$\$i") ; done ; rm Makefile
++_EOF
++ cp "$tmp/conftemp.sed" "$ac_top_srcdir/makefile.sed~" ## DEBUGGING
++ $ax_enable_builddir_sed -f $tmp/conftemp.sed Makefile >$ac_top_srcdir/Makefile
++ if test -f "$ac_top_srcdir/Makefile.mk" ; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: extend top_srcdir/Makefile with top_srcdir/Makefile.mk" >&5
++$as_echo "$as_me: extend top_srcdir/Makefile with top_srcdir/Makefile.mk" >&6;}
++ cat $ac_top_srcdir/Makefile.mk >>$ac_top_srcdir/Makefile
++ fi ; xxxx="####"
++ echo "$xxxx CONFIGURATIONS FOR TOPLEVEL MAKEFILE: " >>$ac_top_srcdir/Makefile
++ # sanity check
++ if grep '^; echo "MAKE ' $ac_top_srcdir/Makefile >/dev/null ; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: buggy sed found - it deletes tab in \"a\" text parts" >&5
++$as_echo "$as_me: buggy sed found - it deletes tab in \"a\" text parts" >&6;}
++ $ax_enable_builddir_sed -e '/^@ HOST=/s/^/ /' -e '/^; /s/^/ /' $ac_top_srcdir/Makefile \
++ >$ac_top_srcdir/Makefile~
++ (test -s $ac_top_srcdir/Makefile~ && mv $ac_top_srcdir/Makefile~ $ac_top_srcdir/Makefile) 2>/dev/null
++ fi
++ else
++ xxxx="\\#\\#\\#\\#"
++ # echo "/^$xxxx *$ax_enable_builddir_host /d" >$tmp/conftemp.sed
++ echo "s!^$xxxx [^|]* | *$ax_enable_builddir *\$!$xxxx ...... $ax_enable_builddir!" >$tmp/conftemp.sed
++ $ax_enable_builddir_sed -f "$tmp/conftemp.sed" "$ac_top_srcdir/Makefile" >$tmp/mkfile.tmp
++ cp "$tmp/conftemp.sed" "$ac_top_srcdir/makefiles.sed~" ## DEBUGGING
++ cp "$tmp/mkfile.tmp" "$ac_top_srcdir/makefiles.out~" ## DEBUGGING
++ if cmp -s "$ac_top_srcdir/Makefile" "$tmp/mkfile.tmp" 2>/dev/null ; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: keeping top_srcdir/Makefile from earlier configure" >&5
++$as_echo "$as_me: keeping top_srcdir/Makefile from earlier configure" >&6;}
++ rm "$tmp/mkfile.tmp"
++ else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: reusing top_srcdir/Makefile from earlier configure" >&5
++$as_echo "$as_me: reusing top_srcdir/Makefile from earlier configure" >&6;}
++ mv "$tmp/mkfile.tmp" "$ac_top_srcdir/Makefile"
++ fi
++ fi
++ { $as_echo "$as_me:${as_lineno-$LINENO}: build in $ax_enable_builddir (HOST=$ax_enable_builddir_host)" >&5
++$as_echo "$as_me: build in $ax_enable_builddir (HOST=$ax_enable_builddir_host)" >&6;}
++ xxxx="####"
++ echo "$xxxx" "$ax_enable_builddir_host" "|$ax_enable_builddir" >>$ac_top_srcdir/Makefile
++ fi
++ ;;
"depfiles":C) test x"$AMDEP_TRUE" != x"" || {
# Autoconf 2.62 quotes --file arguments for eval, but not when files
# are listed without --file. Let's play safe and only enable the eval
-@@ -14525,7 +15299,8 @@ $as_echo X"$file" |
+@@ -14521,7 +16639,8 @@ $as_echo X"$file" |
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
#
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
@@ -5200,7 +6917,7 @@ Index: libffi/configure
# Written by Gordon Matzigkeit, 1996
#
# This file is part of GNU Libtool.
-@@ -14628,19 +15403,42 @@ SP2NL=$lt_lt_SP2NL
+@@ -14624,19 +16743,42 @@ SP2NL=$lt_lt_SP2NL
# turn newlines into spaces.
NL2SP=$lt_lt_NL2SP
@@ -5244,7 +6961,7 @@ Index: libffi/configure
# A symbol stripping program.
STRIP=$lt_STRIP
-@@ -14670,6 +15468,12 @@ global_symbol_to_c_name_address=$lt_lt_c
+@@ -14666,6 +16808,12 @@ global_symbol_to_c_name_address=$lt_lt_c
# Transform the output of nm in a C name address pair when lib prefix is needed.
global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
@@ -5257,7 +6974,7 @@ Index: libffi/configure
# The name of the directory that contains temporary libtool files.
objdir=$objdir
-@@ -14679,6 +15483,9 @@ MAGIC_CMD=$MAGIC_CMD
+@@ -14675,6 +16823,9 @@ MAGIC_CMD=$MAGIC_CMD
# Must we lock files when doing compilation?
need_locks=$lt_need_locks
@@ -5267,7 +6984,7 @@ Index: libffi/configure
# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
DSYMUTIL=$lt_DSYMUTIL
-@@ -14793,12 +15600,12 @@ with_gcc=$GCC
+@@ -14789,12 +16940,12 @@ with_gcc=$GCC
# Compiler flag to turn off builtin functions.
no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
@@ -5283,7 +7000,7 @@ Index: libffi/configure
# Compiler flag to prevent dynamic linking.
link_static_flag=$lt_lt_prog_compiler_static
-@@ -14885,9 +15692,6 @@ inherit_rpath=$inherit_rpath
+@@ -14881,9 +17032,6 @@ inherit_rpath=$inherit_rpath
# Whether libtool must link a program against all its dependency libraries.
link_all_deplibs=$link_all_deplibs
@@ -5293,7 +7010,7 @@ Index: libffi/configure
# Set to "yes" if exported symbols are required.
always_export_symbols=$always_export_symbols
-@@ -14903,6 +15707,9 @@ include_expsyms=$lt_include_expsyms
+@@ -14899,6 +17047,9 @@ include_expsyms=$lt_include_expsyms
# Commands necessary for linking programs (against libraries) with templates.
prelink_cmds=$lt_prelink_cmds
@@ -5303,7 +7020,7 @@ Index: libffi/configure
# Specify filename containing input files.
file_list_spec=$lt_file_list_spec
-@@ -14935,210 +15742,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
+@@ -14931,210 +17082,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
# if finds mixed CR/LF and LF-only lines. Since sed operates in
# text mode, it properly converts lines to CR/LF. This bash problem
# is reportedly fixed, but why not run on old versions too?
@@ -5674,7 +7391,7 @@ Index: libffi/configure
(rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
chmod +x "$ofile"
-@@ -15158,7 +15924,7 @@ _ACEOF
+@@ -15154,7 +17264,7 @@ _ACEOF
ac_clean_files=$ac_clean_files_save
test $ac_write_fail = 0 ||
@@ -5683,7 +7400,7 @@ Index: libffi/configure
# configure is writing to config.log, and then calls config.status.
-@@ -15179,7 +15945,7 @@ if test "$no_create" != yes; then
+@@ -15175,7 +17285,7 @@ if test "$no_create" != yes; then
exec 5>>config.log
# Use ||, not &&, to avoid exiting from the if with $? = 1, which
# would make configure fail if this is the last instruction.
@@ -5696,11 +7413,9 @@ Index: libffi/configure.ac
===================================================================
--- libffi.orig/configure.ac
+++ libffi/configure.ac
-@@ -1,12 +1,10 @@
- dnl Process this with autoconf to create configure
+@@ -2,33 +2,45 @@ dnl Process this with autoconf to create
--AC_PREREQ(2.64)
-+AC_PREREQ(2.63)
+ AC_PREREQ(2.64)
-AC_INIT([libffi], [3.0.9], [http://gcc.gnu.org/bugs.html])
+AC_INIT([libffi], [3.0.11-rc2], [http://github.com/atgreen/libffi/issues])
@@ -5711,11 +7426,25 @@ Index: libffi/configure.ac
AC_CANONICAL_SYSTEM
target_alias=${target_alias-$host_alias}
-@@ -22,13 +20,15 @@ AM_INIT_AUTOMAKE
+ . ${srcdir}/configure.host
+
++AX_ENABLE_BUILDDIR
++
+ AM_INIT_AUTOMAKE
+
+ # The same as in boehm-gc and libstdc++. Have to borrow it from there.
+ # We must force CC to /not/ be precious variables; otherwise
+ # the wrong, non-multilib-adjusted value will be used in multilibs.
+ # As a side effect, we have to subst CFLAGS ourselves.
++# Also save and restore CFLAGS, since AC_PROG_CC will come up with
++# defaults of its own if none are provided.
+
m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS])
m4_define([_AC_ARG_VAR_PRECIOUS],[])
++save_CFLAGS=$CFLAGS
AC_PROG_CC
-m4_rename_force([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
++CFLAGS=$save_CFLAGS
+m4_undefine([_AC_ARG_VAR_PRECIOUS])
+m4_rename([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
@@ -5725,10 +7454,16 @@ Index: libffi/configure.ac
AM_PROG_CC_C_O
AC_PROG_LIBTOOL
+AC_CONFIG_MACRO_DIR([m4])
++
++AX_CC_MAXOPT
++AX_CFLAGS_WARN_ALL
++if test "x$GCC" = "xyes"; then
++ CFLAGS="$CFLAGS -fexceptions"
++fi
AM_MAINTAINER_MODE
-@@ -53,6 +53,10 @@ case "$host" in
+@@ -53,6 +65,10 @@ case "$host" in
amd64-*-freebsd* | amd64-*-openbsd*)
TARGET=X86_64; TARGETDIR=x86
@@ -5739,7 +7474,65 @@ Index: libffi/configure.ac
;;
avr32*-*-*)
-@@ -204,6 +208,7 @@ AM_CONDITIONAL(ALPHA, test x$TARGET = xA
+@@ -67,7 +83,7 @@ case "$host" in
+ TARGET=FRV; TARGETDIR=frv
+ ;;
+
+- hppa*-*-linux* | parisc*-*-linux*)
++ hppa*-*-linux* | parisc*-*-linux* | hppa*-*-openbsd*)
+ TARGET=PA_LINUX; TARGETDIR=pa
+ ;;
+ hppa*64-*-hpux*)
+@@ -80,7 +96,7 @@ case "$host" in
+ i?86-*-freebsd* | i?86-*-openbsd*)
+ TARGET=X86_FREEBSD; TARGETDIR=x86
+ ;;
+- i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2*)
++ i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2* | i?86-*-interix*)
+ TARGET=X86_WIN32; TARGETDIR=x86
+ # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
+ # We must also check with_cross_host to decide if this is a native
+@@ -117,28 +133,35 @@ case "$host" in
+ mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
+ TARGET=MIPS; TARGETDIR=mips
+ ;;
+- mips*-*-linux*)
++ mips*-*-linux* | mips*-*-openbsd*)
+ # Support 128-bit long double for NewABI.
+ HAVE_LONG_DOUBLE='defined(__mips64)'
+ TARGET=MIPS; TARGETDIR=mips
+ ;;
+
++ moxie-*-*)
++ TARGET=MOXIE; TARGETDIR=moxie
++ ;;
++
+ powerpc*-*-linux* | powerpc-*-sysv*)
+ TARGET=POWERPC; TARGETDIR=powerpc
+ ;;
++ powerpc-*-amigaos*)
++ TARGET=POWERPC; TARGETDIR=powerpc
++ ;;
+ powerpc-*-beos*)
+ TARGET=POWERPC; TARGETDIR=powerpc
+ ;;
+- powerpc-*-darwin*)
++ powerpc-*-darwin* | powerpc64-*-darwin*)
+ TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
+ ;;
+ powerpc-*-aix* | rs6000-*-aix*)
+ TARGET=POWERPC_AIX; TARGETDIR=powerpc
+ ;;
+- powerpc-*-freebsd*)
++ powerpc-*-freebsd* | powerpc-*-openbsd*)
+ TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
+ ;;
+- powerpc64-*-freebsd*)
++ powerpc64-*-freebsd*)
+ TARGET=POWERPC; TARGETDIR=powerpc
+ ;;
+ powerpc*-*-rtems*)
+@@ -200,6 +223,7 @@ AM_CONDITIONAL(ALPHA, test x$TARGET = xA
AM_CONDITIONAL(IA64, test x$TARGET = xIA64)
AM_CONDITIONAL(M32R, test x$TARGET = xM32R)
AM_CONDITIONAL(M68K, test x$TARGET = xM68K)
@@ -5747,7 +7540,131 @@ Index: libffi/configure.ac
AM_CONDITIONAL(POWERPC, test x$TARGET = xPOWERPC)
AM_CONDITIONAL(POWERPC_AIX, test x$TARGET = xPOWERPC_AIX)
AM_CONDITIONAL(POWERPC_DARWIN, test x$TARGET = xPOWERPC_DARWIN)
-@@ -423,21 +428,25 @@ AC_ARG_ENABLE(purify-safety,
+@@ -311,13 +335,30 @@ if test x$TARGET = xX86 || test x$TARGET
+ fi
+ fi
+
++if test x$TARGET = xX86_WIN64; then
++ LT_SYS_SYMBOL_USCORE
++ if test "x$sys_symbol_underscore" = xyes; then
++ AC_DEFINE(SYMBOL_UNDERSCORE, 1, [Define if symbols are underscored.])
++ fi
++fi
++
++
++FFI_EXEC_TRAMPOLINE_TABLE=0
+ case "$target" in
+- *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
++ *arm*-apple-darwin*)
++ FFI_EXEC_TRAMPOLINE_TABLE=1
++ AC_DEFINE(FFI_EXEC_TRAMPOLINE_TABLE, 1,
++ [Cannot use PROT_EXEC on this target, so, we revert to
++ alternative means])
++ ;;
++ *-apple-darwin1[[10]]* | *-*-freebsd* | *-*-kfreebsd* | *-*-openbsd* | *-pc-solaris*)
+ AC_DEFINE(FFI_MMAP_EXEC_WRIT, 1,
+ [Cannot use malloc on this target, so, we revert to
+ alternative means])
+ ;;
+ esac
++AM_CONDITIONAL(FFI_EXEC_TRAMPOLINE_TABLE, test x$FFI_EXEC_TRAMPOLINE_TABLE = x1)
++AC_SUBST(FFI_EXEC_TRAMPOLINE_TABLE)
+
+ if test x$TARGET = xX86_64; then
+ AC_CACHE_CHECK([assembler supports unwind section type],
+@@ -334,44 +375,46 @@ if test x$TARGET = xX86_64; then
+ fi
+ fi
+
+-AC_CACHE_CHECK([whether .eh_frame section should be read-only],
+- libffi_cv_ro_eh_frame, [
+- libffi_cv_ro_eh_frame=no
+- echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
+- if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
+- if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
+- libffi_cv_ro_eh_frame=yes
+- elif grep '.section.*eh_frame.*#alloc' conftest.c \
+- | grep -v '#write' > /dev/null; then
+- libffi_cv_ro_eh_frame=yes
+- fi
+- fi
+- rm -f conftest.*
+- ])
+-if test "x$libffi_cv_ro_eh_frame" = xyes; then
+- AC_DEFINE(HAVE_RO_EH_FRAME, 1,
+- [Define if .eh_frame sections should be read-only.])
+- AC_DEFINE(EH_FRAME_FLAGS, "a",
+- [Define to the flags needed for the .section .eh_frame directive.])
+-else
+- AC_DEFINE(EH_FRAME_FLAGS, "aw",
+- [Define to the flags needed for the .section .eh_frame directive.])
+-fi
++if test "x$GCC" = "xyes"; then
++ AC_CACHE_CHECK([whether .eh_frame section should be read-only],
++ libffi_cv_ro_eh_frame, [
++ libffi_cv_ro_eh_frame=no
++ echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
++ if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
++ if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
++ libffi_cv_ro_eh_frame=yes
++ elif grep '.section.*eh_frame.*#alloc' conftest.c \
++ | grep -v '#write' > /dev/null; then
++ libffi_cv_ro_eh_frame=yes
++ fi
++ fi
++ rm -f conftest.*
++ ])
++ if test "x$libffi_cv_ro_eh_frame" = xyes; then
++ AC_DEFINE(HAVE_RO_EH_FRAME, 1,
++ [Define if .eh_frame sections should be read-only.])
++ AC_DEFINE(EH_FRAME_FLAGS, "a",
++ [Define to the flags needed for the .section .eh_frame directive. ])
++ else
++ AC_DEFINE(EH_FRAME_FLAGS, "aw",
++ [Define to the flags needed for the .section .eh_frame directive. ])
++ fi
+
+-AC_CACHE_CHECK([for __attribute__((visibility("hidden")))],
+- libffi_cv_hidden_visibility_attribute, [
+- echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1; }' > conftest.c
+- libffi_cv_hidden_visibility_attribute=no
+- if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
+- if grep '\.hidden.*foo' conftest.s >/dev/null; then
+- libffi_cv_hidden_visibility_attribute=yes
+- fi
+- fi
+- rm -f conftest.*
+- ])
+-if test $libffi_cv_hidden_visibility_attribute = yes; then
+- AC_DEFINE(HAVE_HIDDEN_VISIBILITY_ATTRIBUTE, 1,
+- [Define if __attribute__((visibility("hidden"))) is supported.])
++ AC_CACHE_CHECK([for __attribute__((visibility("hidden")))],
++ libffi_cv_hidden_visibility_attribute, [
++ echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1 ; }' > conftest.c
++ libffi_cv_hidden_visibility_attribute=no
++ if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
++ if grep '\.hidden.*foo' conftest.s >/dev/null; then
++ libffi_cv_hidden_visibility_attribute=yes
++ fi
++ fi
++ rm -f conftest.*
++ ])
++ if test $libffi_cv_hidden_visibility_attribute = yes; then
++ AC_DEFINE(HAVE_HIDDEN_VISIBILITY_ATTRIBUTE, 1,
++ [Define if __attribute__((visibility("hidden"))) is supported.])
++ fi
+ fi
+
+ AH_BOTTOM([
+@@ -400,6 +443,7 @@ AC_ARG_ENABLE(debug,
+ if test "$enable_debug" = "yes"; then
+ AC_DEFINE(FFI_DEBUG, 1, [Define this if you want extra debugging.])
+ fi)
++AM_CONDITIONAL(FFI_DEBUG, test "$enable_debug" = "yes")
+
+ AC_ARG_ENABLE(structs,
+ [ --disable-structs omit code for struct support],
+@@ -419,21 +463,25 @@ AC_ARG_ENABLE(purify-safety,
AC_DEFINE(USING_PURIFY, 1, [Define this if you are using Purify and want to suppress spurious messages.])
fi)
@@ -5787,7 +7704,7 @@ Index: libffi/configure.ac
if test "${multilib}" = "yes"; then
multilib_arg="--enable-multilib"
-@@ -453,6 +462,6 @@ test -d src/$TARGETDIR || mkdir src/$TAR
+@@ -449,6 +497,6 @@ test -d src/$TARGETDIR || mkdir src/$TAR
AC_CONFIG_LINKS(include/ffitarget.h:src/$TARGETDIR/ffitarget.h)
@@ -13265,6 +15182,167 @@ Index: libffi/texinfo.tex
+@ignore
+ arch-tag: e1b36e32-c96e-4135-a41a-0b2efa2ea115
+@end ignore
+Index: libffi/include/Makefile.am
+===================================================================
+--- libffi.orig/include/Makefile.am
++++ libffi/include/Makefile.am
+@@ -5,8 +5,5 @@ AUTOMAKE_OPTIONS=foreign
+ DISTCLEANFILES=ffitarget.h
+ EXTRA_DIST=ffi.h.in ffi_common.h
+
+-# Where generated headers like ffitarget.h get installed.
+-gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
+-toollibffidir := $(libdir)/gcc/$(target_alias)/$(gcc_version)/include
+-
+-toollibffi_HEADERS = ffi.h ffitarget.h
++includesdir = $(libdir)/@PACKAGE_NAME@-@PACKAGE_VERSION@/include
++nodist_includes_HEADERS = ffi.h ffitarget.h
+Index: libffi/testsuite/Makefile.am
+===================================================================
+--- libffi.orig/testsuite/Makefile.am
++++ libffi/testsuite/Makefile.am
+@@ -14,3 +14,67 @@ RUNTEST = `if [ -f $(top_srcdir)/../deja
+ AM_RUNTESTFLAGS =
+
+ CLEANFILES = *.exe core* *.log *.sum
++
++EXTRA_DIST = libffi.special/special.exp \
++libffi.special/unwindtest_ffi_call.cc libffi.special/unwindtest.cc \
++libffi.special/ffitestcxx.h config/default.exp lib/target-libpath.exp \
++lib/libffi.exp lib/wrapper.exp libffi.call/float.c \
++libffi.call/cls_multi_schar.c libffi.call/float3.c \
++libffi.call/cls_3_1byte.c libffi.call/stret_large2.c \
++libffi.call/cls_5_1_byte.c libffi.call/stret_medium.c \
++libffi.call/promotion.c libffi.call/cls_dbls_struct.c \
++libffi.call/nested_struct.c libffi.call/closure_fn1.c \
++libffi.call/cls_4_1byte.c libffi.call/cls_float.c \
++libffi.call/cls_2byte.c libffi.call/closure_fn4.c \
++libffi.call/return_fl2.c libffi.call/nested_struct7.c \
++libffi.call/cls_uint.c libffi.call/cls_align_sint64.c \
++libffi.call/float1.c libffi.call/cls_19byte.c \
++libffi.call/nested_struct1.c libffi.call/cls_4byte.c \
++libffi.call/return_fl1.c libffi.call/cls_align_pointer.c \
++libffi.call/nested_struct4.c libffi.call/nested_struct3.c \
++libffi.call/struct7.c libffi.call/nested_struct9.c \
++libffi.call/cls_sshort.c libffi.call/cls_ulonglong.c \
++libffi.call/cls_pointer_stack.c libffi.call/cls_multi_uchar.c \
++libffi.call/testclosure.c libffi.call/cls_3byte1.c \
++libffi.call/struct6.c libffi.call/return_uc.c libffi.call/return_ll1.c \
++libffi.call/cls_ushort.c libffi.call/stret_medium2.c \
++libffi.call/cls_multi_ushortchar.c libffi.call/return_dbl2.c \
++libffi.call/closure_loc_fn0.c libffi.call/return_sc.c \
++libffi.call/nested_struct8.c libffi.call/cls_7_1_byte.c \
++libffi.call/return_ll.c libffi.call/cls_pointer.c \
++libffi.call/err_bad_abi.c libffi.call/return_dbl1.c \
++libffi.call/call.exp libffi.call/ffitest.h libffi.call/strlen.c \
++libffi.call/return_sl.c libffi.call/cls_1_1byte.c \
++libffi.call/struct1.c libffi.call/cls_64byte.c libffi.call/return_ul.c \
++libffi.call/cls_double.c libffi.call/many_win32.c \
++libffi.call/cls_16byte.c libffi.call/cls_align_double.c \
++libffi.call/cls_align_uint16.c libffi.call/cls_9byte1.c \
++libffi.call/cls_multi_sshortchar.c libffi.call/cls_multi_ushort.c \
++libffi.call/closure_stdcall.c libffi.call/return_fl.c \
++libffi.call/strlen_win32.c libffi.call/return_ldl.c \
++libffi.call/cls_align_float.c libffi.call/struct3.c \
++libffi.call/cls_uchar.c libffi.call/cls_sint.c libffi.call/float2.c \
++libffi.call/cls_align_longdouble_split.c \
++libffi.call/cls_longdouble_va.c libffi.call/cls_multi_sshort.c \
++libffi.call/stret_large.c libffi.call/cls_align_sint16.c \
++libffi.call/nested_struct6.c libffi.call/cls_5byte.c \
++libffi.call/return_dbl.c libffi.call/cls_20byte.c \
++libffi.call/cls_8byte.c libffi.call/pyobjc-tc.c \
++libffi.call/cls_24byte.c libffi.call/cls_align_longdouble_split2.c \
++libffi.call/cls_6_1_byte.c libffi.call/cls_schar.c \
++libffi.call/cls_18byte.c libffi.call/closure_fn3.c \
++libffi.call/err_bad_typedef.c libffi.call/closure_fn2.c \
++libffi.call/struct2.c libffi.call/cls_3byte2.c \
++libffi.call/cls_align_longdouble.c libffi.call/cls_20byte1.c \
++libffi.call/return_fl3.c libffi.call/cls_align_uint32.c \
++libffi.call/problem1.c libffi.call/float4.c \
++libffi.call/cls_align_uint64.c libffi.call/struct9.c \
++libffi.call/closure_fn5.c libffi.call/cls_align_sint32.c \
++libffi.call/closure_fn0.c libffi.call/closure_fn6.c \
++libffi.call/struct4.c libffi.call/nested_struct2.c \
++libffi.call/cls_6byte.c libffi.call/cls_7byte.c libffi.call/many.c \
++libffi.call/struct8.c libffi.call/negint.c libffi.call/struct5.c \
++libffi.call/cls_12byte.c libffi.call/cls_double_va.c \
++libffi.call/cls_longdouble.c libffi.call/cls_9byte2.c \
++libffi.call/nested_struct10.c libffi.call/nested_struct5.c \
++libffi.call/huge_struct.c
+Index: libffi/testsuite/lib/libffi.exp
+===================================================================
+--- libffi.orig/testsuite/lib/libffi.exp
++++ libffi/testsuite/lib/libffi.exp
+@@ -1,4 +1,4 @@
+-# Copyright (C) 2003, 2005, 2008, 2009, 2010 Free Software Foundation, Inc.
++# Copyright (C) 2003, 2005, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+
+ # This program is free software; you can redistribute it and/or modify
+ # it under the terms of the GNU General Public License as published by
+@@ -16,7 +16,7 @@
+
+ proc load_gcc_lib { filename } {
+ global srcdir
+- load_file $srcdir/../../gcc/testsuite/lib/$filename
++ load_file $srcdir/lib/$filename
+ }
+
+ load_lib dg.exp
+@@ -94,7 +94,6 @@ proc libffi-init { args } {
+ global srcdir
+ global blddirffi
+ global objdir
+- global blddircxx
+ global TOOL_OPTIONS
+ global tool
+ global libffi_include
+@@ -102,10 +101,8 @@ proc libffi-init { args } {
+ global tool_root_dir
+ global ld_library_path
+
+- set blddirffi [lookfor_file [get_multilibs] libffi]
++ set blddirffi [pwd]/..
+ verbose "libffi $blddirffi"
+- set blddircxx [lookfor_file [get_multilibs] libstdc++-v3]
+- verbose "libstdc++ $blddircxx"
+
+ set gccdir [lookfor_file $tool_root_dir gcc/libgcc.a]
+ if {$gccdir != ""} {
+@@ -132,8 +129,6 @@ proc libffi-init { args } {
+ }
+ # add the library path for libffi.
+ append ld_library_path ":${blddirffi}/.libs"
+- # add the library path for libstdc++ as well.
+- append ld_library_path ":${blddircxx}/src/.libs"
+
+ verbose "ld_library_path: $ld_library_path"
+
+@@ -146,7 +141,6 @@ proc libffi-init { args } {
+ if { $libffi_dir != "" } {
+ set libffi_dir [file dirname ${libffi_dir}]
+ set libffi_link_flags "-L${libffi_dir}/.libs"
+- lappend libffi_link_flags "-L${blddircxx}/src/.libs"
+ }
+
+ set_ld_library_path_env_vars
+Index: libffi/m4/asmcfi.m4
+===================================================================
+--- /dev/null
++++ libffi/m4/asmcfi.m4
+@@ -0,0 +1,13 @@
++AC_DEFUN([GCC_AS_CFI_PSEUDO_OP],
++[AC_CACHE_CHECK([assembler .cfi pseudo-op support],
++ gcc_cv_as_cfi_pseudo_op, [
++ gcc_cv_as_cfi_pseudo_op=unknown
++ AC_TRY_COMPILE([asm (".cfi_startproc\n\t.cfi_endproc");],,
++ [gcc_cv_as_cfi_pseudo_op=yes],
++ [gcc_cv_as_cfi_pseudo_op=no])
++ ])
++ if test "x$gcc_cv_as_cfi_pseudo_op" = xyes; then
++ AC_DEFINE(HAVE_AS_CFI_PSEUDO_OP, 1,
++ [Define if your assembler supports .cfi_* directives.])
++ fi
++])
Index: libffi/testsuite/lib/target-libpath.exp
===================================================================
--- /dev/null
@@ -13583,142 +15661,2691 @@ Index: libffi/testsuite/lib/wrapper.exp
+ }
+ }
+}
-Index: libffi/include/Makefile.am
+Index: libffi/m4/ax_cc_maxopt.m4
===================================================================
---- libffi.orig/include/Makefile.am
-+++ libffi/include/Makefile.am
-@@ -5,8 +5,5 @@ AUTOMAKE_OPTIONS=foreign
- DISTCLEANFILES=ffitarget.h
- EXTRA_DIST=ffi.h.in ffi_common.h
+--- /dev/null
++++ libffi/m4/ax_cc_maxopt.m4
+@@ -0,0 +1,180 @@
++# ===========================================================================
++# http://www.gnu.org/software/autoconf-archive/ax_cc_maxopt.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++# AX_CC_MAXOPT
++#
++# DESCRIPTION
++#
++# Try to turn on "good" C optimization flags for various compilers and
++# architectures, for some definition of "good". (In our case, good for
++# FFTW and hopefully for other scientific codes. Modify as needed.)
++#
++# The user can override the flags by setting the CFLAGS environment
++# variable. The user can also specify --enable-portable-binary in order to
++# disable any optimization flags that might result in a binary that only
++# runs on the host architecture.
++#
++# Note also that the flags assume that ANSI C aliasing rules are followed
++# by the code (e.g. for gcc's -fstrict-aliasing), and that floating-point
++# computations can be re-ordered as needed.
++#
++# Requires macros: AX_CHECK_COMPILE_FLAG, AX_COMPILER_VENDOR,
++# AX_GCC_ARCHFLAG, AX_GCC_X86_CPUID.
++#
++# LICENSE
++#
++# Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
++# Copyright (c) 2008 Matteo Frigo
++#
++# This program is free software: you can redistribute it and/or modify it
++# under the terms of the GNU General Public License as published by the
++# Free Software Foundation, either version 3 of the License, or (at your
++# option) any later version.
++#
++# This program is distributed in the hope that it will be useful, but
++# WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
++# Public License for more details.
++#
++# You should have received a copy of the GNU General Public License along
++# with this program. If not, see <http://www.gnu.org/licenses/>.
++#
++# As a special exception, the respective Autoconf Macro's copyright owner
++# gives unlimited permission to copy, distribute and modify the configure
++# scripts that are the output of Autoconf when processing the Macro. You
++# need not follow the terms of the GNU General Public License when using
++# or distributing such scripts, even though portions of the text of the
++# Macro appear in them. The GNU General Public License (GPL) does govern
++# all other use of the material that constitutes the Autoconf Macro.
++#
++# This special exception to the GPL applies to versions of the Autoconf
++# Macro released by the Autoconf Archive. When you make and distribute a
++# modified version of the Autoconf Macro, you may extend this special
++# exception to the GPL to apply to your modified version as well.
++
++#serial 12
++
++AC_DEFUN([AX_CC_MAXOPT],
++[
++AC_REQUIRE([AC_PROG_CC])
++AC_REQUIRE([AX_COMPILER_VENDOR])
++AC_REQUIRE([AC_CANONICAL_HOST])
++
++AC_ARG_ENABLE(portable-binary, [AS_HELP_STRING([--enable-portable-binary], [disable compiler optimizations that would produce unportable binaries])],
++ acx_maxopt_portable=$withval, acx_maxopt_portable=no)
++
++# Try to determine "good" native compiler flags if none specified via CFLAGS
++if test "$ac_test_CFLAGS" != "set"; then
++ CFLAGS=""
++ case $ax_cv_c_compiler_vendor in
++ dec) CFLAGS="-newc -w0 -O5 -ansi_alias -ansi_args -fp_reorder -tune host"
++ if test "x$acx_maxopt_portable" = xno; then
++ CFLAGS="$CFLAGS -arch host"
++ fi;;
++
++ sun) CFLAGS="-native -fast -xO5 -dalign"
++ if test "x$acx_maxopt_portable" = xyes; then
++ CFLAGS="$CFLAGS -xarch=generic"
++ fi;;
++
++ hp) CFLAGS="+Oall +Optrs_ansi +DSnative"
++ if test "x$acx_maxopt_portable" = xyes; then
++ CFLAGS="$CFLAGS +DAportable"
++ fi;;
++
++ ibm) if test "x$acx_maxopt_portable" = xno; then
++ xlc_opt="-qarch=auto -qtune=auto"
++ else
++ xlc_opt="-qtune=auto"
++ fi
++ AX_CHECK_COMPILE_FLAG($xlc_opt,
++ CFLAGS="-O3 -qansialias -w $xlc_opt",
++ [CFLAGS="-O3 -qansialias -w"
++ echo "******************************************************"
++ echo "* You seem to have the IBM C compiler. It is *"
++ echo "* recommended for best performance that you use: *"
++ echo "* *"
++ echo "* CFLAGS=-O3 -qarch=xxx -qtune=xxx -qansialias -w *"
++ echo "* ^^^ ^^^ *"
++ echo "* where xxx is pwr2, pwr3, 604, or whatever kind of *"
++ echo "* CPU you have. (Set the CFLAGS environment var. *"
++ echo "* and re-run configure.) For more info, man cc. *"
++ echo "******************************************************"])
++ ;;
++
++ intel) CFLAGS="-O3 -ansi_alias"
++ if test "x$acx_maxopt_portable" = xno; then
++ icc_archflag=unknown
++ icc_flags=""
++ case $host_cpu in
++ i686*|x86_64*)
++ # icc accepts gcc assembly syntax, so these should work:
++ AX_GCC_X86_CPUID(0)
++ AX_GCC_X86_CPUID(1)
++ case $ax_cv_gcc_x86_cpuid_0 in # see AX_GCC_ARCHFLAG
++ *:756e6547:*:*) # Intel
++ case $ax_cv_gcc_x86_cpuid_1 in
++ *6a?:*[[234]]:*:*|*6[[789b]]?:*:*:*) icc_flags="-xK";;
++ *f3[[347]]:*:*:*|*f4[1347]:*:*:*) icc_flags="-xP -xN -xW -xK";;
++ *f??:*:*:*) icc_flags="-xN -xW -xK";;
++ esac ;;
++ esac ;;
++ esac
++ if test "x$icc_flags" != x; then
++ for flag in $icc_flags; do
++ AX_CHECK_COMPILE_FLAG($flag, [icc_archflag=$flag; break])
++ done
++ fi
++ AC_MSG_CHECKING([for icc architecture flag])
++ AC_MSG_RESULT($icc_archflag)
++ if test "x$icc_archflag" != xunknown; then
++ CFLAGS="$CFLAGS $icc_archflag"
++ fi
++ fi
++ ;;
++
++ gnu)
++ # default optimization flags for gcc on all systems
++ CFLAGS="-O3 -fomit-frame-pointer"
++
++ # -malign-double for x86 systems
++ AX_CHECK_COMPILE_FLAG(-malign-double, CFLAGS="$CFLAGS -malign-double")
++
++ # -fstrict-aliasing for gcc-2.95+
++ AX_CHECK_COMPILE_FLAG(-fstrict-aliasing,
++ CFLAGS="$CFLAGS -fstrict-aliasing")
++
++ # note that we enable "unsafe" fp optimization with other compilers, too
++ AX_CHECK_COMPILE_FLAG(-ffast-math, CFLAGS="$CFLAGS -ffast-math")
++
++ AX_GCC_ARCHFLAG($acx_maxopt_portable)
++ ;;
++ esac
++
++ if test -z "$CFLAGS"; then
++ echo ""
++ echo "********************************************************"
++ echo "* WARNING: Don't know the best CFLAGS for this system *"
++ echo "* Use ./configure CFLAGS=... to specify your own flags *"
++ echo "* (otherwise, a default of CFLAGS=-O3 will be used) *"
++ echo "********************************************************"
++ echo ""
++ CFLAGS="-O3"
++ fi
++
++ AX_CHECK_COMPILE_FLAG($CFLAGS, [], [
++ echo ""
++ echo "********************************************************"
++ echo "* WARNING: The guessed CFLAGS don't seem to work with *"
++ echo "* your compiler. *"
++ echo "* Use ./configure CFLAGS=... to specify your own flags *"
++ echo "********************************************************"
++ echo ""
++ CFLAGS=""
++ ])
++
++fi
++])
+Index: libffi/m4/ax_cflags_warn_all.m4
+===================================================================
+--- /dev/null
++++ libffi/m4/ax_cflags_warn_all.m4
+@@ -0,0 +1,121 @@
++# ===========================================================================
++# http://www.gnu.org/software/autoconf-archive/ax_cflags_warn_all.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++# AX_CFLAGS_WARN_ALL [(shellvar [,default, [A/NA]])]
++# AX_CXXFLAGS_WARN_ALL [(shellvar [,default, [A/NA]])]
++# AX_FCFLAGS_WARN_ALL [(shellvar [,default, [A/NA]])]
++#
++# DESCRIPTION
++#
++# Try to find a compiler option that enables most reasonable warnings.
++#
++# For the GNU compiler it will be -Wall (and -ansi -pedantic) The result
++# is added to the shellvar being CFLAGS, CXXFLAGS, or FCFLAGS by default.
++#
++# Currently this macro knows about the GCC, Solaris, Digital Unix, AIX,
++# HP-UX, IRIX, NEC SX-5 (Super-UX 10), Cray J90 (Unicos 10.0.0.8), and
++# Intel compilers. For a given compiler, the Fortran flags are much more
++# experimental than their C equivalents.
++#
++# - $1 shell-variable-to-add-to : CFLAGS, CXXFLAGS, or FCFLAGS
++# - $2 add-value-if-not-found : nothing
++# - $3 action-if-found : add value to shellvariable
++# - $4 action-if-not-found : nothing
++#
++# NOTE: These macros depend on AX_APPEND_FLAG.
++#
++# LICENSE
++#
++# Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de>
++# Copyright (c) 2010 Rhys Ulerich <rhys.ulerich@gmail.com>
++#
++# This program is free software; you can redistribute it and/or modify it
++# under the terms of the GNU General Public License as published by the
++# Free Software Foundation; either version 3 of the License, or (at your
++# option) any later version.
++#
++# This program is distributed in the hope that it will be useful, but
++# WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
++# Public License for more details.
++#
++# You should have received a copy of the GNU General Public License along
++# with this program. If not, see <http://www.gnu.org/licenses/>.
++#
++# As a special exception, the respective Autoconf Macro's copyright owner
++# gives unlimited permission to copy, distribute and modify the configure
++# scripts that are the output of Autoconf when processing the Macro. You
++# need not follow the terms of the GNU General Public License when using
++# or distributing such scripts, even though portions of the text of the
++# Macro appear in them. The GNU General Public License (GPL) does govern
++# all other use of the material that constitutes the Autoconf Macro.
++#
++# This special exception to the GPL applies to versions of the Autoconf
++# Macro released by the Autoconf Archive. When you make and distribute a
++# modified version of the Autoconf Macro, you may extend this special
++# exception to the GPL to apply to your modified version as well.
++
++#serial 13
++
++AC_DEFUN([AX_FLAGS_WARN_ALL],[dnl
++AS_VAR_PUSHDEF([FLAGS],[_AC_LANG_PREFIX[]FLAGS])dnl
++AS_VAR_PUSHDEF([VAR],[ac_cv_[]_AC_LANG_ABBREV[]flags_warn_all])dnl
++AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for maximum warnings],
++VAR,[VAR="no, unknown"
++ac_save_[]FLAGS="$[]FLAGS"
++for ac_arg dnl
++in "-warn all % -warn all" dnl Intel
++ "-pedantic % -Wall" dnl GCC
++ "-xstrconst % -v" dnl Solaris C
++ "-std1 % -verbose -w0 -warnprotos" dnl Digital Unix
++ "-qlanglvl=ansi % -qsrcmsg -qinfo=all:noppt:noppc:noobs:nocnd" dnl AIX
++ "-ansi -ansiE % -fullwarn" dnl IRIX
++ "+ESlit % +w1" dnl HP-UX C
++ "-Xc % -pvctl[,]fullmsg" dnl NEC SX-5 (Super-UX 10)
++ "-h conform % -h msglevel 2" dnl Cray C (Unicos)
++ #
++do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
++ [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break])
++done
++FLAGS="$ac_save_[]FLAGS"
++])
++AS_VAR_POPDEF([FLAGS])dnl
++case ".$VAR" in
++ .ok|.ok,*) m4_ifvaln($3,$3) ;;
++ .|.no|.no,*) m4_default($4,[m4_ifval($2,[AX_APPEND_FLAG([$2], [$1])])]) ;;
++ *) m4_default($3,[AX_APPEND_FLAG([$VAR], [$1])]) ;;
++esac
++AS_VAR_POPDEF([VAR])dnl
++])dnl AX_FLAGS_WARN_ALL
++dnl implementation tactics:
++dnl the for-argument contains a list of options. The first part of
++dnl these does only exist to detect the compiler - usually it is
++dnl a global option to enable -ansi or -extrawarnings. All other
++dnl compilers will fail about it. That was needed since a lot of
++dnl compilers will give false positives for some option-syntax
++dnl like -Woption or -Xoption as they think of it is a pass-through
++dnl to later compile stages or something. The "%" is used as a
++dnl delimiter. A non-option comment can be given after "%%" marks
++dnl which will be shown but not added to the respective C/CXXFLAGS.
++
++AC_DEFUN([AX_CFLAGS_WARN_ALL],[dnl
++AC_LANG_PUSH([C])
++AX_FLAGS_WARN_ALL([$1], [$2], [$3], [$4])
++AC_LANG_POP([C])
++])
++
++AC_DEFUN([AX_CXXFLAGS_WARN_ALL],[dnl
++AC_LANG_PUSH([C++])
++AX_FLAGS_WARN_ALL([$1], [$2], [$3], [$4])
++AC_LANG_POP([C++])
++])
++
++AC_DEFUN([AX_FCFLAGS_WARN_ALL],[dnl
++AC_LANG_PUSH([Fortran])
++AX_FLAGS_WARN_ALL([$1], [$2], [$3], [$4])
++AC_LANG_POP([Fortran])
++])
+Index: libffi/m4/ax_check_compiler_flags.m4
+===================================================================
+--- /dev/null
++++ libffi/m4/ax_check_compiler_flags.m4
+@@ -0,0 +1,76 @@
++# ===========================================================================
++# http://www.gnu.org/software/autoconf-archive/ax_check_compiler_flags.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++# AX_CHECK_COMPILER_FLAGS(FLAGS, [ACTION-SUCCESS], [ACTION-FAILURE])
++#
++# DESCRIPTION
++#
++# Check whether the given compiler FLAGS work with the current language's
++# compiler, or whether they give an error. (Warnings, however, are
++# ignored.)
++#
++# ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on
++# success/failure.
++#
++# LICENSE
++#
++# Copyright (c) 2009 Steven G. Johnson <stevenj@alum.mit.edu>
++# Copyright (c) 2009 Matteo Frigo
++#
++# This program is free software: you can redistribute it and/or modify it
++# under the terms of the GNU General Public License as published by the
++# Free Software Foundation, either version 3 of the License, or (at your
++# option) any later version.
++#
++# This program is distributed in the hope that it will be useful, but
++# WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
++# Public License for more details.
++#
++# You should have received a copy of the GNU General Public License along
++# with this program. If not, see <http://www.gnu.org/licenses/>.
++#
++# As a special exception, the respective Autoconf Macro's copyright owner
++# gives unlimited permission to copy, distribute and modify the configure
++# scripts that are the output of Autoconf when processing the Macro. You
++# need not follow the terms of the GNU General Public License when using
++# or distributing such scripts, even though portions of the text of the
++# Macro appear in them. The GNU General Public License (GPL) does govern
++# all other use of the material that constitutes the Autoconf Macro.
++#
++# This special exception to the GPL applies to versions of the Autoconf
++# Macro released by the Autoconf Archive. When you make and distribute a
++# modified version of the Autoconf Macro, you may extend this special
++# exception to the GPL to apply to your modified version as well.
++
++#serial 9
++
++AC_DEFUN([AX_CHECK_COMPILER_FLAGS],
++[AC_PREREQ(2.59) dnl for _AC_LANG_PREFIX
++AC_MSG_CHECKING([whether _AC_LANG compiler accepts $1])
++dnl Some hackery here since AC_CACHE_VAL can't handle a non-literal varname:
++AS_LITERAL_IF([$1],
++ [AC_CACHE_VAL(AS_TR_SH(ax_cv_[]_AC_LANG_ABBREV[]_flags_[$1]), [
++ ax_save_FLAGS=$[]_AC_LANG_PREFIX[]FLAGS
++ _AC_LANG_PREFIX[]FLAGS="$1"
++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],
++ AS_TR_SH(ax_cv_[]_AC_LANG_ABBREV[]_flags_[$1])=yes,
++ AS_TR_SH(ax_cv_[]_AC_LANG_ABBREV[]_flags_[$1])=no)
++ _AC_LANG_PREFIX[]FLAGS=$ax_save_FLAGS])],
++ [ax_save_FLAGS=$[]_AC_LANG_PREFIX[]FLAGS
++ _AC_LANG_PREFIX[]FLAGS="$1"
++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],
++ eval AS_TR_SH(ax_cv_[]_AC_LANG_ABBREV[]_flags_[$1])=yes,
++ eval AS_TR_SH(ax_cv_[]_AC_LANG_ABBREV[]_flags_[$1])=no)
++ _AC_LANG_PREFIX[]FLAGS=$ax_save_FLAGS])
++eval ax_check_compiler_flags=$AS_TR_SH(ax_cv_[]_AC_LANG_ABBREV[]_flags_[$1])
++AC_MSG_RESULT($ax_check_compiler_flags)
++if test "x$ax_check_compiler_flags" = xyes; then
++ m4_default([$2], :)
++else
++ m4_default([$3], :)
++fi
++])dnl AX_CHECK_COMPILER_FLAGS
+Index: libffi/m4/ax_compiler_vendor.m4
+===================================================================
+--- /dev/null
++++ libffi/m4/ax_compiler_vendor.m4
+@@ -0,0 +1,84 @@
++# ===========================================================================
++# http://www.gnu.org/software/autoconf-archive/ax_compiler_vendor.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++# AX_COMPILER_VENDOR
++#
++# DESCRIPTION
++#
++# Determine the vendor of the C/C++ compiler, e.g., gnu, intel, ibm, sun,
++# hp, borland, comeau, dec, cray, kai, lcc, metrowerks, sgi, microsoft,
++# watcom, etc. The vendor is returned in the cache variable
++# $ax_cv_c_compiler_vendor for C and $ax_cv_cxx_compiler_vendor for C++.
++#
++# LICENSE
++#
++# Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
++# Copyright (c) 2008 Matteo Frigo
++#
++# This program is free software: you can redistribute it and/or modify it
++# under the terms of the GNU General Public License as published by the
++# Free Software Foundation, either version 3 of the License, or (at your
++# option) any later version.
++#
++# This program is distributed in the hope that it will be useful, but
++# WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
++# Public License for more details.
++#
++# You should have received a copy of the GNU General Public License along
++# with this program. If not, see <http://www.gnu.org/licenses/>.
++#
++# As a special exception, the respective Autoconf Macro's copyright owner
++# gives unlimited permission to copy, distribute and modify the configure
++# scripts that are the output of Autoconf when processing the Macro. You
++# need not follow the terms of the GNU General Public License when using
++# or distributing such scripts, even though portions of the text of the
++# Macro appear in them. The GNU General Public License (GPL) does govern
++# all other use of the material that constitutes the Autoconf Macro.
++#
++# This special exception to the GPL applies to versions of the Autoconf
++# Macro released by the Autoconf Archive. When you make and distribute a
++# modified version of the Autoconf Macro, you may extend this special
++# exception to the GPL to apply to your modified version as well.
++
++#serial 11
++
++AC_DEFUN([AX_COMPILER_VENDOR],
++[AC_CACHE_CHECK([for _AC_LANG compiler vendor], ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor,
++ [# note: don't check for gcc first since some other compilers define __GNUC__
++ vendors="intel: __ICC,__ECC,__INTEL_COMPILER
++ ibm: __xlc__,__xlC__,__IBMC__,__IBMCPP__
++ pathscale: __PATHCC__,__PATHSCALE__
++ clang: __clang__
++ gnu: __GNUC__
++ sun: __SUNPRO_C,__SUNPRO_CC
++ hp: __HP_cc,__HP_aCC
++ dec: __DECC,__DECCXX,__DECC_VER,__DECCXX_VER
++ borland: __BORLANDC__,__TURBOC__
++ comeau: __COMO__
++ cray: _CRAYC
++ kai: __KCC
++ lcc: __LCC__
++ sgi: __sgi,sgi
++ microsoft: _MSC_VER
++ metrowerks: __MWERKS__
++ watcom: __WATCOMC__
++ portland: __PGI
++ unknown: UNKNOWN"
++ for ventest in $vendors; do
++ case $ventest in
++ *:) vendor=$ventest; continue ;;
++ *) vencpp="defined("`echo $ventest | sed 's/,/) || defined(/g'`")" ;;
++ esac
++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[
++ #if !($vencpp)
++ thisisanerror;
++ #endif
++ ])], [break])
++ done
++ ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor=`echo $vendor | cut -d: -f1`
++ ])
++])
+Index: libffi/m4/ax_configure_args.m4
+===================================================================
+--- /dev/null
++++ libffi/m4/ax_configure_args.m4
+@@ -0,0 +1,70 @@
++# ===========================================================================
++# http://www.gnu.org/software/autoconf-archive/ax_configure_args.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++# AX_CONFIGURE_ARGS
++#
++# DESCRIPTION
++#
++# Helper macro for AX_ENABLE_BUILDDIR.
++#
++# The traditional way of starting a subdir-configure is running the script
++# with ${1+"$@"} but since autoconf 2.60 this is broken. Instead we have
++# to rely on eval'ing $ac_configure_args however some old autoconf
++# versions do not provide that. To ensure maximum portability of autoconf
++# extension macros this helper can be AC_REQUIRE'd so that
++# $ac_configure_args will alsways be present.
++#
++# Sadly, the traditional "exec $SHELL" of the enable_builddir macros is
++# spoiled now and must be replaced by "eval + exit $?".
++#
++# Example:
++#
++# AC_DEFUN([AX_ENABLE_SUBDIR],[dnl
++# AC_REQUIRE([AX_CONFIGURE_ARGS])dnl
++# eval $SHELL $ac_configure_args || exit $?
++# ...])
++#
++# LICENSE
++#
++# Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de>
++#
++# This program is free software; you can redistribute it and/or modify it
++# under the terms of the GNU General Public License as published by the
++# Free Software Foundation; either version 3 of the License, or (at your
++# option) any later version.
++#
++# This program is distributed in the hope that it will be useful, but
++# WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
++# Public License for more details.
++#
++# You should have received a copy of the GNU General Public License along
++# with this program. If not, see <http://www.gnu.org/licenses/>.
++#
++# As a special exception, the respective Autoconf Macro's copyright owner
++# gives unlimited permission to copy, distribute and modify the configure
++# scripts that are the output of Autoconf when processing the Macro. You
++# need not follow the terms of the GNU General Public License when using
++# or distributing such scripts, even though portions of the text of the
++# Macro appear in them. The GNU General Public License (GPL) does govern
++# all other use of the material that constitutes the Autoconf Macro.
++#
++# This special exception to the GPL applies to versions of the Autoconf
++# Macro released by the Autoconf Archive. When you make and distribute a
++# modified version of the Autoconf Macro, you may extend this special
++# exception to the GPL to apply to your modified version as well.
++
++#serial 9
++
++AC_DEFUN([AX_CONFIGURE_ARGS],[
++ # [$]@ is unsable in 2.60+ but earlier autoconf had no ac_configure_args
++ if test "${ac_configure_args+set}" != "set" ; then
++ ac_configure_args=
++ for ac_arg in ${1+"[$]@"}; do
++ ac_configure_args="$ac_configure_args '$ac_arg'"
++ done
++ fi
++])
+Index: libffi/m4/ax_enable_builddir.m4
+===================================================================
+--- /dev/null
++++ libffi/m4/ax_enable_builddir.m4
+@@ -0,0 +1,300 @@
++# ===========================================================================
++# http://www.gnu.org/software/autoconf-archive/ax_enable_builddir.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++# AX_ENABLE_BUILDDIR [(dirstring-or-command [,Makefile.mk [,-all]])]
++#
++# DESCRIPTION
++#
++# If the current configure was run within the srcdir then we move all
++# configure-files into a subdir and let the configure steps continue
++# there. We provide an option --disable-builddir to suppress the move into
++# a separate builddir.
++#
++# Defaults:
++#
++# $1 = $host (overridden with $HOST)
++# $2 = Makefile.mk
++# $3 = -all
++#
++# This macro must be called before AM_INIT_AUTOMAKE. It creates a default
++# toplevel srcdir Makefile from the information found in the created
++# toplevel builddir Makefile. It just copies the variables and
++# rule-targets, each extended with a default rule-execution that recurses
++# into the build directory of the current "HOST". You can override the
++# auto-dection through `config.guess` and build-time of course, as in
++#
++# make HOST=i386-mingw-cross
++#
++# which can of course set at configure time as well using
++#
++# configure --host=i386-mingw-cross
++#
++# After the default has been created, additional rules can be appended
++# that will not just recurse into the subdirectories and only ever exist
++# in the srcdir toplevel makefile - these parts are read from the $2 =
++# Makefile.mk file
++#
++# The automatic rules are usually scanning the toplevel Makefile for lines
++# like '#### $host |$builddir' to recognize the place where to recurse
++# into. Usually, the last one is the only one used. However, almost all
++# targets have an additional "*-all" rule which makes the script to
++# recurse into _all_ variants of the current HOST (!!) setting. The "-all"
++# suffix can be overriden for the macro as well.
++#
++# a special rule is only given for things like "dist" that will copy the
++# tarball from the builddir to the sourcedir (or $(PUB)) for reason of
++# convenience.
++#
++# LICENSE
++#
++# Copyright (c) 2009 Guido U. Draheim <guidod@gmx.de>
++# Copyright (c) 2009 Alan Jenkins <alan-jenkins@tuffmail.co.uk>
++#
++# This program is free software; you can redistribute it and/or modify it
++# under the terms of the GNU General Public License as published by the
++# Free Software Foundation; either version 3 of the License, or (at your
++# option) any later version.
++#
++# This program is distributed in the hope that it will be useful, but
++# WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
++# Public License for more details.
++#
++# You should have received a copy of the GNU General Public License along
++# with this program. If not, see <http://www.gnu.org/licenses/>.
++#
++# As a special exception, the respective Autoconf Macro's copyright owner
++# gives unlimited permission to copy, distribute and modify the configure
++# scripts that are the output of Autoconf when processing the Macro. You
++# need not follow the terms of the GNU General Public License when using
++# or distributing such scripts, even though portions of the text of the
++# Macro appear in them. The GNU General Public License (GPL) does govern
++# all other use of the material that constitutes the Autoconf Macro.
++#
++# This special exception to the GPL applies to versions of the Autoconf
++# Macro released by the Autoconf Archive. When you make and distribute a
++# modified version of the Autoconf Macro, you may extend this special
++# exception to the GPL to apply to your modified version as well.
++
++#serial 23
++
++AC_DEFUN([AX_ENABLE_BUILDDIR],[
++AC_REQUIRE([AC_CANONICAL_HOST])[]dnl
++AC_REQUIRE([AX_CONFIGURE_ARGS])[]dnl
++AC_REQUIRE([AM_AUX_DIR_EXPAND])[]dnl
++AC_BEFORE([$0],[AM_INIT_AUTOMAKE])dnl
++AS_VAR_PUSHDEF([SUB],[ax_enable_builddir])dnl
++AS_VAR_PUSHDEF([AUX],[ax_enable_builddir_auxdir])dnl
++AS_VAR_PUSHDEF([SED],[ax_enable_builddir_sed])dnl
++SUB="."
++AC_ARG_ENABLE([builddir], AS_HELP_STRING(
++ [--disable-builddir],[disable automatic build in subdir of sources])
++ ,[SUB="$enableval"], [SUB="auto"])
++if test ".$ac_srcdir_defaulted" != ".no" ; then
++if test ".$srcdir" = ".." ; then
++ if test -f config.status ; then
++ AC_MSG_NOTICE(toplevel srcdir already configured... skipping subdir build)
++ else
++ test ".$SUB" = "." && SUB="."
++ test ".$SUB" = ".no" && SUB="."
++ test ".$TARGET" = "." && TARGET="$target"
++ test ".$SUB" = ".auto" && SUB="m4_ifval([$1], [$1],[$TARGET])"
++ if test ".$SUB" != ".." ; then # we know where to go and
++ AS_MKDIR_P([$SUB])
++ echo __.$SUB.__ > $SUB/conftest.tmp
++ cd $SUB
++ if grep __.$SUB.__ conftest.tmp >/dev/null 2>/dev/null ; then
++ rm conftest.tmp
++ AC_MSG_RESULT([continue configure in default builddir "./$SUB"])
++ else
++ AC_MSG_ERROR([could not change to default builddir "./$SUB"])
++ fi
++ srcdir=`echo "$SUB" |
++ sed -e 's,^\./,,;s,[[^/]]$,&/,;s,[[^/]]*/,../,g;s,[[/]]$,,;'`
++ # going to restart from subdirectory location
++ test -f $srcdir/config.log && mv $srcdir/config.log .
++ test -f $srcdir/confdefs.h && mv $srcdir/confdefs.h .
++ test -f $srcdir/conftest.log && mv $srcdir/conftest.log .
++ test -f $srcdir/$cache_file && mv $srcdir/$cache_file .
++ AC_MSG_RESULT(....exec $SHELL $srcdir/[$]0 "--srcdir=$srcdir" "--enable-builddir=$SUB" ${1+"[$]@"})
++ case "[$]0" in # restart
++ [/\\]*) eval $SHELL "'[$]0'" "'--srcdir=$srcdir'" "'--enable-builddir=$SUB'" $ac_configure_args ;;
++ *) eval $SHELL "'$srcdir/[$]0'" "'--srcdir=$srcdir'" "'--enable-builddir=$SUB'" $ac_configure_args ;;
++ esac ; exit $?
++ fi
++ fi
++fi fi
++test ".$SUB" = ".auto" && SUB="."
++dnl ac_path_prog uses "set dummy" to override $@ which would defeat the "exec"
++AC_PATH_PROG(SED,gsed sed, sed)
++AUX="$am_aux_dir"
++AS_VAR_POPDEF([SED])dnl
++AS_VAR_POPDEF([AUX])dnl
++AS_VAR_POPDEF([SUB])dnl
++AC_CONFIG_COMMANDS([buildir],[dnl .............. config.status ..............
++AS_VAR_PUSHDEF([SUB],[ax_enable_builddir])dnl
++AS_VAR_PUSHDEF([TOP],[top_srcdir])dnl
++AS_VAR_PUSHDEF([SRC],[ac_top_srcdir])dnl
++AS_VAR_PUSHDEF([AUX],[ax_enable_builddir_auxdir])dnl
++AS_VAR_PUSHDEF([SED],[ax_enable_builddir_sed])dnl
++pushdef([END],[Makefile.mk])dnl
++pushdef([_ALL],[ifelse([$3],,[-all],[$3])])dnl
++ SRC="$ax_enable_builddir_srcdir"
++ if test ".$SUB" = ".." ; then
++ if test -f "$TOP/Makefile" ; then
++ AC_MSG_NOTICE([skipping TOP/Makefile - left untouched])
++ else
++ AC_MSG_NOTICE([skipping TOP/Makefile - not created])
++ fi
++ else
++ if test -f "$SRC/Makefile" ; then
++ a=`grep "^VERSION " "$SRC/Makefile"` ; b=`grep "^VERSION " Makefile`
++ test "$a" != "$b" && rm "$SRC/Makefile"
++ fi
++ if test -f "$SRC/Makefile" ; then
++ echo "$SRC/Makefile : $SRC/Makefile.in" > $tmp/conftemp.mk
++ echo " []@ echo 'REMOVED,,,' >\$[]@" >> $tmp/conftemp.mk
++ eval "${MAKE-make} -f $tmp/conftemp.mk 2>/dev/null >/dev/null"
++ if grep '^REMOVED,,,' "$SRC/Makefile" >/dev/null
++ then rm $SRC/Makefile ; fi
++ cp $tmp/conftemp.mk $SRC/makefiles.mk~ ## DEBUGGING
++ fi
++ if test ! -f "$SRC/Makefile" ; then
++ AC_MSG_NOTICE([create TOP/Makefile guessed from local Makefile])
++ x='`' ; cat >$tmp/conftemp.sed <<_EOF
++/^\$/n
++x
++/^\$/bS
++x
++/\\\\\$/{H;d;}
++{H;s/.*//;x;}
++bM
++:S
++x
++/\\\\\$/{h;d;}
++{h;s/.*//;x;}
++:M
++s/\\(\\n\\) /\\1 /g
++/^ /d
++/^[[ ]]*[[\\#]]/d
++/^VPATH *=/d
++s/^srcdir *=.*/srcdir = ./
++s/^top_srcdir *=.*/top_srcdir = ./
++/[[:=]]/!d
++/^\\./d
++dnl Now handle rules (i.e. lines containing ":" but not " = ").
++/ = /b
++/ .= /b
++/:/!b
++s/:.*/:/
++s/ / /g
++s/ \\([[a-z]][[a-z-]]*[[a-zA-Z0-9]]\\)\\([[ :]]\\)/ \\1 \\1[]_ALL\\2/g
++s/^\\([[a-z]][[a-z-]]*[[a-zA-Z0-9]]\\)\\([[ :]]\\)/\\1 \\1[]_ALL\\2/
++s/ / /g
++/^all all[]_ALL[[ :]]/i\\
++all-configured : all[]_ALL
++dnl dist-all exists... and would make for dist-all-all
++s/ [[a-zA-Z0-9-]]*[]_ALL [[a-zA-Z0-9-]]*[]_ALL[]_ALL//g
++/[]_ALL[]_ALL/d
++a\\
++ @ HOST="\$(HOST)\" \\\\\\
++ ; test ".\$\$HOST" = "." && HOST=$x sh $AUX/config.guess $x \\\\\\
++ ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
++ ; use=$x basename "\$\@" _ALL $x; n=$x echo \$\$BUILD | wc -w $x \\\\\\
++ ; echo "MAKE \$\$HOST : \$\$n * \$\@"; if test "\$\$n" -eq "0" ; then : \\\\\\
++ ; BUILD=$x grep "^####.*|" Makefile |tail -1| sed -e 's/.*|//' $x ; fi \\\\\\
++ ; test ".\$\$BUILD" = "." && BUILD="." \\\\\\
++ ; test "\$\$use" = "\$\@" && BUILD=$x echo "\$\$BUILD" | tail -1 $x \\\\\\
++ ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
++ ; (cd "\$\$i" && test ! -f configure && \$(MAKE) \$\$use) || exit; done
++dnl special rule add-on: "dist" copies the tarball to $(PUB). (source tree)
++/dist[]_ALL *:/a\\
++ @ HOST="\$(HOST)\" \\\\\\
++ ; test ".\$\$HOST" = "." && HOST=$x sh $AUX/config.guess $x \\\\\\
++ ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
++ ; found=$x echo \$\$BUILD | wc -w $x \\\\\\
++ ; echo "MAKE \$\$HOST : \$\$found \$(PACKAGE)-\$(VERSION).tar.*" \\\\\\
++ ; if test "\$\$found" -eq "0" ; then : \\\\\\
++ ; BUILD=$x grep "^#### .*|" Makefile |tail -1| sed -e 's/.*|//' $x \\\\\\
++ ; fi ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
++ ; for f in \$\$i/\$(PACKAGE)-\$(VERSION).tar.* \\\\\\
++ ; do test -f "\$\$f" && mv "\$\$f" \$(PUB). ; done ; break ; done
++dnl special rule add-on: "dist-foo" copies all the archives to $(PUB). (source tree)
++/dist-[[a-zA-Z0-9]]*[]_ALL *:/a\\
++ @ HOST="\$(HOST)\" \\\\\\
++ ; test ".\$\$HOST" = "." && HOST=$x sh ./config.guess $x \\\\\\
++ ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
++ ; found=$x echo \$\$BUILD | wc -w $x \\\\\\
++ ; echo "MAKE \$\$HOST : \$\$found \$(PACKAGE)-\$(VERSION).*" \\\\\\
++ ; if test "\$\$found" -eq "0" ; then : \\\\\\
++ ; BUILD=$x grep "^#### .*|" Makefile |tail -1| sed -e 's/.*|//' $x \\\\\\
++ ; fi ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
++ ; for f in \$\$i/\$(PACKAGE)-\$(VERSION).* \\\\\\
++ ; do test -f "\$\$f" && mv "\$\$f" \$(PUB). ; done ; break ; done
++dnl special rule add-on: "distclean" removes all local builddirs completely
++/distclean[]_ALL *:/a\\
++ @ HOST="\$(HOST)\" \\\\\\
++ ; test ".\$\$HOST" = "." && HOST=$x sh $AUX/config.guess $x \\\\\\
++ ; BUILD=$x grep "^#### .*|" Makefile | sed -e 's/.*|//' $x \\\\\\
++ ; use=$x basename "\$\@" _ALL $x; n=$x echo \$\$BUILD | wc -w $x \\\\\\
++ ; echo "MAKE \$\$HOST : \$\$n * \$\@ (all local builds)" \\\\\\
++ ; test ".\$\$BUILD" = "." && BUILD="." \\\\\\
++ ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
++ ; echo "# rm -r \$\$i"; done ; echo "# (sleep 3)" ; sleep 3 \\\\\\
++ ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
++ ; echo "\$\$i" | grep "^/" > /dev/null && continue \\\\\\
++ ; echo "\$\$i" | grep "^../" > /dev/null && continue \\\\\\
++ ; echo "rm -r \$\$i"; (rm -r "\$\$i") ; done ; rm Makefile
++_EOF
++ cp "$tmp/conftemp.sed" "$SRC/makefile.sed~" ## DEBUGGING
++ $SED -f $tmp/conftemp.sed Makefile >$SRC/Makefile
++ if test -f "$SRC/m4_ifval([$2],[$2],[END])" ; then
++ AC_MSG_NOTICE([extend TOP/Makefile with TOP/m4_ifval([$2],[$2],[END])])
++ cat $SRC/END >>$SRC/Makefile
++ fi ; xxxx="####"
++ echo "$xxxx CONFIGURATIONS FOR TOPLEVEL MAKEFILE: " >>$SRC/Makefile
++ # sanity check
++ if grep '^; echo "MAKE ' $SRC/Makefile >/dev/null ; then
++ AC_MSG_NOTICE([buggy sed found - it deletes tab in "a" text parts])
++ $SED -e '/^@ HOST=/s/^/ /' -e '/^; /s/^/ /' $SRC/Makefile \
++ >$SRC/Makefile~
++ (test -s $SRC/Makefile~ && mv $SRC/Makefile~ $SRC/Makefile) 2>/dev/null
++ fi
++ else
++ xxxx="\\#\\#\\#\\#"
++ # echo "/^$xxxx *$ax_enable_builddir_host /d" >$tmp/conftemp.sed
++ echo "s!^$xxxx [[^|]]* | *$SUB *\$!$xxxx ...... $SUB!" >$tmp/conftemp.sed
++ $SED -f "$tmp/conftemp.sed" "$SRC/Makefile" >$tmp/mkfile.tmp
++ cp "$tmp/conftemp.sed" "$SRC/makefiles.sed~" ## DEBUGGING
++ cp "$tmp/mkfile.tmp" "$SRC/makefiles.out~" ## DEBUGGING
++ if cmp -s "$SRC/Makefile" "$tmp/mkfile.tmp" 2>/dev/null ; then
++ AC_MSG_NOTICE([keeping TOP/Makefile from earlier configure])
++ rm "$tmp/mkfile.tmp"
++ else
++ AC_MSG_NOTICE([reusing TOP/Makefile from earlier configure])
++ mv "$tmp/mkfile.tmp" "$SRC/Makefile"
++ fi
++ fi
++ AC_MSG_NOTICE([build in $SUB (HOST=$ax_enable_builddir_host)])
++ xxxx="####"
++ echo "$xxxx" "$ax_enable_builddir_host" "|$SUB" >>$SRC/Makefile
++ fi
++popdef([END])dnl
++AS_VAR_POPDEF([SED])dnl
++AS_VAR_POPDEF([AUX])dnl
++AS_VAR_POPDEF([SRC])dnl
++AS_VAR_POPDEF([TOP])dnl
++AS_VAR_POPDEF([SUB])dnl
++],[dnl
++ax_enable_builddir_srcdir="$srcdir" # $srcdir
++ax_enable_builddir_host="$HOST" # $HOST / $host
++ax_enable_builddir_version="$VERSION" # $VERSION
++ax_enable_builddir_package="$PACKAGE" # $PACKAGE
++ax_enable_builddir_auxdir="$ax_enable_builddir_auxdir" # $AUX
++ax_enable_builddir_sed="$ax_enable_builddir_sed" # $SED
++ax_enable_builddir="$ax_enable_builddir" # $SUB
++])dnl
++])
+Index: libffi/m4/ax_gcc_archflag.m4
+===================================================================
+--- /dev/null
++++ libffi/m4/ax_gcc_archflag.m4
+@@ -0,0 +1,215 @@
++# ===========================================================================
++# http://www.gnu.org/software/autoconf-archive/ax_gcc_archflag.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++# AX_GCC_ARCHFLAG([PORTABLE?], [ACTION-SUCCESS], [ACTION-FAILURE])
++#
++# DESCRIPTION
++#
++# This macro tries to guess the "native" arch corresponding to the target
++# architecture for use with gcc's -march=arch or -mtune=arch flags. If
++# found, the cache variable $ax_cv_gcc_archflag is set to this flag and
++# ACTION-SUCCESS is executed; otherwise $ax_cv_gcc_archflag is set to
++# "unknown" and ACTION-FAILURE is executed. The default ACTION-SUCCESS is
++# to add $ax_cv_gcc_archflag to the end of $CFLAGS.
++#
++# PORTABLE? should be either [yes] (default) or [no]. In the former case,
++# the flag is set to -mtune (or equivalent) so that the architecture is
++# only used for tuning, but the instruction set used is still portable. In
++# the latter case, the flag is set to -march (or equivalent) so that
++# architecture-specific instructions are enabled.
++#
++# The user can specify --with-gcc-arch=<arch> in order to override the
++# macro's choice of architecture, or --without-gcc-arch to disable this.
++#
++# When cross-compiling, or if $CC is not gcc, then ACTION-FAILURE is
++# called unless the user specified --with-gcc-arch manually.
++#
++# Requires macros: AX_CHECK_COMPILE_FLAG, AX_GCC_X86_CPUID
++#
++# (The main emphasis here is on recent CPUs, on the principle that doing
++# high-performance computing on old hardware is uncommon.)
++#
++# LICENSE
++#
++# Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
++# Copyright (c) 2008 Matteo Frigo
++#
++# This program is free software: you can redistribute it and/or modify it
++# under the terms of the GNU General Public License as published by the
++# Free Software Foundation, either version 3 of the License, or (at your
++# option) any later version.
++#
++# This program is distributed in the hope that it will be useful, but
++# WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
++# Public License for more details.
++#
++# You should have received a copy of the GNU General Public License along
++# with this program. If not, see <http://www.gnu.org/licenses/>.
++#
++# As a special exception, the respective Autoconf Macro's copyright owner
++# gives unlimited permission to copy, distribute and modify the configure
++# scripts that are the output of Autoconf when processing the Macro. You
++# need not follow the terms of the GNU General Public License when using
++# or distributing such scripts, even though portions of the text of the
++# Macro appear in them. The GNU General Public License (GPL) does govern
++# all other use of the material that constitutes the Autoconf Macro.
++#
++# This special exception to the GPL applies to versions of the Autoconf
++# Macro released by the Autoconf Archive. When you make and distribute a
++# modified version of the Autoconf Macro, you may extend this special
++# exception to the GPL to apply to your modified version as well.
++
++#serial 10
++
++AC_DEFUN([AX_GCC_ARCHFLAG],
++[AC_REQUIRE([AC_PROG_CC])
++AC_REQUIRE([AC_CANONICAL_HOST])
++
++AC_ARG_WITH(gcc-arch, [AS_HELP_STRING([--with-gcc-arch=<arch>], [use architecture <arch> for gcc -march/-mtune, instead of guessing])],
++ ax_gcc_arch=$withval, ax_gcc_arch=yes)
++
++AC_MSG_CHECKING([for gcc architecture flag])
++AC_MSG_RESULT([])
++AC_CACHE_VAL(ax_cv_gcc_archflag,
++[
++ax_cv_gcc_archflag="unknown"
++
++if test "$GCC" = yes; then
++
++if test "x$ax_gcc_arch" = xyes; then
++ax_gcc_arch=""
++if test "$cross_compiling" = no; then
++case $host_cpu in
++ i[[3456]]86*|x86_64*) # use cpuid codes, in part from x86info-1.7 by D. Jones
++ AX_GCC_X86_CPUID(0)
++ AX_GCC_X86_CPUID(1)
++ case $ax_cv_gcc_x86_cpuid_0 in
++ *:756e6547:*:*) # Intel
++ case $ax_cv_gcc_x86_cpuid_1 in
++ *5[[48]]?:*:*:*) ax_gcc_arch="pentium-mmx pentium" ;;
++ *5??:*:*:*) ax_gcc_arch=pentium ;;
++ *6[[3456]]?:*:*:*) ax_gcc_arch="pentium2 pentiumpro" ;;
++ *6a?:*[[01]]:*:*) ax_gcc_arch="pentium2 pentiumpro" ;;
++ *6a?:*[[234]]:*:*) ax_gcc_arch="pentium3 pentiumpro" ;;
++ *6[[9d]]?:*:*:*) ax_gcc_arch="pentium-m pentium3 pentiumpro" ;;
++ *6[[78b]]?:*:*:*) ax_gcc_arch="pentium3 pentiumpro" ;;
++ *6??:*:*:*) ax_gcc_arch=pentiumpro ;;
++ *f3[[347]]:*:*:*|*f4[1347]:*:*:*)
++ case $host_cpu in
++ x86_64*) ax_gcc_arch="nocona pentium4 pentiumpro" ;;
++ *) ax_gcc_arch="prescott pentium4 pentiumpro" ;;
++ esac ;;
++ *f??:*:*:*) ax_gcc_arch="pentium4 pentiumpro";;
++ esac ;;
++ *:68747541:*:*) # AMD
++ case $ax_cv_gcc_x86_cpuid_1 in
++ *5[[67]]?:*:*:*) ax_gcc_arch=k6 ;;
++ *5[[8d]]?:*:*:*) ax_gcc_arch="k6-2 k6" ;;
++ *5[[9]]?:*:*:*) ax_gcc_arch="k6-3 k6" ;;
++ *60?:*:*:*) ax_gcc_arch=k7 ;;
++ *6[[12]]?:*:*:*) ax_gcc_arch="athlon k7" ;;
++ *6[[34]]?:*:*:*) ax_gcc_arch="athlon-tbird k7" ;;
++ *67?:*:*:*) ax_gcc_arch="athlon-4 athlon k7" ;;
++ *6[[68a]]?:*:*:*)
++ AX_GCC_X86_CPUID(0x80000006) # L2 cache size
++ case $ax_cv_gcc_x86_cpuid_0x80000006 in
++ *:*:*[[1-9a-f]]??????:*) # (L2 = ecx >> 16) >= 256
++ ax_gcc_arch="athlon-xp athlon-4 athlon k7" ;;
++ *) ax_gcc_arch="athlon-4 athlon k7" ;;
++ esac ;;
++ *f[[4cef8b]]?:*:*:*) ax_gcc_arch="athlon64 k8" ;;
++ *f5?:*:*:*) ax_gcc_arch="opteron k8" ;;
++ *f7?:*:*:*) ax_gcc_arch="athlon-fx opteron k8" ;;
++ *f??:*:*:*) ax_gcc_arch="k8" ;;
++ esac ;;
++ *:746e6543:*:*) # IDT
++ case $ax_cv_gcc_x86_cpuid_1 in
++ *54?:*:*:*) ax_gcc_arch=winchip-c6 ;;
++ *58?:*:*:*) ax_gcc_arch=winchip2 ;;
++ *6[[78]]?:*:*:*) ax_gcc_arch=c3 ;;
++ *69?:*:*:*) ax_gcc_arch="c3-2 c3" ;;
++ esac ;;
++ esac
++ if test x"$ax_gcc_arch" = x; then # fallback
++ case $host_cpu in
++ i586*) ax_gcc_arch=pentium ;;
++ i686*) ax_gcc_arch=pentiumpro ;;
++ esac
++ fi
++ ;;
++
++ sparc*)
++ AC_PATH_PROG([PRTDIAG], [prtdiag], [prtdiag], [$PATH:/usr/platform/`uname -i`/sbin/:/usr/platform/`uname -m`/sbin/])
++ cputype=`(((grep cpu /proc/cpuinfo | cut -d: -f2) ; ($PRTDIAG -v |grep -i sparc) ; grep -i cpu /var/run/dmesg.boot ) | head -n 1) 2> /dev/null`
++ cputype=`echo "$cputype" | tr -d ' -' |tr $as_cr_LETTERS $as_cr_letters`
++ case $cputype in
++ *ultrasparciv*) ax_gcc_arch="ultrasparc4 ultrasparc3 ultrasparc v9" ;;
++ *ultrasparciii*) ax_gcc_arch="ultrasparc3 ultrasparc v9" ;;
++ *ultrasparc*) ax_gcc_arch="ultrasparc v9" ;;
++ *supersparc*|*tms390z5[[05]]*) ax_gcc_arch="supersparc v8" ;;
++ *hypersparc*|*rt62[[056]]*) ax_gcc_arch="hypersparc v8" ;;
++ *cypress*) ax_gcc_arch=cypress ;;
++ esac ;;
++
++ alphaev5) ax_gcc_arch=ev5 ;;
++ alphaev56) ax_gcc_arch=ev56 ;;
++ alphapca56) ax_gcc_arch="pca56 ev56" ;;
++ alphapca57) ax_gcc_arch="pca57 pca56 ev56" ;;
++ alphaev6) ax_gcc_arch=ev6 ;;
++ alphaev67) ax_gcc_arch=ev67 ;;
++ alphaev68) ax_gcc_arch="ev68 ev67" ;;
++ alphaev69) ax_gcc_arch="ev69 ev68 ev67" ;;
++ alphaev7) ax_gcc_arch="ev7 ev69 ev68 ev67" ;;
++ alphaev79) ax_gcc_arch="ev79 ev7 ev69 ev68 ev67" ;;
++
++ powerpc*)
++ cputype=`((grep cpu /proc/cpuinfo | head -n 1 | cut -d: -f2 | cut -d, -f1 | sed 's/ //g') ; /usr/bin/machine ; /bin/machine; grep CPU /var/run/dmesg.boot | head -n 1 | cut -d" " -f2) 2> /dev/null`
++ cputype=`echo $cputype | sed -e 's/ppc//g;s/ *//g'`
++ case $cputype in
++ *750*) ax_gcc_arch="750 G3" ;;
++ *740[[0-9]]*) ax_gcc_arch="$cputype 7400 G4" ;;
++ *74[[4-5]][[0-9]]*) ax_gcc_arch="$cputype 7450 G4" ;;
++ *74[[0-9]][[0-9]]*) ax_gcc_arch="$cputype G4" ;;
++ *970*) ax_gcc_arch="970 G5 power4";;
++ *POWER4*|*power4*|*gq*) ax_gcc_arch="power4 970";;
++ *POWER5*|*power5*|*gr*|*gs*) ax_gcc_arch="power5 power4 970";;
++ 603ev|8240) ax_gcc_arch="$cputype 603e 603";;
++ *) ax_gcc_arch=$cputype ;;
++ esac
++ ax_gcc_arch="$ax_gcc_arch powerpc"
++ ;;
++esac
++fi # not cross-compiling
++fi # guess arch
++
++if test "x$ax_gcc_arch" != x -a "x$ax_gcc_arch" != xno; then
++for arch in $ax_gcc_arch; do
++ if test "x[]m4_default([$1],yes)" = xyes; then # if we require portable code
++ flags="-mtune=$arch"
++ # -mcpu=$arch and m$arch generate nonportable code on every arch except
++ # x86. And some other arches (e.g. Alpha) don't accept -mtune. Grrr.
++ case $host_cpu in i*86|x86_64*) flags="$flags -mcpu=$arch -m$arch";; esac
++ else
++ flags="-march=$arch -mcpu=$arch -m$arch"
++ fi
++ for flag in $flags; do
++ AX_CHECK_COMPILE_FLAG($flag, [ax_cv_gcc_archflag=$flag; break])
++ done
++ test "x$ax_cv_gcc_archflag" = xunknown || break
++done
++fi
++
++fi # $GCC=yes
++])
++AC_MSG_CHECKING([for gcc architecture flag])
++AC_MSG_RESULT($ax_cv_gcc_archflag)
++if test "x$ax_cv_gcc_archflag" = xunknown; then
++ m4_default([$3],:)
++else
++ m4_default([$2], [CFLAGS="$CFLAGS $ax_cv_gcc_archflag"])
++fi
++])
+Index: libffi/m4/ax_gcc_x86_cpuid.m4
+===================================================================
+--- /dev/null
++++ libffi/m4/ax_gcc_x86_cpuid.m4
+@@ -0,0 +1,79 @@
++# ===========================================================================
++# http://www.gnu.org/software/autoconf-archive/ax_gcc_x86_cpuid.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++# AX_GCC_X86_CPUID(OP)
++#
++# DESCRIPTION
++#
++# On Pentium and later x86 processors, with gcc or a compiler that has a
++# compatible syntax for inline assembly instructions, run a small program
++# that executes the cpuid instruction with input OP. This can be used to
++# detect the CPU type.
++#
++# On output, the values of the eax, ebx, ecx, and edx registers are stored
++# as hexadecimal strings as "eax:ebx:ecx:edx" in the cache variable
++# ax_cv_gcc_x86_cpuid_OP.
++#
++# If the cpuid instruction fails (because you are running a
++# cross-compiler, or because you are not using gcc, or because you are on
++# a processor that doesn't have this instruction), ax_cv_gcc_x86_cpuid_OP
++# is set to the string "unknown".
++#
++# This macro mainly exists to be used in AX_GCC_ARCHFLAG.
++#
++# LICENSE
++#
++# Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
++# Copyright (c) 2008 Matteo Frigo
++#
++# This program is free software: you can redistribute it and/or modify it
++# under the terms of the GNU General Public License as published by the
++# Free Software Foundation, either version 3 of the License, or (at your
++# option) any later version.
++#
++# This program is distributed in the hope that it will be useful, but
++# WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
++# Public License for more details.
++#
++# You should have received a copy of the GNU General Public License along
++# with this program. If not, see <http://www.gnu.org/licenses/>.
++#
++# As a special exception, the respective Autoconf Macro's copyright owner
++# gives unlimited permission to copy, distribute and modify the configure
++# scripts that are the output of Autoconf when processing the Macro. You
++# need not follow the terms of the GNU General Public License when using
++# or distributing such scripts, even though portions of the text of the
++# Macro appear in them. The GNU General Public License (GPL) does govern
++# all other use of the material that constitutes the Autoconf Macro.
++#
++# This special exception to the GPL applies to versions of the Autoconf
++# Macro released by the Autoconf Archive. When you make and distribute a
++# modified version of the Autoconf Macro, you may extend this special
++# exception to the GPL to apply to your modified version as well.
++
++#serial 7
++
++AC_DEFUN([AX_GCC_X86_CPUID],
++[AC_REQUIRE([AC_PROG_CC])
++AC_LANG_PUSH([C])
++AC_CACHE_CHECK(for x86 cpuid $1 output, ax_cv_gcc_x86_cpuid_$1,
++ [AC_RUN_IFELSE([AC_LANG_PROGRAM([#include <stdio.h>], [
++ int op = $1, eax, ebx, ecx, edx;
++ FILE *f;
++ __asm__("cpuid"
++ : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
++ : "a" (op));
++ f = fopen("conftest_cpuid", "w"); if (!f) return 1;
++ fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
++ fclose(f);
++ return 0;
++])],
++ [ax_cv_gcc_x86_cpuid_$1=`cat conftest_cpuid`; rm -f conftest_cpuid],
++ [ax_cv_gcc_x86_cpuid_$1=unknown; rm -f conftest_cpuid],
++ [ax_cv_gcc_x86_cpuid_$1=unknown])])
++AC_LANG_POP([C])
++])
+Index: libffi/Makefile.in
+===================================================================
+--- libffi.orig/Makefile.in
++++ libffi/Makefile.in
+@@ -15,6 +15,7 @@
+
+ @SET_MAKE@
+
++
+ VPATH = @srcdir@
+ pkgdatadir = $(datadir)/@PACKAGE@
+ pkgincludedir = $(includedir)/@PACKAGE@
+@@ -35,55 +36,64 @@ POST_UNINSTALL = :
+ build_triplet = @build@
+ host_triplet = @host@
+ target_triplet = @target@
+-@MIPS_TRUE@am__append_1 = src/mips/ffi.c src/mips/o32.S src/mips/n32.S
+-@X86_TRUE@am__append_2 = src/x86/ffi.c src/x86/sysv.S
+-@X86_FREEBSD_TRUE@am__append_3 = src/x86/ffi.c src/x86/freebsd.S
+-@X86_WIN32_TRUE@am__append_4 = src/x86/ffi.c src/x86/win32.S
+-@X86_WIN64_TRUE@am__append_5 = src/x86/ffi.c src/x86/win64.S
+-@X86_DARWIN_TRUE@am__append_6 = src/x86/ffi.c src/x86/darwin.S src/x86/ffi64.c src/x86/darwin64.S
+-@SPARC_TRUE@am__append_7 = src/sparc/ffi.c src/sparc/v8.S src/sparc/v9.S
+-@ALPHA_TRUE@am__append_8 = src/alpha/ffi.c src/alpha/osf.S
+-@IA64_TRUE@am__append_9 = src/ia64/ffi.c src/ia64/unix.S
+-@M32R_TRUE@am__append_10 = src/m32r/sysv.S src/m32r/ffi.c
+-@M68K_TRUE@am__append_11 = src/m68k/ffi.c src/m68k/sysv.S
+-@POWERPC_TRUE@am__append_12 = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S src/powerpc/linux64.S src/powerpc/linux64_closure.S
+-@POWERPC_AIX_TRUE@am__append_13 = src/powerpc/ffi_darwin.c src/powerpc/aix.S src/powerpc/aix_closure.S
+-@POWERPC_DARWIN_TRUE@am__append_14 = src/powerpc/ffi_darwin.c src/powerpc/darwin.S src/powerpc/darwin_closure.S
+-@POWERPC_FREEBSD_TRUE@am__append_15 = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S
+-@ARM_TRUE@am__append_16 = src/arm/sysv.S src/arm/ffi.c
+-@AVR32_TRUE@am__append_17 = src/avr32/sysv.S src/avr32/ffi.c
+-@LIBFFI_CRIS_TRUE@am__append_18 = src/cris/sysv.S src/cris/ffi.c
+-@FRV_TRUE@am__append_19 = src/frv/eabi.S src/frv/ffi.c
+-@S390_TRUE@am__append_20 = src/s390/sysv.S src/s390/ffi.c
+-@X86_64_TRUE@am__append_21 = src/x86/ffi64.c src/x86/unix64.S src/x86/ffi.c src/x86/sysv.S
+-@SH_TRUE@am__append_22 = src/sh/sysv.S src/sh/ffi.c
+-@SH64_TRUE@am__append_23 = src/sh64/sysv.S src/sh64/ffi.c
+-@PA_LINUX_TRUE@am__append_24 = src/pa/linux.S src/pa/ffi.c
+-@PA_HPUX_TRUE@am__append_25 = src/pa/hpux32.S src/pa/ffi.c
++@FFI_DEBUG_TRUE@am__append_1 = src/debug.c
++@MIPS_TRUE@am__append_2 = src/mips/ffi.c src/mips/o32.S src/mips/n32.S
++@X86_TRUE@am__append_3 = src/x86/ffi.c src/x86/sysv.S
++@X86_FREEBSD_TRUE@am__append_4 = src/x86/ffi.c src/x86/freebsd.S
++@X86_WIN32_TRUE@am__append_5 = src/x86/ffi.c src/x86/win32.S
++@X86_WIN64_TRUE@am__append_6 = src/x86/ffi.c src/x86/win64.S
++@X86_DARWIN_TRUE@am__append_7 = src/x86/ffi.c src/x86/darwin.S src/x86/ffi64.c src/x86/darwin64.S
++@SPARC_TRUE@am__append_8 = src/sparc/ffi.c src/sparc/v8.S src/sparc/v9.S
++@ALPHA_TRUE@am__append_9 = src/alpha/ffi.c src/alpha/osf.S
++@IA64_TRUE@am__append_10 = src/ia64/ffi.c src/ia64/unix.S
++@M32R_TRUE@am__append_11 = src/m32r/sysv.S src/m32r/ffi.c
++@M68K_TRUE@am__append_12 = src/m68k/ffi.c src/m68k/sysv.S
++@POWERPC_TRUE@am__append_13 = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S src/powerpc/linux64.S src/powerpc/linux64_closure.S
++@POWERPC_AIX_TRUE@am__append_14 = src/powerpc/ffi_darwin.c src/powerpc/aix.S src/powerpc/aix_closure.S
++@POWERPC_DARWIN_TRUE@am__append_15 = src/powerpc/ffi_darwin.c src/powerpc/darwin.S src/powerpc/darwin_closure.S
++@POWERPC_FREEBSD_TRUE@am__append_16 = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S
++@ARM_TRUE@am__append_17 = src/arm/sysv.S src/arm/ffi.c
++@ARM_TRUE@@FFI_EXEC_TRAMPOLINE_TABLE_TRUE@am__append_18 = src/arm/trampoline.S
++@AVR32_TRUE@am__append_19 = src/avr32/sysv.S src/avr32/ffi.c
++@LIBFFI_CRIS_TRUE@am__append_20 = src/cris/sysv.S src/cris/ffi.c
++@FRV_TRUE@am__append_21 = src/frv/eabi.S src/frv/ffi.c
++@MOXIE_TRUE@am__append_22 = src/moxie/eabi.S src/moxie/ffi.c
++@S390_TRUE@am__append_23 = src/s390/sysv.S src/s390/ffi.c
++@X86_64_TRUE@am__append_24 = src/x86/ffi64.c src/x86/unix64.S src/x86/ffi.c src/x86/sysv.S
++@SH_TRUE@am__append_25 = src/sh/sysv.S src/sh/ffi.c
++@SH64_TRUE@am__append_26 = src/sh64/sysv.S src/sh64/ffi.c
++@PA_LINUX_TRUE@am__append_27 = src/pa/linux.S src/pa/ffi.c
++@PA_HPUX_TRUE@am__append_28 = src/pa/hpux32.S src/pa/ffi.c
++# Build debug. Define FFI_DEBUG on the commandline so that, when building with
++# MSVC, it can link against the debug CRT.
++@FFI_DEBUG_TRUE@am__append_29 = -DFFI_DEBUG
+ subdir = .
+-DIST_COMMON = README $(am__configure_deps) $(srcdir)/../compile \
+- $(srcdir)/../config.guess $(srcdir)/../config.sub \
+- $(srcdir)/../depcomp $(srcdir)/../install-sh \
+- $(srcdir)/../ltmain.sh $(srcdir)/../missing \
+- $(srcdir)/../mkinstalldirs $(srcdir)/Makefile.am \
+- $(srcdir)/Makefile.in $(srcdir)/fficonfig.h.in \
+- $(top_srcdir)/configure ChangeLog
++DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
++ $(srcdir)/Makefile.in $(srcdir)/doc/stamp-vti \
++ $(srcdir)/doc/version.texi $(srcdir)/fficonfig.h.in \
++ $(srcdir)/libffi.pc.in $(top_srcdir)/configure ChangeLog \
++ compile config.guess config.sub depcomp install-sh ltmain.sh \
++ mdate-sh missing texinfo.tex
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+-am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
+- $(top_srcdir)/../config/lead-dot.m4 \
+- $(top_srcdir)/../config/multi.m4 \
+- $(top_srcdir)/../config/override.m4 \
+- $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \
+- $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \
+- $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
++am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
++ $(top_srcdir)/m4/ax_cc_maxopt.m4 \
++ $(top_srcdir)/m4/ax_cflags_warn_all.m4 \
++ $(top_srcdir)/m4/ax_compiler_vendor.m4 \
++ $(top_srcdir)/m4/ax_configure_args.m4 \
++ $(top_srcdir)/m4/ax_enable_builddir.m4 \
++ $(top_srcdir)/m4/ax_gcc_archflag.m4 \
++ $(top_srcdir)/m4/ax_gcc_x86_cpuid.m4 \
++ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
++ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
++ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
+ $(top_srcdir)/configure.ac
+ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno config.status.lineno
+-mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
++mkinstalldirs = $(install_sh) -d
+ CONFIG_HEADER = fficonfig.h
+-CONFIG_CLEAN_FILES =
++CONFIG_CLEAN_FILES = libffi.pc
+ CONFIG_CLEAN_VPATH_FILES =
+ am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+ am__vpath_adj = case $$p in \
+@@ -106,50 +116,54 @@ am__nobase_list = $(am__nobase_strip_set
+ am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+-am__installdirs = "$(DESTDIR)$(toolexeclibdir)"
+-LTLIBRARIES = $(noinst_LTLIBRARIES) $(toolexeclib_LTLIBRARIES)
++am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(infodir)" \
++ "$(DESTDIR)$(pkgconfigdir)"
++LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES)
+ libffi_la_LIBADD =
+ am__dirstamp = $(am__leading_dot)dirstamp
+-am_libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo src/types.lo \
+- src/raw_api.lo src/java_raw_api.lo src/closures.lo
+-@MIPS_TRUE@am__objects_1 = src/mips/ffi.lo src/mips/o32.lo \
++am_libffi_la_OBJECTS = src/prep_cif.lo src/types.lo src/raw_api.lo \
++ src/java_raw_api.lo src/closures.lo
++@FFI_DEBUG_TRUE@am__objects_1 = src/debug.lo
++@MIPS_TRUE@am__objects_2 = src/mips/ffi.lo src/mips/o32.lo \
+ @MIPS_TRUE@ src/mips/n32.lo
+-@X86_TRUE@am__objects_2 = src/x86/ffi.lo src/x86/sysv.lo
+-@X86_FREEBSD_TRUE@am__objects_3 = src/x86/ffi.lo src/x86/freebsd.lo
+-@X86_WIN32_TRUE@am__objects_4 = src/x86/ffi.lo src/x86/win32.lo
+-@X86_WIN64_TRUE@am__objects_5 = src/x86/ffi.lo src/x86/win64.lo
+-@X86_DARWIN_TRUE@am__objects_6 = src/x86/ffi.lo src/x86/darwin.lo \
++@X86_TRUE@am__objects_3 = src/x86/ffi.lo src/x86/sysv.lo
++@X86_FREEBSD_TRUE@am__objects_4 = src/x86/ffi.lo src/x86/freebsd.lo
++@X86_WIN32_TRUE@am__objects_5 = src/x86/ffi.lo src/x86/win32.lo
++@X86_WIN64_TRUE@am__objects_6 = src/x86/ffi.lo src/x86/win64.lo
++@X86_DARWIN_TRUE@am__objects_7 = src/x86/ffi.lo src/x86/darwin.lo \
+ @X86_DARWIN_TRUE@ src/x86/ffi64.lo src/x86/darwin64.lo
+-@SPARC_TRUE@am__objects_7 = src/sparc/ffi.lo src/sparc/v8.lo \
++@SPARC_TRUE@am__objects_8 = src/sparc/ffi.lo src/sparc/v8.lo \
+ @SPARC_TRUE@ src/sparc/v9.lo
+-@ALPHA_TRUE@am__objects_8 = src/alpha/ffi.lo src/alpha/osf.lo
+-@IA64_TRUE@am__objects_9 = src/ia64/ffi.lo src/ia64/unix.lo
+-@M32R_TRUE@am__objects_10 = src/m32r/sysv.lo src/m32r/ffi.lo
+-@M68K_TRUE@am__objects_11 = src/m68k/ffi.lo src/m68k/sysv.lo
+-@POWERPC_TRUE@am__objects_12 = src/powerpc/ffi.lo src/powerpc/sysv.lo \
++@ALPHA_TRUE@am__objects_9 = src/alpha/ffi.lo src/alpha/osf.lo
++@IA64_TRUE@am__objects_10 = src/ia64/ffi.lo src/ia64/unix.lo
++@M32R_TRUE@am__objects_11 = src/m32r/sysv.lo src/m32r/ffi.lo
++@M68K_TRUE@am__objects_12 = src/m68k/ffi.lo src/m68k/sysv.lo
++@POWERPC_TRUE@am__objects_13 = src/powerpc/ffi.lo src/powerpc/sysv.lo \
+ @POWERPC_TRUE@ src/powerpc/ppc_closure.lo \
+ @POWERPC_TRUE@ src/powerpc/linux64.lo \
+ @POWERPC_TRUE@ src/powerpc/linux64_closure.lo
+-@POWERPC_AIX_TRUE@am__objects_13 = src/powerpc/ffi_darwin.lo \
++@POWERPC_AIX_TRUE@am__objects_14 = src/powerpc/ffi_darwin.lo \
+ @POWERPC_AIX_TRUE@ src/powerpc/aix.lo \
+ @POWERPC_AIX_TRUE@ src/powerpc/aix_closure.lo
+-@POWERPC_DARWIN_TRUE@am__objects_14 = src/powerpc/ffi_darwin.lo \
++@POWERPC_DARWIN_TRUE@am__objects_15 = src/powerpc/ffi_darwin.lo \
+ @POWERPC_DARWIN_TRUE@ src/powerpc/darwin.lo \
+ @POWERPC_DARWIN_TRUE@ src/powerpc/darwin_closure.lo
+-@POWERPC_FREEBSD_TRUE@am__objects_15 = src/powerpc/ffi.lo \
++@POWERPC_FREEBSD_TRUE@am__objects_16 = src/powerpc/ffi.lo \
+ @POWERPC_FREEBSD_TRUE@ src/powerpc/sysv.lo \
+ @POWERPC_FREEBSD_TRUE@ src/powerpc/ppc_closure.lo
+-@ARM_TRUE@am__objects_16 = src/arm/sysv.lo src/arm/ffi.lo
+-@AVR32_TRUE@am__objects_17 = src/avr32/sysv.lo src/avr32/ffi.lo
+-@LIBFFI_CRIS_TRUE@am__objects_18 = src/cris/sysv.lo src/cris/ffi.lo
+-@FRV_TRUE@am__objects_19 = src/frv/eabi.lo src/frv/ffi.lo
+-@S390_TRUE@am__objects_20 = src/s390/sysv.lo src/s390/ffi.lo
+-@X86_64_TRUE@am__objects_21 = src/x86/ffi64.lo src/x86/unix64.lo \
++@ARM_TRUE@am__objects_17 = src/arm/sysv.lo src/arm/ffi.lo
++@ARM_TRUE@@FFI_EXEC_TRAMPOLINE_TABLE_TRUE@am__objects_18 = src/arm/trampoline.lo
++@AVR32_TRUE@am__objects_19 = src/avr32/sysv.lo src/avr32/ffi.lo
++@LIBFFI_CRIS_TRUE@am__objects_20 = src/cris/sysv.lo src/cris/ffi.lo
++@FRV_TRUE@am__objects_21 = src/frv/eabi.lo src/frv/ffi.lo
++@MOXIE_TRUE@am__objects_22 = src/moxie/eabi.lo src/moxie/ffi.lo
++@S390_TRUE@am__objects_23 = src/s390/sysv.lo src/s390/ffi.lo
++@X86_64_TRUE@am__objects_24 = src/x86/ffi64.lo src/x86/unix64.lo \
+ @X86_64_TRUE@ src/x86/ffi.lo src/x86/sysv.lo
+-@SH_TRUE@am__objects_22 = src/sh/sysv.lo src/sh/ffi.lo
+-@SH64_TRUE@am__objects_23 = src/sh64/sysv.lo src/sh64/ffi.lo
+-@PA_LINUX_TRUE@am__objects_24 = src/pa/linux.lo src/pa/ffi.lo
+-@PA_HPUX_TRUE@am__objects_25 = src/pa/hpux32.lo src/pa/ffi.lo
++@SH_TRUE@am__objects_25 = src/sh/sysv.lo src/sh/ffi.lo
++@SH64_TRUE@am__objects_26 = src/sh64/sysv.lo src/sh64/ffi.lo
++@PA_LINUX_TRUE@am__objects_27 = src/pa/linux.lo src/pa/ffi.lo
++@PA_HPUX_TRUE@am__objects_28 = src/pa/hpux32.lo src/pa/ffi.lo
+ nodist_libffi_la_OBJECTS = $(am__objects_1) $(am__objects_2) \
+ $(am__objects_3) $(am__objects_4) $(am__objects_5) \
+ $(am__objects_6) $(am__objects_7) $(am__objects_8) \
+@@ -158,17 +172,18 @@ nodist_libffi_la_OBJECTS = $(am__objects
+ $(am__objects_15) $(am__objects_16) $(am__objects_17) \
+ $(am__objects_18) $(am__objects_19) $(am__objects_20) \
+ $(am__objects_21) $(am__objects_22) $(am__objects_23) \
+- $(am__objects_24) $(am__objects_25)
++ $(am__objects_24) $(am__objects_25) $(am__objects_26) \
++ $(am__objects_27) $(am__objects_28)
+ libffi_la_OBJECTS = $(am_libffi_la_OBJECTS) \
+ $(nodist_libffi_la_OBJECTS)
+ libffi_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(libffi_la_LDFLAGS) $(LDFLAGS) -o $@
+ libffi_convenience_la_LIBADD =
+-am__objects_26 = src/debug.lo src/prep_cif.lo src/types.lo \
+- src/raw_api.lo src/java_raw_api.lo src/closures.lo
+-am_libffi_convenience_la_OBJECTS = $(am__objects_26)
+-am__objects_27 = $(am__objects_1) $(am__objects_2) $(am__objects_3) \
++am__objects_29 = src/prep_cif.lo src/types.lo src/raw_api.lo \
++ src/java_raw_api.lo src/closures.lo
++am_libffi_convenience_la_OBJECTS = $(am__objects_29)
++am__objects_30 = $(am__objects_1) $(am__objects_2) $(am__objects_3) \
+ $(am__objects_4) $(am__objects_5) $(am__objects_6) \
+ $(am__objects_7) $(am__objects_8) $(am__objects_9) \
+ $(am__objects_10) $(am__objects_11) $(am__objects_12) \
+@@ -176,12 +191,13 @@ am__objects_27 = $(am__objects_1) $(am__
+ $(am__objects_16) $(am__objects_17) $(am__objects_18) \
+ $(am__objects_19) $(am__objects_20) $(am__objects_21) \
+ $(am__objects_22) $(am__objects_23) $(am__objects_24) \
+- $(am__objects_25)
+-nodist_libffi_convenience_la_OBJECTS = $(am__objects_27)
++ $(am__objects_25) $(am__objects_26) $(am__objects_27) \
++ $(am__objects_28)
++nodist_libffi_convenience_la_OBJECTS = $(am__objects_30)
+ libffi_convenience_la_OBJECTS = $(am_libffi_convenience_la_OBJECTS) \
+ $(nodist_libffi_convenience_la_OBJECTS)
+ DEFAULT_INCLUDES = -I.@am__isrc@
+-depcomp = $(SHELL) $(top_srcdir)/../depcomp
++depcomp = $(SHELL) $(top_srcdir)/depcomp
+ am__depfiles_maybe = depfiles
+ am__mv = mv -f
+ CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+@@ -202,12 +218,18 @@ SOURCES = $(libffi_la_SOURCES) $(nodist_
+ $(libffi_convenience_la_SOURCES) \
+ $(nodist_libffi_convenience_la_SOURCES)
+ DIST_SOURCES = $(libffi_la_SOURCES) $(libffi_convenience_la_SOURCES)
+-MULTISRCTOP =
+-MULTIBUILDTOP =
+-MULTIDIRS =
+-MULTISUBDIR =
+-MULTIDO = true
+-MULTICLEAN = true
++INFO_DEPS = $(srcdir)/doc/libffi.info
++am__TEXINFO_TEX_DIR = $(srcdir)
++DVIS = doc/libffi.dvi
++PDFS = doc/libffi.pdf
++PSS = doc/libffi.ps
++HTMLS = doc/libffi.html
++TEXINFOS = doc/libffi.texi
++TEXI2DVI = texi2dvi
++TEXI2PDF = $(TEXI2DVI) --pdf --batch
++MAKEINFOHTML = $(MAKEINFO) --html
++AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS)
++DVIPS = dvips
+ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+ html-recursive info-recursive install-data-recursive \
+ install-dvi-recursive install-exec-recursive \
+@@ -215,6 +237,7 @@ RECURSIVE_TARGETS = all-recursive check-
+ install-pdf-recursive install-ps-recursive install-recursive \
+ installcheck-recursive installdirs-recursive pdf-recursive \
+ ps-recursive uninstall-recursive
++DATA = $(pkgconfig_DATA)
+ RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+ AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+@@ -280,6 +303,7 @@ CPPFLAGS = @CPPFLAGS@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+@@ -287,6 +311,7 @@ ECHO_N = @ECHO_N@
+ ECHO_T = @ECHO_T@
+ EGREP = @EGREP@
+ EXEEXT = @EXEEXT@
++FFI_EXEC_TRAMPOLINE_TABLE = @FFI_EXEC_TRAMPOLINE_TABLE@
+ FGREP = @FGREP@
+ GREP = @GREP@
+ HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
+@@ -305,6 +330,7 @@ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAINT = @MAINT@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ NM = @NM@
+ NMEDIT = @NMEDIT@
+@@ -320,6 +346,7 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
+ PACKAGE_URL = @PACKAGE_URL@
+ PACKAGE_VERSION = @PACKAGE_VERSION@
+ PATH_SEPARATOR = @PATH_SEPARATOR@
++PRTDIAG = @PRTDIAG@
+ RANLIB = @RANLIB@
+ SED = @SED@
+ SET_MAKE = @SET_MAKE@
+@@ -332,6 +359,7 @@ abs_builddir = @abs_builddir@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
++ac_ct_AR = @ac_ct_AR@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+@@ -339,6 +367,7 @@ am__leading_dot = @am__leading_dot@
+ am__quote = @am__quote@
+ am__tar = @am__tar@
+ am__untar = @am__untar@
++ax_enable_builddir_sed = @ax_enable_builddir_sed@
+ bindir = @bindir@
+ build = @build@
+ build_alias = @build_alias@
+@@ -366,7 +395,6 @@ localedir = @localedir@
+ localstatedir = @localstatedir@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+-multi_basedir = @multi_basedir@
+ oldincludedir = @oldincludedir@
+ pdfdir = @pdfdir@
+ prefix = @prefix@
+@@ -375,6 +403,7 @@ psdir = @psdir@
+ sbindir = @sbindir@
+ sharedstatedir = @sharedstatedir@
+ srcdir = @srcdir@
++sys_symbol_underscore = @sys_symbol_underscore@
+ sysconfdir = @sysconfdir@
+ target = @target@
+ target_alias = @target_alias@
+@@ -387,7 +416,6 @@ top_build_prefix = @top_build_prefix@
+ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
+ AUTOMAKE_OPTIONS = foreign subdir-objects
+-ACLOCAL_AMFLAGS = -I .. -I ../config
+ SUBDIRS = include testsuite man
+ EXTRA_DIST = LICENSE ChangeLog.v1 ChangeLog.libgcj configure.host \
+ src/alpha/ffi.c src/alpha/osf.S src/alpha/ffitarget.h \
+@@ -395,27 +423,31 @@ EXTRA_DIST = LICENSE ChangeLog.v1 Change
+ src/avr32/ffi.c src/avr32/sysv.S src/avr32/ffitarget.h \
+ src/cris/ffi.c src/cris/sysv.S src/cris/ffitarget.h \
+ src/ia64/ffi.c src/ia64/ffitarget.h src/ia64/ia64_flags.h \
+- src/ia64/unix.S \
+- src/mips/ffi.c src/mips/n32.S src/mips/o32.S \
+- src/mips/ffitarget.h \
+- src/m32r/ffi.c src/m32r/sysv.S src/m32r/ffitarget.h \
+- src/m68k/ffi.c src/m68k/sysv.S src/m68k/ffitarget.h \
+- src/powerpc/ffi.c src/powerpc/sysv.S \
++ src/ia64/unix.S src/mips/ffi.c src/mips/n32.S src/mips/o32.S \
++ src/mips/ffitarget.h src/m32r/ffi.c src/m32r/sysv.S \
++ src/m32r/ffitarget.h src/m68k/ffi.c src/m68k/sysv.S \
++ src/m68k/ffitarget.h src/powerpc/ffi.c src/powerpc/sysv.S \
+ src/powerpc/linux64.S src/powerpc/linux64_closure.S \
+- src/powerpc/ppc_closure.S src/powerpc/asm.h \
+- src/powerpc/aix.S src/powerpc/darwin.S \
+- src/powerpc/aix_closure.S src/powerpc/darwin_closure.S \
+- src/powerpc/ffi_darwin.c src/powerpc/ffitarget.h \
+- src/s390/ffi.c src/s390/sysv.S src/s390/ffitarget.h \
+- src/sh/ffi.c src/sh/sysv.S src/sh/ffitarget.h \
+- src/sh64/ffi.c src/sh64/sysv.S src/sh64/ffitarget.h \
+- src/sparc/v8.S src/sparc/v9.S src/sparc/ffitarget.h \
+- src/sparc/ffi.c src/x86/darwin64.S \
++ src/powerpc/ppc_closure.S src/powerpc/asm.h src/powerpc/aix.S \
++ src/powerpc/darwin.S src/powerpc/aix_closure.S \
++ src/powerpc/darwin_closure.S src/powerpc/ffi_darwin.c \
++ src/powerpc/ffitarget.h src/s390/ffi.c src/s390/sysv.S \
++ src/s390/ffitarget.h src/sh/ffi.c src/sh/sysv.S \
++ src/sh/ffitarget.h src/sh64/ffi.c src/sh64/sysv.S \
++ src/sh64/ffitarget.h src/sparc/v8.S src/sparc/v9.S \
++ src/sparc/ffitarget.h src/sparc/ffi.c src/x86/darwin64.S \
+ src/x86/ffi.c src/x86/sysv.S src/x86/win32.S src/x86/darwin.S \
+- src/x86/ffi64.c src/x86/unix64.S src/x86/ffitarget.h \
+- src/pa/ffitarget.h src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S \
+- src/frv/ffi.c src/frv/eabi.S src/frv/ffitarget.h src/dlmalloc.c
++ src/x86/win64.S src/x86/freebsd.S src/x86/ffi64.c \
++ src/x86/unix64.S src/x86/ffitarget.h src/pa/ffitarget.h \
++ src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S src/frv/ffi.c \
++ src/frv/eabi.S src/frv/ffitarget.h src/dlmalloc.c \
++ src/moxie/ffi.c src/moxie/eabi.S libtool-version \
++ ChangeLog.libffi m4/libtool.m4 m4/lt~obsolete.m4 \
++ m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4 build-ios.sh \
++ m4/ltversion.m4 build-ios.sh src/arm/gentramp.sh src/debug.c \
++ msvcc.sh
+
++info_TEXINFOS = doc/libffi.texi
+ # Work around what appears to be a GNU make bug handling MAKEFLAGS
+ # values defined in terms of make variables, as is the case for CC and
+@@ -455,15 +487,15 @@ AM_MAKEFLAGS = \
+ "RANLIB=$(RANLIB)" \
+ "DESTDIR=$(DESTDIR)"
+
+-
+-# Subdir rules rely on $(FLAGS_TO_PASS)
+-FLAGS_TO_PASS = $(AM_MAKEFLAGS)
+ MAKEOVERRIDES =
+-toolexeclib_LTLIBRARIES = libffi.la
++ACLOCAL_AMFLAGS = $(ACLOCAL_AMFLAGS) -I m4
++lib_LTLIBRARIES = libffi.la
+ noinst_LTLIBRARIES = libffi_convenience.la
+-libffi_la_SOURCES = src/debug.c src/prep_cif.c src/types.c \
++libffi_la_SOURCES = src/prep_cif.c src/types.c \
+ src/raw_api.c src/java_raw_api.c src/closures.c
+
++pkgconfigdir = $(libdir)/pkgconfig
++pkgconfig_DATA = libffi.pc
+ nodist_libffi_la_SOURCES = $(am__append_1) $(am__append_2) \
+ $(am__append_3) $(am__append_4) $(am__append_5) \
+ $(am__append_6) $(am__append_7) $(am__append_8) \
+@@ -472,19 +504,19 @@ nodist_libffi_la_SOURCES = $(am__append_
+ $(am__append_15) $(am__append_16) $(am__append_17) \
+ $(am__append_18) $(am__append_19) $(am__append_20) \
+ $(am__append_21) $(am__append_22) $(am__append_23) \
+- $(am__append_24) $(am__append_25)
++ $(am__append_24) $(am__append_25) $(am__append_26) \
++ $(am__append_27) $(am__append_28)
+ libffi_convenience_la_SOURCES = $(libffi_la_SOURCES)
+ nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
+-AM_CFLAGS = -Wall -g -fexceptions
+-LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
++AM_CFLAGS = -g $(am__append_29)
+ libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LTLDFLAGS) $(AM_LTLDFLAGS)
+ AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
+-AM_CCASFLAGS = $(AM_CPPFLAGS)
++AM_CCASFLAGS = $(AM_CPPFLAGS) -g
+ all: fficonfig.h
+ $(MAKE) $(AM_MAKEFLAGS) all-recursive
+
+ .SUFFIXES:
+-.SUFFIXES: .S .c .lo .o .obj
++.SUFFIXES: .S .c .dvi .lo .o .obj .ps
+ am--refresh:
+ @:
+ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+@@ -536,41 +568,43 @@ $(srcdir)/fficonfig.h.in: @MAINTAINER_MO
+
+ distclean-hdr:
+ -rm -f fficonfig.h stamp-h1
+-
+-clean-noinstLTLIBRARIES:
+- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+- @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+- test "$$dir" != "$$p" || dir=.; \
+- echo "rm -f \"$${dir}/so_locations\""; \
+- rm -f "$${dir}/so_locations"; \
+- done
+-install-toolexeclibLTLIBRARIES: $(toolexeclib_LTLIBRARIES)
++libffi.pc: $(top_builddir)/config.status $(srcdir)/libffi.pc.in
++ cd $(top_builddir) && $(SHELL) ./config.status $@
++install-libLTLIBRARIES: $(lib_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+- test -z "$(toolexeclibdir)" || $(MKDIR_P) "$(DESTDIR)$(toolexeclibdir)"
+- @list='$(toolexeclib_LTLIBRARIES)'; test -n "$(toolexeclibdir)" || list=; \
++ test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
++ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ list2=; for p in $$list; do \
+ if test -f $$p; then \
+ list2="$$list2 $$p"; \
+ else :; fi; \
+ done; \
+ test -z "$$list2" || { \
+- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(toolexeclibdir)'"; \
+- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(toolexeclibdir)"; \
++ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
++ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
+ }
+
+-uninstall-toolexeclibLTLIBRARIES:
++uninstall-libLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+- @list='$(toolexeclib_LTLIBRARIES)'; test -n "$(toolexeclibdir)" || list=; \
++ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(toolexeclibdir)/$$f'"; \
+- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(toolexeclibdir)/$$f"; \
++ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
++ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
+ done
+
+-clean-toolexeclibLTLIBRARIES:
+- -test -z "$(toolexeclib_LTLIBRARIES)" || rm -f $(toolexeclib_LTLIBRARIES)
+- @list='$(toolexeclib_LTLIBRARIES)'; for p in $$list; do \
++clean-libLTLIBRARIES:
++ -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
++ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
++ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
++ test "$$dir" != "$$p" || dir=.; \
++ echo "rm -f \"$${dir}/so_locations\""; \
++ rm -f "$${dir}/so_locations"; \
++ done
++
++clean-noinstLTLIBRARIES:
++ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
++ @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+ test "$$dir" != "$$p" || dir=.; \
+ echo "rm -f \"$${dir}/so_locations\""; \
+@@ -582,12 +616,12 @@ src/$(am__dirstamp):
+ src/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) src/$(DEPDIR)
+ @: > src/$(DEPDIR)/$(am__dirstamp)
+-src/debug.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
+ src/prep_cif.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
+ src/types.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
+ src/raw_api.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
+ src/java_raw_api.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
+ src/closures.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
++src/debug.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
+ src/mips/$(am__dirstamp):
+ @$(MKDIR_P) src/mips
+ @: > src/mips/$(am__dirstamp)
+@@ -710,6 +744,8 @@ src/arm/sysv.lo: src/arm/$(am__dirstamp)
+ src/arm/$(DEPDIR)/$(am__dirstamp)
+ src/arm/ffi.lo: src/arm/$(am__dirstamp) \
+ src/arm/$(DEPDIR)/$(am__dirstamp)
++src/arm/trampoline.lo: src/arm/$(am__dirstamp) \
++ src/arm/$(DEPDIR)/$(am__dirstamp)
+ src/avr32/$(am__dirstamp):
+ @$(MKDIR_P) src/avr32
+ @: > src/avr32/$(am__dirstamp)
+@@ -740,6 +776,16 @@ src/frv/eabi.lo: src/frv/$(am__dirstamp)
+ src/frv/$(DEPDIR)/$(am__dirstamp)
+ src/frv/ffi.lo: src/frv/$(am__dirstamp) \
+ src/frv/$(DEPDIR)/$(am__dirstamp)
++src/moxie/$(am__dirstamp):
++ @$(MKDIR_P) src/moxie
++ @: > src/moxie/$(am__dirstamp)
++src/moxie/$(DEPDIR)/$(am__dirstamp):
++ @$(MKDIR_P) src/moxie/$(DEPDIR)
++ @: > src/moxie/$(DEPDIR)/$(am__dirstamp)
++src/moxie/eabi.lo: src/moxie/$(am__dirstamp) \
++ src/moxie/$(DEPDIR)/$(am__dirstamp)
++src/moxie/ffi.lo: src/moxie/$(am__dirstamp) \
++ src/moxie/$(DEPDIR)/$(am__dirstamp)
+ src/s390/$(am__dirstamp):
+ @$(MKDIR_P) src/s390
+ @: > src/s390/$(am__dirstamp)
+@@ -783,7 +829,7 @@ src/pa/ffi.lo: src/pa/$(am__dirstamp) sr
+ src/pa/hpux32.lo: src/pa/$(am__dirstamp) \
+ src/pa/$(DEPDIR)/$(am__dirstamp)
+ libffi.la: $(libffi_la_OBJECTS) $(libffi_la_DEPENDENCIES)
+- $(libffi_la_LINK) -rpath $(toolexeclibdir) $(libffi_la_OBJECTS) $(libffi_la_LIBADD) $(LIBS)
++ $(libffi_la_LINK) -rpath $(libdir) $(libffi_la_OBJECTS) $(libffi_la_LIBADD) $(LIBS)
+ libffi_convenience.la: $(libffi_convenience_la_OBJECTS) $(libffi_convenience_la_DEPENDENCIES)
+ $(LINK) $(libffi_convenience_la_OBJECTS) $(libffi_convenience_la_LIBADD) $(LIBS)
+
+@@ -797,6 +843,8 @@ mostlyclean-compile:
+ -rm -f src/arm/ffi.lo
+ -rm -f src/arm/sysv.$(OBJEXT)
+ -rm -f src/arm/sysv.lo
++ -rm -f src/arm/trampoline.$(OBJEXT)
++ -rm -f src/arm/trampoline.lo
+ -rm -f src/avr32/ffi.$(OBJEXT)
+ -rm -f src/avr32/ffi.lo
+ -rm -f src/avr32/sysv.$(OBJEXT)
+@@ -833,6 +881,10 @@ mostlyclean-compile:
+ -rm -f src/mips/n32.lo
+ -rm -f src/mips/o32.$(OBJEXT)
+ -rm -f src/mips/o32.lo
++ -rm -f src/moxie/eabi.$(OBJEXT)
++ -rm -f src/moxie/eabi.lo
++ -rm -f src/moxie/ffi.$(OBJEXT)
++ -rm -f src/moxie/ffi.lo
+ -rm -f src/pa/ffi.$(OBJEXT)
+ -rm -f src/pa/ffi.lo
+ -rm -f src/pa/hpux32.$(OBJEXT)
+@@ -915,6 +967,7 @@ distclean-compile:
+ @AMDEP_TRUE@@am__include@ @am__quote@src/alpha/$(DEPDIR)/osf.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/ffi.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/sysv.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/trampoline.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/avr32/$(DEPDIR)/ffi.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/avr32/$(DEPDIR)/sysv.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/cris/$(DEPDIR)/ffi.Plo@am__quote@
+@@ -930,6 +983,8 @@ distclean-compile:
+ @AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/ffi.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/n32.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/o32.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@src/moxie/$(DEPDIR)/eabi.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@src/moxie/$(DEPDIR)/ffi.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/ffi.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/hpux32.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/linux.Plo@am__quote@
+@@ -1025,6 +1080,7 @@ clean-libtool:
+ -rm -rf src/m32r/.libs src/m32r/_libs
+ -rm -rf src/m68k/.libs src/m68k/_libs
+ -rm -rf src/mips/.libs src/mips/_libs
++ -rm -rf src/moxie/.libs src/moxie/_libs
+ -rm -rf src/pa/.libs src/pa/_libs
+ -rm -rf src/powerpc/.libs src/powerpc/_libs
+ -rm -rf src/s390/.libs src/s390/_libs
+@@ -1035,23 +1091,191 @@ clean-libtool:
+
+ distclean-libtool:
+ -rm -f libtool config.lt
++doc/$(am__dirstamp):
++ @$(MKDIR_P) doc
++ @: > doc/$(am__dirstamp)
++
++$(srcdir)/doc/libffi.info: doc/libffi.texi $(srcdir)/doc/version.texi
++ restore=: && backupdir="$(am__leading_dot)am$$$$" && \
++ am__cwd=`pwd` && $(am__cd) $(srcdir) && \
++ rm -rf $$backupdir && mkdir $$backupdir && \
++ if ($(MAKEINFO) --version) >/dev/null 2>&1; then \
++ for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \
++ if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \
++ done; \
++ else :; fi && \
++ cd "$$am__cwd"; \
++ if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc \
++ -o $@ $(srcdir)/doc/libffi.texi; \
++ then \
++ rc=0; \
++ $(am__cd) $(srcdir); \
++ else \
++ rc=$$?; \
++ $(am__cd) $(srcdir) && \
++ $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
++ fi; \
++ rm -rf $$backupdir; exit $$rc
+
+-# GNU Make needs to see an explicit $(MAKE) variable in the command it
+-# runs to enable its job server during parallel builds. Hence the
+-# comments below.
+-all-multi:
+- $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do # $(MAKE)
+-install-multi:
+- $(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do # $(MAKE)
+-
+-mostlyclean-multi:
+- $(MULTICLEAN) $(AM_MAKEFLAGS) DO=mostlyclean multi-clean # $(MAKE)
+-clean-multi:
+- $(MULTICLEAN) $(AM_MAKEFLAGS) DO=clean multi-clean # $(MAKE)
+-distclean-multi:
+- $(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean # $(MAKE)
+-maintainer-clean-multi:
+- $(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean # $(MAKE)
++doc/libffi.dvi: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
++ TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
++ MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \
++ $(TEXI2DVI) -o $@ `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi
++
++doc/libffi.pdf: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
++ TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
++ MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \
++ $(TEXI2PDF) -o $@ `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi
++
++doc/libffi.html: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
++ rm -rf $(@:.html=.htp)
++ if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc \
++ -o $(@:.html=.htp) `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi; \
++ then \
++ rm -rf $@; \
++ if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
++ mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \
++ else \
++ if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
++ rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \
++ exit 1; \
++ fi
++$(srcdir)/doc/version.texi: @MAINTAINER_MODE_TRUE@ $(srcdir)/doc/stamp-vti
++$(srcdir)/doc/stamp-vti: doc/libffi.texi $(top_srcdir)/configure
++ test -f doc/$(am__dirstamp) || $(MAKE) $(AM_MAKEFLAGS) doc/$(am__dirstamp)
++ @(dir=.; test -f ./doc/libffi.texi || dir=$(srcdir); \
++ set `$(SHELL) $(srcdir)/mdate-sh $$dir/doc/libffi.texi`; \
++ echo "@set UPDATED $$1 $$2 $$3"; \
++ echo "@set UPDATED-MONTH $$2 $$3"; \
++ echo "@set EDITION $(VERSION)"; \
++ echo "@set VERSION $(VERSION)") > vti.tmp
++ @cmp -s vti.tmp $(srcdir)/doc/version.texi \
++ || (echo "Updating $(srcdir)/doc/version.texi"; \
++ cp vti.tmp $(srcdir)/doc/version.texi)
++ -@rm -f vti.tmp
++ @cp $(srcdir)/doc/version.texi $@
++
++mostlyclean-vti:
++ -rm -f vti.tmp
++
++maintainer-clean-vti:
++@MAINTAINER_MODE_TRUE@ -rm -f $(srcdir)/doc/stamp-vti $(srcdir)/doc/version.texi
++.dvi.ps:
++ TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
++ $(DVIPS) -o $@ $<
++
++uninstall-dvi-am:
++ @$(NORMAL_UNINSTALL)
++ @list='$(DVIS)'; test -n "$(dvidir)" || list=; \
++ for p in $$list; do \
++ $(am__strip_dir) \
++ echo " rm -f '$(DESTDIR)$(dvidir)/$$f'"; \
++ rm -f "$(DESTDIR)$(dvidir)/$$f"; \
++ done
++
++uninstall-html-am:
++ @$(NORMAL_UNINSTALL)
++ @list='$(HTMLS)'; test -n "$(htmldir)" || list=; \
++ for p in $$list; do \
++ $(am__strip_dir) \
++ echo " rm -rf '$(DESTDIR)$(htmldir)/$$f'"; \
++ rm -rf "$(DESTDIR)$(htmldir)/$$f"; \
++ done
++
++uninstall-info-am:
++ @$(PRE_UNINSTALL)
++ @if test -d '$(DESTDIR)$(infodir)' && \
++ (install-info --version && \
++ install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
++ list='$(INFO_DEPS)'; \
++ for file in $$list; do \
++ relfile=`echo "$$file" | sed 's|^.*/||'`; \
++ echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \
++ if install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \
++ then :; else test ! -f "$(DESTDIR)$(infodir)/$$relfile" || exit 1; fi; \
++ done; \
++ else :; fi
++ @$(NORMAL_UNINSTALL)
++ @list='$(INFO_DEPS)'; \
++ for file in $$list; do \
++ relfile=`echo "$$file" | sed 's|^.*/||'`; \
++ relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \
++ (if test -d "$(DESTDIR)$(infodir)" && cd "$(DESTDIR)$(infodir)"; then \
++ echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \
++ rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \
++ else :; fi); \
++ done
++
++uninstall-pdf-am:
++ @$(NORMAL_UNINSTALL)
++ @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \
++ for p in $$list; do \
++ $(am__strip_dir) \
++ echo " rm -f '$(DESTDIR)$(pdfdir)/$$f'"; \
++ rm -f "$(DESTDIR)$(pdfdir)/$$f"; \
++ done
++
++uninstall-ps-am:
++ @$(NORMAL_UNINSTALL)
++ @list='$(PSS)'; test -n "$(psdir)" || list=; \
++ for p in $$list; do \
++ $(am__strip_dir) \
++ echo " rm -f '$(DESTDIR)$(psdir)/$$f'"; \
++ rm -f "$(DESTDIR)$(psdir)/$$f"; \
++ done
++
++dist-info: $(INFO_DEPS)
++ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
++ list='$(INFO_DEPS)'; \
++ for base in $$list; do \
++ case $$base in \
++ $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \
++ esac; \
++ if test -f $$base; then d=.; else d=$(srcdir); fi; \
++ base_i=`echo "$$base" | sed 's|\.info$$||;s|$$|.i|'`; \
++ for file in $$d/$$base $$d/$$base-[0-9] $$d/$$base-[0-9][0-9] $$d/$$base_i[0-9] $$d/$$base_i[0-9][0-9]; do \
++ if test -f $$file; then \
++ relfile=`expr "$$file" : "$$d/\(.*\)"`; \
++ test -f "$(distdir)/$$relfile" || \
++ cp -p $$file "$(distdir)/$$relfile"; \
++ else :; fi; \
++ done; \
++ done
++
++mostlyclean-aminfo:
++ -rm -rf libffi.aux libffi.cp libffi.cps libffi.fn libffi.ky libffi.log \
++ libffi.pg libffi.tmp libffi.toc libffi.tp libffi.vr
++
++clean-aminfo:
++ -test -z "doc/libffi.dvi doc/libffi.pdf doc/libffi.ps doc/libffi.html" \
++ || rm -rf doc/libffi.dvi doc/libffi.pdf doc/libffi.ps doc/libffi.html
++
++maintainer-clean-aminfo:
++ @list='$(INFO_DEPS)'; for i in $$list; do \
++ i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \
++ echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \
++ rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \
++ done
++install-pkgconfigDATA: $(pkgconfig_DATA)
++ @$(NORMAL_INSTALL)
++ test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)"
++ @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
++ for p in $$list; do \
++ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
++ echo "$$d$$p"; \
++ done | $(am__base_list) | \
++ while read files; do \
++ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
++ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
++ done
++
++uninstall-pkgconfigDATA:
++ @$(NORMAL_UNINSTALL)
++ @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
++ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
++ test -n "$$files" || exit 0; \
++ echo " ( cd '$(DESTDIR)$(pkgconfigdir)' && rm -f" $$files ")"; \
++ cd "$(DESTDIR)$(pkgconfigdir)" && rm -f $$files
+
+ # This directory's subdirectories are mostly independent; you can cd
+ # into them and run `make' without going through this Makefile.
+@@ -1248,6 +1472,9 @@ distdir: $(DISTFILES)
+ || exit 1; \
+ fi; \
+ done
++ $(MAKE) $(AM_MAKEFLAGS) \
++ top_distdir="$(top_distdir)" distdir="$(distdir)" \
++ dist-info
+ -test -n "$(am__skip_mode_fix)" \
+ || find "$(distdir)" -type d ! -perm -755 \
+ -exec chmod u+rwx,go+rx {} \; -o \
+@@ -1365,10 +1592,10 @@ distcleancheck: distclean
+ exit 1; } >&2
+ check-am: all-am
+ check: check-recursive
+-all-am: Makefile $(LTLIBRARIES) all-multi fficonfig.h
++all-am: Makefile $(INFO_DEPS) $(LTLIBRARIES) $(DATA) fficonfig.h
+ installdirs: installdirs-recursive
+ installdirs-am:
+- for dir in "$(DESTDIR)$(toolexeclibdir)"; do \
++ for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(infodir)" "$(DESTDIR)$(pkgconfigdir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+ install: install-recursive
+@@ -1392,6 +1619,7 @@ clean-generic:
+ distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
++ -rm -f doc/$(am__dirstamp)
+ -rm -f src/$(DEPDIR)/$(am__dirstamp)
+ -rm -f src/$(am__dirstamp)
+ -rm -f src/alpha/$(DEPDIR)/$(am__dirstamp)
+@@ -1412,6 +1640,8 @@ distclean-generic:
+ -rm -f src/m68k/$(am__dirstamp)
+ -rm -f src/mips/$(DEPDIR)/$(am__dirstamp)
+ -rm -f src/mips/$(am__dirstamp)
++ -rm -f src/moxie/$(DEPDIR)/$(am__dirstamp)
++ -rm -f src/moxie/$(am__dirstamp)
+ -rm -f src/pa/$(DEPDIR)/$(am__dirstamp)
+ -rm -f src/pa/$(am__dirstamp)
+ -rm -f src/powerpc/$(DEPDIR)/$(am__dirstamp)
+@@ -1430,114 +1660,186 @@ distclean-generic:
+ maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+-clean: clean-multi clean-recursive
++clean: clean-recursive
+
+-clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+- clean-toolexeclibLTLIBRARIES mostlyclean-am
++clean-am: clean-aminfo clean-generic clean-libLTLIBRARIES \
++ clean-libtool clean-noinstLTLIBRARIES mostlyclean-am
+
+-distclean: distclean-multi distclean-recursive
++distclean: distclean-recursive
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+- -rm -rf src/$(DEPDIR) src/alpha/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/mips/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/x86/$(DEPDIR)
++ -rm -rf src/$(DEPDIR) src/alpha/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/x86/$(DEPDIR)
+ -rm -f Makefile
+ distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-hdr distclean-libtool distclean-tags
+
+ dvi: dvi-recursive
+
+-dvi-am:
++dvi-am: $(DVIS)
+
+ html: html-recursive
+
+-html-am:
++html-am: $(HTMLS)
+
+ info: info-recursive
+
+-info-am:
++info-am: $(INFO_DEPS)
+
+-install-data-am:
++install-data-am: install-info-am install-pkgconfigDATA
+
+ install-dvi: install-dvi-recursive
+
+-install-dvi-am:
+-
+-install-exec-am: install-multi install-toolexeclibLTLIBRARIES
+-
+-install-html: install-html-recursive
+-
+-install-html-am:
++install-dvi-am: $(DVIS)
++ @$(NORMAL_INSTALL)
++ test -z "$(dvidir)" || $(MKDIR_P) "$(DESTDIR)$(dvidir)"
++ @list='$(DVIS)'; test -n "$(dvidir)" || list=; \
++ for p in $$list; do \
++ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
++ echo "$$d$$p"; \
++ done | $(am__base_list) | \
++ while read files; do \
++ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(dvidir)'"; \
++ $(INSTALL_DATA) $$files "$(DESTDIR)$(dvidir)" || exit $$?; \
++ done
++install-exec-am: install-libLTLIBRARIES
+
++install-html-am: $(HTMLS)
++ @$(NORMAL_INSTALL)
++ test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)"
++ @list='$(HTMLS)'; list2=; test -n "$(htmldir)" || list=; \
++ for p in $$list; do \
++ if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \
++ $(am__strip_dir) \
++ if test -d "$$d$$p"; then \
++ echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \
++ $(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \
++ echo " $(INSTALL_DATA) '$$d$$p'/* '$(DESTDIR)$(htmldir)/$$f'"; \
++ $(INSTALL_DATA) "$$d$$p"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \
++ else \
++ list2="$$list2 $$d$$p"; \
++ fi; \
++ done; \
++ test -z "$$list2" || { echo "$$list2" | $(am__base_list) | \
++ while read files; do \
++ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(htmldir)'"; \
++ $(INSTALL_DATA) $$files "$(DESTDIR)$(htmldir)" || exit $$?; \
++ done; }
+ install-info: install-info-recursive
+
+-install-info-am:
+-
++install-info-am: $(INFO_DEPS)
++ @$(NORMAL_INSTALL)
++ test -z "$(infodir)" || $(MKDIR_P) "$(DESTDIR)$(infodir)"
++ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
++ list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
++ for file in $$list; do \
++ case $$file in \
++ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
++ esac; \
++ if test -f $$file; then d=.; else d=$(srcdir); fi; \
++ file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \
++ for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \
++ $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \
++ if test -f $$ifile; then \
++ echo "$$ifile"; \
++ else : ; fi; \
++ done; \
++ done | $(am__base_list) | \
++ while read files; do \
++ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(infodir)'"; \
++ $(INSTALL_DATA) $$files "$(DESTDIR)$(infodir)" || exit $$?; done
++ @$(POST_INSTALL)
++ @if (install-info --version && \
++ install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
++ list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
++ for file in $$list; do \
++ relfile=`echo "$$file" | sed 's|^.*/||'`; \
++ echo " install-info --info-dir='$(DESTDIR)$(infodir)' '$(DESTDIR)$(infodir)/$$relfile'";\
++ install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$relfile" || :;\
++ done; \
++ else : ; fi
+ install-man:
+
+-install-pdf: install-pdf-recursive
+-
+-install-pdf-am:
+-
++install-pdf-am: $(PDFS)
++ @$(NORMAL_INSTALL)
++ test -z "$(pdfdir)" || $(MKDIR_P) "$(DESTDIR)$(pdfdir)"
++ @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \
++ for p in $$list; do \
++ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
++ echo "$$d$$p"; \
++ done | $(am__base_list) | \
++ while read files; do \
++ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pdfdir)'"; \
++ $(INSTALL_DATA) $$files "$(DESTDIR)$(pdfdir)" || exit $$?; done
+ install-ps: install-ps-recursive
+
+-install-ps-am:
+-
++install-ps-am: $(PSS)
++ @$(NORMAL_INSTALL)
++ test -z "$(psdir)" || $(MKDIR_P) "$(DESTDIR)$(psdir)"
++ @list='$(PSS)'; test -n "$(psdir)" || list=; \
++ for p in $$list; do \
++ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
++ echo "$$d$$p"; \
++ done | $(am__base_list) | \
++ while read files; do \
++ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(psdir)'"; \
++ $(INSTALL_DATA) $$files "$(DESTDIR)$(psdir)" || exit $$?; done
+ installcheck-am:
+
+-maintainer-clean: maintainer-clean-multi maintainer-clean-recursive
++maintainer-clean: maintainer-clean-recursive
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -rf $(top_srcdir)/autom4te.cache
+- -rm -rf src/$(DEPDIR) src/alpha/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/mips/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/x86/$(DEPDIR)
++ -rm -rf src/$(DEPDIR) src/alpha/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/x86/$(DEPDIR)
+ -rm -f Makefile
+-maintainer-clean-am: distclean-am maintainer-clean-generic
++maintainer-clean-am: distclean-am maintainer-clean-aminfo \
++ maintainer-clean-generic maintainer-clean-vti
+
+-mostlyclean: mostlyclean-multi mostlyclean-recursive
++mostlyclean: mostlyclean-recursive
+
+-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+- mostlyclean-libtool
++mostlyclean-am: mostlyclean-aminfo mostlyclean-compile \
++ mostlyclean-generic mostlyclean-libtool mostlyclean-vti
+
+ pdf: pdf-recursive
+
+-pdf-am:
++pdf-am: $(PDFS)
+
+ ps: ps-recursive
+
+-ps-am:
++ps-am: $(PSS)
+
+-uninstall-am: uninstall-toolexeclibLTLIBRARIES
++uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \
++ uninstall-libLTLIBRARIES uninstall-pdf-am \
++ uninstall-pkgconfigDATA uninstall-ps-am
+
+-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all all-multi \
+- clean-multi ctags-recursive distclean-multi install-am \
+- install-multi install-strip maintainer-clean-multi \
+- mostlyclean-multi tags-recursive
++.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
++ ctags-recursive install-am install-strip tags-recursive
+
+ .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+- all all-am all-multi am--refresh check check-am clean \
+- clean-generic clean-libtool clean-multi \
+- clean-noinstLTLIBRARIES clean-toolexeclibLTLIBRARIES ctags \
+- ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-lzma \
+- dist-shar dist-tarZ dist-xz dist-zip distcheck distclean \
+- distclean-compile distclean-generic distclean-hdr \
+- distclean-libtool distclean-multi distclean-tags \
+- distcleancheck distdir distuninstallcheck dvi dvi-am html \
+- html-am info info-am install install-am install-data \
+- install-data-am install-dvi install-dvi-am install-exec \
+- install-exec-am install-html install-html-am install-info \
+- install-info-am install-man install-multi install-pdf \
+- install-pdf-am install-ps install-ps-am install-strip \
+- install-toolexeclibLTLIBRARIES installcheck installcheck-am \
+- installdirs installdirs-am maintainer-clean \
+- maintainer-clean-generic maintainer-clean-multi mostlyclean \
++ all all-am am--refresh check check-am clean clean-aminfo \
++ clean-generic clean-libLTLIBRARIES clean-libtool \
++ clean-noinstLTLIBRARIES ctags ctags-recursive dist dist-all \
++ dist-bzip2 dist-gzip dist-info dist-lzma dist-shar dist-tarZ \
++ dist-xz dist-zip distcheck distclean distclean-compile \
++ distclean-generic distclean-hdr distclean-libtool \
++ distclean-tags distcleancheck distdir distuninstallcheck dvi \
++ dvi-am html html-am info info-am install install-am \
++ install-data install-data-am install-dvi install-dvi-am \
++ install-exec install-exec-am install-html install-html-am \
++ install-info install-info-am install-libLTLIBRARIES \
++ install-man install-pdf install-pdf-am install-pkgconfigDATA \
++ install-ps install-ps-am install-strip installcheck \
++ installcheck-am installdirs installdirs-am maintainer-clean \
++ maintainer-clean-aminfo maintainer-clean-generic \
++ maintainer-clean-vti mostlyclean mostlyclean-aminfo \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+- mostlyclean-multi pdf pdf-am ps ps-am tags tags-recursive \
+- uninstall uninstall-am uninstall-toolexeclibLTLIBRARIES
++ mostlyclean-vti pdf pdf-am ps ps-am tags tags-recursive \
++ uninstall uninstall-am uninstall-dvi-am uninstall-html-am \
++ uninstall-info-am uninstall-libLTLIBRARIES uninstall-pdf-am \
++ uninstall-pkgconfigDATA uninstall-ps-am
+
+
+-# Multilib support. Automake should provide these on its own.
+-all-recursive: all-multi
+-install-recursive: install-multi
+-mostlyclean-recursive: mostlyclean-multi
+-clean-recursive: clean-multi
+-distclean-recursive: distclean-multi
+-maintainer-clean-recursive: maintainer-clean-multi
++# No install-html or install-pdf support in automake yet
++.PHONY: install-html install-pdf
++install-html:
++install-pdf:
+
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
+Index: libffi/include/Makefile.in
+===================================================================
+--- libffi.orig/include/Makefile.in
++++ libffi/include/Makefile.in
+@@ -37,19 +37,23 @@ host_triplet = @host@
+ target_triplet = @target@
+ subdir = include
+ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+- $(srcdir)/ffi.h.in $(toollibffi_HEADERS)
++ $(srcdir)/ffi.h.in
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+-am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
+- $(top_srcdir)/../config/lead-dot.m4 \
+- $(top_srcdir)/../config/multi.m4 \
+- $(top_srcdir)/../config/override.m4 \
+- $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \
+- $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \
+- $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
++am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
++ $(top_srcdir)/m4/ax_cc_maxopt.m4 \
++ $(top_srcdir)/m4/ax_cflags_warn_all.m4 \
++ $(top_srcdir)/m4/ax_compiler_vendor.m4 \
++ $(top_srcdir)/m4/ax_configure_args.m4 \
++ $(top_srcdir)/m4/ax_enable_builddir.m4 \
++ $(top_srcdir)/m4/ax_gcc_archflag.m4 \
++ $(top_srcdir)/m4/ax_gcc_x86_cpuid.m4 \
++ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
++ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
++ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
+ $(top_srcdir)/configure.ac
+ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+-mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
++mkinstalldirs = $(install_sh) -d
+ CONFIG_HEADER = $(top_builddir)/fficonfig.h
+ CONFIG_CLEAN_FILES = ffi.h ffitarget.h
+ CONFIG_CLEAN_VPATH_FILES =
+@@ -76,8 +80,8 @@ am__nobase_list = $(am__nobase_strip_set
+ am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+-am__installdirs = "$(DESTDIR)$(toollibffidir)"
+-HEADERS = $(toollibffi_HEADERS)
++am__installdirs = "$(DESTDIR)$(includesdir)"
++HEADERS = $(nodist_includes_HEADERS)
+ ETAGS = etags
+ CTAGS = ctags
+ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+@@ -102,6 +106,7 @@ CPPFLAGS = @CPPFLAGS@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+@@ -109,6 +114,7 @@ ECHO_N = @ECHO_N@
+ ECHO_T = @ECHO_T@
+ EGREP = @EGREP@
+ EXEEXT = @EXEEXT@
++FFI_EXEC_TRAMPOLINE_TABLE = @FFI_EXEC_TRAMPOLINE_TABLE@
+ FGREP = @FGREP@
+ GREP = @GREP@
+ HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
+@@ -127,6 +133,7 @@ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAINT = @MAINT@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ NM = @NM@
+ NMEDIT = @NMEDIT@
+@@ -142,6 +149,7 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
+ PACKAGE_URL = @PACKAGE_URL@
+ PACKAGE_VERSION = @PACKAGE_VERSION@
+ PATH_SEPARATOR = @PATH_SEPARATOR@
++PRTDIAG = @PRTDIAG@
+ RANLIB = @RANLIB@
+ SED = @SED@
+ SET_MAKE = @SET_MAKE@
+@@ -154,6 +162,7 @@ abs_builddir = @abs_builddir@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
++ac_ct_AR = @ac_ct_AR@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+@@ -161,6 +170,7 @@ am__leading_dot = @am__leading_dot@
+ am__quote = @am__quote@
+ am__tar = @am__tar@
+ am__untar = @am__untar@
++ax_enable_builddir_sed = @ax_enable_builddir_sed@
+ bindir = @bindir@
+ build = @build@
+ build_alias = @build_alias@
+@@ -188,7 +198,6 @@ localedir = @localedir@
+ localstatedir = @localstatedir@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+-multi_basedir = @multi_basedir@
+ oldincludedir = @oldincludedir@
+ pdfdir = @pdfdir@
+ prefix = @prefix@
+@@ -197,6 +206,7 @@ psdir = @psdir@
+ sbindir = @sbindir@
+ sharedstatedir = @sharedstatedir@
+ srcdir = @srcdir@
++sys_symbol_underscore = @sys_symbol_underscore@
+ sysconfdir = @sysconfdir@
+ target = @target@
+ target_alias = @target_alias@
+@@ -211,11 +221,8 @@ top_srcdir = @top_srcdir@
+ AUTOMAKE_OPTIONS = foreign
+ DISTCLEANFILES = ffitarget.h
+ EXTRA_DIST = ffi.h.in ffi_common.h
+-
-# Where generated headers like ffitarget.h get installed.
--gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
+-gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
-toollibffidir := $(libdir)/gcc/$(target_alias)/$(gcc_version)/include
--
-toollibffi_HEADERS = ffi.h ffitarget.h
+includesdir = $(libdir)/@PACKAGE_NAME@-@PACKAGE_VERSION@/include
+nodist_includes_HEADERS = ffi.h ffitarget.h
-Index: libffi/README
+ all: all-am
+
+ .SUFFIXES:
+@@ -257,26 +264,26 @@ mostlyclean-libtool:
+
+ clean-libtool:
+ -rm -rf .libs _libs
+-install-toollibffiHEADERS: $(toollibffi_HEADERS)
++install-nodist_includesHEADERS: $(nodist_includes_HEADERS)
+ @$(NORMAL_INSTALL)
+- test -z "$(toollibffidir)" || $(MKDIR_P) "$(DESTDIR)$(toollibffidir)"
+- @list='$(toollibffi_HEADERS)'; test -n "$(toollibffidir)" || list=; \
++ test -z "$(includesdir)" || $(MKDIR_P) "$(DESTDIR)$(includesdir)"
++ @list='$(nodist_includes_HEADERS)'; test -n "$(includesdir)" || list=; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+- echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(toollibffidir)'"; \
+- $(INSTALL_HEADER) $$files "$(DESTDIR)$(toollibffidir)" || exit $$?; \
++ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includesdir)'"; \
++ $(INSTALL_HEADER) $$files "$(DESTDIR)$(includesdir)" || exit $$?; \
+ done
+
+-uninstall-toollibffiHEADERS:
++uninstall-nodist_includesHEADERS:
+ @$(NORMAL_UNINSTALL)
+- @list='$(toollibffi_HEADERS)'; test -n "$(toollibffidir)" || list=; \
++ @list='$(nodist_includes_HEADERS)'; test -n "$(includesdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ test -n "$$files" || exit 0; \
+- echo " ( cd '$(DESTDIR)$(toollibffidir)' && rm -f" $$files ")"; \
+- cd "$(DESTDIR)$(toollibffidir)" && rm -f $$files
++ echo " ( cd '$(DESTDIR)$(includesdir)' && rm -f" $$files ")"; \
++ cd "$(DESTDIR)$(includesdir)" && rm -f $$files
+
+ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+@@ -364,7 +371,7 @@ check-am: all-am
+ check: check-am
+ all-am: Makefile $(HEADERS)
+ installdirs:
+- for dir in "$(DESTDIR)$(toollibffidir)"; do \
++ for dir in "$(DESTDIR)$(includesdir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+ install: install-am
+@@ -413,7 +420,7 @@ info: info-am
+
+ info-am:
+
+-install-data-am: install-toollibffiHEADERS
++install-data-am: install-nodist_includesHEADERS
+
+ install-dvi: install-dvi-am
+
+@@ -457,7 +464,7 @@ ps: ps-am
+
+ ps-am:
+
+-uninstall-am: uninstall-toollibffiHEADERS
++uninstall-am: uninstall-nodist_includesHEADERS
+
+ .MAKE: install-am install-strip
+
+@@ -467,13 +474,12 @@ uninstall-am: uninstall-toollibffiHEADER
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+- install-info-am install-man install-pdf install-pdf-am \
+- install-ps install-ps-am install-strip \
+- install-toollibffiHEADERS installcheck installcheck-am \
+- installdirs maintainer-clean maintainer-clean-generic \
+- mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+- ps ps-am tags uninstall uninstall-am \
+- uninstall-toollibffiHEADERS
++ install-info-am install-man install-nodist_includesHEADERS \
++ install-pdf install-pdf-am install-ps install-ps-am \
++ install-strip installcheck installcheck-am installdirs \
++ maintainer-clean maintainer-clean-generic mostlyclean \
++ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
++ tags uninstall uninstall-am uninstall-nodist_includesHEADERS
+
+
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+Index: libffi/man/Makefile.in
===================================================================
---- libffi.orig/README
-+++ libffi/README
-@@ -1,10 +1,7 @@
--This directory contains the libffi package, which is not part of GCC but
--shipped with GCC as convenience.
--
- Status
- ======
-
--libffi-3.0.9 was released on December 31, 2009. Check the libffi web
-+libffi-3.0.11 was released on *****************. Check the libffi web
- page for updates: <URL:http://sourceware.org/libffi/>.
-
-
-@@ -46,7 +43,7 @@ Libffi has been ported to many different
- For specific configuration details and testing status, please
- refer to the wiki page here:
-
-- http://www.moxielogic.org/wiki/index.php?title=Libffi_3.0.9
-+ http://www.moxielogic.org/wiki/index.php?title=Libffi_3.0.11
-
- At the time of release, the following basic configurations have been
- tested:
-@@ -55,12 +52,16 @@ tested:
- | Architecture | Operating System |
- |--------------+------------------|
- | Alpha | Linux |
-+| Alpha | Tru64 |
- | ARM | Linux |
-+| ARM | iOS |
- | AVR32 | Linux |
- | HPPA | HPUX |
- | IA-64 | Linux |
-+| M68K | RTEMS |
- | MIPS | IRIX |
- | MIPS | Linux |
-+| MIPS | RTEMS |
- | MIPS64 | Linux |
- | PowerPC | Linux |
- | PowerPC | Mac OSX |
-@@ -73,6 +74,7 @@ tested:
- | SPARC64 | Linux |
- | SPARC64 | FreeBSD |
- | X86 | FreeBSD |
-+| X86 | Interix |
- | X86 | kFreeBSD |
- | X86 | Linux |
- | X86 | Mac OSX |
-@@ -84,6 +86,7 @@ tested:
- | X86-64 | FreeBSD |
- | X86-64 | Linux |
- | X86-64 | OpenBSD |
-+| X86-64 | Windows/MingW |
- |--------------+------------------|
-
- Please send additional platform test results to
-@@ -115,9 +118,15 @@ It's also possible to build libffi on Wi
- Microsoft's Visual C++ compiler. In this case, use the msvcc.sh
- wrapper script during configuration like so:
-
--path/to/configure --enable-shared --enable-static \
-- CC=path/to/msvcc.sh LD=link \
-- CPP=\"cl -nologo -EP\"
-+path/to/configure CC=path/to/msvcc.sh LD=link CPP=\"cl -nologo -EP\"
-+
-+For 64-bit Windows builds, use CC="path/to/msvcc.sh -m64".
-+You may also need to specify --build appropriately. When building with MSVC
-+under a MingW environment, you may need to remove the line in configure
-+that sets 'fix_srcfile_path' to a 'cygpath' command. ('cygpath' is not
-+present in MingW, and is not required when using MingW-style paths.)
-+
-+For iOS builds, refer to the build-ios.sh script for guidance.
-
- Configure has many other options. Use "configure --help" to see them all.
-
-@@ -135,11 +144,22 @@ History
-
- See the ChangeLog files for details.
-
--3.0.10 ???-??-??
-+3.0.11 MMM-DD-YY
-+ ??????????
-+
-+3.0.10 Aug-23-11
-+ Add support for Apple's iOS.
-+ Add support for ARM VFP ABI.
-+ Add RTEMS support for MIPS and M68K.
-+ Fix instruction cache clearing problems on
-+ ARM and SPARC.
- Fix the N64 build on mips-sgi-irix6.5.
-- Testsuite fixes for Tru64 Unix.
- Enable builds with Microsoft's compiler.
-- Enable x86 builds with Sun's compiler.
-+ Enable x86 builds with Oracle's Solaris compiler.
-+ Fix support for calling code compiled with Oracle's Sparc
-+ Solaris compiler.
-+ Testsuite fixes for Tru64 Unix.
-+ Additional platform support.
-
- 3.0.9 Dec-31-09
- Add AVR32 and win64 ports. Add ARM softfp support.
-@@ -320,5 +340,6 @@ Alex Oliva solved the executable page pr
- The list above is almost certainly incomplete and inaccurate. I'm
- happy to make corrections or additions upon request.
-
--If you have a problem, or have found a bug, please send a note to
--green@redhat.com.
-+If you have a problem, or have found a bug, please send a note to the
-+author at green@moxielogic.com, or the project mailing list at
-+libffi-discuss@sourceware.org.
-Index: libffi/testsuite/Makefile.am
+--- libffi.orig/man/Makefile.in
++++ libffi/man/Makefile.in
+@@ -37,17 +37,21 @@ target_triplet = @target@
+ subdir = man
+ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+-am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
+- $(top_srcdir)/../config/lead-dot.m4 \
+- $(top_srcdir)/../config/multi.m4 \
+- $(top_srcdir)/../config/override.m4 \
+- $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \
+- $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \
+- $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
++am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
++ $(top_srcdir)/m4/ax_cc_maxopt.m4 \
++ $(top_srcdir)/m4/ax_cflags_warn_all.m4 \
++ $(top_srcdir)/m4/ax_compiler_vendor.m4 \
++ $(top_srcdir)/m4/ax_configure_args.m4 \
++ $(top_srcdir)/m4/ax_enable_builddir.m4 \
++ $(top_srcdir)/m4/ax_gcc_archflag.m4 \
++ $(top_srcdir)/m4/ax_gcc_x86_cpuid.m4 \
++ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
++ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
++ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
+ $(top_srcdir)/configure.ac
+ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+-mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
++mkinstalldirs = $(install_sh) -d
+ CONFIG_HEADER = $(top_builddir)/fficonfig.h
+ CONFIG_CLEAN_FILES =
+ CONFIG_CLEAN_VPATH_FILES =
+@@ -100,6 +104,7 @@ CPPFLAGS = @CPPFLAGS@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+@@ -107,6 +112,7 @@ ECHO_N = @ECHO_N@
+ ECHO_T = @ECHO_T@
+ EGREP = @EGREP@
+ EXEEXT = @EXEEXT@
++FFI_EXEC_TRAMPOLINE_TABLE = @FFI_EXEC_TRAMPOLINE_TABLE@
+ FGREP = @FGREP@
+ GREP = @GREP@
+ HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
+@@ -125,6 +131,7 @@ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAINT = @MAINT@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ NM = @NM@
+ NMEDIT = @NMEDIT@
+@@ -140,6 +147,7 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
+ PACKAGE_URL = @PACKAGE_URL@
+ PACKAGE_VERSION = @PACKAGE_VERSION@
+ PATH_SEPARATOR = @PATH_SEPARATOR@
++PRTDIAG = @PRTDIAG@
+ RANLIB = @RANLIB@
+ SED = @SED@
+ SET_MAKE = @SET_MAKE@
+@@ -152,6 +160,7 @@ abs_builddir = @abs_builddir@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
++ac_ct_AR = @ac_ct_AR@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+@@ -159,6 +168,7 @@ am__leading_dot = @am__leading_dot@
+ am__quote = @am__quote@
+ am__tar = @am__tar@
+ am__untar = @am__untar@
++ax_enable_builddir_sed = @ax_enable_builddir_sed@
+ bindir = @bindir@
+ build = @build@
+ build_alias = @build_alias@
+@@ -186,7 +196,6 @@ localedir = @localedir@
+ localstatedir = @localstatedir@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+-multi_basedir = @multi_basedir@
+ oldincludedir = @oldincludedir@
+ pdfdir = @pdfdir@
+ prefix = @prefix@
+@@ -195,6 +204,7 @@ psdir = @psdir@
+ sbindir = @sbindir@
+ sharedstatedir = @sharedstatedir@
+ srcdir = @srcdir@
++sys_symbol_underscore = @sys_symbol_underscore@
+ sysconfdir = @sysconfdir@
+ target = @target@
+ target_alias = @target_alias@
+@@ -207,8 +217,8 @@ top_build_prefix = @top_build_prefix@
+ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
+ AUTOMAKE_OPTIONS = foreign
+-EXTRA_DIST = ffi.3 ffi_call.3 ffi_prep_cif.3
+-man_MANS = ffi.3 ffi_call.3 ffi_prep_cif.3
++EXTRA_DIST = ffi.3 ffi_call.3 ffi_prep_cif.3 ffi_prep_cif_var.3
++man_MANS = ffi.3 ffi_call.3 ffi_prep_cif.3 ffi_prep_cif_var.3
+ all: all-am
+
+ .SUFFIXES:
+Index: libffi/testsuite/Makefile.in
===================================================================
---- libffi.orig/testsuite/Makefile.am
-+++ libffi/testsuite/Makefile.am
-@@ -14,3 +14,67 @@ RUNTEST = `if [ -f $(top_srcdir)/../deja
- AM_RUNTESTFLAGS =
+--- libffi.orig/testsuite/Makefile.in
++++ libffi/testsuite/Makefile.in
+@@ -37,17 +37,21 @@ target_triplet = @target@
+ subdir = testsuite
+ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+-am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
+- $(top_srcdir)/../config/lead-dot.m4 \
+- $(top_srcdir)/../config/multi.m4 \
+- $(top_srcdir)/../config/override.m4 \
+- $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \
+- $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \
+- $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
++am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
++ $(top_srcdir)/m4/ax_cc_maxopt.m4 \
++ $(top_srcdir)/m4/ax_cflags_warn_all.m4 \
++ $(top_srcdir)/m4/ax_compiler_vendor.m4 \
++ $(top_srcdir)/m4/ax_configure_args.m4 \
++ $(top_srcdir)/m4/ax_enable_builddir.m4 \
++ $(top_srcdir)/m4/ax_gcc_archflag.m4 \
++ $(top_srcdir)/m4/ax_gcc_x86_cpuid.m4 \
++ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
++ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
++ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
+ $(top_srcdir)/configure.ac
+ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+-mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
++mkinstalldirs = $(install_sh) -d
+ CONFIG_HEADER = $(top_builddir)/fficonfig.h
+ CONFIG_CLEAN_FILES =
+ CONFIG_CLEAN_VPATH_FILES =
+@@ -77,6 +81,7 @@ CPPFLAGS = @CPPFLAGS@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+@@ -84,6 +89,7 @@ ECHO_N = @ECHO_N@
+ ECHO_T = @ECHO_T@
+ EGREP = @EGREP@
+ EXEEXT = @EXEEXT@
++FFI_EXEC_TRAMPOLINE_TABLE = @FFI_EXEC_TRAMPOLINE_TABLE@
+ FGREP = @FGREP@
+ GREP = @GREP@
+ HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
+@@ -102,6 +108,7 @@ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAINT = @MAINT@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ NM = @NM@
+ NMEDIT = @NMEDIT@
+@@ -117,6 +124,7 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
+ PACKAGE_URL = @PACKAGE_URL@
+ PACKAGE_VERSION = @PACKAGE_VERSION@
+ PATH_SEPARATOR = @PATH_SEPARATOR@
++PRTDIAG = @PRTDIAG@
+ RANLIB = @RANLIB@
+ SED = @SED@
+ SET_MAKE = @SET_MAKE@
+@@ -129,6 +137,7 @@ abs_builddir = @abs_builddir@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
++ac_ct_AR = @ac_ct_AR@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+@@ -136,6 +145,7 @@ am__leading_dot = @am__leading_dot@
+ am__quote = @am__quote@
+ am__tar = @am__tar@
+ am__untar = @am__untar@
++ax_enable_builddir_sed = @ax_enable_builddir_sed@
+ bindir = @bindir@
+ build = @build@
+ build_alias = @build_alias@
+@@ -163,7 +173,6 @@ localedir = @localedir@
+ localstatedir = @localstatedir@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+-multi_basedir = @multi_basedir@
+ oldincludedir = @oldincludedir@
+ pdfdir = @pdfdir@
+ prefix = @prefix@
+@@ -172,6 +181,7 @@ psdir = @psdir@
+ sbindir = @sbindir@
+ sharedstatedir = @sharedstatedir@
+ srcdir = @srcdir@
++sys_symbol_underscore = @sys_symbol_underscore@
+ sysconfdir = @sysconfdir@
+ target = @target@
+ target_alias = @target_alias@
+@@ -195,6 +205,70 @@ RUNTEST = `if [ -f $(top_srcdir)/../deja
+ else echo runtest; fi`
CLEANFILES = *.exe core* *.log *.sum
-+
+EXTRA_DIST = libffi.special/special.exp \
+libffi.special/unwindtest_ffi_call.cc libffi.special/unwindtest.cc \
+libffi.special/ffitestcxx.h config/default.exp lib/target-libpath.exp \
@@ -13782,77 +18409,938 @@ Index: libffi/testsuite/Makefile.am
+libffi.call/cls_longdouble.c libffi.call/cls_9byte2.c \
+libffi.call/nested_struct10.c libffi.call/nested_struct5.c \
+libffi.call/huge_struct.c
-Index: libffi/testsuite/lib/libffi.exp
-===================================================================
---- libffi.orig/testsuite/lib/libffi.exp
-+++ libffi/testsuite/lib/libffi.exp
-@@ -1,4 +1,4 @@
--# Copyright (C) 2003, 2005, 2008, 2009, 2010 Free Software Foundation, Inc.
-+# Copyright (C) 2003, 2005, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
-
- # This program is free software; you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published by
-@@ -16,7 +16,7 @@
-
- proc load_gcc_lib { filename } {
- global srcdir
-- load_file $srcdir/../../gcc/testsuite/lib/$filename
-+ load_file $srcdir/lib/$filename
- }
++
+ all: all-am
- load_lib dg.exp
-@@ -94,7 +94,6 @@ proc libffi-init { args } {
- global srcdir
- global blddirffi
- global objdir
-- global blddircxx
- global TOOL_OPTIONS
- global tool
- global libffi_include
-@@ -102,10 +101,8 @@ proc libffi-init { args } {
- global tool_root_dir
- global ld_library_path
+ .SUFFIXES:
+Index: libffi/man/Makefile.am
+===================================================================
+--- libffi.orig/man/Makefile.am
++++ libffi/man/Makefile.am
+@@ -2,7 +2,7 @@
-- set blddirffi [lookfor_file [get_multilibs] libffi]
-+ set blddirffi [pwd]/..
- verbose "libffi $blddirffi"
-- set blddircxx [lookfor_file [get_multilibs] libstdc++-v3]
-- verbose "libstdc++ $blddircxx"
+ AUTOMAKE_OPTIONS=foreign
- set gccdir [lookfor_file $tool_root_dir gcc/libgcc.a]
- if {$gccdir != ""} {
-@@ -132,8 +129,6 @@ proc libffi-init { args } {
- }
- # add the library path for libffi.
- append ld_library_path ":${blddirffi}/.libs"
-- # add the library path for libstdc++ as well.
-- append ld_library_path ":${blddircxx}/src/.libs"
+-EXTRA_DIST = ffi.3 ffi_call.3 ffi_prep_cif.3
++EXTRA_DIST = ffi.3 ffi_call.3 ffi_prep_cif.3 ffi_prep_cif_var.3
- verbose "ld_library_path: $ld_library_path"
+-man_MANS = ffi.3 ffi_call.3 ffi_prep_cif.3
++man_MANS = ffi.3 ffi_call.3 ffi_prep_cif.3 ffi_prep_cif_var.3
-@@ -146,7 +141,6 @@ proc libffi-init { args } {
- if { $libffi_dir != "" } {
- set libffi_dir [file dirname ${libffi_dir}]
- set libffi_link_flags "-L${libffi_dir}/.libs"
-- lappend libffi_link_flags "-L${blddircxx}/src/.libs"
- }
+Index: libffi/config.guess
+===================================================================
+--- libffi.orig/config.guess
++++ libffi/config.guess
+@@ -1,10 +1,10 @@
+ #! /bin/sh
+ # Attempt to guess a canonical system name.
+ # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+-# Free Software Foundation, Inc.
++# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
++# 2011 Free Software Foundation, Inc.
+
+-timestamp='2009-11-20'
++timestamp='2011-06-03'
+
+ # This file is free software; you can redistribute it and/or modify it
+ # under the terms of the GNU General Public License as published by
+@@ -56,8 +56,9 @@ version="\
+ GNU config.guess ($timestamp)
+
+ Originally written by Per Bothner.
+-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
++Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
++2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
++Software Foundation, Inc.
+
+ This is free software; see the source for copying conditions. There is NO
+ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+@@ -180,7 +181,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
+ fi
+ ;;
+ *)
+- os=netbsd
++ os=netbsd
+ ;;
+ esac
+ # The OS release
+@@ -223,7 +224,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+ ;;
+ *5.*)
+- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
++ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+ ;;
+ esac
+ # According to Compaq, /usr/sbin/psrinfo has been available on
+@@ -269,7 +270,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
+ # A Xn.n version is an unreleased experimental baselevel.
+ # 1.2 uses "1.2" for uname -r.
+ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+- exit ;;
++ # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
++ exitcode=$?
++ trap '' 0
++ exit $exitcode ;;
+ Alpha\ *:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX subsystem?
+ # Should we change UNAME_MACHINE based on the output of uname instead
+@@ -295,7 +299,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
+ echo s390-ibm-zvmoe
+ exit ;;
+ *:OS400:*:*)
+- echo powerpc-ibm-os400
++ echo powerpc-ibm-os400
+ exit ;;
+ arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+ echo arm-acorn-riscix${UNAME_RELEASE}
+@@ -394,23 +398,23 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
+ # MiNT. But MiNT is downward compatible to TOS, so this should
+ # be no problem.
+ atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+- echo m68k-atari-mint${UNAME_RELEASE}
++ echo m68k-atari-mint${UNAME_RELEASE}
+ exit ;;
+ atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+- exit ;;
++ exit ;;
+ *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+- echo m68k-atari-mint${UNAME_RELEASE}
++ echo m68k-atari-mint${UNAME_RELEASE}
+ exit ;;
+ milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+- echo m68k-milan-mint${UNAME_RELEASE}
+- exit ;;
++ echo m68k-milan-mint${UNAME_RELEASE}
++ exit ;;
+ hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+- echo m68k-hades-mint${UNAME_RELEASE}
+- exit ;;
++ echo m68k-hades-mint${UNAME_RELEASE}
++ exit ;;
+ *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+- echo m68k-unknown-mint${UNAME_RELEASE}
+- exit ;;
++ echo m68k-unknown-mint${UNAME_RELEASE}
++ exit ;;
+ m68k:machten:*:*)
+ echo m68k-apple-machten${UNAME_RELEASE}
+ exit ;;
+@@ -480,8 +484,8 @@ EOF
+ echo m88k-motorola-sysv3
+ exit ;;
+ AViiON:dgux:*:*)
+- # DG/UX returns AViiON for all architectures
+- UNAME_PROCESSOR=`/usr/bin/uname -p`
++ # DG/UX returns AViiON for all architectures
++ UNAME_PROCESSOR=`/usr/bin/uname -p`
+ if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+ then
+ if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+@@ -494,7 +498,7 @@ EOF
+ else
+ echo i586-dg-dgux${UNAME_RELEASE}
+ fi
+- exit ;;
++ exit ;;
+ M88*:DolphinOS:*:*) # DolphinOS (SVR3)
+ echo m88k-dolphin-sysv3
+ exit ;;
+@@ -551,7 +555,7 @@ EOF
+ echo rs6000-ibm-aix3.2
+ fi
+ exit ;;
+- *:AIX:*:[456])
++ *:AIX:*:[4567])
+ IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+ if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+ IBM_ARCH=rs6000
+@@ -594,52 +598,52 @@ EOF
+ 9000/[678][0-9][0-9])
+ if [ -x /usr/bin/getconf ]; then
+ sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+- sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+- case "${sc_cpu_version}" in
+- 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+- 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+- 532) # CPU_PA_RISC2_0
+- case "${sc_kernel_bits}" in
+- 32) HP_ARCH="hppa2.0n" ;;
+- 64) HP_ARCH="hppa2.0w" ;;
++ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
++ case "${sc_cpu_version}" in
++ 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
++ 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
++ 532) # CPU_PA_RISC2_0
++ case "${sc_kernel_bits}" in
++ 32) HP_ARCH="hppa2.0n" ;;
++ 64) HP_ARCH="hppa2.0w" ;;
+ '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
+- esac ;;
+- esac
++ esac ;;
++ esac
+ fi
+ if [ "${HP_ARCH}" = "" ]; then
+ eval $set_cc_for_build
+- sed 's/^ //' << EOF >$dummy.c
++ sed 's/^ //' << EOF >$dummy.c
++
++ #define _HPUX_SOURCE
++ #include <stdlib.h>
++ #include <unistd.h>
+
+- #define _HPUX_SOURCE
+- #include <stdlib.h>
+- #include <unistd.h>
+-
+- int main ()
+- {
+- #if defined(_SC_KERNEL_BITS)
+- long bits = sysconf(_SC_KERNEL_BITS);
+- #endif
+- long cpu = sysconf (_SC_CPU_VERSION);
+-
+- switch (cpu)
+- {
+- case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+- case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+- case CPU_PA_RISC2_0:
+- #if defined(_SC_KERNEL_BITS)
+- switch (bits)
+- {
+- case 64: puts ("hppa2.0w"); break;
+- case 32: puts ("hppa2.0n"); break;
+- default: puts ("hppa2.0"); break;
+- } break;
+- #else /* !defined(_SC_KERNEL_BITS) */
+- puts ("hppa2.0"); break;
+- #endif
+- default: puts ("hppa1.0"); break;
+- }
+- exit (0);
+- }
++ int main ()
++ {
++ #if defined(_SC_KERNEL_BITS)
++ long bits = sysconf(_SC_KERNEL_BITS);
++ #endif
++ long cpu = sysconf (_SC_CPU_VERSION);
++
++ switch (cpu)
++ {
++ case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
++ case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
++ case CPU_PA_RISC2_0:
++ #if defined(_SC_KERNEL_BITS)
++ switch (bits)
++ {
++ case 64: puts ("hppa2.0w"); break;
++ case 32: puts ("hppa2.0n"); break;
++ default: puts ("hppa2.0"); break;
++ } break;
++ #else /* !defined(_SC_KERNEL_BITS) */
++ puts ("hppa2.0"); break;
++ #endif
++ default: puts ("hppa1.0"); break;
++ }
++ exit (0);
++ }
+ EOF
+ (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+ test -z "$HP_ARCH" && HP_ARCH=hppa
+@@ -730,22 +734,22 @@ EOF
+ exit ;;
+ C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+ echo c1-convex-bsd
+- exit ;;
++ exit ;;
+ C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+ if getsysinfo -f scalar_acc
+ then echo c32-convex-bsd
+ else echo c2-convex-bsd
+ fi
+- exit ;;
++ exit ;;
+ C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+ echo c34-convex-bsd
+- exit ;;
++ exit ;;
+ C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+ echo c38-convex-bsd
+- exit ;;
++ exit ;;
+ C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+ echo c4-convex-bsd
+- exit ;;
++ exit ;;
+ CRAY*Y-MP:*:*:*)
+ echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+@@ -769,14 +773,14 @@ EOF
+ exit ;;
+ F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+ FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+- FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+- echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+- exit ;;
++ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
++ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
++ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
++ exit ;;
+ 5000:UNIX_System_V:4.*:*)
+- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+- FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+- echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
++ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
++ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
++ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit ;;
+ i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+ echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+@@ -804,14 +808,14 @@ EOF
+ echo ${UNAME_MACHINE}-pc-mingw32
+ exit ;;
+ i*:windows32*:*)
+- # uname -m includes "-pc" on this system.
+- echo ${UNAME_MACHINE}-mingw32
++ # uname -m includes "-pc" on this system.
++ echo ${UNAME_MACHINE}-mingw32
+ exit ;;
+ i*:PW*:*)
+ echo ${UNAME_MACHINE}-pc-pw32
+ exit ;;
+ *:Interix*:*)
+- case ${UNAME_MACHINE} in
++ case ${UNAME_MACHINE} in
+ x86)
+ echo i586-pc-interix${UNAME_RELEASE}
+ exit ;;
+@@ -866,7 +870,7 @@ EOF
+ EV6) UNAME_MACHINE=alphaev6 ;;
+ EV67) UNAME_MACHINE=alphaev67 ;;
+ EV68*) UNAME_MACHINE=alphaev68 ;;
+- esac
++ esac
+ objdump --private-headers /bin/sh | grep -q ld.so.1
+ if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
+ echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+@@ -878,7 +882,13 @@ EOF
+ then
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ else
+- echo ${UNAME_MACHINE}-unknown-linux-gnueabi
++ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
++ | grep -q __ARM_PCS_VFP
++ then
++ echo ${UNAME_MACHINE}-unknown-linux-gnueabi
++ else
++ echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
++ fi
+ fi
+ exit ;;
+ avr32*:Linux:*:*)
+@@ -891,7 +901,7 @@ EOF
+ echo crisv32-axis-linux-gnu
+ exit ;;
+ frv:Linux:*:*)
+- echo frv-unknown-linux-gnu
++ echo frv-unknown-linux-gnu
+ exit ;;
+ i*86:Linux:*:*)
+ LIBC=gnu
+@@ -959,7 +969,7 @@ EOF
+ echo ${UNAME_MACHINE}-ibm-linux
+ exit ;;
+ sh64*:Linux:*:*)
+- echo ${UNAME_MACHINE}-unknown-linux-gnu
++ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ sh*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+@@ -967,6 +977,9 @@ EOF
+ sparc:Linux:*:* | sparc64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
++ tile*:Linux:*:*)
++ echo ${UNAME_MACHINE}-unknown-linux-gnu
++ exit ;;
+ vax:Linux:*:*)
+ echo ${UNAME_MACHINE}-dec-linux-gnu
+ exit ;;
+@@ -974,7 +987,7 @@ EOF
+ echo x86_64-unknown-linux-gnu
+ exit ;;
+ xtensa*:Linux:*:*)
+- echo ${UNAME_MACHINE}-unknown-linux-gnu
++ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ i*86:DYNIX/ptx:4*:*)
+ # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+@@ -983,11 +996,11 @@ EOF
+ echo i386-sequent-sysv4
+ exit ;;
+ i*86:UNIX_SV:4.2MP:2.*)
+- # Unixware is an offshoot of SVR4, but it has its own version
+- # number series starting with 2...
+- # I am not positive that other SVR4 systems won't match this,
++ # Unixware is an offshoot of SVR4, but it has its own version
++ # number series starting with 2...
++ # I am not positive that other SVR4 systems won't match this,
+ # I just have to hope. -- rms.
+- # Use sysv4.2uw... so that sysv4* matches it.
++ # Use sysv4.2uw... so that sysv4* matches it.
+ echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+ exit ;;
+ i*86:OS/2:*:*)
+@@ -1019,7 +1032,7 @@ EOF
+ fi
+ exit ;;
+ i*86:*:5:[678]*)
+- # UnixWare 7.x, OpenUNIX and OpenServer 6.
++ # UnixWare 7.x, OpenUNIX and OpenServer 6.
+ case `/bin/uname -X | grep "^Machine"` in
+ *486*) UNAME_MACHINE=i486 ;;
+ *Pentium) UNAME_MACHINE=i586 ;;
+@@ -1047,13 +1060,13 @@ EOF
+ exit ;;
+ pc:*:*:*)
+ # Left here for compatibility:
+- # uname -m prints for DJGPP always 'pc', but it prints nothing about
+- # the processor, so we play safe by assuming i586.
++ # uname -m prints for DJGPP always 'pc', but it prints nothing about
++ # the processor, so we play safe by assuming i586.
+ # Note: whatever this is, it MUST be the same as what config.sub
+ # prints for the "djgpp" host, or else GDB configury will decide that
+ # this is a cross-build.
+ echo i586-pc-msdosdjgpp
+- exit ;;
++ exit ;;
+ Intel:Mach:3*:*)
+ echo i386-pc-mach3
+ exit ;;
+@@ -1088,8 +1101,8 @@ EOF
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+ 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+- && { echo i486-ncr-sysv4; exit; } ;;
++ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
++ && { echo i486-ncr-sysv4; exit; } ;;
+ NCR*:*:4.2:* | MPRAS*:*:4.2:*)
+ OS_REL='.3'
+ test -r /etc/.relid \
+@@ -1132,10 +1145,10 @@ EOF
+ echo ns32k-sni-sysv
+ fi
+ exit ;;
+- PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+- # says <Richard.M.Bartel@ccMail.Census.GOV>
+- echo i586-unisys-sysv4
+- exit ;;
++ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
++ # says <Richard.M.Bartel@ccMail.Census.GOV>
++ echo i586-unisys-sysv4
++ exit ;;
+ *:UNIX_System_V:4*:FTX*)
+ # From Gerald Hewes <hewes@openmarket.com>.
+ # How about differentiating between stratus architectures? -djm
+@@ -1161,11 +1174,11 @@ EOF
+ exit ;;
+ R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+ if [ -d /usr/nec ]; then
+- echo mips-nec-sysv${UNAME_RELEASE}
++ echo mips-nec-sysv${UNAME_RELEASE}
+ else
+- echo mips-unknown-sysv${UNAME_RELEASE}
++ echo mips-unknown-sysv${UNAME_RELEASE}
+ fi
+- exit ;;
++ exit ;;
+ BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
+ echo powerpc-be-beos
+ exit ;;
+@@ -1230,6 +1243,9 @@ EOF
+ *:QNX:*:4*)
+ echo i386-pc-qnx
+ exit ;;
++ NEO-?:NONSTOP_KERNEL:*:*)
++ echo neo-tandem-nsk${UNAME_RELEASE}
++ exit ;;
+ NSE-?:NONSTOP_KERNEL:*:*)
+ echo nse-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+@@ -1275,13 +1291,13 @@ EOF
+ echo pdp10-unknown-its
+ exit ;;
+ SEI:*:*:SEIUX)
+- echo mips-sei-seiux${UNAME_RELEASE}
++ echo mips-sei-seiux${UNAME_RELEASE}
+ exit ;;
+ *:DragonFly:*:*)
+ echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+ exit ;;
+ *:*VMS:*:*)
+- UNAME_MACHINE=`(uname -p) 2>/dev/null`
++ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ case "${UNAME_MACHINE}" in
+ A*) echo alpha-dec-vms ; exit ;;
+ I*) echo ia64-dec-vms ; exit ;;
+@@ -1321,11 +1337,11 @@ main ()
+ #include <sys/param.h>
+ printf ("m68k-sony-newsos%s\n",
+ #ifdef NEWSOS4
+- "4"
++ "4"
+ #else
+- ""
++ ""
+ #endif
+- ); exit (0);
++ ); exit (0);
+ #endif
+ #endif
- set_ld_library_path_env_vars
-Index: libffi/m4/asmcfi.m4
+Index: libffi/config.sub
===================================================================
---- /dev/null
-+++ libffi/m4/asmcfi.m4
-@@ -0,0 +1,13 @@
-+AC_DEFUN([GCC_AS_CFI_PSEUDO_OP],
-+[AC_CACHE_CHECK([assembler .cfi pseudo-op support],
-+ gcc_cv_as_cfi_pseudo_op, [
-+ gcc_cv_as_cfi_pseudo_op=unknown
-+ AC_TRY_COMPILE([asm (".cfi_startproc\n\t.cfi_endproc");],,
-+ [gcc_cv_as_cfi_pseudo_op=yes],
-+ [gcc_cv_as_cfi_pseudo_op=no])
-+ ])
-+ if test "x$gcc_cv_as_cfi_pseudo_op" = xyes; then
-+ AC_DEFINE(HAVE_AS_CFI_PSEUDO_OP, 1,
-+ [Define if your assembler supports .cfi_* directives.])
-+ fi
-+])
+--- libffi.orig/config.sub
++++ libffi/config.sub
+@@ -1,10 +1,10 @@
+ #! /bin/sh
+ # Configuration validation subroutine script.
+ # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+-# Free Software Foundation, Inc.
++# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
++# 2011 Free Software Foundation, Inc.
+
+-timestamp='2009-11-20'
++timestamp='2011-10-29'
+
+ # This file is (in principle) common to ALL GNU software.
+ # The presence of a machine in this file suggests that SOME GNU software
+@@ -75,8 +75,9 @@ Report bugs and patches to <config-patch
+ version="\
+ GNU config.sub ($timestamp)
+
+-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
++Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
++2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
++Software Foundation, Inc.
+
+ This is free software; see the source for copying conditions. There is NO
+ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+@@ -123,8 +124,9 @@ esac
+ # Here we must recognize all the valid KERNEL-OS combinations.
+ maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+ case $maybe_os in
+- nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
+- uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
++ nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
++ linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
++ knetbsd*-gnu* | netbsd*-gnu* | \
+ kopensolaris*-gnu* | \
+ storm-chaos* | os2-emx* | rtmk-nova*)
+ os=-$maybe_os
+@@ -156,8 +158,8 @@ case $os in
+ os=
+ basic_machine=$1
+ ;;
+- -bluegene*)
+- os=-cnk
++ -bluegene*)
++ os=-cnk
+ ;;
+ -sim | -cisco | -oki | -wec | -winbond)
+ os=
+@@ -173,10 +175,10 @@ case $os in
+ os=-chorusos
+ basic_machine=$1
+ ;;
+- -chorusrdb)
+- os=-chorusrdb
++ -chorusrdb)
++ os=-chorusrdb
+ basic_machine=$1
+- ;;
++ ;;
+ -hiux*)
+ os=-hiuxwe2
+ ;;
+@@ -249,13 +251,17 @@ case $basic_machine in
+ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+ | am33_2.0 \
+ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
++ | be32 | be64 \
+ | bfin \
+ | c4x | clipper \
+ | d10v | d30v | dlx | dsp16xx \
++ | epiphany \
+ | fido | fr30 | frv \
+ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
++ | hexagon \
+ | i370 | i860 | i960 | ia64 \
+ | ip2k | iq2000 \
++ | le32 | le64 \
+ | lm32 \
+ | m32c | m32r | m32rle | m68000 | m68k | m88k \
+ | maxq | mb | microblaze | mcore | mep | metag \
+@@ -281,27 +287,38 @@ case $basic_machine in
+ | moxie \
+ | mt \
+ | msp430 \
++ | nds32 | nds32le | nds32be \
+ | nios | nios2 \
+ | ns16k | ns32k \
++ | open8 \
+ | or32 \
+ | pdp10 | pdp11 | pj | pjl \
+- | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
++ | powerpc | powerpc64 | powerpc64le | powerpcle \
+ | pyramid \
+- | rx \
++ | rl78 | rx \
+ | score \
+ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+ | sh64 | sh64le \
+ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
+ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
+- | spu | strongarm \
+- | tahoe | thumb | tic4x | tic80 | tron \
++ | spu \
++ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
+ | ubicom32 \
+- | v850 | v850e \
++ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
+ | we32k \
+- | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
++ | x86 | xc16x | xstormy16 | xtensa \
+ | z8k | z80)
+ basic_machine=$basic_machine-unknown
+ ;;
++ c54x)
++ basic_machine=tic54x-unknown
++ ;;
++ c55x)
++ basic_machine=tic55x-unknown
++ ;;
++ c6x)
++ basic_machine=tic6x-unknown
++ ;;
+ m6811 | m68hc11 | m6812 | m68hc12 | picochip)
+ # Motorola 68HC11/12.
+ basic_machine=$basic_machine-unknown
+@@ -313,6 +330,18 @@ case $basic_machine in
+ basic_machine=mt-unknown
+ ;;
+
++ strongarm | thumb | xscale)
++ basic_machine=arm-unknown
++ ;;
++
++ xscaleeb)
++ basic_machine=armeb-unknown
++ ;;
++
++ xscaleel)
++ basic_machine=armel-unknown
++ ;;
++
+ # We use `pc' rather than `unknown'
+ # because (1) that's what they normally are, and
+ # (2) the word "unknown" tends to confuse beginning users.
+@@ -332,16 +361,19 @@ case $basic_machine in
+ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
+ | avr-* | avr32-* \
++ | be32-* | be64-* \
+ | bfin-* | bs2000-* \
+- | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
++ | c[123]* | c30-* | [cjt]90-* | c4x-* \
+ | clipper-* | craynv-* | cydra-* \
+ | d10v-* | d30v-* | dlx-* \
+ | elxsi-* \
+ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
+ | h8300-* | h8500-* \
+ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
++ | hexagon-* \
+ | i*86-* | i860-* | i960-* | ia64-* \
+ | ip2k-* | iq2000-* \
++ | le32-* | le64-* \
+ | lm32-* \
+ | m32c-* | m32r-* | m32rle-* \
+ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+@@ -367,25 +399,29 @@ case $basic_machine in
+ | mmix-* \
+ | mt-* \
+ | msp430-* \
++ | nds32-* | nds32le-* | nds32be-* \
+ | nios-* | nios2-* \
+ | none-* | np1-* | ns16k-* | ns32k-* \
++ | open8-* \
+ | orion-* \
+ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+- | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
++ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
+ | pyramid-* \
+- | romp-* | rs6000-* | rx-* \
++ | rl78-* | romp-* | rs6000-* | rx-* \
+ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
+ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
+ | sparclite-* \
+- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
+- | tahoe-* | thumb-* \
+- | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
++ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
++ | tahoe-* \
++ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
++ | tile*-* \
+ | tron-* \
+ | ubicom32-* \
+- | v850-* | v850e-* | vax-* \
++ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
++ | vax-* \
+ | we32k-* \
+- | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
++ | x86-* | x86_64-* | xc16x-* | xps100-* \
+ | xstormy16-* | xtensa*-* \
+ | ymp-* \
+ | z8k-* | z80-*)
+@@ -410,7 +446,7 @@ case $basic_machine in
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+- abacus)
++ abacus)
+ basic_machine=abacus-unknown
+ ;;
+ adobe68k)
+@@ -480,11 +516,20 @@ case $basic_machine in
+ basic_machine=powerpc-ibm
+ os=-cnk
+ ;;
++ c54x-*)
++ basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
++ ;;
++ c55x-*)
++ basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
++ ;;
++ c6x-*)
++ basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
++ ;;
+ c90)
+ basic_machine=c90-cray
+ os=-unicos
+ ;;
+- cegcc)
++ cegcc)
+ basic_machine=arm-unknown
+ os=-cegcc
+ ;;
+@@ -516,7 +561,7 @@ case $basic_machine in
+ basic_machine=craynv-cray
+ os=-unicosmp
+ ;;
+- cr16)
++ cr16 | cr16-*)
+ basic_machine=cr16-unknown
+ os=-elf
+ ;;
+@@ -732,7 +777,7 @@ case $basic_machine in
+ basic_machine=ns32k-utek
+ os=-sysv
+ ;;
+- microblaze)
++ microblaze)
+ basic_machine=microblaze-xilinx
+ ;;
+ mingw32)
+@@ -775,6 +820,10 @@ case $basic_machine in
+ basic_machine=i370-ibm
+ os=-mvs
+ ;;
++ nacl)
++ basic_machine=le32-unknown
++ os=-nacl
++ ;;
+ ncr3000)
+ basic_machine=i486-ncr
+ os=-sysv4
+@@ -839,6 +888,12 @@ case $basic_machine in
+ np1)
+ basic_machine=np1-gould
+ ;;
++ neo-tandem)
++ basic_machine=neo-tandem
++ ;;
++ nse-tandem)
++ basic_machine=nse-tandem
++ ;;
+ nsr-tandem)
+ basic_machine=nsr-tandem
+ ;;
+@@ -921,9 +976,10 @@ case $basic_machine in
+ ;;
+ power) basic_machine=power-ibm
+ ;;
+- ppc) basic_machine=powerpc-unknown
++ ppc | ppcbe) basic_machine=powerpc-unknown
+ ;;
+- ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
++ ppc-* | ppcbe-*)
++ basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppcle | powerpclittle | ppc-le | powerpc-little)
+ basic_machine=powerpcle-unknown
+@@ -1017,6 +1073,9 @@ case $basic_machine in
+ basic_machine=i860-stratus
+ os=-sysv4
+ ;;
++ strongarm-* | thumb-*)
++ basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
++ ;;
+ sun2)
+ basic_machine=m68000-sun
+ ;;
+@@ -1073,20 +1132,8 @@ case $basic_machine in
+ basic_machine=t90-cray
+ os=-unicos
+ ;;
+- tic54x | c54x*)
+- basic_machine=tic54x-unknown
+- os=-coff
+- ;;
+- tic55x | c55x*)
+- basic_machine=tic55x-unknown
+- os=-coff
+- ;;
+- tic6x | c6x*)
+- basic_machine=tic6x-unknown
+- os=-coff
+- ;;
+ tile*)
+- basic_machine=tile-unknown
++ basic_machine=$basic_machine-unknown
+ os=-linux-gnu
+ ;;
+ tx39)
+@@ -1156,6 +1203,9 @@ case $basic_machine in
+ xps | xps100)
+ basic_machine=xps100-honeywell
+ ;;
++ xscale-* | xscalee[bl]-*)
++ basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
++ ;;
+ ymp)
+ basic_machine=ymp-cray
+ os=-unicos
+@@ -1253,11 +1303,11 @@ esac
+ if [ x"$os" != x"" ]
+ then
+ case $os in
+- # First match some system type aliases
+- # that might get confused with valid system types.
++ # First match some system type aliases
++ # that might get confused with valid system types.
+ # -solaris* is a basic system type, with this one exception.
+- -auroraux)
+- os=-auroraux
++ -auroraux)
++ os=-auroraux
+ ;;
+ -solaris1 | -solaris1.*)
+ os=`echo $os | sed -e 's|solaris1|sunos4|'`
+@@ -1294,7 +1344,8 @@ case $os in
+ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+ | -chorusos* | -chorusrdb* | -cegcc* \
+ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+- | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
++ | -mingw32* | -linux-gnu* | -linux-android* \
++ | -linux-newlib* | -linux-uclibc* \
+ | -uxpv* | -beos* | -mpeix* | -udk* \
+ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+@@ -1341,7 +1392,7 @@ case $os in
+ -opened*)
+ os=-openedition
+ ;;
+- -os400*)
++ -os400*)
+ os=-os400
+ ;;
+ -wince*)
+@@ -1390,7 +1441,7 @@ case $os in
+ -sinix*)
+ os=-sysv4
+ ;;
+- -tpf*)
++ -tpf*)
+ os=-tpf
+ ;;
+ -triton*)
+@@ -1435,6 +1486,8 @@ case $os in
+ -dicos*)
+ os=-dicos
+ ;;
++ -nacl*)
++ ;;
+ -none)
+ ;;
+ *)
+@@ -1457,10 +1510,10 @@ else
+ # system, and we'll never get to this point.
+
+ case $basic_machine in
+- score-*)
++ score-*)
+ os=-elf
+ ;;
+- spu-*)
++ spu-*)
+ os=-elf
+ ;;
+ *-acorn)
+@@ -1472,8 +1525,17 @@ case $basic_machine in
+ arm*-semi)
+ os=-aout
+ ;;
+- c4x-* | tic4x-*)
+- os=-coff
++ c4x-* | tic4x-*)
++ os=-coff
++ ;;
++ tic54x-*)
++ os=-coff
++ ;;
++ tic55x-*)
++ os=-coff
++ ;;
++ tic6x-*)
++ os=-coff
+ ;;
+ # This must come before the *-dec entry.
+ pdp10-*)
+@@ -1500,7 +1562,7 @@ case $basic_machine in
+ m68*-cisco)
+ os=-aout
+ ;;
+- mep-*)
++ mep-*)
+ os=-elf
+ ;;
+ mips*-cisco)
+@@ -1527,7 +1589,7 @@ case $basic_machine in
+ *-ibm)
+ os=-aix
+ ;;
+- *-knuth)
++ *-knuth)
+ os=-mmixware
+ ;;
+ *-wec)
diff --git a/src/moxie/ffitarget.h b/src/moxie/ffitarget.h
index 75bb8cc..f5305d1 100644
--- a/src/moxie/ffitarget.h
+++ b/src/moxie/ffitarget.h
@@ -1,5 +1,5 @@
/* -----------------------------------------------------------------*-C-*-
- ffitarget.h - Copyright (c) 2012, 2009 Anthony Green
+ ffitarget.h - Copyright (c) 2009 Anthony Green
Target configuration macros for Moxie
Permission is hereby granted, free of charge, to any person obtaining
@@ -27,10 +27,6 @@
#ifndef LIBFFI_TARGET_H
#define LIBFFI_TARGET_H
-#ifndef LIBFFI_H
-#error "Please do not include ffitarget.h directly into your source. Use ffi.h instead."
-#endif
-
/* ---- System specific configurations ----------------------------------- */
#ifndef LIBFFI_ASM
@@ -39,9 +35,13 @@ typedef signed long ffi_sarg;
typedef enum ffi_abi {
FFI_FIRST_ABI = 0,
+
+#ifdef MOXIE
FFI_EABI,
- FFI_LAST_ABI,
- FFI_DEFAULT_ABI = FFI_EABI
+ FFI_DEFAULT_ABI = FFI_EABI,
+#endif
+
+ FFI_LAST_ABI = FFI_DEFAULT_ABI + 1
} ffi_abi;
#endif
diff --git a/src/powerpc/aix_closure.S b/src/powerpc/aix_closure.S
index c906017..aabd3c3 100644
--- a/src/powerpc/aix_closure.S
+++ b/src/powerpc/aix_closure.S
@@ -167,6 +167,7 @@ ffi_closure_ASM:
/* look up the proper starting point in table */
/* by using return type as offset */
+ lhz r3, 10(r3) /* load type from return type */
ld r4, LC..60(2) /* get address of jump table */
sldi r3, r3, 4 /* now multiply return type by 16 */
ld r0, 240+16(r1) /* load return address */
@@ -339,8 +340,9 @@ L..finish:
/* look up the proper starting point in table */
/* by using return type as offset */
+ lhz r3, 6(r3) /* load type from return type */
lwz r4, LC..60(2) /* get address of jump table */
- slwi r3, r3, 4 /* now multiply return type by 4 */
+ slwi r3, r3, 4 /* now multiply return type by 16 */
lwz r0, 176+8(r1) /* load return address */
add r3, r3, r4 /* add contents of table to table address */
mtctr r3
diff --git a/src/sh/ffi.c b/src/sh/ffi.c
index 69bd025..3515b91 100644
--- a/src/sh/ffi.c
+++ b/src/sh/ffi.c
@@ -1,5 +1,5 @@
/* -----------------------------------------------------------------------
- ffi.c - Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Kaz Kojima
+ ffi.c - Copyright (c) 2002-2008, 2012 Kaz Kojima
Copyright (c) 2008 Red Hat, Inc.
SuperH Foreign Function Interface
@@ -463,7 +463,8 @@ ffi_prep_closure_loc (ffi_closure* closure,
unsigned int *tramp;
unsigned int insn;
- FFI_ASSERT (cif->abi == FFI_GCC_SYSV);
+ if (cif->abi != FFI_SYSV)
+ return FFI_BAD_ABI;
tramp = (unsigned int *) &closure->tramp[0];
/* Set T bit if the function returns a struct pointed with R2. */
diff --git a/src/sh64/ffi.c b/src/sh64/ffi.c
index 8fbc05c..123b87a 100644
--- a/src/sh64/ffi.c
+++ b/src/sh64/ffi.c
@@ -1,5 +1,5 @@
/* -----------------------------------------------------------------------
- ffi.c - Copyright (c) 2003, 2004, 2006, 2007 Kaz Kojima
+ ffi.c - Copyright (c) 2003, 2004, 2006, 2007, 2012 Kaz Kojima
Copyright (c) 2008 Anthony Green
SuperH SHmedia Foreign Function Interface
@@ -302,7 +302,8 @@ ffi_prep_closure_loc (ffi_closure *closure,
{
unsigned int *tramp;
- FFI_ASSERT (cif->abi == FFI_GCC_SYSV);
+ if (cif->abi != FFI_SYSV)
+ return FFI_BAD_ABI;
tramp = (unsigned int *) &closure->tramp[0];
/* Since ffi_closure is an aligned object, the ffi trampoline is
diff --git a/testsuite/Makefile.in b/testsuite/Makefile.in
index bbb634f..b446655 100644
--- a/testsuite/Makefile.in
+++ b/testsuite/Makefile.in
@@ -89,6 +89,7 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
+FFI_EXEC_TRAMPOLINE_TABLE = @FFI_EXEC_TRAMPOLINE_TABLE@
FGREP = @FGREP@
GREP = @GREP@
HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
@@ -180,6 +181,7 @@ psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
+sys_symbol_underscore = @sys_symbol_underscore@
sysconfdir = @sysconfdir@
target = @target@
target_alias = @target_alias@